The authors set out to address fundamental design issues facing engineers when developing the software for real-time computer-based control systems – in which all programs must be safe, reliable, predictable and able to cope with the occurence of faults.
Despite rapid progress in computer technology, the attention of designers is still focused on finding logically correct algorithms to implement the required control. It has, however, become evident that this is insufficient and that attention must be paid to meeting the complex timing interactions which occur between the systems under control and the computers controlling them. This book suggests that the answers lie in the use of understandable, engineering-relevant, mathematically sound tools for expressing and analysing the complex temporal interactions.
Timing Analysis of Real-Time Software is not a designer's handbook; rather it discusses the nature of the problems involved and how they can be handled. The focus is on the use of modelling techniques based on the so-called Quirk-model, initially developed in the United Kingdom and, over the past decade, extensively developed in institutions in the ex-Soviet Union and Europe. This book shows how the techniques can be used to form the basis of a new generation of CASE (computer assisted software engineering) tools, and examples are given of how these can be used to design embedded systems ranging from digital controllers through to communication protocol handlers.
For senior undergraduates, postgraduates and researchers involved in the design of embedded or real-time software and to all practising software engineers.
Acknowledgements. Preface. Characteristics of Real-Time Software. Classes of programs. Embedded systems and real-time systems. Influencing factors. Hierarchy of virtual machines. Characteristics of software for embedded systems. Time Concepts in Embedded Software. Understanding real-time. Some pragmatic terms used in software practice. What are timing properties? The philosophy of time. Examples of using different time concepts in software. Mixed use of multiple time concepts. Summary. A Review of Embedded Software Description Methods. Review strategy. Specification methods and tools based on a bottom-up approach. Specification methods and tools based on a top-down approach. Formalisms in CASE systems. Evolutionary Trends in CASE tools for real-time applications. Summary. The Q-Model. Basics for developing a computational model. Formal definition of a process. Formal definition of process interaction. Description of a system in the Q-model. Representation of the Q-Model. The inner structure of a process. Practical problems of synchronisation and communication. Summary of attributes of processes and channels. Describing Systems with the Q-Model: Some Examples. Software for a direct digital controller. The five dining philosophers. Conclusions. Analysis of a System Described by the Q-Model. Checking separate elements of a specification. Checking communications between two processes. Checking groups of communication processes. Conclusions. A Case Environment based on the Q-Model. Goals of the proposed environment. A software development methodology. Overall structure of the new environment. CONRAD: an embedded software specification environment. Conclusions. A Case Study: Specifying a Communications Protocol. The LLC protocol - a brief introduction. The type-3 standard. Specifying LLC with CONRAD. Conclusions. Appendices: A Brief Comparison of Petri-Nets and Q-Model. Basic concepts. Some petri-net properties. The Q-model and petri-nets. Proof of Propositions. The Q-Model and a First-Order Predicate Calculus. A language for system description (LSD). A calculus for system description (CSD). Process communication in CSD. References. Index.
20 line drawings.
- © Pergamon 1994
- 1st December 1994
- eBook ISBN:
University of Wales, Swansea, UK
Tallinn Technical University, Estonia