Page 155 -
P. 155
138 Chapter 5 System modeling
Operation
Time
Checking
Cook
OK
Do: Check Do: Run
Status Generator
Turntable Emitter Timeout
Fault Fault
Alarm Done
Do: Display Do: Buzzer On
Event for 5 Secs.
Door Open Cancel
Figure 5.18 Microwave Disabled Waiting
oven operation
models. One way to do this is by using the notion of a superstate that encapsulates a
number of separate states. This superstate looks like a single state on a high-level
model but is then expanded to show more detail on a separate diagram. To illustrate
this concept, consider the Operation state in Figure 5.15. This is a superstate that can
be expanded, as illustrated in Figure 5.18.
The Operation state includes a number of sub-states. It shows that operation starts
with a status check and that if any problems are discovered an alarm is indicated and
operation is disabled. Cooking involves running the microwave generator for the
specified time; on completion, a buzzer is sounded. If the door is opened during
operation, the system moves to the disabled state, as shown in Figure 5.15.
5.5 Model-driven engineering
Model-driven engineering (MDE) is an approach to software development where mod-
els rather than programs are the principal outputs of the development process (Kent,
2002; Schmidt, 2006). The programs that execute on a hardware/software platform are
then generated automatically from the models. Proponents of MDE argue that this raises
the level of abstraction in software engineering so that engineers no longer have to be
concerned with programming language details or the specifics of execution platforms.
Model-driven engineering has its roots in model-driven architecture (MDA) which
was proposed by the Object Management Group (OMG) in 2001 as a new software
development paradigm. Model-driven engineering and model-driven architecture are
often seen as the same thing. However, I think that MDE has a wider scope than