State¶
A State describes some situation in the world which may or may not be satisfied (true) at a given point in time. A State refers to a class of manifestations. It may be a precondition or effect of some Activity, or more generally it may be enabled or be caused by some Activity. If a state is complex, it may refer to some combination of classes of manifestations. Example: A shopping activity, Activity-Shop, can require both the VehicleW30LGas state, but also some state wherein the mall is open, OpenMall. Each state is defined separately. The combined state is then defined as the conjunction of the two states. Thus, we could say that the preconditions for Activity-Shop are: precondition(VehicleW30LGas,Activity-Shop) AND precondition(OpenMall,Activity-Shop). Alternatively, if the preconditions were required disjunctively, we could state: precondition(VehicleW30LGas,Activity-Shop) OR precondition(OpenMall,Activity-Shop). In large and complex domains, there can be cases in which the above approach is undesirable. In particular, due to the complexity of the description that results as the state being described becomes more detailed. In many cases it will be more natural and convenient to be able to refer to a single, aggregate state. We therefore extend the representation of States to capture aggregation, as approached in the concept of state trees introduced by TOVE as a construct for the activity cluster. A State may be either non-terminal or terminal. A terminal state has no child states, and therefore refers directly to a class of manifestations, whereas a non-terminal state has child states, which may define some classes of manifestations, or further define some other complex states. NonTerminalState(x) v TerminalState(x) = State(x) A state cannot be both non-terminal and terminal. TerminalState disjointWith NonTerminalState
IRI: https://w3id.org/citydata/part1/v1/State
Diagram¶

Specializations of State¶
| Class | Description |
|---|---|
| Conjunctive State | A type of NonTerminalState that is defined by the conjunction of its child States. |
| Consume State | Identifies a Resource and Quantity it consumes. The Quantity is removed from the Resource. |
| Disjunctive State | A type of NonTerminalState that is defined by the disjunction of its child States. A State cannot be both conjunctive and disjunctive. |
| Manifestation State | A specialization of TerminalState, the ManifestationState specifies a Manifestation class that an individual must satisfy in order for the ManifestationState to be true. |
| Non Terminal State | A NonTerminalState has child States (a.k.a., sub-states) that are either conjuctive or disjunctive. Each child may be a TerminalState or NonTerminalState; eventually a TerminalState is reached. A State cannot be both non-terminal and terminal. |
| Produce State | Identifies a Resource and Quantity it produces. |
| Release State | Identifies a Resource and Quantity it releases (after using). |
| Terminal Resource State | |
| Terminal State | A terminal state type has no substates (cannot be decomposed). It corresponds to a particular class of manifestations. A terminal state is achieved at some time if and only if there exists a manifestation within its defined classification, that exists at that time. |
| Use State | Identifies a Resource and Quantity it uses (without consuming). |
Formalization for State¶
| Property | Constraint |
|---|---|
| achievedAt | only time:TemporalEntity |
| achievedAt | only time:TemporalEntity |
| causedByActivity | only Activity |
| causedByActivity | only Activity |
| effectOf | only Activity |
| effectOf | only Activity |
| enablesActivity | only Activity |
| enablesActivity | only Activity |
| hasStatus | exactly 1 |
| hasStatus | exactly 1 StateStatus |
| preconditionOf | only Activity |
| preconditionOf | only Activity |
| scheduledFor | max 1 |
| scheduledFor | max 1 time:Interval |
| subClassOf | ActivityThing |