Pārlūkot izejas kodu

Updated powerwindow test for hierarchy as well

Yentl Van Tendeloo 8 gadi atpakaļ
vecāks
revīzija
eef64b29ea

+ 4 - 1
bootstrap/core_algorithm.alc

@@ -34,7 +34,10 @@ String function full_name(model_id : String):
 		parent = set_pop(incoming)
 		parent_name = full_name(parent)
 		//dict_add(caches["full_name"], parent, parent_name)
-		return string_join(parent_name + "/", read_attribute(core, model_id, "name"))!
+		if (parent_name == ""):
+			return read_attribute(core, model_id, "name")!
+		else:
+			return string_join(parent_name + "/", read_attribute(core, model_id, "name"))!
 	else:
 		return ""!
 

+ 68 - 156
integration/test_powerwindow.py

@@ -16,68 +16,24 @@ class TestPowerWindow(unittest.TestCase):
         kill(self.proc)
 
     def test_process_powerwindow_fast(self):
-        model_add("ReachabilityGraph", "SimpleClassDiagrams", open("models/reachability_graph.mvc", "r").read())
-        model_add("PetriNet", "SimpleClassDiagrams", open("integration/code/pn_design.mvc", 'r').read())
-        model_add("Encapsulated_PetriNet", "SimpleClassDiagrams", open("models/petrinet_ports.mvc", 'r').read())
-
-        model_add("PW_Plant", "SimpleClassDiagrams", open("models/plant_PW.mvc", 'r').read())
-        model_add("PW_Environment", "SimpleClassDiagrams", open("models/environment_PW.mvc", 'r').read())
-        model_add("PW_Control", "SimpleClassDiagrams", open("models/control_PW.mvc", 'r').read())
-        model_add("Requirements", "SimpleClassDiagrams", open("models/requirements.mvc", 'r').read())
-        model_add("Query", "SimpleClassDiagrams", open("models/query.mvc", 'r').read())
-        model_add("Architecture", "SimpleClassDiagrams", open("models/architecture.mvc", 'r').read())
-
-        model_add("pm_powerwindow", "ProcessModel", open("models/pm_req_analyse.mvc", 'r').read())
-
-        assert model_list() == set([\
-                ("ReachabilityGraph", "SimpleClassDiagrams"),
-                ("PetriNet", "SimpleClassDiagrams"),
-                ("Encapsulated_PetriNet", "SimpleClassDiagrams"),
-                ("PW_Plant", "SimpleClassDiagrams"),
-                ("PW_Environment", "SimpleClassDiagrams"),
-                ("PW_Control", "SimpleClassDiagrams"),
-                ("Requirements", "SimpleClassDiagrams"),
-                ("Query", "SimpleClassDiagrams"),
-                ("Architecture", "SimpleClassDiagrams"),
-                ("pm_powerwindow", "ProcessModel"),
-                ("SimpleClassDiagrams", "SimpleClassDiagrams"),
-                ("TypeMapping", "SimpleClassDiagrams"),
-                ("CoreFormalism", "SimpleClassDiagrams"),
-                ("ManualOperation", "SimpleClassDiagrams"),
-                ("bottom", "SimpleClassDiagrams"),
-                ("ActionLanguage", "SimpleClassDiagrams"),
-                ("ProcessModel", "SimpleClassDiagrams"),
-                ("Tracability", "SimpleClassDiagrams"),
-                ("conformance_mv", "ActionLanguage"),
-                ("core", "CoreFormalism"),
-                ("TM_ReachabilityGraph", "TypeMapping"),
-                ("TM_PetriNet", "TypeMapping"),
-                ("TM_Encapsulated_PetriNet", "TypeMapping"),
-                ("TM_PW_Plant", "TypeMapping"),
-                ("TM_PW_Environment", "TypeMapping"),
-                ("TM_PW_Control", "TypeMapping"),
-                ("TM_Requirements", "TypeMapping"),
-                ("TM_Query", "TypeMapping"),
-                ("TM_Architecture", "TypeMapping"),
-                ("TM_pm_powerwindow", "TypeMapping"),
-                ("TM_SimpleClassDiagrams", "TypeMapping"),
-                ("TM_TypeMapping", "TypeMapping"),
-                ("TM_CoreFormalism", "TypeMapping"),
-                ("TM_ManualOperation", "TypeMapping"),
-                ("TM_bottom", "TypeMapping"),
-                ("TM_ActionLanguage", "TypeMapping"),
-                ("TM_ProcessModel", "TypeMapping"),
-                ("TM_Tracability", "TypeMapping"),
-                ("TM_conformance_mv", "TypeMapping"),
-                ("TM_core", "TypeMapping"),
-            ])
-
-        transformation_add_MANUAL({"Requirements": "Requirements"}, {"Requirements": "Requirements"}, "revise_req")
-        transformation_add_MANUAL({"Requirements": "Requirements", "PW_Environment": "PW_Environment"}, {"PW_Environment": "PW_Environment"}, "revise_environment")
-        transformation_add_MANUAL({"Requirements": "Requirements", "PW_Plant": "PW_Plant"}, {"PW_Plant": "PW_Plant"}, "revise_plant")
-        transformation_add_MANUAL({"Requirements": "Requirements", "PW_Control": "PW_Control"}, {"PW_Control": "PW_Control"}, "revise_control")
-        transformation_add_MANUAL({"Requirements": "Requirements", "Query": "Query"}, {"Query": "Query"}, "revise_query")
-        transformation_add_MANUAL({"Requirements": "Requirements", "Architecture": "Architecture"}, {"Architecture": "Architecture"}, "revise_architecture")
+        model_add("formalisms/ReachabilityGraph", "formalisms/SimpleClassDiagrams", open("models/reachability_graph.mvc", "r").read())
+        model_add("formalisms/PetriNet", "formalisms/SimpleClassDiagrams", open("integration/code/pn_design.mvc", 'r').read())
+        model_add("formalisms/Encapsulated_PetriNet", "formalisms/SimpleClassDiagrams", open("models/petrinet_ports.mvc", 'r').read())
+        model_add("formalisms/PW_Plant", "formalisms/SimpleClassDiagrams", open("models/plant_PW.mvc", 'r').read())
+        model_add("formalisms/PW_Environment", "formalisms/SimpleClassDiagrams", open("models/environment_PW.mvc", 'r').read())
+        model_add("formalisms/PW_Control", "formalisms/SimpleClassDiagrams", open("models/control_PW.mvc", 'r').read())
+        model_add("formalisms/Requirements", "formalisms/SimpleClassDiagrams", open("models/requirements.mvc", 'r').read())
+        model_add("formalisms/Query", "formalisms/SimpleClassDiagrams", open("models/query.mvc", 'r').read())
+        model_add("formalisms/Architecture", "formalisms/SimpleClassDiagrams", open("models/architecture.mvc", 'r').read())
+
+        model_add("models/pm_powerwindow", "formalisms/ProcessModel", open("models/pm_req_analyse.mvc", 'r').read())
+
+        transformation_add_MANUAL({"Requirements": "formalisms/Requirements"}, {"Requirements": "formalisms/Requirements"}, "models/revise_req")
+        transformation_add_MANUAL({"Requirements": "formalisms/Requirements", "PW_Environment": "formalisms/PW_Environment"}, {"PW_Environment": "formalisms/PW_Environment"}, "models/revise_environment")
+        transformation_add_MANUAL({"Requirements": "formalisms/Requirements", "PW_Plant": "formalisms/PW_Plant"}, {"PW_Plant": "formalisms/PW_Plant"}, "models/revise_plant")
+        transformation_add_MANUAL({"Requirements": "formalisms/Requirements", "PW_Control": "formalisms/PW_Control"}, {"PW_Control": "formalisms/PW_Control"}, "models/revise_control")
+        transformation_add_MANUAL({"Requirements": "formalisms/Requirements", "Query": "formalisms/Query"}, {"Query": "formalisms/Query"}, "models/revise_query")
+        transformation_add_MANUAL({"Requirements": "formalisms/Requirements", "Architecture": "formalisms/Architecture"}, {"Architecture": "formalisms/Architecture"}, "models/revise_architecture")
 
         def tracability_CTRL2EPN():
             instantiate(None, "Association", ("PW_Control/State", "Encapsulated_PetriNet/Place"), ID="CTRL2EPN_link")
