Creating State Machines
Two methods exist for creating state machines: from an activity or from the navigation tree. For a state machine to be set in the operational range, it must meet one of the following constraints: be connected to an activity or be explicitly marked as operational using the Architecture View Type property. If the property is set using the Operational Architecture View or the All Views value, the state machine is considered an operational one. Therefore, when the user creates a new state machine in the navigation tree, the property is set to Operational Architecture Views and states described in the state machine must relate to an operational state machine.
Other operational state machines can be created directly from an activity. In order to retrieve all the state machines, a sub-folder is added to the NOV-6b folder. New state machines can be created from this location.
Once a state machine has been created it can be described using state diagrams. These diagrams contain events and successions from event to event.
To create an operational architecture state machine:
1. In the NAF navigation tree, expand the NOV-6b - Operational State transition Description folder.
2. Right click Operational State Machines folder and select New > State Machine.
3. In the dialog box that appears, enter the name of the state machine and click OK.
The new state machine is created in the Operational State Machines folder.
You can change the property of the behavior in the Properties page of the folder in the NAF State Level tab.
If you select "All Views", the behavior also appears in the NSV-10b folder.
The figure below is an illustration of a state diagram.
Example of a State Diagram (Conduct Joint Force Targeting States)
An event relates to a point in time while the succession matches what happens between two events. To create a state diagram the user must remember that each arrow corresponds to a state and each graphical circle corresponds to the transition.
If a state can be reached from two or more previous states, then a synchronization object must be used.
If a state can reach two or more following states then a decision object must be used (for example the Execution Completed state in the previous figure).