skip to main content
10.1145/3365438.3410957acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections
research-article

An extensible framework for customizable model repair

Published: 16 October 2020 Publication History

Abstract

In model-driven software engineering, models are used in all phases of the development process. These models may get broken due to various editions during the modeling process. There are a number of existing tools that reduce the burden of manually dealing with correctness issues in models, however, most of these tools do not prioritize customization to follow user requirements nor allow the extension of their components to adapt to different model types. In this paper, we present an extensible model repair framework which enables users to deal with different types of models and to add their own repair preferences to customize the results. The framework uses customizable learning algorithms to automatically find the best sequence of actions for repairing a broken model according to the user preferences. As an example, we customize the framework by including as a preference a model distance metric, which allows the user to choose a more or less conservative repair. Then, we evaluate how this preference extension affects the results of the repair by comparing different distance metric calculations. Our experiment proves that extending the framework makes it more precise and produces models with better quality characteristics.

References

[1]
Lorenzo Addazi, Antonio Cicchetti, Juri Di Rocco, Davide Di Ruscio, Ludovico Iovino, and Alfonso Pierantonio. 2016. Semantic-based Model Matching with EMFCompare. In ME@ MODELS. 40--49.
[2]
Angela Barriga, Adrian Rutle, and Rogardt Heldal. 2019. Personalized and Automatic Model Repairing using Reinforcement Learning. In 22nd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion, MODELS Companion 2019, Munich, Germany, September 15-20, 2019. 175--181.
[3]
Angela Barriga, Adrian Rutle, and Heldal Rogardt. 2020. Improving model repair through experience sharing. Journal of Object Technology 19, 1 (2020).
[4]
Francesco Basciani, Juri Di Rocco, Davide Di Ruscio, Ludovico Iovino, and Alfonso Pierantonio. 2016. A customizable approach for the automated quality assessment of modelling artifacts. In 2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC). IEEE, 88--93.
[5]
Francesco Basciani, Juri Di Rocco, Davide Di Ruscio, Ludovico Iovino, and Alfonso Pierantonio.2019. A tool-supported approach for assessing the quality of modeling artifacts. Journal of Computer Languages 51 (2019), 173--192.
[6]
Richard Bellman. 2013. Dynamic programming. Courier Corporation.
[7]
Lorenzo Bettini, Davide Di Ruscio, Ludovico Iovino, and Alfonso Pierantonio. 2019. Quality-Driven detection and resolution of metamodel smells. IEEE Access 7 (2019), 16364--16376.
[8]
Barry W Boehm, John R Brown, and Mlity Lipow. 1976. Quantitative evaluation of software quality. In Proceedings of the 2nd international conference on Software engineering. IEEE Computer Society Press, 592--605.
[9]
Abel Armas Cervantes, Nick RTP van Beest, Marcello La Rosa, Marlon Dumas, and Luciano García-Bañuelos. 2017. Interactive and incremental business process model repair. In OTM Confederated International Conferences" On the Move to Meaningful Internet Systems". Springer, 53--74.
[10]
Juan De Lara, Juri Di Rocco, Davide Di Ruscio, Esther Guerra, Ludovico Iovino, Alfonso Pierantonio, and Jesús Sánchez Cuadrado. 2017. Reusing Model Transformations Through Typing Requirements Models. 264--282.
[11]
Juri Di Rocco, Davide Di Ruscio, Ludovico Iovino, and Alfonso Pierantonio. 2015. Collaborative Repositories in Model-Driven Engineering. IEEE Software 32, 3 (2015), 28--34.
[12]
Davide Di Ruscio, Ludovico Iovino, Alfonso Pierantonio, and Lorenzo Bettini. 2020. Detecting metamodel evolutions in repositories of MDE projects. In Modelling Foundations and Applications. Springer International Publishing. to appear.
[13]
R. Geoff Dromey. 1995. A model for software product quality. IEEE Transactions on software engineering 21, 2 (1995), 146--162.
[14]
Adel Ferdjoukh, Florian Galinier, Eric Bourreau, Annie Chateau, and Clémentine Nebut. 2017. Measuring differences to compare sets of models and improve diversity in MDE. In ICSEA: International Conference on Software Engineering Advances.
[15]
Rahma Fourati, Nadia Bouassida, and Hanêne Ben Abdallah. 2011. A metric-based approach for anti-pattern detection in UML designs. In Computer and Information Science 2011. Springer, 17--33.
[16]
Mirco Franzago, Davide Di Ruscio, Ivano Malavolta, and Henry Muccini. 2017. Collaborative model-driven software engineering: a classification framework and a research map. IEEE Transactions on Software Engineering 44, 12 (2017), 1146--1175.
[17]
Marcela Genero and Mario Piattini. 2001. Empirical validation of measures for class diagram structural complexity through controlled experiments. In 5th International ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering.
[18]
Ludovico Iovino, Angela Barriga, Adrian Rutle, and Heldal Rogardt. 2020. Model Repair with Quality-Based Reinforcement Learning. Journal of Object Technology 19, 2 (July 2020), 17:1--21.
[19]
Jean-Marc Jézéquel, Olivier Barais, and Franck Fleurey. 2009. Model driven language engineering with kermeta. In International Summer School on Generative and Transformational Techniques in Software Engineering. Springer, 201--221.
[20]
Timo Kehrer, Udo Kelter, and Gabriele Taentzer. 2011. A rule-based approach to the semantic lifting of model differences in the context of model versioning. In 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011). IEEE, 163--172.
[21]
Marouane Kessentini, Usman Mansoor, Manuel Wimmer, Ali Ouni, and Kalyanmoy Deb. 2017. Search-based detection of model level changes. Empirical Software Engineering 22, 2 (2017), 670--715.
[22]
Djamel Eddine Khelladi, Roland Kretschmer, and Alexander Egyed. 2019. Detecting and exploring side effects when repairing model inconsistencies. In Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering. 113--126.
[23]
Roland Kretschmer, Djamel Eddine Khelladi, and Alexander Egyed. 2018. An automated and instant discovery of concrete repairs for model inconsistencies. In Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings. ACM, 298--299.
[24]
VI Levenshtein. 1966. Binary Codes Capable of Correcting Deletions, Insertions and Reversals. Soviet Physics Doklady 10 (1966), 707.
[25]
Jesús J López-Fernández, Esther Guerra, and Juan De Lara. 2014. Assessing the Quality of Meta-models. In MoDeVVa@ MoDELS. Citeseer, 3--12.
[26]
Nuno Macedo, Tiago Guimaraes, and Alcino Cunha. 2013. Model repair and transformation with Echo. In Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering. IEEE Press, 694--697.
[27]
Iman Hemati Moghadam and Mel Ó Cinnéide. 2011. Code-Imp: a tool for automated search-based refactoring. In Proceedings of the 4th Workshop on Refactoring Tools. 41--44.
[28]
Nebras Nassar, Hendrik Radke, and Thorsten Arendt. 2017. Rule-Based Repair of EMF Models: An Automated Interactive Approach. In International Conference on Theory and Practice of Model Transformations. Springer, 171--181.
[29]
Phuong T Nguyen, Juri Di Rocco, Davide Di Ruscio, Alfonso Pierantonio, and Ludovico Iovino. 2019. Automated Classification of Metamodel Repositories: A Machine Learning Approach. In 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS). IEEE, 272--282.
[30]
Manuel Ohrndorf, Christopher Pietsch, Udo Kelter, and Timo Kehrer. 2018. ReVision: a tool for history-based model repair recommendations. In Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings. ACM, 105--108.
[31]
Maryoly Ortega, María Pérez, and Teresita Rojas. 2003. Construction of a systemic quality model for evaluating a software product. Software Quality Journal 11, 3 (2003), 219--242.
[32]
Jorge Pinna Puissant, Ragnhild Van Der Straeten, and Tom Mens. 2015. Resolving model inconsistencies using automated regression planning. Software & Systems Modeling 14, 1 (2015), 461--481.
[33]
Bart Selman and Carla P Gomes. 2006. Hill-climbing Search. Encyclopedia of cognitive science (2006).
[34]
Dave Steinberg, Frank Budinsky, Ed Merks, and Marcelo Paternostro. 2008. EMF: eclipse modeling framework. Pearson Education.
[35]
Matthew Stephan and James R Cordy. 2013. A Survey of Model Comparison Approaches and Applications. In Modelsward. 265--277.
[36]
Misha Strittmatter, Georg Hinkel, Michael Langhammer, Reiner Jung, and Robert Heinrich. 2016. Challenges in the evolution of metamodels: Smells and anti-patterns of a historically-grown metamodel. (2016).
[37]
Eugene Syriani, Robert Bill, and Manuel Wimmer. 2019. Domain-Specific Model Distance Measures. Journal of Object Technology 18, 3 (2019).
[38]
Gabriele Taentzer, Manuel Ohrndorf, Yngve Lamo, and Adrian Rutle. 2017. Change-preserving model repair. In International Conference on Fundamental Approaches to Software Engineering. Springer, 283--299.
[39]
Sebastian Thrun and Michael L Littman. 2000. Reinforcement learning: an introduction. AI Magazine 21, 1 (2000), 103--103.
[40]
Juha-Pekka Tolvanen and Steven Kelly. 2009. MetaEdit+ defining and using integrated domain-specific modeling languages. In Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications. 819--820.
[41]
Jon Whittle, John Hutchinson, and Mark Rouncefield. 2014. The state of practice in model-driven engineering. IEEE software 31, 3 (2014), 79--85.

Cited By

View all
  • (2022)Change-Oriented Repair PropagationProceedings of the International Conference on Software and System Processes and International Conference on Global Software Engineering10.1145/3529320.3529330(82-92)Online publication date: 19-May-2022

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MODELS '20: Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems
October 2020
406 pages
ISBN:9781450370196
DOI:10.1145/3365438
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 October 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. model distance
  2. model repair
  3. quality evaluation
  4. reinforcement learning

Qualifiers

  • Research-article

Conference

MODELS '20
Sponsor:

Acceptance Rates

MODELS '20 Paper Acceptance Rate 35 of 127 submissions, 28%;
Overall Acceptance Rate 144 of 506 submissions, 28%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)2
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Change-Oriented Repair PropagationProceedings of the International Conference on Software and System Processes and International Conference on Global Software Engineering10.1145/3529320.3529330(82-92)Online publication date: 19-May-2022

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media