cbd_design.mvc 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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 "Float has no float value"!
  8. else:
  9. return "OK"!
  10. $
  11. }
  12. Class Block{}
  13. Class ICBlock{}
  14. Class ConstantBlock{
  15. value : Float {
  16. target_lower_cardinality = 1
  17. target_upper_cardinality = 1
  18. }
  19. }
  20. Class AdditionBlock{}
  21. Class NegatorBlock{}
  22. Class MultiplyBlock{}
  23. Class InverseBlock{}
  24. Class DelayBlock{}
  25. Class IntegratorBlock{}
  26. Class DerivatorBlock{}
  27. Association Link(Block, Block){}
  28. Association InitialCondition(Block, ICBlock){
  29. source_lower_cardinality = 1
  30. source_upper_cardinality = 1
  31. }
  32. Inheritance (ConstantBlock, Block){}
  33. Inheritance (AdditionBlock, Block){}
  34. Inheritance (NegatorBlock, Block){}
  35. Inheritance (MultiplyBlock, Block){}
  36. Inheritance (InverseBlock, Block){}
  37. Inheritance (ICBlock, Block){}
  38. Inheritance (DelayBlock, ICBlock){}
  39. Inheritance (IntegratorBlock, ICBlock){}
  40. Inheritance (DerivatorBlock, ICBlock){}
  41. }
  42. export CausalBlockDiagrams_Design to models/CausalBlockDiagrams_Design