Information Technology Reference
In-Depth Information
AlarmSystem_StateMachine
Unlock
OpenAndUnlocked
Alarm
Activate Alarms /entry
Deactivate Alarms /exit
Lock
Open
Close
Unlock
ClosedAndUnlocked
OpenAndLocked
FlashAndSound
Unlock
Lock
Close
Open
30 / Deactivate Sound
ClosedAndLocked
Flash
20
Close
SilentAndOpen
Armed
Show Armed /entry
Show Unarmed /exit
300
Unlock
Open
Fig. 2. Car Alarm System - State Machine
Actions of closing, opening, locking, and unlocking are modeled by corresponding
signals Close , Open , Lock ,and Unlock . As specified in the first requirement, the
alarm system is armed after 20 seconds in ClosedAndLocked .Uponentryofthe
Armed state, the model calls the method AlarmArmed.SetOn .Uponleaving
the state, which can be done by either unlocking the car or opening a door,
AlarmArmed.SetOff is called. Similar, when entering the Alarm state, the optical
and acoustic alarms are enabled. When leaving the alarm state, either via a
timeout or via unlocking the car, both acoustic and optical alarm are turned
off. When leaving the alarm state after a timeout (cf. second requirement) we
decided to interpret the requirements in a way that the system returns to an
armed state only in case it receives a close signal. Turning off the acoustic alarm
after 30 seconds, as specified in the second requirement, is reflected in the time-
triggered transition leading to the Flash sub-state of the Alarm state.
2.3 Semantic Variation Points
Despite being machine readable, the presented UML model lacks precise seman-
tics. As an example, the event processing-machinery within a state machine is
not fully specified within the UML standard:
No assumptions are made about the time intervals between event occur-
rence, event dispatching, and consumption. This leaves open the possi-
bility of different semantic variations such as zero-time semantics. It is
a semantic variation whether an event is discarded if there is no appro-
priate trigger defined for them.
[1], Trigger, p. 456
These intentionally underspecified areas in the UML standard are called “se-
mantic variation points” and are used within the UML specification to provide
leeway for domain-specific refinements of the general UML semantics ([1], p. 17) .
Other semantic variation points affect, e.g., time events and signal events. When
Search WWH ::




Custom Search