MDA Distilled: Principles of Model-Driven Architecture
Model-driven architecture (MDA) is a standard framework from the Object Management Group (OMG) that allows developers to link object models together to build complete systems. Mellor (member, IEEE Software Advisory Board) introduces the MDA standard and its tools and technologies, describing fundamental features of MDA, how they fit together, and how they can be used in an organization.
Back Cover Copy:
MDA Distilled is an accessible introduction to the MDA standard and its tools and technologies. The book describes the fundamental features of MDA, how they fit together, and how you can use them in your organization today. You will also learn how to define a model-driven process for a project involving multiple platforms, implement that process, and then test the resulting system.
MDA Distilled will help you understand:
- The MDA framework, including the platform-independent model (PIM) and the platform-specific model (PSM)
- The Meta Object Facility (MOF)--the OMG's adopted standard for metamodeling
- Horizontal, vertical, and merging mappings between models
- Building marks and marking models
- Elaborating models, including viewing generated models, and managing manual changes
- Building executable models with Executable UML
- Agile MDA development
Developers and architects can dramatically improve productivity, portability, interoperability, and maintenance with MDA. Find out how with this essential reference, and quickly learn how to harness the significant power of this new framework.

Review By: Daniel Campanelli
12/13/2004
Model-Driven Architecture (MDA) is the latest process improvement from the Object Management Group (OMG) that allows developers to develop systems using graphical models. "MDA Distilled" by Stephen J. Mellor, Kendall Scott, Axel Uhl, and Dirk Weise (with foreword by Dr. Richard Mark Soley), provides a comprehensive overview of the MDA model beginning with the maximization of communication between users and developers to facilitate productivity, which should result in achieving high software quality. If implemented successfully, MDA promises to revolutionize software development.
After touting the benefits of MDA, the book establishes a firm foundation of the process (the main part of the book) by discussing its core concepts: meta modeling, mappings, and marks. A banking application is used to illustrate each of the concepts throughout the discussion.
The authors mention that MDA should not be viewed as a silver bullet. Rather, MDA's success ultimately depends on how it is implemented within its intended environment. The book concludes that software practitioners decide how far to take MDA.
The authors do a great job of explaining a rather obscure, yet revolutionary topic in the field of software development. Covering all aspects of the topic, they explain its evolution, principles, and risks, concluding with a snapshot of its current status.
The book presents a well-rounded overview of MDA. Although the book is a little hard to follow in certain places, I highly recommend any software quality professional read it.