Where used: State Change And Event Model, State Machine Model, State Model

State Type

Read First: State
Read Next: State Rule

A kind of object type that classifies the states of objects.  For
example, the state types Married and Single have as objects all the
states of people that are married and single respectively.  For example,
the Married state for Joe, which is supported by the tuple (Joe,
Mary), is an object of the Married state type.

The term "state"

In ordinary language, it is easy to confuse state and state types,
because we use the term "state" for two purposes:

  1) A particular objects is in a certain state.  For example, "Mary is
     in a state of employment".

  2) A type of object has a possible state.  For example, "People have a
     state of employment".

The first is a statement about what is actually true, that Mary is
employed.  The second is a statement about what might be true, that a
person may be employed.

These two usages of "state" are distinguished in OOIE.  The states
relating to types are called state types, like Married and Single are
for Person.  When Person is instantiated, the states types must become
specific to that particular person.  For example, Joe's married state is
not the same as Mary's married state, even if they are married to each
other.  This is called a "state" in OOIE.


State type inheritance

Any state types for an object type inherit to specialization of that
object type.  For example, using our example of Person with state types
Married and Single, we might subtype Person into citizens of the United
States, Ireland, and so on.  All these citizens inherit the same states,
and some countries may add more states, like Divorced.  

The meta-model supports inheriting state types, because a state type is
a generalization of the corresponding state types in the specialized
object types.  For example, the state type Single of Person is a
generalization of Single in US Citizen, that is, all the objects of
Single in US Citizen are objects of Single in Person.

Read First: State
Read Next: State Rule     


Attributes: None

Operations: None