Real-Time Systems


Book Description

7. 6 Performance Comparison: ET versus TT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 7. 7 The Physical Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Points to Remember . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Review Questions and Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Chapter 8: The Time-Triggered Protocols. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 8. 1 Introduction to Time-Triggered Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 8. 2 Overview of the TTP/C Protocol Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 8. 3 TheBasic CNI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Internal Operation of TTP/C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 8. 4 8. 5 TTP/A for Field Bus Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Points to Remember. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Review Questions and Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Chapter 9: Input/Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 9. 1 The Dual Role of Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 9. 2 Agreement Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 9. 3 Sampling and Polling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 9. 4 Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 9. 5 Sensors and Actuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 9. 6 Physical Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Points to Remember. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Review Questions and Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Chapter 10: Real-Time Operating Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 10. 1 Task Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 10. 2 Interprocess Communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 10. 3 Time Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 10. 4 Error Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 10. 5 A Case Study: ERCOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Points to Remember. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Bibliographic Notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Review Questions and Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Chapter 11: Real-Time Scheduling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 11. 1 The Scheduling Problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 11. 2 The Adversary Argument. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 11. 3 Dynamic Scheduling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 x TABLE OF CONTENTS 11. 4 Static Scheduling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Points to Remember. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Bibliographic Notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Review Questions and Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Chapter 12: Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 12. 1 Building aConvincing Safety Case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 12. 2 Formal Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 12. 3 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .




Real-Time Systems Design and Analysis


Book Description

"IEEE Press is pleased to bring you this Second Edition of Phillip A. Laplante's best-selling and widely-acclaimed practical guide to building real-time systems. This book is essential for improved system designs, faster computation, better insights, and ultimate cost savings. Unlike any other book in the field, REAL-TIME SYSTEMS DESIGN AND ANALYSIS provides a holistic, systems-based approach that is devised to help engineers write problem-solving software. Laplante's no-nonsense guide to real-time system design features practical coverage of: Related technologies and their histories Time-saving tips * Hands-on instructions Pascal code Insights into decreasing ramp-up times and more!"




Real-Time Systems Development


Book Description

Real-Time Systems Development introduces computing students and professional programmers to the development of software for real-time applications. Based on the academic and commercial experience of the author, the book is an ideal companion to final year undergraduate options or MSc modules in the area of real-time systems design and implementation. Assuming a certain level of general systems design and programming experience, this text will extend students' knowledge and skills into an area of computing which has increasing relevance in a modern world of telecommunications and 'intelligent' equipment using embedded microcontrollers. This book takes a broad, practical approach in discussing real-time systems. It covers topics such as basic input and output; cyclic executives for bare hardware; finite state machines; task communication and synchronization; input/output interfaces; structured design for real-time systems; designing for multitasking; UML for real-time systems; object oriented approach to real-time systems; selecting languages for RTS development; Linux device drivers; and hardware/software co-design. Programming examples using GNU/Linux are included, along with a supporting website containing slides; solutions to problems; and software examples. This book will appeal to advanced undergraduate Computer Science students; MSc students; and, undergraduate software engineering and electronic engineering students. * Concise treatment delivers material in manageable sections* Includes handy glossary, references and practical exercises based on familiar scenarios* Supporting website contains slides, solutions to problems and software examples




Real-Time Systems Design and Analysis


Book Description

The leading text in the field explains step by step how to write software that responds in real time From power plants to medicine to avionics, the world increasingly depends on computer systems that can compute and respond to various excitations in real time. The Fourth Edition of Real-Time Systems Design and Analysis gives software designers the knowledge and the tools needed to create real-time software using a holistic, systems-based approach. The text covers computer architecture and organization, operating systems, software engineering, programming languages, and compiler theory, all from the perspective of real-time systems design. The Fourth Edition of this renowned text brings it thoroughly up to date with the latest technological advances and applications. This fully updated edition includes coverage of the following concepts: Multidisciplinary design challenges Time-triggered architectures Architectural advancements Automatic code generation Peripheral interfacing Life-cycle processes The final chapter of the text offers an expert perspective on the future of real-time systems and their applications. The text is self-contained, enabling instructors and readers to focus on the material that is most important to their needs and interests. Suggestions for additional readings guide readers to more in-depth discussions on each individual topic. In addition, each chapter features exercises ranging from simple to challenging to help readers progressively build and fine-tune their ability to design their own real-time software programs. Now fully up to date with the latest technological advances and applications in the field, Real-Time Systems Design and Analysis remains the top choice for students and software engineers who want to design better and faster real-time systems at minimum cost.




Software Design Methods for Concurrent and Real-time Systems


Book Description

This book describes the concepts and methods used in the software design of real-time systems. The author outlines the characteristics of real-time systems, describes the role of software design in real-time system development, surveys and compares some software design methods for real-time systems, and outlines techniques for the verification and validation of real-time system designs.




Distributed Real-Time Systems


Book Description

This classroom-tested textbook describes the design and implementation of software for distributed real-time systems, using a bottom-up approach. The text addresses common challenges faced in software projects involving real-time systems, and presents a novel method for simply and effectively performing all of the software engineering steps. Each chapter opens with a discussion of the core concepts, together with a review of the relevant methods and available software. This is then followed with a description of the implementation of the concepts in a sample kernel, complete with executable code. Topics and features: introduces the fundamentals of real-time systems, including real-time architecture and distributed real-time systems; presents a focus on the real-time operating system, covering the concepts of task, memory, and input/output management; provides a detailed step-by-step construction of a real-time operating system kernel, which is then used to test various higher level implementations; describes periodic and aperiodic scheduling, resource management, and distributed scheduling; reviews the process of application design from high-level design methods to low-level details of design and implementation; surveys real-time programming languages and fault tolerance techniques; includes end-of-chapter review questions, extensive C code, numerous examples, and a case study implementing the methods in real-world applications; supplies additional material at an associated website. Requiring only a basic background in computer architecture and operating systems, this practically-oriented work is an invaluable study aid for senior undergraduate and graduate-level students of electrical and computer engineering, and computer science. The text will also serve as a useful general reference for researchers interested in real-time systems.




Real-Time Embedded Systems


Book Description

Offering comprehensive coverage of the convergence of real-time embedded systems scheduling, resource access control, software design and development, and high-level system modeling, analysis and verification Following an introductory overview, Dr. Wang delves into the specifics of hardware components, including processors, memory, I/O devices and architectures, communication structures, peripherals, and characteristics of real-time operating systems. Later chapters are dedicated to real-time task scheduling algorithms and resource access control policies, as well as priority-inversion control and deadlock avoidance. Concurrent system programming and POSIX programming for real-time systems are covered, as are finite state machines and Time Petri nets. Of special interest to software engineers will be the chapter devoted to model checking, in which the author discusses temporal logic and the NuSMV model checking tool, as well as a chapter treating real-time software design with UML. The final portion of the book explores practical issues of software reliability, aging, rejuvenation, security, safety, and power management. In addition, the book: Explains real-time embedded software modeling and design with finite state machines, Petri nets, and UML, and real-time constraints verification with the model checking tool, NuSMV Features real-world examples in finite state machines, model checking, real-time system design with UML, and more Covers embedded computer programing, designing for reliability, and designing for safety Explains how to make engineering trade-offs of power use and performance Investigates practical issues concerning software reliability, aging, rejuvenation, security, and power management Real-Time Embedded Systems is a valuable resource for those responsible for real-time and embedded software design, development, and management. It is also an excellent textbook for graduate courses in computer engineering, computer science, information technology, and software engineering on embedded and real-time software systems, and for undergraduate computer and software engineering courses.




Real-Time Systems and Software


Book Description

Emphasizing concepts and principles, this book provides readers with an accessible approach to software design. It presents several examples of commercial and research systems throughout the chapters to explain and justify the concepts. And the material presented is technically diverse, including discussions of state machines, logic, concurrent programming, and scheduling algorithms.




DSP Software Development Techniques for Embedded and Real-Time Systems


Book Description

Today's embedded and real-time systems contain a mix of processor types: off-the-shelf microcontrollers, digital signal processors (DSPs), and custom processors. The decreasing cost of DSPs has made these sophisticated chips very attractive for a number of embedded and real-time applications, including automotive, telecommunications, medical imaging, and many others—including even some games and home appliances. However, developing embedded and real-time DSP applications is a complex task influenced by many parameters and issues. DSP Software Development Techniques for Embedded and Real-Time Systems is an introduction to DSP software development for embedded and real-time developers giving details on how to use digital signal processors efficiently in embedded and real-time systems. The book covers software and firmware design principles, from processor architectures and basic theory to the selection of appropriate languages and basic algorithms. The reader will find practical guidelines, diagrammed techniques, tool descriptions, and code templates for developing and optimizing DSP software and firmware. The book also covers integrating and testing DSP systems as well as managing the DSP development effort. - Digital signal processors (DSPs) are the future of microchips! - Includes practical guidelines, diagrammed techniques, tool descriptions, and code templates to aid in the development and optimization of DSP software and firmware




Real-Time Embedded Systems


Book Description

This book integrates new ideas and topics from real time systems, embedded systems, and software engineering to give a complete picture of the whole process of developing software for real-time embedded applications. You will not only gain a thorough understanding of concepts related to microprocessors, interrupts, and system boot process, appreciating the importance of real-time modeling and scheduling, but you will also learn software engineering practices such as model documentation, model analysis, design patterns, and standard conformance.This book is split into four parts to help you learn the key concept of embedded systems; Part one introduces the development process, and includes two chapters on microprocessors and interrupts---fundamental topics for software engineers; Part two is dedicated to modeling techniques for real-time systems; Part three looks at the design of software architectures and Part four covers software implementations, with a focus on POSIX-compliant operating systems.With this book you will learn:The pros and cons of different architectures for embedded systems POSIX real-time extensions, and how to develop POSIX-compliant real time applications How to use real-time UML to document system designs with timing constraintsThe challenges and concepts related to cross-development Multitasking design and inter-task communication techniques (shared memory objects, message queues, pipes, signals)How to use kernel objects (e.g. Semaphores, Mutex, Condition variables) to address resource sharing issues in RTOS applications The philosophy underpinning the notion of "resource manager" and how to implement a virtual file system using a resource manager The key principles of real-time scheduling and several key algorithms - Coverage of the latest UML standard (UML 2.4) - Over 20 design patterns which represent the best practices for reuse in a wide range of real-time embedded systems - Example codes which have been tested in QNX---a real-time operating system widely adopted in industry