MDA Explained: The Model Driven Architecture™: Practice and Promise
by Anneke Kleppe; Jos Warmer; Wim Bast
MDA Distilled: Principles of Model-Driven Architecture
by Stephen J. Mellor; Kendall Scott; Axel Uhl; Dirk Weise
Systems Engineering with SysML/UML: Modeling, Analysis, Design
by Tim Weilkiens
UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition
by Martin Fowler
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Third Edition
by Craig Larman
Learning UML 2.0
by Russell Miles; Kim Hamilton
UML 2.0 in a Nutshell, 1st Edition
by Dan Pilone; Neil Pitman
Executable UML is a major innovation in the field of software development. It is designed to produce a comprehensive and understandable model of a solution independent of the organization of the software implementation. It is a highly abstract thinking tool that aids in the formalization of knowledge, and is also a way of describing the concepts that make up abstract solutions to software development problems.
This timely new book, Executable UML: A Foundation for Model-Driven Architecture, thoroughly introduces, documents, and explains this important new technology. The authors show how UML can formalize requirements and use cases into a rich set of verifiable diagrams, how it can be used to produce executable and testable models, and how these models can be translated directly into code. In addition, the book explains how individual system domains are woven together by an executable UML model compiler.
The book is full of tips and techniques to help you:
Partition a system into subject matters based on individual aspects
Pick the right level for use case modeling to speed subject matter comprehension
Model classes and focus on relationships to capture subject matter semantics precisely
Express behavior using the newly adopted UML action semantics and action languages
Specify constraints using tags specified in OCL (Object Constraint Language)
In addition, this book tackles topics of particular importance in execution, such as how to:
Synchronize objects by building lifecycles using statechart diagrams
Model relationships and contention safely
Distribute dynamics to avoid unmaintainable controller objects
Verify the models by executing test cases against the statechart diagrams and constraints
A large-scale, fully developed case study runs throughout the book to illustrate concepts and techniques. These models, plus tools to translate and run Executable UML models, can be downloaded from the book's websites, www.executableumlbook.com and www.projtech.com.
0201748045B05092002
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 7 Ratings
Good ideas bear up well over time. - 2002-11-30
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Two events at the Object-Oriented Systems, Languages, and Applications Conference of 1996 were memorable for me. The first was the opening address given by one of the more insightful architects/designers of the 20th century, Christopher Alexander. And the second was a debate between Stephen Mellor (one of the authors of this book) and Grady Booch on the topic "Translation: Myth or Reality?". Six years later, with the addition of Action Semantacs to UML, the Model Driven Architecture initiative of the Object Management Group, and the publication of this book, it appears that Mr. Mellor is as persistent in his position that executable (and hence translatable) models are indeed a reality, as Mr. Alexander was that the resonance between the structure of a solution and the corresponding problem is a measure of the solution's quality. Good ideas bear up well over time.
Mr. Mellor, and this book, are not for the faint hearted. It is his position that building software systems should be more about engineering a solution than artfully handcrafting one, and that to do this, one needs a disciplined process and a rigorous and precise engineering tool: Executable UML. If you agree with this tenet, and accept its implied challenge--or just want to know where they will lead you--this is a book for you.
In this book, Mellor and Balcer present a very lean and agile profile of UML and define the underlying execution semantics that enable it to be used as a valuable engineering tool for analyzing, designing, and implementing your systems. They also prescribe an engineering process to follow when modeling a software system, and thoughtfully walk the reader through this process and the various UML models with numerous examples and real-world experiences. If you use UML to model software, and aspire to engineer that software in the process, this book will give you a lot to think about and add significantly to your engineering tool chest.
Comprehensive and well-written - 2003-08-20
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Having worked for an organization that has implemented a model-driven architecture technology approach to create highly robust software applications I can attest to the practical value of translatable models and the information and techniques in this book.
I have always been a fan of the rigor and completeness of the Shlaer-Mellor methodology and this book distils this rigor into a profile of UML that hopefully will inspire a wider audience to look at the reality of creating executable and translatable models.
I found the book extremely well written and very complete in its treatment of every aspect of the subject from basic UML ideas through to model compilers. Unlike many technical texts I found absolutely no fluff in this book - each sentence and section has been carefully worded to be clear, consistent and unambiguous - a breath of fresh air for a pedant like myself.
I have used this book (along with Leon Starr's "Executable UML: How to Build Class Models") as a reference for my course development work on executable UML and found it invaluable. The table of contents and index are complete and well put together - something that I feel is crucial in any reference text.
I highly recommend this book for anyone using UML for software development who wants to explore this new technology of building executable and translatable models - and have it explained clearly and comprehensively.
A UML profile for serious system development - 2002-07-21
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
If you have ever diligently tried to implement a software system using a graphical modeling technique such as UML, I suspect your first attempts,like mine, were less than satisfying. It probably went something like this. Starting with some shiny new UML tool you start drawing diagrams. After a while, things seem "squishy". It's hard to know exactly where to stop modeling. Some things have a clear correspondence to the implementation that you know you have to get to, but many, many other issues crop up that you decide you have to defer to the details of the implementation. At some point in time you convince yourself that you understand the problem very well and then just start coding the implementation. It can be a bit like the Twilight Zone. In the end you wonder just what all those diagrams, which are probably out of date with respect to the implementation, were for.
Fortunately, Mellor and Balcer have given us some real help here. This book is a comprehensive presentation of how to give UML executable semantics. I feel that the emphasis on execution semantics is key. When you write code, you are able to execute it in your head and verify that you think it's correct. You may still make mistakes and introduce bugs, but the process
is concrete. The same definiteness needs to be there when you are modeling. If the model is to be truly a more abstract representative of the system you are designing then you must be able the "execute" the model and predict how the system will behave in its ultimate implementation. And, of course, if the model is that definite then it should be possible to derive automatically the implementation from the model. All of this and much more is discussed in detail in this book. If you struggle, like I do, to deal with your systems problems at a higher
level of abstraction, this is a book you need to read.
Author correction - 2003-08-12
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
The review from "A reader" is erroneous. There is no review from "Leon Brooks," so it is unlikely there is any business relationship with a non-existent person.
I imagine "A reader" meant Leon *Starr* who runs an entirely separate business from those run by either of the authors. Sure, we talk and refer business each other's way, but that is to be expected. Please delete "A reader"'s review.
(If you know Leon, you'd know he says what he really thinks, even if--especially?--it's bad!)
Not very instructive on the specifics of creating a good model - 2007-11-30
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book does a good job of giving the reader an idea of the potential of modeling, but it reads like the US tax code. After a while it is numbing. There must be a better way to teach these concepts to humans.
Top Level Categories:
Software Engineering
Sub-Categories:
Software Engineering > UML
Some information on this page was provided using data from Amazon.com®. View at Amazon >