Where does model-driven engineering help? Experiences from three industrial cases

There have been few experience reports from industry on how Model-Driven Engineering (MDE) is applied and what the benefits are. This paper summarizes the experiences of three large industrial participants in a European research project with the objective of developing techniques and tools for applying MDE on the development of large and complex software systems. The participants had varying degrees of previous experience with MDE. They found MDE to be particularly useful for providing abstractions of complex systems at multiple levels or from different viewpoints, for the development of domain-specific models that facilitate communication with non-technical experts, for the purposes of simulation and testing, and for the consumption of models for analysis, such as performance-related decision support and system design improvements. From the industrial perspective, a methodology is considered to be useful and cost-efficient if it is possible to reuse solutions in multiple projects or products. However, developing reusable solutions required extra effort and sometimes had a negative impact on the performance of tools. While the companies identified several benefits of MDE, merging different tools with one another in a seamless development environment required several transformations, which increased the required implementation effort and complexity. Additionally, user-friendliness of tools and the provision of features for managing models of complex systems were identified as crucial for a wider industrial adoption of MDE.

[1]  Miguel A. Fernández,et al.  Experiences of Developing a Network Modeling Tool Using the Eclipse Environment , 2009, ECMDA-FA.

[2]  Parastoo Mohagheghi,et al.  Where Is the Proof? - A Review of Experiences from Applying MDE in Industry , 2008, ECMDA-FA.

[3]  Alan W. Brown An Introduction to Model Driven Architecture - Part 1; MDA and Today's Systems , 2004 .

[4]  van den Mgj Mark Brand,et al.  Metrics for analyzing the quality of model transformations , 2008 .

[5]  Parastoo Mohagheghi,et al.  An Approach for Empirical Evaluation of Model-Driven Engineering in Multiple Dimensions , 2010 .

[6]  Robert B. France,et al.  Model-driven development using UML 2.0: promises and pitfalls , 2006, Computer.

[7]  Susanne Patig,et al.  Model-driven Development of Serviceoriented Business Application Systems , 2009, Wirtschaftsinformatik.

[8]  Peter Kilpatrick,et al.  Extending BPM Environments of Your Choice with Performance Related Decision Support , 2009, BPM.

[9]  Fred D. Davis Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology , 1989, MIS Q..

[10]  Steven Kelly,et al.  Worst Practices for Domain-Specific Modeling , 2009, IEEE Software.

[11]  Sebastian Wieczorek,et al.  MBT4Chor: A Model-Based Testing Approach for Service Choreographies , 2009, ECMDA-FA.

[12]  Tony Clark,et al.  Model-driven development - Guest editor's introduction , 2003 .

[13]  Miguel A. Fernández,et al.  An Integrated Facet-Based Library for Arbitrary Software Components , 2010, ECMFA.

[14]  Ralf Lämmel,et al.  Model Transformation Chains in Model-Driven Performance Engineering: Experiences and Future Research Needs , 2010, Modellierung.

[15]  Philip Wadler,et al.  Deforestation: Transforming Programs to Eliminate Trees , 1990, Theor. Comput. Sci..

[16]  Peter Kilpatrick,et al.  Towards Utilizing Model-Driven Engineering of Composite Applications for Business Performance Analysis , 2008, ECMDA-FA.

[17]  Alessio Ferrari,et al.  An industrial application of formal model based development: the Metrô Rio ATP case , 2010, SERENE.

[18]  Miguel A. Fernández,et al.  Adding Abstraction and Reuse to a Network Modelling Tool Using the Reuseware Composition Framework , 2010, ECMFA.

[19]  David Hästbacka,et al.  Model-driven development of industrial process control applications , 2011, J. Syst. Softw..