Applying model-driven engineering in small software enterprises

Model-Driven Engineering (MDE) is increasingly gaining acceptance in the software engineering community, however its adoption by the industry is far from successful. The number of companies applying MDE is still very limited. Although several case studies and reports have been published on MDE adoption in large companies, experience reports on small enterprises are still rare, despite the fact that they represent a large part of the software companies ecosystem.In this paper we report on our practical experience in two transfer of technology projects on two small companies. In order to determine the degree of success of these projects we present some factors that have to be taken into account in transfer of technology projects. Then, we assess both projects analyzing these factors and applying some metrics to give hints about the potential productivity gains that MDE could bring. We also comment on some lessons learned. These experiences suggest that MDE has the potential to make small companies more competitive, because it enables them to build powerful automation tools at modest cost. We will also present the approach followed to train these companies in MDE, and we contribute the teaching material so that it can be used or adapted by others projects of this nature. Description of two MDE projects carried out in two small companies.Metrics show productivity gains.The selection of the pilot project is a key issue.To foster adoption the research team must advice the company about new developments.

[1]  Tony Clark,et al.  Applied Metamodelling: A Foundation for Language Driven Development (Third Edition) , 2015, ArXiv.

[2]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[3]  Marjan Mernik,et al.  On automata and language based grammar metrics , 2010, Comput. Sci. Inf. Syst..

[4]  Mehrdad Sabetzadeh,et al.  Research-based innovation: a tale of three projects in model-driven engineering , 2012, MODELS'12.

[5]  Miroslaw Staron,et al.  Adopting model driven software development in industry: a case study at two companies , 2006, MoDELS'06.

[6]  Ita Richardson,et al.  Guest Editors' Introduction: Why are Small Software Organizations Different? , 2007, IEEE Software.

[7]  Bran Selic Personal reflections on automation, programming culture, and model-based software engineering , 2008, Automated Software Engineering.

[8]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[9]  Jean Bézivin,et al.  TCS:: a DSL for the specification of textual concrete syntaxes in model engineering , 2006, GPCE '06.

[10]  T. Roche,et al.  Industry , 1995 .

[11]  Aniruddha S. Gokhale,et al.  Domain-Specific Modeling , 2008, Handbook of Dynamic System Modeling.

[12]  Harald C. Gall,et al.  Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu , HI, USA, May 21-28, 2011 , 2011, ICSE.

[13]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[14]  E. Long,et al.  Increasing Productivity at Saturn , 1998, Computer.

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

[16]  Axel Uhl,et al.  MDA Distilled , 2004 .

[17]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .

[18]  Jean Bézivin,et al.  Using ATL for Checking Models , 2006, GRaMoT@GPCE.

[19]  Jesús García Molina,et al.  An Architecture-Driven Modernization Tool for Calculating Metrics , 2010, IEEE Software.

[20]  Grace A. Lewis,et al.  Modernizing Legacy Systems - Software Technologies, Engineering Processes, and Business Practices , 2003, SEI series in software engineering.

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

[22]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[23]  濱野 純 入門Git : The fast version control system , 2009 .

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

[25]  Jean Bézivin,et al.  KM3: A DSL for Metamodel Specification , 2006, FMOODS.

[26]  Daniela E. Damian,et al.  Transition to model-driven engineering: what is revolutionary, what remains the same? , 2012, MODELS'12.

[27]  Jesús García Molina,et al.  A Domain Specific Language for Extracting Models in Software Modernization , 2009, ECMDA-FA.

[28]  Jesús Sánchez Cuadrado,et al.  Modularization of model transformations through a phasing mechanism , 2009, Software & Systems Modeling.

[29]  Mark Rouncefield,et al.  Model-driven engineering practices in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[30]  Bran Selic,et al.  What will it take? A view on adoption of model-based methods in practice , 2012, Software & Systems Modeling.

[31]  Gerardo Canfora,et al.  Architecture-Driven Modernization (ADM) , 2005, 12th Working Conference on Reverse Engineering (WCRE'05).

[32]  Pierre-Alain Muller,et al.  Exploiting model driven technology: a tale of two startups , 2012, Software & Systems Modeling.

[33]  Jesús Sánchez Cuadrado,et al.  RubyTL: A Practical, Extensible Transformation Language , 2006, ECMDA-FA.