Software & Systems Modeling

, Volume 8, Issue 4, pp 479–500 | Cite as

Generating instance models from meta models

  • Karsten EhrigEmail author
  • Jochen Malte Küster
  • Gabriele Taentzer
Theme Section


Meta modeling is a wide-spread technique to define visual languages, with the UML being the most prominent one. Despite several advantages of meta modeling such as ease of use, the meta modeling approach has one disadvantage: it is not constructive, i.e., it does not offer a direct means of generating instances of the language. This disadvantage poses a severe limitation for certain applications. For example, when developing model transformations, it is desirable to have enough valid instance models available for large-scale testing. Producing such a large set by hand is tedious. In the related problem of compiler testing, a string grammar together with a simple generation algorithm is typically used to produce words of the language automatically. In this paper, we introduce instance-generating graph grammars for creating instances of meta models, thereby overcoming the main deficit of the meta modeling approach for defining languages.


Meta model UML Graph grammar Instance generation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    IBM Rational Software Architect V7.0. Available at
  2. 2.
    OMONDO EclipseUML 3.2.0 Studio. Available at
  3. 3.
    The Alloy Analyzer 4.0
  4. 4.
    XSL transformations (XSLT), version 1.0. Available at
  5. 5.
  6. 6.
    XMI–XML metadata interchange, version 2.0 (2005)Google Scholar
  7. 7.
  8. 8.
    Alanen, M., Porres, I.: A relation between context-free grammars and meta object facility metamodels. Technical report TUCS no. 606, TUCS Turku Center for Computer Science (March 2003)Google Scholar
  9. 9.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: a challenging model transformation. In: Engels, G. et al. (ed.) Proceedings ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems, vol. 4735 of Lecture Notes in Computer Science, pp. 436–450. Springer, Heidelberg (2007)Google Scholar
  10. 10.
    Bardohl, R., Ehrig, H., de Lara , J., Taentzer, G.: Integrating meta modelling with graph transformation for efficient visual language definition and model manipulation. In: Wermelinger, M., Margaria-Steffens, T. (eds.) Proceedings of Fundamental Aspects of Software Engineering, vol. 2984, pp. 214–228. Springer, Heidelberg, LNCS (2004)Google Scholar
  11. 11.
    Boger, M., Sturm, T., Schildhauer, E., Graham, E.: Poseidon for UML Users Guide. Gentleware AG, (2003) Available under
  12. 12.
    Boujarwah A.S., Saleh K.: Compiler test case generation methods: a survey and assessment. Inf. Softw. Technol. 39(9), 617–625 (1997)CrossRefGoogle Scholar
  13. 13.
    Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.) Model-Based testing of reactive systems, advanced lectures (The volume is the outcome of a research seminar that was held in Schloss Dagstuhl in January 2004), vol. 3472 of Lecture Notes in Computer Science. Springer, Heidelberg (2005)Google Scholar
  14. 14.
    Corradini, A., Montanari, U., Rossi, F., Ehrig, H., Heckel, R., Löwe, M.: Algebraic approaches to graph transformation. Part I: Basic concepts and double pushout approach. In: Rozenberg, G. (ed.) Handbook of graph grammars and computing by graph transformation, vol. 1: foundations, pp. 163–246. World Scientific, Singapore (1997)Google Scholar
  15. 15.
    Courcelle B.: The expression of graph properties and graph transformations in monadic second-order logic. In: Rozenberg, G.(eds) Handbook of Graph Grammars and Computing by Graph Transformations, vol. 1: Foundations, pp. 313–400. World Scientific, New-Jersey London (1997)Google Scholar
  16. 16.
    Ehrig, H., Ehrig, K., de Lara, J., Taentzer, G., Varró, D., Varró-Gyapay, S.: Termination criteria for model transformation. In: Wermelinger, M., Margaria-Steffen, T. (eds.) Proceedings of Fundamental Approaches to Software Engineering (FASE), vol. 2984 of Lecture Notes in Computer Science, pp. 214–228. Springer, Heidelberg (2005)Google Scholar
  17. 17.
    Ehrig, H., Ehrig K., Habel, A., Pennemann, K.-H.: Constraints and application conditions: From graphs to high-level structures. In: Parisi-Presicce, F., Bottoni, P., Engels, G. (eds.) Proceedings of 2nd International Conference on Graph Transformation (ICGT’04), LNCS 3256, pp. 287–303. Rome, Italy, (2004) Springer, HeidelbergGoogle Scholar
  18. 18.
    Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. EATCS Monographs in Theoretical Computer Science. Springer, Heidelberg (2006)Google Scholar
  19. 19.
    Ehrig, K., Küster, J., Taentzer, G., Winkelmann, J.: Automatically Generating Instances of Meta Models. Technical Report 2005–09, Technical University of Berlin, Department of Computer Science (2005)Google Scholar
  20. 20.
    Ehrig, K., Küster, J.M., Taentzer, G., Winkelmann, J.: Generating instance models from meta models. In: Gorrieri, R., Wehrheim, H. (eds.) Formal Methods for Open Object-Based Distributed Systems, 8th IFIP WG 6.1 International Conference, FMOODS 2006, Bologna, Italy, 14–16 June 2006, Proceedings, vol. 4037 of LNCS, pp. 156–170. Springer, Heidelberg (2006)Google Scholar
  21. 21.
    Fu, K.S., Booth, T.L.: Grammatical Inference: Introduction and Survey. IEEE Trans Syst Man Cybern SMC-5:95–111, 409–423 (1975)Google Scholar
  22. 22.
    Gogolla M., Bohling J., Richters M.: Validating UML and OCL models in USE by automatic snapshot generation. Softw Syst Model 4(4), 386–398 (2005)CrossRefGoogle Scholar
  23. 23.
    Hartman, A., Nagin, K.: The AGEDIS tools for model based testing. In: Nunes, N.J., Selic, B., da Silva, A., Álvarez, J. (eds.) UML satellite activities, revised selected papers. vol. 3297 of Lecture Notes in Computer Science, pp. 277–280. Springer, Heidelberg (2005)Google Scholar
  24. 24.
    Jackson D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)CrossRefGoogle Scholar
  25. 25.
    Jeltsch, E., Kreowski, H.-J.: Grammatical inference based on hyperedge replacement. In: Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) Proceedings of 4th International Workshop on Graph Grammars and their Application to Computer Science, vol. 532 of Lecture Notes in Computer Science, pp. 461–474. Springer, Heidelberg (1991)Google Scholar
  26. 26.
    Karsai G., Agrawal A., Shi F., Sprinkle J.: On the use of graph transformation in the formal specification of model interpreters. J. Univers. Comput. Sci. 9(11), 1296–1321 (2003)Google Scholar
  27. 27.
    Kirshin, A., Dotan, D., Hartman, A.: A UML simulator based on a generic model execution engine. In: Kühne, T. (ed.) MoDELS Workshops, vol. 4364 of Lecture Notes in Computer Science, pp. 324–326. Springer, Heidelberg (2006)Google Scholar
  28. 28.
    Küster J.M.: Definition and validation of model transformations. Softw. Syst. Model. (SoSyM) 5(3), 233–259 (2006)CrossRefGoogle Scholar
  29. 29.
    Küster, J.M., Abd-El-Razik, M.: Validation of model transformations—first experiences using a white box approach. In: Kühne, T. (ed.) MoDELS Workshops, vol. 4364 of Lecture Notes in Computer Science, pp. 193–204. Springer, Heidelberg (2007)Google Scholar
  30. 30.
    Maraee, A., Balaban, M.: Efficient reasoning about finite satisfiability of UML class diagrams with constrained generalization sets. In: Akehurst, D.H., Vogel, R., Paige, R.F. (eds.) Model Driven Architecture—Foundations and Applications, 3rd European Conference, ECMDA-FA 2007, Haifa, Israel, 11–15 June 2007, Proceedings, vol. 4530 of Lecture Notes in Computer Science, pp. 17–31. Springer, Heidelberg (2007)Google Scholar
  31. 31.
    Mens, T.: On the use of graph transformations for model refactoring. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) Generative and Transformational Techniques in Software Engineering, vol. 4143 of Lecture Notes in Computer Science, pp. 219–257. Springer, Heidelberg (2006)Google Scholar
  32. 32.
    Mottu, J.-M., Baudry, B., Le Traon, Y.: Mutation analysis testing for model transformation. In: Rensink, A., Warmer, J. (eds.) Model Driven Architecture—Foundations and Applications, Second European Conference, ECMDA-FA 2006, Bilbao, Spain, 10-13 July 2006. Proceedings, vol. 4066 of LNCS, pp. 376–390. Springer, Heidelberg (2006)Google Scholar
  33. 33.
    Nebut C., Fleurey F., Le Traon Y., Jézéquel J.-M.: Automatic test generation: a use case driven approach. IEEE Trans. Softw. Eng. 32(3), 140–155 (2006)CrossRefGoogle Scholar
  34. 34.
    Object Management Group. MDA Guide Version 1.0.1 (2003)Google Scholar
  35. 35.
    Object Management Group (OMG). UML 2.0 Superstructure Final Adopted Specification. OMG document pts/03-08-02 (2003)Google Scholar
  36. 36.
    Object Management Group (OMG). OCL 2.0 specification. OMG document ptc/2005-06-06 (2005)Google Scholar
  37. 37.
    Rensink, A., Taentzer, G.: Ensuring structural constraints in graph-based models with type inheritance. In: Proceedings of Fundamental Approaches to Software Engineering (FASE), pp. 64–79. LNCS 3442, Springer, Heidelberg (2005)Google Scholar
  38. 38.
    Taentzer, G.: AGG: A graph transformation environment for modeling and validation of software. In: Pfaltz, J., Nagl, M., Boehlen, B. (eds.) Application of Graph Transformations with Industrial Relevance (AGTIVE’03), pp. 446–456. LNCS 3062, Springer, Heidelberg (2004)Google Scholar
  39. 39.
    Varró, D., Varró-Gyapay, S., Ehrig, H., Prange, U., Taentzer, G.: Termination analysis of model transformations by petri nets. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) Graph Transformations, 3rd International Conference, vol. 4178 of LNCS, pp. 260–274. Springer, Heidelberg (2006)Google Scholar
  40. 40.
    Winkelmann, J., Taentzer, G., Ehrig, K., Küster, J.M.: Translation of restricted OCL constraints into graph constraints for generating meta model instances by graph grammars. In: Proceedings of the 5th International Workshop on Graph Transformations and Visual Modeling Techniques (GT-VMT’06), pp. 153–164 (2006)Google Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  • Karsten Ehrig
    • 1
    Email author
  • Jochen Malte Küster
    • 2
  • Gabriele Taentzer
    • 3
  1. 1.Department of Computer ScienceUniversity of LeicesterLeicesterUK
  2. 2.IBM Zurich Research LaboratoryRüschlikonSwitzerland
  3. 3.Department of Computer SciencePhilipps-UniversityMarburgGermany

Personalised recommendations