Systematic Recovery of MDE Technology Usage

MDE projects may use various MDE technologies (e.g., for model transformation, model comparison, or model/code generation) and thus, contain various MDE artifacts (such as models, metamodels, and model transformations). The details of using the MDE technologies and the relationships between the MDE artifacts are typically not accessible at a higher level of abstraction, which makes it hard to understand, build, and test the MDE projects and thus, to reuse the contained MDE artifacts. In this paper, we present a megamodel-based reverse engineering methodology and an infrastructure MDEprofiler for recovering details of using MDE technologies in MDE projects and modeling these details at a higher level of abstraction. We exemplify the approach for MDE projects that use ATL-based model transformations.

[1]  Jean Bézivin,et al.  On the Need for Megamodels , 2004, OOPSLA 2004.

[2]  Harald C. Gall,et al.  A study of language usage evolution in open source software , 2011, MSR '11.

[3]  Ralf Lämmel,et al.  Modeling the linguistic architecture of software products , 2012, MODELS'12.

[4]  Marco Torchiano,et al.  Maturity of software modelling and model driven engineering: A survey in the Italian industry , 2012, EASE.

[5]  Jonathan I. Maletic,et al.  Mining software repositories for traceability links , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[6]  Ralf Lämmel,et al.  Interpretation of Linguistic Architecture , 2014, ECMFA.

[7]  Juri Di Rocco,et al.  Collaborative Repositories in Model-Driven Engineering [Software Technology] , 2015, IEEE Software.

[8]  Jean Bézivin,et al.  Modeling in the Large and Modeling in the Small , 2003, MDAFA.

[9]  Ralf Lämmel,et al.  Interconnected Linguistic Architecture , 2017, Art Sci. Eng. Program..

[10]  Ralf Lämmel,et al.  Multi-dimensional exploration of API usage , 2013, 2013 21st International Conference on Program Comprehension (ICPC).

[11]  Onaiza Maqbool,et al.  Hierarchical Clustering for Software Architecture Recovery , 2007, IEEE Transactions on Software Engineering.

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

[13]  Ralf Lämmel,et al.  EMF Patterns of Usage on GitHub , 2018, ECMFA.

[14]  Juri Di Rocco,et al.  Model Repositories: Will They Become Reality? , 2015, CloudMDE@MoDELS.

[15]  Catherine Stringfellow,et al.  Comparison of software architecture reverse engineering methods , 2006, Inf. Softw. Technol..

[16]  Juan de Lara,et al.  Reusing Model Transformations Through Typing Requirements Models , 2017, FASE.

[17]  Kamran Sartipi,et al.  On modeling software architecture recovery as graph matching , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[18]  René L. Krikhaar,et al.  Reverse architecting approach for complex systems , 1997, 1997 Proceedings International Conference on Software Maintenance.

[19]  Jordi Cabot,et al.  MoScript: A DSL for Querying and Manipulating Model Repositories , 2011, SLE.

[20]  Giuliano Antoniol,et al.  Information retrieval models for recovering traceability links between code and documentation , 2000, Proceedings 2000 International Conference on Software Maintenance.

[21]  Ralf Lämmel,et al.  Linking Documentation and Source Code in a Software Chrestomathy , 2012, 2012 19th Working Conference on Reverse Engineering.

[22]  Richard C. Holt,et al.  Software architecture recovery using Conway's law , 1998, CASCON.

[23]  Michele Lanza,et al.  Package patterns for visual architecture recovery , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[24]  Ralf Lämmel Relationship Maintenance in Software Language Repositories , 2017, Art Sci. Eng. Program..

[25]  Sahar Kokaly,et al.  MMINT: A Graphical Tool for Interactive Model Management , 2015, P&D@MoDELS.

[26]  Sophia Ananiadou,et al.  Assessing the Use of Eclipse MDE Technologies in Open-Source Software Projects , 2015, OSS4MDE@MoDELS.

[27]  Ralf Lämmel,et al.  A Framework Profile of .NET , 2011, 2011 18th Working Conference on Reverse Engineering.

[28]  Ralf Lämmel,et al.  Large-scale, AST-based API-usage analysis of open-source Java projects , 2011, SAC.

[29]  Jean Bézivin,et al.  Model-based DSL frameworks , 2006, OOPSLA '06.

[30]  David Notkin,et al.  Lightweight lexical source model extraction , 1996, TSEM.

[31]  Tibor Gyimóthy,et al.  Extracting facts from open source software , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..