1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- # Link state ("signal")
- Signal:Class {
- # abstract = True;
- }
- Signal_signal:AttributeLink (Signal -> Integer) {
- name = "signal";
- optional = False;
- }
- hasSignal:Association (link -> Signal) {
- # every Signal has 1 link
- source_lower_cardinality = 1;
- source_upper_cardinality = 1;
- # every link has 0..1 Signals:
- target_upper_cardinality = 1;
- }
- # BoolSignal:Class
- # IntSignal:Class
- # StrSignal:Class
- # :Inheritance (BoolSignal -> Signal)
- # :Inheritance (IntSignal -> Signal)
- # :Inheritance (StrSignal -> Signal)
- # BoolSignal_signal:AttributeLink (BoolSignal -> Boolean) {
- # name = "signal";
- # optional = False;
- # }
- # IntSignal_signal:AttributeLink (IntSignal -> Integer) {
- # name = "signal";
- # optional = False;
- # }
- # StrSignal_signal:AttributeLink (StrSignal -> String) {
- # name = "signal";
- # optional = False;
- # }
- # Delay block state
- # mandatory - otherwise we cannot determine the output signal of a delay block
- State:Class {
- # abstract = True;
- }
- State_state:AttributeLink (State -> Integer) {
- name = "state";
- optional = False;
- }
- delay2State:Association (Delay -> State) {
- source_lower_cardinality = 1;
- source_upper_cardinality = 1;
- target_lower_cardinality = 1;
- target_upper_cardinality = 1;
- }
- # BoolState:Class
- # IntState:Class
- # StrState:Class
- # :Inheritance (BoolState -> State)
- # :Inheritance (IntState -> State)
- # :Inheritance (StrState -> State)
- # BoolState_state:AttributeLink (BoolState -> Boolean) {
- # name = "state";
- # optional = False;
- # }
- # IntState_state:AttributeLink (IntState -> Integer) {
- # name = "state";
- # optional = False;
- # }
- # StrState_state:AttributeLink (StrState -> String) {
- # name = "state";
- # optional = False;
- # }
|