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