Root Delegated Event - modelint/shlaer-mellor-metamodel GitHub Wiki
Every Polymorphic Event Specification designates one Event, defined on a Superclass, that initiates the chain of delegation. This is the root delegated event.
Here's what this looks like in an example:
images/event-subsystem/root-delegated-event-10.png
In the example above, the Polymorphic Event Specification designates one Event on one Superclass as the Root Delegated Event.
Each other Event defined by that same Open specification is a target of delegation.
In general terms, consider three polymorphic events A, B, and C, each conforming to the same Polymorphic Event Specification. All three events share the same name and State Signature. These events are defined on a Generalization G consisting of one Superclass and two Subclasses.
Now let's say that A is defined on the Superclass with B defined on one Subclass and C on the other.
Since A is defined on a Superclass, it must delegate to the B and C events. In other words, a signal addressed to A will be forwarded to either B or C depending on how G is instantiated.
We consider A to be the Root Delegated Event since no event delegates to it.
Every Polymorphic Event Specification designates one such Root Delegated Event to initiate the chain of delegation.
Identifiers
- Name + Class + Domain
Attributes
No non-referential attributes