浏览代码

Added FSA metamodels

Yentl Van Tendeloo 8 年之前
父节点
当前提交
617e772473
共有 2 个文件被更改,包括 92 次插入0 次删除
  1. 41 0
      integration/code/fsa_design.mvc
  2. 51 0
      integration/code/fsa_runtime.mvc

+ 41 - 0
integration/code/fsa_design.mvc

@@ -0,0 +1,41 @@
+import model/SimpleClassDiagrams as SCD
+include "primitives.alh"
+
+SCD FiniteStateAutomata_Design{
+    Class String {
+        $
+            if (bool_not(is_physical_string(self))):
+                return "String has no string value"!
+            else:
+                return "OK"!
+        $
+    }
+
+    Class State {
+        lower_cardinality = 1
+
+        name : String {
+            target_lower_cardinality = 1
+            target_upper_cardinality = 1
+        }
+    }
+
+    Class InitialState {
+        upper_cardinality = 1
+    }
+
+    Association Transition {
+        event : String {
+            target_lower_cardinality = 1
+            target_upper_cardinality = 1
+        }
+
+        raise : String {
+            target_upper_cardinality = 1
+        }
+    }
+
+    Inheritance (InitialState, State){}
+}
+
+export FiniteStateAutomata_Design to models/FiniteStateAutomata_Design

+ 51 - 0
integration/code/fsa_runtime.mvc

@@ -0,0 +1,51 @@
+import model/SimpleClassDiagrams as SCD
+include "primitives.alh"
+
+SCD FiniteStateAutomata_Runtime{
+    Class String {
+        $
+            if (bool_not(is_physical_string(self))):
+                return "String has no string value"!
+            else:
+                return "OK"!
+        $
+    }
+
+    Class State {
+        lower_cardinality = 1
+
+        name : String {
+            target_lower_cardinality = 1
+            target_upper_cardinality = 1
+        }
+    }
+
+    Class InitialState {
+        upper_cardinality = 1
+    }
+
+    Association Transition {
+        event : String {
+            target_lower_cardinality = 1
+            target_upper_cardinality = 1
+        }
+
+        raise : String {
+            target_upper_cardinality = 1
+        }
+    }
+
+    Inheritance (InitialState, State){}
+
+    Class CurrentState{
+        lower_cardinality = 1
+        upper_cardinality = 1
+    }
+
+    Association CurrentStateLink{
+        lower_cardinality = 1
+        upper_cardinality = 1
+    }
+}
+
+export FiniteStateAutomata_Runtime to models/FiniteStateAutomata_Runtime