CBD_MM_partial_runtime.mvc 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. include "primitives.alh"
  2. SimpleAttribute Float {}
  3. SimpleAttribute String {}
  4. Class Block{
  5. signal : Float {
  6. target_lower_cardinality = 1
  7. target_upper_cardinality = 1
  8. }
  9. }
  10. Class ICBlock : Block {
  11. last_in : Float {
  12. target_lower_cardinality = 0
  13. target_upper_cardinality = 1
  14. }
  15. }
  16. Class ConstantBlock : Block {
  17. value : Float {
  18. target_lower_cardinality = 1
  19. target_upper_cardinality = 1
  20. }
  21. }
  22. Class ProbeBlock : Block {
  23. name : String {
  24. target_lower_cardinality = 1
  25. target_upper_cardinality = 1
  26. }
  27. }
  28. Class AdditionBlock : Block {}
  29. Class NegatorBlock : Block {}
  30. Class MultiplyBlock : Block {}
  31. Class InverseBlock : Block {}
  32. Class DelayBlock : ICBlock {}
  33. Class IntegratorBlock : ICBlock {
  34. last_out : Float {
  35. target_lower_cardinality = 0
  36. target_upper_cardinality = 1
  37. }
  38. }
  39. Class DerivatorBlock : ICBlock {}
  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. }