@@ -94,16 +50,16 @@ class TestPowerWindow(unittest.TestCase):
             instantiate(None, "Association", ("Encapsulated_PetriNet/Place", "PetriNet/Place"), ID="EPN2PN_transition_link")
             instantiate(None, "Association", ("Encapsulated_PetriNet/Transition", "PetriNet/Transition"), ID="EPN2PN_place_link")
 
-        transformation_add_MT({}, {"PW_Plant": "PW_Plant", "PW_Environment": "PW_Environment", "PW_Control": "PW_Control", "Query": "Query", "Architecture": "Architecture", "Requirements": "Requirements"}, "make_initial_models", open("models/initialize.mvc", 'r').read())
-        transformation_add_MT({"PW_Plant": "PW_Plant"}, {"Encapsulated_PetriNet": "Encapsulated_PetriNet"}, "plant_to_EPN", open("models/plant_to_EPN.mvc", 'r').read(), tracability_PLANT2EPN)
-        transformation_add_MT({"PW_Control": "PW_Control"}, {"Encapsulated_PetriNet": "Encapsulated_PetriNet"}, "control_to_EPN", open("models/control_to_EPN.mvc", 'r').read(), tracability_CTRL2EPN)
-        transformation_add_MT({"PW_Environment": "PW_Environment"}, {"Encapsulated_PetriNet": "Encapsulated_PetriNet"}, "environment_to_EPN", open("models/environment_to_EPN.mvc", 'r').read(), tracability_ENV2EPN)
-        transformation_add_MT({"Encapsulated_PetriNet": "Encapsulated_PetriNet", "Architecture": "Architecture"}, {"PetriNet": "PetriNet"}, "combine_EPN", open("models/combine_EPN.mvc", 'r').read(), tracability_EPN2PN)
-        transformation_add_MT({"ReachabilityGraph": "ReachabilityGraph", "Query": "Query"}, {}, "match", open("models/matches.mvc", 'r').read())
+        transformation_add_MT({}, {"PW_Plant": "formalisms/PW_Plant", "PW_Environment": "formalisms/PW_Environment", "PW_Control": "formalisms/PW_Control", "Query": "formalisms/Query", "Architecture": "formalisms/Architecture", "Requirements": "formalisms/Requirements"}, "models/make_initial_models", open("models/initialize.mvc", 'r').read())
+        transformation_add_MT({"PW_Plant": "formalisms/PW_Plant"}, {"Encapsulated_PetriNet": "formalisms/Encapsulated_PetriNet"}, "models/plant_to_EPN", open("models/plant_to_EPN.mvc", 'r').read(), tracability_PLANT2EPN)
+        transformation_add_MT({"PW_Control": "formalisms/PW_Control"}, {"Encapsulated_PetriNet": "formalisms/Encapsulated_PetriNet"}, "models/control_to_EPN", open("models/control_to_EPN.mvc", 'r').read(), tracability_CTRL2EPN)
+        transformation_add_MT({"PW_Environment": "formalisms/PW_Environment"}, {"Encapsulated_PetriNet": "formalisms/Encapsulated_PetriNet"}, "models/environment_to_EPN", open("models/environment_to_EPN.mvc", 'r').read(), tracability_ENV2EPN)
+        transformation_add_MT({"Encapsulated_PetriNet": "formalisms/Encapsulated_PetriNet", "Architecture": "formalisms/Architecture"}, {"PetriNet": "formalisms/PetriNet"}, "models/combine_EPN", open("models/combine_EPN.mvc", 'r').read(), tracability_EPN2PN)
+        transformation_add_MT({"ReachabilityGraph": "formalisms/ReachabilityGraph", "Query": "formalisms/Query"}, {}, "models/match", open("models/matches.mvc", 'r').read())
 
