|
MDA is
one of the most important technological developments of this
decade. David Frankel has done a singular service by bringing together
some of the best minds to reflect on the role and value of MDA. I am
pleased to recommend The MDA Journal to anyone who wants to gain a
comprehensive overview of the issues involved in using MDA.
―Paul
Harmon
Executive Editor
Business Process Trends
In
these pages you will find the vital discussion of a young discipline by
the developers, practitioners and theorists who are creating standards
and products for this evolutionary revolution. While this isn’t a
reference manual or even a technology guide, it’s an important way to
quickly understand the issues involved in implementing an MDA approach.
I leave you in the hands of several masters of the craft. Enjoy your own
evolution!
―Richard
Mark Soley,
Ph.D.
Chairman and CEO
Object Management Group, Inc.
Table of Contents
Foreword by Dr. Richard Soley
1. Software Industrialization and the New IT:
A Perspective on MDA
by David S. Frankel
2. MDA and the Object Technology Barrier
by David S. Frankel
3. Transtioning to MDA
by Michael Guttman
4. MDA, SOA, and Technology Convergence
by Michael Rosen
-The Cook-Guttman Debate on MDA and Microsoft:
5. Domain-Specific Modeling and Model Driven Architecture
by Steve Cook
6. Microsoft Should Not Compete With MDA
by Michael Guttman
7. Microsoft’s Approach To Modeling Is Customer-Driven
by Steve Cook
8. MDA and Microsoft
by Michael Guttman
9. The MDA Marketing Message and the MDA Reality
by David S. Frankel
10. Model-Driven Software Development
by Jorn Bettin
11. An MDA Manifesto
by Grady Booch, Alan Brown, Sridhar Iyengar, James Rumbaugh,
and Bran Selic
12. Agile MDA
by Stephen J. Mellor
13. A Model-Driven Semantic Web
by David S. Frankel, Patrick Hayes, Elisa F. Kendall, and Deborah L. McGuinness
14. Enterprise MDA or How Enterprise Systems Will Be Built
by Oliver Sims
Foreword by Dr. Richard Soley
In an industry that claims to completely reinvent itself every few years,
revolution is the norm. Technology “churn” is the cost of con-stant
progress; new languages, new paradigms, new network topolo-gies and new
gadgets support the churn as well in business strategy: business process
re-engineering, Total Quality Management, Six Sigma, On Demand and the like
all fall into this category. We are told that this constant progress is
taking us nearer and nearer to Information Technology nirvana, that in our
next rebirth I.T. Truth shall be apparent. Software development will be a
job for mere children, no expertise will be necessary to maintain
decades-old infrastructure, and integration will be a snap. Yea, and I say
verily, the complex shall be laid simple!
Would that it were. The more common effects of technology churn are of
course constant retraining, maintenance nightmares caused by lost source
code in languages no-one remembers, impossible integration projects to be
delivered on improbable schedules, and billions of dollars of information
technology budget wasted. The stories of lost productivity and pointless
software modernization efforts far outnumber the long list of technologies
that promised to revolu-tionize the design, delivery, testing, maintenance
and integration of software systems.
But was revolution ever achieved? One can point to improve-ments in fairly
basic technologies. Though the Java I use to lay down system design today
may not look all that different than the FORTRAN Backus gave us in the
1950’s, the parser that translates the Java is certainly more systematic,
the compiler is likely not only faster but generates better optimizations,
and the interpreter is far faster than an IBM 650. Not many of those
improvements, however, can truly be called revolutionary. While the World
Wide Web delivered us a standardized user interface for a wide variety of
information and applications available on a network, it isn’t in structure
too different than the Gopher, X Windows, or even IBM 3270 terminal networks
that preceded it.
In fact, essentially all of the “revolutionary” technology upheavals in the
I.T. field have truly been evolutionary. They built on, abstracted or
extended existing communications paradigms or algorithms. This isn’t a bad
thing of course; it means that a system designer or software developer can
leverage at least an existing abstraction in his work when he encounters the
“next best thing” on the job. Sure, the C++ syntax for printing is bizarre,
but printing is printing, and the FORTRAN developer’s FORMAT abstraction
isn’t going to hold one back too long from learning C++.
As you’ll see in the discussion, the tit-for-tat and the tête-à-tête and the
to-and-fro in this volume, Model Driven Architecture (MDA) changes the
landscape in some very important ways. Most obviously, most modeling
languages (and in particular the Unified Modeling Language) are graphical
rather than textual. With a fifty-year history of nearly all textual
languages for directing computing engines, this is a departure, but not
really a huge one. Formal graphi-cal languages have been used in the
computing industry since the beginning, and more than a few of us remember
“flow charts.”
More importantly, the model transformation that is the heart and soul of MDA
is in many ways no different than any other compilation technique. The idea
of converting, or transforming, one descrip-tion of an algorithm into
another (usually less-abstract) description of an algorithm goes back at
least to our old friend FORTRAN, but really to the first assembler for
EDSAC. The real difference in the MDA approach, other than the fact that the
graphical language is “compiled” by an algorithm itself—a model
transformer—is that model transformation itself is recognized as central to
the design, development, testing, deployment, maintenance and integration of
computing systems.
This book contributes a conversation on points of view on MDA from these
relatively early days of standardization of MDA practice. As this book
appears, UML has swept the landscape, available in every open-source and
commercial development environment, and according to several polls, in use
or planned in use by at least 80% of corporate development shops. MDA, the
natural extension of UML (which doesn’t wish to continue to be chained to
the rock of pretty pictures), is spreading rapidly. That doesn’t mean that
there is 100% agreement, however, on how the practice of system development
and maintenance by model transformation should be followed.
In these pages you will find the vital discussion of a young discipline by
the developers, practitioners and theorists who are creating standards and
products for this evolutionary revolution. While the basic ideas of
compilation and even model transformation aren’t very new, the standards and
many of the products and practices are, and it certainly helps to have as
our guide someone who literally wrote the book on Model Driven Architecture,
and who has been there since the beginning of that evolution. While this
isn’t a reference manual or even a technology guide, it’s an important way
to quickly understand the issues involved in implementing an MDA approach.
I leave you in the hands of several masters of the craft. Enjoy your own
evolution!
Richard Mark Soley, Ph.D.
Chairman and CEO
Object Management Group, Inc.
40,000 feet over the Rocky Mountains
About the Authors
You can reach the authors by email:
mda@mkpress.com
David Frankel’s career in the software industry
spans 25 years, during which he has had experience in all phases of software
development. He specializes in the architecture of distributed enterprise
computing systems. He is the author of many published articles and sole author
of the book “Model-Driven Architecture: Applying MDA to Enterprise Computing.”
He served several terms as an elected member of OMG Architecture Board, and is
the editor of MDA Journal.
John Parodi has more than twenty years experience in technical
communication, including award-winning white papers and user documentation,
trade press articles, and technical overviews, on top-ics that include
middleware, enterprise integration, security, software architecture, and
development methodologies. He is now an independent contractor focusing on the
capture and articulation of tech-nical ideas in support of engineering
excellence and market success.
Michael Guttman is currently Director of the OMG's MDA FastStart Program.
He was previously CTO of Genesis, a leading software development consultancy.
Michael has been a pioneer in the field of object and component technology, and
an early proponent of enterprise architecture modeling. He helped develop
several comput-ing standards, including CORBA 1.0 and IIOP, and is the co-author
of two books - The Object Technology Revolution (Wiley, 1995) and Developing
E-Business Systems and Architectures (Morgan-Kaufman) - and numerous articles.
He lives in Chadds Ford, PA, and likes to play blues piano, collect books, and
travel.
Mike Rosen has more than 25 years of experience in the model-ing,
architecture, and design of distributed software systems, includ-ing CORBA, COM
/.NET, DCE, J2EE, XML, Web Services, trans-action processing, and
messaging-oriented middleware. He was a contributing author of the OMG's
COM/CORBA Interworking Specification and has written books about object
technology and technology integration. Mike is a frequent speaker at industry
sympo-sia and a contributor to industry journals, and has been an architect and
senior contributor on several commercial middleware products. Mike is now an
independent consultant focusing on the challenges of enterprise
application--including enterprise architecture, SOA, MDA and enterprise
integration.
Steve Cook is a Software Architect in the Enterprise Frameworks and Tools
group at Microsoft, which he joined at the begin-ning of 2003. Previously he was
a Distinguished Engineer at IBM, whom he represented in the UML 2.0
specification process at the OMG. He has worked in the IT industry for almost 30
years, as ar-chitect, programmer, consultant and teacher, and has focused on
modelling languages and tools since the 1980s. He has published a book and many
papers and articles on software-related topics.
Jorn Bettin is a software consultant with a special interest in
techniques to optimize the productivity of software development teams and in
designing large-scale component systems. He is Managing Director of SoftMetaWare
, a consultancy that provides strategic technology management advice, with
resources based in the US, New Zealand/Australia, and Europe. Prior to
co-founding SoftMetaWare in 2002 he worked for over 13 years as a consultant and
mentor in the IT industry in Germany, New Zealand, and Australia. He has
implemented automated, model-driven development in several software
organizations, has worked in methodology leadership roles in an IBM product
development lab, and enjoys leading international teams dispersed across several
loca-tions. Jorn and two co-authors have published a book about Model-Driven
Software Development in German entitled Modellgetriebene Softwareentwicklung,
and expect to publish an English edition in 2005.
Grady Booch is an IBM Fellow and is recognized internation-ally for his
innovative work on software architecture, software engineering, and modeling. He
has been with IBM Rational as its Chief Scientist since Rational's founding in
1981, and is one of the original developers of UML. He is the author or
co-author of six best-selling books.
Alan Brown is an IBM Distinguished Engineer responsible for driving the
technical strategy for the IBM Rational desktop products. He is a key part of
the leadership team responsible for product strat-egy and architecture for the
combined Rational and WebSphere tooling. He also leads the technical team that
is defining IBM's model-driven development vision.
Sridhar Iyengar, an IBM Distinguished Engineer, leads techni-cal strategy
for IBM Rational on the use of models, metadata, and transformation frameworks
in integrated, standards-based software development suites. He led the
definition of the initial MOF and XMI standards and their integration with UML.
He serves on the OMG Architecture Board and Board of Directors.
James Rumbaugh is an IBM Distinguished Engineer and one of the original
designers of the Unified Modeling Language. He is considered one of the founders
of object-oriented modeling and is author or co-author of five highly
influential books on this and re-lated topics. He is responsible for driving
IBM's efforts in the areas of modeling databases and model transformations.
Bran Selic is an IBM Distinguished Engineer who has been working on
modeling language design and model-driven development methods since 1987. He
pioneered the application of these methods in real-time and embedded systems and
co-authored a book on this topic. He co-chairs the OMG task force responsible
for finalizing the UML 2.0 standard.
Stephen J. Mellor is an internationally recognized pioneer in creating
effective, engineering approaches to software development. In 1985, he published
the widely read Ward-Mellor trilogy Structured Development for Real-Time
Systems, and in 1988, the first books defining object-oriented analysis. Stephen
also published Executable UML: A Foundation for Model-Driven Architecture
in 2002. His lat-est book MDA Distilled: Principles of Model-Driven
Architecture was published in 2004. He is active in the Object Management
Group, chairing the consortium that added executable actions to the UML, and he
is now active in specifying MDA. He is a signatory to the Agile Manifesto.
Stephen co-founded a company focused on tools to execute and translate UML
models in the context of Agile MDA. He is now Chief Scientist of the Embedded
Systems Division at Mentor Graphics. In his copious spare time, he chairs the
IEEE Software Industrial Advisory Board.
Patrick Hayes received a BA in mathematics from Cambridge University and
a PhD in Artificial Intelligence from Edinburgh. He has held academic positions
in computer science at the University of Essex (England), in philosophy at the
University of Illinois and as the Luce Professor of cognitive science at the
University of Rochester. He has been a visiting scholar at Universite de Geneve
and the Cen-ter for Advanced Study in the Behavioral Studies at Stanford, and
has directed applied AI research at Xerox-PARC, SRI and Schlumberger, Inc. At
various times, Pat has been secretary of Society for the Study of Artificial
Intelligence and the Simulation of Behaviour (AISB), chairman and trustee of the
International Joint Conference on Artifi-cial Intelligence (IJCAI), associate
editor of Artificial Intelligence, a governor of the Cognitive Science Society
and president of AAAI. Pat's current research interests include knowledge
representation and automatic reasoning, especially the representation of space
and time; the semantic web; ontology design; and the philosophical foundations
of AI and computer science. Pat is a charter Fellow of the American Association
for Artificial Intelligence (AAAI) and of the Cognitive Science Society.
Elisa Kendall is Chairman & CEO of Sandpiper Software, which she founded
in 1995. She has over 25 years professional experience in the design,
development, and deployment of enterprise-scale information management systems
for communications, high technology, and aerospace applications. She is the
principal architect of Sandpiper's UML-based knowledge representation, ontology
analysis, and reasoning architecture, and has developed rigorous methodologies
for domain assessment and ontology design and development. Ms. Kendall currently
leads the policy awareness segment of Raytheon's DARPA/XG program for next
generation communi-cations, is a key contributor to standards efforts such as
the OMG's Ontology Definition Metamodel (ODM), and provides training and
services to several of the company's key customers. From August 1992 to June
1995, she served as product development manager for Aspect Development, a
provider of component and supplier man-agement systems acquired by i2
Technologies. Prior to joining Aspect, Ms. Kendall served in a variety of roles
at Lockheed Martin Missiles & Space. She was lead software engineer for the
design, de-velopment, deployment, and support of several ground-based signal
processing and data management systems. She holds an MA in Linguistics from
Stanford University and a BS in Mathematics and Computer Science from the
University of California at Los Angeles.
Deborah McGuinness is the associate director and senior research
scientist of the Knowledge Systems Laboratory at Stanford University. She has
been working in knowledge representation and reasoning environments for ontology
creation and maintenance for over 20 years. She has built and deployed numerous
ontology environments and ontology applications, including some that have been
in continuous use for over a decade at AT&T and Lucent. She is the co-editor of
the W3C Recommendation Ontology Markup Language (OWL) and co-author of the
predecessor languages: the DARPA agent markup language (DAML+OIL), OIL, and
CLASSIC. She leads the Stanford Explanation and Ontology Evolution Environ-ment
efforts. She has published over 100 papers and has authored granted patents in
knowledge based systems, ontology environments, configuration, and search
technology. Deborah is program chair for the 2004 American Association for
Artificial Intelligence conference, and is on the steering board for other
academic organizations, including the International Organization for Description
Logics (DL), the Semantic Web Science Foundation, Ontology.org, the
International Organization for Knowledge Representation and Reasoning (KR inc.),
and the International conference on Conceptual Structures (ICCS). Deborah
received her Bachelors degree in math and com-puter science from Duke
University, her Masters degree in computer science from Berkeley, and her PhD
from Rutgers University.
Oliver Sims is an internationally recognized leader in the archi-tecture,
design, and implementation of service-oriented enterprise systems. Over the past
several years he has focused on assisting IT organizations in their transitions
to effective service-oriented systems, addressing process and management issues
as well as architectural and technical concerns. Oliver has held senior
technical positions in both software product and service companies. He was a
founder member of the OMG Architecture Board, has been active in OMG Task
Forces, and has contributed to the development of MDA and UML2. Co-author of
Business Component Factory and Building Business Objects, and author
of Business Objects, he has many published articles to his credit.
Oliver's experience in IT and software spans three decades, and he has
accumulated wide practical experience in a variety of roles and with many kinds
of system. He was one of the first to prove the synergy between components and
distributed objects, and was chief architect for a groundbreaking component
container middleware product in the 1990s.
|