cbd_design.mvc 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. }
  22. Class MultiplyBlock{}
  23. Class InverseBlock{
  24. }
  25. Class DelayBlock{
  26. }
  27. Association Link(Block, Block){}
  28. Association InitialCondition(Block, DelayBlock){
  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 (DelayBlock, Block){}
  38. }
  39. export CausalBlockDiagrams_Design to models/CausalBlockDiagrams_Design
  40. CausalBlockDiagrams_Design my_CBD{
  41. ConstantBlock a{
  42. value = 1.0
  43. }
  44. ConstantBlock b{
  45. value = 2.0
  46. }
  47. AdditionBlock c{}
  48. DelayBlock d{}
  49. Link(a, c){}
  50. Link(b, c){}
  51. Link(c, d){}
  52. InitialCondition(a, d){}
  53. Link(d, c){}
  54. }
  55. export my_CBD to models/my_CBD