• Nem Talált Eredményt

engineer-ing verification problems can be formulated as MTV programs. Also, I have demonstrated that by using MTV, the transformations to be analyzed by the implemented framework are not restricted to transformations implemented in VMTS.

Subthesis IV.2

I have provided algorithms that are able to process model transformations defined in VMTS and automatically generate MTV code from them ready for analysis. I have shown that the verification framework can be implemented such that it is able to analyze control flow definitions.

Subthesis IV.3

I have demonstrated that my theoretical framework can be realized as a component-based reusable, and extensible software package that can reason about an arbitrary MTV input, and is able to compose predefined MTA patterns, and integrate them into the reasoning process.

9. Conclusions

• Our methods are based on the analysis of single rewriting rules, however, by analyzing the control flow graph of a model transformation, we could prove more properties. It would be also beneficial to extend the definition of control flow graphs in order to be able to describe more types of control mechanisms, e.g. non-deterministic choice, priority-based ordering, etc.

• Our future work addresses the more complex MTA design patterns distilled from industrial applications. We plan to a collect a high number of MTA design patterns and provide a catalog with their description.

• Although our research focuses on the verification of functional properties of model transfor-mations, the analysis of rules and control flow graphs could be useful in the analysis of non-functional properties as well. Hence, methods for the analysis of termination or confluence could be integrated into our framework.

Besides the enhancement of the theoretical background, we plan to improve the realization of the framework currently implemented in VMTS.

• We plan to provide a standalone application as a platform-independent verification framework.

This would make it possible to integrate these methods into other tools, which would lead to more case studies.

• We also want to develop a fully functional tool support for all aspects of MTA methods to promote automated transformation analysis.

• The use of a separate language (MTV code) to specify TPDL formulae has some drawbacks.

Therefore, we plan to provide methods to be able to describe TPDL formulae in OCL, or other general programming languages that are used in model transformation frameworks.

[1] Márk Asztalos, István Madari, and László Lengyel. Towards formal analysis of multi-paradigm model transformations. Simulation, 86(7):429–452, 2010.

[2] Márk Asztalos, Péter Ekler, László Lengyel, Tihamér Levendovszky, István Madari, and Tamás Vajk. Automated formal verification of graph rewriting-based model transformations. Bulet-inul Stiintific Al Universitatii Politehnica Din Timisoara-Seria Automatica Si Calculatoare, 55(69):175–184, 2010.

[3] Márk Asztalos, Péter Ekler, László Lengyel, Tihamér Levendovszky, Tamás Mészáros, and Gergely Mezei. Automated verification by declarative description of graph rewriting-based model transformations. Electronic Communications Of The EASST, 42:12, 2010.

[4] Márk Asztalos, László Lengyel, and Tihamér Levendovszky. Toward automated verification of model transformations: A case study of analysis of refactoring business process models.Electronic Communications of the EASST, 21, 2009.

[5] Márk Asztalos, László Lengyel, and Tihamér Levendovszky. A formal framework for automated verification of model transformations. Software Testing Verification & Reliability, 2012. (sub-mitted).

[6] Márk Asztalos, István Madari, Tamás Mészaros, Tamás Vajk, and Gergely Mezei. Szakterület-specifikus modellezés. Híradástechnika, LXV(5-6):25–30, 2010.

[7] Márk Asztalos, Eugene Syriani, Manuel Wimmer, and Marouane Kessentini. Simplifying model transformation chains by rule composition. Lecture Notes in Computer Science, 6627:293–307, 2011. Proceedings of the 2010 international conference on Models in software engineering.

[8] Márk Asztalos, Eugene Syriani, Manuel Wimmer, and Marouane Kessentini. Towards transfor-mation rule composition. Electronic Communications of the EASST, 42:13, October 2011. 4th International Workshop on Multi-Paradigm Modeling - MPM’10.

[9] Péter Ekler and Márk Asztalos. Performance analysis of maintaining mobile-based social network models. WSEAS Transactions on Computers, 9(12):1391–1400, dec 2010.

[10] Tamás Mészáros, Márk Asztalos, and Gergely Mezei. Overlapped execution of rewriting rules in graph transformation systems. Buletinul Stiintific Al Universitatii Politehnica Din Timisoara-Seria Automatica Si Calculatoare, 55(3):143–150, 2010.

[11] Tamás Mészáros, Gergely Mezei, Tihamér Levendovszky, and Márk Asztalos. Manual and au-tomated performance optimization of model transformation systems. International Journal of Software Tools for Technology Transfer, 12(3-4):231–243, July 2010.

List of Publications

[12] Tamás Vajk, Márk Asztalos, and Gergely Mezei. Formal analysis of incremental code generation in ocl compilers. Buletinul Stiintific Al Universitatii Politehnica Din Timisoara-Seria Automatica Si Calculatoare, 55(69):117–122, 2010.

[13] Dániel Varró, Márk Asztalos, Dénes Bisztray, Artur Boronat, Duc-Hanh Dang, Rubino Geiss, Joel Greenyer, Pieter Van Gorp, Ole Kniemeyer, Anantha Narayanan, Edgars Rencis, and Er-hard Weinell. Transformation of UML Models to CSP: A Case Study for Graph Transformation Tools. In Andy Schürr, Manfred Nagl, and Albert Zündorf, editors,Applications of Graph Trans-formations with Industrial Relevance, volume 5088 ofLecture Notes in Computer Science, pages 540–565. Springer Berlin / Heidelberg, 2008.

[14] László Angyal, Márk Asztalos, László Lengyel, Tihamér Levendovszky, István Madari, Gergely Mezei, Tamás Mészaros, László Siroki, and Tamás Vajk. Towards a fast, efficient and customizable domain-specific modeling framework. In Proceedings of the IASTED International Conference, pages 11–16, Innsbruck, Austria, February 2009. ACTA Press.

[15] Márk Asztalos. Comparison of termination criteria for graph transformation systems. In Vajk István, editor, Proceedings of the Automation and Applied Computer Science Workshop:

AACS’07, Budapest, Hungary, 2007.

