Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.
Recording and Mapping State Changes
This topic discusses how to set constraints against each State in the State Machine under a Class, to define the change in state to be recorded.
Topics
Topic |
Detail |
See also |
---|---|---|
Example |
This example of a 'State Properties' dialog is for the State called Parliament; the 'Constraints' tab is open to show how the State is linked to the Class CXTrain. A State can be defined by a single constraint or by many; in the example, the State Parliament has two constraints:
The values of constraints can only be compared for elemental, enum and string types The CXTrain Class has a member called Location of type int, and a member called Departing.Name of type CString; what this constraint means is that this State is evaluated to True when:
|
Reporting a State Machine |
Operators in Constraints |
There are two types of operators you can use on constraints to define a State:
All the constraints for a State are subject to an AND operation unless otherwise specified; you can use the OR operation on them instead, so you could rewrite the constraints in the example as: Location=0 OR Location=1 AND Departing.Name!=Central Here are some examples of using the equivalence operators: Departing.Name!=Central AND Location!=1 |
Notes
- Quotes around strings are optional; the comparison for strings is always case-sensitive in determining the truth of a constraint
Learn more