Skip to main content
Log in

Generating instance models from meta models

  • Theme Section
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. IBM Rational Software Architect V7.0. Available at http://www.ibm.com/software/awdtools/architect/swarchitect/index.html

  2. OMONDO EclipseUML 3.2.0 Studio. Available at http://www.omondo.com

  3. The Alloy Analyzer 4.0 http://alloy.mit.edu/

  4. XSL transformations (XSLT), version 1.0. Available at http://www.w3.org/TR/xslt

  5. GXL http://www.gupro.de/GXL (2005)

  6. XMI–XML metadata interchange, version 2.0 (2005)

  7. AGG Homepage. http://tfs.cs.tu-berlin.de/agg

  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)

  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)

  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)

  11. Boger, M., Sturm, T., Schildhauer, E., Graham, E.: Poseidon for UML Users Guide. Gentleware AG, (2003) Available under http://www.gentleware.com

  12. Boujarwah A.S., Saleh K.: Compiler test case generation methods: a survey and assessment. Inf. Softw. Technol. 39(9), 617–625 (1997)

    Article  Google Scholar 

  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)

  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)

  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. 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)

  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, Heidelberg

  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. 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)

  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)

  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. 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)

    Article  Google Scholar 

  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)

  24. Jackson D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)

    Article  Google Scholar 

  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)

  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. 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)

  28. Küster J.M.: Definition and validation of model transformations. Softw. Syst. Model. (SoSyM) 5(3), 233–259 (2006)

    Article  Google Scholar 

  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)

  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)

  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)

  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)

  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)

    Article  Google Scholar 

  34. Object Management Group. MDA Guide Version 1.0.1 (2003)

  35. Object Management Group (OMG). UML 2.0 Superstructure Final Adopted Specification. OMG document pts/03-08-02 (2003)

  36. Object Management Group (OMG). OCL 2.0 specification. OMG document ptc/2005-06-06 (2005)

  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)

  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)

  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)

  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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Karsten Ehrig.

Additional information

Communicated by Prof. Thomas Kühne.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ehrig, K., Küster, J.M. & Taentzer, G. Generating instance models from meta models. Softw Syst Model 8, 479–500 (2009). https://doi.org/10.1007/s10270-008-0095-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-008-0095-y

Keywords

Navigation