Event - modelint/shlaer-mellor-metamodel GitHub Wiki

An event is the abstraction of an incident in the domain that tells us that something has happened. [MB]

The trick here is to distinguish between the specification of the event, the possibIn the Elevator Case Study, the Door Lifecycle State Model abstracts the Door opened Event. It models the occurrence of some elevator cabin door opening.

It is important to 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 runtime, this Event may occur multiple times, for one or more Door instances, Door opened on Door 3 on Tuesday at 15:17:03.21, could be one occurrence of the Door opened Event, for example. So the term ‘event’ as defined here is a part of its specification. The terms ‘occurrence’ or ‘instance’ should be used to clarify a particular occurrence of an Event.

To accommodate polymorphism, a further distinction must be made between where an Event is addressed and where it is actually processed. The declaration of an Event on a State Model indicates only that the State Model is an addressable destination of the 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 Lifecycle State Models.

Identifiers

  1. Name + Subsystem element + Domain

Attributes

No non-referential attributes