An Investigation on the Impact of MDE on Software Reuse

Software reuse and model-driven engineering (MDE) are two distinct approaches that attempt to improve quality and productivity in software projects. Much is said about how MDE can increase software reuse by reducing the amount of hand-written code, but few studies consider the fact that in MDE other artifacts - models, tools, transformations and code generators - come into play and need to be considered. How much more reuse can we achieve with MDE? How reusable are these MDE-specific assets? Motivated by these questions, this paper presents the observations made in three exploratory studies. In each study, the same software was developed with and without MDE, and a comparison based on reuse metrics was made. The results indicate that MDE can increase and/or improve software reuse in different ways, but with some associated costs, such as increased software complexity and decreased maintainability. In the context of our observations, complex technical domains have more to gain from the automation achieved with MDE, while business domains seem to be more suitable for simpler feature-based configuration. We conclude the paper pointing out more studies that could be performed to gain additional knowledge regarding MDE and reuse.

[1]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[2]  Robert C. Martin,et al.  OO Design Quality Metrics , 1997 .

[3]  Jeffrey S. Poulin,et al.  A reuse metrics and return on investment model , 1993, [1993] Proceedings Advances in Software Reuse.

[4]  Xml Web Java,et al.  Model Driven Development for J 2 EE Utilizing a Model Driven Architecture ( MDA ) Approach Productivity Analysis June 2003 Java , 2003 .

[5]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[6]  Frank Weil,et al.  Model-Driven engineering in a large industrial context — motorola case study , 2005, MoDELS'05.

[7]  Premkumar T. Devanbu,et al.  Analytical and empirical evaluation of software reuse metrics , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[8]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[9]  Renata Pontin de Mattos Fortes,et al.  Designing Domain Architectures for Model-Driven Engineering , 2010, 2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse.

[10]  Steffen Becker,et al.  A Case Study on Model-Driven and Conventional Software Development: The palladio editor , 2007, Software Engineering.

[11]  Silvio Romero de Lemos Meira,et al.  A comparative study on software reuse metrics and economic models from a traceability perspective , 2005, IRI -2005 IEEE International Conference on Information Reuse and Integration, Conf, 2005..

[12]  Mario Piattini,et al.  Building measure-based prediction models for UML class diagram maintainability , 2007, Empirical Software Engineering.

[13]  Thomas Weigert Practical experiences in using model-driven engineering to develop trustworthy computing systems , 2006, IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC'06).

[14]  Renata Pontin de Mattos Fortes,et al.  Performing Domain Analysis for Model-Driven Software Reuse , 2008, ICSR.

[15]  Milosz Muszynski Implementing a Domain-Specific Modeling Environment For a Family of Thick-Client GUI Components , 2005 .

[16]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[17]  Mario Piattini,et al.  Defining and validating metrics for assessing the understandability of entity-relationship diagrams , 2008, Data Knowl. Eng..

[18]  Daniel Lucrédio A model-driven software reuse approach , 2009 .

[19]  Daniel Lucrédio,et al.  Playing with Fire : Harnessing the Hottest Technologies for Ultra-Large-Scale Systems , 2008 .

[20]  Daniel Lucrédio,et al.  An Experimental Study in Domain Engineering , 2007, 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007).

[21]  Vinay Kulkarni,et al.  Scaling up model driven engineering-experience and lessons learnt , 2010, MODELS'10.

[22]  Wolfram Schulte,et al.  Compositional Modeling for Data-Centric Business Applications , 2008, SC@ETAPS.

[23]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

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

[25]  Jeffrey S. Poulin,et al.  Measuring software reusability , 1994, Proceedings of 1994 3rd International Conference on Software Reuse.

[26]  Tijs van der Storm,et al.  Mod4J: a qualitative case study of model-driven software development , 2010, MODELS'10.

[27]  Yuefeng Zhang,et al.  Agile Model-Driven Development in Practice , 2011, IEEE Software.

[28]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .