R554 - modelint/shlaer-mellor-metamodel GitHub Wiki
R554 / Generalization
Non Delegated Event is a Monomorphic Event or Forwarded Effective Event
These are the two cases where an Event is not delegated. Monomorphic Events are, by definition, never delegated. A polymorphic event can be delegated, but at some point an event that terminates delegation must be defined on some Subclass and this is the case with a Forwarded Effective Event.
Formalization
Monomorphic Event.(Name, State model, Domain) -> Non Delegated Event.(Name, State model, Domain)
Forwarded Effective Event.(Name, Class, Domain) -> Non Delegated Event.(Name, State model, Domain)
Note that the type of the State model
attribute is State Model Name defined as the union of the Rnum and Class Name types. So the referential constraint that a Class value must be present in an attribute named State model
typed as State Model Name works.