Browse Source

Add first version of CBD models used for live modelling

Yentl Van Tendeloo 7 years ago
parent
commit
37fef14d4d
3 changed files with 135 additions and 99 deletions
  1. 2 19
      models/cbd_design.mvc
  2. 76 0
      models/cbd_partial_runtime.mvc
  3. 57 80
      models/cbd_runtime.mvc

+ 2 - 19
models/cbd_design.mvc

@@ -1,24 +1,7 @@
 include "primitives.alh"
 
-Class Float {
-    constraint =  $
-        String function constraint(self : Element):
-            if (bool_not(is_physical_float(self))):
-                return "Float has no float value"!
-            else:
-                return "OK"!
-    $
-}
-
-Class String {
-    constraint = $
-        String function constraint(self : Element):
-            if (bool_not(is_physical_string(self))):
-                return "String has no string value"!
-            else:
-                return "OK"!
-    $
-}
+Class Float {}
+Class String {}
 
 Class Block{}
 Class ICBlock{}

+ 76 - 0
models/cbd_partial_runtime.mvc

@@ -0,0 +1,76 @@
+include "primitives.alh"
+
+Class Float {}
+Class String {}
+
+Class Block{
+    signal : Float {
+        target_lower_cardinality = 1
+        target_upper_cardinality = 1
+    }
+}
+Class ICBlock{
+    last_in : Float {
+        target_lower_cardinality = 0
+        target_upper_cardinality = 1
+    }
+}
+
+Class ConstantBlock{
+    value : Float {
+        target_lower_cardinality = 1
+        target_upper_cardinality = 1
+    }
+}
+
+Class ProbeBlock{
+    name : String {
+        target_lower_cardinality = 1
+        target_upper_cardinality = 1
+    }
+}
+
+Class AdditionBlock{}
+Class NegatorBlock{}
+Class MultiplyBlock{}
+Class InverseBlock{}
+Class DelayBlock{}
+Class IntegratorBlock{
+    last_out : Float {
+        target_lower_cardinality = 0
+        target_upper_cardinality = 1
+    }
+}
+
+Class DerivatorBlock{}
+Class Time{
+    lower_cardinality = 1
+    upper_cardinality = 1
+
+    start_time : Float {
+        target_lower_cardinality = 1
+        target_upper_cardinality = 1
+    }
+
+    current_time : Float {
+        target_lower_cardinality = 1
+        target_upper_cardinality = 1
+    }
+}
+
+Association Link(Block, Block){}
+Association InitialCondition(Block, ICBlock){
+    source_lower_cardinality = 0
+    source_upper_cardinality = 1
+}
+
+Inheritance (ConstantBlock, Block){}
+Inheritance (AdditionBlock, Block){}
+Inheritance (NegatorBlock, Block){}
+Inheritance (MultiplyBlock, Block){}
+Inheritance (InverseBlock, Block){}
+Inheritance (ICBlock, Block){}
+Inheritance (DelayBlock, ICBlock){}
+Inheritance (DerivatorBlock, ICBlock){}
+Inheritance (IntegratorBlock, ICBlock){}
+Inheritance (ProbeBlock, Block){}

+ 57 - 80
models/cbd_runtime.mvc

@@ -1,99 +1,76 @@
-import models/SimpleClassDiagrams as SCD
 include "primitives.alh"
 
