Kaynağa Gözat

Updates:
- Fixing the final node to support it receiving multiple control inputs.
- Adding the octiva pm.
- Updating the FTG.

Lucas Albertins 2 yıl önce
ebeveyn
işleme
b8c4bf8ac7

+ 26 - 2
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/FTG_corr.oml

@@ -141,9 +141,33 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_corr#> as FTG_corr {
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_Q2omTT1f_mzxMD_8ckub-18_t_ValidateCBDSimulationResults : cs_as:CS_AS_Link [
-    from my_drawio:cell_Q2omTT1f_mzxMD_8ckub-18
+  ri trace_drawio_KRsiIsXFRB6VWgrfomc8-1_t_ValidateCBDSimulationResults : cs_as:CS_AS_Link [
+    from my_drawio:cell_KRsiIsXFRB6VWgrfomc8-1
     to my_ftg:t_ValidateCBDSimulationResults
     object_diagram:inModel model
   ]
+
+  ri trace_drawio_TtVDsBY8pM9m622MFL7I-1_t_Initialization : cs_as:CS_AS_Link [
+    from my_drawio:cell_TtVDsBY8pM9m622MFL7I-1
+    to my_ftg:t_Initialization
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_sis9WW2FUQbvP1viyk8t-1_t_DetectParallelRails : cs_as:CS_AS_Link [
+    from my_drawio:cell_sis9WW2FUQbvP1viyk8t-1
+    to my_ftg:t_DetectParallelRails
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_tniXIvkimBol-GNhVY2x-2_t_FailuresResolved : cs_as:CS_AS_Link [
+    from my_drawio:cell_tniXIvkimBol-GNhVY2x-2
+    to my_ftg:t_FailuresResolved
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_Sk1S-HC682LsTowornEU-1_t_RedesignAlgorithm : cs_as:CS_AS_Link [
+    from my_drawio:cell_Sk1S-HC682LsTowornEU-1
+    to my_ftg:t_RedesignAlgorithm
+    object_diagram:inModel model
+  ]
 }

Dosya farkı çok büyük olduğundan ihmal edildi
+ 1273 - 57
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/FTG_drawio.oml


+ 112 - 1
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/FTG_ftg.oml

@@ -43,6 +43,7 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     base:hasGUID "Preparation"
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlOutput "cout"
+    
   ]
   ri t_Preparation_output0 : ftg:HasOutput [
     from t_Preparation
@@ -65,6 +66,7 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlInput "cinRec"
     ftg:hasCtrlOutput "cout"
+    
   ]
   ri t_SetupProfile_input0 : ftg:HasInput [
     from t_SetupProfile
@@ -86,6 +88,7 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     base:hasGUID "GenerateControlParameters"
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlOutput "cout"
+    
   ]
   ri t_GenerateControlParameters_input0 : ftg:HasInput [
     from t_GenerateControlParameters
@@ -108,6 +111,7 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlOutput "cout"
     ftg:hasCtrlOutput "coutRec"
+    
   ]
   ri t_VerifyData_input0 : ftg:HasInput [
     from t_VerifyData
@@ -124,6 +128,7 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     base:hasGUID "RunExperiment"
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlOutput "cout"
+    
   ]
   ri t_RunExperiment_input0 : ftg:HasInput [
     from t_RunExperiment
@@ -145,6 +150,7 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     base:hasGUID "BuildControlSettings"
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlOutput "cout"
+    
   ]
   ri t_BuildControlSettings_input0 : ftg:HasInput [
     from t_BuildControlSettings
@@ -166,6 +172,7 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     base:hasGUID "InitialDesign"
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlOutput "cout"
+    
   ]
   ri t_InitialDesign_input0 : ftg:HasInput [
     from t_InitialDesign
@@ -183,6 +190,7 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlOutput "good"
     ftg:hasCtrlOutput "bad"
+    
   ]
   ri t_CheckDesign_input0 : ftg:HasInput [
     from t_CheckDesign
@@ -199,6 +207,7 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     base:hasGUID "CreateRequirements"
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlOutput "cout"
+    
   ]
   ri t_CreateRequirements_output0 : ftg:HasOutput [
     from t_CreateRequirements
@@ -210,6 +219,7 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     base:hasGUID "Sketch"
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlOutput "cout"
+    
   ]
   ri t_Sketch_output0 : ftg:HasOutput [
     from t_Sketch
@@ -221,6 +231,7 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     base:hasGUID "LookAtSketch"
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlOutput "cout"
+    
   ]
   ri t_LookAtSketch_input0 : ftg:HasInput [
     from t_LookAtSketch
@@ -232,7 +243,9 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     base:hasGUID "DefineCBDModel"
     ftg:hasCtrlInput "rec"
     ftg:hasCtrlInput "cin"
+    ftg:hasCtrlInput "error"
     ftg:hasCtrlOutput "cout"
+    
   ]
   ri t_DefineCBDModel_input0 : ftg:HasInput [
     from t_DefineCBDModel
@@ -249,6 +262,7 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     base:hasGUID "RunCBDSimulation"
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlOutput "cout"
+    
   ]
   ri t_RunCBDSimulation_input0 : ftg:HasInput [
     from t_RunCBDSimulation
@@ -261,15 +275,112 @@ description <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as FTG_ftg {
     ftg:hasName "dout"
   ]
 
-  ci t_ValidateCBDSimulationResults : ftg:Transformation [
+  ci t_ValidateCBDSimulationResults : ftg:AutomatedTransformation [
     base:hasGUID "ValidateCBDSimulationResults"
     ftg:hasCtrlInput "cin"
     ftg:hasCtrlOutput "ok"
+    ftg:hasCtrlOutput "error"
     ftg:hasCtrlOutput "notOk"
+    
+    ftg:hasEndpoint "http://localhost:7999"
+    
   ]
   ri t_ValidateCBDSimulationResults_input0 : ftg:HasInput [
     from t_ValidateCBDSimulationResults
     to f_TabularData
     ftg:hasName "din"
   ]
+
+  ci t_Initialization : ftg:Transformation [
+    base:hasGUID "Initialization"
+    ftg:hasCtrlInput "cin"
+    ftg:hasCtrlOutput "cout"
+    
+  ]
+  ri t_Initialization_output0 : ftg:HasOutput [
+    from t_Initialization
+    to f_file
+    ftg:hasName "dout"
+  ]
+  ri t_Initialization_output1 : ftg:HasOutput [
+    from t_Initialization
+    to f_file
+    ftg:hasName "dout"
+  ]
+
+  ci t_DetectParallelRails : ftg:AutomatedTransformation [
+    base:hasGUID "DetectParallelRails"
+    ftg:hasCtrlInput "cin"
+    ftg:hasCtrlInput "rep"
+    ftg:hasCtrlOutput "ok"
+    ftg:hasCtrlOutput "error"
+    
+    ftg:hasEndpoint "http://localhost:7999/octiva/"
+    
+  ]
+  ri t_DetectParallelRails_input0 : ftg:HasInput [
+    from t_DetectParallelRails
+    to f_file
+    ftg:hasName "algorithm"
+  ]
+  ri t_DetectParallelRails_input1 : ftg:HasInput [
+    from t_DetectParallelRails
+    to f_file
+    ftg:hasName "image"
+  ]
+  ri t_DetectParallelRails_output0 : ftg:HasOutput [
+    from t_DetectParallelRails
+    to f_file
+    ftg:hasName "data"
+  ]
+  ri t_DetectParallelRails_output1 : ftg:HasOutput [
+    from t_DetectParallelRails
+    to f_file
+    ftg:hasName "image"
+  ]
+
+  ci t_FailuresResolved : ftg:Transformation [
+    base:hasGUID "FailuresResolved"
+    ftg:hasCtrlInput "cin"
+    ftg:hasCtrlOutput "ok"
+    ftg:hasCtrlOutput "notOk"
+    
+  ]
+  ri t_FailuresResolved_input0 : ftg:HasInput [
+    from t_FailuresResolved
+    to f_file
+    ftg:hasName "din"
+  ]
+  ri t_FailuresResolved_input1 : ftg:HasInput [
+    from t_FailuresResolved
+    to f_file
+    ftg:hasName "din"
+  ]
+  ri t_FailuresResolved_output0 : ftg:HasOutput [
+    from t_FailuresResolved
+    to f_file
+    ftg:hasName "dout"
+  ]
+
+  ci t_RedesignAlgorithm : ftg:Transformation [
+    base:hasGUID "RedesignAlgorithm"
+    ftg:hasCtrlInput "cin"
+    ftg:hasCtrlOutput "cout"
+    
+  ]
+  ri t_RedesignAlgorithm_input0 : ftg:HasInput [
+    from t_RedesignAlgorithm
+    to f_file
+    ftg:hasName "din"
+  ]
+  ri t_RedesignAlgorithm_output0 : ftg:HasOutput [
+    from t_RedesignAlgorithm
+    to f_file
+    ftg:hasName "dout"
+  ]
+  ri t_RedesignAlgorithm_output1 : ftg:HasOutput [
+    from t_RedesignAlgorithm
+    to f_file
+    ftg:hasName "dout"
+  ]
 }

+ 341 - 0
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/octiva_corr.oml

@@ -0,0 +1,341 @@
+// Warning: Generated Code! Do not edit!
+// Input: http://localhost:5000/files/drawio/octiva:pm
+// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/pm/oml_generator.py
+
+// This file contains the correspondence links between concrete syntax (Drawio) and abstract syntax (Process Model).
+description <http://ua.be/sdo2l/description/artifacts/octiva_corr#> as octiva_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/octiva_drawio#> as my_drawio
+  extends <http://ua.be/sdo2l/description/artifacts/octiva_pm#> as my_pm
+
+  ci model : cs_as:CorrespondenceModel [
+    object_diagram:hasName "octiva_corr"
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-1_initial : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-1
+    to my_pm:initial
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-2_final : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-2
+    to my_pm:final
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-4_artifact_0 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-4
+    to my_pm:artifact_0
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-30_activity_0_port_5 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-30
+    to my_pm:activity_0_port_5
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-32_activity_0_port_1 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-32
+    to my_pm:activity_0_port_1
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-33_activity_0_port_2 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-33
+    to my_pm:activity_0_port_2
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-27_activity_0_port_0 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-27
+    to my_pm:activity_0_port_0
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-34_activity_0_port_3 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-34
+    to my_pm:activity_0_port_3
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-33_activity_0_port_4 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-33
+    to my_pm:activity_0_port_4
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-9_activity_0 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-9
+    to my_pm:activity_0
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-29_activity_1_port_3 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-29
+    to my_pm:activity_1_port_3
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-31_activity_1_port_2 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-31
+    to my_pm:activity_1_port_2
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-35_activity_1_port_0 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-35
+    to my_pm:activity_1_port_0
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-41_activity_1_port_4 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-41
+    to my_pm:activity_1_port_4
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-44_activity_1_port_1 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-44
+    to my_pm:activity_1_port_1
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-10_activity_1 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-10
+    to my_pm:activity_1
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-12_artifact_1 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-12
+    to my_pm:artifact_1
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-51_artifact_2 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-51
+    to my_pm:artifact_2
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-2_activity_2_port_0 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-2
+    to my_pm:activity_2_port_0
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-3_activity_2_port_1 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-3
+    to my_pm:activity_2_port_1
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-6_activity_2_port_2 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-6
+    to my_pm:activity_2_port_2
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-11_activity_2_port_3 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-11
+    to my_pm:activity_2_port_3
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-1_activity_2 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-1
+    to my_pm:activity_2
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-14_activity_3_port_0 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-14
+    to my_pm:activity_3_port_0
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-15_activity_3_port_2 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-15
+    to my_pm:activity_3_port_2
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-16_activity_3_port_3 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-16
+    to my_pm:activity_3_port_3
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-21_activity_3_port_4 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-21
+    to my_pm:activity_3_port_4
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-24_activity_3_port_5 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-24
+    to my_pm:activity_3_port_5
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-26_activity_3_port_1 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-26
+    to my_pm:activity_3_port_1
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-27_activity_3_port_6 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-27
+    to my_pm:activity_3_port_6
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-28_activity_3_port_7 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-28
+    to my_pm:activity_3_port_7
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-13_activity_3 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-13
+    to my_pm:activity_3
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-29_artifact_3 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-29
+    to my_pm:artifact_3
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-30_artifact_4 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-30
+    to my_pm:artifact_4
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-4_ctrl_flow_0 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-4
+    to my_pm:ctrl_flow_0
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-22_data_flow_0 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-22
+    to my_pm:data_flow_0
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-25_data_flow_1 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-25
+    to my_pm:data_flow_1
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-36_ctrl_flow_1 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-36
+    to my_pm:ctrl_flow_1
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-37_ctrl_flow_2 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-37
+    to my_pm:ctrl_flow_2
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-42_data_flow_2 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-42
+    to my_pm:data_flow_2
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-43_data_flow_3 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-43
+    to my_pm:data_flow_3
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-45_ctrl_flow_3 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-45
+    to my_pm:ctrl_flow_3
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-53_data_flow_4 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-53
+    to my_pm:data_flow_4
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_zTgetw4k2piVkwadfdbE-52_data_flow_5 : cs_as:CS_AS_Link [
+    from my_drawio:cell_zTgetw4k2piVkwadfdbE-52
+    to my_pm:data_flow_5
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-5_ctrl_flow_4 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-5
+    to my_pm:ctrl_flow_4
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-9_data_flow_6 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-9
+    to my_pm:data_flow_6
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-12_data_flow_7 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-12
+    to my_pm:data_flow_7
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-19_ctrl_flow_5 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-19
+    to my_pm:ctrl_flow_5
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-20_ctrl_flow_6 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-20
+    to my_pm:ctrl_flow_6
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-36_data_flow_8 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-36
+    to my_pm:data_flow_8
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-37_data_flow_9 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-37
+    to my_pm:data_flow_9
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-31_data_flow_10 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-31
+    to my_pm:data_flow_10
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_s_cVC5ZGoSJ6GyRvvS3W-32_data_flow_11 : cs_as:CS_AS_Link [
+    from my_drawio:cell_s_cVC5ZGoSJ6GyRvvS3W-32
+    to my_pm:data_flow_11
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_1_model : cs_as:CS_AS_Link [
+    from my_drawio:cell_1
+    to my_pm:model
+    object_diagram:inModel model
+  ]
+}

Dosya farkı çok büyük olduğundan ihmal edildi
+ 1582 - 0
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/octiva_drawio.oml


+ 374 - 0
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/octiva_pm.oml

@@ -0,0 +1,374 @@
+// Warning: Generated Code! Do not edit!
+// Input: http://localhost:5000/files/drawio/octiva:pm
+// Generator: https://msdl.uantwerpen.be/git/jexelmans/drawio2oml/drawio2oml/pm/oml_generator.py
+
+description <http://ua.be/sdo2l/description/artifacts/octiva_pm#> as octiva_pm {
+
+  uses <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm
+  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
+  uses <http://ua.be/sdo2l/vocabulary/formalisms/ftg#> as ftg
+
+  extends <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as ftg_instance
+
+  ci model : pm:Model [
+    object_diagram:hasName "octiva_pm"
+  ]
+
+  ci initial : pm:Initial [
+    object_diagram:inModel model
+    pm:ctrlTo activity_2_port_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
+  ]
+
+  ci final : pm:Final [
+    object_diagram:inModel model
+    pm:ctrlFrom activity_0_port_1 // 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 errorpm:ctrlFrom activity_3_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 artifact_0 : pm:Artifact [
+    pm:hasName "parameters"
+    pm:hasType ftg_instance:f_file
+    object_diagram:inModel model
+    pm:dataTo activity_3_port_4 // 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 artifact_1 : pm:Artifact [
+    pm:hasName "rail_detection_algorythm"
+    pm:hasType ftg_instance:f_file
+    object_diagram:inModel model
+    pm:dataTo activity_3_port_5 // 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 artifact_2 : pm:Artifact [
+    pm:hasName "report"
+    pm:hasType ftg_instance:f_file
+    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 artifact_3 : pm:Artifact [
+    pm:hasName "data"
+    pm:hasType ftg_instance:f_file
+    object_diagram:inModel model
+    pm:dataTo activity_0_port_3 // 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 artifact_4 : pm:Artifact [
+    pm:hasName "image"
+    pm:hasType ftg_instance:f_file
+    object_diagram:inModel model
+    pm:dataTo activity_0_port_4 // 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 "CheckStatus"
+    pm:isTransformation ftg_instance:t_FailuresResolved
+    object_diagram:inModel model
+  ]
+
+  ci activity_0_port_1 : pm:CtrlOutputPort [
+    pm:hasName "ok"
+    pm:ofActivity activity_0
+    object_diagram:inModel model
+    pm:ctrlTo final // 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_port_2 : pm:CtrlOutputPort [
+    pm:hasName "notOk"
+    pm:ofActivity activity_0
+    object_diagram:inModel model
+    pm:ctrlTo activity_1_port_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
+  ]
+  
+
+  ci activity_0_port_0 : pm:CtrlInputPort [
+    pm:hasName "cin"
+    pm:ofActivity activity_0
+    object_diagram:inModel model
+    pm:ctrlFrom activity_3_port_3 // 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_port_5 : pm:DataOutputPort [
+    pm:hasName "dout"
+    pm:ofActivity activity_0
+    object_diagram:inModel model
+    pm:dataTo artifact_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_port_3 : pm:DataInputPort [
+    pm:hasName "din"
+    pm:ofActivity activity_0
+    object_diagram:inModel model
+    pm:dataFrom artifact_3 // 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_port_4 : pm:DataInputPort [
+    pm:hasName "din"
+    pm:ofActivity activity_0
+    object_diagram:inModel model
+    pm:dataFrom artifact_4 // 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_1 : pm:Activity [
+    pm:hasName "redAlg"
+    pm:isTransformation ftg_instance:t_RedesignAlgorithm
+    object_diagram:inModel model
+  ]
+
+  ci activity_1_port_1 : pm:CtrlOutputPort [
+    pm:hasName "cout"
+    pm:ofActivity activity_1
+    object_diagram:inModel model
+    pm:ctrlTo activity_3_port_1 // 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_1_port_0 : pm:CtrlInputPort [
+    pm:hasName "cin"
+    pm:ofActivity activity_1
+    object_diagram:inModel model
+    pm:ctrlFrom activity_0_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_1_port_3 : pm:DataOutputPort [
+    pm:hasName "dout"
+    pm:ofActivity activity_1
+    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
+  ]
+
+  ci activity_1_port_4 : pm:DataOutputPort [
+    pm:hasName "dout"
+    pm:ofActivity activity_1
+    object_diagram:inModel model
+    pm:dataTo artifact_1 // 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_1_port_2 : pm:DataInputPort [
+    pm:hasName "din"
+    pm:ofActivity activity_1
+    object_diagram:inModel model
+    pm:dataFrom artifact_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_2 : pm:Activity [
+    pm:hasName "init"
+    pm:isTransformation ftg_instance:t_Initialization
+    object_diagram:inModel model
+  ]
+
+  ci activity_2_port_1 : pm:CtrlOutputPort [
+    pm:hasName "cout"
+    pm:ofActivity activity_2
+    object_diagram:inModel model
+    pm:ctrlTo activity_3_port_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
+  ]
+  
+
+  ci activity_2_port_0 : pm:CtrlInputPort [
+    pm:hasName "cin"
+    pm:ofActivity activity_2
+    object_diagram:inModel model
+    pm:ctrlFrom initial // 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_2_port_2 : pm:DataOutputPort [
+    pm:hasName "dout"
+    pm:ofActivity activity_2
+    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
+  ]
+
+  ci activity_2_port_3 : pm:DataOutputPort [
+    pm:hasName "dout"
+    pm:ofActivity activity_2
+    object_diagram:inModel model
+    pm:dataTo artifact_1 // 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_3 : pm:AutomatedActivity [
+    pm:hasName "det"
+    pm:isTransformation ftg_instance:t_DetectParallelRails
+    pm:hasTimeout 5000
+    object_diagram:inModel model
+  ]
+
+  ci activity_3_port_2 : pm:CtrlOutputPort [
+    pm:hasName "error"
+    pm:ofActivity activity_3
+    object_diagram:inModel model
+    pm:ctrlTo final // 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_3_port_3 : pm:CtrlOutputPort [
+    pm:hasName "ok"
+    pm:ofActivity activity_3
+    object_diagram:inModel model
+    pm:ctrlTo activity_0_port_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
+  ]
+  
+
+  ci activity_3_port_0 : pm:CtrlInputPort [
+    pm:hasName "cin"
+    pm:ofActivity activity_3
+    object_diagram:inModel model
+    pm:ctrlFrom activity_2_port_1 // 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_3_port_1 : pm:CtrlInputPort [
+    pm:hasName "rep"
+    pm:ofActivity activity_3
+    object_diagram:inModel model
+    pm:ctrlFrom activity_1_port_1 // 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_3_port_6 : pm:DataOutputPort [
+    pm:hasName "data"
+    pm:ofActivity activity_3
+    object_diagram:inModel model
+    pm:dataTo artifact_3 // 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_3_port_7 : pm:DataOutputPort [
+    pm:hasName "image"
+    pm:ofActivity activity_3
+    object_diagram:inModel model
+    pm:dataTo artifact_4 // 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_3_port_4 : pm:DataInputPort [
+    pm:hasName "image"
+    pm:ofActivity activity_3
+    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
+  ]
+
+  ci activity_3_port_5 : pm:DataInputPort [
+    pm:hasName "algorithm"
+    pm:ofActivity activity_3
+    object_diagram:inModel model
+    pm:dataFrom artifact_1 // 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
+  ]
+
+  ri ctrl_flow_0 : pm:CtrlFlow [
+    from initial
+    to activity_2_port_0
+    object_diagram:inModel model
+  ]
+
+  ri ctrl_flow_1 : pm:CtrlFlow [
+    from activity_0_port_2
+    to activity_1_port_0
+    object_diagram:inModel model
+  ]
+
+  ri ctrl_flow_2 : pm:CtrlFlow [
+    from activity_0_port_1
+    to final
+    object_diagram:inModel model
+  ]
+
+  ri ctrl_flow_3 : pm:CtrlFlow [
+    from activity_1_port_1
+    to activity_3_port_1
+    object_diagram:inModel model
+  ]
+
+  ri ctrl_flow_4 : pm:CtrlFlow [
+    from activity_2_port_1
+    to activity_3_port_0
+    object_diagram:inModel model
+  ]
+
+  ri ctrl_flow_5 : pm:CtrlFlow [
+    from activity_3_port_2
+    to final
+    object_diagram:inModel model
+  ]
+
+  ri ctrl_flow_6 : pm:CtrlFlow [
+    from activity_3_port_3
+    to activity_0_port_0
+    object_diagram:inModel model
+  ]
+
+  ri data_flow_0 : pm:DataFlow [
+    from artifact_0
+    to activity_3_port_4
+    object_diagram:inModel model
+  ]
+
+  ri data_flow_1 : pm:DataFlow [
+    from artifact_1
+    to activity_3_port_5
+    object_diagram:inModel model
+  ]
+
+  ri data_flow_2 : pm:DataFlow [
+    from activity_1_port_4
+    to artifact_1
+    object_diagram:inModel model
+  ]
+
+  ri data_flow_3 : pm:DataFlow [
+    from activity_1_port_3
+    to artifact_0
+    object_diagram:inModel model
+  ]
+
+  ri data_flow_4 : pm:DataFlow [
+    from artifact_2
+    to activity_1_port_2
+    object_diagram:inModel model
+  ]
+
+  ri data_flow_5 : pm:DataFlow [
+    from activity_0_port_5
+    to artifact_2
+    object_diagram:inModel model
+  ]
+
+  ri data_flow_6 : pm:DataFlow [
+    from activity_2_port_2
+    to artifact_0
+    object_diagram:inModel model
+  ]
+
+  ri data_flow_7 : pm:DataFlow [
+    from activity_2_port_3
+    to artifact_1
+    object_diagram:inModel model
+  ]
+
+  ri data_flow_8 : pm:DataFlow [
+    from artifact_3
+    to activity_0_port_3
+    object_diagram:inModel model
+  ]
+
+  ri data_flow_9 : pm:DataFlow [
+    from artifact_4
+    to activity_0_port_4
+    object_diagram:inModel model
+  ]
+
+  ri data_flow_10 : pm:DataFlow [
+    from activity_3_port_7
+    to artifact_4
+    object_diagram:inModel model
+  ]
+
+  ri data_flow_11 : pm:DataFlow [
+    from activity_3_port_6
+    to artifact_3
+    object_diagram:inModel model
+  ]
+
+}

+ 40 - 22
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/springDamper_corr.oml

@@ -63,20 +63,26 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_corr#> as spr
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_6EwGGpy6rZ522-kh7by9-10_activity_1_port_3 : cs_as:CS_AS_Link [
+  ri trace_drawio_6EwGGpy6rZ522-kh7by9-10_activity_1_port_4 : cs_as:CS_AS_Link [
     from my_drawio:cell_6EwGGpy6rZ522-kh7by9-10
-    to my_pm:activity_1_port_3
+    to my_pm:activity_1_port_4
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_6EwGGpy6rZ522-kh7by9-11_activity_1_port_4 : cs_as:CS_AS_Link [
+  ri trace_drawio_6EwGGpy6rZ522-kh7by9-11_activity_1_port_5 : cs_as:CS_AS_Link [
     from my_drawio:cell_6EwGGpy6rZ522-kh7by9-11
-    to my_pm:activity_1_port_4
+    to my_pm:activity_1_port_5
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_6EwGGpy6rZ522-kh7by9-12_activity_1_port_2 : cs_as:CS_AS_Link [
+  ri trace_drawio_6EwGGpy6rZ522-kh7by9-12_activity_1_port_3 : cs_as:CS_AS_Link [
     from my_drawio:cell_6EwGGpy6rZ522-kh7by9-12
+    to my_pm:activity_1_port_3
+    object_diagram:inModel model
+  ]
+
+  ri trace_drawio_j9tabdb7EQjFiC8vxNGg-1_activity_1_port_2 : cs_as:CS_AS_Link [
+    from my_drawio:cell_j9tabdb7EQjFiC8vxNGg-1
     to my_pm:activity_1_port_2
     object_diagram:inModel model
   ]
@@ -135,32 +141,38 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_corr#> as spr
     object_diagram:inModel model
   ]
 
+  ri trace_drawio_6EwGGpy6rZ522-kh7by9-33_activity_3_port_1 : cs_as:CS_AS_Link [
+    from my_drawio:cell_6EwGGpy6rZ522-kh7by9-33
+    to my_pm:activity_3_port_1
+    object_diagram:inModel model
+  ]
+
   ri trace_drawio_6EwGGpy6rZ522-kh7by9-30_activity_3_port_0 : cs_as:CS_AS_Link [
     from my_drawio:cell_6EwGGpy6rZ522-kh7by9-30
     to my_pm:activity_3_port_0
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_6EwGGpy6rZ522-kh7by9-31_activity_3_port_3 : cs_as:CS_AS_Link [
+  ri trace_drawio_6EwGGpy6rZ522-kh7by9-31_activity_3_port_4 : cs_as:CS_AS_Link [
     from my_drawio:cell_6EwGGpy6rZ522-kh7by9-31
-    to my_pm:activity_3_port_3
+    to my_pm:activity_3_port_4
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_6EwGGpy6rZ522-kh7by9-32_activity_3_port_1 : cs_as:CS_AS_Link [
+  ri trace_drawio_6EwGGpy6rZ522-kh7by9-32_activity_3_port_2 : cs_as:CS_AS_Link [
     from my_drawio:cell_6EwGGpy6rZ522-kh7by9-32
-    to my_pm:activity_3_port_1
+    to my_pm:activity_3_port_2
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_6EwGGpy6rZ522-kh7by9-33_activity_3_port_2 : cs_as:CS_AS_Link [
-    from my_drawio:cell_6EwGGpy6rZ522-kh7by9-33
-    to my_pm:activity_3_port_2
+  ri trace_drawio_7aubSDIZ3aql-5XpQAt0-1_activity_3_port_3 : cs_as:CS_AS_Link [
+    from my_drawio:cell_7aubSDIZ3aql-5XpQAt0-1
+    to my_pm:activity_3_port_3
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_6EwGGpy6rZ522-kh7by9-29_activity_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_6EwGGpy6rZ522-kh7by9-29
+  ri trace_drawio_bSbNTGvVxcwvyUkA0aUh-1_activity_3 : cs_as:CS_AS_Link [
+    from my_drawio:cell_bSbNTGvVxcwvyUkA0aUh-1
     to my_pm:activity_3
     object_diagram:inModel model
   ]
@@ -207,8 +219,8 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_corr#> as spr
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_6EwGGpy6rZ522-kh7by9-26_data_flow_4 : cs_as:CS_AS_Link [
-    from my_drawio:cell_6EwGGpy6rZ522-kh7by9-26
+  ri trace_drawio_PR43pSw0OvMHOdnO7uKn-1_data_flow_4 : cs_as:CS_AS_Link [
+    from my_drawio:cell_PR43pSw0OvMHOdnO7uKn-1
     to my_pm:data_flow_4
     object_diagram:inModel model
   ]
@@ -219,24 +231,30 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_corr#> as spr
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_6EwGGpy6rZ522-kh7by9-34_ctrl_flow_3 : cs_as:CS_AS_Link [
-    from my_drawio:cell_6EwGGpy6rZ522-kh7by9-34
+  ri trace_drawio_PR43pSw0OvMHOdnO7uKn-2_ctrl_flow_3 : cs_as:CS_AS_Link [
+    from my_drawio:cell_PR43pSw0OvMHOdnO7uKn-2
     to my_pm:ctrl_flow_3
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_6EwGGpy6rZ522-kh7by9-36_ctrl_flow_4 : cs_as:CS_AS_Link [
-    from my_drawio:cell_6EwGGpy6rZ522-kh7by9-36
+  ri trace_drawio_PR43pSw0OvMHOdnO7uKn-3_ctrl_flow_4 : cs_as:CS_AS_Link [
+    from my_drawio:cell_PR43pSw0OvMHOdnO7uKn-3
     to my_pm:ctrl_flow_4
     object_diagram:inModel model
   ]
 
-  ri trace_drawio_6EwGGpy6rZ522-kh7by9-37_ctrl_flow_5 : cs_as:CS_AS_Link [
-    from my_drawio:cell_6EwGGpy6rZ522-kh7by9-37
+  ri trace_drawio_PR43pSw0OvMHOdnO7uKn-4_ctrl_flow_5 : cs_as:CS_AS_Link [
+    from my_drawio:cell_PR43pSw0OvMHOdnO7uKn-4
     to my_pm:ctrl_flow_5
     object_diagram:inModel model
   ]
 
+  ri trace_drawio_7aubSDIZ3aql-5XpQAt0-2_ctrl_flow_6 : cs_as:CS_AS_Link [
+    from my_drawio:cell_7aubSDIZ3aql-5XpQAt0-2
+    to my_pm:ctrl_flow_6
+    object_diagram:inModel model
+  ]
+
   ri trace_drawio_1_model : cs_as:CS_AS_Link [
     from my_drawio:cell_1
     to my_pm:model

+ 158 - 60
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/springDamper_drawio.oml

@@ -405,6 +405,38 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_drawio#> as s
   ]
 
   
+  ci cell_j9tabdb7EQjFiC8vxNGg-1 : drawio:Vertex [
+    drawio:hasDrawioId "j9tabdb7EQjFiC8vxNGg-1"
+    drawio:hasParent cell_6EwGGpy6rZ522-kh7by9-7
+    object_diagram:inModel model
+  ]
+  
+  ci cell_j9tabdb7EQjFiC8vxNGg-1_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue "%portname%"
+    drawio:propertyOf cell_j9tabdb7EQjFiC8vxNGg-1
+    object_diagram:inModel model
+  ]
+  ci cell_j9tabdb7EQjFiC8vxNGg-1_prop_portname : drawio:CellProperty [
+    dict:hasKey "portname"
+    dict:hasValue "error"
+    drawio:propertyOf cell_j9tabdb7EQjFiC8vxNGg-1
+    object_diagram:inModel model
+  ]
+  ci cell_j9tabdb7EQjFiC8vxNGg-1_prop_placeholders : drawio:CellProperty [
+    dict:hasKey "placeholders"
+    dict:hasValue "1"
+    drawio:propertyOf cell_j9tabdb7EQjFiC8vxNGg-1
+    object_diagram:inModel model
+  ]
+  ci cell_j9tabdb7EQjFiC8vxNGg-1_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "ctrl_in"
+    drawio:propertyOf cell_j9tabdb7EQjFiC8vxNGg-1
+    object_diagram:inModel model
+  ]
+
+  
   ci cell_6EwGGpy6rZ522-kh7by9-13 : drawio:Edge [
     drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-13"
     drawio:hasParent cell_1
@@ -779,24 +811,24 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_drawio#> as s
   ]
 
   
-  ci cell_6EwGGpy6rZ522-kh7by9-26 : drawio:Edge [
-    drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-26"
+  ci cell_PR43pSw0OvMHOdnO7uKn-1 : drawio:Edge [
+    drawio:hasDrawioId "PR43pSw0OvMHOdnO7uKn-1"
     drawio:hasParent cell_1
     object_diagram:inModel model
     drawio:hasSource cell_6EwGGpy6rZ522-kh7by9-27
     drawio:hasTarget cell_6EwGGpy6rZ522-kh7by9-31
   ]
   
-  ci cell_6EwGGpy6rZ522-kh7by9-26_prop_label : drawio:CellProperty [
+  ci cell_PR43pSw0OvMHOdnO7uKn-1_prop_label : drawio:CellProperty [
     dict:hasKey "label"
     dict:hasValue ""
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-26
+    drawio:propertyOf cell_PR43pSw0OvMHOdnO7uKn-1
     object_diagram:inModel model
   ]
-  ci cell_6EwGGpy6rZ522-kh7by9-26_prop_pmRole : drawio:CellProperty [
+  ci cell_PR43pSw0OvMHOdnO7uKn-1_prop_pmRole : drawio:CellProperty [
     dict:hasKey "pmRole"
     dict:hasValue "data_flow"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-26
+    drawio:propertyOf cell_PR43pSw0OvMHOdnO7uKn-1
     object_diagram:inModel model
   ]
 
@@ -861,47 +893,111 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_drawio#> as s
   ]
 
   
-  ci cell_6EwGGpy6rZ522-kh7by9-29 : drawio:Vertex [
-    drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-29"
+  ci cell_6EwGGpy6rZ522-kh7by9-35 : drawio:Vertex [
+    drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-35"
+    drawio:hasParent cell_1
+    object_diagram:inModel model
+  ]
+  
+  ci cell_6EwGGpy6rZ522-kh7by9-35_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue ""
+    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-35
+    object_diagram:inModel model
+  ]
+  ci cell_6EwGGpy6rZ522-kh7by9-35_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "final"
+    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-35
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_bSbNTGvVxcwvyUkA0aUh-1 : drawio:Vertex [
+    drawio:hasDrawioId "bSbNTGvVxcwvyUkA0aUh-1"
     drawio:hasParent cell_1
     object_diagram:inModel model
   ]
   
-  ci cell_6EwGGpy6rZ522-kh7by9-29_prop_label : drawio:CellProperty [
+  ci cell_bSbNTGvVxcwvyUkA0aUh-1_prop_label : drawio:CellProperty [
     dict:hasKey "label"
     dict:hasValue "<u style=\"color: rgb(0 , 0 , 0)\">%name%<br>: %type%</u>"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-29
+    drawio:propertyOf cell_bSbNTGvVxcwvyUkA0aUh-1
     object_diagram:inModel model
   ]
-  ci cell_6EwGGpy6rZ522-kh7by9-29_prop_pmRole : drawio:CellProperty [
+  ci cell_bSbNTGvVxcwvyUkA0aUh-1_prop_pmRole : drawio:CellProperty [
     dict:hasKey "pmRole"
     dict:hasValue "activity"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-29
+    drawio:propertyOf cell_bSbNTGvVxcwvyUkA0aUh-1
     object_diagram:inModel model
   ]
-  ci cell_6EwGGpy6rZ522-kh7by9-29_prop_name : drawio:CellProperty [
+  ci cell_bSbNTGvVxcwvyUkA0aUh-1_prop_name : drawio:CellProperty [
     dict:hasKey "name"
     dict:hasValue "checkRes"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-29
+    drawio:propertyOf cell_bSbNTGvVxcwvyUkA0aUh-1
     object_diagram:inModel model
   ]
-  ci cell_6EwGGpy6rZ522-kh7by9-29_prop_type : drawio:CellProperty [
+  ci cell_bSbNTGvVxcwvyUkA0aUh-1_prop_type : drawio:CellProperty [
     dict:hasKey "type"
     dict:hasValue "ValidateCBDSimulationResults"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-29
+    drawio:propertyOf cell_bSbNTGvVxcwvyUkA0aUh-1
     object_diagram:inModel model
   ]
-  ci cell_6EwGGpy6rZ522-kh7by9-29_prop_placeholders : drawio:CellProperty [
+  ci cell_bSbNTGvVxcwvyUkA0aUh-1_prop_placeholders : drawio:CellProperty [
     dict:hasKey "placeholders"
     dict:hasValue "1"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-29
+    drawio:propertyOf cell_bSbNTGvVxcwvyUkA0aUh-1
+    object_diagram:inModel model
+  ]
+  ci cell_bSbNTGvVxcwvyUkA0aUh-1_prop_automated : drawio:CellProperty [
+    dict:hasKey "automated"
+    dict:hasValue "true"
+    drawio:propertyOf cell_bSbNTGvVxcwvyUkA0aUh-1
+    object_diagram:inModel model
+  ]
+  ci cell_bSbNTGvVxcwvyUkA0aUh-1_prop_timeout : drawio:CellProperty [
+    dict:hasKey "timeout"
+    dict:hasValue "5000"
+    drawio:propertyOf cell_bSbNTGvVxcwvyUkA0aUh-1
+    object_diagram:inModel model
+  ]
+
+  
+  ci cell_6EwGGpy6rZ522-kh7by9-33 : drawio:Vertex [
+    drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-33"
+    drawio:hasParent cell_bSbNTGvVxcwvyUkA0aUh-1
+    object_diagram:inModel model
+  ]
+  
+  ci cell_6EwGGpy6rZ522-kh7by9-33_prop_label : drawio:CellProperty [
+    dict:hasKey "label"
+    dict:hasValue "%portname%"
+    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-33
+    object_diagram:inModel model
+  ]
+  ci cell_6EwGGpy6rZ522-kh7by9-33_prop_portname : drawio:CellProperty [
+    dict:hasKey "portname"
+    dict:hasValue "notOk"
+    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-33
+    object_diagram:inModel model
+  ]
+  ci cell_6EwGGpy6rZ522-kh7by9-33_prop_placeholders : drawio:CellProperty [
+    dict:hasKey "placeholders"
+    dict:hasValue "1"
+    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-33
+    object_diagram:inModel model
+  ]
+  ci cell_6EwGGpy6rZ522-kh7by9-33_prop_pmRole : drawio:CellProperty [
+    dict:hasKey "pmRole"
+    dict:hasValue "ctrl_out"
+    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-33
     object_diagram:inModel model
   ]
 
   
   ci cell_6EwGGpy6rZ522-kh7by9-30 : drawio:Vertex [
     drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-30"
-    drawio:hasParent cell_6EwGGpy6rZ522-kh7by9-29
+    drawio:hasParent cell_bSbNTGvVxcwvyUkA0aUh-1
     object_diagram:inModel model
   ]
   
@@ -933,7 +1029,7 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_drawio#> as s
   
   ci cell_6EwGGpy6rZ522-kh7by9-31 : drawio:Vertex [
     drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-31"
-    drawio:hasParent cell_6EwGGpy6rZ522-kh7by9-29
+    drawio:hasParent cell_bSbNTGvVxcwvyUkA0aUh-1
     object_diagram:inModel model
   ]
   
@@ -965,7 +1061,7 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_drawio#> as s
   
   ci cell_6EwGGpy6rZ522-kh7by9-32 : drawio:Vertex [
     drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-32"
-    drawio:hasParent cell_6EwGGpy6rZ522-kh7by9-29
+    drawio:hasParent cell_bSbNTGvVxcwvyUkA0aUh-1
     object_diagram:inModel model
   ]
   
@@ -995,120 +1091,122 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_drawio#> as s
   ]
 
   
-  ci cell_6EwGGpy6rZ522-kh7by9-33 : drawio:Vertex [
-    drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-33"
-    drawio:hasParent cell_6EwGGpy6rZ522-kh7by9-29
+  ci cell_7aubSDIZ3aql-5XpQAt0-1 : drawio:Vertex [
+    drawio:hasDrawioId "7aubSDIZ3aql-5XpQAt0-1"
+    drawio:hasParent cell_bSbNTGvVxcwvyUkA0aUh-1
     object_diagram:inModel model
   ]
   
-  ci cell_6EwGGpy6rZ522-kh7by9-33_prop_label : drawio:CellProperty [
+  ci cell_7aubSDIZ3aql-5XpQAt0-1_prop_label : drawio:CellProperty [
     dict:hasKey "label"
     dict:hasValue "%portname%"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-33
+    drawio:propertyOf cell_7aubSDIZ3aql-5XpQAt0-1
     object_diagram:inModel model
   ]
-  ci cell_6EwGGpy6rZ522-kh7by9-33_prop_portname : drawio:CellProperty [
+  ci cell_7aubSDIZ3aql-5XpQAt0-1_prop_portname : drawio:CellProperty [
     dict:hasKey "portname"
-    dict:hasValue "notOk"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-33
+    dict:hasValue "error"
+    drawio:propertyOf cell_7aubSDIZ3aql-5XpQAt0-1
     object_diagram:inModel model
   ]
-  ci cell_6EwGGpy6rZ522-kh7by9-33_prop_placeholders : drawio:CellProperty [
+  ci cell_7aubSDIZ3aql-5XpQAt0-1_prop_placeholders : drawio:CellProperty [
     dict:hasKey "placeholders"
     dict:hasValue "1"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-33
+    drawio:propertyOf cell_7aubSDIZ3aql-5XpQAt0-1
     object_diagram:inModel model
   ]
-  ci cell_6EwGGpy6rZ522-kh7by9-33_prop_pmRole : drawio:CellProperty [
+  ci cell_7aubSDIZ3aql-5XpQAt0-1_prop_pmRole : drawio:CellProperty [
     dict:hasKey "pmRole"
     dict:hasValue "ctrl_out"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-33
+    drawio:propertyOf cell_7aubSDIZ3aql-5XpQAt0-1
     object_diagram:inModel model
   ]
 
   
-  ci cell_6EwGGpy6rZ522-kh7by9-34 : drawio:Edge [
-    drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-34"
+  ci cell_PR43pSw0OvMHOdnO7uKn-2 : drawio:Edge [
+    drawio:hasDrawioId "PR43pSw0OvMHOdnO7uKn-2"
     drawio:hasParent cell_1
     object_diagram:inModel model
     drawio:hasSource cell_6EwGGpy6rZ522-kh7by9-24
     drawio:hasTarget cell_6EwGGpy6rZ522-kh7by9-30
   ]
   
-  ci cell_6EwGGpy6rZ522-kh7by9-34_prop_label : drawio:CellProperty [
+  ci cell_PR43pSw0OvMHOdnO7uKn-2_prop_label : drawio:CellProperty [
     dict:hasKey "label"
     dict:hasValue ""
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-34
+    drawio:propertyOf cell_PR43pSw0OvMHOdnO7uKn-2
     object_diagram:inModel model
   ]
-  ci cell_6EwGGpy6rZ522-kh7by9-34_prop_pmRole : drawio:CellProperty [
+  ci cell_PR43pSw0OvMHOdnO7uKn-2_prop_pmRole : drawio:CellProperty [
     dict:hasKey "pmRole"
     dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-34
+    drawio:propertyOf cell_PR43pSw0OvMHOdnO7uKn-2
     object_diagram:inModel model
   ]
 
   
-  ci cell_6EwGGpy6rZ522-kh7by9-35 : drawio:Vertex [
-    drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-35"
+  ci cell_PR43pSw0OvMHOdnO7uKn-3 : drawio:Edge [
+    drawio:hasDrawioId "PR43pSw0OvMHOdnO7uKn-3"
     drawio:hasParent cell_1
     object_diagram:inModel model
+    drawio:hasSource cell_6EwGGpy6rZ522-kh7by9-33
+    drawio:hasTarget cell_6EwGGpy6rZ522-kh7by9-9
   ]
   
-  ci cell_6EwGGpy6rZ522-kh7by9-35_prop_label : drawio:CellProperty [
+  ci cell_PR43pSw0OvMHOdnO7uKn-3_prop_label : drawio:CellProperty [
     dict:hasKey "label"
     dict:hasValue ""
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-35
+    drawio:propertyOf cell_PR43pSw0OvMHOdnO7uKn-3
     object_diagram:inModel model
   ]
-  ci cell_6EwGGpy6rZ522-kh7by9-35_prop_pmRole : drawio:CellProperty [
+  ci cell_PR43pSw0OvMHOdnO7uKn-3_prop_pmRole : drawio:CellProperty [
     dict:hasKey "pmRole"
-    dict:hasValue "final"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-35
+    dict:hasValue "ctrl_flow"
+    drawio:propertyOf cell_PR43pSw0OvMHOdnO7uKn-3
     object_diagram:inModel model
   ]
 
   
-  ci cell_6EwGGpy6rZ522-kh7by9-36 : drawio:Edge [
-    drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-36"
+  ci cell_PR43pSw0OvMHOdnO7uKn-4 : drawio:Edge [
+    drawio:hasDrawioId "PR43pSw0OvMHOdnO7uKn-4"
     drawio:hasParent cell_1
     object_diagram:inModel model
     drawio:hasSource cell_6EwGGpy6rZ522-kh7by9-32
     drawio:hasTarget cell_6EwGGpy6rZ522-kh7by9-35
   ]
   
-  ci cell_6EwGGpy6rZ522-kh7by9-36_prop_label : drawio:CellProperty [
+  ci cell_PR43pSw0OvMHOdnO7uKn-4_prop_label : drawio:CellProperty [
     dict:hasKey "label"
     dict:hasValue ""
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-36
+    drawio:propertyOf cell_PR43pSw0OvMHOdnO7uKn-4
     object_diagram:inModel model
   ]
-  ci cell_6EwGGpy6rZ522-kh7by9-36_prop_pmRole : drawio:CellProperty [
+  ci cell_PR43pSw0OvMHOdnO7uKn-4_prop_pmRole : drawio:CellProperty [
     dict:hasKey "pmRole"
     dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-36
+    drawio:propertyOf cell_PR43pSw0OvMHOdnO7uKn-4
     object_diagram:inModel model
   ]
 
   
-  ci cell_6EwGGpy6rZ522-kh7by9-37 : drawio:Edge [
-    drawio:hasDrawioId "6EwGGpy6rZ522-kh7by9-37"
+  ci cell_7aubSDIZ3aql-5XpQAt0-2 : drawio:Edge [
+    drawio:hasDrawioId "7aubSDIZ3aql-5XpQAt0-2"
     drawio:hasParent cell_1
     object_diagram:inModel model
-    drawio:hasSource cell_6EwGGpy6rZ522-kh7by9-33
-    drawio:hasTarget cell_6EwGGpy6rZ522-kh7by9-9
+    drawio:hasSource cell_7aubSDIZ3aql-5XpQAt0-1
+    drawio:hasTarget cell_j9tabdb7EQjFiC8vxNGg-1
   ]
   
-  ci cell_6EwGGpy6rZ522-kh7by9-37_prop_label : drawio:CellProperty [
+  ci cell_7aubSDIZ3aql-5XpQAt0-2_prop_label : drawio:CellProperty [
     dict:hasKey "label"
     dict:hasValue ""
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-37
+    drawio:propertyOf cell_7aubSDIZ3aql-5XpQAt0-2
     object_diagram:inModel model
   ]
-  ci cell_6EwGGpy6rZ522-kh7by9-37_prop_pmRole : drawio:CellProperty [
+  ci cell_7aubSDIZ3aql-5XpQAt0-2_prop_pmRole : drawio:CellProperty [
     dict:hasKey "pmRole"
     dict:hasValue "ctrl_flow"
-    drawio:propertyOf cell_6EwGGpy6rZ522-kh7by9-37
+    drawio:propertyOf cell_7aubSDIZ3aql-5XpQAt0-2
     object_diagram:inModel model
   ]
 

+ 40 - 19
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/artifacts/springDamper_pm.oml

@@ -21,14 +21,14 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_pm#> as sprin
 
   ci final : pm:Final [
     object_diagram:inModel model
-    pm:ctrlFrom activity_3_port_1 // 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
+    pm:ctrlFrom activity_3_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 artifact_0 : pm:Artifact [
     pm:hasName "springDamperRequirements"
     pm:hasType ftg_instance:f_file
     object_diagram:inModel model
-    pm:dataTo activity_1_port_3 // 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
+    pm:dataTo activity_1_port_4 // 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 artifact_1 : pm:Artifact [
@@ -42,7 +42,7 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_pm#> as sprin
     pm:hasName "trace_table"
     pm:hasType ftg_instance:f_TabularData
     object_diagram:inModel model
-    pm:dataTo activity_3_port_3 // 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
+    pm:dataTo activity_3_port_4 // 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 [
@@ -81,7 +81,7 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_pm#> as sprin
     object_diagram:inModel model
   ]
 
-  ci activity_1_port_2 : pm:CtrlOutputPort [
+  ci activity_1_port_3 : pm:CtrlOutputPort [
     pm:hasName "cout"
     pm:ofActivity activity_1
     object_diagram:inModel model
@@ -100,11 +100,18 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_pm#> as sprin
     pm:hasName "rec"
     pm:ofActivity activity_1
     object_diagram:inModel model
-    pm:ctrlFrom activity_3_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
+    pm:ctrlFrom activity_3_port_1 // 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_1_port_2 : pm:CtrlInputPort [
+    pm:hasName "error"
+    pm:ofActivity activity_1
+    object_diagram:inModel model
+    pm:ctrlFrom activity_3_port_3 // 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_1_port_4 : pm:DataOutputPort [
+  ci activity_1_port_5 : pm:DataOutputPort [
     pm:hasName "dout"
     pm:ofActivity activity_1
     object_diagram:inModel model
@@ -112,7 +119,7 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_pm#> as sprin
   ]
   
 
-  ci activity_1_port_3 : pm:DataInputPort [
+  ci activity_1_port_4 : pm:DataInputPort [
     pm:hasName "din"
     pm:ofActivity activity_1
     object_diagram:inModel model
@@ -137,7 +144,7 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_pm#> as sprin
     pm:hasName "cin"
     pm:ofActivity activity_2
     object_diagram:inModel model
-    pm:ctrlFrom 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
+    pm:ctrlFrom activity_1_port_3 // 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
   ]
   
 
@@ -156,24 +163,32 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_pm#> as sprin
     pm:dataFrom artifact_1 // 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_3 : pm:Activity [
+  ci activity_3 : pm:AutomatedActivity [
     pm:hasName "checkRes"
     pm:isTransformation ftg_instance:t_ValidateCBDSimulationResults
+    pm:hasTimeout 5000
     object_diagram:inModel model
   ]
 
   ci activity_3_port_1 : pm:CtrlOutputPort [
+    pm:hasName "notOk"
+    pm:ofActivity activity_3
+    object_diagram:inModel model
+    pm:ctrlTo activity_1_port_1 // 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_3_port_2 : pm:CtrlOutputPort [
     pm:hasName "ok"
     pm:ofActivity activity_3
     object_diagram:inModel model
     pm:ctrlTo final // 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_3_port_2 : pm:CtrlOutputPort [
-    pm:hasName "notOk"
+  ci activity_3_port_3 : pm:CtrlOutputPort [
+    pm:hasName "error"
     pm:ofActivity activity_3
     object_diagram:inModel model
-    pm:ctrlTo activity_1_port_1 // 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
+    pm:ctrlTo 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
   ]
   
 
@@ -186,7 +201,7 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_pm#> as sprin
   
   
 
-  ci activity_3_port_3 : pm:DataInputPort [
+  ci activity_3_port_4 : pm:DataInputPort [
     pm:hasName "din"
     pm:ofActivity activity_3
     object_diagram:inModel model
@@ -206,7 +221,7 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_pm#> as sprin
   ]
 
   ri ctrl_flow_2 : pm:CtrlFlow [
-    from activity_1_port_2
+    from activity_1_port_3
     to activity_2_port_0
     object_diagram:inModel model
   ]
@@ -219,19 +234,25 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_pm#> as sprin
 
   ri ctrl_flow_4 : pm:CtrlFlow [
     from activity_3_port_1
-    to final
+    to activity_1_port_1
     object_diagram:inModel model
   ]
 
   ri ctrl_flow_5 : pm:CtrlFlow [
     from activity_3_port_2
-    to activity_1_port_1
+    to final
+    object_diagram:inModel model
+  ]
+
+  ri ctrl_flow_6 : pm:CtrlFlow [
+    from activity_3_port_3
+    to activity_1_port_2
     object_diagram:inModel model
   ]
 
   ri data_flow_0 : pm:DataFlow [
     from artifact_0
-    to activity_1_port_3
+    to activity_1_port_4
     object_diagram:inModel model
   ]
 
@@ -248,14 +269,14 @@ description <http://ua.be/sdo2l/description/artifacts/springDamper_pm#> as sprin
   ]
 
   ri data_flow_3 : pm:DataFlow [
-    from activity_1_port_4
+    from activity_1_port_5
     to artifact_1
     object_diagram:inModel model
   ]
 
   ri data_flow_4 : pm:DataFlow [
     from artifact_2
-    to activity_3_port_3
+    to activity_3_port_4
     object_diagram:inModel model
   ]
 

+ 3 - 0
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/description/bundle.oml

@@ -11,6 +11,7 @@ description bundle <http://ua.be/sdo2l/description/bundle#> as ^bundle {
   includes <http://ua.be/sdo2l/description/artifacts/MyPM_drawio#>
   includes <http://ua.be/sdo2l/description/artifacts/operations#>
   includes <http://ua.be/sdo2l/description/artifacts/springDamper_pm#>
+  includes <http://ua.be/sdo2l/description/artifacts/octiva_pm#>
   includes <http://ua.be/sdo2l/description/artifacts/FTG_corr#>
   includes <http://ua.be/sdo2l/description/artifacts/EarlyDesignSketching_drawio#>
   includes <http://ua.be/sdo2l/description/artifacts/traceabilityLinks#>
@@ -20,10 +21,12 @@ description bundle <http://ua.be/sdo2l/description/bundle#> as ^bundle {
   includes <http://ua.be/sdo2l/description/artifacts/MinimalPM_corr#>
   includes <http://ua.be/sdo2l/description/artifacts/EarlyDesignSketching_pm#>
   includes <http://ua.be/sdo2l/description/artifacts/RecPM_corr#>
+  includes <http://ua.be/sdo2l/description/artifacts/octiva_drawio#>
   includes <http://ua.be/sdo2l/description/artifacts/imabox_drawio#>
   includes <http://ua.be/sdo2l/description/artifacts/FTG_ftg#>
   includes <http://ua.be/sdo2l/description/artifacts/MinimalPM_drawio#>
   includes <http://ua.be/sdo2l/description/artifacts/RecPM_drawio#>
+  includes <http://ua.be/sdo2l/description/artifacts/octiva_corr#>
   includes <http://ua.be/sdo2l/description/artifacts/MyPM_pm#>
   includes <http://ua.be/sdo2l/description/artifacts/example_xopp#>
 }

Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/files/drawio/FTG:ftg


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/files/drawio/springDamper:pm


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

@@ -100,9 +100,7 @@ vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm {
 	concept Initial :> element, CtrlSource [
 		restricts relation ctrlTo to exactly 1
 	]
-	concept Final :> element, CtrlSink [
-		restricts relation ctrlFrom to exactly 1
-	]
+	concept Final :> element, CtrlSink 
 	
 	concept Artifact :> element, Named, DataSource, DataSink [
 		// an artifact must come from somewhere :)