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)