- A History of Increasing Complexity
- Mechatronic System Organization
- Amplifiers and Isolation
- Scope: The Unit Machine
- Real-Time Software
- Nasty Software Properties
- Engineering Design and Computational Performance
- Control System Organization
- Software Portability
- Operator Interface
- Multicomputer Systems: Communication
- The Design and Implementation Process
1.8 Engineering Design and Computational Performance
Too often, the only detailed documentation of real-time software is the program itself. Furthermore, the program is usually designed and written for a specific real-time target environment. The unfortunate consequence of this is that the engineering aspects of the design problem become inextricably intertwined with the computation aspects. This situation relates directly to the first design principle listed earlier, ". . . documentation should not be an afterthought." If the system engineering is separated from the computational technology, the documentation will have to exist independent of the program; otherwise, documentation can be viewed as an additional burden.
The following definitions will be used to separate these roles as they appear in the proposed methodology:
System engineering: Detailed specification of the relationship between the control software and the mechanical system.
Computational technology: A combination of computational hardware and system software that enables application software based on the engineering specification to meet its operational specifications.
Using these definitions, the engineering specification describes how the system works; the computational specification determines its performance. As a result of this separation, if a suitable paradigm is adopted to describe the engineering specifi-cation, a much broader discussion and examination can be brought to bear because the details of the engineering can be discussed by project participants familiar with the problem, not just those familiar with computing languages and real-time programming conventions. This provides for meaningful design review of projects that are software intensive.