Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns provides an excellent guide to using today's cutting-edge software-engineering techniques to develop software for embedded systems.
Author Bruce Powel Douglass begins by championing the advantages of objects for embedded development and then shows off basic UML document types. Next he addresses the difficulties of writing embedded systems (which are used in hospitals, aircraft, nuclear power plants, and other life-or-death environments). He looks at the restricted resources of embedded hardware and design issues regarding memory management and event handling. The book expertly discusses the difference between the reliability and safety of software. (It describes the use of a number of patterns that can be used to provide safe operation in the event of single-point failure of a system.)
Rapid Object-Oriented Process for Embedded Systems (ROPES) finds its way to the heart of the text, a development process tailored to real-time software. Besides an introduction to iterative software development, the author walks the reader through the steps required for analysis, design, and eventual implementation of real-time software. The samples (which include several medical devices and a small air traffic control system) are exceptionally rich in detail and often use advanced aspects of UML notation.
Later sections concentrate on the latest in pattern design for embedded software used to manage threads and schedulability. The book closes with a tour of dynamic modeling, real-time frameworks--specifically, the I-Logix Rhapsody Object Execution Framework (OXF)--and details of the Rhapsody modeling tool. In all, Doing Hard Time delivers real technical expertise for any potential embedded software developer in a thorough and digestible format.
800 pages, hardcover, CD-ROM included
- 1. Introduction to Objects and the Unified Modeling Language
- 2. Basic Concepts of Real-Time Systems
- 3. Basic Concepts of Safety-Critical Systems
- 4. Rapid Object-Oriented Process for Embedded Systems
- 5. Requirements Analysis of Real-Time Systems
- 6. Structural Object Analysis
- 7. Behavioral Object Analysis
- 8. Architectural Design
- 9. Mechanistic Design
- 10. Detailed Design
- 11. Threads and Schedulability
- 12. Dynamic Modeling
- 13. Real-Time Frameworks
- A. Summary of UML Notation
- B. Rhapsody: A Fully Constructive UML Visual Programming Tool
- C. TimeWiz: An Integrated Tool for Timing Analysis