You are previewing Real-Time UML Workshop for Embedded Systems.
O'Reilly logo
Real-Time UML Workshop for Embedded Systems

Book Description

Written as a workbook with a set of guided exercises that teach by example, this book gives a practical, hands-on guide to using UML to design and implement embedded and real-time systems.



  • A review of the basics of UML and the Harmony process for embedded software development: two on-going case examples to teach the concepts, a small-scale traffic light control system and a large scale unmanned air vehicle show the applications of UML to the specification, analysis and design of embedded and real-time systems in general.
  • A building block approach: a series of progressive worked exercises with step-by-step explanations of the complete solution, clearly demonstrating how to convert concepts into actual designs.
  • A walk through of the phases of an incremental spiral process: posing the problems and the solutions for requirements analysis, object analysis, architectural design, mechanistic design, and detailed design.

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Dedication
  6. Preface
  7. Acknowledgements
  8. About the Author
  9. Chapter 1. Introduction to UML
    1. 1.1. UML Basic Modeling Concepts
    2. 1.2. Structural Elements and Diagrams
    3. 1.3. Behavioral Elements and Diagrams
    4. 1.4. Use Case and Requirements Models
    5. 1.5. Summary
  10. Chapter 2. The Harmony Process
    1. 2.1. Introduction
    2. 2.2. The Harmony Development Process
    3. 2.3. The Systems Engineering Harmony Workflows in Detail
    4. 2.4. The Hand-off from Systems Engineering
    5. 2.5. The Software Workflows in Detail
    6. 2.6. Summary
  11. Chapter 3. Meeting Industry Standards
    1. 3.1. Overview
    2. 3.2. On the Importance of Being Standard
    3. 3.3. Architectural Framework Standards (I’m looking at you UPDM)
    4. 3.4. IEC 61508
    5. 3.5. DO-178B/C
    6. 3.6. IEC 62304
    7. 3.7. CMMI-DEV
    8. 3.8. Summary
  12. Chapter 4. Specifying Requirements
    1. 4.1. Overview
    2. 4.2. Representing Requirements in UML and SysML
    3. 4.3. Specification View: State Machines for Requirements Capture
  13. Chapter 5. Systems Architecture: Deployment and Subsystems Architecture
    1. 5.1. Overview
    2. 5.2. The Hand-off from Systems to Downstream Engineering
    3. 5.3. Looking Ahead
  14. Chapter 6. Dependability Architecture
    1. 6.1. Overview
    2. 6.2 A (Not-So) Quick Note about Design Patterns
    3. 6.3. What is a Design Pattern?
    4. 6.4. Summary
  15. Chapter 7. High-Fidelity Modeling
    1. 7.1. Overview
    2. 7.2. A Quick Note about Structured Design with UML
    3. 7.3. High-Fidelity Modeling Workflow
    4. 7.4. Key Strategies for Object Identification
    5. 7.5. Summary
  16. Chapter 8. Distribution Architecture
    1. 8.1. Overview
    2. 8.2. Summary
  17. Chapter 9. Concurrency and Resource Architecture
    1. 9.1. What is the Concurrency and Resource Architecture?
    2. 9.2. Harmony Concurrency and Resource Architecture Workflow
    3. 9.3. Summary
  18. Chapter 10. Collaboration and Detailed Design
    1. 10.1. Overview
    2. 10.2. Collaboration Design
    3. 10.3. Detailed Design
    4. 10.4. Summary
  19. Chapter 11. Specifying Requirements: Answers
    1. 11.1. Answer 4.1: Identifying Kinds of Requirements
    2. 11.2. Answer 4.2: Identifying Use Cases for the Roadrunner Traffic Light Control System
    3. 11.3. Answer 4.3: Mapping Requirements to Use Cases
    4. 11.4. Answer 4.4: Identifying Use Cases for the Coyote UAV System
    5. 11.5. Answer 4.5: Create a Requirements Table
    6. 11.6. Answer 4.6: Capturing Quality of Service Requirements
    7. 11.7. Answer 4.7: Operational View: Identifying Traffic Light Scenarios
    8. 11.8. Answer 4.8: Operational View: Coyote UAV Optical Surveillance Scenarios
    9. 11.9. Answer 4.9: Specification View: Use Case Descriptions
    10. 11.10. Answer 4.10: Simple State Machine Specification
    11. 11.11. Answer 4.11: Specification View: Capturing Complex Requirements
    12. 11.12. Answer 4.12: Operational to Specification View: Capturing Operational Contracts
  20. Chapter 12. Deployment and Subsystems Architecture: Answers
    1. 12.1. Answer 5.1: Organizing the Systems Model
    2. 12.2. Answer 5.2: Subsystem Identification
    3. 12.3. Answer 5.3: Mapping Operational Contracts into the Subsystem Architecture
    4. 12.4. Answer 5.4: Identifying Subsystem Use Cases
    5. 12.5. Answer 5.5: Creating the Shared Model
    6. 12.6. Answer 5.6: Initiating the Subsystem Model
  21. Chapter 13. Dependability Architecture: Answers
    1. 13.1. Answer 6.1: Safety Architecture
    2. 13.2. Answer 6.2: Reliability Architecture
    3. 13.3. Answer 6.3: Security Architecture
  22. Chapter 14. High-Fidelity Modeling: Answers
    1. 14.1. Answer 7.1: Apply Nouns and Causal Agents Strategies
    2. 14.2. Answer 7.2: Apply Services and Messages Strategies
    3. 14.3. Answer 7.3: Apply the Strategies with a Test-Driven Development Approach
  23. Chapter 15. Distribution Architecture: Answers
    1. 15.1. Answer 8.1: Roadrunner Distribution Architecture
    2. 15.2. Answer 8.2: Coyote UAV Distribution Architecture
  24. Chapter 16. Concurrency and Resource Architecture: Answers
    1. 16.1. Answer 9.1: Roadrunner Concurrency and Resource Architecture
    2. 16.2. Answer 9.2: Reconnaissance Concurrency and Resource Architecture
  25. Chapter 17. Collaboration and Detailed Design: Answers
    1. 17.1. Answer 10.1: Applying Collaboration Design Patterns: Part 1
    2. 17.2. Answer 10.2: Applying Collaboration Design Patterns: Part 2
    3. 17.3. Answer 10.3: Applying Detailed Design State Behavioral Patterns
    4. 17.4. Answer 10.4: Applying Detailed Design Idioms
  26. Appendix A. The Roadrunner™ Intersection Controller System Specification
  27. Appendix B. The Coyote Unmanned Aerial Vehicle System (CUAVS)
  28. Appendix C. UML Notational Summary
  29. Index