1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import models/SimpleClassDiagrams as SCD
- include "primitives.alh"
- SCD CausalBlockDiagrams_Runtime{
- Class Float {
- $
- if (bool_not(is_physical_float(self))):
- return "Float has no float value"!
- else:
- return "OK"!
- $
- }
- Class String {
- $
- if (bool_not(is_physical_string(self))):
- return "String has no string value"!
- else:
- return "OK"!
- $
- }
- 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){}
- }
- export CausalBlockDiagrams_Runtime to models/CausalBlockDiagrams_Runtime
|