Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems

2002. 528 Pages. ISBN: 0201699567
Table of Contents
Introduction
Architecture and the UML
The role of design patterns
Subsystem and component architectural patterns
Concurrency patternsn Memory patterns
Resource patterns
Distribution patterns
Safety and reliability patterns
About the Author
Bruce Powel Douglass is the Chief Evangelist for i-Logix, a leading producer of tools for real-time systems development. He contributed to the original specification of the UML and to the UML 2.0 as one of the co-chairs of the Object Management Group’s Real-Time Analysis and Design Working Group. Bruce consults for a number of companies and organizations, including NASA, on building large-scale, real-time, safety-critical systems. He is the author of seven other books.
RTE systems, or real-time and embedded systems, are unique unto themselves. Engineers specifically design these systems to operate under a more strict set of requirements than a traditional PC. RTE systems’ high level of performance has led to widespread RTE system use in medical instrumentation, avionics and flight control, test and measurement, and countless other applications. Due to these systems’ high levels of specific, mission-critical requirements, their designers must be well educated and experienced in this field. RTE systems developers have learned over time that a generalized and direct approach to any given design roadblock is generally the best way to approach an otherwise complex and intricate problem. Developers apply the design patterns used to solve such problems at the system architecture level, where the core system design is implemented. The main focus behind Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems is to create a set of architectural design patterns that aid in the successful development of RTE systems.

This book is directed mainly towards the software developer. The author, Bruce Powel Douglass, assumes a reasonable proficiency in at least one programming language and a basic understanding of the fundamental concepts of object orientation, the Unified Modeling Language (UML), and real-time systems. One of the main goals of this book is to familiarize a budding software developer or system architectural engineer with a set of fairly basic procedures that will enable the successful design, test, and troubleshooting of a complex RTE system.

There are nine main chapters in the book, split into two parts. Part one, consisting of the first three chapters, contains an introduction to the theory of the book, a brief run-down of the main ideas in the UML, and a prefacing of basic system design concepts as presented in the Rapid Object-oriented Process for Embedded Systems (ROPES). In addition, other topics covered include the separation of system-architecture into logical and physical aspects, a breakdown of design patterns and their role in defining architecture, and the five most pertinent system design schemes. Discussions include how to optimize system architecture in a process-free environment, the basic fundamentals behind design patterns and organization, and the real-world implementation of design patterns to RTE systems.

The second part, chapters four through nine, contains the systems design patterns that define the methods in which large-scale system components are structured and organized to optimize system resourcefulness and performance. The author structures these specific patterns around the architectural concepts that the patterns address. Specific topics touched upon include:

  • High-level structural patterns √± focuses on the component or subsystem architecture
  • Concurrency and resource management √± an extremely vital component of a reliable RTE system
  • System memory management √± perhaps the most difficult aspect of an RTE system to manage
  • Distribution architecture patterns √± defines how objects can be distributed across multiple computers
  • Building safe and reliable architectures √± for overall system stability and reliability

Real-Time Design Patterns also includes two appendices for reference. The first is a summary of the UML graphical notation, and the second is an index of the design patterns, organized by name. Also included is a CD-ROM that contains useful UML tools and instructions, as well as other helpful resources for the reader. Each chapter is organized by a very easy to use numbering system, and the book includes many well-designed flow charts, figures, and source code examples to aid the reader along the way. While Real-Time Design Patterns requires some advanced knowledge of the subject matter by the reader, Bruce presents the information in a way that should allow anyone with a genuine desire to gain knowledge in the field of real-time design patterns and RTE system architecture to take something from this book.

. . . . .

For information on how to obtain a copy of the book,
ISBN #0-201-69956-7, contact the publisher directly.

Addison-Wesley, Boston
75 Arlington Street, Suite 300
Boston, MA 02116
Tel.: 617-848-7500