[16] Márk Asztalos. Offline analysis of the properties of transformation UML to CSP. In Vajk István, editor,Proceedings of the Automation and Applied Computer Science Workshop: AACS’08, pages 259–271, Budapest, Hungary, 2008. ISBN: 978-963-420-955-3.

[17] Márk Asztalos, Péter Ekler, László Lengyel, and Tihamér Levendovszky. Verification of model transformations to refactoring mobile social networks.Electronic Communications of the EASST, 32:12, 2010.

[18] Márk Asztalos, Péter Ekler, László Lengyel, Tihamér Levendovszky, and Tamás Mészáros. For-malizing models with abstract attribute constraints. InThird International Workshop on Graph Computation Models, pages 65–80, Enschede, Hollandia, 2010.

[19] Márk Asztalos, Péter Ekler, László Lengyel, Tihamér Levendovszky, and Tamás Vajk. MCDL: A language for specifying graph conditions with attribute constraints. InProceedings of Workshop on Model-Driven Engineering, Verification, and Validation, pages 43–48, Oslo, Norway, 2010.

[20] Márk Asztalos and László Lengyel. A metamodel-based matching algorithm for model trans-formations. In6th IEEE International Conference on Computational Cybernetics (ICCC 2008), pages 151–155, Stara Lesna, Slovakia, November 2008.

[21] Márk Asztalos, László Lengyel, and Tihamér Levendovszky. A formalism for automated verifica-tion of model transformaverifica-tions. In International Symposium of Hungarian Researchers on Com-putational Intelligence and Informatics (CINTI), pages 377–390, Budapest, Hungary, November 2009.

[22] Márk Asztalos, László Lengyel, and Tihamér Levendovszky. A formalism for describing modeling transformations for verification. InMoDeVVa’09 : Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and Validation, pages 1–10, New York, NY, USA, 2009. ACM.

[23] Márk Asztalos, László Lengyel, and Tihamér Levendovszky. Towards automated, formal verifi-cation of model transformations. In Third International Conference on Software Testing, Veri-fication and Validation, pages 15 – 24, Paris, France, April 2010. IEEE.

[24] Márk Asztalos, László Lengyel, Tihamér Levendovszky, and Hassan Charaf. Graph transfor-mation contest - UML to CSP transfortransfor-mation. In Applications of Graph Transformation 2007 (AGTIVE) - Graph Transformation Tool Contest, page 5, Kassel, Germany, 2007.

[25] Márk Asztalos, László Lengyel, Tihamér Levendovszky, and Hassan Charaf. Termination ana-lysis of the transformation UML to CSP. In Inproceedings of Computational Intelligence and Informatics 8th International Symposium of Hungarian Researchers, pages 611–622, Budapest, Hungary, November 2007.

[26] Márk Asztalos and István Madari. VTL: an improved model transformation language. In Vajk István and Iváncsy Renáta, editors,Proceedings Automation and Applied Computer Science Workshop 2009: AACS’09, pages 185–195, Budapest, Hungary, 2009. ISBN: 978-963-420-978-2.

[27] Márk Asztalos, István Madari, Tamás Vajk, László Lengyel, and Tihamér Levendovszky. Formal verification of model transformations : An automated framework. In 2010 IEEE International Joint Conference on Computational Cybernetics and Technical Informatics (ICCC-CONTI), pages 493–498, Timisoara, Romania, may 2010.

[28] Márk Asztalos, Tamás Mészáros, and László Lengyel. Generating executable BPEL code from BPMN models. In Grabats 2009 5th International Workshop on Graph-Based Tools – Graph Transformation Tool Contest, page 5, Zürich, Switzerland, 2009.

[29] Márk Asztalos and Tamás Vajk. Automated offline verification of graph rewriting-based model transformations. In Vajk István and Iváncsy Renáta, editors,Proceedings of the Automation and Applied Computer Science Workshop 2010 (AACS’10), Budapest, Hungary, 2010. Department of Automation and Applied Informatics, ISBN: 978-963-313-004-9.

[30] László Lengyel, István Madari, Márk Asztalos, and Tihamér Levendovszky. Validating query/view/transformation relations. In Proceedings of Workshop on Model-Driven Engineer-ing, Verification, and Validation, pages 7–12, Oslo, Norway, 2010.

[31] Tihamér Levendovszky, Tamás Mészáros, Péter Ekler, and Márk Asztalos. DSML-aided de-velopement for mobile P2P systems. In Matti Rossi, Jonathan Sprinkle, Jeff Gray, and Juha-Pekka Tolvanen, editors,Proceedings of the 9th OOPSLA Workshop on Domain-Specific Modeling (DSM’09), pages 51–56, Orlando, USA, 2009. HSE Print.

[32] István Madari, Márk Asztalos, Tamás Mészáros, László Lengyel, and Hassan Charaf. Implement-ing QVT in a domain-specific modelImplement-ing framework. In5th International Conference on Software and Data Technologies (ICSOFT), pages 304–307, Athens, Greece, July 2010.

[33] Tamás Mészáros, Márk Asztalos, and Gergely Mezei. An overlapped execution technique for graph rewriting rules. In IEEE International Joint Conferences on Computational Cybernetics and Technical Informatics (ICCC-CONTI 2010), pages 281–286, 2010.

[34] Tamás Mészáros, Márk Asztalos, Gergely Mezei, and Hassan Charaf. Performance optimiza-tion of exhaustive rules in graph rewriting systems. In ICSOFT 2010 - Proceedings of the 5th International Conference on Software and Data Technologies, volume 2, pages 292–295, 2010.

[35] Tamás Vajk and Márk Asztalos. Incremental code generation in Object Constraint Language compilers. In Vajk István and Iváncsy Renáta, editors,Proceedings of the Automation and Applied Computer Science Workshop 2010 (AACS’10), pages 71–84, Budapest, Hungary, 2010. ISBN:

978-963-313-004-9.

List of Publications

