Here is a very basic example of
how to create a state-chart from time-triggered behavioral requirements.
This example is a very simplistic implementation of a proximity sensor on a
parking-lot gate.
Note #1: A note on transition conditions
You may have transition conditions that do not fit very well directly on the
arcs themselves. It is OK (and in most cases preferred) to list the
transition conditions in a separate table. In the example below we
included it in the Transitions/States to Requirements Traceability table.
Keep in mind that if you choose to include the transition conditions on the
arcs themselves it must be absolutely clear which conditions apply to each arc.
Note #2: Remember to number your arcs.
Note #3: A note on activities:
Activities that are only performed once on entry are prefaced with a *.
All other activities are performed continuously as long as the system remains
in that state.
None
None
None
25.1 When CarPresent[x] is True, Gate[x]
shall be commanded to Open.
25.2 When CarPresent[x] is False, Gate[x] shall be commanded to
Close.

|
Transition |
Requirement |
Transition Conditions |
|
GC.1 |
25.1 |
CarPresent[x] == True |
|
GC.2 |
25.2 |
CarPresent[x] == False |
|
State |
Requirement |
Activity |
|
Gate Open |
25.1 |
Continuous: Gate[x] = Open |
|
Gate Closed |
25.2 |
Continuous: Gate[x] = Close |
|
Behavior |
State/Transition Arc |
|
25.1 |
State Gate Open, GC.1 |
|
25.2 |
State Gate Closed, GC.2 |