Nothing Special   »   [go: up one dir, main page]

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 2022 Publication 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.
[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.
[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.
[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.
[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).
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.

Cited By

View all
  • (2024)AnimUMLScience of Computer Programming10.1016/j.scico.2023.103050232:COnline publication date: 27-Feb-2024
  • (2023)Debugging Paxos in the UML Multiverse2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C59198.2023.00130(811-820)Online publication date: 1-Oct-2023

Index Terms

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

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    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
    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].

    Sponsors

    In-Cooperation

    • Univ. of Montreal: University of Montreal
    • IEEE CS

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 09 November 2022

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. OCL
    2. quick fixes
    3. static analysis

    Qualifiers

    • Research-article

    Conference

    MODELS '22
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 144 of 506 submissions, 28%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)8
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 13 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)AnimUMLScience of Computer Programming10.1016/j.scico.2023.103050232:COnline publication date: 27-Feb-2024
    • (2023)Debugging Paxos in the UML Multiverse2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C59198.2023.00130(811-820)Online publication date: 1-Oct-2023

    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