Buy New

or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Buy Used
Used - Acceptable See details
$9.60 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Sell Back Your Copy
For a $0.61 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Designing Concurrent, Distributed, and Real-Time Applications with UML
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Designing Concurrent, Distributed, and Real-Time Applications with UML [Hardcover]

Hassan Gomaa (Author)
4.0 out of 5 stars  See all reviews (4 customer reviews)

List Price: $74.99
Price: $54.30 & this item ships for FREE with Super Saver Shipping. Details
You Save: $20.69 (28%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 17 left in stock--order soon (more on the way).
Want it delivered Wednesday, February 1? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for Students. Learn more

Formats

Amazon Price New from Used from
Hardcover $54.30  
Paperback --  
Sell Back Your Copy for $0.61
Whether you buy it used on Amazon for $5.62 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $0.61.
Used Price$5.62
Trade-in Price$0.61
Price after
Trade-in
$5.01

Book Description

0201657937 978-0201657937 September 3, 2000 1
In this book, renowned real-time software expert Hassan Gomaa adapts UML to the unique needs of the concurrent, distributed, and real-time applications -- helping developers leverage the powerful flexibility, reliability, and time-to-market benefits associated with UML. Gomaa starts by reviewing the key issues and concepts associated with analysis and design of distributed and real-time applications -- focusing not only on standard object-oriented concepts such as information hiding, classes, and inheritance, but also specialized issues such as finite state machines, concurrent tasks, and real-time scheduling. Next, he introduces the COMET (Concurrent Object Modeling and Architectural Design) Method, a UML-based object-oriented analysis and design method specifically created for concurrent, distributed, and real-time applications. The book presents detailed structuring criteria that assist the designer at every stage of the analysis and design process, and offers exceptional insight into dynamic modeling, concurrency, distributed application design, and performance analysis of real-time designs. Gomaa concludes with several detailed case studies covering a broad range of applications, including systems for banking, e-Commerce, cruise control, factory automation, and more.

Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Customers buy this book with Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software $36.62

Designing Concurrent, Distributed, and Real-Time Applications with UML + Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software


Editorial Reviews

From the Inside Flap

The UML Notation and

Software Design Methods
This book describes the object-oriented analysis and design of concurrent applications,

in particular distributed and real-time applications. Object-oriented concepts

are crucial in software analysis and design because they address fundamental

issues of adaptation and evolution. With the proliferation of notations and

methods for the object-oriented analysis and design of software systems, the

Unified Modeling Language (UML) has emerged to provide a standardized notation

for describing object- oriented models. However, for the UML notation to be

effectively applied, it needs to be used in conjunction with an object-oriented

analysis and design method.

Most books on object-oriented analysis and design only address the design of sequential systems or omit the important design issues that need to be addressed when designing distributed and real-time applications. Blending object-oriented concepts with the concepts of concurrent processing is essential to the successful designing of these applications. Because the UML is now the standardized notation for describing object-oriented models, this book uses the UML notation throughout.

The COMET Concurrent Object Modeling and Architectural Design Method
COMET is a Concurrent Object Modeling and Architectural Design Method for the development of concurrent applications--in particular, distributed and real- time applications. The COMET Object-Oriented Software Life Cycle is a highly iterative software life cycle, based around the use case concept. The Requirements Modeling phase views the system as a black box. A use case model is developed, which defines the functional requirements of the system in terms of actors and use cases.

In the Analysis Modeling phase, static and dynamic models of the system are

developed. The static model defines the structural relationships among problem

domain classes. Object structuring criteria are used to determine the objects

to be considered for the analysis model. A dynamic model is then developed,

in which the use cases from the requirements model are refined to show the objects

that participate in each use case and their interactions with each other. In

the dynamic model, state-dependent objects are defined by using statecharts.

In the Design Modeling phase, the software architecture of the system is designed,

in which the analysis model is mapped to an operational environment. The analysis model, with its emphasis on the problem domain, is mapped to the design model, with its emphasis on the solution domain. Subsystem structuring criteria are provided to structure the system into subsystems. For distributed applications, the emphasis is on the division of responsibility between clients and servers, including issues concerning the centralization versus distribution of data and control. In addition, the design of message communication interfaces is considered, including synchronous, asynchronous, brokered, and group communication. Each subsystem is then designed. For the design of concurrent applications, including real-time applications, the emphasis is on object-oriented and concurrent tasking concepts. Task communication and synchronization interfaces are designed. The performance of the real-time design is analyzed by using the Software Engineering Institute's rate monotonic analysis approach.

What This Book Provides
Several textbooks on the market describe object-oriented concepts and methods, intended for all kinds of applications. However, distributed and real-time applications have special needs, which are treated only superficially in most of these books. This book provides a comprehensive treatment of the application of fundamental object-oriented concepts to the analysis and design of distributed (including client/server) and real-time applications. In addition to the object-oriented concepts of information hiding, classes, and inheritance, this book also describes the concepts of finite state machines, concurrent tasks, distributed object technology, and real-time scheduling. It then describes in considerable detail the COMET method, which is a UML based object-oriented analysis and design method for concurrent, distributed and real-time applications. To show how COMET is applied in practice, this book also describes several comprehensive case studies, presented by application area: real-time software design, client/server software design, and distributed application design.

The following are distinguishing features of this book:

Emphasis on structuring criteria to assist the designer at various stages

of the analysis and design process: subsystems, objects, and concurrent tasks

Emphasis on dynamic modeling, in the form of both object interaction modeling

and finite state machine modeling, describing in detail how object collaborations

and statecharts work together

Emphasis on concurrency, describing the characteristics of active and passive

objects

Emphasis on distributed application design and the ways in which distributed

components can communicate with each other

Emphasis on performance analysis of real-time designs, using real-time scheduling

Comprehensive case studies of various applications to illustrate in detail

the application of concepts and methods

Organization of Book
The book is divided into three parts. Part I of the book provides a broad overview

by describing concepts, technology, life cycles and methods for designing concurrent,

distributed, and real-time applications. Chapter 1 starts with a brief description

of the difference between a method and a notation, followed by a discussion

of the characteristics of real-time and distributed applications. Chapter 2

presents a brief overview of the aspects of the UML notation used by the COMET

method. Next, there is a description of the important design concepts (Chapter

3) and necessary technology support (Chapter 4) for concurrent and distributed

systems. This is followed in Chapter 5 by a brief survey of software life cycles

and design methods.

Part II of the book describes the COMET method (Concurrent Object Modeling

and architectural design mEThod). In Chapter 6, there is an overview of the

object-oriented software life cycle used by COMET. Chapter 7 describes the requirements

modeling phase of COMET, in particular, use case modeling, and Chapters 8 through

11 describe the analysis modeling phases of COMET. Chapters 12-16 describe the

design modeling phase of COMET. Chapter 17 describes the performance analysis

of real-time designs using real-time scheduling--in particular, rate monotonic

analysis.

Finally, in Part III, the COMET method is illustrated through five detailed case studies of concurrent application design: two real-time design case studies, one client/server case study, and two distributed application case studies. The real-time Elevator Control System case study is described in Chapter 18, with both non-distributed and distributed solutions presented. The client/server Banking System case study is described in Chapter 19. The real-time Cruise Control System case study is described in Chapter 20. The distributed Factory Automation case study is described in Chapter 21, and the distributed Electronic Commerce case study is described in Chapter 22.

Ways to Read This Book
This book may be read in various ways. Reading it in the order it is presented, Chapters 1-5 provide introductory concepts and technology, Chapter 6 provides an overview of COMET, Chapters 7-17 provide an in-depth treatment of designing applications with COMET, and Chapters 18-22 provide detailed case studies. Part I is introductory and may be skipped by experienced readers, who will want to proceed directly to the description of COMET in Part II. Readers familiar with the UML may skip Chapter 2. Readers familiar with software design concepts may skip Chapter 3. Readers familiar with concurrent and distributed system technology may skip Chapter 4. Readers familiar with software life cycles and methods may skip the survey in Chapter 5. Readers particularly interested in COMET may proceed directly to Parts II and III. Readers particularly interested in distributed application design should read Chapters 4, 12, and 13, the additional information on concurrent subsystem design in Chapters 14-16, as well as the distributed application case studies in Chapters 18, 19, 21, and 22. Readers particularly interested in real-time design and scheduling should read Chapters 4, 14-17, and the hard real-time design case studies in Chapters 18 and 20.

Experienced designers may also use this book as a reference, referring to various chapters as their projects reach that stage of the analysis or design process. Each chapter is relatively self-contained. For example, at different times, you might refer to Chapter 7 for a concise description of use cases, Chapter 10 when designing statecharts, Chapter 11 for developing the dynamic model, Chapter 13 for distributed component design, Chapter 14 when designing concurrent tasks, or Chapter 17 for real-time scheduling. You can also understand how to use the COMET method by reading the case studies, because each case study explains the decisions made at each step of the design process.

0201657937P04062001

From the Back Cover

"This is an excellent book for real-world systems that deal with complex issues such as concurrency and real-time constraints. Hassan does a wonderful job of structuring the book so it is suitable for all software engineers and provides very useful, detailed guidelines that distinguish this book from other OO texts."

--Robert G. Petit IV, The Aerospace Corporation

Designing Concurrent, Distributed, and Real-Time Applications with UML provides a detailed overview of object-oriented design concepts, concurrent and distributed system technology, use cases, and Unified Modeling Language notation. It addresses an increasingly important area of software development: the design of real-time and distributed applications based on concurrent technology. Using UML notation, this book clearly illustrates how an object-oriented analysis and design method offers an effective solution to the unique challenges that these systems present.

Inside you'll also find a comprehensive description of an analysis and design method specifically suited to the needs of real-time and distributed systems. Known as COMET (Concurrent Object Modeling and Architectural Design Method), this object-oriented method employs a highly iterative software life cycle based on use case technology and UML. This book will guide you through the COMET development life cycle, from requirements modeling through analysis and design, emphasizing the design requirements of distributed and real-time applications. Numerous in-depth case studies and examples show you how the COMET method can be applied to a variety of applications, including real-time, client/server, and distributed software design.

Key topics include:

  • Use case modeling, with particular emphasis on the needs of embedded systems
  • Static and dynamic analysis modeling
  • Object and class structuring
  • Finite state machines and statecharts
  • Distributed object technology
  • Software architecture design of concurrent systems
  • Task structuring and class design
  • Performance analysis of real-time designs using real-time scheduling
Designing Concurrent, Distributed, and Real-Time Applications with UML is an invaluable resource for all developers in this growing field. The information, technology, systematic method, comprehensive guidelines, and case studies presented here will greatly facilitate the creation of high-quality real-time and distributed applications.

0201657937B04062001


Product Details

  • Hardcover: 816 pages
  • Publisher: Addison-Wesley Professional; 1 edition (September 3, 2000)
  • Language: English
  • ISBN-10: 0201657937
  • ISBN-13: 978-0201657937
  • Product Dimensions: 9.6 x 7.8 x 1.6 inches
  • Shipping Weight: 3.5 pounds (View shipping rates and policies)
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Best Sellers Rank: #570,798 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

4 Reviews
5 star:
 (2)
4 star:
 (1)
3 star:    (0)
2 star:
 (1)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.0 out of 5 stars (4 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

23 of 23 people found the following review helpful:
4.0 out of 5 stars Practical Approach to Applying UML to Design Software, November 14, 2000
By A Customer
This review is from: Designing Concurrent, Distributed, and Real-Time Applications with UML (Hardcover)
This book provides a practical method to apply the Unified Modeling Language (UML) to design concurrent and distributed software for large systems. While many books have been published to explain the details of the UML notation, this book provides a method, COMET, to approach software design through application of a practical subset of the UML notation. The book contains numerous, extensive case studies and provides pragmatic, useful guidelines to identify distributed subsystems and concurrent tasks from a UML analysis model. The approach described represents a unique and valualbe contribution by the author of this text. Finally, because this book is intended mainly as a text for software design courses, I consulted with a few students who have used this book in a graduate-level software engineering course. All of the students were favorably impressed with the content, clarity, practicality, and detail contained in the book.

Prior to the publication of this text, a software design course based on UML could only be taught using a UML text together with a separate software design text. In this text book, Dr. Gomaa has integrated material from UML and software design in such a form that a software design course can now be taught with this text alone.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


18 of 19 people found the following review helpful:
5.0 out of 5 stars Excellent book: systematic, thorough, clear., September 27, 2000
By 
Dorina C. Petriu (Ottawa, ON Canada) - See all my reviews
This review is from: Designing Concurrent, Distributed, and Real-Time Applications with UML (Hardcover)
I am using it as a textbook for a course on object-oriented development of real-time and distributed applications. I found that the author did an excellent job at merging the OO techniques and UML on one hand with the concurrency/distribution issues on the other hand. The book presents clear helpful guidelines for the developers of real-time and distributed systems. One of the features I liked the most is the fact that a number of well chosen examples, from an elevator control system to an e-commerce system, are completely worked out in the book. How better to learn than by following relevant, clearly explained examples!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


17 of 18 people found the following review helpful:
5.0 out of 5 stars Exceptional Book, September 28, 2000
This review is from: Designing Concurrent, Distributed, and Real-Time Applications with UML (Hardcover)
This book is an excellent source of information for software engineers designing concurrent and real-time systems using the object-oriented paradigm. Hassan's COMET method tackles the hard issues of concurrency, real-time constraints, and distributed systems with a comprehensive, straight-forward approach that is easy to understand and conforms to the UML standard. The text is also enhanced with an excellent selection of examples from different application domains. The book is structured in such a way as to be useful to both the novice (as a guidebook) and to the expert (as a reference). This book spends more time on my desk than on my bookshelf.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews


Only search this product's reviews



What Other Items Do Customers Buy After Viewing This Item?


Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product).
 
(43)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject