cbd_design.mvc 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import models/SimpleClassDiagrams as SCD
  2. include "primitives.alh"
  3. SCD CausalBlockDiagrams_Design{
  4. Class Float {
  5. $
  6. if (bool_not(is_physical_float(self))):
  7. return "Natural has no float value"!
  8. else:
  9. return "OK"!
  10. $
  11. }
  12. Class Block{}
  13. Class ConstantBlock{
  14. value : Float {
  15. target_lower_cardinality = 1
  16. target_upper_cardinality = 1
  17. }
  18. }
  19. Class AdditionBlock{}
  20. Class NegatorBlock{}
  21. Class MultiplyBlock{}
  22. Class InverseBlock{}
  23. Class DelayBlock{}
  24. Association Link(Block, Block){}
  25. Association InitialCondition(Block, DelayBlock){
  26. source_lower_cardinality = 1
  27. source_upper_cardinality = 1
  28. }
  29. Inheritance (ConstantBlock, Block){}
  30. Inheritance (AdditionBlock, Block){}
  31. Inheritance (NegatorBlock, Block){}
  32. Inheritance (MultiplyBlock, Block){}
  33. Inheritance (InverseBlock, Block){}
  34. Inheritance (DelayBlock, Block){}
  35. }
  36. export CausalBlockDiagrams_Design to models/CausalBlockDiagrams_Design