|
@@ -68,26 +68,13 @@ class TestModelverseCore(unittest.TestCase):
|
|
|
instantiate("Empty", "Class", ID="B")
|
|
|
assert element_list("Empty") == set([("B", "Class")])
|
|
|
|
|
|
- def test_transform_add_MT_language(self):
|
|
|
+ def test_transform_add_MT(self):
|
|
|
model_add("PetriNet", "SimpleClassDiagrams", open("integration/code/petrinets.mvc", "r").read())
|
|
|
assert model_list() == set(list(expected_model_list) + [("PetriNet", "SimpleClassDiagrams")])
|
|
|
- transformation_add_MT_language(["PetriNet"], "PetriNet_RAM")
|
|
|
+ transformation_add_MT({"PetriNet": "PetriNet"}, {}, "print_pn", open("integration/code/pn_print.mvc").read())
|
|
|
assert model_list() == set(list(expected_model_list) + [("PetriNet", "SimpleClassDiagrams"),
|
|
|
- ("PetriNet_RAM", "SimpleClassDiagrams"),
|
|
|
- ("__merged_PetriNet_RAM", "SimpleClassDiagrams")])
|
|
|
-
|
|
|
- def test_transform_add_MT_instance(self):
|
|
|
- model_add("PetriNet", "SimpleClassDiagrams", open("integration/code/petrinets.mvc", "r").read())
|
|
|
- assert model_list() == set(list(expected_model_list) + [("PetriNet", "SimpleClassDiagrams")])
|
|
|
- transformation_add_MT_language(["PetriNet"], "PetriNet_RAM")
|
|
|
- assert model_list() == set(list(expected_model_list) + [("PetriNet", "SimpleClassDiagrams"),
|
|
|
- ("PetriNet_RAM", "SimpleClassDiagrams"),
|
|
|
- ("__merged_PetriNet_RAM", "SimpleClassDiagrams")])
|
|
|
- transformation_add_MT("PetriNet_RAM", {"PetriNet": "PetriNet"}, {}, "print_pn", open("integration/code/pn_print.mvc").read())
|
|
|
- assert model_list() == set(list(expected_model_list) + [("PetriNet", "SimpleClassDiagrams"),
|
|
|
- ("PetriNet_RAM", "SimpleClassDiagrams"),
|
|
|
- ("__merged_PetriNet_RAM", "SimpleClassDiagrams"),
|
|
|
- ("print_pn", "PetriNet_RAM")])
|
|
|
+ ("__RAM_print_pn", "SimpleClassDiagrams"),
|
|
|
+ ("print_pn", "__RAM_print_pn")])
|
|
|
assert transformation_list() == set([("ModelTransformation", "print_pn")])
|
|
|
|
|
|
def test_transform_add_MT_pn_print_exec(self):
|
|
@@ -100,17 +87,11 @@ class TestModelverseCore(unittest.TestCase):
|
|
|
model_add("my_pn", "PetriNet", open("integration/code/pn_runtime_model.mvc", "r").read())
|
|
|
assert model_list() == set(list(expected_model_list) + [("PetriNet", "SimpleClassDiagrams"),
|
|
|
("my_pn", "PetriNet")])
|
|
|
- transformation_add_MT_language(["PetriNet"], "PetriNet_RAM")
|
|
|
- assert model_list() == set(list(expected_model_list) + [("PetriNet", "SimpleClassDiagrams"),
|
|
|
- ("my_pn", "PetriNet"),
|
|
|
- ("PetriNet_RAM", "SimpleClassDiagrams"),
|
|
|
- ("__merged_PetriNet_RAM", "SimpleClassDiagrams")])
|
|
|
- transformation_add_MT("PetriNet_RAM", {"PetriNet": "PetriNet"}, {}, "print_pn", open("integration/code/pn_print.mvc").read())
|
|
|
+ transformation_add_MT({"PetriNet": "PetriNet"}, {}, "print_pn", open("integration/code/pn_print.mvc").read())
|
|
|
assert model_list() == set(list(expected_model_list) + [("PetriNet", "SimpleClassDiagrams"),
|
|
|
("my_pn", "PetriNet"),
|
|
|
- ("PetriNet_RAM", "SimpleClassDiagrams"),
|
|
|
- ("__merged_PetriNet_RAM", "SimpleClassDiagrams"),
|
|
|
- ("print_pn", "PetriNet_RAM")])
|
|
|
+ ("__RAM_print_pn", "SimpleClassDiagrams"),
|
|
|
+ ("print_pn", "__RAM_print_pn")])
|
|
|
assert transformation_list() == set([("ModelTransformation", "print_pn")])
|
|
|
assert transformation_execute_MT("print_pn", {"PetriNet": "my_pn"}, {}, callback) == True
|
|
|
|
|
@@ -142,17 +123,18 @@ class TestModelverseCore(unittest.TestCase):
|
|
|
|
|
|
model_add("my_pn", "PetriNet", open("integration/code/pn_design_model.mvc", "r").read())
|
|
|
|
|
|
- transformation_add_MT_language(["PetriNet", "PetriNet_Runtime"], "PetriNet_RAM")
|
|
|
- instantiate("__merged_PetriNet_RAM", "Association", ("PetriNet/Place", "PetriNet_Runtime/Place"), ID="D2R_PlaceLink")
|
|
|
- instantiate("__merged_PetriNet_RAM", "Association", ("PetriNet/Transition", "PetriNet_Runtime/Transition"), ID="D2R_TransitionLink")
|
|
|
- instantiate("__merged_PetriNet_RAM", "Association", ("PetriNet_Runtime/Place", "PetriNet/Place"), ID="R2D_PlaceLink")
|
|
|
- instantiate("__merged_PetriNet_RAM", "Association", ("PetriNet_Runtime/Transition", "PetriNet/Transition"), ID="R2D_TransitionLink")
|
|
|
- transformation_RAMify("__merged_PetriNet_RAM", "PetriNet_RAM")
|
|
|
+ def add_tracability_D2R():
|
|
|
+ instantiate(None, "Association", ("PetriNet/Place", "PetriNet_Runtime/Place"), ID="D2R_PlaceLink")
|
|
|
+ instantiate(None, "Association", ("PetriNet/Transition", "PetriNet_Runtime/Transition"), ID="D2R_TransitionLink")
|
|
|
+
|
|
|
+ def add_tracability_R2D():
|
|
|
+ instantiate(None, "Association", ("PetriNet_Runtime/Place", "PetriNet/Place"), ID="R2D_PlaceLink")
|
|
|
+ instantiate(None, "Association", ("PetriNet_Runtime/Transition", "PetriNet/Transition"), ID="R2D_TransitionLink")
|
|
|
|
|
|
transformation_add_MT("PetriNet_RAM", {"PetriNet": "PetriNet"}, {}, "print_pn", open("integration/code/pn_print.mvc").read())
|
|
|
- transformation_add_MT("PetriNet_RAM", {"PetriNet": "PetriNet"}, {"PetriNet_Runtime": "PetriNet_Runtime"}, "pn_design_to_runtime", open("integration/code/pn_design_to_runtime.mvc").read())
|
|
|
+ transformation_add_MT("PetriNet_RAM", {"PetriNet": "PetriNet"}, {"PetriNet_Runtime": "PetriNet_Runtime"}, "pn_design_to_runtime", open("integration/code/pn_design_to_runtime.mvc").read(), add_tracability_D2R)
|
|
|
transformation_add_MT("PetriNet_RAM", {"PetriNet_Runtime": "PetriNet_Runtime"}, {"PetriNet_Runtime": "PetriNet_Runtime"}, "pn_simulate", open("integration/code/pn_simulate.mvc").read())
|
|
|
- transformation_add_MT("PetriNet_RAM", {"PetriNet_Runtime": "PetriNet_Runtime"}, {"PetriNet": "PetriNet"}, "pn_runtime_to_design", open("integration/code/pn_runtime_to_design.mvc").read())
|
|
|
+ transformation_add_MT("PetriNet_RAM", {"PetriNet_Runtime": "PetriNet_Runtime"}, {"PetriNet": "PetriNet"}, "pn_runtime_to_design", open("integration/code/pn_runtime_to_design.mvc").read(), add_tracability_R2D)
|
|
|
|
|
|
log = []
|
|
|
assert transformation_execute_MT("print_pn", {"PetriNet": "my_pn"}, {}, callback) == True
|
|
@@ -181,17 +163,18 @@ class TestModelverseCore(unittest.TestCase):
|
|
|
|
|
|
model_add("my_pn", "PetriNet", open("integration/code/pn_design_model.mvc", "r").read())
|
|
|
|
|
|
- transformation_add_MT_language(["PetriNet", "PetriNet_Runtime"], "PetriNet_RAM")
|
|
|
- instantiate("__merged_PetriNet_RAM", "Association", ("PetriNet/Place", "PetriNet_Runtime/Place"), ID="D2R_PlaceLink")
|
|
|
- instantiate("__merged_PetriNet_RAM", "Association", ("PetriNet/Transition", "PetriNet_Runtime/Transition"), ID="D2R_TransitionLink")
|
|
|
- instantiate("__merged_PetriNet_RAM", "Association", ("PetriNet_Runtime/Place", "PetriNet/Place"), ID="R2D_PlaceLink")
|
|
|
- instantiate("__merged_PetriNet_RAM", "Association", ("PetriNet_Runtime/Transition", "PetriNet/Transition"), ID="R2D_TransitionLink")
|
|
|
- transformation_RAMify("__merged_PetriNet_RAM", "PetriNet_RAM")
|
|
|
+ def add_tracability_D2R():
|
|
|
+ instantiate(None, "Association", ("PetriNet/Place", "PetriNet_Runtime/Place"), ID="D2R_PlaceLink")
|
|
|
+ instantiate(None, "Association", ("PetriNet/Transition", "PetriNet_Runtime/Transition"), ID="D2R_TransitionLink")
|
|
|
|
|
|
- transformation_add_MT("PetriNet_RAM", {"PetriNet": "PetriNet"}, {}, "print_pn", open("integration/code/pn_print.mvc").read())
|
|
|
- transformation_add_MT("PetriNet_RAM", {"PetriNet": "PetriNet"}, {"PetriNet_Runtime": "PetriNet_Runtime"}, "pn_design_to_runtime", open("integration/code/pn_design_to_runtime.mvc").read())
|
|
|
+ def add_tracability_R2D():
|
|
|
+ instantiate(None, "Association", ("PetriNet_Runtime/Place", "PetriNet/Place"), ID="R2D_PlaceLink")
|
|
|
+ instantiate(None, "Association", ("PetriNet_Runtime/Transition", "PetriNet/Transition"), ID="R2D_TransitionLink")
|
|
|
+
|
|
|
+ transformation_add_MT({"PetriNet": "PetriNet"}, {}, "print_pn", open("integration/code/pn_print.mvc").read())
|
|
|
+ transformation_add_MT({"PetriNet": "PetriNet"}, {"PetriNet_Runtime": "PetriNet_Runtime"}, "pn_design_to_runtime", open("integration/code/pn_design_to_runtime.mvc").read(), add_tracability_D2R)
|
|
|
transformation_add_AL({"PetriNet_Runtime": "PetriNet_Runtime"}, {"PetriNet_Runtime": "PetriNet_Runtime"}, "pn_simulate", open("integration/code/pn_simulate.alc").read())
|
|
|
- transformation_add_MT("PetriNet_RAM", {"PetriNet_Runtime": "PetriNet_Runtime"}, {"PetriNet": "PetriNet"}, "pn_runtime_to_design", open("integration/code/pn_runtime_to_design.mvc").read())
|
|
|
+ transformation_add_MT({"PetriNet_Runtime": "PetriNet_Runtime"}, {"PetriNet": "PetriNet"}, "pn_runtime_to_design", open("integration/code/pn_runtime_to_design.mvc").read(), add_tracability_R2D)
|
|
|
|
|
|
log = []
|
|
|
assert transformation_execute_MT("print_pn", {"PetriNet": "my_pn"}, {}, callback) == True
|
|
@@ -240,17 +223,18 @@ class TestModelverseCore(unittest.TestCase):
|
|
|
|
|
|
model_add("my_pn", "PetriNet", open("integration/code/pn_design_model.mvc", "r").read())
|
|
|
|
|
|
- transformation_add_MT_language(["PetriNet", "PetriNet_Runtime"], "PetriNet_RAM")
|
|
|
- instantiate("__merged_PetriNet_RAM", "Association", ("PetriNet/Place", "PetriNet_Runtime/Place"), ID="D2R_PlaceLink")
|
|
|
- instantiate("__merged_PetriNet_RAM", "Association", ("PetriNet/Transition", "PetriNet_Runtime/Transition"), ID="D2R_TransitionLink")
|
|
|
- instantiate("__merged_PetriNet_RAM", "Association", ("PetriNet_Runtime/Place", "PetriNet/Place"), ID="R2D_PlaceLink")
|
|
|
- instantiate("__merged_PetriNet_RAM", "Association", ("PetriNet_Runtime/Transition", "PetriNet/Transition"), ID="R2D_TransitionLink")
|
|
|
- transformation_RAMify("__merged_PetriNet_RAM", "PetriNet_RAM")
|
|
|
+ def add_tracability_D2R():
|
|
|
+ instantiate(None, "Association", ("PetriNet/Place", "PetriNet_Runtime/Place"), ID="D2R_PlaceLink")
|
|
|
+ instantiate(None, "Association", ("PetriNet/Transition", "PetriNet_Runtime/Transition"), ID="D2R_TransitionLink")
|
|
|
|
|
|
- transformation_add_MT("PetriNet_RAM", {"PetriNet": "PetriNet"}, {}, "print_pn", open("integration/code/pn_print.mvc").read())
|
|
|
- transformation_add_MANUAL({"PetriNet": "PetriNet"}, {"PetriNet_Runtime": "PetriNet_Runtime"}, "pn_design_to_runtime")
|
|
|
+ def add_tracability_R2D():
|
|
|
+ instantiate(None, "Association", ("PetriNet_Runtime/Place", "PetriNet/Place"), ID="R2D_PlaceLink")
|
|
|
+ instantiate(None, "Association", ("PetriNet_Runtime/Transition", "PetriNet/Transition"), ID="R2D_TransitionLink")
|
|
|
+
|
|
|
+ transformation_add_MT({"PetriNet": "PetriNet"}, {}, "print_pn", open("integration/code/pn_print.mvc").read())
|
|
|
+ transformation_add_MANUAL({"PetriNet": "PetriNet"}, {"PetriNet_Runtime": "PetriNet_Runtime"}, "pn_design_to_runtime", add_tracability_D2R)
|
|
|
transformation_add_AL({"PetriNet_Runtime": "PetriNet_Runtime"}, {"PetriNet_Runtime": "PetriNet_Runtime"}, "pn_simulate", open("integration/code/pn_simulate.alc").read())
|
|
|
- transformation_add_MT("PetriNet_RAM", {"PetriNet_Runtime": "PetriNet_Runtime"}, {"PetriNet": "PetriNet"}, "pn_runtime_to_design", open("integration/code/pn_runtime_to_design.mvc").read())
|
|
|
+ transformation_add_MT({"PetriNet_Runtime": "PetriNet_Runtime"}, {"PetriNet": "PetriNet"}, "pn_runtime_to_design", open("integration/code/pn_runtime_to_design.mvc").read(), add_tracability_R2D)
|
|
|
|
|
|
log = []
|
|
|
assert transformation_execute_MT("print_pn", {"PetriNet": "my_pn"}, {}, callback) == True
|
|
@@ -272,12 +256,10 @@ class TestModelverseCore(unittest.TestCase):
|
|
|
model_add("PetriNet", "SimpleClassDiagrams", open("integration/code/pn_design.mvc", "r").read())
|
|
|
model_add("ReachabilityGraph", "SimpleClassDiagrams", open("integration/code/reachability_graph.mvc", "r").read())
|
|
|
model_add("pn_reachability", "ProcessModel", open("integration/code/pm_pn_reachability.mvc", "r").read())
|
|
|
- transformation_add_MT_language(["PetriNet"], "PetriNet_RAM")
|
|
|
- transformation_add_MT_language(["ReachabilityGraph"], "ReachabilityGraph_RAM")
|
|
|
- transformation_add_MT("PetriNet_RAM", {}, {"PetriNet": "PetriNet"}, "initialize_PN", open("integration/code/initialize_PN.mvc", "r").read())
|
|
|
+ transformation_add_MT({}, {"PetriNet": "PetriNet"}, "initialize_PN", open("integration/code/initialize_PN.mvc", "r").read())
|
|
|
transformation_add_MANUAL({"PetriNet": "PetriNet"}, {"PetriNet": "PetriNet"}, "refine_PN")
|
|
|
transformation_add_AL({"PetriNet": "PetriNet"}, {"ReachabilityGraph": "ReachabilityGraph"}, "reachability", open("integration/code/reachability.alc", "r").read())
|
|
|
- transformation_add_MT("ReachabilityGraph_RAM", {"ReachabilityGraph": "ReachabilityGraph"}, {}, "reachability_print", open("integration/code/reachabilitygraph_print.mvc", 'r').read())
|
|
|
+ transformation_add_MT({"ReachabilityGraph": "ReachabilityGraph"}, {}, "reachability_print", open("integration/code/reachabilitygraph_print.mvc", 'r').read())
|
|
|
|
|
|
def callback_refine_PN():
|
|
|
p1 = instantiate(None, "PetriNet/Place")
|
|
@@ -304,12 +286,10 @@ class TestModelverseCore(unittest.TestCase):
|
|
|
model_add("PetriNet", "SimpleClassDiagrams", open("integration/code/pn_design.mvc", "r").read())
|
|
|
model_add("ReachabilityGraph", "SimpleClassDiagrams", open("integration/code/reachability_graph.mvc", "r").read())
|
|
|
model_add("pn_reachability", "ProcessModel", open("integration/code/pm_pn_reachability.mvc", "r").read())
|
|
|
- transformation_add_MT_language(["PetriNet"], "PetriNet_RAM")
|
|
|
- transformation_add_MT_language(["ReachabilityGraph"], "ReachabilityGraph_RAM")
|
|
|
- transformation_add_MT("PetriNet_RAM", {}, {"PetriNet": "PetriNet"}, "initialize_PN", open("integration/code/initialize_PN.mvc", "r").read())
|
|
|
+ transformation_add_MT({}, {"PetriNet": "PetriNet"}, "initialize_PN", open("integration/code/initialize_PN.mvc", "r").read())
|
|
|
transformation_add_MANUAL({"PetriNet": "PetriNet"}, {"PetriNet": "PetriNet"}, "refine_PN")
|
|
|
transformation_add_AL({"PetriNet": "PetriNet"}, {"ReachabilityGraph": "ReachabilityGraph"}, "reachability", open("integration/code/reachability_subfunction.alc", "r").read())
|
|
|
- transformation_add_MT("ReachabilityGraph_RAM", {"ReachabilityGraph": "ReachabilityGraph"}, {}, "reachability_print", open("integration/code/reachabilitygraph_print.mvc", 'r').read())
|
|
|
+ transformation_add_MT({"ReachabilityGraph": "ReachabilityGraph"}, {}, "reachability_print", open("integration/code/reachabilitygraph_print.mvc", 'r').read())
|
|
|
|
|
|
def callback_refine_PN():
|
|
|
p1 = instantiate(None, "PetriNet/Place")
|
|
@@ -332,14 +312,15 @@ class TestModelverseCore(unittest.TestCase):
|
|
|
'"1": {"p1": 0, }',
|
|
|
'"0" --["t1"]--> "1"'])
|
|
|
|
|
|
+ """
|
|
|
def test_render(self):
|
|
|
model_add("CausalBlockDiagrams", "SimpleClassDiagrams", open("integration/code/cbd_design.mvc", 'r').read())
|
|
|
model_add("MM_rendered_graphical", "SimpleClassDiagrams", open("models/MM_rendered_graphical.mvc", 'r').read())
|
|
|
model_add("my_CBD", "CausalBlockDiagrams", open("integration/code/my_cbd.mvc", 'r').read())
|
|
|
|
|
|
- transformation_add_MT_language(["CausalBlockDiagrams", "MM_rendered_graphical"], "CBD_RAM")
|
|
|
- instantiate("__merged_CBD_RAM", "Association", ("CausalBlockDiagrams/Block", "MM_rendered_graphical/Group"), ID="TracabilityLink")
|
|
|
- transformation_RAMify("__merged_CBD_RAM", "CBD_RAM")
|
|
|
+ def add_tracability():
|
|
|
+ instantiate(None, "Association", ("CausalBlockDiagrams/Block", "MM_rendered_graphical/Group"), ID="TracabilityLink")
|
|
|
|
|
|
- transformation_add_MT("CBD_RAM", {"CausalBlockDiagrams": "CausalBlockDiagrams", "MM_rendered_graphical": "MM_rendered_graphical"}, {"MM_rendered_graphical": "MM_rendered_graphical"}, "render_graphical_CBD", open("models/CBD_mapper.mvc", 'r').read())
|
|
|
+ transformation_add_MT({"CausalBlockDiagrams": "CausalBlockDiagrams", "MM_rendered_graphical": "MM_rendered_graphical"}, {"MM_rendered_graphical": "MM_rendered_graphical"}, "render_graphical_CBD", open("models/CBD_mapper.mvc", 'r').read(), add_tracability)
|
|
|
model_render("my_CBD", "render_graphical_CBD")
|
|
|
+ """
|