<<

WHITE PAPER

Understanding tool requirements for Model Driven Architecture

Koos de Goede* and John Irizarry February, 2008

* Koos de Goede is founder of @-portunity, an that performance can only be predicted by emerging enterprise with core competencies in individual rather than organizational capability. Model Driven Architecture development. He can Model Driven Architecture (MDA™) solves this be reached at [email protected]. problem by facilitating model-driven

development of Enterprise-Class applications that are based on open standards and are able Introduction to adapt to new hardware capabilities and Historically software design and development software platforms. MDA, however, can only efforts face numerous challenges, beginning exist by means of high-quality tools that support from the early stages of requirements gathering the MDA standards. and continuing on through the entire Software Development Life Cycle. Software developers This document briefly touches upon the MDA often subscribe to legacy practices, taking a paradigm and intents to present a checklist of code-only approach without employing the use what MDA tool suites should be capable of. The of separately defined models. The written code checklist is illustrated with feature highlights forms their basis for expressing system models, from Blueprint ME, @-portunity’s integrated usually enacted by third-party programming MDA development environment. languages within development environments such as Eclipse. This approach is informal, MDA Foundations intuitive and mostly living on whiteboards and Being the product of the Object Management word documents, or even in the developer’s Group’s (OMG™) open standard adoption head; dissipating instead of permeating process, MDA enables enterprises to integrate throughout the project lifecycle. The result is what has been built with what will be built

Understanding tool requirements for Model Driven Architecture 1

WHITE PAPER

based on well-established and open standards. • Platform independency In MDA, models, expressed in a well-defined • Domain specificity notation, are the cornerstone in defining and • Productivity understanding systems. Models are created at • Uniformity different levels of abstraction, separating the • Consistency concerns of the business from the technical details of the actual software solution to be Platform independency developed. Basically, three different types of MDA greatly reduces the time, cost and models are constructed: one that contains the complexity associated with re-targeting business specifications, one for the high level applications for different platforms, including details of the platform and one that includes those yet to be introduced. technical details of the target platform. By Domain specificity describing these models through a set of meta- MDA enables implementations of industry models, transformation amongst models is specific applications over diverse platforms, facilitated, ultimately resulting in code through domain specific meta-models. generation.

Productivity “MDA enables enterprises to integrate what has MDA increases productivity, by permitting been built with what will be built based on well- developers, designers and system administrators to use languages and concepts “ established and open standards.” they are comfortable with, while enabling seamless communication and integration across the teams. MDA Benefits ” Uniformity The bottom-line benefits of MDA are significant- As from the onset, models and their definitions to business leaders and developers alike: are structured to achieve consistency yielding reduced cost throughout the application life- applications that are implemented in a uniform cycle reduced development time for new manner; MDA increases the quality and applications and improved quality of even more robustness of the end product. complex systems. Moreover MDA allows for rapid inclusion of emerging technology benefits Consistency into existing systems. The realization that Through the ability to perform bi-directional modeling is critical to the success of every transformations, MDA assures that all models enterprise-scale solution forms the impetus for reflect current-state consistently. a growing consensus that MDA promotes:

Understanding tool requirements for Model Driven Architecture 2

WHITE PAPER

MDA Standards MOF-based model or meta-model that cannot otherwise be expressed by diagrammatic The definition of the MDA concept started late notation. 2000 using OMG’s open standard adoption process, only to reach maturity with the XML Metadata Interchange (XMI) definition of the QVT specifications in 2007. The XMI is a model driven XML Integration definite MDA standards require models to be framework for defining, interchanging, compliant with OMG’s Meta-Object Facility manipulating and integrating XML data and (MOF™). This guarantees that all models can be objects. XMI-based standards are in use for related to each other in order to be parsed, integrating tools, repositories, applications and transferred, stored and transformed. More data warehouses. concrete, the following standards must be integrated in an MDA development Query/View/Transformation (QVT) environment in order to support the start-to- QVT is a standard for writing transformation end model-driven development cycle: specifications between MOF based meta- models. A QVT engine is able to execute • Meta-Object Facility (MOF) transformations and create (or update) a target • Unified Modeling Language (UML) model from a source model. • Object Constraint Language (OCL) • XML Metadata Interchange (XMI) Model-to-Text (M2T) • Query/View/Transformations (QVT) M2T enables transformations of models to various text artifacts such as code, deployment • Model-to-Text (M2T) specifications, reports and application Meta-Object Facility (MOF) documentation. MOF™ is an extensible model driven integration framework for defining, manipulating and Tool Ecosystem: Polluted integrating meta-data and data in a platform Even before the crystallization of OMG’s MDA independent manner. standards, the tooling ecosystem attained a new category: MDA tools. Many of these tools Unified Modeling Language (UML) claim to enable MDA development, but reality UML® is a standardized specification language shows that only the code-generation part of for object modeling. It is a general-purpose MDA is supported. As a result, model-driven modeling language that includes a graphical development has become a buzzword, the main notation used to create an abstract model of a objective believed to be the automation of system. 100% code generation. On the contrary, MDA Object Constraint Language (OCL) should be used advantageously at various OCL is a precise text language that provides stages of the Software Development Life Cycle constraint and object query expressions on any in order to enrich development methodologies

Understanding tool requirements for Model Driven Architecture 3

WHITE PAPER

and to enforce architecture conformance. The Meta-modeling key technologies embodied within MDA tools The meta-modeling facility combines the should be focused towards enabling developers creation of meta-models and UML Profiles. to maximize their activities during the MDA Meta-models can be considered as an explicit process. description of how a domain-specific model is built. As UML alone is not able to represent the Towards a Healthy Ecosystem semantics of a meta-model in a convenient way, Essential to any MDA tool is the need to UML profiles are used to provide additional integrate all required technologies. Blueprint queries and constraints to a UML model. Modeling Environment (Blueprint ME) is the UML modeling first integrated MDA modeling and The UML modeling facility includes a UML 2.1 development environment offering compliant visual modeler that supports UML interoperability of all ingredients of the MDA profiles and constraint validation. The UML process. modeler’s hierarchical process structure facilitates the orderly construct of flows “Many MDA tools claim to enable Model-driven depicting the MDA process. development, but reality shows that only the Model-to-model transformations “ code-generation part of MDA is supported.” The model-to-model transformation facility enables the definition of model

transformations. This facility is based on QVT Based upon and fully integrated with the Eclipse Operational and includes a highly intuitive ”IDE, Blueprint ME is an extendible environment graphical user interface that features test and that allows integration with a variety of debug facilities. Within the model-to-model programming languages and features the transformations facility, users can associate following facilities in line with OMG’s MDA models through drag and drop operations and standards. define the structure of the transformation • Meta-modeling model. The specifics of every operation can be • UML modeling defined using a property editor that guides the • Model-to-model transformations user towards further definition of • Model-to-text transformations transformation centric rules. Step-by-step • Transformations execution analysis and test of transformations are handled • Model repository by the integrated transformation debugger. Historical data on transformations is maintained and recorded.

Understanding tool requirements for Model Driven Architecture 4

WHITE PAPER

Model-to-text transformations Usability The model-to-text transformation facility Last but not least, usability is a key factor when permits the design of artifacts in compliance it comes to MDA tool suites. The most with the M2T standard. The interface includes important usability requirements are the split window editors that separate template interoperability between the various standards definition from the queries. The M2T and the integration of these standards and implementation is template driven. Textual facilities in one single development artifacts can be generated in arbitrary forms environment. Blueprint ME combines those supporting regeneration without loss of manual requirements with a highly intuitive user changes made to previously generated output. interface including features like real-time The template editor can be extended with a transformation debugging that allows users – user defined syntax coloring scheme. both experienced and novice – to understand the complexity of MDA and unleash the power Transformation execution engine The transformation execution engine enables of model-driven development. the user to define workflows to perform

multiple sequential transformations (both QVT and M2T). Workflows can be defined in a way Blueprint ME integrated MDA IDE that the output of one transformation is the Blueprint ME, is the first integrated modeling input of the next. environment that allows end users to effectively produce complete designs in compliance with

“Last but not least, usability is a key factor when OMG's Model Driven Architecture standards (MOF, UML, OCL, XMI, QVT and M2T). it comes to MDA tool suites.” “ To find out more about Blueprint ME, please

visit www.atportunity.com. Model repository ”The model repository facilitates storage for reusable modeling artifacts. The repository

includes versioning and keeps track of artifact changes. The model repository allows storage of Models, meta-models, UML profiles, UML libraries, transformations and workflow definitions.

Understanding tool requirements for Model Driven Architecture 5

WHITE PAPER

About @-portunity @-portunity is an emerging enterprise with core competencies in Model Driven Architectures. Our management team is comprised of seasoned professionals with years of collective experience in the areas of Software Architecture Development, and advanced Software Development Methodologies as applied in resolving real world situations. Our flagship product, the Blueprint Modeling Environment, is the first integrated suite of tools that allows end users to effectively produce complete designs in compliance with OMG's Model Driven Architecture standards. @-portunity is member of the ™. To find out more visit us at www.atportunity.com.

© Copyright 2008 @-portunity B.V. No part of this publication may be reproduced or transmitted by any form or by any means without the prior written permission of the publishers. All registered trademarks and copyrights are understood and recognized by @-portunity.