Event - modelint/shlaer-mellor-metamodel GitHub Wiki

We distinguish between an occurrence and the specification of something that can happen. An Event specifies a kind of thing that can happen, Door opened, for example. This is what would be defined on the State Model for the Door Class.

During execution, this Event may occur repeatedly for one or more Door instances, Door opened on Door 3 on Tuesday at 15:17:03.21, for example, could be one occurrence of the Door opened Event. Here in the metamodel, the term event refers to its specification and not any particular occurrence.

To accommodate polymorphism, a further distinction must be made between where an Event is sent and where it is actually processed. The appearance of an Event on a State Model indicates only that the State Model is an addressable destination of that Event. If an Event will be processed on the same State Model where it is defined, it is an effective event. Otherwise, the Event may be delegated so that its processing is handled in multiple Subclass Lifecycles.

Identifiers

  1. Name + Subsystem element + Domain

Attributes

No non-referential attributes