[36] Tamás Vajk, Zoltán Dávid, Márk Asztalos, Gergely Mezei, and Tihamér Levendovszky. Run-time model validation with parallel Object Constraint Language. In Proceedings of the 8th International Workshop on Model-Driven Engineering, Verification and Validation, pages 1–7, Wellington, New-Zealand, 2011. ACM.

[AGG, 2012] AGG (2012). The attributed graph grammar system.

[Agrawal, 2003] Agrawal, A. (2003). Graph Rewriting And Transformation (GReAT): A Solution For The Model Integrated Computing (MIC) Bottleneck. International Conference on Automated Software Engineering, 0:364.

[Agrawal et al., 2006] Agrawal, A., Karsai, G., Neema, S., Shi, F., and Vizhanyo, A. (2006). The design of a language for model transformations. Software and Systems Modeling, 5:261–288.

10.1007/s10270-006-0027-7.

[Agrawal et al., 2004a] Agrawal, A., Vizhanyo, A., Kalmar, Z., Shi, F., Narayanan, A., and Karsai, G. (2004a). Reusable idioms and patterns in graph transformation languages. In2nd International Workshop on Graph Based Tools (GraBaTs), Satellite workshop of ICGT, Rome, Italy.

[Agrawal et al., 2004b] Agrawal, A., Vizhanyo, A., Kalmar, Z., Shi, F., Narayanan, A., and Karsai, G. (2004b). Reusable idioms and patterns in graph transformation languages. In Proceedings Of The 2nd International Workshop On Graph Based Tools (GRABATS 2004). Satellite Workshop Of ICGT 2004. Elsevier.

[Allilaire et al., 2006] Allilaire, F., Bézivin, J., Olsen, G., Bailey, T., Bonet, S., Mantell, K., and Vogel, R. (2006). D1.6-3 identification of transformation patterns.

[Alloy, 2012] Alloy (2012). http://alloy.mit.edu/alloy/.

[Amrani et al., 2012] Amrani, M., Lucio, L., Selim, G., Combemale, B., Dingel, J., Vangheluwe, H., Le Traon, Y., and Cordy, J. R. (2012). A tridimensional approach for studying the formal verifi-cation of model transformations. In Proceedings of the 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation, ICST ’12, pages 921–928, Washington, DC, USA.

IEEE Computer Society.

[Anastasakis et al., 2007] Anastasakis, K., Bordbar, B., and Küster, J. M. (2007). Analysis of Model Transformations via Alloy. InModel Driven Engineering, Verification, and Validation: Integrating Verification and Validation in MDE (MODEVVA07), pages 47–56.

[Anjorin et al., 2011] Anjorin, A., Lauder, M., Patzina, S., and Schürr, A. (2011). eMoflon: Lever-aging EMF and Professional CASE Tools. In 3. Workshop Methodische Entwicklung von Model-lierungswerkzeugen (MEMWe2011).

[Assmann, 2000] Assmann, U. (2000). Graph rewrite systems for program optimization. ACM TOPLAS, 22:583–637.

Bibliography

[Balogh and Varró, 2006] Balogh, A. and Varró, D. (2006). Advanced model transformation language constructs in the viatra2 framework. In Proceedings of the 2006 ACM symposium on Applied computing, SAC ’06, pages 1280–1287, New York, NY, USA. ACM.

[Bardohl et al., 2004] Bardohl, R., Ehrig, H., de Lara, J., and Taentzer, G. (2004). Integrating meta-modelling aspects with graph transformation for efficient visual language definition and model manipulation. In Wermelinger, M. and Margaria-Steffen, T., editors,Fundamental Approaches to Software Engineering, volume 2984 ofLecture Notes in Computer Science, pages 214–228. Springer Berlin / Heidelberg.

[Barr and Wells, 1990] Barr, M. and Wells, C. (1990).Category Theory for Computing Science. Pren-tice Hall.

[Becker et al., 2006] Becker, B., Beyer, D., Giese, H., Klein, F., and Schilling, D. (2006). Symbolic invariant verification for systems with dynamic structural adaptation. In ICSE ’06: Proceedings of the 28th international conference on Software engineering, pages 72–81, New York, NY, USA.

ACM.

[Ben-Ari, 1993] Ben-Ari, M. (1993). Mathematical logic for computer science. Prentice-Hall Interna-tional series in computer science. Prentice-Hall InternaInterna-tional, Hempel Hempstead England.

[Bergmann et al., 2008] Bergmann, G., Ökrös, A., Ráth, I., Varró, D., and Varró, G. (2008). Incre-mental pattern matching in the viatra model transformation system. In Proceedings of the third international workshop on Graph and model transformations, GRaMoT ’08, pages 25–32, New York, NY, USA. ACM.

[Bézivin et al., 2006] Bézivin, J., Büttner, F., Gogolla, M., Jouault, F., Kurtev, I., and Lindow, A.

(2006). Model transformations? transformation models! In Nierstrasz, O., Whittle, J., Harel, D., and Reggio, G., editors,Model Driven Engineering Languages and Systems, volume 4199 ofLecture Notes in Computer Science, pages 440–453. Springer Berlin / Heidelberg.

[Bézivin and Jouault, 2006] Bézivin, J. and Jouault, F. (2006). Using atl for checking models. Elec-tron. Notes Theor. Comput. Sci., 152:69–81.

[Bisztray and Heckel, 2007] Bisztray, D. and Heckel, R. (2007). Rule-level verification of business process transformations using CSP. ECEASST, 6.

[Blech et al., 2005] Blech, J. O., Glesner, S., and Leitner, J. (2005). Formal Verification of Java Code Generation from UML Models. InFujaba Days. Fujaba Days.

[Blostein et al., 1996] Blostein, D., Fahmy, H., and Grbavec, A. (1996). Issues in the practical use of graph rewriting. In 5th Workshop on Graph Grammars and Their Application To Computer Science, Lecture Notes in Computer Science, pages 38–55. Springer.

[Böerger and Stärk, 2003] Böerger, E. and Stärk, R. (2003).Abstract State Machines. Springer-Verlag Berlin and Heidelberg GmbH & Co. KG (Germany).

