Преглед изворни кода

Added the possibility to add a Manual Operation as model transformation

Yentl Van Tendeloo пре 9 година
родитељ
комит
ed85bc3323
2 измењених фајлова са 118 додато и 0 уклоњено
  1. 85 0
      core/core_algorithm.alc
  2. 33 0
      integration/test_mvc.py

+ 85 - 0
core/core_algorithm.alc

@@ -111,6 +111,22 @@ Void function main():
 	instantiate_link(core, "group", "", al_model, admin_group)
 	instantiate_link(core, "group", "", al_model, admin_group)
 	instantiate_link(core, "owner", "", al_model, admin_user)
 	instantiate_link(core, "owner", "", al_model, admin_user)
 
 
+	// Add the Manual Operation formalism
+	Element manual
+	String manual_model
+	manual = instantiate_model(scd)
+	manual_model = instantiate_node(core, "Model", "")
+	export_node("models/ManualOperation", manual)
+	instantiate_attribute(core, manual_model, "name", "ManualOperation")
+	instantiate_attribute(core, manual_model, "location", "models/ManualOperation/model")
+	instantiate_attribute(core, manual_model, "permissions", "221")
+	instance_of = instantiate_link(core, "instanceOf", "", manual_model, scd_model)
+	instantiate_attribute(core, instance_of, "type_mapping", create_node())
+
+	// Make necessary links for the formalism to the owners
+	instantiate_link(core, "group", "", manual_model, admin_group)
+	instantiate_link(core, "owner", "", manual_model, admin_user)
+
 	// Add the core formalism already
 	// Add the core formalism already
 	core_formalism_model = instantiate_node(core, "Model", "")
 	core_formalism_model = instantiate_node(core, "Model", "")
 	instantiate_attribute(core, core_formalism_model, "name", "CoreFormalism")
 	instantiate_attribute(core, core_formalism_model, "name", "CoreFormalism")
@@ -910,6 +926,75 @@ Void function user_function_skip_init(user_id : String):
 			else:
 			else:
 				output("No such model")
 				output("No such model")
 
 
+		elif (cmd == "transformation_add_MANUAL"):
+			// Add a manual transformation model
+			output("Which metamodels do you want to use as source for the manual operation (empty string to finish)?")
+			String model_id
+			Element models
+			Element source
+			Element target
+			String name
+
+			name = input()
+			source = create_node()
+			target = create_node()
+
+			while (name != ""):
+				model_id = get_model_id(name)
+				if (model_id != ""):
+					if (bool_not(set_in(source, model_id))):
+						set_add(source, model_id)
+						output("Model added as source")
+					else:
+						output("Model already selected as source")
+				else:
+					output("No such model; try again")
+				
+				name = input()
+
+			output("Which metamodels do you want to use as target for the manual operation (empty string to finish)?")
+			name = input()
+			while (name != ""):
+				model_id = get_model_id(name)
+				if (model_id != ""):
+					if (bool_not(set_in(target, model_id))):
+						set_add(target, model_id)
+						output("Model added as target")
+					else:
+						output("Model already selected as target")
+				else:
+					output("No such model; try again")
+				
+				name = input()
+
+			output("Name of Manual operation model?")
+			name = input()
+
+			if (get_model_id(name) == ""):
+				// Finished with all information, now create the model itself!
+				model_create(instantiate_model(get_full_model(get_model_id("ManualOperation"))), name, user_id, get_model_id("ManualOperation"), "ManualOperation")
+				model_id = get_model_id(name)
+
+				// Extend metadata with info on source and target
+				String link
+				String dst
+
+				log("Adding inputs")
+				while (read_nr_out(source) > 0):
+					dst = set_pop(source)
+					log(" for " + dst)
+					link = instantiate_link(core, "transformInput", "", model_id, dst)
+					instantiate_attribute(core, link, "name", read_attribute(core, dst, "name"))
+
+				log("Adding outputs")
+				while (read_nr_out(target) > 0):
+					dst = set_pop(target)
+					log(" for " + dst)
+					link = instantiate_link(core, "transformOutput", "", model_id, dst)
+					instantiate_attribute(core, link, "name", read_attribute(core, dst, "name"))
+			else:
+				output("Model already exists")
+
 		elif (cmd == "transformation_add_AL"):
 		elif (cmd == "transformation_add_AL"):
 			// Add an action language transformation model
 			// Add an action language transformation model
 			output("Which metamodels do you want to use as source for the action code (empty string to finish)?")
 			output("Which metamodels do you want to use as source for the action code (empty string to finish)?")

+ 33 - 0
integration/test_mvc.py

@@ -34,6 +34,7 @@ class TestModelverseCore(unittest.TestCase):
                 "Ready for command...",
                 "Ready for command...",
                 set(["  SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  SimpleClassDiagrams : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  core : CoreFormalism"]),
                      "  core : CoreFormalism"]),
             ]))
             ]))
@@ -53,6 +54,7 @@ class TestModelverseCore(unittest.TestCase):
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
             ]))
             ]))
 
 
