 | Level: Introductory Gary Pollice, Professor of Practice, Worcester Polytechnic Institute
15 Nov 2004 from The Rational Edge: This is a review of a book that provides a brief but comprehensive overview of the emerging MDA technology and its applications in the software development process.
by Stephen J. Mellor, Kendall Scott, Axel Uhl, and Dirk Weise
Addison-Wesley, 2004
ISBN: 0-201-78891-8
Cover price: $US34.99
176 pages
Are you ready for model-driven architecture (MDA)? Do you know what it is? How much effort are you willing to invest in learning about MDA? If your answers to these questions are “I’m not sure," "I’m not sure," and “Not much," respectively, then this book will appeal to you.
The authors have provided an excellent overview of this emerging technology. In the Preface, they say that the book “describes the current state of the art in MDA. ... It’s not intended to describe all of the nitty-gritty detail of MDA." They were able to do what they promised in 176 pages, and that includes the index. The book gives readers just enough information to decide whether they want to invest time in delving more deeply into the topic.
MDA is the current approach to making the promise of reuse a reality. For years the reuse community has advocated performing domain analysis and creating the appropriate abstractions to allow for a very coarse-grained reusable component. MDA offers a higher level of abstraction than most Domain-Specific Languages (DSLs) we work with today. DSLs can be very useful, but they are quite difficult to create and often difficult to use. MDA might be thought of as a meta-DSL that has the ability to describe domains abstractly and to provide tools that take the abstractions to the code level for specific platforms. MDA provides two different types of models that make this possible: the Platform-Independent Model (PIM) and the Platform-Specific Model (PSM). You can represent domain abstractions in the PIM and then transform them to a particular PSM. From there, the code is produced. MDA addresses one of the most problematical areas of reuse: platform dependencies that must be dealt with at some point in the development process.
Before reading the book, you should be familiar with the basic concepts behind modeling and UML, but you don’t need detailed knowledge. Keeping the discussion free of most technical specifics, MDA Distilled takes you from examining the motivation for MDA to understanding the current state of the art.
The book has thirteen short chapters that can be grouped as follows:
- Overview and introduction to the terms: Chapters 1-2.
- Building different types of models for MDA: Chapters 3-6. Includes models and meta models (models about modeling languages).
- Getting to the executable: Chapters 7-9. Describes language issues and details necessary for producing executable software.
- Agile MDA: Chapter 10. Addresses the “agile" issue, which is almost obligatory in software engineering books today. This material is not necessary for understanding the book.
- The process: Chapters 11-12. How do you go about using MDA? How should you modify your process to institute MDA in your organization?
- The future of MDA: Chapter 13.
MDA encompasses a lot of concepts, not all of them “ready for prime time," as we might say. But the vision is becoming clearer, and the day is getting closer, when we will be able to construct all of a significantly complex application from models. Reading this book is a great way to get you thinking about how you and your organization will use the tools and techniques when they are ready. If you want to be prepared to take advantage of MDA technology to improve your competitive software development position, this book will give you a good foundation. I’m ready to build on mine.
About the author  | 
|  | Gary Pollice is a professor of practice at Worcester Polytechnic Institute, in Worcester, MA. He teaches software engineering, design, testing, and other computer science courses, and also directs student projects. Before entering the academic world, he spent more than thirty-five years developing various kinds of software, from business applications to compilers and tools. His last industry job was with IBM Rational Software, where he was known as "the RUP Curmudgeon" and was also a member of the original Rational Suite team. He is the primary author of Software Development for Small Teams: A RUP-Centric Approach, published by Addison-Wesley in 2004. He holds a B.A. in mathematics and M.S. in computer science. |
Rate this page
|  |