[Bottoni et al., 2005] Bottoni, P., Hoffmann, K., Parisi Presicce, F., and Taentyer, G. (2005). High-level replacement units and their termination properties. Journal of Visual Languages and Com-puting, 16:485–507.

[Bottoni et al., 2000] Bottoni, P., Taentzer, G., and Schürr, A. (2000). Efficient parsing of visual lan-guages based on critical pair analysis and contextual layered graph transformation. InProceedings of the 2000 IEEE International Symposium on Visual Languages (VL’00), VL ’00, Washington, DC, USA. IEEE Computer Society.

[Buettner et al., 2012] Buettner, F., Egea, M., and Cabot, J. (2012). On verifying ATL transforma-tions using ’off-the-shelf’ SMT solvers. In ACM/IEEE 15th International Conference on Model Driven Engineering Languages & Systems MODELS 2012, Innsbruck, Autriche. Springer.

[Büttner et al., 2011] Büttner, F., Cabot, J., and Gogolla, M. (2011). On validation of atl transfor-mation rules by transfortransfor-mation models. In Proceedings of MODEVVA, MoDeVVa, pages 9:1–9:8, New York, NY, USA. ACM.

[Cabot et al., 2010] Cabot, J., Clarisó, R., Guerra, E., and de Lara, J. (2010). Verification and validation of declarative model-to-model transformations through invariants. Journal of Systems and Software, 83(2):283–302.

[Cabot et al., 2008] Cabot, J., Clarisó, R., and Riera, D. (2008). Verification of uml/ocl class diagrams using constraint programming. In Proceedings of the 2008 IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW ’08, pages 73–80, Washington, DC, USA. IEEE Computer Society.

[Czarnecki and Helsen, 2006] Czarnecki, K. and Helsen, S. (2006). Feature-based survey of model transformation approaches. IBM Syst. J., 45(3):621–645.

[de Lara et al., 2007] de Lara, J., Bardohl, R., Ehrig, H., Ehrig, K., Prange, U., and Taentzer, G.

(2007). Attributed graph transformation with node type inheritance. Theor. Comput. Sci., 376(3):139–163.

[de Lara and Taentzer, 2004] de Lara, J. and Taentzer, G. (2004). Automated Model Transformation and Its Validation Using AToM3 and AGG. pages 182–198.

[de Lara and Vangheluwe, 2002] de Lara, J. and Vangheluwe, H. (2002). AToM3: A Tool for Multi-formalism and Meta-modelling. In FASE ’02: Proceedings of the 5th International Conference on Fundamental Approaches to Software Engineering, pages 174–188, London, UK. Springer-Verlag.

[de Lara and Vangheluwe, 2010] de Lara, J. and Vangheluwe, H. (2010). Automating the transformation-based analysis of visual languages. Formal Aspects of Computing, 22:297–326.

10.1007/s00165-009-0114-y.

[de Lara et al., 2004] de Lara, J., Vangheluwe, H., and Alfonseca, M. (2004). Meta-modelling and graph grammars for multi-paradigm modelling in AToM3. Journal of Software and Systems Mod-eling, 3(3):194–209.

[Dechter, 2003] Dechter, R. (2003). Constraint Processing. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.

[Ehrig, 1979] Ehrig, H. (1979). Introduction to the Algebraic Theory of Graph Grammars. InGraph Grammars and Their Applications to Computer Science and Biology.

[Ehrig et al., 2005] Ehrig, H., Ehrig, K., de Lara, J., Taentzer, G., Varró, D., and Varró-Gyapay, S.

(2005). Termination criteria for model transformation. FASE, pages 49–63.

[Ehrig et al., 2006] Ehrig, H., Ehrig, K., Prange, U., and Taentzer, G. (2006). Fundamentals of Al-gebraic Graph Transformation, volume XIV of Monographs in Theoretical Computer Science. An EATCS Series. Springer.

[Ehrig et al., 1991] Ehrig, H., Habel, A., Kreowski, H.-J., and Parisi-Presicce, F. (1991). Parallelism and concurrency in high-level replacement systems. Mathematical Structures in Computer Science, pages 361–404.

Bibliography

[Ehrig et al., 1999] Ehrig, H., Kreowski, H.-J., Montanari, U., and Rozenberg, G., editors (1999).

Handbook of Graph Grammars and Computing by Graph Transformation: vol. 3: Concurrency, Parallelism, and Distribution. World Scientific Publishing Co., Inc., River Edge, NJ, USA.

[Ehrig and Prange, 2006] Ehrig, H. and Prange, U. (2006). Weak adhesive high-level replacement categories and systems: A unifying framework for graph and petri net transformations. In Futatsugi, K., Jouannaud, J.-P., and Meseguer, J., editors,Algebra, Meaning, and Computation, volume 4060 of Lecture Notes in Computer Science, pages 235–251. Springer Berlin / Heidelberg.

[Fischer et al., 2000] Fischer, T., Niere, J., Torunski, L., and Zündorf, A. (2000). Story diagrams: A new graph grammar language based on the unified modelling language and java.

[Floyd, 1967] Floyd, R. W. (1967). Assigning meanings to programs. Mathematical aspects of com-puter science, 19(19-32):1.

[Fowler and Scott, 1999] Fowler, M. and Scott, K. (1999). UML Distilled: A Brief Guide to the Standard Object Modeling Language (2nd Edition). Addison-Wesley Professional.

[FUJABA, 2012] FUJABA (2012). From UML to Java and back again,www.fujaba.de.

[Gamma et al., 1995] Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design Patterns.

Addison-Wesley, Boston, MA.

[Gardner et al., 2003] Gardner, T., Griffin, C., Koehler, J., and Hauser, R. (2003). A review of OMG MOF 2.0 Query/Views/Transformations Submissions and Recommendations towards the final Standard. InMetamodelling for MDA First International Workshop.

[Geiß et al., 2006] Geiß, R., Batz, G. V., Grund, D., Hack, S., and Szalkowski, A. (2006). GrGen: A Fast SPO-Based Graph Rewriting Tool. InICGT, pages 383–397.

