Issue #7 [April 03-April 07, 2006]
MDA T.R.E.N.D: Transform and Refine Enterprise Nomenclature and Definition
In last week’s discussion, we analysed different aspects of currently available MDA tools. We identified the master key of MDA success. We considered different aspects of MDA-based layered transformation of models. So far, we have a clear view of the current MDA tool status and OMG’s MDA specification. This week, we will discuss how MDA can help in making a significant transformation of enterprise layers and different emerging and ongoing possibilities. Our objective is to shed light on changing this new T.R.E.N.D (Transform and Refine Enterprise Nomenclature and Definition), and drawing a roadmap for the future.
MDA – A Life Cycle, Not Just a Model
The IT industry has been governed by object-oriented (OO) technology over the last few decades. However, in real life, a lot of developers start projects from Use-Cases, without systematically refining it, instead tending toward a procedural execution approach. They seem to have forgotten the actual purpose behind using objects. It is not just the dot (.) that makes object different from subroutines – objects are live, so the better they are reused, the greater the benefit. In the same way, models are just not a few fancy diagrams designed to temporarily visualize a problem or to impress project sponsors or developers. Models can be the lifeblood of the enterprise. They can flow smoothly through different layers. That is why MDA is so important to the current enterprise systems. A model has its own identity, behavior, and value, as objects do.
The Generalized Enterprise Reference Architecture and Methodology (GERAM) specification shows how a model can significantly contribute to building a successful enterprise operational system. As the following figure illustrates, proper use of models can refine the enterprise layers.

The MDA specification is therefore a significant step forward towards this dream. Models need a life – they should be able to provide value through reuse, useful transformation, and merging. We’ll discuss more about this in the enterprise architecture discussion series.

MDA Features Need More Industry Attention
This chart demonstrates the different strength and weaknesses of available tools. It also identifies those areas that need more attention from a tool vendor point of view.
MDA tools need to improve in the following areas:
- Computation Independent Model (CIM)
- MetaObject Facility (MOF)
- Queries / Views / Transformation (QVT)
- Marking
- Mapping
- Common Warehouse Metamodel (CWM)
In the currently available crop of MDA tools, these features require more attention to help enterprise adoption of MDA. Model repository and interoperability are some of the biggest challenges in MDA’s success – toll vendors are yet to solve these puzzles. MOF-based implementation, proper XMI based import/export of models, and distributed version controls of models to ensure traceability are also high-level priorities.

More interestingly, different open source communities are very active in terms of understanding the real need of MDA adopters. Transformation frameworks, Model Repository Frameworks, Model Generation Frameworks, and MDA tool development frameworks are the four cornerstones of MDA success that can make a genuine contribution towards MDA adoption and expedite the transformation process.

A Few Initiatives
Last week, we briefly discussed the features of several significant open source initiatives. In this section, I will highlight their main objectives and features.
The Generative Model Transformer (GMT) is an excellent initiative from the open source community. The following excerpt from Eclipse’s GMT project home page will give us a clear idea about the project goal:
GMT will provide a related set of components that can be used by other MDE tool components. The large breadth of the audience makes it necessary to define a tool architecture that is based on plug-ins and may rely on standard formats for information exchange between the tools (XML-based, XMI, etc.)”.
Typical research prototypes in the GMT project will include the following:
- A weaving facility that may combine two source models or more into one target model or more. Since there are several ways of combining two models together for obtaining a third one, the combination itself may be defined by an additional model.
- A checking facility that takes a model as input and produce a diagnostic of how this model satisfies some verification constraints as output.
- A workflow component that may provide coordination between other MDSD tools (orchestration, for instance). More generally, any solution to the general fragmentation problem arising from the usage of a huge number of different DSLs (Model Driven Engineering, or MDE, component coordination, that is).
- Tools that support capture, modification or application of particular DSLs such as feature models.
“Any component that may be combined with previous ones, either in stream-based, service?based or event-based interconnection mode is a potential contribution to the GMT project.”
Another exciting project is ModFact, which addresses MOF, QVT, Model bus, and MDA service. The project’s objective, as stated by Modfact is “to provide a framework for building applications in accordance to the MDA concepts. ModFact is composed of several projects. The repository project leads to the generation of MOF repositories. The QVT project leads to the execution of model transformations. The model bus project leads to the interoperability of MDA related tools via the concept of MDA service.”
However, Xactium’s core product, XML-Mosaic, is probably the only commercial product that has identified the most important requirement of MDA success. This product helps to create MDA tools through the adoption of the provided framework. Dr. Andy Evans, managing director of Xactium says, “Our main objective is enable developers to interactively validate, reason with, and debug their systems at the model level. While PIM to PSM transformation are important, we believe that being able to build and test semantically meaningful models is crucial to the success of MDA. That is why XMF-Mosaic is uniquely built on a model-based execution engine, enabling models to be interacted with in the same way as programs.”
Model Driven Collaborative Intelligence
Adaptive intelligence is the core of any intelligent system. It is easy to succeed with proper collaboration among components. Enterprise Application Integration, Web Service, and SOA are examples of collaborative enterprise components. MDA concepts with the help of available collaborative service technologies can help the industry become an intelligent homogeneous service-oriented model-driven collaborative enterprise.

With the advancement of MOF, QVT, Transformation, CIM and XMI maturity, we are not very far from having an Enterprise Architecture Bus to provide on-demand models. With the help of the above-mentioned frameworks and tools like Xactium’s XMF-Mosaic, the industry may soon get an Eclipse-like MDA IDE. Again, tool vendors and architects can make this transformation faster.

A significant move towards this next milestone will aid the development of an enterprise that is built upon MDA and Aspect-Oriented Crosscutting Concerns.
Conclusion
MDA TREND is crucial for the enterprise. An MDA-supported enterprise would be more successful than the traditional model-driven attempts, as long as the growth is in a systematic manner. While MDA may be compared with CASE tools, it is also good to remember that failure is the pillar of success. The industry has many successful pillars, and MDA can build upon that success. Let’s get the “Sagrada Familia”, dreamt by the great architect Anthony Gaudi, to make a model driven holistic enterprise.
References
- http://java.sun.com/products/jmi/
- http://www.eclipse.org/gmt/about.php
- GERAM: Generalised Enterprise Reference Architecture and Methodology. Version 1.6.3 Also in P.Bernus, L.Nemes and G. Schmidt (Eds) Handbook on Enterprise Architecture, Berlin : Springer (2003) pp 22-64.
- http://modfact.lip6.fr/
- http://www.xactium.com/
- XMF-Mosaic



