Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Currently there are a number of source files needed to get a complete view of the AAI schema information:

Next step is to combine these source files into a single XML schema file, probably using an XSLT script – this step is still TBD

This single XML schema file can then be imported into Eclipse/Papyrus using the Ecore modeling framework.

Step-by-step to generate UML from XSD file

NOTE: These instructions assume that Eclipse has first been started in Modeling perspective and that Papyrus is installed.

1) From the File menu, create a new general Eclipse project using the project wizard. Only required input is a project name.

Image Removed

2) From the File menu, choose Import... in order to import the .xsd into the project using the import wizard.

2a) Choose import from file system.

Image Removed

2b) Select the From directory first and then the .xsd file. Import into the project folder.

Image Removed

3) In the Model Explorer, open the project. Right-click on the .xsd and create a new EMF Generator Model (select "New" and "Other..." to enter the wizard).

3a)

Image Removed

3b) Select the project folder as the parent folder and choose the XML Schema model importer. "Model URI" should already be filled in with the .xsd file URI.

Image Removed

4) Right-click on the generated model and export the model to UML (select "Export Model...").

4a)

Image Removed

4b) Choose to reference Ecore models rather than export them. (TBD: assumed this will create smaller files, however haven't checked this yet)

Image Removed

4c) Choose Process All (TBD: check whether this is really needed, what difference in output is there)

Image Removed

5) Right-click on the exported UML model and create a new Papyrus model (select "New" and "Other..." to enter the wizard).

Image Removed

6) Switch to Papyrus perspective. From Model Explorer, create a new class diagram and drag-and-drop the wanted model elements onto it.

Image RemovedAuto-generated documentation of the AAI schema is the most complete at the moment (created by an OpenAPI/Swagger-like process).

 Problems encountered when working with the AAI model structure:

  • AAI uses RelationshipList as a generic linking class everywhere in the model – needs to be collapsed into the actual links
  • AAI uses collection classes (ex. Pnfs as a collection for Pnf) that add no information – need to be filtered out

Ideas regarding how to do the reverse-engineering with a minimum of manual rework of the model (NOTE: most of these are still TODO):