-        transformation_add_AL({"PetriNet": "PetriNet"}, {"ReachabilityGraph": "ReachabilityGraph"}, "reachability", open("models/reachability.alc", 'r').read())
-        transformation_add_AL({"ReachabilityGraph": "ReachabilityGraph"}, {}, "bfs", open("models/bfs.alc", 'r').read())
-        transformation_add_AL({"EPN_Plant": "Encapsulated_PetriNet", "EPN_Control": "Encapsulated_PetriNet", "EPN_Environment": "Encapsulated_PetriNet"}, {"Encapsulated_PetriNet": "Encapsulated_PetriNet"}, "merge_EPN", open("models/merge_EPN.alc", 'r').read())
+        transformation_add_AL({"PetriNet": "formalisms/PetriNet"}, {"ReachabilityGraph": "formalisms/ReachabilityGraph"}, "models/reachability", open("models/reachability.alc", 'r').read())
+        transformation_add_AL({"ReachabilityGraph": "formalisms/ReachabilityGraph"}, {}, "models/bfs", open("models/bfs.alc", 'r').read())
+        transformation_add_AL({"EPN_Plant": "formalisms/Encapsulated_PetriNet", "EPN_Control": "formalisms/Encapsulated_PetriNet", "EPN_Environment": "formalisms/Encapsulated_PetriNet"}, {"Encapsulated_PetriNet": "formalisms/Encapsulated_PetriNet"}, "models/merge_EPN", open("models/merge_EPN.alc", 'r').read())
 
         global called
         called = 0
