Skip to content

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

cluster_associated ActivityThing ActivityThing State State State->ActivityThing Activity Activity State->Activity causedByActivity State->Activity effectOf State->Activity enablesActivity State->Activity preconditionOf StateStatus StateStatus State->StateStatus hasStatus 1 time_Interval time:Interval State->time_Interval scheduledFor 0..1 time_TemporalEntity time:TemporalEntity State->time_TemporalEntity achievedAt

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

Used by classes

Class Property
Activity causesState
Activity enabledByState
Activity hasEffect
Activity hasPrecondition
Non Terminal State hasSubstate
Recurring Event beginsRecurringState
Recurring Event endsRecurringState