R553 - modelint/shlaer-mellor-metamodel GitHub Wiki
R553 / M:Mc
Delegation On Generalization leads to one or many Subclass
Subclass is destination of zero, one or many Delegation On Generalization
A Delegation On Generalization tells us that a Delegated Event in some Generalization is be delegated to each Subclass of that Generalization. Since a Generalization must have at least two Subclasses, there will always be at least two delegation paths. For each delegation a Forwarded Event is defined on the target Subclass.
A given Subclass will only be the target of a delegation if its Superclass has at least one Delegated Event defined on it.
Formalization
Forwarded Event.(Delegated event, Superclass, Generalization, Domain) -> Delegation On Generalization.(Delegated event, Superclass, Generalization, Domain)
Forwarded Event.(Generalization, Subclass, Domain) -> Subclass.(Rnum, Class, Domain)