@@ -126,16 +82,16 @@ class TestPowerWindow(unittest.TestCase):
         cb_arch = get_function("models/architecture_model.mvc")
 
         callbacks = {
-                "revise_req": cb_req,
-                "revise_plant": cb_plant,
-                "revise_environment": cb_env,
-                "revise_control": cb_ctrl,
-                "revise_query": cb_query,
-                "revise_architecture": cb_arch,
+                "models/revise_req": cb_req,
+                "models/revise_plant": cb_plant,
+                "models/revise_environment": cb_env,
+                "models/revise_control": cb_ctrl,
+                "models/revise_query": cb_query,
+                "models/revise_architecture": cb_arch,
             }
 
         try:
-            process_execute("pm_powerwindow", "pm_", callbacks)
+            process_execute("models/pm_powerwindow", "pm_", callbacks)
         except:
             import traceback
             print(traceback.format_exc())
@@ -146,68 +102,24 @@ class TestPowerWindow(unittest.TestCase):
 
     @slow
     def test_process_powerwindow_debug(self):
-        model_add("ReachabilityGraph", "SimpleClassDiagrams", open("models/reachability_graph.mvc", "r").read())
-        model_add("PetriNet", "SimpleClassDiagrams", open("integration/code/pn_design.mvc", 'r').read())
-        model_add("Encapsulated_PetriNet", "SimpleClassDiagrams", open("models/petrinet_ports.mvc", 'r').read())
-
-        model_add("PW_Plant", "SimpleClassDiagrams", open("models/plant_PW.mvc", 'r').read())
-        model_add("PW_Environment", "SimpleClassDiagrams", open("models/environment_PW.mvc", 'r').read())
-        model_add("PW_Control", "SimpleClassDiagrams", open("models/control_PW.mvc", 'r').read())
-        model_add("Requirements", "SimpleClassDiagrams", open("models/requirements.mvc", 'r').read())
-        model_add("Query", "SimpleClassDiagrams", open("models/query.mvc", 'r').read())
-        model_add("Architecture", "SimpleClassDiagrams", open("models/architecture.mvc", 'r').read())
-
-        model_add("pm_powerwindow", "ProcessModel", open("models/pm_req_analyse.mvc", 'r').read())
-
-        assert model_list() == set([\
-                ("ReachabilityGraph", "SimpleClassDiagrams"),
-                ("PetriNet", "SimpleClassDiagrams"),
-                ("Encapsulated_PetriNet", "SimpleClassDiagrams"),
-                ("PW_Plant", "SimpleClassDiagrams"),
-                ("PW_Environment", "SimpleClassDiagrams"),
-                ("PW_Control", "SimpleClassDiagrams"),
-                ("Requirements", "SimpleClassDiagrams"),
-                ("Query", "SimpleClassDiagrams"),
-                ("Architecture", "SimpleClassDiagrams"),
-                ("pm_powerwindow", "ProcessModel"),
-                ("SimpleClassDiagrams", "SimpleClassDiagrams"),
-                ("TypeMapping", "SimpleClassDiagrams"),
-                ("CoreFormalism", "SimpleClassDiagrams"),
-                ("ManualOperation", "SimpleClassDiagrams"),
-                ("bottom", "SimpleClassDiagrams"),
-                ("ActionLanguage", "SimpleClassDiagrams"),
-                ("ProcessModel", "SimpleClassDiagrams"),
-                ("Tracability", "SimpleClassDiagrams"),
-                ("conformance_mv", "ActionLanguage"),
-                ("core", "CoreFormalism"),
-                ("TM_ReachabilityGraph", "TypeMapping"),
-                ("TM_PetriNet", "TypeMapping"),
-                ("TM_Encapsulated_PetriNet", "TypeMapping"),
-                ("TM_PW_Plant", "TypeMapping"),
-                ("TM_PW_Environment", "TypeMapping"),
-                ("TM_PW_Control", "TypeMapping"),
-                ("TM_Requirements", "TypeMapping"),
-                ("TM_Query", "TypeMapping"),
-                ("TM_Architecture", "TypeMapping"),
-                ("TM_pm_powerwindow", "TypeMapping"),
-                ("TM_SimpleClassDiagrams", "TypeMapping"),
-                ("TM_TypeMapping", "TypeMapping"),
-                ("TM_CoreFormalism", "TypeMapping"),
-                ("TM_ManualOperation", "TypeMapping"),
-                ("TM_bottom", "TypeMapping"),
-                ("TM_ActionLanguage", "TypeMapping"),
-                ("TM_ProcessModel", "TypeMapping"),
-                ("TM_Tracability", "TypeMapping"),
-                ("TM_conformance_mv", "TypeMapping"),
-                ("TM_core", "TypeMapping"),
-            ])
-
-        transformation_add_MANUAL({"Requirements": "Requirements"}, {"Requirements": "Requirements"}, "revise_req")
-        transformation_add_MANUAL({"Requirements": "Requirements", "PW_Environment": "PW_Environment"}, {"PW_Environment": "PW_Environment"}, "revise_environment")
-        transformation_add_MANUAL({"Requirements": "Requirements", "PW_Plant": "PW_Plant"}, {"PW_Plant": "PW_Plant"}, "revise_plant")
-        transformation_add_MANUAL({"Requirements": "Requirements", "PW_Control": "PW_Control"}, {"PW_Control": "PW_Control"}, "revise_control")
-        transformation_add_MANUAL({"Requirements": "Requirements", "Query": "Query"}, {"Query": "Query"}, "revise_query")
-        transformation_add_MANUAL({"Requirements": "Requirements", "Architecture": "Architecture"}, {"Architecture": "Architecture"}, "revise_architecture")
+        model_add("formalisms/ReachabilityGraph", "formalisms/SimpleClassDiagrams", open("models/reachability_graph.mvc", "r").read())
+        model_add("formalisms/PetriNet", "formalisms/SimpleClassDiagrams", open("integration/code/pn_design.mvc", 'r').read())
+        model_add("formalisms/Encapsulated_PetriNet", "formalisms/SimpleClassDiagrams", open("models/petrinet_ports.mvc", 'r').read())
+        model_add("formalisms/PW_Plant", "formalisms/SimpleClassDiagrams", open("models/plant_PW.mvc", 'r').read())
+        model_add("formalisms/PW_Environment", "formalisms/SimpleClassDiagrams", open("models/environment_PW.mvc", 'r').read())
+        model_add("formalisms/PW_Control", "formalisms/SimpleClassDiagrams", open("models/control_PW.mvc", 'r').read())
+        model_add("formalisms/Requirements", "formalisms/SimpleClassDiagrams", open("models/requirements.mvc", 'r').read())
+        model_add("formalisms/Query", "formalisms/SimpleClassDiagrams", open("models/query.mvc", 'r').read())
+        model_add("formalisms/Architecture", "formalisms/SimpleClassDiagrams", open("models/architecture.mvc", 'r').read())
+
+        model_add("models/pm_powerwindow", "formalisms/ProcessModel", open("models/pm_req_analyse.mvc", 'r').read())
+
+        transformation_add_MANUAL({"Requirements": "formalisms/Requirements"}, {"Requirements": "formalisms/Requirements"}, "models/revise_req")
+        transformation_add_MANUAL({"Requirements": "formalisms/Requirements", "PW_Environment": "formalisms/PW_Environment"}, {"PW_Environment": "formalisms/PW_Environment"}, "models/revise_environment")
+        transformation_add_MANUAL({"Requirements": "formalisms/Requirements", "PW_Plant": "formalisms/PW_Plant"}, {"PW_Plant": "formalisms/PW_Plant"}, "models/revise_plant")
+        transformation_add_MANUAL({"Requirements": "formalisms/Requirements", "PW_Control": "formalisms/PW_Control"}, {"PW_Control": "formalisms/PW_Control"}, "models/revise_control")
+        transformation_add_MANUAL({"Requirements": "formalisms/Requirements", "Query": "formalisms/Query"}, {"Query": "formalisms/Query"}, "models/revise_query")
+        transformation_add_MANUAL({"Requirements": "formalisms/Requirements", "Architecture": "formalisms/Architecture"}, {"Architecture": "formalisms/Architecture"}, "models/revise_architecture")
 
         def tracability_CTRL2EPN():
             instantiate(None, "Association", ("PW_Control/State", "Encapsulated_PetriNet/Place"), ID="CTRL2EPN_link")