[Geiß and Kroll, 2008] Geiß, R. and Kroll, M. (2008). Grgen.net: A fast, expressive, and general purpose graph rewrite tool. In Schürr, A., Nagl, M., and Zündorf, A., editors,Applications of Graph Transformations with Industrial Relevance, volume 5088 of Lecture Notes in Computer Science, pages 568–569. Springer Berlin / Heidelberg.

[Giese and Henkler, 2006] Giese, H. and Henkler, S. (2006). A survey of approaches for the visual model-driven development of next generation software-intensive systems. J. Vis. Lang. Comput., 17(6):528–550.

[Giese et al., 2010] Giese, H., Hildebrandt, S., and Neumann, S. (2010). Model synchronization at work: Keeping sysml and autosar models consistent. In Engels, G., Lewerentz, C., Schäfer, W., Schürr, A., and Westfechtel, B., editors, Graph Transformations and Model-Driven Engineering, volume 5765 ofLecture Notes in Computer Science, pages 555–579. Springer Berlin Heidelberg.

[Guerra and de Lara, 2007] Guerra, E. and de Lara, J. (2007). Event-driven grammars: relating ab-stract and concrete levels of visual languages. Software and Systems Modeling, 6(3):317–347.

[Haan and Koppelaars, 2007] Haan, L. d. and Koppelaars, T. (2007). Applied Mathematics for Database Professionals. Apress, Berkely, CA, USA.

[Harel and Rumpe, 2000] Harel, D. and Rumpe, B. (2000). Modeling Languages: Syntax, Semantics and All That Stuff, Part I: The Basic Stuff. Technical report, Jerusalem, Israel, Israel.

[Heckel, 2006] Heckel, R. (2006). Graph transformation in a nutshell.Electron. Notes Theor. Comput.

Sci., 148(1):187–198.

[Heckel et al., 2002] Heckel, R., Küster, J. M., and Taentzer, G. (2002). Confluence of typed at-tributed graph transformation systems. InICGT ’02: Proceedings of the First International Con-ference on Graph Transformation, pages 161–176, London, UK. Springer-Verlag.

[Huth and Ryan, 2004] Huth, M. and Ryan, M. (2004). Logic in Computer Science: Modelling and Reasoning about Systems. Cambridge University Press, New York, NY, USA.

[Iacob et al., 2008] Iacob, M. E., Steen, M. W. A., and Heerink, L. (2008). Reusable model transfor-mation patterns. In Proceedings of the 3M4EC workshop, held in conjunction with the 12th IEEE International Enterprise Distributed Object Computing Conference (EDOC’08), pages 1–10.

[Jouault et al., 2008] Jouault, F., Allilaire, F., Bézivin, J., and Kurtev, I. (2008). Atl: A model transformation tool. Sci. Comput. Program., 72(1-2):31–39.

[Karsai et al., 2003] Karsai, G., Agrawal, A., Shi, F., and Sprinkle, J. (2003). On the Use of Graph Transformation in the Formal Specification of Model Interpreters. Journal of Universal Computer Science, 9(11):1296–1321.

[Karsai and Narayanan, 2008] Karsai, G. and Narayanan, A. (2008). Towards Verification of Model Transformations Via Goal-Directed Certification. pages 67–83.

[Kastenberg and Rensink, 2006] Kastenberg, H. and Rensink, A. (2006). Model checking dynamic states in groove. In Valmari, A., editor,Model Checking Software, volume 3925 of Lecture Notes in Computer Science, pages 299–305. Springer Berlin Heidelberg.

[Kelly and Tolvanen, 2008] Kelly, S. and Tolvanen, J.-P. (2008). Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Pr.

[Klar et al., 2007] Klar, F., Königs, A., and Schürr, A. (2007). Model transformation in the large.

In Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, ESEC-FSE ’07, pages 285–294, New York, NY, USA. ACM.

[Klein et al., 1999] Klein, T., Nickel, U. A., Niere, J., and Zündorf, A. (1999). From UML to Java And Back Again. Technical Report tr-ri-00-216, University of Paderborn, Paderborn, Germany.

[Kleppe et al., 2003] Kleppe, A. G., Warmer, J., and Bast, W. (2003). MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.

[Kühne, 2006] Kühne, T. (2006). Matters of (meta-)modeling. Software and System Modeling, 5(4):369–385.

[Küster, 2006] Küster, J. M. (2006). Definition and validation of model transformations. Software and Systems Modeling, V5(3):233–259.

[Lambers et al., 2008] Lambers, L., Ehrig, H., and Taentzer, G. (2008). Sufficient criteria for appli-cability and non-appliappli-cability of rule sequences. In 7th International Workshop on Graph Trans-formation and Visual Modeling Techniques (GT-VMT), pages 137–150, Budapest, Hungary.

[Lédeczi et al., 2001] Lédeczi, A., Bakay, A., Maróti, M., Völgyesi, P., Nordstrom, G., Sprinkle, J., and Karsai, G. (2001). Composing Domain-Specific Design Environments.Computer, 34(11):44–51.

[Lengyel, 2006] Lengyel, L. (2006). Online Validation of Visual Model Transformations. PhD the-sis, Budapest University of Technology and Economics, Department of Automation and Applied Informatics.

Bibliography

[Lengyel et al., 2006] Lengyel, L., Levendovszky, T., Mezei, G., and Charaf, H. (2006). Model trans-formation with a visual control flow language.International Journal Of Computer Science, 1:45–53.

[Levendovszky et al., 2006] Levendovszky, T., Prange, U., and Ehrig, H. (2006). A Termination Cri-teria for DPO Transformations with Injective Matches. InGraph Transformation for Verification and Concurrency, pages 102–116, Bonn, Germany.

[Lucio et al., 2010] Lucio, L., Barroca, B., and Amaral, V. (2010). A technique for automatic valida-tion of model transformavalida-tions. In MoDELS (1), pages 136–150.

