mm_runtime.od 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # Link state ("signal")
  2. Signal:Class {
  3. # abstract = True;
  4. }
  5. Signal_signal:AttributeLink (Signal -> Integer) {
  6. name = "signal";
  7. optional = False;
  8. }
  9. hasSignal:Association (link -> Signal) {
  10. # every Signal has 1 link
  11. source_lower_cardinality = 1;
  12. source_upper_cardinality = 1;
  13. # every link has 0..1 Signals:
  14. target_upper_cardinality = 1;
  15. }
  16. # BoolSignal:Class
  17. # IntSignal:Class
  18. # StrSignal:Class
  19. # :Inheritance (BoolSignal -> Signal)
  20. # :Inheritance (IntSignal -> Signal)
  21. # :Inheritance (StrSignal -> Signal)
  22. # BoolSignal_signal:AttributeLink (BoolSignal -> Boolean) {
  23. # name = "signal";
  24. # optional = False;
  25. # }
  26. # IntSignal_signal:AttributeLink (IntSignal -> Integer) {
  27. # name = "signal";
  28. # optional = False;
  29. # }
  30. # StrSignal_signal:AttributeLink (StrSignal -> String) {
  31. # name = "signal";
  32. # optional = False;
  33. # }
  34. # Delay block state
  35. # mandatory - otherwise we cannot determine the output signal of a delay block
  36. State:Class {
  37. # abstract = True;
  38. }
  39. State_state:AttributeLink (State -> Integer) {
  40. name = "state";
  41. optional = False;
  42. }
  43. delay2State:Association (Delay -> State) {
  44. source_lower_cardinality = 1;
  45. source_upper_cardinality = 1;
  46. target_lower_cardinality = 1;
  47. target_upper_cardinality = 1;
  48. }
  49. # BoolState:Class
  50. # IntState:Class
  51. # StrState:Class
  52. # :Inheritance (BoolState -> State)
  53. # :Inheritance (IntState -> State)
  54. # :Inheritance (StrState -> State)
  55. # BoolState_state:AttributeLink (BoolState -> Boolean) {
  56. # name = "state";
  57. # optional = False;
  58. # }
  59. # IntState_state:AttributeLink (IntState -> Integer) {
  60. # name = "state";
  61. # optional = False;
  62. # }
  63. # StrState_state:AttributeLink (StrState -> String) {
  64. # name = "state";
  65. # optional = False;
  66. # }