|How to load multiple UML/SysML models programmatically? [message #1728370]
||Sun, 03 April 2016 20:59
| Nicolas Rouquette
Registered: December 2014
The Papyrus Developer Guide (How To Code Examples) seems to be written with the assumption that the reader already knows the Papyrus modeling architecture. Here's a list of topics that I struggle with.|
- As a kind of EMF ResourceSet, what is a ModelSet intended for?
Presumably, this is to manage as a unit the different EMF Resources involved in the diverse representations of a model (abstract syntax, diagram syntax, and perhaps others). Is a ModelSet restricted to the above intent?
- How to retrieve a resource of a particular kind within a ModelSet?
It seems that there could be better resource-specific accessors
- ModelSet lifecycle operations
There are lots of forum questions about how to create/initialize a ModelSet
What kind of file is suitable for creating a ModelSet?
Is it possible to create a ModelSet without an existing file?
- IModel lifecycle operations
creation from scratch? (e.g., a UML model, a SysML model, ...)
creation from an existing URI resource?
- Working with multiple models.
It is unclear to me how to programmatically create/load multiple models
that refer to each other.
- Programmatic usage without any existing files.
The goal is to create three UML models, A, B, C, each with a root Package.
For example, A will have a nested class X; B will have a nested class Y that specializes X and C will have a nested class Z that specializes X.
Although the UML specification does not require package import relationships, in practice, these are useful to summarize cross-references. So, B imports A and C imports A.
How can this be done?
Is it possible to do all of this with a single ModelSet for A, B, C?
Is it possible to have 1 ModelSet for each of A, B, C?
Is it possible to mix -- e.g. 1 ModelSet for A and B, 1 ModelSet for C?
What needs to be done differently if we want to create three SysML models instead with the same content?
What needs to be done differently if we want to use the EMF/CDO backend instead?
Powered by FUDForum
. Page generated in 0.01797 seconds