skip to main content
10.1145/3412841.3442031acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Contract-based verification of model transformations: a formally founded approach

Published: 22 April 2021 Publication History

Abstract

In safety-critical applications, using a Model-Driven Engineering (MDE) approach requires a high-level of trust in its underlying model transformations, i.e. the latter's correctness should be verified formally. Yet, the applicability of formal methods to transformations correctness remains limited due to the absence of formal foundations of popular MDE languages and frameworks such as AADL and SysML. In this paper, we propose a formally founded environment to verify model transformations in MDE. First, we define a transformation in a formal way: this involves formalizing input and output models at some level of abstraction, as well as the transformation rules. Then, we build a verification environment, formalized as a transition system (TS), by extending the transformation with contracts. Finally, we formulate and verify some correctness properties which we reduce, based on the previous steps, to reachability properties over the TS. We show how our approach can be implemented in Ocarina, an open-source transformation tool for AADL, and how it applies, for example, to build correct transformations from AADL models to their Cheddar ADL counterpart.

References

[1]
Kai Adam, Katrin Hölldobler, Bernhard Rumpe, and Andreas Wortmann. Modeling Robotics Software Architectures with Modular Model Transformations. Journal of Software Engineering for Robotics, 8(1):3--16, 2017.
[2]
John Barnes. Rationale for Ada 2012: 1 Contracts and Aspects. Ada User Journal, 32(4):247, 2011.
[3]
Bruno Barroca, Levi Lúcio, Vasco Amaral, Roberto Félix, and Vasco Sousa. DSLTrans: A Turing Incomplete Transformation Language. In International Conference on Software Language Engineering, pages 296--305. Springer, 2010.
[4]
Ananda Basu, Bensalem Bensalem, Marius Bozga, Jacques Combaz, Mohamad Jaber, Thanh-Hung Nguyen, and Joseph Sifakis. Rigorous Component-Based System Design Using the BIP Framework. IEEE software, 28(3):41--48, 2011.
[5]
Bernard Berthomieu, Pierre-Olivier Ribet, and François Vernadat. The Tool TINA: Construction of Abstract State Spaces for Petri Nets and Time Petri Nets. International Journal of Production Research, 42(14):2741--2756, 2004.
[6]
Björn B Brandenburg. Scheduling and Locking in Multiprocessor Real-Time Operating Systems. PhD Thesis, University of North Carolina at Chapel Hill, 2011.
[7]
Daniel Calegari and Nora Szasz. Verification of Model Transformations: A Survey of the State-of-the-Art. Electronic Notes in Theoretical Computer Science, 292:5--25, 2013.
[8]
Eric Cariou, Nicolas Belloir, Franck Barbier, and Nidal Djemam. OCL Contracts for the Verification of Model Transformations. Electronic Communications of the EASST, 24, 2009.
[9]
Eric Cariou, Raphël Marvie, Lionel Seinturier, and Laurence Duchien. Model Transformation Contracts and their Definition in UML and OCL. Technical Report 2004--08, LIFL, 2004.
[10]
Patricia Derler, Edward A. Lee, Stavros Tripakis, and Martin Törngren. Cyber-Physical System Design Contracts. In International Conference on Cyber-Physical Systems, pages 109--118. ACM/IEEE, 2013.
[11]
Peter H. Feiler and David P. Gluch. Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language. Addison-Wesley, 2012.
[12]
Robert W. Floyd. Assigning Meanings to Programs. Mathematical Aspects of Computer Science, 19(19--32):1, 1967.
[13]
Mohammed Foughali. Formal Verification of the Functional Layer of Robotic and Autonomous Systems. PhD Thesis, INSA Toulouse, 2018.
[14]
Mohammed Foughali, Silvano Dal Zilio, and Félix Ingrand. On the Semantics of the GenoM3 Framework. Technical Report 19036, LAAS-CNRS, 2019.
[15]
Mohammed Foughali, Félix Ingrand, and Cristina Cerschi Seceleanu. Statistical Model Checking of Complex Robotic Systems. In International Symposium on Model Checking of Software, pages 114--134, 2019.
[16]
Nicolas Gobillot, Charles Lesire, and David Doose. A Design and Analysis Methodology for Component-Based Real-Time Architectures of Autonomous Systems. Journal of Intelligent & Robotic Systems, 96:123--138, 2019.
[17]
Esther Guerra, Juan de Lara, Manuel Wimmer, Gerti Kappel, Angelika Kusel, Werner Retschitzegger, Johannes Schönböck, and Wieland Schwinger. Automated Verification of Model Transformations Based on Visual Contracts. Automated Software Engineering, 20(1):5--46, 2013.
[18]
Charles A. R. Hoare. An Axiomatic Basis for Computer Programming. Communications of the ACM, 12(10):576--580, 1969.
[19]
Gilles Lasnier, Bechir Zalila, Laurent Pautet, and Jérôme Hugues. Ocarina: An Environment for AADL Models Analysis and Automatic Code Generation for High Integrity Applications. In International Conference on Reliable Software Technologies (Ada-Europe), pages 237--250. Springer, 2009.
[20]
Levi Lúcio, Moussa Amrani, Jürgen Dingel, Leen Lambers, Rick Salay, Gehan MK Selim, Eugene Syriani, and Manuel Wimmer. Model Transformation Intents and Their Properties. Software & systems modeling, 15(3):647--684, 2016.
[21]
Tom Mens and Pieter Van Gorp. A Taxonomy of Model Transformation. Electronic Notes in Theoretical Computer Science, 152:125--142, 2006.
[22]
Bertrand Meyer. Applying "Design by Contract". IEEE Computer, 25(10):40--51, 1992.
[23]
Anantha Narayanan and Gabor Karsai. Specifying the Correctness Properties of Model Transformations. In International Workshop on Graph and Model Transformations, pages 45--52, 2008.
[24]
Anantha Narayanan and Gabor Karsai. Verifying Model Transformations by Structural Correspondence. Electronic Communications of the EASST, 10, 2008.
[25]
Lukman Ab Rahim and Jon Whittle. A Survey of Approaches for Verifying Model Transformations. Software & Systems Modeling, 14(2):1003--1028, 2015.
[26]
Christophe Reymann, Mohammed Foughali, and Simon Lacroix. Repeatable Decentralized Simulations for Cyber-Physical Systems. In International Conference on Software Quality, Reliability and Security (QRS), pages 240--247. IEEE, 2019.
[27]
Ivan Ruchkin, Dionisio De Niz, Sagar Chaki, and David Garlan. Contract-Based Integration of Cyber-Physical Analyses. In International Conference on Embedded Software (EMSOFT), page 23. ACM, 2014.
[28]
Alberto Sangiovanni-Vincentelli, Werner Damm, and Roberto Passerone. Taming Dr. Frankenstein: Contract-Based Design for Cyber-Physical Systems. European Journal of Control, 18(3):217--238, 2012.
[29]
Gehan MK Selim, Levi Lúcio, James R Cordy, Juergen Dingel, and Bentley J Oakes. Specification and Verification of Graph-Based Model Transformation Properties. In International Conference on Graph Transformation, pages 113--129, 2014.
[30]
Shane Sendall and Wojtek Kozaczynski. Model Transformation: the Heart and Soul of Model-Driven Software Development. IEEE Software, 20(5):42--45, 2003.
[31]
Frank Singhoff, Jérôme Legrand, Laurent Nana, and Lionel Marcé. Cheddar: a Flexible Real Time Scheduling Framework. In SIGAda International Conference (SIGAda), pages 1--8, 2004.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '21: Proceedings of the 36th Annual ACM Symposium on Applied Computing
March 2021
2075 pages
ISBN:9781450381048
DOI:10.1145/3412841
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 April 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. formal methods
  2. model transformation
  3. model-driven engineering

Qualifiers

  • Research-article

Conference

SAC '21
Sponsor:
SAC '21: The 36th ACM/SIGAPP Symposium on Applied Computing
March 22 - 26, 2021
Virtual Event, Republic of Korea

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 42
    Total Downloads
  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media