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

From OCL-based model static analysis to quick fixes

Published:09 November 2022Publication History

ABSTRACT

Giving accurate and relevant static analysis feedback to modeling tool users significantly helps them design useful models. This feedback is even more valuable when it comes with completion proposals, called quick fixes, which users can apply to automatically resolve specific issues. However, implementing such static analysis and quick fix tooling is tedious and error prone. For instance, providing accurate messages typically requires decomposing complex model queries into simpler ones, while suitably handling their dependencies. Moreover, each quick fix should actually resolve the issue it is supposed to fix, which is not always easy to ensure. This paper presents an approach that leverages reverse propagation of OCL-like boolean expressions to provide correct-by-construction quick fixes. It only requires adding specific annotations to expressions in order to guide quick fix computation. A proof-of-concept implementation of this approach on the AnimUML partial modeling tool is described. It is able to automatically construct messages, to report different messages depending on which part of a predicate fails, and to provide quick fixes.

References

  1. Olivier Beaudoux, Arnaud Blouin, Olivier Barais, and Jean-Marc Jézéquel. 2010. Active Operations on Collections. In Model Driven Engineering Languages and Systems, Dorina C. Petriu, Nicolas Rouquette, and Øystein Haugen (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 91--105. Google ScholarGoogle ScholarCross RefCross Ref
  2. Jean Bézivin and Frédéric Jouault. 2006. Using ATL for checking models. Electronic Notes in Theoretical Computer Science 152 (2006), 69--81.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Esther Guerra and Juan de Lara. 2004. Event-Driven Grammars: Towards the Integration of Meta-modelling and Graph Transformation. In Graph Transformations, Hartmut Ehrig, Gregor Engels, Francesco Parisi-Presicce, and Grzegorz Rozenberg (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 54--69.Google ScholarGoogle Scholar
  4. Ábel Hegedüs, Ákos Horváth, István Ráth, Moisés Castelo Branco, and Dániel Varrò. 2011. Quick fix generation for DSMLs. In 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). 17--24. Google ScholarGoogle ScholarCross RefCross Ref
  5. Nicolas Hili, Ernesto Posse, and Juergen Dingel. 2018. Calur: an action language for UML-RT. In 9th European Congress on Embedded Real Time Software and Systems (ERTS 2018).Google ScholarGoogle Scholar
  6. Frédéric Jouault and Olivier Beaudoux. 2015. On the Use of Active Operations for Incremental Bidirectional Evaluation of OCL. In Proceedings of the 15th International Workshop on OCL and Textual Modeling (CEUR Workshop Proceedings, Vol. 1512). CEUR, Ottawa, Canada, 35--45.Google ScholarGoogle Scholar
  7. Frédéric Jouault, Valentin Besnard, Théo Le Calvar, Ciprian Teodorov, Matthias Brun, and Jerome Delatour. 2020. Designing, Animating, and Verifying Partial UML Models. In Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (Virtual Event, Canada) (MODELS '20). Association for Computing Machinery, New York, NY, USA, 211--217. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Andreas Kästner, Martin Gogolla, and Bran Selic. 2018. From (Imperfect) Object Diagrams to (Imperfect) Class Diagrams: New Ideas and Vision Paper. In Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (Copenhagen, Denmark) (MODELS '18). Association for Computing Machinery, New York, NY, USA, 13--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Andreas Kästner, Martin Gogolla, and Bran Selic. 2018. Towards flexible object and class modeling tools: an experience report. In MoDELS (Workshops) (CEUR Workshop Proceedings, Vol. 2245). CEUR-WS.org, 233--242.Google ScholarGoogle Scholar
  10. Théo Le Calvar, Fabien Chhel, Frédéric Jouault, and Frédéric Saubion. 2021. Coupling solvers with model transformations to generate explorable model sets. Software and Systems Modeling 20, 5 (01 Oct 2021), 1633--1652. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Claudia Loitsch, Karin Müller, Stephan Seifermann, Jörg Henß, Sebastian Krach, Gerhard Jaworek, and Rainer Stiefelhagen. 2018. UML4ALL Syntax - A Textual Notation for UML Diagrams. In Computers Helping People with Special Needs, Klaus Miesenberger and Georgios Kouroupetroglou (Eds.). Springer International Publishing, Cham, 598--605.Google ScholarGoogle Scholar
  12. Steffen Mazanek, Sonja Maier, and Mark Minas. 2008. Auto-completion for diagram editors based on graph grammars. In 2008 IEEE Symposium on Visual Languages and Human-Centric Computing. 242--245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Parsa Pourali. 2018. Tooling Advances Inspired to Address Observed Challenges of Developing UML-like Models When Using Modelling Tools. In Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings (Copenhagen, Denmark) (MODELS '18). Association for Computing Machinery, New York, NY, USA, 168--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Rick Salay, Michalis Famelis, and Marsha Chechik. 2012. Language Independent Refinement Using Partial Modeling. In Fundamental Approaches to Software Engineering, Juan de Lara and Andrea Zisman (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 224--239.Google ScholarGoogle Scholar

Index Terms

  1. From OCL-based model static analysis to quick fixes

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      MODELS '22: Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings
      October 2022
      1003 pages
      ISBN:9781450394673
      DOI:10.1145/3550356
      • Conference Chairs:
      • Thomas Kühn,
      • Vasco Sousa

      Copyright © 2022 ACM

      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 the author(s) 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].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 9 November 2022

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate118of382submissions,31%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader