Evaluation of MDE Tools from a Metamodeling Perspective
Total Page:16
File Type:pdf, Size:1020Kb
50 Journal of Database Management, 19(4), 50-75, October-December 2008 Evaluation of MDE Tools from a Metamodeling Perspective Joãão de Sousa Saraiva, INESC-ID/Instituto Superior T´ecnico, Portugal Alberto Rodrigues da Silva, INESC-ID/Instituto Superior T´ecnico, Portugal ABSTRACT 150 words or less Keywords: evaluation framework; metamodel; MDE; tool INTRODUCTION (Schmidt, 2006), abstracting over the solution Ever since the appearance of computers, re- domain (computing technologies) instead of searchers have been trying to raise the abstrac- the problem domain. tion level at which software developers write Currently, the abstraction level is being computer programs. Looking at the history of raised into the model-driven engineering (MDE) programming languages, we have witnessed paradigm (Schmidt, 2006). In this abstrac- this fact, with languages evolving from raw tion level, models are considered first-class machine code to machine-level languages, af- entities and become the backbone of the entire terward to procedural programming languages, MDE-oriented software development process; and finally to object-oriented languages, which other important artifacts, such as code and allow developers to write software by mapping documentation, can be produced automatically real-world concepts into modular segments from these models, relieving developers from of code (called objects). Still, object-ori- issues such as underlying platform complexity ented languages are too “computing-oriented” Copyright © 2008, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. Journal of Database Management, 19(4), 50-75, October-December 2008 51 or the inability of third-generation languages is independent of language or technology, and to express domain concepts. is addressed by these initiatives. MDE is not a new idea. Already in the 1980s All these approaches share the same ba- and 1990s, computer-aided software engineer- sic concepts. A model is an interpretation of ing (CASE) tools were focused on supplying a certain problem domain, a fragment of the developers with methods and tools to express real world over which modeling and system software systems using graphical general-pur- development tasks are focused, according to pose language representations. The developer a determined structure of concepts (Silva & would then be able to perform different tasks Videira, 2005). This structure of concepts is over those representations, such as correction provided by a metamodel, which is an attempt analysis or transformations to and from code. at describing the world around us for a par- However, these CASE tools failed due to issues ticular purpose through the precise definition such as (a) poor mapping of general-purpose of the constructs and rules needed for creating languages onto the underlying platforms, which models (Metamodel.com, n.d.). These basic made generated code much harder to understand concepts are the core of metamodeling, the and maintain, (b) the inability to scale because activity of specifying a metamodel that will the tools did not support concurrent engineer- be used to create models, which is the foun- ing, and (c) code was still the first-class entity dation of MDE. in the development process while models were From the developer’s point of view, a key seen as only being suited for documentation issue for acceptance of any approach is good (Schmidt, 2006). Currently, there are better tool support so that software programs can be conditions for such modeling tools to appear. created in an easy and efficient manner. There Software systems today are reaching such a is a wide variety of modeling tools available high degree of complexity that third-generation today, covering most modeling standards and languages simply are not sufficient anymore; approaches in existence. For example, Rational another abstraction level over those languages Rose and Enterprise Architect (EA; SparxSys- is needed. This need, combined with the choices tems, n.d.) are only two examples of a very of IT development platforms currently avail- long list of tools that support UML model- able (Java, .NET, etc.), to which models can ing. DSM has recently become popular with be somewhat easily mapped, is the motivation the developer community, with tools such as for the adoption of MDE. There are already a Microsoft’s DSL Tools (MSDSLTools, n.d.) few MDE-related case studies available, such or MetaCase’s (n.d.) MetaEdit+. as Zhu et al. (2004) and Fong (2007), but since The aim of this article is to present our most MDE work is still in the research phase, evaluation framework for tool support of the there is still a lack of validation through a metamodeling activity, and to evaluate a small variety of real business case studies. set of tools according to this framework; There are already multiple MDE initiatives, although these tools do not reflect everything languages, and approaches, such as the unified that is currently available in MDE tools, they modeling language (UML), the MetaObject address the MDE-based approaches presented Facility (MOF), the model-driven architecture in this article by providing the features typi- (MDA), and domain-specific modeling (DSM; cally found in tools of their corresponding ap- Kelly & Tolvanen, 2008). There are also proach. The evaluation framework used in this other derivative approaches, such as software article focuses on the following issues: (a) factories (http://msdn2.microsoft.com/en-us/ supported exchange formats, (b) support for teamsystem/aa718951.aspx) that follow the model transformation and code generation, (c) MDE paradigm. Nevertheless, it is important tool extensibility techniques, (d) the logical to note that these initiatives are not a part of levels that can be manipulated, (e) support for MDE; rather, MDE itself is a paradigm that specifying metamodel syntax and semantics, Copyright © 2008, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. 52 Journal of Database Management, 19(4), 50-75, October-December 2008 and (f) complexity of the meta-metamodel The OMG’s Approach to MDE hard-coded into the tool. The final purpose The Object Management Group (OMG) has of this evaluation is to determine the strengths created its own MDE initiative based on a set of and weaknesses of the support that each of these OMG standards that make use of techniques for MDE tools offer to the developer’s tasks. metamodeling and model transformation. This article is divided as follows. The second section presents a brief overview of Unified Modeling Language MDE and some related concepts, standards, UML (http://www.omg.org/cgi-bin/apps/ and approaches. Then the article describes the doc?formal/05-07-04.pdf), currently in Version evaluation framework, the selected modeling 2.1.1, is a general-purpose modeling language tools, and the results of their evaluation. Next originally designed to specify, visualize, con- it discusses the current status of MDE-based struct, and document information systems. software tools and some open research issues UML is traditionally used as a metamodel (i.e., for metamodeling. The final section presents developers create models using the language the conclusions of this work. established by UML). However, the UML speci- fication also defines the profile mechanism, MODEL-DRIVEN ENGINEERING which allows for new notations or terminolo- Software systems are reaching such a high gies, providing a way to extend metaclasses degree of complexity that the current third- to adapt them for different purposes. Profiles generation programming languages (like Java are collections of stereotypes, tagged values, or C#) are not sufficiently adequate to create and constraints (Silva & Videira, 2005). A ste- such systems in an easy and efficient manner. reotype defines additional element properties, One of the problems with current program- but these properties must not contradict the ming languages is that they are still too oriented properties that are already associated with the toward specifying how the solution should work model element; thus, a profile does not allow instead of what the solution should be. This leads the user to edit the metamodel. to a need for mechanisms and techniques that Although UML was definitely a step for- allow the developer to abstract over current ward in setting a standard understood by the programming languages and focus on creating whole software engineering community and a good solution to a certain problem. aligning it toward MDE, it is still criticized for Model-driven engineering (sometimes reasons such as (a) being easy to use in soft- called model-driven development, or MDD) is ware-specific domains (such as IT or telecom- an emerging paradigm based on the systematic style systems) but not for other substantially use of models as first-class entities of the solu- different domains, such as biology or finance tion specification (Schmidt, 2006). Unlike pre- (Thomas, 2004), (b) not being oriented to how vious software development paradigms based it would be used in practice (Henderson-Sell- on source code as a first-class entity, models ers, 2005), and (c) being too complex (Siau become first-class entities, and artifacts such & Cao, 2001). Nevertheless, UML is often the as source code or documentation can then be target of overzealous promotion, which raises obtained from those models. user expectations to an unattainable level; the It is very important to note that, although criticisms that follow afterward are usually MDE is often mentioned alongside MDA (which influenced by this (France, Ghosh, Dinh-Trong, is explained further later), MDE does not depend & Solberg, 2006). An example of such a criti- on MDA, nor is MDA a subset of MDE. In fact, cism is the one regarding the difficulty in using MDA is one of several initiatives that intend to UML to model non-software-related domains: address the MDE paradigm. Although UML is a general-purpose modeling language, it is oriented toward the modeling of Copyright © 2008, IGI Global.