[Marriott and Stuckey, 1998] Marriott, K. and Stuckey, P. J. (1998).Introduction to Constraint Logic Programming. MIT Press, Cambridge, MA, USA.

[Martini, 1996] Martini, A. (1996). Elements of basic category theory. Technical report.

[MDA, 2003] MDA (2003). Object Management Group Model-Driven Architecture Specification.

http://www.omg.org/docs/omg/03-06-01.pdf.

[Mens et al., 2005] Mens, T., Czarnecki, K., and Gorp, P. V. (2005). A taxonomy of model transfor-mation. InProc. Dagstuhl Seminar on "Language Engineering for Model-Driven Software Develop-ment". Internationales Begegnungs- und Forschungszentrum (IBFI), Schloss Dagstuhl. Electronic.

[Mens et al., 2006] Mens, T., Van Gorp, P., Varró, D., and Karsai, G. (2006). Applying a model transformation taxonomy to graph transformation technology. Electron. Notes Theor. Comput.

Sci., 152:143–159.

[Mészáros, 2011] Mészáros, T. (2011).Supporting Model Animation Methods With Graph Transforma-tion. PhD thesis, Budapest University of Technology and Informatics, Department of Automation and Applied Informatics.

[Microsoft, 2010] Microsoft (2010). Microsoft Visualization and Modeling SDK (a.k.a. DSL Tools).

[Microsoft, 2012] Microsoft (2012). Code generation and t4 text templates.

[Mosterman and Vangheluwe, 2004] Mosterman, P. J. and Vangheluwe, H. (2004). An introduction to computer automated multi-paradigm modeling.

[Narayanan and Karsai, 2008] Narayanan, A. and Karsai, G. (2008). Towards verifying model trans-formations. Electron. Notes Theor. Comput. Sci., 211:191–200.

[Nordstrom, 1999] Nordstrom, G. G. (1999).Metamodeling - Rapid Design and Evolution of Domain-Specific Modeling Environments. PhD thesis, Nashville, United States.

[Object Management Group, 2006] Object Management Group (2006). Object Constraint Language (OCL) 2.0.

[Object Management Group (OMG), 2007] Object Management Group (OMG) (2007).OMG Unified Modeling Language (OMG UML) Superstructure Specification, V2.1.2.

[Object Management Group (OMG), 2008] Object Management Group (OMG) (2008). MOF QVT Final Adopted Specification. http://www.omg.org/docs/formal/08-04-03.pdf.

[Oracle, 2010] Oracle (2010). Java Metadata Interface (JMI).

[Pennemann, 2009] Pennemann, K.-H. (2009). Development of Correct Graph Transformation Sys-tems. PhD thesis, Department of Computing Science, University of Oldenburg, Oldenburg.

[Pierce, 1991] Pierce, B. C. (1991). Basic Category Theory for Computer Scientists. MIT Press.

[Plump, 1998] Plump, D. (1998). Termination of graph rewriting is undecidable. Fundam. Inf., 33(2):201–209.

[Post, 1946] Post, E. L. (1946). A variant of a recursively unsolvable problem. Journal of Symbolic Logic, 12(2):255–56.

[Rensink, 2003] Rensink, A. (2003). The groove simulator: A tool for state space generation. In Ap-plications of Graph Transformations with Industrial Relevance (AGTIVE), volume 3062 of Lecture Notes in Computer Science, pages 479–485. Springer.

[Rensink et al., 2004] Rensink, A., Schmidt, A., and Varró, D. (2004). Model checking graph trans-formations: A comparison of two approaches. In Ehrig, H., Engels, G., Parise-Presicce, F., and Rozenberg, G., editors,International Conference on Graph Transformations (ICGT), volume 3256 ofLecture Notes in Computer Science, pages 226–241, Berlin. Springer Verlag.

[Rensink and Taentzer, 2008] Rensink, A. and Taentzer, G. (2008). Applications of graph transfor-mations with industrial relevance. chapter AGTIVE 2007 Graph Transformation Tool Contest, pages 487–492. Springer-Verlag, Berlin, Heidelberg.

[Rozenberg, 1997a] Rozenberg, G. (1997a).Handbook on Graph Grammars and Computing by Graph Transformation: Foundations, volume 1. World Scientific, Singapore.

[Rozenberg, 1997b] Rozenberg, G. (1997b). Handbook on graph grammars and computing by graph transformation, foundations, vol.1. World Scientific,.

[Sabetzadeh and Easterbrook, 2003] Sabetzadeh, M. and Easterbrook, S. (2003). Analysis of incon-sistency in graph-based viewpoints: A category-theoretic approach. InProceedings of the 18th IEEE International Conference on Automated Software Engineering, pages 12–21.

[Schätz, 2009] Schätz, B. (2009). Formalization and Rule-Based Transformation of EMF Ecore-Based Models. Software Language Engineering: First International Conference, SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers, pages 227–244.

[Schätz, 2010] Schätz, B. (2010). Verification of model transformations. In Pre-Proc. of GT-VMT, pages 129–142, Paphos, Cyprus. ECEASST.

[Segura ML, 2001] Segura ML (2001). Double Pushout Transformation of Algebras. PhD thesis.

[Sendall and Kozaczynski, 2003] Sendall, S. and Kozaczynski, W. (2003). Model transformation: The heart and soul of model-driven software development. IEEE Softw., 20(5):42–45.

[Sipser, 2005] Sipser, M. (2005). Introduction to the Theory of Computation. Course Technology, 2 edition.

[Special Comittee of RTCA, 2011] Special Comittee of RTCA (2011). DO-178C, software considera-tions in airborne systems and equipment certification.

[Stahl et al., 2006] Stahl, T., Voelter, M., and Czarnecki, K. (2006). Model-Driven Software Devel-opment: Technology, Engineering, Management. John Wiley & Sons.

[Syriani and Vangheluwe, 2008] Syriani, E. and Vangheluwe, H. (2008). Applications of graph trans-formations with industrial relevance. chapter Programmed Graph Rewriting with DEVS, pages 136–151. Springer-Verlag, Berlin, Heidelberg.

