In this book, Gomaa outlines the characteristics of concurrent, real-time, and distributed systems, describing the concepts most important in their design, and surveys the design methods available for them. Drawing on his experience in industry, he takes two related object-oriented methods - ADARTS (Ada-based Design Approach for Real-Time Systems) and CODARTS (Concurrent Design Approach for Real-Time Systems) - and shows in detail how they can be applied.
The author first introduces the reader to real-time and concurrency concepts, and reviews the background in software design and development needed for the balance of the book. He then describes a number of methods that can be used for real-time and concurrent system design, comparing them through application to a common problem. Methods described include Real-time Structured Analysis and Design, Jackson System Development, Naval Research Lab/Software Cost Reduction, and Object Oriented Design. For each design method treated, the author presents the concepts on which it is based, the steps used in its application, and an assessment of its effectiveness. Gomaa then focuses on ADARTS, a practical method developed by the author and proven over time, and CODARTS, which contains the author's latest ideas on software analysis and design. The final part of the book features practical case studies in which the ADARTS and CODARTS methods are demonstrated.Highlights