Pārlūkot izejas kodu

adapted transformation metamodel with a significantly reduced subset of motif

tpinna 10 gadi atpakaļ
vecāks
revīzija
a8386983f1
1 mainītis faili ar 41 papildinājumiem un 0 dzēšanām
  1. 41 0
      bootstrap/metamodels.alc

+ 41 - 0
bootstrap/metamodels.alc

@@ -157,6 +157,47 @@ Element function create_metamodels():
 		instantiate_link(transform_metamodel, "inheritance", "Transition_RHS_is_RAM", "Transition_RHS","RAMgeneral")
 		instantiate_link(transform_metamodel, "inheritance", "P2T_RHS_is_RAM", "P2T_RHS","RAMgeneral")
 		instantiate_link(transform_metamodel, "inheritance", "T2P_RHS_is_RAM", "T2P_RHS","RAMgeneral")
+		
+		//////////////////
+		// rule ordering part
+		// this is the part that will contain a subset of motif
+		
+		//define ruleblock
+		instantiate_node(transform_metamodel, "Class", "RuleBlock")
+		instantiate_named(transform_metamodel, "l5", "name", "RuleBlock", "String")
+		//define onsuccess next en previous
+		instantiate_link(transform_metamodel, "l5", "next_onSucces", "RuleBlock","RuleBlock")
+		instantiate_link(transform_metamodel, "l5", "next_onFailure", "RuleBlock","RuleBlock")
+		
+		//define AtomicRuleBlock
+		instantiate_node(transform_metamodel, "Class", "AtomicRuleBlock")
+		instantiate_link(transform_metamodel, "inheritance", "atomic_is_ruleblock", "AtomicRuleBlock","RuleBlock")
+		
+		//define Arule
+		instantiate_node(transform_metamodel, "Class", "ARule")
+		instantiate_link(transform_metamodel, "inheritance", "arule_is_atomic","ARule", "AtomicRuleBlock")
+		//connect Arule to a rule
+		instantiate_link(transform_metamodel, "l5", "getrule","ARule", "AtomicRuleBlock")
+		
+		//define Frule
+		instantiate_node(transform_metamodel, "Class", "FRule")
+		instantiate_link(transform_metamodel, "inheritance", "frule_is_arule","FRule", "ARule")
+		
+		//define Srule
+		instantiate_node(transform_metamodel, "Class", "SRule")
+		instantiate_link(transform_metamodel, "inheritance", "srule_is_arule","SRule", "ARule")
+		
+		//define Composite RuleBlock
+		instantiate_node(transform_metamodel, "Class", "CompositeRuleBlock")
+		instantiate_link(transform_metamodel, "inheritance", "composite_is_ruleblock", "CompositeRuleBlock","RuleBlock")
+		
+		//define Brule
+		instantiate_node(transform_metamodel, "Class", "BRule")
+		instantiate_link(transform_metamodel, "inheritance", "brule_is_composite", "Brule","CompositeRuleBlock")
+		
+		//define root
+		instantiate_node(transform_metamodel, "Class", "RuleBlockRoot")
+		instantiate_link(transform_metamodel, "inheritance", "root_is_ruleblock", "RuleBlockRoot","RuleBlock")
 
 		export_node("models/PetriNets_MTransformation", transform_metamodel)