![]() |
Telelogic TAU (steve huntington) | ![]() |
Topic Title: IDL reverse engineering Topic Summary: Created On: 6-Apr-2006 11:56 Status: Read Only |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
Hello:
Does anyone know if v2.6 does have CORBA IDL reverse engineering capabilities?
Thanks in advance.
Best regards.
|
|
![]() |
|
![]() |
|
Hi Aitor,
At this point we do not. There hasn't been a lot of demand for it so it's low on the priority list. It would also be pretty easy to do in the field via Tcl or COM or C++ because IDL syntax is fairly simple. If it's something you urgently need I suggest checking with our Professional Services department or your account manager so they can help you create an importer. /Greg ------------------------- Greg Gorman Vice President, Product Management Modeling and Test Products Telelogic AB |
|
![]() |
|
![]() |
|
Thank you.
Mmmmm... I think is simple too.
Perhaps we could sort out by our own
![]() |
|
![]() |
|
![]() |
|
Just another question.
Which are the id formats used by TAU in XMI import and export for the CORBA stereotypes?
Are those standard? I mean, is there a standard?
Suposing that I have an XMI file, let's say Unisys, XMI 1.0, XMI 1.1...
Could I import a model from these kind of stereotypes?
I'm looking of what generates TAU in XMI from the model bases on CORBA plug-in, and what generate other tools.
TAU defines for example the CORBAModule stereotype as:
UML:Stereotype xmi.id="i.245.11306cc0" name="CORBAModule" icon="" baseClass="Package" extendedElement="YksXpE4ySq0LnLAjdIpKdenL"
And for example another tool like MagicDraw does it as:
Foundation.Extension_Mechanisms.Stereotype xmi.id="magicdraw_1046768528276_725410_350" xmi.uuid="magicdraw_1046768528276_725410_350"
Foundation.Core.ModelElement.name CORBAModule Foundation.Core.ModelElement.name
Looks like each tool makes different exchange XML for the same model.
Mmmmm the Magic Draw version uses UnisysJCR2 but with XMI 1.0 and 1.3.2 exporter and TAU uses XMI 1.1 with UnisysJCR2 and 1.3.6 exporter...
It looks like that it has a equal structure when using XMI 1.1 in MagicDraw.
Anyways, each of them extract project specific data in the XMI so the import/export does not work well in both ways.
But in the case both were the same?
Any ideas?
To use consultancy for creating an add-in for only 50 IDLs is no worth doing it. I think we can sort out it.
Many thanks in advance.
Another question...
How could I print prettier messages?
![]() Edited: 7-Apr-2006 at 10:35 by Aitor Illarramendi |
|
![]() |
|
![]() |
|
Suposing we have developed an IDL parser.
Which would be the best languange/way of translating the IDL to TAU model?
Making a XMI file by seeing how it does TAU? (Does TAU ensure that after exporting in XMI a CORBAGenerator Model, with the CORBAArtifact and so, the ImportXMI capability returns the same model?)
Invoking some TAU SDK API methods in order to create directly the objects in the TAU model?
Best regards.
|
|
![]() |
|
![]() |
|
Aitor
One approach is to write your parser outside TAU which converts IDL into textual u2 syntax in a file, and load this file into your model. Using this approach you will embed stereotype names in the text of the generated u2 and have to provide definitions of these stereotypes, either in the same u2 file or in a profile which you load into TAU, or they can be provided by the corba idl generator. Another would be to write the parser using the tcl or COM apis to create model directly. Yes you could make your parser generate XMI but this is likely to be a lot more complex. Which of the first two is easier depends on what you need and your skills: If this is more of a one-off then implementing it outside TAU probably in a scripting language like perl or python is probably the simplest route If this is needed more than once then developing an addin makes more sense, and you should use tcl or C++. HTH Ian ------------------------- ============= Ian Barnard Principal Consultant Telelogic UK, an IBM company |
|
![]() |
|
![]() |
|
Assuming you're going for the external app creating u2 text content in a file, here are some guidelines:
A good way of determining the sort of u2 text you need is: a) Create a model with a top level package, e.g. called main. b) In main, create a package e.g. called example, which contains only a small example of the model you want, stereotyped exactly as you need, including one of everything you want c) In the main package, create a class diagram and put a text symbol on it, then drag/drop the example package from the model view into the text symbol: this the sort of text you want to create using the external IDL parser app. To load a u2 text file into TAU, see the instructions outline below (courtesy of Erik Mats in Telelogic US support office). To include an existing textual UML file: 1. Create a new < 2. In the < 3. Right-click the artifact and select "Update model from U2P file" from the context menu, to parse the file. To store model elements in a new textual UML file: 1. Create a new < 2. In the < 3. Create a new < Once your file and model are set up: 1. Edit the model to your heart's content. 2. Right-click the artifact and select "Update U2P file from model" from the context menu to unparse the manifested model element into the file. 3. Edit the file to your heart's content (or update from some third party tool) 4. Right-click the artifact and select "Update model from U2P file" from the context menu, to parse the file, bringing any updates into the tool. HTH Ian ------------------------- ============= Ian Barnard Principal Consultant Telelogic UK, an IBM company |
|
![]() |
|
![]() |
|
Nice to see the forum remove my stereotypes
![]() Assuming you're going for the external app creating u2 text content in a file, here are some guidelines: A good way of determining the sort of u2 text you need is: a) Create a model with a top level package, e.g. called main. b) In main, create a package e.g. called example, which contains only a small example of the model you want, stereotyped exactly as you need, including one of everything you want c) In the main package, create a class diagram and put a text symbol on it, then drag/drop the example package from the model view into the text symbol: this the sort of text you want to create using the external IDL parser app. To load a u2 text file into TAU, see the instructions outline below (courtesy of Erik Mats in Telelogic US support office). To include an existing textual UML file: 1. Create a new < < u2pFile > > artifact (i.e. create an Artifact and instantiate the TTDFileModel::u2pFile stereotype on it) 2. In the < < u2pFile > > instance, specify the path of the U2P file. 3. Right-click the artifact and select "Update model from U2P file" from the context menu, to parse the file. To store model elements in a new textual UML file: 1. Create a new < < u2pFile > > artifact (see above) 2. In the < < u2pFile > > instance, specify the path of a new U2P file. 3. Create a new < < Manifest > > dependency from the artifact to some package/class/etc. Once your file and model are set up: 1. Edit the model to your heart's content. 2. Right-click the artifact and select "Update U2P file from model" from the context menu to unparse the manifested model element into the file. 3. Edit the file to your heart's content (or update from some third party tool) 4. Right-click the artifact and select "Update model from U2P file" from the context menu, to parse the file, bringing any updates into the tool. HTH Ian ------------------------- ============= Ian Barnard Principal Consultant Telelogic UK, an IBM company Edited: 13-Apr-2006 at 23:59 by Ian Barnard |
|
![]() |
|
![]() |
|
Many thanks Ian.
I was on hollyday.
I will try all you say ( after reading it
![]() Edited: 16-Apr-2006 at 20:46 by Aitor Illarramendi |
|
![]() |
Telelogic TAU
» TAU/Developer
»
IDL reverse engineering
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.