Example - State Modelling
Next, we need to model the dynamic behaviour as well using a state machine:
State Machine for the Fuel System
In this case, there are four states:
- UseBothTanks - This is the starting (default) state, in which the centre valve is closed, fuel from the left tank feeds the left pump, and fuel from the right tank feeds the right pump.
- UseLeftTank - This occurs when there is no fuel flow from the right tank, in which case the centre valve is opened and fuel from the left tank is used to feed both pumps.
- UseRightTank - This occurs when there is no fuel flow from the left tank, in which case the centre valve is opened and fuel from the right tank is used to feed both pumps.
- PumpFailure - This is a failure state and occurs when one or both pumps is starved of fuel, thereby causing at least one engine to stall.
Once this is done, we link the architecture model to the state machine, so the architecture model gains access to the states we have defined:
Linking the models