Hi Kessel,

Sorry for the answer delay but i was on holidays.
I'm the new maintainer of the C2UML component, for 3 months only. Therefore i will try to treat your problem and answer your questions.

Le 27/07/2011 00:31, Topcased user list where issues are discussed a écrit :
So, the questions came up on:
* how mature is the C2UML reverse engineering, what do I have to setup to get it to work properly?
The module successfully reversed and generate as the same, the full code base of the flight software for en experimental satellite of the CNES. It is used daily in this project and another one near me, because all the software conception is realized in UML (now was done with STOOD previously). The UML model contains all the code base and allow the full documentation delivered to the CNES thanks to Gendoc2. Some reverse actions are made from newly created or modified code (out of the UML editors). That code is tested, validated and then reversed into the model with C2UML.

* can I exclude the reverse engineering of some code?
For this you need to explicitly remove the module or the file from the C build options in Eclipse (Menu File > Properties - or right click on the file - > C/C++ Build > Exclude resource from build, should be checked)

* how mature is the code generation, what does it all generate?
For our usage the generated code is expected to be identical (modulo comments generation and declaration order) to the reversed code. (Ok this should be accomplished only if your code is successfully reversed first !)
The C compiler shall compile equally the reversed and the generated code.

* can I exclude the generation of some elements (e.g. variant handling)?
The generation takes all the UML classes in order to generate the corresponding module, you should put the UML entities you don't want to be generated out of the "src package" path. See the project options into Menu Project > Properties > Topcased > C to UML > General Settings. But excluding from generation a artifact that is defined or reference into a class that will be generated in not currently possible.

* is there a notion of "external files" like files (like in Rhapsody), like external legacy files, which need to be there for usage-dependency, but should never be part of code genration?
The code generation process only generates the C modules which are represented into the UML model and as said above, into the "src path" defined in the project properties. For reverse, if you need to exclude a specific file i've also explained it above. And for later use of this file into the CDT environment, after the reverse, you should checkout the exclude option. Any other file which is not part of the UML model or the C source is not reversed.

* since you state, that big companies are using Topcased, what and how are they using Topcased in real projects, what are the drawbacks? * so you are traversing to papyrus, will they also get the diagram outline (e.g. the one that states [package] XYZ
* are you planning to implement the UML timing diagram?
I will let the TOPCASED technical committee answer to your questions here :) i'm to young in the project !

Back to my actual problem, I get the following when RE'ing an CANbedded stack. (Tried it with Topcased 4.3.0 and the 5.0RC3) There first come some warnings then errors, and finally it bails out, probably on the same file, over and over again.


From the message stack i can explain your problem with a missing type declaration in your C code base. The reverse module can't find some types nor in your code nor in any referenced library. Maybe you have some external types that are referenced in the C source file but which are not referenced in the Eclipse project ?
That's my primary analysis, but without more data i couldn't find out more.
I agreed that the exception stack is quite horrific, but this seems to be the result of a second problem maybe caused by your "external files" : excluding these files during the reverse may do disappear that part of the error log.

I hope that this answer will help you to carry out a successful reverse. If it's not the case, maybe direct mail exchange could be done to provide me more data, let me know. Also don't hesitate to fill in bugs or a features requests for the C2UML component, we need more external feedback on this component in order to improve it.

Regards,
Fabien

--
Fabien Toral
CS Systèmes d'Information
+33 5 67 69 68 10


_______________________________________________
Topcased-users mailing list
[email protected]
http://lists.gforge.enseeiht.fr/cgi-bin/mailman/listinfo/topcased-users

Reply via email to