R551 - modelint/shlaer-mellor-metamodel GitHub Wiki

R551 / 1:Mc

Class defines zero, one or many Polymorphic Event Specification

Polymorphic Event Specification is defined on exactly one Class


A polymorphic event is defined on some Class which may or may not have its behavior defined by a Lifecycle State Model. No State Model is required since the Polymorphic Event Specification will define a polymorphic event on that Class which is delegated.

Any given Class may or may not have polymorphic events defined on it.

Formalization

Polymorphic Event Specification.(Class, Domain) -> Class.(Name, Domain)

Constraints

Class R551c

/R551/R101/Facet/R102/Superclass == true

(the above traversal path originating from an instance of Polymorphic Event Specification must lead to a non-empty set of Superclass instances)