@@ -224,16 +136,16 @@ class TestPowerWindow(unittest.TestCase):
             instantiate(None, "Association", ("Encapsulated_PetriNet/Place", "PetriNet/Place"), ID="EPN2PN_transition_link")
             instantiate(None, "Association", ("Encapsulated_PetriNet/Transition", "PetriNet/Transition"), ID="EPN2PN_place_link")
 
-        transformation_add_MT({}, {"PW_Plant": "PW_Plant", "PW_Environment": "PW_Environment", "PW_Control": "PW_Control", "Query": "Query", "Architecture": "Architecture", "Requirements": "Requirements"}, "make_initial_models", open("models/initialize.mvc", 'r').read())
-        transformation_add_MT({"PW_Plant": "PW_Plant"}, {"Encapsulated_PetriNet": "Encapsulated_PetriNet"}, "plant_to_EPN", open("models/plant_to_EPN.mvc", 'r').read(), tracability_PLANT2EPN)
-        transformation_add_MT({"PW_Control": "PW_Control"}, {"Encapsulated_PetriNet": "Encapsulated_PetriNet"}, "control_to_EPN", open("models/control_to_EPN.mvc", 'r').read(), tracability_CTRL2EPN)
-        transformation_add_MT({"PW_Environment": "PW_Environment"}, {"Encapsulated_PetriNet": "Encapsulated_PetriNet"}, "environment_to_EPN", open("models/environment_to_EPN.mvc", 'r').read(), tracability_ENV2EPN)
-        transformation_add_MT({"Encapsulated_PetriNet": "Encapsulated_PetriNet", "Architecture": "Architecture"}, {"PetriNet": "PetriNet"}, "combine_EPN", open("models/combine_EPN.mvc", 'r').read(), tracability_EPN2PN)
-        transformation_add_MT({"ReachabilityGraph": "ReachabilityGraph", "Query": "Query"}, {}, "match", open("models/matches.mvc", 'r').read())
+        transformation_add_MT({}, {"PW_Plant": "formalisms/PW_Plant", "PW_Environment": "formalisms/PW_Environment", "PW_Control": "formalisms/PW_Control", "Query": "formalisms/Query", "Architecture": "formalisms/Architecture", "Requirements": "formalisms/Requirements"}, "models/make_initial_models", open("models/initialize.mvc", 'r').read())
+        transformation_add_MT({"PW_Plant": "formalisms/PW_Plant"}, {"Encapsulated_PetriNet": "formalisms/Encapsulated_PetriNet"}, "models/plant_to_EPN", open("models/plant_to_EPN.mvc", 'r').read(), tracability_PLANT2EPN)
+        transformation_add_MT({"PW_Control": "formalisms/PW_Control"}, {"Encapsulated_PetriNet": "formalisms/Encapsulated_PetriNet"}, "models/control_to_EPN", open("models/control_to_EPN.mvc", 'r').read(), tracability_CTRL2EPN)
+        transformation_add_MT({"PW_Environment": "formalisms/PW_Environment"}, {"Encapsulated_PetriNet": "formalisms/Encapsulated_PetriNet"}, "models/environment_to_EPN", open("models/environment_to_EPN.mvc", 'r').read(), tracability_ENV2EPN)
+        transformation_add_MT({"Encapsulated_PetriNet": "formalisms/Encapsulated_PetriNet", "Architecture": "formalisms/Architecture"}, {"PetriNet": "formalisms/PetriNet"}, "models/combine_EPN", open("models/combine_EPN.mvc", 'r').read(), tracability_EPN2PN)
+        transformation_add_MT({"ReachabilityGraph": "formalisms/ReachabilityGraph", "Query": "formalisms/Query"}, {}, "models/match", open("models/matches.mvc", 'r').read())
 
