saeaadl / emv2

AADL Error Model V2 annex language
0 stars 0 forks source link

Typed error states with subtypes #80

Open joeseibel opened 2 years ago

joeseibel commented 2 years ago

How should we handle multiple transitions that share the same source state, but have different source error types, and one of the types extends another? Consider the following example:

package StandardIssue
public
  annex EMV2 {**
    error behavior machine1
      use types ErrorLibrary;
      events
        error1: error event;
      states
        state1: initial state {ServiceError};
        state2: state;
        state3: state;
      transitions
        transition1: state1 {ServiceError} -[error1]-> state2;
        transition2: state1 {ServiceOmission} -[error1]-> state3;
    end behavior;
  **};
end StandardIssue;

To understand this example, it is important to remember that ServiceOmission extends from ServiceError. Should the above transitions be legal? If so, what does this mean? The standard should clarify how typed states interact with types and their subtypes. These questions also apply to error types on the condition as well.

brlarson commented 1 year ago

Certainly, error types distinguishing transitions must be disjoint.