RE: CDMA [SEC=UNCLASSIFIED]

1 view
Skip to first unread message

POIRIER Stephane

unread,
Aug 28, 2012, 11:56:01 AM8/28/12
to MANNICKE, David, common-d...@googlegroups.com

Hi David,

 

We’re all fine here at SOLEIL, thank you :) but our (long) holiday’s period is already finished.

 

Here are my remarks about your suggestions:

 

1. Clear separation between Interfaces and Implementation

 

a

The issue you point out is related to objects size. When the size of an object changes, client code that use it must be recompiled.

In fact it is inevitable, I don’t know any library where interface are purely abstract, allowing to don’t care about this problem.

However we can draw some rules to minimize this constraint. The interface of the CDMA library is now close to stability.

Almost all functionalities are now implemented (except the write access).

We planned to release before the end of this year the first official version with the same functionality across the two implementations (Java/Cpp) along with the Python binding.

Starting this official version (we will probably propose the version number ‘4.0.0’), the following rule will apply on both Java and Cpp:

- Object definitions must remain stable for all the 4.*.* releases

- Any change in the interface must to be planned for the next major version only.

 

Nevertheless we think that the need for recompiling the client code when a new major version of the library is released is reasonable.

But we can ensure that this is not necessary during a major version lifetime.

 

c

Actually the CDMA library interface is expected to conform to the C++ 2003 standard (http://openassist.googlecode.com/files/C%2B%2B%20Standard%20-%20ANSI%20ISO%20IEC%2014882%202003.pdf). All available compiler is expected to accept this standard (gcc 4, msvc 9/10/11). We don’t see the advantage to restrict the interface compliance with an older (C-like) standard.

 

d

The CDMA methods never return pure pointers but smart pointers in order to avoid the case where the client application owns a pointer on a dead object.

 

2 Destructors are not called across library boundaries You’re absolutely right. This is why we choose to return smart pointers (with reference counting). The client code don’t have to care about memory management.

 

3 Exceptions

I never heard about the need to use the same compiler when exceptions are throwing up to the client code.

 

About the YAT library: it’s an open source project supported by the Tango community. It offers a lot of useful features used for many projects on windows and linux (http://tango-cs.svn.sourceforge.net/viewvc/tango-cs/share/yat/trunk/).

 

Best regards,

 

Stephane

 

 

De : MANNICKE, David [mailto:dav...@ansto.gov.au]
Envoyé : lundi 27 août 2012 09:01
À : BUTEAU Alain; thorsten kracht; POIRIER Stephane; RODRIGUEZ Clement (ALTEN); OUNSY Majid; SAINTIN Katy
Objet : CDMA [SEC=UNCLASSIFIED]

 

Hello everybody,

 

How is it going? Are you enjoying the nice summer in Europe?

 

I have attached a PDF in regards to the c++ interfaces of CDMA. It contains my suggestions on how the interface layer could be improved. Please have a look at this.

 

I would like to discuss the PDF with you on the next CDMA Skype meeting (Thursday, 30th August).

 

Best Regards,

David

 

The Bragg Institute, Building 87

Australian Nuclear Science and Technology Organisation

Locked Bag 2001 Kirrawee DC NSW 2232 Australia

 

T: +61 (2) 9717 7223

E: david.m...@ansto.gov.au

 

www.ansto.gov.au/research/bragg_institute

 

Important: This transmission is intended only for the use of the addressee. It is confidential and may contain privileged information or copyright material. If you are not the intended recipient, any use or further disclosure of this communication is strictly forbidden. If you have received this transmission in error, please notify me immediately by telephone and delete all copies of this transmission as well as any attachments.

 

Please consider the environment before printing this e-mail.

 

CDMA C++ Interfaces.pdf
Reply all
Reply to author
Forward
0 new messages