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
   150   151   152   153   154   155   156   157   158   159   160