Transformations for UML-RT state machines using Epsilon Transformation Language (ETL).
TransformationExample.mp4
This repository contains
- Two domain specific languages for UML-RT state machines
- Graphical DSL: The domain specific language used in Papyrus
- Textual DSL: The domain specific language defined for RTist in Xtext
- Models that conform to the graphical and textual DSLs. The models can be found under 2WayTransformations.
- G.model (conforms to the graphical DSL)
- T.hclscope (conforms to the textual DSL)
- Two unidirectional transformations defined used the Epsilon Transformation Language (ETL) and their launch configurations. The transformations can be found under 2WayTransformations.
- G2T.etl (transformation rules that allow transforming G.model into T.hclscope) - GT2.launch (corresponding launch file)
- T2G.etl (transformation rules that allow transforming T.hclscope into G.model) - T2G.launch (corresponding launch file)
- In Eclipse, import the following folders that contain the domain specific language for the textual notation
- org.xtext.example.hclscope
- org.xtext.example.hclscope.ide
- org.xtext.example.hclscope.ui
- org.xtext.example.hclscope.tests
- org.xtext.example.hclscope.ui.tests
and register EPackage by:
org.xtext.example.hclscope -> model -> generated -> right click on HclScope.ecore -> Register EPackages
- Run a second instance of Eclipse by:
Right-clicking in org.xtext.example.hclscope -> Run As -> Run Configurations -> Eclipse Application -> New Launch Configuration -> Run
- On the second Eclipse instance, import the following folders:
- Papyrus
- 2WayTransformations
and register EPackage by:
org.eclipse-papyrus-rt -> plugins -> xtumlrt -> metamodel -> org.eclipse.papyrusrt.xtumlrt.statemach.model -> model -> right click on statemach.ecore -> Register EPackages
- To make changes to the models:
-G.model: Use the Exceed Editor to add/remove/edit elements and the correponding properties
-T.hclscope : Use the HclScope editor add/remove/edit elements and the correponding properties (You can also use the Exceed editor)
- To run the transformations:
-G2T: Right-click on G2T.launch -> Run As -> G2T
-T2G: Right-click on T2G.launch -> Run As -> T2G
Note: In case you encounter any issues or want to discuss further, you can contact me at malvina.latifaj@mdh.se.