-SCD CausalBlockDiagrams_Runtime{
-    Class Float {
-        constraint = $
-            String function constraint(self : Element):
-                if (bool_not(is_physical_float(self))):
-                    return "Float has no float value"!
-                else:
-                    return "OK"!
-        $
-    }
-
-    Class String {
-        $
-            String function constraint(self : Element):
-                if (bool_not(is_physical_string(self))):
-                    return "String has no string value"!
-                else:
-                    return "OK"!
-        $
-    }
+Class Float {}
+Class String {}
 
-    Class Block{
-        signal : Float {
-            target_lower_cardinality = 1
-            target_upper_cardinality = 1
-        }
+Class Block{
+    signal : Float {
+        target_lower_cardinality = 1
+        target_upper_cardinality = 1
     }
-    Class ICBlock{
-        last_in : Float {
-            target_lower_cardinality = 0
-            target_upper_cardinality = 1
-        }
+}
+Class ICBlock{
+    last_in : Float {
+        target_lower_cardinality = 0
+        target_upper_cardinality = 1
     }
+}
 
-    Class ConstantBlock{
-        value : Float {
-            target_lower_cardinality = 1
-            target_upper_cardinality = 1
-        }
+Class ConstantBlock{
+    value : Float {
+        target_lower_cardinality = 1
+        target_upper_cardinality = 1
     }
+}
 
-    Class ProbeBlock{
-        name : String {
-            target_lower_cardinality = 1
-            target_upper_cardinality = 1
-        }
+Class ProbeBlock{
+    name : String {
+        target_lower_cardinality = 1
+        target_upper_cardinality = 1
     }
+}
 
-    Class AdditionBlock{}
-    Class NegatorBlock{}
-    Class MultiplyBlock{}
-    Class InverseBlock{}
-    Class DelayBlock{}
-    Class IntegratorBlock{
-        last_out : Float {
-            target_lower_cardinality = 0
-            target_upper_cardinality = 1
-        }
+Class AdditionBlock{}
+Class NegatorBlock{}
+Class MultiplyBlock{}
+Class InverseBlock{}
+Class DelayBlock{}
+Class IntegratorBlock{
+    last_out : Float {
+        target_lower_cardinality = 0
+        target_upper_cardinality = 1
     }
+}
 
-    Class DerivatorBlock{}
-    Class Time{
-        lower_cardinality = 1
-        upper_cardinality = 1
-
-        start_time : Float {
-            target_lower_cardinality = 1
-            target_upper_cardinality = 1
-        }
+Class DerivatorBlock{}
+Class Time{
+    lower_cardinality = 1
+    upper_cardinality = 1
 
-        current_time : Float {
-            target_lower_cardinality = 1
-            target_upper_cardinality = 1
-        }
+    start_time : Float {
+        target_lower_cardinality = 1
+        target_upper_cardinality = 1
     }
 
-    Association Link(Block, Block){
-    }
-    Association InitialCondition(Block, ICBlock){
-        source_lower_cardinality = 0
-        source_upper_cardinality = 1
+    current_time : Float {
+        target_lower_cardinality = 1
+        target_upper_cardinality = 1
     }
+}
 
-    Inheritance (ConstantBlock, Block){}
-    Inheritance (AdditionBlock, Block){}
-    Inheritance (NegatorBlock, Block){}
-    Inheritance (MultiplyBlock, Block){}
-    Inheritance (InverseBlock, Block){}
-    Inheritance (ICBlock, Block){}
-    Inheritance (DelayBlock, ICBlock){}
-    Inheritance (DerivatorBlock, ICBlock){}
-    Inheritance (IntegratorBlock, ICBlock){}
-    Inheritance (ProbeBlock, Block){}
+Association Link(Block, Block){}
+Association InitialCondition(Block, ICBlock){
+    source_lower_cardinality = 0
+    source_upper_cardinality = 1
 }
 
-export CausalBlockDiagrams_Runtime to models/CausalBlockDiagrams_Runtime
+Inheritance (ConstantBlock, Block){}
+Inheritance (AdditionBlock, Block){}
+Inheritance (NegatorBlock, Block){}
+Inheritance (MultiplyBlock, Block){}
+Inheritance (InverseBlock, Block){}
+Inheritance (ICBlock, Block){}
+Inheritance (DelayBlock, ICBlock){}
+Inheritance (DerivatorBlock, ICBlock){}
+Inheritance (IntegratorBlock, ICBlock){}
+Inheritance (ProbeBlock, Block){}