EmbeddedRelated.com
Books

Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems (Addison-Wesley Object Technology)

Douglass, Bruce 2002

Real-time and embedded systems developers face unique challenges. The systems they design must use very limited processor and memory resources optimally to meet mission-critical and high reliability requirements. Developers working on these systems see the same common threads in problems again and again. The very best developers abstract these problems and their solutions into generalized approaches that prove consistently effective: design patterns. In this book, real-time programming guru Bruce Powel Douglass collects the best design patterns from this unique, and rapidly growing, area of programming, and presents them in an instructional format that teaches the reader the "what, when, and how" of leveraging the significant power of these proven design solutions.


Why Read This Book

You should read this book if you want a practical, pattern-based repertoire for designing robust, maintainable real-time and embedded systems rather than ad-hoc solutions. It teaches proven architectural and design patterns that help you structure concurrency, timing, fault recovery and resource management so your systems scale and meet hard requirements.

Who Will Benefit

Experienced firmware and systems engineers, architects, and technical leads who design RTOS-based or safety/mission-critical embedded systems and need reusable, high-level design strategies.

Level: Advanced — Prerequisites: Solid familiarity with embedded systems fundamentals (tasks/threads, interrupts), basic RTOS concepts, and comfort with C/C++ and system-level design; exposure to UML/state machines is helpful.

Get This Book

Key Takeaways

  • Apply architectural patterns to structure real-time systems for reliability, scalability, and maintainability.
  • Design and reason about concurrency, inter-task communication, and synchronization using pattern solutions.
  • Select and implement timing and scheduling strategies suitable for hard and soft real-time requirements.
  • Model system behavior with state-machine and UML/statechart-driven patterns to reduce complexity and increase correctness.
  • Incorporate fault-tolerance and resource-management patterns to improve system robustness under constrained resources.
  • Translate high-level patterns into RTOS-appropriate implementations and map them to common middleware and OS primitives.

Topics Covered

  1. Introduction: Why Patterns for Real-Time Systems
  2. Real-Time System Requirements and Challenges
  3. A Pattern Language for Real-Time Architecture
  4. Concurrency and Communication Patterns
  5. Timing, Scheduling and Resource Management Patterns
  6. State-Based Patterns and Statechart Modeling
  7. Fault Tolerance, Recovery and Safety Patterns
  8. Patterns for Scalability and Maintainability
  9. Mapping Patterns to Operating Systems and Middleware
  10. Design Case Studies and Worked Examples
  11. Pattern Catalog and How to Use Patterns
  12. Appendices: Notation, UML/Statechart Conventions, References

Languages, Platforms & Tools

CC++UMLStatechart notationRTOS-based embedded systems (generic)VxWorksQNXµC/OS/ThreadX/FreeRTOS (conceptual)UML/CASE toolsStatechart modeling toolsGeneric RTOS APIs and debugging tools

How It Compares

More architecture- and pattern-focused than hands-on firmware books like Elecia White's Making Embedded Systems; more applied and software-pattern-centric than textbook treatments of scheduling and analysis such as Jane W. S. Liu's Real-Time Systems.

Related Books