-        transformation_add_AL({"PetriNet": "PetriNet"}, {"ReachabilityGraph": "ReachabilityGraph"}, "reachability", open("models/reachability.alc", 'r').read())
-        transformation_add_AL({"ReachabilityGraph": "ReachabilityGraph"}, {}, "bfs", open("models/bfs.alc", 'r').read())
-        transformation_add_AL({"EPN_Plant": "Encapsulated_PetriNet", "EPN_Control": "Encapsulated_PetriNet", "EPN_Environment": "Encapsulated_PetriNet"}, {"Encapsulated_PetriNet": "Encapsulated_PetriNet"}, "merge_EPN", open("models/merge_EPN.alc", 'r').read())
+        transformation_add_AL({"PetriNet": "formalisms/PetriNet"}, {"ReachabilityGraph": "formalisms/ReachabilityGraph"}, "models/reachability", open("models/reachability.alc", 'r').read())
+        transformation_add_AL({"ReachabilityGraph": "formalisms/ReachabilityGraph"}, {}, "models/bfs", open("models/bfs.alc", 'r').read())
+        transformation_add_AL({"EPN_Plant": "formalisms/Encapsulated_PetriNet", "EPN_Control": "formalisms/Encapsulated_PetriNet", "EPN_Environment": "formalisms/Encapsulated_PetriNet"}, {"Encapsulated_PetriNet": "formalisms/Encapsulated_PetriNet"}, "models/merge_EPN", open("models/merge_EPN.alc", 'r').read())
 
         global called
         called = 0
@@ -258,16 +170,16 @@ class TestPowerWindow(unittest.TestCase):
         cb_arch = get_function("models/architecture_model.mvc")
 
         callbacks = {
-                "revise_req": cb_req,
-                "revise_plant": cb_plant,
-                "revise_environment": cb_env,
-                "revise_control": cb_ctrl,
-                "revise_query": cb_query,
-                "revise_architecture": cb_arch,
+                "models/revise_req": cb_req,
+                "models/revise_plant": cb_plant,
+                "models/revise_environment": cb_env,
+                "models/revise_control": cb_ctrl,
+                "models/revise_query": cb_query,
+                "models/revise_architecture": cb_arch,
             }
 
         try:
