|
@@ -1,58 +1,54 @@
|
|
|
from modelverse import *
|
|
|
-from random import random
|
|
|
-
|
|
|
-username = str(random())
|
|
|
-password = str(random())
|
|
|
-model_name = str(random())
|
|
|
-model_name2 = str(random())
|
|
|
|
|
|
init()
|
|
|
-login(username, password)
|
|
|
+login("admin", "admin")
|
|
|
+
|
|
|
+model_add("MetamodelA", "SimpleClassDiagrams", """Class A {}""")
|
|
|
+model_add("MetamodelB", "SimpleClassDiagrams", """Class B {}""")
|
|
|
+model_add("MetamodelC", "SimpleClassDiagrams", """Class C {}""")
|
|
|
+model_add("ModelA", "MetamodelA", """A a1 {}""")
|
|
|
+model_add("ModelB", "MetamodelB", """B b1 {}""")
|
|
|
+
|
|
|
+model_add("SCCD", "SimpleClassDiagrams", open("models/SCCD.mvc", 'r').read())
|
|
|
+model_add("my_SCCD", "SCCD", open("models/test_operations_in_SCCD.mvc", 'r').read())
|
|
|
+
|
|
|
+transformation_add_MT({"A": "MetamodelA", "B": "MetamodelB"}, {"B": "MetamodelB", "C": "MetamodelC"}, "TransformY", \
|
|
|
+ """
|
|
|
+ Composite schedule {
|
|
|
+ {Contains} Failure fail {}
|
|
|
+ {Contains} Success success {}
|
|
|
+ {Contains} ForAll f {
|
|
|
+ LHS {
|
|
|
+ Pre_A/A {
|
|
|
+ label = "0"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ RHS {
|
|
|
+ Post_C/C {
|
|
|
+ label = "1"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Initial (schedule, f) {}
|
|
|
+ OnSuccess (f, success) {}
|
|
|
+ OnFailure (f, fail) {}
|
|
|
+ """
|
|
|
+ )
|
|
|
+
|
|
|
+transformation_add_AL({"B": "MetamodelB", "C": "MetamodelC"}, {"B": "MetamodelB", "A": "MetamodelA"}, "OperationZ", \
|
|
|
+ """
|
|
|
+ include "primitives.alh"
|
|
|
+ include "object_operations.alh"
|
|
|
+ include "modelling.alh"
|
|
|
+
|
|
|
+ Boolean function size_of_model(model : Element):
|
|
|
+ log("Number of instances of A: " + cast_v2s(set_len(allInstances(model, "A/A"))))
|
|
|
+ log("Number of instances of B: " + cast_v2s(set_len(allInstances(model, "B/B"))))
|
|
|
+ log("Number of instances of C: " + cast_v2s(set_len(allInstances(model, "C/C"))))
|
|
|
+ return True!
|
|
|
+ """
|
|
|
+ )
|
|
|
+transformation_add_AL({"SCCD": "SCCD"}, {}, "SCCD_execute", open("models/SCCD_execute.alc", 'r').read())
|
|
|
|
|
|
-model_add(model_name, "SimpleClassDiagrams", open("models/petrinet_ports.mvc", "r").read())
|
|
|
-print(verify(model_name))
|
|
|
-print(element_list(model_name))
|
|
|
-print(model_list())
|
|
|
-print(types(model_name))
|
|
|
-try:
|
|
|
- print(read("SimpleClassDiagrams", "Place"))
|
|
|
- raise Exception("ERROR")
|
|
|
-except UnknownIdentifier:
|
|
|
- print(read("SimpleClassDiagrams", "Class"))
|
|
|
- try:
|
|
|
- print(read_attrs("SimpleClassDiagrams", "Place"))
|
|
|
- raise Exception("ERROR")
|
|
|
- except UnknownIdentifier:
|
|
|
- print(read_attrs("SimpleClassDiagrams", "Class"))
|
|
|
- try:
|
|
|
- print(instantiate("SimpleClassDiagrams", "Class", None))
|
|
|
- raise Exception("ERROR")
|
|
|
- except PermissionDenied:
|
|
|
- print(("abc", "Class") not in element_list("SimpleClassDiagrams"))
|
|
|
- print(verify(model_name))
|
|
|
- print(element_list(model_name))
|
|
|
- print(instantiate(model_name, "Class", None))
|
|
|
- print(("abc", "Class") in element_list(model_name))
|
|
|
- model_add(model_name2, model_name)
|
|
|
- p1 = instantiate(model_name2, "Place")
|
|
|
- p2 = instantiate(model_name2, "Place")
|
|
|
- t1 = instantiate(model_name2, "Transition")
|
|
|
- p2t = instantiate(model_name2, "P2T", (p1, t1))
|
|
|
- t2p = instantiate(model_name2, "T2P", (t1, p2))
|
|
|
- print(read_outgoing(model_name2, p1, "P2T"))
|
|
|
- print(read_outgoing(model_name2, p2, "P2T"))
|
|
|
- print(element_list(model_name2))
|
|
|
- print(read_attrs(model_name2, p1))
|
|
|
- attr_assign(model_name2, p1, "name", "p1")
|
|
|
- attr_assign(model_name2, p1, "tokens", 1)
|
|
|
- print(read_attrs(model_name2, p1))
|
|
|
- print(verify(model_name2))
|
|
|
- attr_assign(model_name2, p2, "name", "p2")
|
|
|
- attr_assign(model_name2, p2, "tokens", 3)
|
|
|
- print(verify(model_name2))
|
|
|
- attr_assign(model_name2, t1, "name", "t1")
|
|
|
- try:
|
|
|
- attr_assign(model_name2, t2p, "weight", 2)
|
|
|
- raise Exception("ERROR")
|
|
|
- except NoSuchAttribute:
|
|
|
- print(verify(model_name2))
|
|
|
+transformation_execute_AL("SCCD_execute", {"SCCD": "my_SCCD"}, {})
|