EmbeddedRelated.com
Books

Real-Time Systems and Software

Shaw, Alan C. 2001

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.


Why Read This Book

You will get a clear, concept-driven foundation in real-time software design that emphasizes principles over vendor-specific APIs, helping you make sound architectural choices for embedded and time-critical systems. The book uses concrete commercial and research examples to show how scheduling, concurrency, and state-based design choices play out in real systems, so you can apply the ideas to firmware, RTOS, or embedded Linux projects.

Who Will Benefit

Embedded and firmware engineers, systems programmers, and graduate students with some programming experience who need to design or evaluate real-time and safety‑critical software.

Level: Intermediate — Prerequisites: Familiarity with programming (C or similar), basic operating‑systems concepts (processes/threads, interrupts), and elementary discrete math; comfort reading pseudocode and formal descriptions.

Get This Book

Key Takeaways

  • Explain core real-time concepts such as deadlines, jitter, timing constraints, and task models
  • Design and compare scheduling strategies (fixed-priority, EDF, cyclic) for practical embedded systems
  • Analyze concurrency and synchronization problems and apply patterns to avoid priority inversion and deadlock
  • Model system behavior with state machines and formal logic to improve predictability and verification
  • Evaluate trade-offs between software architectures, resource management, and timing assurance using real case studies

Topics Covered

  1. Introduction to Real-Time Systems and Requirements
  2. Foundations: Time, Tasks, and Events
  3. Models of Computation and State Machines
  4. Concurrent Programming and Synchronization
  5. Scheduling Theory and Algorithms (RM, EDF, cyclic)
  6. Timing Analysis and Worst-Case Execution Time (WCET) Concepts
  7. Resource Management and Priority Inversion
  8. Specification, Logic, and Formal Methods for Real-Time Software
  9. Design Patterns and Architectural Considerations
  10. Case Studies from Commercial and Research Systems
  11. Testing, Validation, and Verification of Real-Time Software
  12. Trends, Practical Advice, and Future Directions

Languages, Platforms & Tools

CAda (discussed)PseudocodePOSIX real-time extensions (conceptual)Generic RTOS concepts (VxWorks/QNX-style examples)Scheduling and timing analysis techniques

How It Compares

Covers similar conceptual ground to Jane W. S. Liu's Real-Time Systems and Burns & Wellings' work, but Shaw leans more toward software design principles and illustrative case examples rather than heavy mathematical formalisms or language‑specific implementation details.

Related Books