Bibliography

[Syriani and Vangheluwe, 2009] Syriani, E. and Vangheluwe, H. (2009). Matters of model transfor-mation. Technical Report SOCS-TR-2009.2.

[Sztipanovits and Karsai, 1997] Sztipanovits, J. and Karsai, G. (1997). Model-integrated computing.

Computer, 30(4):110 –111.

[Taentzer, 2003] Taentzer, G. (2003). AGG: A Graph Transformation Environment for System Mod-eling and Validation. In Proc. Tool Exihibition at Formal Methods 2003.

[Taentzer, 2004] Taentzer, G. (2004). AGG: A Graph Transformation Environment for Modeling and Validation of Software. In Application of Graph Transformations with Industrial Relevance (AGTIVE 2004), volume 3062 ofLNCS 3062, pages 446–453. Springer.

[Taentzer et al., 2005] Taentzer, G., Ehrig, K., Guerra, E., Lara, J. D., Levendovszky, T., Prange, U., Varro, D., and et al. (2005). Model transformations by graph transformations: A comparative study. InModel Transformations In Practice Workshop at MODELS 2005, Montego, page 5.

[Tolvanen, 2006] Tolvanen, J.-P. (2006). MetaEdit+: integrated modeling and metamodeling envi-ronment for domain-specific languages. In OOPSLA ’06: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, pages 690–691, New York, NY, USA. ACM.

[Tolvanen and Rossi, 2003] Tolvanen, J.-P. and Rossi, M. (2003). Metaedit+: defining and using domain-specific modeling languages and code generators. In Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, OOP-SLA ’03, pages 92–93, New York, NY, USA. ACM.

[Triskell team, 2012] Triskell team (2012). Kermeta workbench.

[Tsang, 1993] Tsang, E. (1993). Foundations of constraint satisfaction.

[Varró, 2002] Varró, D. (2002). Towards formal verification of model transformations. InPhD Student Workshop of Formal Methods for Object Oriented Distributed Systems 2002, Enschede, Hollandia.

[Varró, 2003] Varró, D. (2003). Towards automated formal verification of visual modeling languages by model checking.

[Varró, 2004] Varró, D. (2004). Automated Model Transformations for the Analysis of IT Systems.

PhD thesis, Budapest University of Technology and Economics, Department of Measurement and Information Systems.

[Varró and Balogh, 2007] Varró, D. and Balogh, A. (2007). The model transformation language of the VIATRA2 framework. Sci. Comput. Program., 68(3):187–207.

[Varró et al., 2002] Varró, D., Varró, G., and Pataricza, A. (2002). Designing the automatic trans-formation of visual languages. Sci. Comput. Program., 44(2):205–227.

[VIATRA2, 2012] VIATRA2 (2012). VIsual Automated model TRAnsformations. http://

viatra.inf.mit.bme.hu/.

[Vizhányó et al., 2004] Vizhányó, A., Agrawal, A., and Shi, F. (2004). Towards generation of efficient transformations. In3rd Int. Conf. on Generative Programming and Component Engineering (GPCE 2004), volume 3286 ofLNCS, pages 298–316.

[VMTS, 2010] VMTS (2010). Visual Modeling and Transformation System. http://vmts.aut.

bme.hu.

[Warmer and Kleppe, 2003] Warmer, J. and Kleppe, A. (2003). The Object Constraint Language:

Getting Your Models Ready for MDA. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2 edition.

[Wassyng and Lawford, 2006] Wassyng, A. and Lawford, M. (2006). Software tools for safety-critical software development. Int. J. Softw. Tools Technol. Transf., 8(4):337–354.

[Wassyng et al., 2010] Wassyng, A., Maibaum, T., and Lawford, M. (2010). On software certification:

we need product-focused approaches. In Proceedings of the 15th Monterey conference on Founda-tions of Computer Software: future Trends and Techniques for Development, Monterey’08, pages 250–274, Berlin, Heidelberg. Springer-Verlag.

Appendices

Detailed Examples

Formal Specification of Database metamodel

In the following, we provide the specification of the Database domain presented inSection 2.4:

NDB={Database,Table,Column} (A.1a)

EDB={TableContainment,TableColumnContainment,ForeignKeyReference,

FunctionalDependencyRelation} (A.1b)

sDB:EDBNDB

sDB(TableContainment) =Database sDB(TableColumnContainment) =Table sDB(ForeignKeyReference) =Column

sDB(FunctionalDependencyRelation) =Column (A.1c)

tDB:EDBNDB

tDB(TableContainment) =Table

tDB(TableColumnContainment) =Column tDB(ForeignKeyReference) =Column

tDB(FunctionalDependencyRelation) =Column (A.1d)

NDBI ={Database,Table,Column} (A.1e)

EIDB={} (A.1f)

sIDB:EDBNDB tIDB:EDBNDB

IDB=(NDBI , EDBI , sIDB, tIDB) (A.1g)

TDB=(NDB, EDB, sDB, tDB, IDB) (A.1h)

ADB={DBName,CollationName,Refactor,ProcessingState,TName,CName,Type,Length, Constraints,IsIndexed,IsNullAllowed,Comment,IsPrimaryKey,IsForeignKey,

IsCascadeDeletionSetForForeignKey} (A.1i)

attrsDB:L(TDB)2A

attrsDB(Database) ={DBName,CollationName,Refactor,ProcessingState} attrsDB(Table) ={TName,Refactor,ProcessingState}

attrsDB(Column) ={CName,Type,Length,Constraints,IsIndexed,IsNullAllowed, Comment,IsPrimaryKey,Refactor,ProcessingState,IsForeignKey,

IsCascadeDeletionSetForForeignKey} (A.1j)

attrsDB(TableContainment) ={}

attrsDB(TableColumnContainment) ={}

attrsDB(ForeignKeyReference) ={}

attrsDB(FunctionalDependencyRelation) ={} (A.1k)

MDB=(TDB, ADB, attrsDB) (A.1l)

A. Detailed Examples

