R550 - modelint/shlaer-mellor-metamodel GitHub Wiki
R550 / Generalization
Event Specification is a Monomorphic Event Specification or Polymorphic Event Specification
Both kinds of Event Specification define a name and a set of parameters representing some real world occurrence.
What we normally think of as an Event is defined by a Monomorphic Event Specification. This kind of specification is simply associated with a State Model. In that State Model a response to the Event is chosen in each State.
A Polymorphic Event Specification is associated with a Class playing one or more Superclass roles. Here a root polymorphic Event is defined directly on that Class. From there, delegation to all of the Subclasses on each Generalization results in a number of delegated polymorphic events all defined by the same initial specification. Further delegation through repeated specialization to even more Subclasses can be defined resulting in yet more events, again defined by the same original specification. At some point a delegated polymorphic event can no longer be delegated at which point it is bound to a Lifecycle State Model where an event response is defined for each state.