Temporal constraints (TemporalConstraint) provide the language support for capturing the concerns relating to discrete behavior, which emphasizes the dependency that a behavior has in regard to its own history and other behaviors on a timeline. They are useful for precisely defining requirements or design solutions.<br/><br/>A temporal constraint consists of a set of states of discrete behavior, a set of occurrences of discrete events, a set of discrete transitions; and a set of time intervals that constitute the logical time basis of discrete behavior<br/><br/>Constraints:<br/>[1] A Temporal constraint has a single initial state. <br/><br/>Semantics:<br/>The definition of temporal constraint is based on a generic definition of automata. That is, a temporal constraint is a tuple of: 1. a set of states of discrete behavior; 2. a set of occurrences of discrete events; 3. a set of discrete transitions; and 4. a set of time intervals that constitute the logical time basis of discrete behavior.<br/><br/>The execution has the following pattern: In one state, read certain parameter, upon certain parameter condition(s) and event occurrence(s), do certain transitions(s) to go to another state. Only one state is active during the operation.<br/>