-            process_execute("pm_powerwindow", "pm_", callbacks)
+            process_execute("models/pm_powerwindow", "pm_", callbacks)
         except:
             import traceback
             print(traceback.format_exc())

+ 40 - 40
models/pm_req_analyse.mvc

@@ -2,118 +2,118 @@ Start start {}
 Finish finish {}
 
 Exec revise_req {
-    name = "revise_req"
+    name = "models/revise_req"
 }
 Exec make_initial_models {
-    name = "make_initial_models"
+    name = "models/make_initial_models"
 }
 
 Fork fork1 {}
 
 Exec revise_plant {
-    name = "revise_plant"
+    name = "models/revise_plant"
 }
 Exec revise_environment {
-    name = "revise_environment"
+    name = "models/revise_environment"
 }
 Exec revise_control {
-    name = "revise_control"
+    name = "models/revise_control"
 }
 Exec revise_query {
-    name = "revise_query"
+    name = "models/revise_query"
 }
 Exec revise_architecture {
-    name = "revise_architecture"
+    name = "models/revise_architecture"
 }
 
 Exec plant_to_EPN {
-    name = "plant_to_EPN"
+    name = "models/plant_to_EPN"
 }
 Exec environment_to_EPN {
-    name = "environment_to_EPN"
+    name = "models/environment_to_EPN"
 }
 
 Exec control_to_EPN {
-    name = "control_to_EPN"
+    name = "models/control_to_EPN"
 }
 
 Join join2 {}
 
 Exec merge_EPN {
-    name = "merge_EPN"
+    name = "models/merge_EPN"
 }
 
 Exec combine_EPN {
-    name = "combine_EPN"
+    name = "models/combine_EPN"
 }
 
 Exec EPN_to_PN {
-    name = "EPN_to_PN"
+    name = "models/EPN_to_PN"
 }
 
 Exec analyse {
-    name = "reachability"
+    name = "models/reachability"
 }
 
 Join join3 {}
 
 Exec match {
-    name = "match"
+    name = "models/match"
 }
 
 Exec bfs {
-    name = "bfs"
+    name = "models/bfs"
 }
 
 Decision found {}
 
 Data req {
-    name = "requirements"
-    type = "Requirements"
+    name = "models/requirements"
+    type = "formalisms/Requirements"
 }
 Data plant_model {
-    name = "plant_model"
-    type = "PW_Plant"
+    name = "models/plant_model"
+    type = "formalisms/PW_Plant"
 }
 Data environment_model {
-    name = "environment_model"
-    type = "PW_Environment"
+    name = "models/environment_model"
+    type = "formalisms/PW_Environment"
 }
 Data control_model {
-    name = "control_model"
-    type = "PW_Control"
+    name = "models/control_model"
+    type = "formalisms/PW_Control"
 }
 Data plant_EPN {
-    name = "plant_EPN"
-    type = "Encapsulated_PetriNet"
+    name = "models/plant_EPN"
+    type = "formalisms/Encapsulated_PetriNet"
 }
 Data control_EPN {
-    name = "control_EPN"
-    type = "Encapsulated_PetriNet"
+    name = "models/control_EPN"
+    type = "formalisms/Encapsulated_PetriNet"
 }
 Data environment_EPN {
-    name = "environment_EPN"
-    type = "Encapsulated_PetriNet"
+    name = "models/environment_EPN"
+    type = "formalisms/Encapsulated_PetriNet"
 }
 Data pn {
-    name = "pn"
-    type = "PetriNet"
+    name = "models/pn"
+    type = "formalisms/PetriNet"
 }
 Data reachability_graph {
-    name = "reachability"
-    type = "ReachabilityGraph"
+    name = "models/reachability"
+    type = "formalisms/ReachabilityGraph"
 }
 Data query {
-    name = "query"
-    type = "Query"
+    name = "models/query"
+    type = "formalisms/Query"
 }
 Data architecture {
-    name = "architecture"
-    type = "Architecture"
+    name = "models/architecture"
+    type = "formalisms/Architecture"
 }
 Data merged_EPN {
-    name = "merged_EPN"
-    type = "Encapsulated_PetriNet"
+    name = "models/merged_EPN"
+    type = "formalisms/Encapsulated_PetriNet"
 }
 
 Next (start, make_initial_models) {}

+ 46 - 46
models/pm_req_analyse_debug.mvc

