Two years ago, the software trade press was awash in three simple lettersMDA. Short for "Model-Driven Architecture," MDA held the promise of developing sophisticated business processes exclusively through conceptual diagrams using UML, short for the Unified Modeling Language. Thrown into the mix were a few more three-letter ingredients, including CWM (Common Warehouse Metamodel), MOF (Meta Object Facility), OCL (Object Constraint Language) and XMI (XML Data Interchange)all designed to transform UML into cross-platform, nonproprietary diagrams to code translations. This special guide to MDA tools compiles a spectrum of state-of-the-art MDA tools to assess the gulf between hype and reality.
Current State of MDA
For the uninitiated, MDA can be a challenge: The movement from models to code transformations demands implicit trust. MDA requires a complete paradigm shift, analogous to ASCII-based coders shifting from machine language to assembly or from procedural processing to object-oriented ways of thinking. For most developers, the journey starts with UML.
Because UML is at the heart of nearly every MDA product, a good UML editor is central for model-to-code and model-to-model transformations. If it weren't for the dominance that UML has gained over the industry, MDA and related modeling standards couldn't even exist. Some products, such as IBM's Rational, offer MDA capabilities as an add-on to well-established UML tools. Others, such as Innoq's iQgen, allow the import of UML models from popular UML editors, such as Rational Rose, into the respective product's MDA editing environments. And still others, realizing the complexity of standards that encircle the MDA mantra, have constructed standalone applications integrating all these evolving layers into a cohesive working container.
Two of the most comprehensive applications in the J2EE model-to-code and model-to-model MDA development arena today are Borland's Together 2006 and Compuware's OptimalJ. These tools target sophisticated software architectswith the learning curves to prove it.
Those seeking an end-to-end MDA solution may need to pay more upfront so they won't need to wait for the eventual interoperability promised by the authors of MDA standards. However, for developers curious about the benefits of MDA, low-cost, high-quality alternatives are available.
But be careful. Not all model-driven code generators are MDA-compliant. Some tool vendors reject MDA's overhead for a more streamlined (albeit proprietary) solution to the problem. In the case of Code Futures' Firestore/DAO Enterprise Edition, CEO P.J. Murray explains, "We wanted to avoid the initial learning curve because MDA assumes knowledge of UML, MOF, OCL and other things. We wanted a product that could be used immediately by Java developers with their existing skillsets. This requirement to fit in with existing development practices and skills is based on past experience of the difficulties in trying to change the way programmers develop applications."
However, MDA and Object Management Group (OMG) purists would argue that this proprietary modeling approach runs counter to the primary intentions of what MDA standardization efforts are supposed to solve. The architects, designers and developers will ultimately decide whether optimized proprietary, generic standards, or both attitudes can coexist in the marketplace.
The Future of MDA
Almost all of the vendors included in this guide admitted that MDA's goal of seamless interoperability of model transformations hasn't been fully realized. This is partly due to standards that leave specific implementation details up to commercial vendors who must release their products into the market to fund future product development as the standards evolve. As the standards are put into real-world practice, additional needs and limitations are identified. and extensions or whole new categories are added to the standards family to address those concerns. Compuware's Director of Development Solutions' Edwin Schumacher states, "UML, MO and XMI are three of the five standards that are needed. There are two in proposal phase: QVT (Query View Transformation) and M2T (Model to Text). So those are the five standards that, in our opinion, would make up MDA."
Regarding the need for improved interoperability between MDA tools, Schumacher adds that there are still variations on how MDA may be interpreted: "Some tools use UML profiles and stereotypes to implement code generation capabilities, whereas OptimalJ has implemented the QVT and M2T standards." So, as seems to be the case with most well-intentioned standards efforts, variations will continue to limit effortless interaction of the many moving parts of MDA between different vendor products.
Even as these standards continue to evolve, the consolidation and disappearance of some offerings have prompted cynical software industry pundits to conclude that MDA is CASE 2.0, and would meet the same fate as that early '90s attempt to escape the ASCII character coding trap. But without CASE to fuel the fire, UML, component-based design and even the round-tripping of code and UI might not have evolved to the degree they have. The continued drive and determination of MDA and UML software vendors shows that there must be a more productive and reliable way to build better system and platform-independent software. The dream is still alive and well, and customers of current MDA products are pioneering the crystallized realization that will continue to move the development, productivity and quality bars higher.
This guide isn't an exhaustive list of every tool available in the category, but rather a representative sampling of products that best illustrate the featured technology. Vendors range from small consulting firms to large corporations. Even with this broad variance, many of the featured tools offer progressive developers the ability to realize the gains promised by MDA practices. Each product listed highlights:
Features and Claims. This category summarizes the capabilities advertised by the product's vendor. While many of these companies are at parity in baseline features, the more expensive solutions offer distinct advantages for those teams sophisticated enough to adopt advanced capabilities into their software development processes. Podcasts with some of these companies can be found on the Software Development magazine RSS feed (www.sdmagazine.com/podcasts/).
Market Buzz. This subjective category underscores some of the more interesting features and, in some cases, potential distractions and/or shortcomings that are manifested in the product.
Cost. Due to the focused market segment that MDA vendors pursue, along with their aggressive efforts to try to become the de facto standard tool for model-driven development, many of the products in this guide are fiscally attainable by developers seeking a tool to orient themselves toward MDA opportunities. Only those packages established as heavy-lifting software architect applications match the prices typically associated with high-end enterprise application design packages.
Selected Model-Driven Architecture and UML Authoring Tools
Mike Riley is a Naperville, Illinois-based advanced computing professional specializing in emerging technologies and new development trends. Contact him at [email protected]