Explorar el Código

Add example PT. Update PM+PT vocabularies.

Joeri Exelmans hace 2 años
padre
commit
a5eb9ff699

+ 23 - 20
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/my_corr.oml

@@ -1,80 +1,83 @@
 // Warning: Generated Code! Do not edit!
 // This file contains the correspondence links between concrete syntax (Drawio) and abstract syntax (Process Model).
-// Input file: /home/maestro/repos/drawio2oml/test/data/pm/SlightlyLessTrivialPM.drawio
+// Input file: /home/maestro/repos/drawio2oml/test/data/pm/MyFancyPM.drawio
+// Page: MyPM
 // Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml
 
-description <http://ua.be/sdo2l/description/artifacts/my_corr#> as my_corr {
+description <http://ua.be/sdo2l/description/artifacts/MyPM_corr#> as MyPM_corr {
 
   uses <http://ua.be/sdo2l/vocabulary/formalisms/cs_as#> as cs_as
   uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
 
-  extends <http://ua.be/sdo2l/description/artifacts/my_drawio#> as my_drawio
-  extends <http://ua.be/sdo2l/description/artifacts/my_pm#> as my_pm
+  extends <http://ua.be/sdo2l/description/artifacts/MyPM_drawio#> as my_drawio
+  extends <http://ua.be/sdo2l/description/artifacts/MyPM_pm#> as my_pm
 
