Abstract
We give a formal semantics for a graph-based programming language, where a program consists of a collection of graph rewriting rules, a user-defined strategy to control the application of rules, and an initial graph to be rewritten. The traditional operators found in strategy languages for term rewriting have been adapted to deal with the more general setting of graph rewriting, and some new constructs have been included in the language to deal with graph traversal and management of rewriting positions in the graph. This language is part of the graph transformation and visualisation environment PORGY.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Andrei, O.: A Rewriting Calculus for Graphs: Applications to Biology and Autonomous Systems. PhD thesis, Institut National Polytechnique de Lorraine (2008)
Andrei, O., Fernández, M., Kirchner, H., Melançon, G., Namet, O., Pinaud, B.: PORGY: Strategy driven interactive transformation of graphs. In: Proceedings of TERMGRAPH 2011, Saarbrucken. EPTCS (April 2011)
Andrei, O., Kirchner, H.: A Rewriting Calculus for Multigraphs with Ports. In: Proceedings of RULE 2007. Electronic Notes in Theoretical Computer Science, vol. 219, pp. 67–82 (2008)
Andrei, O., Kirchner, H.: A Higher-Order Graph Calculus for Autonomic Computing. In: Lipshteyn, M., Levit, V.E., McConnell, R.M. (eds.) Golumbic Festschrift. LNCS, vol. 5420, pp. 15–26. Springer, Heidelberg (2009)
Auber, D.: Tulip – A huge graph visualization framework. In: Mutzel, P., Jünger, M. (eds.) Graph Drawing Software. Mathematics and Visualization, pp. 105–126. Springer (2003)
Balasubramanian, D., Narayanan, A., van Buskirk, C.P., Karsai, G.: The Graph Rewriting and Transformation Language: GReAT. ECEASST 1 (2006)
Balland, E., Brauner, P., Kopetz, R., Moreau, P.-E., Reilles, A.: Tom: Piggybacking Rewriting on Java. In: Baader, F. (ed.) RTA 2007. LNCS, vol. 4533, pp. 36–47. Springer, Heidelberg (2007)
Barendregt, H.: The Lambda Calculus, Its Syntax and Semantics. North-Holland (1981)
Barendregt, H., van Eekelen, M., Glauert, J., Kennaway, J.R., Plasmeijer, M., Sleep, M.: Term Graph Rewriting. In: de Bakker, J.W., Nijman, A.J., Treleaven, P.C. (eds.) PARLE 1987. LNCS, vol. 259, pp. 141–158. Springer, Heidelberg (1987)
Barthelmann, K.: How to construct a hyperedge replacement system for a context-free set of hypergraphs. Technical report, Universität Mainz, Institut für Informatik (1996)
Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E., Ringeissen, C.: An overview of ELAN. ENTCS 15 (1998)
Bourdier, T., Cirstea, H., Dougherty, D.J., Kirchner, H.: Extensional and intensional strategies. In: Proceedings Ninth International Workshop on Reduction Strategies in Rewriting and Programming. EPTCS, vol. 15, pp. 1–19 (2009)
Bravenboer, M., Kalleberg, K.T., Vermaas, R., Visser, E.: Stratego/XT 0.17. A language and toolset for program transformation. Science of Computer Programming (2008); Special issue on Experimental Systems and Tools
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: Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations, pp. 163–246. World Scientific (1997)
Courcelle, B.: Graph Rewriting: An Algebraic and Logic Approach. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, pp. 193–242. Elsevier, MIT Press (1990)
Dauchet, M.: Simulation of Turing Machines by a Left-Linear Rewrite Rule. In: Dershowitz, N. (ed.) RTA 1989. LNCS, vol. 355, pp. 109–120. Springer, Heidelberg (1989)
Dijkstra, E.W.: Selected writings on computing - a personal perspective. Texts and monographs in computer science. Springer (1982)
Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G.: Handbook of Graph Grammars and Computing by Graph Transformations, vol. 1–3. World Scientific (1997)
Ermel, C., Rudolf, M., Taentzer, G.: The AGG approach: Language and environment. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformations, Volume 2: Applications, Languages, and Tools, pp. 551–603. World Scientific (1997)
Fernández, M., Namet, O.: Strategic programming on graph rewriting systems. In: Proceedings International Workshop on Strategies in Rewriting, Proving, and Programming, IWS 2010. EPTCS, vol. 44, pp. 1–20 (2010)
Geiß, R., Batz, G.V., Grund, D., Hack, S., Szalkowski, A.: GrGen: A Fast SPO-Based Graph Rewriting Tool. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 383–397. Springer, Heidelberg (2006)
Habel, A., Müller, J., Plump, D.: Double-pushout graph transformation revisited. Mathematical Structures in Computer Science 11(5), 637–688 (2001)
Habel, A., Plump, D.: Computational Completeness of Programming Languages Based on Graph Transformation. In: Honsell, F., Miculan, M. (eds.) FOSSACS 2001. LNCS, vol. 2030, pp. 230–245. Springer, Heidelberg (2001)
Hanus, M.: Curry: A multi-paradigm declarative language (system description). In: Twelfth Workshop Logic Programming, WLP 1997, Munich (1997)
Jones, S.L.P.: Haskell 98 language and libraries: the revised report. Cambridge University Press (2003)
Kirchner, C., Kirchner, F., Kirchner, H.: Strategic computations and deductions. In: Reasoning in Simple Type Theory. Studies in Logic and the Foundations of Mathematics, vol. 17, pp. 339–364. College Publications (2008)
Lafont, Y.: Interaction nets. In: Proceedings of the 17th ACM Symposium on Principles of Programming Languages (POPL 1990), pp. 95–108. ACM Press (1990)
Lucas, S.: Strategies in programming languages today. Electr. Notes Theor. Comput. Sci. 124(2), 113–118 (2005)
Martí-Oliet, N., Meseguer, J., Verdejo, A.: Towards a strategy language for Maude. Electr. Notes Theor. Comput. Sci. 117, 417–441 (2005)
Martí-Oliet, N., Meseguer, J., Verdejo, A.: A rewriting semantics for Maude strategies. Electr. Notes Theor. Comput. Sci. 238(3), 227–247 (2008)
Namet, O.: Strategic Modelling with Graph Rewriting Tools. PhD thesis, King’s College London (2011)
Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: ICSE, pp. 742–745 (2000)
Plasmeijer, M.J., van Eekelen, M.C.J.D.: Functional Programming and Parallel Graph Rewriting. Addison-Wesley (1993)
Plotkin, G.D.: A structural approach to operational semantics. J. Log. Algebr. Program. 60-61, 17–139 (2004)
Plump, D.: Term graph rewriting. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformations, Volume 2: Applications, Languages, and Tools, pp. 3–61. World Scientific (1998)
Plump, D.: The Graph Programming Language GP. In: Bozapalidis, S., Rahonis, G. (eds.) CAI 2009. LNCS, vol. 5725, pp. 99–122. Springer, Heidelberg (2009)
Rensink, A.: The GROOVE Simulator: A Tool for State Space Generation. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 479–485. Springer, Heidelberg (2004)
Rosu, G., Serbanuta, T.-F.: An overview of the K semantic framework. J. Log. Algebr. Program. 79(6), 397–434 (2010)
Schürr, A., Winter, A.J., Zündorf, A.: The PROGRES Approach: Language and Environment. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformations, Volume 2: Applications, Languages, and Tools, pp. 479–546. World Scientific (1997)
Terese. Term Rewriting Systems. Cambridge University Press (2003); Bezem, M., Klop, J.W., de Vrijer, R. (eds)
Thiemann, R., Sternagel, C., Giesl, J., Schneider-Kamp, P.: Loops under strategies... continued. In: Proceedings International Workshop on Strategies in Rewriting, Proving, and Programming. EPTCS, vol. 44, pp. 51–65 (2010)
Visser, E.: Stratego: A Language for Program Transformation Based on Rewriting Strategies. System Description of Stratego. In: Middeldorp, A. (ed.) RTA 2001. LNCS, vol. 2051, pp. 357–361. Springer, Heidelberg (2001)
Visser, E.: A survey of strategies in rule-based program transformation systems. J. Symb. Comput. 40(1), 831–873 (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fernández, M., Kirchner, H., Namet, O. (2012). A Strategy Language for Graph Rewriting. In: Vidal, G. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2011. Lecture Notes in Computer Science, vol 7225. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32211-2_12
Download citation
DOI: https://doi.org/10.1007/978-3-642-32211-2_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-32210-5
Online ISBN: 978-3-642-32211-2
eBook Packages: Computer ScienceComputer Science (R0)