Formal Specification of the Control Flow Graph of the Model Transformation DB2NF Equation A.2presents the formal representation of the control flow graph of the model transformation DB2NF.

CF2N F=(start, RuleContainers2N F, EndN odes2N F, Links2N F, source2N F,

target2N F, isExhaustive2N F, ruleOf2N F, Rules2N F, action2N F) (A.2a) RuleContainers2N F={RuleContainer1,RuleContainer2} (A.2b)

EndN odes2N F={end} (A.2c)

Links2N F={link0,link1,link2} (A.2d)

source2N F:Links2N F→ {start} ∪RuleContainers2N F source2N F(link0) =start

source2N F(link1) =RuleContainer1

source2N F(link2) =RuleContainer2 (A.2e)

target2N F:Links2N FRuleContainers2N FEndN odes2N F

target2N F(link0) =RuleContainer1

target2N F(link1) =RuleContainer2

target2N F(link2) =end (A.2f)

isExhaustive2N F:RuleContainers2N F → {true,false}

isExhaustive2N F(RuleContainer1) =true

isExhaustive2N F(RuleContainer2) =true (A.2g)

Rules2N F={RuleI1, RuleI2} (A.2h)

ruleOf2N F=RuleContainers2N F Rules2N F ruleOf2N F(RuleContainer1) =RuleI1

ruleOf2N F(RuleContainer2) =RuleI2 (A.2i)

action2N F:Links2N F→ {success,failure,always}

action2N F(link0) =always action2N F(link1) =always

action2N F(link2) =always (A.2j)

MTV Code Examples

In the following, we present code segments of the MTV program that specifies the artifacts of the model transformation DB2NF.

Listing A.1: MTV code for rule ExtractPrimaryKey of model transformation 2NF

1 graph 2NF_ExtractPrimaryKey_LHS_GRAPH [DatabaseRepository] {

2 node t [Table]

3 node determinant [Column]

4 node dependent [Column]

5 edge MatchedRelation0 [TableColumnContainment] from t to determinant

6 edge MatchedRelation1 [TableColumnContainment] from t to dependent

7 edge MatchedRelation2 [FunctionalDependencyRelation] from determinant to dependent

8 }

9 constraints 2NF_ExtractPrimaryKey_LHS_CONSTRAINTS on graphs 2NF_ExtractPrimaryKey_LHS_GRAPH {

10 constraint [determinant.ProcessingState != "processed"]

11 }

12 pattern 2NF_ExtractPrimaryKey_LHS [DatabaseRepository] {

13 graph 2NF_ExtractPrimaryKey_LHS_GRAPH

14 constraints 2NF_ExtractPrimaryKey_LHS_CONSTRAINTS

15 }

16 graph 2NF_ExtractPrimaryKey_CONTEXT [DatabaseRepository] {

19 node dependent [Column]

20 edge MatchedRelation0 [TableColumnContainment] from t to determinant

21 edge MatchedRelation1 [TableColumnContainment] from t to dependent

22 edge MatchedRelation2 [FunctionalDependencyRelation] from determinant to dependent

23 }

24 graph 2NF_ExtractPrimaryKey_RHS_GRAPH [DatabaseRepository] {

25 node t [Table]

26 node determinant [Column]

27 node dependent [Column]

28 node tnew [Table]

29 node key [Column]

30 edge MatchedRelation0 [TableColumnContainment] from t to determinant

31 edge MatchedRelation1 [TableColumnContainment] from t to dependent

32 edge MatchedRelation2 [FunctionalDependencyRelation] from determinant to dependent

33 edge MatchedRelation3 [ForeignKeyReference] from determinant to key

34 edge MatchedRelation4 [TableColumnContainment] from tnew to key

35 }

36 constraints 2NF_ExtractPrimaryKey_RHS_CONSTRAINTS on graphs 2NF_ExtractPrimaryKey_RHS_GRAPH {

37 constraint [determinant.ProcessingState == "processed"]

38 constraint [determinant.IsForeignKey == "true"]

39 constraint [key.IsForeignKey == "false"]

40 constraint [key.IsPrimaryKey == "true"]

41 }

42 pattern 2NF_ExtractPrimaryKey_RHS [DatabaseRepository] {

43 graph 2NF_ExtractPrimaryKey_RHS_GRAPH

44 constraints 2NF_ExtractPrimaryKey_RHS_CONSTRAINTS

45 }

46 pmorphism 2NF_ExtractPrimaryKey_LEFT from 2NF_ExtractPrimaryKey_CONTEXT to 2NF_ExtractPrimaryKey_LHS {

47 t -> t

48 determinant -> determinant

49 dependent -> dependent

50 MatchedRelation0 -> MatchedRelation0

51 MatchedRelation1 -> MatchedRelation1

52 MatchedRelation2 -> MatchedRelation2

53 }

54 pmorphism 2NF_ExtractPrimaryKey_RIGHT from 2NF_ExtractPrimaryKey_CONTEXT to 2NF_ExtractPrimaryKey_RHS {

55 t -> t

56 determinant -> determinant

57 dependent -> dependent

58 MatchedRelation0 -> MatchedRelation0

59 MatchedRelation1 -> MatchedRelation1

60 MatchedRelation2 -> MatchedRelation2

61 }

62 constraints 2NF_ExtractPrimaryKey_COMMONCONSTRAINTS on graphs

2NF_ExtractPrimaryKey_LHS_GRAPH, 2NF_ExtractPrimaryKey_RHS_GRAPH {

63 constraint [tnew.TName == determinant.Refactor]

64 constraint [key.CName == determinant.CName]

65 constraint [key.Type == determinant.Type]

66 constraint [key.Length == determinant.Length]

67 constraint [key.Comment == determinant.Comment]

68 }

69 rule 2NF_ExtractPrimaryKey [DatabaseRepository] {

70 lhs 2NF_ExtractPrimaryKey_LHS

71 left 2NF_ExtractPrimaryKey_LEFT

72 context 2NF_ExtractPrimaryKey_CONTEXT

73 right 2NF_ExtractPrimaryKey_RIGHT