|
@@ -0,0 +1,64 @@
|
|
|
|
|
+import sys
|
|
|
|
|
+sys.path.append("wrappers")
|
|
|
|
|
+from modelverse import *
|
|
|
|
|
+
|
|
|
|
|
+init()
|
|
|
|
|
+login("admin", "admin")
|
|
|
|
|
+
|
|
|
|
|
+mm = \
|
|
|
|
|
+"""
|
|
|
|
|
+include "primitives.alh"
|
|
|
|
|
+
|
|
|
|
|
+SimpleAttribute integer {
|
|
|
|
|
+ constraint = $
|
|
|
|
|
+ Boolean function constraint(value : Element):
|
|
|
|
|
+ return is_physical_int(value)!
|
|
|
|
|
+ $
|
|
|
|
|
+}
|
|
|
|
|
+SimpleAttribute string {
|
|
|
|
|
+ constraint = $
|
|
|
|
|
+ Boolean function constraint(value : Element):
|
|
|
|
|
+ return is_physical_string(value)!
|
|
|
|
|
+ $
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+Class A {
|
|
|
|
|
+ d : integer
|
|
|
|
|
+}
|
|
|
|
|
+Class B {
|
|
|
|
|
+ d : string
|
|
|
|
|
+}
|
|
|
|
|
+Class C {}
|
|
|
|
|
+
|
|
|
|
|
+Inheritance (C, A) {}
|
|
|
|
|
+Inheritance (C, B) {}
|
|
|
|
|
+"""
|
|
|
|
|
+
|
|
|
|
|
+model_string = \
|
|
|
|
|
+"""
|
|
|
|
|
+C {
|
|
|
|
|
+ d = "a"
|
|
|
|
|
+}
|
|
|
|
|
+"""
|
|
|
|
|
+
|
|
|
|
|
+model_integer = \
|
|
|
|
|
+"""
|
|
|
|
|
+C {
|
|
|
|
|
+ d = 1
|
|
|
|
|
+}
|
|
|
|
|
+"""
|
|
|
|
|
+
|
|
|
|
|
+model_add("formalisms/simple_mm", "formalisms/SimpleClassDiagrams", mm)
|
|
|
|
|
+model_add("models/model_string", "formalisms/simple_mm", model_string)
|
|
|
|
|
+model_add("models/model_integer", "formalisms/simple_mm", model_integer)
|
|
|
|
|
+
|
|
|
|
|
+transformation_add_AL({"model": "formalisms/simple_mm", "metamodel": "formalisms/SimpleClassDiagrams", "type_mapping": "formalisms/TypeMapping"}, {}, "models/conformance_AToMPM", open("models/Conformance/AToMPM.alc", 'r').read())
|
|
|
|
|
+#transformation_add_AL({"model": "formalisms/simple_mm", "metamodel": "formalisms/SimpleClassDiagrams", "type_mapping": "formalisms/TypeMapping"}, {}, "models/conformance_MetaDepth", open("models/Conformance/MetaDepth.alc", 'r').read())
|
|
|
|
|
+
|
|
|
|
|
+print(model_types("models/model_string"))
|
|
|
|
|
+
|
|
|
|
|
+#print(verify("models/model_string", "formalisms/simple_mm", "models/conformance_AToMPM"))
|
|
|
|
|
+transformation_execute_AL("models/conformance_AToMPM", {"model": "models/model_integer", "metamodel": "formalisms/simple_mm", "type_mapping": model_types("models/model_integer").pop()[1]}, {})
|
|
|
|
|
+#print(verify("models/model_integer", "formalisms/simple_mm", "models/conformance_AToMPM"))
|
|
|
|
|
+#print(verify("models/model_string", "formalisms/simple_mm", "models/conformance_MetaDepth"))
|
|
|
|
|
+#print(verify("models/model_integer", "formalisms/simple_mm", "models/conformance_MetaDepth"))
|