Appendix F. Excerpts

From the SysML section 7.9.1 Occurrences Overview

Occurrences

The extent of an occurrence in time is known as its lifetime, which covers the period in time from the occurrence's creation to its destruction. An occurrence maintains its identity over its lifetime, while the values of its features may change over time. The lifetime of an occurrence begins when the identity of the occurrence is established, and the lifetime ends when the occurrence loses its identity. For example, the lifetime of a car could begin when it leaves the production-line, or when a vehicle identification number is assigned to the car. Similarly, the lifetime of a car could end when the car is disassembled or demolished.

Time Slices and Snapshots

The lifetime of an occurrence can be partitioned into time slices which correspond to some duration of time. These time slices represent periods or phases of a lifetime, such as the deployment or operational phase. Time slices can be further partitioned into other time slices. For example, the lifetime of a car might be divided into time slices corresponding to its assembly, being in inventory before being sold, and then sequential periods of ownership with different owners. A time slice with zero duration is a snapshot. Start, end and intermediate snapshots can be defined for any time slice to represent particular instants of time in an occurrence's lifetime. For example, the start snapshot of each ownership time slice of a car corresponds to the sale of the car to a new owner, which happens at the same time as the end snapshot of the previous ownership (or inventory) time slice.

Individuals

The lifetime of an individual and any of its time slices can be actual or projected. For example, the individual car Car1 may be purchased as a used car. Car1 has had an actual lifetime up to that time. A mechanic may perform diagnostics and obtain some measurements, and may estimate the remaining life of the car or its parts based on the measurements. For example, the mechanic may estimate the remaining lifetime of the tires, based on the tread measurements and the estimated tire wear rate. At a given point in time, the condition of an individual (sometimes called its "state", which should not be confused with a behavioral state usage, as described in 7.17) can be specified by the values of its attributes. As an example, the condition of car1inOperation at different points in time can be specified in terms of its acceleration, velocity, and position. The condition of the car can continue to change over its lifetime, and can be specified as a function of discrete and/or continuous time.

The Kernel Semantic Library Class Life classifies all Occurrences that are maximal portions, that is, those Occurrences that are not a portion of any other Occurrence. Every Occurrence is a portion of some Life (possibly itself) [...]. An individual Occurrence is modeled as the subclass that includes a single Life and all possible portions (in time and space) of that Life. Colloquially, a Life represents the "identity" of an individual and the totality of its existence in space and time. The required Specializations and sufficiency of a LifeClass mean that it is the subclass of all Lives that are also instances of the owning OccurrenceDefinition.

The zeroOrOne multiplicity of the LifeClass then asserts that the LifeClass has at most a single instance, meaning that there is at most one instance of the owning OccurrenceDefinition that is a Life. If this instance exists, then all other instances of the OccurrenceDefinition will be portions of it, and the OccurrenceDefinition will then model exactly a single individual, as described above. If the instance does not exist, then the extent of OccurrenceDefinition will be empty, meaning no such individual exits. (The optional multiplicity on a LifeClass thus provides for the ability to model counterfactual situations in which a certain individual is asserted not to exist.)