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
Subtypes: None