Lifecycle - modelint/shlaer-mellor-metamodel GitHub Wiki

Each instance of a Class generally has a lifetime. Objects are created, they progress through certain stages, and then they go away. Their behavior is a progression through various stages over time. These changes over time are known as the lifecycle of the object. [MB]

Since a Class is the definition of a set of things with the same behavior, it should be possible to specify a model of that behavior that applies equally to each and every instance of that Class. A Lifecycle is just such a model.

images/state-subsystem/lifecycle-10.png

A classic Lifecycle example is that of an elevator Door with a circular pattern of stages such as Open, Closing, Closed, Locked, and Opening. A non-physical Class such as missile Engagement might involve a linear pattern of stages of target acquisition, tracking, shooting and either success or failure. In each of these cases it may be necessary to create the relevant instance at the beginning of its Lifecycle and then delete it at the end. Persistent instances may be defined as well which permanently exist without the need for runtime creation and deletion.

Identifiers

  1. Class + Domain

Attributes

No non-referential attributes