Enterprise SOA: Service-Oriented Architecture Best Practices
by Dirk Krafzig; Karl Banke; Dirk Slama
Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML
by Jim Arlow; Ila Neustadt
MDA Explained: The Model Driven Architecture™: Practice and Promise
by Anneke Kleppe; Jos Warmer; Wim Bast
"A readable and much needed introduction to MDA."
--Dr. Jim Arlow, coauthor of UML and the Unified Process
(Addison-Wesley, 2002) and Enterprise Patterns and MDA
(Addison-Wesley, 2004)
"This book provides an excellent introduction to the ideas
and technologies that will form the foundation of the model-driven
architecture over the coming years. I recommend it
wholeheartedly."
--Dr. Andy Evans, Managing Director, Xactium Limited, UK
"Excellent job of distilling MDA down to its core
concepts."
--Krzysztof Czarnecki, Univeristy of Waterloo, coauthor of
Generative Programming (Addison-Wesley, 2000)
As systems have grown more crucial to the operations of organizations worldwide, so too have the costs associated with building and maintaining them. Enter model-driven architecture (MDA), a standard framework from the Object Management Group (OMG) that allows developers to link object models together to build complete systems. MDA prevents design decisions from being intertwined with the application and keeps it independent of its implementation. The result is an application that can be combined with other technologies as well as other applications, and models that become highly reusable assets.
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.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 2 Ratings
Field still incomplete - 2004-04-19
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Over the decades, programmers have developed higher levels of abstraction in their languages. From the raw machine code of the 1940s to assembler to Fortran and later to C, C++, Java, C#. Once past assembler, all the higher constructs give us hardware independence. But suppose we have a system we want to code. The system could be defined textually or graphically. Currently, the implementation of a system is dependent on the software.
MDA is an attempt to give us software independence. The promise is to build a model according to some rules. This model documentation can then be run through a black box that makes implementation code. The user does not have to know the details of the black box. Exactly analogous to how you might write a C program and then turn it over to a compiler.
Clearly, there is immense value if MDA is possible. The authors say much of the value lies in the model being closer to what the user desires. Ideally, the user would draw up the model and be able to test it, without any knowledge of the lower, programming level. So there is no "verification gap". The document the user makes can be thus executed.
Some of you will remember similar claims made for fifth generation languages and their like back in the late 80s. These would turn every user into a programmer, eh?! Unfortunately, those efforts failed. The problem was too hard.
Sadly, as the authors themselves point out, MDA has not reached this goal either. A work still in progress. The book shows the current borders of research. It could do with some non-trivial examples. Important because of the abstract level of most of the discussion. Whilst there are some examples, they are of limited complexity.
An excellent introduction to MDA - 2004-04-21
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Model-driven architecture (MDA) is a potential next level of abstraction in the production of software. The principle is that the solution to the problem is expressed using a modeling language, which is then translated by a model compiler into source code. That source code is then converted into executable code. The potential for increased efficiency is obviously enormous. The ability to express solutions in a high- level abstract language alone will provide substantial benefits. Once it is possible to mechanically convert the solution into an executable form, one middle step in the software development process will be eliminated.
While there are many legitimate doubts that can be expressed about the current state of MDA implementation, it has progressed to the point where all development teams should perform an initial investigation. When that point is reached, you should reach for this book. As the name implies, this is a primer/overview of what MDA is, how it is organized and the notations used to express the various elements of MDA.
I found the book to be an excellent introduction to what MDA is, how it will be implemented and the advantages that it offers. It starts with a chapter on the basic terminology, which is followed by chapters on building models, building metamodels, building marking models, building languages and building executable models. I found the chapters on building marking models and building languages the most interesting. Marks are additional inputs used in the transformation of the model into source code. They are needed to represent the problem specific features of the current solution. Since there are so many different ways in which software is used, area specific modeling languages are needed. The description of how languages for this can be built was very interesting.
At this point, no one knows how effective MDA will be in software development. However, there is no question that it will have an impact and this book will teach you the how and why.
Top Level Categories:
Software Engineering
Sub-Categories:
Software Engineering > ObjectCycle
Some information on this page was provided using data from Amazon.com®. View at Amazon >