Flexible Interconnection of Graph Transformation Modules

  • Gregor Engels
  • Reiko Heckel
  • Alexey Cherchago

Abstract

Modularization is a well-known concept to structure software systems as well as their specifications. Modules are equipped with export and import interfaces and thus can be connected with other modules requesting or providing certain features.

In this paper, we study modules the interfaces of which consist of behavioral specifications given by typed graph transformation systems. We introduce a framework for classifying and systematically defining relations between typed graph transformation systems. The framework comprises a number of standard ingredients, like homomorphisms between type graphs and mappings between sets of graph transformation rules.

The framework is applied to develop a novel concept of substitution morphism by separating preconditions and effects in the specification of rules. This substitution morphism is suited to define the semantic relation between export and import interfaces of requesting and providing modules.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Cherchago, A., Heckel, R.: Specification matching of web services using conditional graph transformation rules. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 304–318. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Corradini, A., Ehrig, H., Löwe, M., Montanari, U., Padberg, J.: The category of typed graph grammars and their adjunction with categories of derivations. In: Cuny, J., Engels, G., Ehrig, H., Rozenberg, G. (eds.) Graph Grammars 1994. LNCS, vol. 1073, pp. 56–74. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  3. 3.
    Corradini, A., Montanari, U., Rossi, F.: Graph processes. Fundamenta Informaticae 26(3,4), 241–266 (1996)Google Scholar
  4. 4.
    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–245. World Scientific, Singapore (1997), Preprint available as Tech. Rep. 96/17, Univ. of Pisa, http://www.di.unipi.it/TR/TRengl.html
  5. 5.
    Ehrig, H., Engels, G.: Pragmatic and semantic aspects of a module concept for graph transformation systems. In: Cuny, J., Engels, G., Ehrig, H., Rozenberg, G. (eds.) Graph Grammars 1994. LNCS, vol. 1073. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  6. 6.
    Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.): Handbook of Graph Grammars and Computing by Graph Transformation, vol. 2: Applications, Languages, and Tools. World Scientific, Singapore (1999)Google Scholar
  7. 7.
    Ehrig, H., Mahr, B.: Fundamentals of algebraic specification 2: module specifications and constraints. Springer, Heidelberg (1990)MATHGoogle Scholar
  8. 8.
    Ehrig, H., Pfender, M., Schneider, H.J.: Graph grammars: an algebraic approach. In: 14th Annual IEEE Symposium on Switching and Automata Theory, pp. 167–180. IEEE, Los Alamitos (1973)CrossRefGoogle Scholar
  9. 9.
    Große–Rhode, M., Parisi Presicce, F., Simeoni, M.: Concrete spatial refinement construction for graph transformation systems. Technical Report SI 97/10, Universit‘a di Roma La Sapienza, Dip. Scienze dell’Informazione (1997)Google Scholar
  10. 10.
    Große-Rhode, M., Simeoni, M., Parisi Presicce, F.: Refinements and modules for typed graph transformation systems. In: Fiadeiro, J.L. (ed.) WADT 1998. LNCS, vol. 1589, pp. 138–151. Springer, Heidelberg (1999)Google Scholar
  11. 11.
    Große-Rhode, M., Parisi-Presicce, F., Simeoni, M.: Spatial and temporal refinement of typed graph transformation systems. In: Brim, L., Gruska, J., Zlatuška, J. (eds.) MFCS 1998. LNCS, vol. 1450, p. 553. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  12. 12.
    Große-Rhode, M., Parisi Presicce, F., Simeoni, M.: Refinements and modules for typed graph transformation systems. In: Fiadeiro, J.L. (ed.) WADT 1998. LNCS, vol. 1589, pp. 138–151. Springer, Heidelberg (1999)Google Scholar
  13. 13.
    Große-Rhode, M., Parisi Presicce, F., Simeoni, M.: Refinements of graph transformation systems via rule expressions. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) TAGT 1998. LNCS, vol. 1764, pp. 368–382. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  14. 14.
    Habel, A., Heckel, R., Taentzer, G.: Graph grammars with negative application conditions. Fundamenta Informaticae 26(3,4), 287–313 (1996)MATHMathSciNetGoogle Scholar
  15. 15.
    Hausmann, J.H., Heckel, R., Lohmann, M.: Model-based discovery of web services. In: Proc. International Conference on Web Services, San Diego, USA (July 2004)Google Scholar
  16. 16.
    Heckel, R.: Open Graph Transformation Systems: A New Approach to the Compositional Modelling of Concurrent and Reactive Systems. PhD thesis, TU Berlin (1998)Google Scholar
  17. 17.
    Heckel, R., Corradini, A., Ehrig, H., Löwe, M.: Horizontal and vertical structuring of typed graph transformation systems. Math. Struc. in Comp. Science 6(6), 613–648 (1996)MATHGoogle Scholar
  18. 18.
    Heckel, R., Ehrig, H., Wolter, U., Corradini, A.: Double-pullback transitions and coalgebraic loose semantics for graph transformation systems. Applied Categorical Structures 9(1) (January 2001), See also TR 97-07 at http://www.cs.tu-berlin.de/cs/ifb/TechnBerichteListe.html
  19. 19.
    Heckel, R., Engels, G., Ehrig, H., Taentzer, G.: Classification and comparison of modularity concepts for graph transformation systems. In: Ehrig, et al. (eds.) [6], pp. 669–690Google Scholar
  20. 20.
    Heckel, R., Engels, G., Ehrig, H., Taentzer, G.: A view-based approach to system modelling based on open graph transformation systems. In: Ehrig et al. (eds.) [6], pp. 639–667Google Scholar
  21. 21.
    Kreowski, H.-J., Kuske, S.: On the interleaving semantics of transformation units - a step into GRACE. In: Cuny, J., Engels, G., Ehrig, H., Rozenberg, G. (eds.) Graph Grammars 1994. LNCS, vol. 1073, pp. 89–106. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  22. 22.
    Meyer, B.: Object-Oriented Software Construction. Prentice Hall International, Englewood Cliffs (1988)Google Scholar
  23. 23.
    Ribeiro, L.: Parallel Composition and Unfolding Semantics of Graph Grammars. PhD thesis, TU Berlin (1996)Google Scholar
  24. 24.
    Schürr, A., Winter, A.J.: UML packages for PROgrammed Graph REwrite Systems. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) TAGT 1998. LNCS, vol. 1764, pp. 396–410. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  25. 25.
    Zaremski, A.M., Wing, J.M.: Signature matching: a tool for using software libraries. ACM Transactions on Software Engineering and Methodology (TOSEM) 4(2), 146–170 (1995)CrossRefGoogle Scholar
  26. 26.
    Zaremski, A.M., Wing, J.M.: Specification matching of software components. In: Proc. SIGSOFT 1995 Third ACM SIGSOFT Symposium on the Foundations of Software Engineering. vol. 20(4), ACM SIGSOFT Software Engineering Notes, October 1995, pp. 6–17. Also CMU-CS-95-127 (March 1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Gregor Engels
    • 1
  • Reiko Heckel
    • 1
  • Alexey Cherchago
    • 1
  1. 1.University of PaderbornGermany

Personalised recommendations