Executing certified model transformations on Apache Spark

Jolan Philippe, Massimo Tisi, Hélène Coullon, Gerson Sunyé
2021 Proceedings of the 14th ACM SIGPLAN International Conference on Software Language Engineering  
Formal reasoning on model transformation languages allows users to certify model transformations against contracts. Co-qTL 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
more » ... ngine 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.
doi:10.1145/3486608.3486901 fatcat:u3cvb6mco5f6xox5rn3u6smjp4