@@ -2,135 +2,135 @@ Start start {}
 Finish finish {}
 
 Exec revise_req {
-    name = "revise_req"
+    name = "models/revise_req"
 }
 Exec make_initial_models {
-    name = "make_initial_models"
+    name = "models/make_initial_models"
 }
 
 Fork fork1 {}
 
 Exec revise_plant {
-    name = "revise_plant"
+    name = "models/revise_plant"
 }
 Exec revise_environment {
-    name = "revise_environment"
+    name = "models/revise_environment"
 }
 Exec revise_control {
-    name = "revise_control"
+    name = "models/revise_control"
 }
 Exec revise_query {
-    name = "revise_query"
+    name = "models/revise_query"
 }
 Exec revise_architecture {
-    name = "revise_architecture"
+    name = "models/revise_architecture"
 }
 
 Exec plant_to_EPN {
-    name = "plant_to_EPN"
+    name = "models/plant_to_EPN"
 }
 Exec print_plant_EPN{
-    name = "epn_print"
+    name = "models/epn_print"
 }
 Exec environment_to_EPN {
-    name = "environment_to_EPN"
+    name = "models/environment_to_EPN"
 }
 Exec print_env_EPN{
-    name = "epn_print"
+    name = "models/epn_print"
 }
 
 Exec control_to_EPN {
-    name = "control_to_EPN"
+    name = "models/control_to_EPN"
 }
 Exec print_control_EPN{
-    name = "epn_print"
+    name = "models/epn_print"
 }
 
 Join join2 {}
 
 Exec merge_EPN {
-    name = "merge_EPN"
+    name = "models/merge_EPN"
 }
 
 Exec combine_EPN {
-    name = "combine_EPN"
+    name = "models/combine_EPN"
 }
 
 Exec print_pn {
-    name = "pn_print"
+    name = "models/pn_print"
 }
 
 Exec EPN_to_PN {
-    name = "EPN_to_PN"
+    name = "models/EPN_to_PN"
 }
 
 Exec analyse {
-    name = "reachability"
+    name = "models/reachability"
 }
 
 Join join3 {}
 
 Exec match {
-    name = "match"
+    name = "models/match"
 }
 
 Exec bfs {
-    name = "bfs"
+    name = "models/bfs"
 }
 
 Decision found {}
 
 Data req {
-    name = "requirements"
-    type = "Requirements"
+    name = "models/requirements"
+    type = "formalisms/Requirements"
 }
 Data plant_model {
-    name = "plant_model"
-    type = "PW_Plant"
+    name = "models/plant_model"
+    type = "formalisms/PW_Plant"
 }
 Data environment_model {
-    name = "environment_model"
-    type = "PW_Environment"
+    name = "models/environment_model"
+    type = "formalisms/PW_Environment"
 }
 Data control_model {
-    name = "control_model"
-    type = "PW_Control"
+    name = "models/control_model"
+    type = "formalisms/PW_Control"
 }
 Data plant_EPN {
-    name = "plant_EPN"
-    type = "Encapsulated_PetriNet"
+    name = "models/plant_EPN"
+    type = "formalisms/Encapsulated_PetriNet"
 }
 Data control_EPN {
-    name = "control_EPN"
-    type = "Encapsulated_PetriNet"
+    name = "models/control_EPN"
+    type = "formalisms/Encapsulated_PetriNet"
 }
 Data environment_EPN {
-    name = "environment_EPN"
-    type = "Encapsulated_PetriNet"
+    name = "models/environment_EPN"
+    type = "formalisms/Encapsulated_PetriNet"
 }
 Data merged_EPN {
-    name = "merged_EPN"
-    type = "Encapsulated_PetriNet"
+    name = "models/merged_EPN"
+    type = "formalisms/Encapsulated_PetriNet"
 }
 Data pn {
-    name = "pn"
-    type = "PetriNet"
+    name = "models/pn"
+    type = "formalisms/PetriNet"
 }
 Data reachability_graph {
-    name = "reachability"
-    type = "ReachabilityGraph"
+    name = "models/reachability"
+    type = "formalisms/ReachabilityGraph"
 }
 Data query {
-    name = "query"
-    type = "Query"
+    name = "models/query"
+    type = "formalisms/Query"
 }
 Data architecture {
-    name = "architecture"
-    type = "Architecture"
+    name = "models/architecture"
+    type = "formalisms/Architecture"
 }
 Data merged_EPN {
-    name = "merged_EPN"
-    type = "Encapsulated_PetriNet"
+    name = "models/merged_EPN"
+    type = "formalisms/Encapsulated_PetriNet"
 }
 
 Next (start, make_initial_models) {}