Papyrus import

Operationnal mode

To import a Papyrus model file, use the UML file created in your Papyrus project. In Eclipse Safety Framework:

  1. Click on File > Import > Eclipse Safety Framework > Papyrus
  2. Click on Next, to set the import options
  3. Click on Browse... to select the UML file corresponding to the model to import
  4. If the file is correct, it's automatically loaded to display the models and packages elements that it contains
  5. Select a set of elements to define the scope that you want to import.
  6. Click on Finish. This will launch the import, and a new project must appear in the Project Explorer :
  7. Note : The graphical representation is initialised only if you have a graphical modeler installed.

Import specification

Scope

The current import wizard let you choose the scope to import. Only the elements that you have selected and the objects that they own will be imported. Pay attention to your scope definition. For example a connector linked to a selected element won't be imported if it's not owned by an element included in the scope, or if its second end is outside of the scope.

Mapping between Papyrus and Eclipse Safety Framework

The mapping done between the objects in the Papyrus format and the objects in SA is the following :

UML object SA object Remark
Model Model The Model name and UUID is preserved
Class
Container If the Class contains at least one Class property, otherwise it will be imported as a Block.

The Class name is preserved, but the resulting Container UUID is composed of the instance id and its parent id, to resolve the multi instanciation problems.
Class Block If the Class doesn't contain any Class property, otherwise it will be imported as a Container.

The Class name is preserved, but the resulting Block UUID is composed of the instance id and its parent id, to resolve the multi instanciation problems.
Port Port The Port name is preserved, but not its UUID. The resulting UUID is composed of the instance id and its parent id, to resolve the instanciation problems.
Connector DataLink The Connector name is preserved, but not its UUID. A new one is generated for each Datalink resulting of the import.

Known limitations

The current import method is facing some limitations, detailled in the following table :

Limitation Details
Papyrus version The import is done to work on the UML file created by Papyrus 1.0. To see if others versions are supported, please refer to the compatibility table.
UUID management
As the SA model doesn't support a instanciation mechanism, each object is considered as unique. This is not the case with UML. Thus, the UUID affected to the imported object can be adapted to ensure its unicity, and may not be preserved.
Connector A Connector can be imported only if its two ends are correctly imported.
Port In SA, the Ports need a direction, IN or OUT. As this is not compliant with the UML standard, to be able to import the Port in SA, a Comment must be created on each Port with the value 'Input' or 'Output'.