瀏覽代碼

Add MvK rules to be explicitly modelled and exported

Yentl Van Tendeloo 8 年之前
父節點
當前提交
486b8faf41
共有 2 個文件被更改,包括 115 次插入0 次删除
  1. 20 0
      bootstrap/MVK_rules.mvc
  2. 95 0
      bootstrap/current_MvK.mvc

+ 20 - 0
bootstrap/MVK_rules.mvc

@@ -0,0 +1,20 @@
+SimpleAttribute String {}
+SimpleAttribute Boolean {}
+
+Class Rule {
+    name : String
+}
+
+Class Node {
+    type : String
+    value? : String
+    match? : Boolean
+}
+
+Class Root : Node {}
+
+Association contains (Rule, Node) {}
+
+Association Edge : Node (Node, Node) {
+    name : String
+}

+ 95 - 0
bootstrap/current_MvK.mvc

@@ -0,0 +1,95 @@
+Rule if_init {
+    Root if_init_1 {
+        type = "="
+    }
+
+    Node if_init_2 {
+        type = "="
+    }
+
+    Node if_init_3 {
+        type = "="
+    }
+
+    Node if_init_4 {
+        type = "="
+        value = "init"
+    }
+
+    Node if_init_5 {
+        type = "="
+        value = !If
+    }
+
+    Node if_init_6 {
+        type = "+"
+    }
+
+    Node if_init_7 {
+        type = "="
+    }
+
+    Node if_init_8 {
+        type = "+"
+        value = "cond"
+    }
+
+    Node if_init_9 {
+        type = "="
+    }
+
+    Edge (if_init_1, if_init_2) {
+        name = "username"
+        type = "="
+    }
+
+    Edge (if_init_2, if_init_3) {
+        name = "'frame'"
+        type = "="
+    }
+
+    Edge (if_init_3, if_init_4) {
+        name = "'phase'"
+        type = "="
+    }
+
+    Edge (if_init_3, if_init_5) {
+        name = "'IP'"
+        type = "-"
+    }
+
+    Edge (if_init_3, if_init_6) {
+        name = "'evalstack'"
+        type = "+"
+    }
+
+    Edge (if_init_3, if_init_7) {
+        name = "'prev'"
+        type = "+"
+    }
+
+    Edge (if_init_3, if_init_9) {
+        name = "'IP'"
+        type = "+"
+    }
+
+    Edge (if_init_6, if_init_7) {
+        name = "'evalstack'"
+        type = "-"
+    }
+
+    Edge (if_init_7, if_init_5) {
+        name = "'inst'"
+        type = "+"
+    }
+
+    Edge (if_init_7, if_init_8) {
+        name = "'phase'"
+        type = "+"
+    }
+
+    Edge (if_init_5, if_init_9) {
+        name = "'cond'"
+        type = "="
+    }
+}