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 that is 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, executable UML book and project.