Ensuring Structural Constraints in Graph-Based Models with Type Inheritance

  • Gabriele Taentzer
  • Arend Rensink
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3442)

Abstract

Graphs are a common means to represent structures in models and meta-models of software systems. In this context, the description of model domains by classifying the domain entities and their relations using class diagrams or type graphs has emerged as a very valuable principle. The constraints that can be imposed by pure typing are, however, relatively weak; it is therefore common practice to enrich type information with structural properties (such as local invariants or multiplicity conditions) or inheritance.

In this paper, we show how to formulate structural properties using graph constraints in type graphs with inheritance, and we show how to translate constrained type graphs with inheritance to equivalent constrained simple type graphs. From existing theory it then follows that graph constraints can be translated into pre-conditions for productions of a typed graph transformation system which ensures those graph constraints. This result can be regarded as a further important step of integrating graph transformation with object-orientation concepts.

References

  1. 1.
    Bardohl, R., Ehrig, H., de Lara, J., Runge, O., Taentzer, G., Weinhold, I.: Node Type Inheritance Concepts for Typed Graph Transformation. Technical Report 2003–19, Technical University Berlin, Dept. of Computer Science (November 2003)Google Scholar
  2. 2.
    Bardohl, R., Ehrig, H., de Lara, J., Taentzer, G.: Integrating meta-modelling aspects with graph transformation for efficient visual language definition and model manipulation. In: Wermelinger, M., Margaria-Steffen, T. (eds.) FASE 2004. LNCS, vol. 2984, pp. 214–228. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    CalŒ, A., Calvanese, D., De Giacomo, G., Lenzerini, M.: A formal framework for reasoning on UML class diagrams. In: Hacid, M.-S., Raś, Z.W., Zighed, D.A., Kodratoff, Y. (eds.) ISMIS 2002. LNCS (LNAI), vol. 2366, pp. 503–513. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  4. 4.
    Corradini, A., Dotti, F.L., Foss, L., Ribeiro, L.: Translating Java into graph transformation systems. In: Ehrig, H., et al. (eds.) [7], pp. 383–389Google Scholar
  5. 5.
    Corradini, A., Montanari, U., Rossi, F.: Graph Processes. Special Issue of Fundamenta Informaticae 26(3,4), 241–266 (1996)MATHMathSciNetGoogle Scholar
  6. 6.
    Ehrig, H., Ehrig, K., Habel, A., Pennemann, K.-H.: Constraints and application conditions: From graphs to high-level structures. In: Ehrig, H., et al. (eds.) [7]Google Scholar
  7. 7.
    Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.): ICGT 2004. LNCS, vol. 3256. Springer, Heidelberg (2004)Google Scholar
  8. 8.
    Habel, A.: Private communication (2004)Google Scholar
  9. 9.
    Heckel, R., Wagner, A.: Ensuring Consistency of Conditional Graph Grammars – A constructive Approach. In: Proc. of SEGRAGRA 1995 Graph Rewriting and Computation, Electronic Notes of TCS 2 (1995), http://www.elsevier.nl/locate/entcs/volume2.html
  10. 10.
    Mens, T., Demeyer, S., Janssens, D.: Formalising behaviour preserving program transformations. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 286–301. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. 11.
    OMG.: MDA, MOF, UML and OCL specifications. OMG (2004), at the OMG web page: http://www.omg.org/
  12. 12.
    pUML. The precise UML group (2004), http://www.puml.org/
  13. 13.
    Rensink, A.: Representing first-order logic using graphs. In: Ehrig, H., et al. (eds.) [7], pp. 319–335Google Scholar
  14. 14.
    Varró, D., Pataricza, A.: VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML. Journal of Software and Systems Modelling 1, 1–24 (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Gabriele Taentzer
    • 1
  • Arend Rensink
    • 2
  1. 1.Computer Science DepartmentTechnical University of BerlinBerlinGermany
  2. 2.Computer Science DepartmentUniversity of TwenteEnschedeThe Netherlands

Personalised recommendations