Преглед изворни кода

Added DerivativeBlock and IntegratorBlock to CBD metamodels

Yentl Van Tendeloo пре 8 година
родитељ
комит
e4d21750ba
2 измењених фајлова са 33 додато и 10 уклоњено
  1. 11 8
      integration/code/cbd_design.mvc
  2. 22 2
      integration/code/cbd_runtime.mvc

+ 11 - 8
integration/code/cbd_design.mvc

@@ -12,6 +12,7 @@ SCD CausalBlockDiagrams_Design{
     }
 
     Class Block{}
+    Class ICBlock{}
 
     Class ConstantBlock{
         value : Float {
@@ -21,16 +22,15 @@ SCD CausalBlockDiagrams_Design{
     }
 
     Class AdditionBlock{}
-    Class NegatorBlock{
-    }
+    Class NegatorBlock{}
     Class MultiplyBlock{}
-    Class InverseBlock{
-    }
-    Class DelayBlock{
-    }
+    Class InverseBlock{}
+    Class DelayBlock{}
+    Class IntegratorBlock{}
+    Class DerivatorBlock{}
 
     Association Link(Block, Block){}
-    Association InitialCondition(Block, DelayBlock){
+    Association InitialCondition(Block, ICBlock){
         source_lower_cardinality = 1
         source_upper_cardinality = 1
     }
@@ -40,7 +40,10 @@ SCD CausalBlockDiagrams_Design{
     Inheritance (NegatorBlock, Block){}
     Inheritance (MultiplyBlock, Block){}
     Inheritance (InverseBlock, Block){}
-    Inheritance (DelayBlock, Block){}
+    Inheritance (ICBlock, Block){}
+    Inheritance (DelayBlock, ICBlock){}
+    Inheritance (IntegratorBlock, ICBlock){}
+    Inheritance (DerivatorBlock, ICBlock){}
 }
 
 export CausalBlockDiagrams_Design to models/CausalBlockDiagrams_Design

+ 22 - 2
integration/code/cbd_runtime.mvc

@@ -26,6 +26,7 @@ SCD CausalBlockDiagrams_Runtime{
             target_upper_cardinality = 1
         }
     }
+    Class ICBlock{}
 
     Class ConstantBlock{
         value : Float {
@@ -44,6 +45,22 @@ SCD CausalBlockDiagrams_Runtime{
             target_upper_cardinality = 1
         }
     }
+    Class IntegratorBlock{
+        last_in : Float {
+            target_lower_cardinality = 0
+            target_upper_cardinality = 1
+        }
+        last_out : Float {
+            target_lower_cardinality = 0
+            target_upper_cardinality = 1
+        }
+    }
+    Class DerivatorBlock{
+        last_in : Float {
+            target_lower_cardinality = 0
+            target_upper_cardinality = 1
+        }
+    }
 
     Class Time{
         lower_cardinality = 1
@@ -62,7 +79,7 @@ SCD CausalBlockDiagrams_Runtime{
 
     Association Link(Block, Block){
     }
-    Association InitialCondition(Block, DelayBlock){
+    Association InitialCondition(Block, ICBlock){
         source_lower_cardinality = 0
         source_upper_cardinality = 1
     }
@@ -72,7 +89,10 @@ SCD CausalBlockDiagrams_Runtime{
     Inheritance (NegatorBlock, Block){}
     Inheritance (MultiplyBlock, Block){}
     Inheritance (InverseBlock, Block){}
-    Inheritance (DelayBlock, Block){}
+    Inheritance (ICBlock, Block){}
+    Inheritance (DelayBlock, ICBlock){}
+    Inheritance (DerivatorBlock, ICBlock){}
+    Inheritance (IntegratorBlock, ICBlock){}
 }
 
 export CausalBlockDiagrams_Runtime to models/CausalBlockDiagrams_Runtime