Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3486608.3486901acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Executing certified model transformations on Apache Spark

Published: 22 November 2021 Publication History

Abstract

Formal reasoning on model transformation languages allows users to certify model transformations against contracts. CoqTL includes a specification of a transformation engine in the Coq interactive theorem prover. An executable engine can be automatically extracted from this specification. Transformation contracts are proved by the user against the CoqTL specification and guaranteed to hold on the transformation running on the extracted implementation of CoqTL. The design of the transformation engine specification in CoqTL aims at easing the certification step, but this requirement harms the execution performance of the extracted engine.
In this paper, we aim at providing a scalable distributed implementation of the CoqTL specification. To achieve this objective we proceed in two steps. First, we introduce a refined specification of CoqTL that increases the engine parallelization. We present a mechanized proof of the equivalence with standard CoqTL. Second, we develop a prototype implementation of the refined specification on top of Spark. Finally, by evaluating the performance of a simple case study, we assess the speedup our solution can reach.

Supplementary Material

Auxiliary Presentation Video (splashws21slemain-p6-p-video.mp4)
This is a presentation of our paper, submitted and accepted at SLE: Executing Certified Model Transformations on Apache Spark In this paper, we aim at bridging correctness and large model transformations.

References

[1]
University of Malaga Atenea team. 2018. Lintra. http://atenea.lcc.uma.es/projects/LinTra.html
[2]
Amine Benelallam, Abel Gómez, Massimo Tisi, and Jordi Cabot. 2018. Distributing relational model transformation on MapReduce. Journal of Systems and Software, 142 (2018), 1–20. issn:0164-1212 https://doi.org/10.1016/j.jss.2018.04.014
[3]
Amine Benelallam, Massimo Tisi, Jesús Sánchez Cuadrado, Juan de Lara, and Jordi Cabot. 2016. Efficient model partitioning for distributed model transformations. In Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering, Amsterdam, The Netherlands, October 31 - November 1, 2016, Tijs van der Storm, Emilie Balland, and Dániel Varró (Eds.) (SLE 2016). ACM, 226–238. isbn:978-1-4503-4447-0 https://doi.org/10.1145/2997364.2997385
[4]
Loli Burgueño, Manuel Wimmer, and Antonio Vallecillo. 2016. Towards Distributed Model Transformations with LinTra. Jornadas de Ingeniería del Software y Bases de Datos, 1–6. http://hdl.handle.net/10630/12091
[5]
Daniel Calegari, Carlos Luna, Nora Szasz, and Álvaro Tasistro. 2011. A Type-Theoretic Framework for Certified Model Transformations. In 13th Brazilian Symposium on Formal Methods. Springer, Natal, Brazil. 112–127. isbn:978-3-642-19828-1 https://doi.org/10.1007/978-3-642-19829-8_8
[6]
Zheng Cheng, Massimo Tisi, and Joachim Hotonnier. 2020. Certifying a Rule-Based Model Transformation Engine for Proof Preservation. In ACM/IEEE 23rd International Conference on Model Driven Engineering Languages and Systems. Montreal, Canada. https://doi.org/10.1145/3365438.3410949
[7]
The Coq development team. 2004. The Coq proof assistant reference manual. http://coq.inria.fr Version 8.0.
[8]
Youssef El Bakouny and Dani Mezher. 2018. Scallina: Translating Verified Programs from Coq to Scala. In Programming Languages and Systems, Sukyoung Ryu (Ed.). Springer International Publishing, Cham. 131–145. isbn:978-3-030-02768-1
[9]
Tassilo Horn, Christian Krause, and Matthias Tichy. 2014. The TTC 2014 Movie Database Case. In TTC@ STAF. 93–97.
[10]
Frédéric Jouault, Freddy Allilaire, Jean Bézivin, and Ivan Kurtev. 2008. ATL: A model transformation tool. Sci. Comput. Program., 72, 1-2 (2008), 31–39. issn:0167-6423 https://doi.org/10.1016/j.scico.2007.08.002 Special Issue on Second issue of experimental software and toolkits (EST).
[11]
Dimitris S Kolovos, Richard F Paige, and Fiona AC Polack. 2008. Scalability: The holy grail of model driven engineering. In ChaMDE 2008 Workshop Proceedings: International Workshop on Challenges in Model-Driven Software Engineering. 10–14.
[12]
Dimitris S. Kolovos, Richard F. Paige, and Fiona A. C. Polack. 2006. The Epsilon Object Language (EOL). In Proceedings of the Second European Conference on Model Driven Architecture: Foundations and Applications (ECMDA-FA’06). Springer-Verlag, Berlin, Heidelberg. 128–142. isbn:3540359095 https://doi.org/10.1007/11787044_11
[13]
Christian Krause, Matthias Tichy, and Holger Giese. 2014. Implementing Graph Transformations in the Bulk Synchronous Parallel Model. In Fundamental Approaches to Software Engineering, Stefania Gnesi and Arend Rensink (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 325–339. isbn:978-3-642-54804-8 https://doi.org/10.1007/978-3-642-54804-8_23
[14]
Ralf Lammel. 2008. Google’s MapReduce programming model - Revisited. Science of Computer Programming, 70, 1 (2008), 1 – 30. issn:0167-6423 https://doi.org/10.1016/j.scico.2007.07.001
[15]
Kevin Lano, T. Clark, and S. Kolahdouz-Rahimi. 2014. A framework for model transformation verification. Formal Aspects of Computing, 27, 1 (2014), 193–235. issn:0934-5043 https://doi.org/10.1007/s00165-014-0313-z
[16]
Frédéric Loulergue, Frédéric Gava, and David Billiet. 2005. Bulk Synchronous Parallel ML: Modular Implementation and Performance Prediction. In Computational Science – ICCS 2005, Vaidy S. Sunderam, Geert Dick van Albada, Peter M. A. Sloot, and Jack J. Dongarra (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 1046–1054. isbn:978-3-540-32114-9
[17]
Grzegorz Malewicz, Matthew H. Austern, Aart J.C Bik, James C. Dehnert, Ilan Horn, Naty Leiser, and Grzegorz Czajkowski. 2010. Pregel: A System for Large-scale Graph Processing. In Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data (SIGMOD ’10). ACM, New York, NY, USA. 135–146. isbn:978-1-4503-0032-2 https://doi.org/10.1145/1807167.1807184
[18]
Gergely Mezei, Tihamer Levendovszky, Tamás Mészáros, and István Madari. 2009. Towards truly parallel model transformations : A distributed pattern matching approach. IEEE EUROCON 2009, EUROCON 2009, 403–410. https://doi.org/10.1109/EURCON.2009.5167663
[19]
Jolan Philippe, Héléne Coullon, Massimo Tisi, and Gerson Sunyé. 2020. Towards Transparent Combination of Model Management Execution Strategies for Low-Code Development Platforms. In Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings (MODELS ’20). Association for Computing Machinery, New York, NY, USA. Article 72, 10 pages. isbn:9781450381352 https://doi.org/10.1145/3417990.3420206
[20]
Kurt Stenzel, Nina Moebius, and Wolfgang Reif. 2015. Formal verification of QVT transformations for code generation. Software & Systems Modeling, 14 (2015), 981–1002.
[21]
Massimo Tisi and Zheng Cheng. 2018. CoqTL: an Internal DSL for Model Transformation in Coq. In ICMT 2018 - 11th International Conference on Theory and Practice of Model Transformations (LNCS, Vol. 10888). Springer, Toulouse, France. 142–156. https://doi.org/10.1007/978-3-319-93317-7_7
[22]
Massimo Tisi, Martínez Salvador Perez, and Hassene Choura. 2013. Parallel Execution of ATL Transformation Rules. In Model-Driven Engineering Languages and Systems - 16th International Conference, MODELS 2013, Miami, FL, USA, September 29 - October 4, 2013. Proceedings, Ana Moreira, Bernhard Schätz, Jeff Gray, Antonio Vallecillo, and Peter J. Clarke (Eds.) (Lecture Notes in Computer Science, Vol. 8107). Springer, 656–672. https://doi.org/10.1007/978-3-642-41533-3_40
[23]
Le-Duc Tung and Zhenjiang Hu. 2017. Towards Systematic Parallelization of Graph Transformations Over Pregel. Int. J. Parallel Program., 45, 2 (2017), April, 320–339. issn:0885-7458 https://doi.org/10.1007/s10766-016-0418-5

Cited By

View all
  • (2024)SyDPaCC: A Framework for the Development of Verified Scalable Parallel Functional ProgramsLeveraging Applications of Formal Methods, Verification and Validation. Specification and Verification10.1007/978-3-031-75380-0_16(274-295)Online publication date: 30-Oct-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SLE 2021: Proceedings of the 14th ACM SIGPLAN International Conference on Software Language Engineering
October 2021
176 pages
ISBN:9781450391115
DOI:10.1145/3486608
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 November 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Coq
  2. Model transformation
  3. Model-Driven Engineering
  4. Spark

Qualifiers

  • Research-article

Conference

SLE '21
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)SyDPaCC: A Framework for the Development of Verified Scalable Parallel Functional ProgramsLeveraging Applications of Formal Methods, Verification and Validation. Specification and Verification10.1007/978-3-031-75380-0_16(274-295)Online publication date: 30-Oct-2024

View Options

Get Access

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