@@ -82,12 +84,14 @@ class TestModelverseCore(unittest.TestCase):
                 set(["  SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  SimpleClassDiagrams : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  Empty : SimpleClassDiagrams",
                      "  Empty : SimpleClassDiagrams",
                      "  core : CoreFormalism"]),
                      "  core : CoreFormalism"]),
                 "Ready for command...",
                 "Ready for command...",
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  200  root nobody   Empty : SimpleClassDiagrams",
                      "  200  root nobody   Empty : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
             ]))
             ]))
@@ -125,12 +129,14 @@ class TestModelverseCore(unittest.TestCase):
                 set(["  SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  SimpleClassDiagrams : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  Empty : SimpleClassDiagrams",
                      "  Empty : SimpleClassDiagrams",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  core : CoreFormalism"]),
                      "  core : CoreFormalism"]),
                 "Ready for command...",
                 "Ready for command...",
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  200  root nobody   Empty : SimpleClassDiagrams",
                      "  200  root nobody   Empty : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
                 "Ready for command...",
                 "Ready for command...",
@@ -147,6 +153,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  200  root nobody   Empty : SimpleClassDiagrams",
                      "  200  root nobody   Empty : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
                 "Ready for command...",
                 "Ready for command...",
             ]))
             ]))
@@ -200,6 +207,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  200  root nobody   Empty : SimpleClassDiagrams",
                      "  200  root nobody   Empty : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
                 "Ready for command...",
                 "Ready for command...",
                 "Which model do you want to modify?",
                 "Which model do you want to modify?",
@@ -215,6 +223,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  200  root nobody   Empty : SimpleClassDiagrams",
                      "  200  root nobody   Empty : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
                 "Ready for command...",
                 "Ready for command...",
                 "Which model to overwrite?",
                 "Which model to overwrite?",
@@ -225,6 +234,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  200  root nobody   Empty : SimpleClassDiagrams",
                      "  200  root nobody   Empty : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
                 "Ready for command...",
                 "Ready for command...",
                 "Which model do you want to modify?",
                 "Which model do you want to modify?",
@@ -268,6 +278,7 @@ class TestModelverseCore(unittest.TestCase):
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
                 "Ready for command...",
                 "Ready for command...",
@@ -277,6 +288,7 @@ class TestModelverseCore(unittest.TestCase):
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  200  root nobody   __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets_RAM : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
@@ -324,6 +336,7 @@ class TestModelverseCore(unittest.TestCase):
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
                 "Ready for command...",
                 "Ready for command...",
@@ -335,6 +348,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root nobody   __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   __merged_PetriNets_RAM : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
                 "Ready for command...",
                 "Ready for command...",
@@ -353,6 +367,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root nobody   __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   __merged_PetriNets_RAM : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets_RAM : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets_Print : PetriNets_RAM",
                      "  200  root nobody   PetriNets_Print : PetriNets_RAM",
@@ -403,6 +418,7 @@ class TestModelverseCore(unittest.TestCase):
                 "Ready for command...",
                 "Ready for command...",
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
@@ -415,6 +431,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  200  root nobody   __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   __merged_PetriNets_RAM : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
                 "Ready for command...",
                 "Ready for command...",
@@ -486,6 +503,7 @@ class TestModelverseCore(unittest.TestCase):
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root nobody   my_pn : PetriNets",
                      "  200  root nobody   my_pn : PetriNets",
                      "  200  root admin   core : CoreFormalism"]),
                      "  200  root admin   core : CoreFormalism"]),
@@ -497,6 +515,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   ActionLanguage : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  221  root admin   CoreFormalism : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets : SimpleClassDiagrams",
+                     "  221  root admin   ManualOperation : SimpleClassDiagrams",
                      "  200  root nobody   __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   PetriNets_RAM : SimpleClassDiagrams",
                      "  200  root nobody   my_pn : PetriNets",
                      "  200  root nobody   my_pn : PetriNets",
@@ -659,6 +678,7 @@ class TestModelverseCore(unittest.TestCase):
                 set(["  SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  SimpleClassDiagrams : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  my_pn : PetriNets",
                      "  my_pn : PetriNets",
                      "  PetriNets_Runtime : SimpleClassDiagrams",
                      "  PetriNets_Runtime : SimpleClassDiagrams",
@@ -673,6 +693,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  PetriNets_Runtime : SimpleClassDiagrams",
                      "  PetriNets_Runtime : SimpleClassDiagrams",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  PetriNets_RAM : SimpleClassDiagrams",
                      "  PetriNets_RAM : SimpleClassDiagrams",
@@ -779,6 +800,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  PetriNets : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  pn_print : PetriNets_RAM",
                      "  pn_print : PetriNets_RAM",
                      "  pn_design_to_runtime : PetriNets_RAM",
                      "  pn_design_to_runtime : PetriNets_RAM",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  pn_runtime_to_design : PetriNets_RAM",
                      "  pn_runtime_to_design : PetriNets_RAM",
                      "  pn_step : PetriNets_RAM",
                      "  pn_step : PetriNets_RAM",
                      "  __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  __merged_PetriNets_RAM : SimpleClassDiagrams",
@@ -992,6 +1014,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  PetriNets : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  my_pn : PetriNets",
                      "  my_pn : PetriNets",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  PetriNets_Runtime : SimpleClassDiagrams",
                      "  PetriNets_Runtime : SimpleClassDiagrams",
                      "  core : CoreFormalism"]),
                      "  core : CoreFormalism"]),
                 "Ready for command...",
                 "Ready for command...",
