[en] Software translation is a challenging task. Several requirements are important – including automation of the execution, maintainability of the translation patterns, and, most importantly, reliability concerning the correctness of the translation.
Triple graph grammars (TGGs) have shown to be an intuitive, well-defined technique for model translation. In this paper, we leverage TGGs for industry scale software translations. The approach is implemented using the Eclipse-based graph transformation tool Henshin and has been successfully applied in a large industrial project with the satellite operator SES on the translation of satellite control procedures. We evaluate the approach regarding requirements from the project and performance on a complete set of procedures of one satellite.
Disciplines :
Computer science
Author, co-author :
Hermann, Frank ; University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
Gottmann, Susann ; University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
Nachtigall, Nico ; University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
Ehrig, Hartmut; TU Berlin
Braatz, Benjamin ; University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
Morelli, Gianluigi; SES
Pierre, Alain; SES
Engel, Thomas ; University of Luxembourg > Faculty of Science, Technology and Communication (FSTC) > Computer Science and Communications Research Unit (CSC)
Ermel, Claudia; TU Berlin
Language :
English
Title :
Triple Graph Grammars in the Large for Translating Satellite Procedures
Publication date :
July 2014
Event name :
6th International Conference on Theory and Practice of Model Transformations (ICMT 2014)
Anjorin, A., Cunha, A., Giese, H., Hermann, F., Rensink, A., Schürr, A.: Bench-marx. In: Bidirectional Model Transformations 2014. CEUR-Workshop Proceedings, vol. 1133, pp. 82-86. CEUR (2014)
Baxter, I., Pidgeon, P., Mehlich, M.: DMS: Program transformations for practical scalable software evolution. In: Software Engineering (ICSE 2004). IEEE Press (2004)
Bravenboer, M., Kalleberg, K.T., Vermaas, R., Visser, E.: Stratego/XT 0.17. a language and toolset for program transformation. Science of Computer Programming 72(1-2), 52-70 (2008)
Cordy, J.R.: The TXL source transformation language. Science of Computer Programming 61(3), 190-210 (2006)
Cordy, J.R.: Excerpts from the TXL cookbook. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2009. LNCS, vol. 6491, pp. 27-91. Springer, Heidelberg (2011)
The Eclipse Foundation: Xtext-Language Development Framework-Version 2.2.1 (2012)
http://www.eclipse.org/Xtext/
The Eclipse Foundation: EMF Henshin-Version 0.9.4 (2013), http://www.eclipse.org/modeling/emft/henshin/
Ehrig, H., Ehrig, K., Hermann, F.: From model transformation to model integration based on the algebraic approach to triple graph grammars. ECEASST 10, 14 (2008)
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Springer (2006)
Ehrig, H., Ehrig, K., Ermel, C., Hermann, F., Taentzer, G.: Information preserving bidirectional model transformations. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 72-86. Springer, Heidelberg (2007)
Giese, H., Wagner, R.: From model transformation to incremental bidirectional model synchronization. Software and Systems Modeling 8(1), 21-43 (2009)
Hegedüs, A., Horv́ath, A., Varŕo, D.: Towards guided trajectory exploration of graph transformation systems. ECEASST 40 (2010)
Hermann, F., Ehrig, H., Golas, U., Orejas, F.: Efficient analysis and execution of correct and complete model transformations based on triple graph grammars. In: Model Driven Interoperability (MDI 2010), pp. 22-31. ACM (2010)
Hermann, F., Ehrig, H., Orejas, F., Golas, U.: Formal analysis of functional behaviour of model transformations based on triple graph grammars. In: Ehrig, H., Rensink, A., Rozenberg, G., Schürr, A. (eds.) ICGT 2010. LNCS, vol. 6372, pp. 155-170. Springer, Heidelberg (2010)
Hermann, F., Gottmann, S., Nachtigall, N., Braatz, B., Morelli, G., Pierre, A., Engel, T.: On an Automated Translation of Satellite Procedures Using Triple Graph Grammars. In: Duddy, K., Kappel, G. (eds.) ICMB 2013. LNCS, vol. 7909, pp. 50-51. Springer, Heidelberg (2013)
Hermann, F., Gottmann, S., Nachtigall, N., Ehrig, H., Braatz, B., Morelli, G., Pierre, A., Engel, T., Ermel, C.: Triple Graph Grammars in the Large for Translating Satellite Procedures-Extended Version. Tech. rep. TR-SnT-2014-7, University of Luxembourg, SnT (2014), http://orbilu.uni.lu/
Hildebrandt, S., Lambers, L., Giese, H., Rieke, J., Greenyer, J., Scḧafer, W., Lauder, M., Anjorin, A., Schürr, A.: A survey of triple graph grammar tools. In: Stevens, P., Terwilliger, J.F. (eds.) Bidirectional Transformations 2013. ECEASST, vol. 57. European Association of Software Science and Technology (2013)
Kats, L.C.L., Visser, E.: The Spoofax language workbench. rules for declarative specification of languages and IDEs. In: Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010 (2010)
Klint, P., Vinju, J.J., van der Storm, T.: RASCAL: A domain specific language for source code analysis and manipulation. In: Source Code Analysis and Manipulation. pp. 168-177. IEEE Computer Society (2009)
Klint, P., van der Storm, T., Vinju, J.: EASY meta-programming with Rascal. In: Fernandes, J.M., L̈ammel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2009. LNCS, vol. 6491, pp. 222-289. Springer, Heidelberg (2011)
Lambers, L.: Certifying Rule-Based Models using Graph Transformation. Ph.D. thesis, Technische Universiẗat Berlin (2009)
Lauder, M., Anjorin, A., Varŕo, G., Schürr, A.: Bidirectional model transformation with precedence triple graph grammars. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Sẗorrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 287-302. Springer, Heidelberg (2012)
Ḿesźaros, T., Mezei, G., Levendovszky, T., Asztalos, M.: Manual and automated performance optimization of model transformation systems. International Journal on Software Tools for Technology Transfer 12(3-4), 231-243 (2010)
Parr, T., Fisher, K.: LL(*): the foundation of the ANTLR parser generator. ACM SIGPLAN Notices 46(6), 425-436 (2011)
Schürr, A.: Specification of graph translators with triple graph grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903, pp. 151-163. Springer, Heidelberg (1995)
Schürr, A., Klar, F.: 15 years of triple graph grammars. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) ICGT 2008. LNCS, vol. 5214, pp. 411-425. Springer, Heidelberg (2008)
SES Engineering: SPELL-Satellite Procedure Execution Language & Library-Version 2.3.13 (2013), http://code.google.com/p/spell-sat/
TFS-Group, TU Berlin: AGG (2014), http://www.tfs.tu-berlin.de/agg
Tichy, M., Krause, C., Liebel, G.: Detecting performance bad smells for Henshin model transformations. In: Proc. Analysis of Model Transformations (AMT 2013). CEUR-Workshop Proceedings, vol. 1077, pp. 82-86. CEUR (2013)