Advertisement

A Truly Concurrent Semantics for the \(\mathbb{K}\) Framework Based on Graph Transformations

  • Traian Florin Şerbănuţă
  • Grigore Roşu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7562)

Abstract

This paper gives a truly concurrent semantics with sharing of resources for the \(\mathbb{K}\) semantic framework, an executable (term-)rewriting-based formalism for defining programming languages and calculi. Akin to graph rewriting rules, the \(\mathbb{K}\) (rewrite) rules explicitly state what can be concurrently shared with other rules. The desired true concurrency is obtained by translating the \(\mathbb{K}\) rules into a novel instance of term-graph rewriting with explicit sharing, and then using classical concurrency results from the double-pushout (DPO) approach to graph rewriting. The resulting parallel term-rewriting relation is proved sound, complete, and serializable with respect to the jungle rewriting flavor of term-graph rewriting, and, therefore, also to term rewriting.

Keywords

Graph Transformation Variable Node Graph Grammar Semantic Framework Operation Node 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Baader, F., Nipkow, T.: Term rewriting and all that. Cambridge University Press, New York (1998)Google Scholar
  2. 2.
    Baldan, P., Gadducci, F., Montanari, U.: Modelling calculi with name mobility using graphs with equivalences. In: TERMGRAPH. ENTCS, vol. 176(1), pp. 85–97 (2007)Google Scholar
  3. 3.
    Berry, G., Boudol, G.: The chemical abstract machine. J. of Theoretical Computer Science 96(1), 217–248 (1992)MathSciNetzbMATHCrossRefGoogle Scholar
  4. 4.
    Corradini, A., Montanari, U., Rossi, F., Ehrig, H., Heckel, R., Löwe, M.: Algebraic approaches to graph transformation: Basic concepts and double pushout approach. In: Handbook of Graph Grammars, vol. 1, pp. 163–246. World Sci. (1997)Google Scholar
  5. 5.
    Ehrig, H., Kreowski, H.-J.: Parallelism of Manipulations in Multidimensional Information Structures. In: Mazurkiewicz, A. (ed.) MFCS 1976. LNCS, vol. 45, pp. 284–293. Springer, Heidelberg (1976)CrossRefGoogle Scholar
  6. 6.
    Ehrig, H., Pfender, M., Schneider, H.J.: Graph-grammars: An algebraic approach. In: SWAT (FOCS), pp. 167–180 (1973)Google Scholar
  7. 7.
    Ellison, C., Roşu, G.: An executable formal semantics of C with applications. In: POPL, pp. 533–544 (2012)Google Scholar
  8. 8.
    Felleisen, M., Friedman, D.P.: Control operators, the SECD-machine, and the lambda-calculus. In: 3rd Working Conference on the Formal Description of Programming Concepts, Ebberup, Denmark, pp. 193–219 (August 1986)Google Scholar
  9. 9.
    Habel, A., Kreowski, H.-J., Plump, D.: Jungle Evaluation. In: Sannella, D., Tarlecki, A. (eds.) Abstract Data Types 1987. LNCS, vol. 332, pp. 92–112. Springer, Heidelberg (1988)CrossRefGoogle Scholar
  10. 10.
    Habel, A., Müller, J., Plump, D.: Double-pushout graph transformation revisited. Mathematical Structures in Computer Science 11(5), 637–688 (2001)MathSciNetzbMATHCrossRefGoogle Scholar
  11. 11.
    Hoffmann, B., Plump, D.: Implementing term rewriting by jungle evaluation. RAIRO—Theoretical Informatics and Applications 25, 445–472 (1991)MathSciNetzbMATHGoogle Scholar
  12. 12.
    Kastenberg, H., Kleppe, A., Rensink, A.: Defining Object-Oriented Execution Semantics Using Graph Transformations. In: Gorrieri, R., Wehrheim, H. (eds.) FMOODS 2006. LNCS, vol. 4037, pp. 186–201. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Kreowski, H.-J.: Transformations of Derivation Sequences in Graph Grammars. In: Karpinski, M. (ed.) FCT 1977. LNCS, vol. 56, pp. 275–286. Springer, Heidelberg (1977)CrossRefGoogle Scholar
  14. 14.
    Meredith, P., Hills, M., Roşu, G.: An executable rewriting logic semantics of K-Scheme. In: SCHEME, Tech. Rep. DIUL-RT-0701, pp. 91–103. U. Laval (2007)Google Scholar
  15. 15.
    Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. J. of Theoretical Computer Science 96(1), 73–155 (1992)MathSciNetzbMATHCrossRefGoogle Scholar
  16. 16.
    Meseguer, J.: Rewriting Logic as a Semantic Framework for Concurrency. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 331–372. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  17. 17.
    Montanari, U.: True Concurrency: Theory and Practice. In: Bird, R.S., Wing, J.M., Morgan, C.C. (eds.) MPC 1992. LNCS, vol. 669, pp. 14–17. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  18. 18.
    Montanari, U., Pistore, M., Rossi, F.: Modeling concurrent, mobile and coordinated systems via graph transformations. In: Handbook of Graph Grammars, vol. 3, pp. 189–268. World Sci. (1999)Google Scholar
  19. 19.
    Plump, D.: Term graph rewriting. In: Handbook of Graph Grammars, vol. 2, pp. 3–61. World Sci. (1999)Google Scholar
  20. 20.
    Roşu, G., Şerbănuţă, T.F.: An overview of the K semantic framework. J. of Logic and Algebraic Programming 79(6), 397–434 (2010)zbMATHCrossRefGoogle Scholar
  21. 21.
    Şerbănuţă, T.F., Roşu, G.: KRAM—extended report. Technical Report, UIUC (September 2010), http://hdl.handle.net/2142/17337
  22. 22.
    Wright, A.K., Felleisen, M.: A syntactic approach to type soundness. Information and Computation 115(1), 38–94 (1994)MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Traian Florin Şerbănuţă
    • 1
    • 2
  • Grigore Roşu
    • 1
    • 2
  1. 1.Alexandru Ioan Cuza University of IaşiRomania
  2. 2.University of Illinois at Urbana-ChampaignUSA

Personalised recommendations