@@ -1005,6 +1028,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  PetriNets_Runtime : SimpleClassDiagrams",
                      "  PetriNets_Runtime : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  PetriNets_RAM : SimpleClassDiagrams",
                      "  PetriNets_RAM : SimpleClassDiagrams",
                      "  my_pn : PetriNets",
                      "  my_pn : PetriNets",
@@ -1112,6 +1136,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  pn_print : PetriNets_RAM",
                      "  pn_print : PetriNets_RAM",
                      "  pn_design_to_runtime : PetriNets_RAM",
                      "  pn_design_to_runtime : PetriNets_RAM",
                      "  pn_runtime_to_design : PetriNets_RAM",
                      "  pn_runtime_to_design : PetriNets_RAM",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  pn_step : PetriNets_RAM",
                      "  pn_step : PetriNets_RAM",
                      "  __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  PetriNets_RAM : SimpleClassDiagrams",
                      "  PetriNets_RAM : SimpleClassDiagrams",
@@ -1274,6 +1299,7 @@ class TestModelverseCore(unittest.TestCase):
                 # model_list
                 # model_list
                 set(["  SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  SimpleClassDiagrams : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  my_pn : PetriNets",
                      "  my_pn : PetriNets",
@@ -1288,6 +1314,7 @@ class TestModelverseCore(unittest.TestCase):
                 set(["  SimpleClassDiagrams : SimpleClassDiagrams",
                 set(["  SimpleClassDiagrams : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  PetriNets_Runtime : SimpleClassDiagrams",
                      "  PetriNets_Runtime : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  __merged_PetriNets_RAM : SimpleClassDiagrams",
@@ -1390,6 +1417,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  pn_print : PetriNets_RAM",
                      "  pn_print : PetriNets_RAM",
                      "  pn_design_to_runtime : PetriNets_RAM",
                      "  pn_design_to_runtime : PetriNets_RAM",
                      "  pn_runtime_to_design : PetriNets_RAM",
                      "  pn_runtime_to_design : PetriNets_RAM",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  pn_step : ActionLanguage",
                      "  pn_step : ActionLanguage",
                      "  __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  __merged_PetriNets_RAM : SimpleClassDiagrams",
                      "  PetriNets_RAM : SimpleClassDiagrams",
                      "  PetriNets_RAM : SimpleClassDiagrams",
@@ -1440,6 +1468,7 @@ class TestModelverseCore(unittest.TestCase):
                 "Ready for command...",
                 "Ready for command...",
             ]))
             ]))
 
 
+    """
     def test_powerwindow(self):
     def test_powerwindow(self):
         self.assertTrue(run_file(all_files,
         self.assertTrue(run_file(all_files,
             [ "root", "root", "root", 
             [ "root", "root", "root", 
@@ -1527,6 +1556,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  Control_PW : SimpleClassDiagrams",
                      "  Control_PW : SimpleClassDiagrams",
                      "  Environment_PW : SimpleClassDiagrams",
                      "  Environment_PW : SimpleClassDiagrams",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  Description_PW : SimpleClassDiagrams",
                      "  Description_PW : SimpleClassDiagrams",
                      "  control_model : Control_PW",
                      "  control_model : Control_PW",
                      "  environment_model : Environment_PW",
                      "  environment_model : Environment_PW",
@@ -1602,6 +1632,7 @@ class TestModelverseCore(unittest.TestCase):
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  ActionLanguage : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  CoreFormalism : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  ReachabilityGraph : SimpleClassDiagrams",
                      "  ReachabilityGraph : SimpleClassDiagrams",
                      "  my_pn : PetriNets",
                      "  my_pn : PetriNets",
                      "  core : CoreFormalism"]),
                      "  core : CoreFormalism"]),
@@ -1626,6 +1657,8 @@ class TestModelverseCore(unittest.TestCase):
                      "  PetriNets : SimpleClassDiagrams",
                      "  PetriNets : SimpleClassDiagrams",
                      "  my_pn_reachability : ReachabilityGraph",
                      "  my_pn_reachability : ReachabilityGraph",
                      "  ReachabilityGraph : SimpleClassDiagrams",
                      "  ReachabilityGraph : SimpleClassDiagrams",
+                     "  ManualOperation : SimpleClassDiagrams",
                      "  my_pn : PetriNets",
                      "  my_pn : PetriNets",
                      "  core : CoreFormalism"]),
                      "  core : CoreFormalism"]),
             ]))
             ]))
+    """