Software Design Methods for Concurrent and Real-Time Systems / Edition 1 available in Hardcover
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.
- Provides a basic understanding of concepts and issues in concurrent system design, while surveying and comparing a range of applicable design methods.
- Elaborates two object-oriented design methods for the effective design of concurrent and real-time systems.
- Describes a practical approach for applying real-time scheduling theory to analyze the performance of real-time designs.
About the Author
Hassan Gomaa, Professor of Software Engineering at George Mason University in Fairfax, Virginia, is an internationally acknowledged authority on the software design of distributed and real-time systems. Hassan's career in software engineering spans both industry and academia, and he develops concurrent, distributed, and real-time applications in industry; designs software development methods and applies them to real-world problems; and teaches short courses to professional software engineers around the world. He has a B.Sc. in electrical engineering from University College, London, and a Ph.D. in computer science from Imperial College, London.