×

zbMATH — the first resource for mathematics

PTL: a model transformation language based on logic programming. (English) Zbl 1351.68047
Summary: In this paper we present a model transformation language based on logic programming. The language, called PTL (Prolog based Transformation Language), can be considered as a hybrid language in which ATL (Atlas Transformation Language)-style rules are combined with logic rules for defining transformations. ATL-style rules are used to define mappings from source models to target models while logic rules are used as helpers. The implementation of PTL is based on the encoding of the ATL-style rules by Prolog rules. Thus, PTL makes use of Prolog as a transformation engine. We have provided a declarative semantics to PTL and proved the semantics equivalent to the encoded program. We have studied an encoding of OCL (Object Constraint Language) with Prolog goals in order to map ATL to PTL. Thus a subset of PTL can be considered equivalent to a subset of ATL. The proposed language can be also used for model validation, that is, for checking constraints on models and transformations. We have equipped our language with debugging and tracing capabilities which help developers to detect programming errors in PTL rules. Additionally, we have developed an Eclipse plugin for editing PTL programs, as well as for debugging, tracing and validation. Finally, we have evaluated the language with several transformation examples as well as tested the performance with large models.
MSC:
68N15 Theory of programming languages
68N17 Logic programming
PDF BibTeX XML Cite
Full Text: DOI
References:
[1] Czarnecki, K.; Helsen, S., Classification of model transformation approaches, OOPSLA’03 Workshop on Generative Techniques in the Context of Model-Driven Architecture, 45, 3, 1-17, (2003)
[2] Jouault, F.; Kurtev, I., On the interoperability of model-to-model transformation languages, Sci. Comput. Program., 68, 3, 114-137, (2007) · Zbl 1131.68357
[3] Mens, T.; Gorp, P. V., A taxonomy of model transformation, Electron. Notes Theor. Comput. Sci., 152, 125-142, (2006)
[4] Tratt, L., Model transformations and tool integration, Softw. Syst. Model., 4, 2, 112-122, (2005)
[5] Amrani, M.; Dingel, J.; Lambers, L.; Lúcio, L.; Salay, R.; Selim, G.; Syriani, E.; Wimmer, M., Towards a model transformation intent catalog, (Proceedings of the First Workshop on the Analysis of Model Transformations, (2012), ACM), 3-8
[6] OMG, Model driven architecture, (2014), Object Management Group, Tech. rep.
[7] OMG, Unified modeling language specification, version 2.4.1, (2011), Object Management Group, Tech. rep.
[8] Czarnecki, K.; Helsen, S., Feature-based survey of model transformation approaches, IBM Syst. J., 45, 3, 621-645, (2006)
[9] Jouault, F.; Allilaire, F.; Bézivin, J.; Kurtev, I., ATL: a model transformation tool, Sci. Comput. Program., 72, 1-2, 31-39, (2008) · Zbl 1154.68366
[10] Favre, J.-M., Towards a basic theory to model model driven engineering, (3rd Workshop in Software Model Engineering, (2004), WiSME), 262-271
[11] Gerber, A.; Lawley, M.; Raymond, K.; Steel, J.; Wood, A., Transformation: the missing link of MDA, (Procs of ICGT’02, Lect. Notes Comput. Sci., vol. 2505, (2002), Springer), 90-105 · Zbl 1028.68503
[12] Lawley, M.; Steel, J., Practical declarative model transformation with tefkat, (MoDELS Satellite Events, Lect. Notes Comput. Sci., vol. 3844, (2006), Springer), 139-150
[13] Lawley, M.; Raymond, K., Implementing a practical declarative logic-based model transformation engine, (SAC’07: Proceedings of the 2007 ACM Symposium on Applied Computing, (2007), ACM New York, NY, USA), 971-977
[14] Varró, D., Automated model transformations for the analysis of IT systems, (2004), Budapest University of Technology and Economics, Ph.D. thesis
[15] Schätz, B., Formalization and rule-based transformation of EMF ecore-based models, (Gašević, D.; Lämmel, R.; Wyk, E., Software Language Engineering, (2009), Springer-Verlag Berlin, Heidelberg), 227-244
[16] Balogh, Z.; Varró, D., Model transformation by example using inductive logic programming, Softw. Syst. Model., 8, 3, 347-364, (2009)
[17] Jackson, E. K.; Schulte, W., Formula 2.0: a language for formal specifications, (Unifying Theories of Programming and Formal Engineering Methods, (2013), Springer), 156-206 · Zbl 1444.68052
[18] Storrle, H., A prolog-based approach to representing and querying UML models, (Intl. Ws. Visual Languages and Logic (VLL’07), vol. 274, (2007)), 71-84
[19] Oetsch, J.; Pührer, J.; Seidl, M.; Tompits, H.; Zwickl, P., VIDEAS: a development tool for answer-set programs based on model-driven engineering technology, (Logic Programming and Non-Monotonic Reasoning, (2011), Springer), 382-387
[20] Goldberg, M.; Wiener, G., A declarative approach for software modeling, (Practical Aspects of Declarative Languages, Lect. Notes Comput. Sci., vol. 7149, (2012), Springer), 18-32
[21] Chimia-Opoka, J.; Felderer, M.; Lenz, C.; Lange, C., Querying UML models using OCL and prolog: a performance study, (IEEE International Conference on Software Testing Verification and Validation Workshop, 2008, ICSTW’08, (2008), IEEE), 81-88
[22] Hettel, T.; Lawley, M.; Raymond, K., Towards model round-trip engineering: an abductive approach, (Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations, ICMT’09, (2009), Springer-Verlag), 100-115
[23] Khai, Z.; Nadeem, A.; Lee, G.-s., A prolog based approach to consistency checking of UML class and sequence diagrams, (Kim, T.-h.; Adeli, H.; Kim, H.-k.; Kang, H.-j.; Kim, K. J.; Kiumi, A.; Kang, B.-H., Software Engineering, Business Continuity, and Education, Commun. Comput. Inf. Sci., vol. 257, (2011), Springer Berlin, Heidelberg), 85-96
[24] Cicchetti, A.; Di Ruscio, D.; Eramo, R.; Pierantonio, A., JTL: a bidirectional and change propagating transformation language, (Software Language Engineering, (2011), Springer), 183-202
[25] Cabot, J.; Clarisó, R.; Riera, D., Verifying UML/OCL operation contracts, (Integrated Formal Methods, (2009), Springer), 40-55
[26] Blanc, X.; Mounier, I.; Mougenot, A.; Mens, T., Detecting model inconsistency through operation-based model construction, (ACM/IEEE 30th International Conference on Software Engineering, 2008, ICSE’08, (2008), IEEE), 511-520
[27] Batory, D.; Latimer, E.; Azanza, M., Teaching model driven engineering from a relational database perspective, (Model-Driven Engineering Languages and Systems, (2013), Springer), 121-137
[28] Hibberd, M.; Lawley, M.; Raymond, K., Forensic debugging of model transformations, (Model Driven Engineering Languages and Systems, (2007), Springer), 589-604
[29] Bergmann, G.; Ujhelyi, Z.; Ráth, I.; Varró, D., A graph query language for EMF models, (Cabot, J.; Visser, E., Theory and Practice of Model Transformations, Lect. Notes Comput. Sci., vol. 6707, (2011), Springer), 167-182
[30] Ujhelyi, Z.; Bergmann, G.; Hegedüs, Á.; Horváth, Á.; Izsó, B.; Ráth, I.; Szatmári, Z.; Varró, D., EMF-incquery: an integrated development environment for live model queries, Sci. Comput. Program., 98, Part 1, 80-99, (2015), fifth issue of Experimental Software and Toolkits (EST): A special issue on Academics Modeling with Eclipse (ACME2012)
[31] Schoenboeck, J.; Kappel, G.; Kusel, A.; Retschitzegger, W.; Schwinger, W.; Wimmer, M., Catch me if you can - debugging support for model transformations, (Models in Software Engineering, (2010), Springer), 5-20
[32] Stevens, P., Bidirectional model transformations in QVT: semantic issues and open questions, Softw. Syst. Model., 9, 1, 7-20, (2010)
[33] Motik, B.; Grau, B. C.; Horrocks, I.; Wu, Z.; Fokoue, A.; Lutz, C., OWL 2 web ontology: reasoning in OWL 2 RL and RDF graphs using rules, (2009), Tech. rep.
[34] Almendros-Jiménez, J. M., OWL RL in logic programming: querying, reasoning and inconsistency explanations, (Bikakis, A.; Giurca, A., RuleML, Lect. Notes Comput. Sci., vol. 7438, (2012), Springer), 248-255
[35] Queralt, A.; Artale, A.; Calvanese, D.; Teniente, E., OCL-lite: finite reasoning on UML/OCL conceptual schemas, Data Knowl. Eng., 73, 1-22, (2012)
[36] Troya, J.; Vallecillo, A., Towards a rewriting logic semantics for ATL, (Theory and Practice of Model Transformations, (2010)), 230-244
[37] Almendros-Jiménez, J. M.; Iribarne, L., A model transformation language based on logic programming, (van Emde Boas, P.; etal., 39th International Conference on Current Trends in Theory and Practice of Computer Science, SOFSEM 2013, Lect. Notes Comput. Sci., vol. 7741, (2013), Springer-Verlag), 382-394 · Zbl 1303.68037
[38] Almendros-Jiménez, J. M.; Iribarne, L.; Silva, J.; Tiezzi, F., Model validation in ontology based transformations, WWV, Electron. Proc. Theoret. Comput. Sci., 98, 17-30, (2012)
[39] Almendros-Jiménez, J. M.; Iribarne, L., Transformation and validation with SWRL and OWL of odm-based models, (Abelló, A.; Bellatreche, L.; Benatallah, B., Model and Data Engineering - 2nd International Conference, MEDI, Lect. Notes Comput. Sci., vol. 7602, (2012), Springer), 103-115
[40] Wielemaker, J.; Schreiber, G.; Wielinga, B., Prolog-based infrastructure for RDF: scalability and performance, (The Semantic Web-ISWC 2003, (2003), Springer), 644-658
[41] Batz, G. V.; Kroll, M.; Geiß, R., A first experimental evaluation of search plan driven graph pattern matching, (Applications of Graph Transformations with Industrial Relevance, (2008), Springer), 471-486
[42] Varró, G.; Friedl, K.; Varró, D., Adaptive graph pattern matching for model transformations using model-sensitive search plans, Electron. Notes Theor. Comput. Sci., 152, 191-205, (2006)
[43] OMG, MOF 2.0 query/views/transformations v1.1, (2011), Object Management Group, Tech. rep.
[44] Kurtev, I., State of the art of QVT: a model transformation language standard, (3rd Int. Symposium on Applications of Graph Transformation with Industrial Relevance, (2008), Springer), 377-393
[45] Jouault, F.; Kurtev, I., On the architectural alignment of ATL and QVT, (SAC’06: Proceedings of the 2006 ACM Symposium on Applied Computing, (2006), ACM New York, NY, USA), 1188-1195
[46] Sánchez-Cuadrado, J.; García-Molina, J.; Menárguez-Tortosa, M., Rubytl: a practical, extensible transformation language, (Procs of Model Driven Architecture - Foundations and Applications, Lect. Notes Comput. Sci., vol. 4066, (2006), Springer), 158-172
[47] Tratt, L., The MT model transformation language, (SAC ’06: Proceedings of the 2006 ACM Symposium on Applied Computing, (2006), ACM New York, NY, USA), 1296-1303
[48] Agrawal, A., Graph rewriting and transformation (great): a solution for the model integrated computing (MIC) bottleneck, (Proceedings 18th IEEE International Conference on Automated Software Engineering, 6-10 Oct. 2003, (2003)), 364-368
[49] Taentzer, G., AGG: a graph transformation environment for modeling and validation of software, (Applications of Graph Transformations with Industrial Relevance: Second International Workshop, AGTIVE 2003, September 27-October 1, 2003, Charlottesville, VA, USA, Lect. Notes Comput. Sci., vol. 3062, (2004)), 446-453, revised selected and invited papers
[50] Königs, A., Model transformation with triple graph grammars, (Model Transformations in Practice Satellite Workshop of MODELS, (2005)), 166
[51] Balogh, A.; Varró, D., The model transformation language of the VIATRA2 framework, Sci. Comput. Program., 68, 3, 187-207, (2007) · Zbl 1131.68040
[52] Schätz, B., Verification of model transformations, (Proceedings of the Eighth International Workshop on Graph Transformation and Visual Modeling Techniques, GT-VMT, (2009)), Electron. Commun. EASST 18
[53] Schatz, B., Prolog EMF transformation eclipse-plugin, (2009), Institut fur Informatik, Technische Universität München, Tech. rep.
[54] Hearnden, D. I., Deltaware: incremental change propagation for automating software evolution in model-driven architecture, (2007), Centre or Institute School of Information Tech & Elec Engineering, Univ. of Queensland, Ph.D. thesis
[55] Romero, J. R.; Rivera, J. E.; Durán, F.; Vallecillo, A., Formal and tool support for model driven engineering with maude, J. Object Technol., 6, 9, 187-207, (2007)
[56] Clavel, M.; Egea, M.; Silva, V. T.D., MOVA: a tool for modeling, measuring and validating UML class diagrams, (2008), Universidad Complutense de Madrid, Tech. rep.
[57] Boronat, A.; Heckel, R.; Meseguer, J., Rewriting logic semantics and verification of model transformations, (FASE ’09: Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering, (2009), Springer-Verlag Berlin, Heidelberg), 18-33
[58] Dohrmann, P.; Herold, S., Designing and applying a framework for logic-based model querying, (36th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), (2010), IEEE), 164-171
[59] Bergmann, G.; Horváth, Á.; Ráth, I.; Varró, D.; Balogh, A.; Balogh, Z.; Ökrös, A., Incremental evaluation of model queries over EMF models, (Model Driven Engineering Languages and Systems, (2010), Springer), 76-90
[60] Demuth, B., The Dresden OCL toolkit and its role in information systems development, (Proc. of the 13th International Conference on Information Systems Development (ISD’2004), (2004)), 1-12
[61] Clavel, M.; Egea, M.; García de Dios, M. A., Checking unsatisfiability for OCL constraints, Electron. Commun. EASST, 24, (2009)
[62] Boronat, A., MOMENT: a formal framework for model management, (2007), Universitat Politenica de Valencia (UPV) Spain, PhD in Computer Science
[63] Clavel, M.; Egea, M., ITP/OCL: a rewriting-based validation tool for UML+OCL static class diagrams, (Algebraic Methodology and Software Technology, (2006), Springer), 368-373
[64] Brucker, A. D.; Wolff, B., HOL-OCL: a formal proof environment for UML/OCL, (Fundamental Approaches to Software Engineering, (2008), Springer), 97-100
[65] Bergmann, G., Translating OCL to graph patterns, (Model-Driven Engineering Languages and Systems, (2014), Springer), 670-686
[66] Arendt, T.; Habel, A.; Radke, H.; Taentzer, G., From core OCL invariants to nested graph constraints, (Giese, H.; Konig, B., Graph Transformation, Lect. Notes Comput. Sci., vol. 8571, (2014), Springer International Publishing), 97-112 · Zbl 1423.68092
[67] Cabot, J.; Claris, R.; Guerra, E.; de Lara, J., Verification and validation of declarative model-to-model transformations, J. Syst. Softw., 2, 83, 283-302, (2010)
[68] Vallecillo, A.; Gogolla, M., Typing model transformations using tracts, (Theory and Practice of Model Transformations, (2012), Springer), 56-71
[69] Jouault, F.; Kurtev, I., Transforming models with ATL, (Satellite Events at the MoDELS 2005 Conference, (2006), Springer), 128-138
[70] Clavel, M.; Durán, F.; Eker, S.; Lincoln, P.; Martí-Oliet, N.; Meseguer, J.; Talcott, C., The maude 2.0 system, (Nieuwenhuis, R., Rewriting Techniques and Applications (RTA 2003), Lect. Notes Comput. Sci., vol. 2706, (2003), Springer-Verlag), 76-87 · Zbl 1038.68559
[71] Egyed, A., Automatically detecting and tracking inconsistencies in software design models, IEEE Trans. Softw. Eng., 37, 2, 188-204, (2011)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.