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.