cbd_runtime.mvc 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. include "primitives.alh"
  2. Class Float {}
  3. Class String {}
  4. Class Block{
  5. signal : Float {
  6. target_lower_cardinality = 1
  7. target_upper_cardinality = 1
  8. }
  9. }
  10. Class ICBlock{
  11. last_in : Float {
  12. target_lower_cardinality = 0
  13. target_upper_cardinality = 1
  14. }
  15. }
  16. Class ConstantBlock{
  17. value : Float {
  18. target_lower_cardinality = 1
  19. target_upper_cardinality = 1
  20. }
  21. }
  22. Class ProbeBlock{
  23. name : String {
  24. target_lower_cardinality = 1
  25. target_upper_cardinality = 1
  26. }
  27. }
  28. Class AdditionBlock{}
  29. Class NegatorBlock{}
  30. Class MultiplyBlock{}
  31. Class InverseBlock{}
  32. Class DelayBlock{}
  33. Class IntegratorBlock{
  34. last_out : Float {
  35. target_lower_cardinality = 0
  36. target_upper_cardinality = 1
  37. }
  38. }
  39. Class DerivatorBlock{}
  40. Class Time{
  41. lower_cardinality = 1
  42. upper_cardinality = 1
  43. start_time : Float {
  44. target_lower_cardinality = 1
  45. target_upper_cardinality = 1
  46. }
  47. current_time : Float {
  48. target_lower_cardinality = 1
  49. target_upper_cardinality = 1
  50. }
  51. }
  52. Association Link(Block, Block){}
  53. Association InitialCondition(Block, ICBlock){
  54. source_lower_cardinality = 0
  55. source_upper_cardinality = 1
  56. }
  57. Inheritance (ConstantBlock, Block){}
  58. Inheritance (AdditionBlock, Block){}
  59. Inheritance (NegatorBlock, Block){}
  60. Inheritance (MultiplyBlock, Block){}
  61. Inheritance (InverseBlock, Block){}
  62. Inheritance (ICBlock, Block){}
  63. Inheritance (DelayBlock, ICBlock){}
  64. Inheritance (DerivatorBlock, ICBlock){}
  65. Inheritance (IntegratorBlock, ICBlock){}
  66. Inheritance (ProbeBlock, Block){}