Page 54 - The Mechatronics Handbook
P. 54

s
                                                                           System Requirements


                                                                            Strategic Controls



                                                                             Tactical Controls


                                                                            Operational Controls



                                                                            Hardware Service


                                                                             Hardware Drivers


                                                                            Hardware Interfaces


                                                                            Hardware Sensors,
                                                                              Actuators, and
                                 FIGURE 3.11  Mechatronic software layering.  Peripherals
                                 Software Design
                                 Perhaps the most important part of the software design for a mechatronic system can be seen from the
                                 hierarchy in Fig. 3.11. Ranging from requirements at the top to hardware at the bottom, this layering
                                 serves several purposes. The most important is that it separates mechatronic functionality from imple-
                                 mentation. Quite simply, an upper layer should not be concerned with how a lower layer is actually
                                 performing a task. Each layer instead is directed by the layer above and receives a service or status from a
                                 layer below it. To cross more than one layer boundary is bad technique and can cause problems later in
                                 the process. Remember that this process abstraction is quite useful, for a mechatronic system has mechan-
                                 ical, electrical, and software parts all in concurrent development. A change in a sensor or actuator interface
                                 should only require a change at the layer immediately above, the driver layer. There is one last reason for
                                 using a hierarchical model such as this. In the current business climate, it is unlikely that the people
                                 working at the various layers will be collocated. Instead, it is not uncommon for development to be taking
                                 place in multiple locations in multiple countries. Without a crisp division of these layers, chaos can result.
                                   For more information on these and many other topics in software engineering such as coupling,
                                 cohesion, and software reuse, please refer to Chapter 49 of this handbook, Roger Pressman’s book Software
                                 Engineering: A Practitioner’s Approach 5th Edition (McGraw Hill 2000), and Steve McConnell’s book Code
                                 Complete (Microsoft Press 1993).

                                 3.9 Testing and Instrumentation


                                 Verification and Validation
                                 Verification and validation are related tasks that should be completed throughout the life cycle of the
                                 mechatronic product or system. Boehm in his book Software Engineering Economics (Prentice-Hall 1988)
                                 describes verification as “building the product right” while validation is “building the right product.” In
                                 other words, verification is the testing of the software and product to make sure that it is built to the
                                 design. Validation, on the other hand, is to make sure the software or product is built to the requirements

                                 ©2002 CRC Press LLC
   49   50   51   52   53   54   55   56   57   58   59