Automated analyses of model-driven artifacts: obtaining insights into industrial application of MDE

Over the past years, there has been an increase in the application of model driven engineering in industry. Similar to traditional software engineering, understanding how technologies are actually used in practice is essential for developing good tooling, and decision making processes. Unfortunately, obtaining and analyzing empirical data in a model-driven context is still tedious and time consuming, introducing large lead-times. In this paper we present a framework for the automated extraction, analysis, and visualization of data and metrics on model-driven artifacts. We subsequently present various examples of how the framework was successfully applied in a large industrial setting to answer a plethora of different questions with respect to decision making and tool development.

[1]  Alexander Serebrenik,et al.  A Complete Operator Library for DSL Evolution Specification , 2016, 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[2]  Oscar Díaz,et al.  Model Transformation Co-evolution: A Semi-automatic Approach , 2012, SLE.

[3]  Jesús M. González-Barahona,et al.  The MetricsGrimoire Database Collection , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[4]  Michael W. Godfrey,et al.  On the evolution of Lehman's Laws , 2014, J. Softw. Evol. Process..

[5]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[6]  Anneke Kleppe,et al.  The Object Constraint Language: Getting Your Models Ready for MDA , 2003 .

[7]  Wilhelm Hasselbring,et al.  EMF Ecore Based Meta Model Evolution and Model Co-Evolution , 2009, Softwaretechnik-Trends.

[8]  Juri Di Rocco,et al.  MDEForge: an Extensible Web-Based Modeling Platform , 2014, CloudMDE@MoDELS.

[9]  Alexander Serebrenik,et al.  An empirical study of the evolution of Eclipse third-party plug-ins , 2010, IWPSE-EVOL '10.

[10]  Meir M. Lehman,et al.  On understanding laws, evolution, and conservation in the large-program life cycle , 1984, J. Syst. Softw..

[11]  Michael Alexander,et al.  Pivot Table Data Crunching for Microsoft(R) Office Excel(R) 2007 (Business Solutions) , 2006 .

[12]  Regina Hebig,et al.  Approaches to Co-Evolution of Metamodels and Models: A Survey , 2017, IEEE Transactions on Software Engineering.

[13]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[14]  Marie-Pierre Gervais,et al.  Metamodel and Constraints Co-evolution: A Semi Automatic Maintenance of OCL Constraints , 2016, ICSR.

[15]  Paul Klint,et al.  M3: A general model for code analytics in rascal , 2015, 2015 IEEE 1st International Workshop on Software Analytics (SWAN).

[16]  Tom Mens,et al.  SECONDA: Software Ecosystem Analysis Dashboard , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[17]  Gregorio Robles,et al.  The quest for open source projects that use UML: mining GitHub , 2016, MoDELS.

[18]  Charles Ashbacher,et al.  The Object Constraint Language Second Edition, Getting Your Models Ready for MDA, by Jos Warmer and Anneke Kleppe. , 2003 .

[19]  Jeroen Voeten,et al.  Model-based specification, analysis and synthesis of servo controllers for lithoscanners , 2012, MPM '12.

[20]  Alexander Serebrenik,et al.  Assessing and improving quality of QVTo model transformations , 2015, Software Quality Journal.

[21]  Pieter Van Gorp,et al.  Towards Generic MDE Support for Extracting Purpose-Specific Healthcare Models from Annotated, Unstructured Texts , 2012, FHIES.

[22]  Vanessa Peña-Araya Agile Visualization with Roassal , 2015 .

[23]  Alexander Serebrenik,et al.  Maintenance of specification models in industry using Edapt , 2016, 2016 Forum on Specification and Design Languages (FDL).

[24]  Alexander Serebrenik,et al.  DSL/Model Co-Evolution in Industrial EMF-Based MDSE Ecosystems , 2016, ME@MoDELS.

[25]  Elmar Jürgens,et al.  Automatability of Coupled Evolution of Metamodels and Models in Practice , 2008, MoDELS.

[26]  Alexander Serebrenik,et al.  A Data Set of OCL Expressions on GitHub , 2017, 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR).

[27]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[28]  Alexander Serebrenik,et al.  A Case of Industrial vs. Open-source OCL: Not So Different After All , 2017, MODELS.

[29]  Heiko Behrens,et al.  Xtext: implement your language faster than the quick and dirty way , 2010, SPLASH/OOPSLA Companion.