Evaluation Framework for Model-Driven Product Line Engineering Tools

Both the model-driven development (MDD) approach and the product line engineering (PLE) approach envisage more efficient system development capable of delivering high-quality products by means of reuse, abstraction, configuration, and transformation. In order to succeed with model-driven product line engineering we need tools that support architects and engineers in tasks such as system modeling, variability modeling, model analysis, model transformation, system derivation, code generation, and model traceability. Managing and automating these processes and tasks can be complex processes themselves. How to solve these complexities is a current topic of research. Unsurprisingly, no existing tool provides full support for an envisioned model-driven product line engineering approach. However, MDD and PLE are being paid a great deal of attention by the software development community, leading to an increasing number of tools emerging within this area. This is particularly the case for tools supporting Object Management Groups (OMG) envisioned model-driven engineering approach, Model Driven Architecture (MDA). When exploring tool support for the evolving MDD and PLE disciplines, it can be difficult to know what features to look for and what to expect. This chapter relates traditional model-driven engineering to product line engineering and establishes a general framework for evaluation of tools in this area. The framework is defined in terms of desired characteristics, based on elicited requirements for model-driven product line engineering. It adheres to the general tool selection process described in the ISO 14102 standard. Some example MDD/PLE tools are evaluated using the framework to show its applicability and results. variability [35]. Chapter 6 defines an approach toward a standard way of representing commonality and variability of product lines. Based on the product line, specific systems are derived by resolution of variability and abstractions. This task is often called product such as model transformation, code generation, and variability resolution. Examples are the approach described in Chap. 15, which looks at using UML for describing static and dynamic PL aspects and deriving products from these, and the approaches described in In model-driven system engineering, system development is performed in an integrated environment where models are the main instrument for development and integration. In models at different abstraction levels is developed. These models may range from business models, requirements models, and design models to deployment models and code. MDD envisions efficiency through modeling at different abstraction levels and automatic transformations between abstractions, including the generation of executable code. Thus, an advanced framework for MDD …

[1]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[2]  Jacky Estublier,et al.  Composing domain-specific languages for wide-scope software engineering applications , 2005, MoDELS'05.

[3]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[4]  Roy Grønmo,et al.  Evaluation of the QVT Merge Language Proposal , 2005 .

[5]  Jean-Marc Jézéquel,et al.  Towards a UML Profile for Software Product Lines , 2003, PFE.

[6]  Jack Greenfield,et al.  Software factories: assembling applications with patterns, models, frameworks and tools , 2004, OOPSLA '03.

[7]  Jim Arlow,et al.  UML and the unified process , 2001 .

[8]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[9]  Matthias Clauss,et al.  Generic Modeling using UML extensions for variability , 2001 .

[10]  Klaus Pohl,et al.  Software Product-Family Engineering , 2002, Lecture Notes in Computer Science.

[11]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[12]  J. Oldevik,et al.  An Empirical Study of the UML Model Transformation Tool ( UMT ) , 2004 .

[13]  T. Gardner,et al.  A review of OMG MOF 2 . 0 Query / Views / Transformations Submissions and Recommendations towards the final Standard , 2003 .

[14]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[15]  Martin Becker Towards a General Model of Variability in Product Families , 2003 .

[16]  Björn Lundell,et al.  Comments on ISO 14102: the standard for CASE-tool evaluation , 2002, Comput. Stand. Interfaces.

[17]  Birger Møller-Pedersen,et al.  An MDA®-based framework for model-driven product derivation , 2004, IASTED Conf. on Software Engineering and Applications.

[18]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[19]  Jon Oldevik,et al.  Generic Framework for Defining Domain-Specific Models , 2005, Encyclopedia of Information Science and Technology.