Designing embedded software for safety-critical, real-time feedback control applications is a complex and error prone task. The challenges derive from design and implementation costs, time-to-market pressures, late detection of errors introduced early into the design, manual implementation of software, and the need for hardware to test the software (using embedded target platforms or prototypes), amongst other problems. Typical safety-critical applications, like steer-by-wire vehicles, contain a model of the components computing control laws and interacting with a plant using sensors and actuators. The control laws are implemented on an execution platform composed of a software layer (i.e. middleware, operating system, etc.) and a hardware layer (i.e. processing elements, communication channels, etc.). A model, or model of computation (MoC), is a mathematical abstraction that explains or predicts the behavior of a physical artifact or phenomenon. Well-defined mathematical models are often useful in the design of such systems because they allow the use of formal validation and analysis techniques, and they reduce ambiguity in capturing design specifications and translating specifications to an implementation, or deployment. The model is often times created in a visual, interactive environment using block diagrams or flowcharts, however visual representation is not necessary. The benefits of a model-based design are that models may be reused in various steps in the design and development of systems, they may be simulated to validate or clarify the behavior, they may be debugged before software is written, and they help facilitate automatic code generation which aid to reduce coding errors and coding time. Furthermore, formal analysis techniques may be used to quantitatively analyze models.




Download Full History