-  ci model : cs_as:CorrespondenceModel []
+  ci model : cs_as:CorrespondenceModel [
+    object_diagram:hasName "MyPM_corr"
+  ]
 
   ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-1_initial : cs_as:CS_AS_Link [
-    from my_drawio:p0_cell_CvR4PfVCJDiI6bvIUUvl-1
+    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-1
     to my_pm:initial
     object_diagram:inModel model
   ]
 
   ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-3_final : cs_as:CS_AS_Link [
-    from my_drawio:p0_cell_CvR4PfVCJDiI6bvIUUvl-3
+    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-3
     to my_pm:final
     object_diagram:inModel model
   ]
 
   ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-2_activity_0 : cs_as:CS_AS_Link [
-    from my_drawio:p0_cell_CvR4PfVCJDiI6bvIUUvl-2
+    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-2
     to my_pm:activity_0
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-17_activity_1 : cs_as:CS_AS_Link [
-    from my_drawio:p0_cell_CvR4PfVCJDiI6bvIUUvl-17
-    to my_pm:activity_1
+  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-33_artifact_0 : cs_as:CS_AS_Link [
+    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-33
+    to my_pm:artifact_0
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-33_artifact_0 : cs_as:CS_AS_Link [
-    from my_drawio:p0_cell_CvR4PfVCJDiI6bvIUUvl-33
-    to my_pm:artifact_0
+  ri trace_drawio_1m2y2pvaED3J6VFvMTAg-2_activity_1 : cs_as:CS_AS_Link [
+    from my_drawio:cell_1m2y2pvaED3J6VFvMTAg-2
+    to my_pm:activity_1
     object_diagram:inModel model
   ]
 
   ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-6_ctrl_flow_0 : cs_as:CS_AS_Link [
-    from my_drawio:p0_cell_CvR4PfVCJDiI6bvIUUvl-6
+    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-6
     to my_pm:ctrl_flow_0
     object_diagram:inModel model
   ]
 
   ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-7_ctrl_flow_1 : cs_as:CS_AS_Link [
-    from my_drawio:p0_cell_CvR4PfVCJDiI6bvIUUvl-7
+    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-7
     to my_pm:ctrl_flow_1
     object_diagram:inModel model
   ]
 
   ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-20_ctrl_flow_2 : cs_as:CS_AS_Link [
-    from my_drawio:p0_cell_CvR4PfVCJDiI6bvIUUvl-20
+    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-20
     to my_pm:ctrl_flow_2
     object_diagram:inModel model
   ]
 
   ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-32_data_flow_0 : cs_as:CS_AS_Link [
-    from my_drawio:p0_cell_CvR4PfVCJDiI6bvIUUvl-32
+    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-32
     to my_pm:data_flow_0
     object_diagram:inModel model
   ]
 
   ri trace_drawio_CvR4PfVCJDiI6bvIUUvl-28_data_flow_1 : cs_as:CS_AS_Link [
-    from my_drawio:p0_cell_CvR4PfVCJDiI6bvIUUvl-28
+    from my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-28
     to my_pm:data_flow_1
     object_diagram:inModel model
   ]
 
   ri trace_drawio_1_model : cs_as:CS_AS_Link [
-    from my_drawio:p0_cell_1
+    from my_drawio:cell_1
     to my_pm:model
     object_diagram:inModel model
   ]

+ 492 - 0
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/MyPM_drawio.oml

@@ -0,0 +1,492 @@
+// Warning: Generated code! Do not edit!
+// Input: '/home/maestro/repos/drawio2oml/test/data/pm/MyFancyPM.drawio'
+// Page: 'MyPM'
+// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/oml_generator.py
+// Minimal mode enabled: Pgae/cell attributes, style, and geometries have been omitted (making the drawio-> OML conversion lossy).
+
+description <http://ua.be/sdo2l/description/artifacts/MyPM_drawio#> as MyPM_drawio {
+
+  uses <http://ua.be/sdo2l/vocabulary/formalisms/drawio#> as drawio
+  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
+  uses <http://ua.be/sdo2l/vocabulary/formalisms/dict#> as dict
+
+  ci model : drawio:Model [
+    drawio:hasDrawioId "prYNwPAbIUO19HUZXAOh"
+    object_diagram:hasName "MyPM_drawio"
+  ]
+
+  
+  ci cell_0 : drawio:Cell [
+    drawio:hasDrawioId "0"
+    drawio:isRootOf model
+    object_diagram:inModel model
+  ]
+  
+
+  
+  ci cell_1 : drawio:Cell [
+    drawio:hasDrawioId "1"
+    drawio:hasParent cell_0
+    object_diagram:inModel model
+  ]
+  
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-1 : drawio:Vertex [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-1"
+    drawio:hasParent cell_1
+    object_diagram:inModel model
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-1_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue ""
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-1
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-1_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "initial"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-1
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-2 : drawio:Vertex [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-2"
+    drawio:hasParent cell_1
+    object_diagram:inModel model
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue "<u style=\"color: rgb(0 , 0 , 0)\">%name%<br>: %type%</u>"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "activity"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_name : drawio:CellProperty [
+    dict:hasKey "name"
+    dict:hasValue "Sketch"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_type : drawio:CellProperty [
+    dict:hasKey "type"
+    dict:hasValue "
+"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-2_prop_placeholders : drawio:CellProperty [
+    dict:hasKey "placeholders"
+    dict:hasValue "1"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-2
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-4 : drawio:Vertex [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-4"
+    drawio:hasParent cell_CvR4PfVCJDiI6bvIUUvl-2
+    object_diagram:inModel model
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-4_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue "%portname%"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-4
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-4_prop_portname : drawio:CellProperty [
+    dict:hasKey "portname"
+    dict:hasValue "cin"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-4
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-4_prop_placeholders : drawio:CellProperty [
+    dict:hasKey "placeholders"
+    dict:hasValue "1"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-4
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-4_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "ctrl_in"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-4
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-5 : drawio:Vertex [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-5"
+    drawio:hasParent cell_CvR4PfVCJDiI6bvIUUvl-2
+    object_diagram:inModel model
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-5_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue "%portname%"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-5
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-5_prop_portname : drawio:CellProperty [
+    dict:hasKey "portname"
+    dict:hasValue "cout"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-5
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-5_prop_placeholders : drawio:CellProperty [
+    dict:hasKey "placeholders"
+    dict:hasValue "1"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-5
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-5_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "ctrl_out"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-5
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-27 : drawio:Vertex [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-27"
+    drawio:hasParent cell_CvR4PfVCJDiI6bvIUUvl-2
+    object_diagram:inModel model
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-27_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue "%portname%"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-27
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-27_prop_portname : drawio:CellProperty [
+    dict:hasKey "portname"
+    dict:hasValue "sketch"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-27
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-27_prop_placeholders : drawio:CellProperty [
+    dict:hasKey "placeholders"
+    dict:hasValue "1"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-27
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-27_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "data_out"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-27
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-6 : drawio:Edge [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-6"
+    drawio:hasParent cell_1
+    object_diagram:inModel model
+    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-1
+    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-4
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-6_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue ""
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-6
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-6_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "ctrl_flow"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-6
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-3 : drawio:Vertex [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-3"
+    drawio:hasParent cell_1
+    object_diagram:inModel model
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-3_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue ""
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-3
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-3_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "final"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-3
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-7 : drawio:Edge [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-7"
+    drawio:hasParent cell_1
+    object_diagram:inModel model
+    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-5
+    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-18
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-7_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue ""
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-7
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-7_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "ctrl_flow"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-7
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-20 : drawio:Edge [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-20"
+    drawio:hasParent cell_1
+    object_diagram:inModel model
+    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-19
+    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-3
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-20_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue ""
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-20
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-20_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "ctrl_flow"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-20
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-32 : drawio:Edge [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-32"
+    drawio:hasParent cell_1
+    object_diagram:inModel model
+    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-33
+    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-31
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-32_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue ""
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-32
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-32_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "data_flow"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-32
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-28 : drawio:Edge [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-28"
+    drawio:hasParent cell_1
+    object_diagram:inModel model
+    drawio:hasSource cell_CvR4PfVCJDiI6bvIUUvl-27
+    drawio:hasTarget cell_CvR4PfVCJDiI6bvIUUvl-33
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-28_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue ""
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-28
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-28_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "data_flow"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-28
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-33 : drawio:Vertex [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-33"
+    drawio:hasParent cell_1
+    object_diagram:inModel model
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue "%name% : %type%"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "artifact"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_placeholders : drawio:CellProperty [
+    dict:hasKey "placeholders"
+    dict:hasValue "1"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_name : drawio:CellProperty [
+    dict:hasKey "name"
+    dict:hasValue "sketch"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-33_prop_type : drawio:CellProperty [
+    dict:hasKey "type"
+    dict:hasValue "xopp"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-33
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_1m2y2pvaED3J6VFvMTAg-2 : drawio:Vertex [
+    drawio:hasDrawioId "1m2y2pvaED3J6VFvMTAg-2"
+    drawio:hasParent cell_1
+    object_diagram:inModel model
+  ]
+  
+  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue "<u style=\"color: rgb(0 , 0 , 0)\">%name%<br>: %type%</u>"
+    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
+    object_diagram:inModel model
+  ]
+  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "activity"
+    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
+    object_diagram:inModel model
+  ]
+  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_name : drawio:CellProperty [
+    dict:hasKey "name"
+    dict:hasValue "look_at_sketch"
+    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
+    object_diagram:inModel model
+  ]
+  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_type : drawio:CellProperty [
+    dict:hasKey "type"
+    dict:hasValue ""
+    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
+    object_diagram:inModel model
+  ]
+  ci cell_1m2y2pvaED3J6VFvMTAg-2_prop_placeholders : drawio:CellProperty [
+    dict:hasKey "placeholders"
+    dict:hasValue "1"
+    drawio:propertyOf cell_1m2y2pvaED3J6VFvMTAg-2
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-19 : drawio:Vertex [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-19"
+    drawio:hasParent cell_1m2y2pvaED3J6VFvMTAg-2
+    object_diagram:inModel model
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-19_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue "%portname%"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-19
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-19_prop_portname : drawio:CellProperty [
+    dict:hasKey "portname"
+    dict:hasValue "cout"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-19
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-19_prop_placeholders : drawio:CellProperty [
+    dict:hasKey "placeholders"
+    dict:hasValue "1"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-19
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-19_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "ctrl_out"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-19
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-31 : drawio:Vertex [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-31"
+    drawio:hasParent cell_1m2y2pvaED3J6VFvMTAg-2
+    object_diagram:inModel model
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-31_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue "%portname%"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-31
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-31_prop_portname : drawio:CellProperty [
+    dict:hasKey "portname"
+    dict:hasValue "sketch"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-31
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-31_prop_placeholders : drawio:CellProperty [
+    dict:hasKey "placeholders"
+    dict:hasValue "1"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-31
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-31_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "data_in"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-31
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-18 : drawio:Vertex [
+    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-18"
+    drawio:hasParent cell_1m2y2pvaED3J6VFvMTAg-2
+    object_diagram:inModel model
+  ]
+  
+  ci cell_CvR4PfVCJDiI6bvIUUvl-18_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue "%portname%"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-18
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-18_prop_portname : drawio:CellProperty [
+    dict:hasKey "portname"
+    dict:hasValue "cin"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-18
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-18_prop_placeholders : drawio:CellProperty [
+    dict:hasKey "placeholders"
+    dict:hasValue "1"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-18
+    object_diagram:inModel model
+  ]
+  ci cell_CvR4PfVCJDiI6bvIUUvl-18_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "ctrl_in"
+    drawio:propertyOf cell_CvR4PfVCJDiI6bvIUUvl-18
+    object_diagram:inModel model
+  ]
+
+  
+}

+ 11 - 8
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/my_pm.oml

@@ -1,13 +1,16 @@
 // Warning: Generated Code! Do not edit!
-// Input file: /home/maestro/repos/drawio2oml/test/data/pm/SlightlyLessTrivialPM.drawio
+// Input file: /home/maestro/repos/drawio2oml/test/data/pm/MyFancyPM.drawio
+// Page: MyPM
 // Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml
 
-description <http://ua.be/sdo2l/description/artifacts/my_pm#> as my_pm {
+description <http://ua.be/sdo2l/description/artifacts/MyPM_pm#> as MyPM_pm {
 
   uses <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm
   uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
 
-  ci model : pm:Model []
+  ci model : pm:Model [
+    object_diagram:hasName "MyPM_pm"
+  ]
 
   ci initial : pm:Initial [
     object_diagram:inModel model
@@ -20,13 +23,13 @@ description <http://ua.be/sdo2l/description/artifacts/my_pm#> as my_pm {
   ]
 
   ci artifact_0 : pm:Artifact [
-    pm:hasName "artifact"
+    pm:hasName "sketch"
     object_diagram:inModel model
     pm:dataTo activity_1_port_2 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
   ]
 
   ci activity_0 : pm:Activity [
-    pm:hasName "Do things"
+    pm:hasName "Sketch"
     object_diagram:inModel model
   ]
 
@@ -47,7 +50,7 @@ description <http://ua.be/sdo2l/description/artifacts/my_pm#> as my_pm {
   
 
   ci activity_0_port_2 : pm:DataOutputPort [
-    pm:hasName "dout"
+    pm:hasName "sketch"
     pm:ofActivity activity_0
     object_diagram:inModel model
     pm:dataTo artifact_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error
@@ -55,7 +58,7 @@ description <http://ua.be/sdo2l/description/artifacts/my_pm#> as my_pm {
   
 
   ci activity_1 : pm:Activity [
-    pm:hasName "activity_name"
+    pm:hasName "look_at_sketch"
     object_diagram:inModel model
   ]
 
@@ -77,7 +80,7 @@ description <http://ua.be/sdo2l/description/artifacts/my_pm#> as my_pm {
   
 
   ci activity_1_port_2 : pm:DataInputPort [
-    pm:hasName "din"
+    pm:hasName "sketch"
     pm:ofActivity activity_1
     object_diagram:inModel model
     //pm:dataFrom artifact_0 // for some reason, we have to explicitly create the unreified relations on top of the reified relations (at the end of this file) or we get a reasoner error

+ 0 - 506
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/my_drawio.oml

@@ -1,506 +0,0 @@
-// Warning: Generated code! Do not edit!
-// Input file: '/home/maestro/repos/drawio2oml/test/data/pm/SlightlyLessTrivialPM.drawio'
-// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/oml_generator.py
-// Minimal mode enabled: Pgae/cell attributes, style, and geometries have been omitted (making the drawio-> OML conversion lossy).
-
-description <http://ua.be/sdo2l/description/artifacts/my_drawio#> as my_drawio {
-
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/drawio#> as drawio
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
-  uses <http://ua.be/sdo2l/vocabulary/formalisms/dict#> as dict
-
-  ci model : drawio:Model [
-    drawio:isCompressed true
-    drawio:hasDrawioVersion "20.2.8"
-  ]
-
-  
-  ci p0 : drawio:Page [
-    drawio:ofModel model
-    drawio:hasDrawioId "prYNwPAbIUO19HUZXAOh"
-    drawio:hasName "Page-1"
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_0 : drawio:Cell [
-    drawio:hasDrawioId "0"
-    drawio:isRootOf p0
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci p0_cell_1 : drawio:Cell [
-    drawio:hasDrawioId "1"
-    drawio:hasParent p0_cell_0
-    object_diagram:inModel model
-  ]
-  
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-1 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-1"
-    drawio:hasParent p0_cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-1_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-1
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-1_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "initial"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-1
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-2 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-2"
-    drawio:hasParent p0_cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-2_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "<u style=\"color: rgb(0 , 0 , 0)\">%name%<br>: %type%</u>"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-2_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "activity"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-2_prop_name : drawio:CellProperty [
-    dict:hasKey "name"
-    dict:hasValue "Do things"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-2_prop_type : drawio:CellProperty [
-    dict:hasKey "type"
-    dict:hasValue "
-"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-2_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-4 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-4"
-    drawio:hasParent p0_cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-4_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-4
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-4_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cin"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-4
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-4_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-4
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-4_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_in"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-4
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-5 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-5"
-    drawio:hasParent p0_cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-5_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-5
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-5_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cout"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-5
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-5_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-5
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-5_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_out"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-5
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-27 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-27"
-    drawio:hasParent p0_cell_CvR4PfVCJDiI6bvIUUvl-2
-    object_diagram:inModel model
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-27_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-27
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-27_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "dout"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-27
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-27_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-27
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-27_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_out"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-27
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-6 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-6"
-    drawio:hasParent p0_cell_1
-    object_diagram:inModel model
-    drawio:hasSource p0_cell_CvR4PfVCJDiI6bvIUUvl-1
-    drawio:hasTarget p0_cell_CvR4PfVCJDiI6bvIUUvl-4
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-6_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-6
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-6_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-6
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-3 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-3"
-    drawio:hasParent p0_cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-3_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-3
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-3_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "final"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-3
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-7 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-7"
-    drawio:hasParent p0_cell_1
-    object_diagram:inModel model
-    drawio:hasSource p0_cell_CvR4PfVCJDiI6bvIUUvl-5
-    drawio:hasTarget p0_cell_CvR4PfVCJDiI6bvIUUvl-18
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-7_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-7
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-7_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-7
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-17 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-17"
-    drawio:hasParent p0_cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-17_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "<u style=\"color: rgb(0 , 0 , 0)\">%name%<br>: %type%</u>"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-17
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-17_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "activity"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-17
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-17_prop_name : drawio:CellProperty [
-    dict:hasKey "name"
-    dict:hasValue "activity_name"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-17
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-17_prop_type : drawio:CellProperty [
-    dict:hasKey "type"
-    dict:hasValue "ActivityType"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-17
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-17_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-17
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-17_prop_automated : drawio:CellProperty [
-    dict:hasKey "automated"
-    dict:hasValue "true"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-17
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-19 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-19"
-    drawio:hasParent p0_cell_CvR4PfVCJDiI6bvIUUvl-17
-    object_diagram:inModel model
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-19_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-19
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-19_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cout"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-19
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-19_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-19
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-19_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_out"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-19
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-31 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-31"
-    drawio:hasParent p0_cell_CvR4PfVCJDiI6bvIUUvl-17
-    object_diagram:inModel model
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-31_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-31
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-31_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "din"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-31
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-31_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-31
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-31_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_in"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-31
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-18 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-18"
-    drawio:hasParent p0_cell_CvR4PfVCJDiI6bvIUUvl-17
-    object_diagram:inModel model
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-18_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%portname%"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-18
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-18_prop_portname : drawio:CellProperty [
-    dict:hasKey "portname"
-    dict:hasValue "cin"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-18
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-18_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-18
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-18_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_in"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-18
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-20 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-20"
-    drawio:hasParent p0_cell_1
-    object_diagram:inModel model
-    drawio:hasSource p0_cell_CvR4PfVCJDiI6bvIUUvl-19
-    drawio:hasTarget p0_cell_CvR4PfVCJDiI6bvIUUvl-3
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-20_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-20
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-20_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "ctrl_flow"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-20
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-32 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-32"
-    drawio:hasParent p0_cell_1
-    object_diagram:inModel model
-    drawio:hasSource p0_cell_CvR4PfVCJDiI6bvIUUvl-33
-    drawio:hasTarget p0_cell_CvR4PfVCJDiI6bvIUUvl-31
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-32_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-32
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-32_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_flow"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-32
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-28 : drawio:Edge [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-28"
-    drawio:hasParent p0_cell_1
-    object_diagram:inModel model
-    drawio:hasSource p0_cell_CvR4PfVCJDiI6bvIUUvl-27
-    drawio:hasTarget p0_cell_CvR4PfVCJDiI6bvIUUvl-33
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-28_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue ""
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-28
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-28_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "data_flow"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-28
-    object_diagram:inModel model
-  ]
-
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-33 : drawio:Vertex [
-    drawio:hasDrawioId "CvR4PfVCJDiI6bvIUUvl-33"
-    drawio:hasParent p0_cell_1
-    object_diagram:inModel model
-  ]
-  
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-33_prop_label : drawio:CellProperty [
-    dict:hasKey "label"
-    dict:hasValue "%name% : %type%"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-33_prop_pmRole : drawio:CellProperty [
-    dict:hasKey "pmRole"
-    dict:hasValue "artifact"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-33_prop_placeholders : drawio:CellProperty [
-    dict:hasKey "placeholders"
-    dict:hasValue "1"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-33_prop_name : drawio:CellProperty [
-    dict:hasKey "name"
-    dict:hasValue "artifact"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-  ci p0_cell_CvR4PfVCJDiI6bvIUUvl-33_prop_type : drawio:CellProperty [
-    dict:hasKey "type"
-    dict:hasValue "Type"
-    drawio:propertyOf p0_cell_CvR4PfVCJDiI6bvIUUvl-33
-    object_diagram:inModel model
-  ]
-
-  
-
-}

+ 3 - 1
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/my_xopp.oml

@@ -8,7 +8,9 @@ description <http://ua.be/sdo2l/description/artifacts/my_xopp#> as my_xopp {
   uses <http://ua.be/sdo2l/vocabulary/formalisms/xopp#> as xopp
   uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
 
-  ci model : xopp:Model []
+  ci model : xopp:Model [
+  	object_diagram:hasName "my_xopp"
+  ]
 
   ci file : xopp:File [
     xopp:hasCreator "Xournal++ 1.1.2"

+ 5 - 3
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/my_xopp_to_drawio.oml

@@ -1,16 +1,18 @@
 // Hardcoded example of a traceability model that relates one XOPP-text-node to one Drawio-cell
 description <http://ua.be/sdo2l/description/artifacts/my_xopp_to_drawio#> as my_xopp_to_drawio {
-	extends <http://ua.be/sdo2l/description/artifacts/my_drawio#> as my_drawio
+	extends <http://ua.be/sdo2l/description/artifacts/MyPM_drawio#> as my_drawio
 	extends <http://ua.be/sdo2l/description/artifacts/my_xopp#> as my_xopp
 	
 	uses <http://ua.be/sdo2l/vocabulary/formalisms/traceability_model#> as traceability_model
 	uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
 	
-	ci model : traceability_model:TraceabilityModel
+	ci model : traceability_model:TraceabilityModel [
+		object_diagram:hasName "my_xopp_to_drawio"
+	]
 	
 	ri link : traceability_model:TraceabilityLink [
 		from my_xopp:p0l0e1
-		to my_drawio:p0_cell_CvR4PfVCJDiI6bvIUUvl-2
+		to my_drawio:cell_CvR4PfVCJDiI6bvIUUvl-2
 		object_diagram:inModel model
 	]
 }

+ 5 - 4
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/bundle.oml

@@ -1,8 +1,9 @@
 description bundle <http://ua.be/sdo2l/description/bundle#> as ^bundle {
 	uses <http://ua.be/sdo2l/vocabulary/bundle#>
-	includes <http://ua.be/sdo2l/description/artifacts/my_corr#>
-	includes <http://ua.be/sdo2l/description/artifacts/my_drawio#>
-	includes <http://ua.be/sdo2l/description/artifacts/my_pm#>
-	includes <http://ua.be/sdo2l/description/artifacts/my_xopp#>
 	includes <http://ua.be/sdo2l/description/artifacts/my_xopp_to_drawio#>
+	includes <http://ua.be/sdo2l/description/artifacts/my_xopp#>
+	includes <http://ua.be/sdo2l/description/artifacts/MyPM_corr#>
+	includes <http://ua.be/sdo2l/description/artifacts/MyPM_drawio#>
+	includes <http://ua.be/sdo2l/description/artifacts/MyPM_pm#>
+	includes <http://ua.be/sdo2l/description/traces/my_pt#>
 }

+ 56 - 0
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/traces/my_pt.oml

@@ -0,0 +1,56 @@
+// Hardcoded example of a process trace
+description <http://ua.be/sdo2l/description/traces/my_pt#> as my_pt {
+	extends <http://ua.be/sdo2l/description/artifacts/MyPM_pm#> as my_pm
+
+	uses <http://ua.be/sdo2l/vocabulary/base/processtraces#> as traces
+
+	extends <http://ua.be/sdo2l/description/artifacts/my_xopp#> as my_xopp
+
+	uses <http://ua.be/sdo2l/vocabulary/base/base#> as base
+	
+	ci start_trace_event : traces:StartTraceEvent [
+		traces:relatesTo my_pm:model
+	]
+	
+	ci start_activity0 : traces:StartActivityEvent [
+		traces:isPrecededBy start_trace_event
+		traces:relatesTo my_pm:activity_0_port_0 // ctrl inport
+	]
+	
+	ci artifact : traces:Artifact [
+		traces:relatesTo my_pm:artifact_0
+		traces:isModel my_xopp:model // example: an artifact can be a 'model'
+	]
+	
+	ci end_activity0 : traces:EndActivityEvent [
+		traces:isPrecededBy start_activity0
+		traces:relatesTo my_pm:activity_0_port_1 // ctrl outport
+	]
+
+	ri produced_artifact : traces:Produces [
+		from end_activity0
+		to artifact
+		traces:relatesTo my_pm:activity_0_port_2 // data outport
+	]
+	
+	ci start_activity1 : traces:StartActivityEvent [
+		traces:isPrecededBy end_activity0
+		traces:relatesTo my_pm:activity_1_port_0 // ctrl inport
+	]
+	
+	ri consumed_artifact : traces:Consumes [
+		from start_activity1
+		to artifact
+		traces:relatesTo my_pm:activity_1_port_2 // data inport
+	]
+	
+	ci end_activity1 : traces:EndActivityEvent [
+		traces:isPrecededBy start_activity1
+		traces:relatesTo my_pm:activity_1_port_1 // ctrl outport
+	]
+	
+	ci end_trace_event : traces:EndTraceEvent [
+		traces:isPrecededBy end_activity1
+		traces:relatesTo my_pm:model
+	]
+}

+ 1 - 1
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/vocabulary/base/file.oml

@@ -3,7 +3,7 @@ vocabulary <http://ua.be/sdo2l/vocabulary/base/file#> as file {
     extends <http://ua.be/sdo2l/vocabulary/base/processtraces#> as traces
 
     aspect Data
-    aspect File :> traces:Artifact [key isLocatedAt] 
+    concept File :> traces:Artifact [key isLocatedAt] 
 
     scalar property isLocatedAt [
         domain File

+ 61 - 71
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/vocabulary/base/processtraces.oml

@@ -1,51 +1,53 @@
 vocabulary <http://ua.be/sdo2l/vocabulary/base/processtraces#> as traces {
 	extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
 	extends <http://ua.be/sdo2l/vocabulary/base/base#> as base
-	extends <http://ua.be/sdo2l/vocabulary/formalisms/workflow#> as wf
+	extends <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm
 	extends <http://www.w3.org/2001/XMLSchema#> as xsd
 	extends <http://www.w3.org/2002/07/owl#> as owl
 
 	extends <http://ua.be/sdo2l/vocabulary/base/acyclic#> as acyclic
+	extends <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
 
 	// TODO Add time to Event (starting time and ending time of PT events)
 //	@rdfs:comment "The class to represent traces of execution of a given workflow."
 //	concept Trace :> base:IdentifiedThing
 
+	// A process trace element
+	aspect element [
+		restricts relation relatesTo to exactly 1 // every PT element must relate to one PM element
+	]
+	
+	// Supertype for all links from PT to PM
+	relation entity RelatesToPM [
+		from element
+		to pm:element
+		forward relatesTo
+		functional
+	]
+
 	@rdfs:comment "The class to represent an event of a trace."
-	aspect Event
+	aspect Event :> element
 	
 	@rdfs:comment "An event signaling the start of a new trace."
-	concept StartTraceEvent :> Event
+	concept StartTraceEvent :> Event [
+		restricts all relation relatesTo to pm:Model
+	]
 	
 	@rdfs:comment "An event signaling the end of a trace."
-	concept EndTraceEvent :> Event
+	concept EndTraceEvent :> Event [
+		restricts all relation relatesTo to pm:Model
+	]
 
 	@rdfs:comment "The class to represent a starting event of a trace."
-	concept StartActivityEvent :> Event
+	concept StartActivityEvent :> Event [
+		restricts all relation relatesTo to pm:CtrlInputPort
+	]
 
 	@rdfs:comment "The class to represent an ending event of a trace."
-	concept EndActivityEvent :> Event
-
-//	relation entity Enacts [
-//		from Trace
-//		to wf:Workflow
-//		forward enacts
-//		reverse isEnactBy
-//		asymmetric
-//		irreflexive
-//		functional
-//	]
-
-//	relation entity FirstEvent [
-//		from Trace
-//		to StartingEvent
-//		forward startedBy
-//		reverse startsTrace
-//		asymmetric
-//		irreflexive
-//		functional
-//	]
-
+	concept EndActivityEvent :> Event [
+		restricts all relation relatesTo to pm:CtrlOutputPort
+	]
+	
 	relation entity Follows :> acyclic:Acyclic [
 		from Event
 		to Event
@@ -57,63 +59,51 @@ vocabulary <http://ua.be/sdo2l/vocabulary/base/processtraces#> as traces {
 		inverse functional
 	]
 
-	relation entity Starts [
-		from StartActivityEvent
-		to wf:Activity
-		forward starts
-		reverse isStartedBy
-		asymmetric
-		irreflexive
-		functional
-	]
-
-	relation entity Terminates [
+	relation entity Produces :> element [
 		from EndActivityEvent
-		to wf:Activity
-		forward terminates
-		reverse isTerminatedBy
-		asymmetric
-		irreflexive
-		functional
-	]
-
-	relation entity Receives [
-		from StartActivityEvent
 		to Artifact
-		forward receives
-		reverse isReceivedBy
+		forward produces
+		reverse isProducedBy
 		asymmetric
 		irreflexive
-		//functional
+		inverse functional // every (version of an) artifact can only be produced by one (ended) activity
+		
+		restricts all relation relatesTo to pm:DataOutputPort
 	]
-
-	relation entity Provides [
-		from EndActivityEvent
+	
+	relation entity Consumes :> element [
+		from StartActivityEvent
 		to Artifact
-		forward provides
-		reverse isProvidedBy
+		forward consumes
+		reverse isConsumedBy
 		asymmetric
 		irreflexive
-		//inverse functional
+		
+		restricts all relation relatesTo to pm:DataInputPort
 	]
-
+	
 	@rdfs:comment "The class of artifacts generated during the system design process. Here we are referring to the concrete artifacts that are created/used during the enactment of a workflow."
-	aspect Artifact :> base:Versionable
-
-	relation entity RelatesTo [
+	concept Artifact :> element [
+		restricts all relation relatesTo to pm:Artifact
+	]
+		
+	// An artifact may be a "model":
+	relation entity IsModel [
 		from Artifact
-		to wf:WorkflowArtifact
-		forward relatesTo
-		reverse isRelatedTo
+		to object_diagram:Model
+		forward isModel
+		reverse isArtifact
 		asymmetric
 		irreflexive
+		functional
 	]
 
-	@rdfs:comment "This relation is used for fine-grained traceability. It can link two concepts in the PT. This should be a many to many relation."
-	relation entity Represents [
-		from owl:Thing
-		to owl:Thing
-		forward represents
-		reverse isRepresentedBy
-	]
+// Joeri: For fine-grained traceability, we use trace models (e.g., my_xopp_to_drawio.oml and my_corr.oml), which are also just models/artifacts.
+//	@rdfs:comment "This relation is used for fine-grained traceability. It can link two concepts in the PT. This should be a many to many relation."
+//	relation entity Represents [
+//		from owl:Thing
+//		to owl:Thing
+//		forward represents
+//		reverse isRepresentedBy
+//	]
 }

+ 6 - 30
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/vocabulary/formalisms/drawio.oml

@@ -162,14 +162,14 @@ vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/drawio#> as drawio {
 		irreflexive
 	]
 	
-	concept Page :> elementWithDrawioId [
-		restricts relation ofModel to exactly 1
-		restricts scalar property hasName to exactly 1
+	// A model here is a page in Drawio
+	concept Model :> elementWithDrawioId, object_diagram:Model [
 		restricts relation hasRootCell to exactly 1
+		restricts all relation object_diagram:hasObject to element
 	]
 	
 	relation entity HasPageAttribute :> object_diagram:Link [
-		from Page
+		from Model
 		to PageAttribute
 		forward hasPageAttribute
 		reverse ofPage
@@ -178,7 +178,7 @@ vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/drawio#> as drawio {
 		inverse functional
 	]
 	relation entity HasRootCell :> object_diagram:Link [
-		from Page
+		from Model
 		to Cell
 		forward hasRootCell
 		reverse isRootOf
@@ -189,31 +189,7 @@ vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/drawio#> as drawio {
 	]
 	
 	concept PageAttribute :> dict:DictEntry, element []
-	
-	scalar property hasName [
-		domain Page
-		range xsd:string
-		functional
-	]
-	
-	
-	// A Drawio file:
-	concept Model :> object_diagram:Model [
-		restricts all relation object_diagram:hasObject to element
-		restricts scalar property isCompressed to exactly 1
-		restricts scalar property hasDrawioVersion to exactly 1
-	]
-	
-	relation entity HasPage [
-		from Model
-		to Page
-		forward hasPage
-		reverse ofModel
-		inverse functional
-		asymmetric
-		irreflexive
-	]
-
+		
 	scalar property isCompressed [
 		domain Model
 		range xsd:boolean

+ 13 - 2
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/vocabulary/formalisms/object_diagram.oml

@@ -1,6 +1,7 @@
 vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram {
 	
 	extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
+	extends <http://www.w3.org/2001/XMLSchema#> as xsd
 
 	aspect Object []
 		
@@ -22,8 +23,18 @@ vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_
 		from Object
 		to Object
 	]
-		
-	concept Model []
+	
+	concept Model [
+		restricts scalar property hasName to exactly 1
+	]
+	
+	// Every model has a name, that we use to identify it.
+	// E.g., when we query for a list of all the process models, we can get their names.
+	scalar property hasName [
+		domain Model
+		range xsd:string
+		functional
+	]
 	
 	relation entity HasObject [
 		from Model

+ 1 - 1
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/vocabulary/formalisms/pm.oml

@@ -114,7 +114,7 @@ vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm {
 		restricts relation ctrlTo to exactly 1
 	]
 	
-	concept Model :> object_diagram:Model [
+	concept Model :> object_diagram:Model, element [
 		restricts all relation object_diagram:hasObject to element
 	]
 }