Results 1  10
of
22
Rewriting Logic as a Semantic Framework for Concurrency: a Progress Report
, 1996
"... . This paper surveys the work of many researchers on rewriting logic since it was first introduced in 1990. The main emphasis is on the use of rewriting logic as a semantic framework for concurrency. The goal in this regard is to express as faithfully as possible a very wide range of concurrency mod ..."
Abstract

Cited by 82 (22 self)
 Add to MetaCart
. This paper surveys the work of many researchers on rewriting logic since it was first introduced in 1990. The main emphasis is on the use of rewriting logic as a semantic framework for concurrency. The goal in this regard is to express as faithfully as possible a very wide range of concurrency models, each on its own terms, avoiding any encodings or translations. Bringing very different models under a common semantic framework makes easier to understand what different models have in common and how they differ, to find deep connections between them, and to reason across their different formalisms. It becomes also much easier to achieve in a rigorous way the integration and interoperation of different models and languages whose combination offers attractive advantages. The logic and model theory of rewriting logic are also summarized, a number of current research directions are surveyed, and some concluding remarks about future directions are made. Table of Contents 1 In...
Shape Types
 IN PROC. 24TH ACM POPL
, 1997
"... Type systems currently available for imperative languages are too weak to detect a significant class of programming errors. For example, they cannot express the property that a list is doublylinked or circular. We propose a solution to this problem based on a notion of shape types defined as contex ..."
Abstract

Cited by 74 (5 self)
 Add to MetaCart
Type systems currently available for imperative languages are too weak to detect a significant class of programming errors. For example, they cannot express the property that a list is doublylinked or circular. We propose a solution to this problem based on a notion of shape types defined as contextfree graph grammars. We define graphs in settheoretic terms, and graph modifications as multiset rewrite rules. These rules can be checked statically to ensure that they preserve the structure of the graph specified by the grammar. We provide a syntax for a smooth integration of shape types in C. The programmer can still express pointer manipulations with the expected constant time execution and benefits from the additional guarantee that the property specified by the shape type is an invariant of the program.
Equational term graph rewriting
 FUNDAMENTA INFORMATICAE
, 1996
"... We present an equational framework for term graph rewriting with cycles. The usual notion of homomorphism is phrased in terms of the notion of bisimulation, which is wellknown in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bis ..."
Abstract

Cited by 71 (8 self)
 Add to MetaCart
We present an equational framework for term graph rewriting with cycles. The usual notion of homomorphism is phrased in terms of the notion of bisimulation, which is wellknown in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bisimilarity class of a term graph, partially ordered by functional bisimulation, is a complete lattice. It is shown how Equational Logic induces a notion of copying and substitution on term graphs, or systems of recursion equations, and also suggests the introduction of hidden or nameless nodes in a term graph. Hidden nodes can be used only once. The general framework of term graphs with copying is compared with the more restricted copying facilities embodied in the µrule, and translations are given between term graphs and µexpressions. Using these, a proof system is given for µexpressions that is complete for the semantics given by infinite tree unwinding. Next, orthogonal term graph rewrite ...
Lambda Calculus with Explicit Recursion
 Information and Computation
, 1996
"... This paper is concerned with the study of calculus with explicit recursion, namely of cyclic graphs. The starting point is to treat a graph as a system of recursion equations involving terms, and to manipulate such systems in an unrestricted manner, using equational logic, just as is possible fo ..."
Abstract

Cited by 38 (4 self)
 Add to MetaCart
This paper is concerned with the study of calculus with explicit recursion, namely of cyclic graphs. The starting point is to treat a graph as a system of recursion equations involving terms, and to manipulate such systems in an unrestricted manner, using equational logic, just as is possible for firstorder term rewriting. Surprisingly, now the confluence property breaks down in an essential way. Confluence can be restored by introducing a restraining mechanism on the `substitution' operation. This leads to a family of graph calculi, which can be seen as an extension of the family of oecalculi (calculi with explicit substitution). While the oecalculi treat the letconstruct as a firstclass citizen, our calculi support the letrec, a feature that is essential to reason about time and space behavior of functional languages and also about compilation and optimizations of programs. CR Subject Classification (1991): D.1.1, D.3.1, F.1.1, F.4.1, F.4.2 Keywords & Phrases: lambda cal...
Dactl: An Experimental Graph Rewriting Language
 Proc. 4th International Workshop on Graph Grammars
, 1991
"... This paper gives some examples of how computation in a number of languages may be described as graph rewriting, giving the Dactl notation for the examples shown. It goes on to present the Dactl model more formally before giving a formal definition of the syntax and semantics of the language. 2 Examp ..."
Abstract

Cited by 34 (7 self)
 Add to MetaCart
This paper gives some examples of how computation in a number of languages may be described as graph rewriting, giving the Dactl notation for the examples shown. It goes on to present the Dactl model more formally before giving a formal definition of the syntax and semantics of the language. 2 Examples of Computation by Graph Rewriting
Sharing of Computations
, 1993
"... This report is a revised version of my thesis of the same title, which was accepted for the Ph.D. degree in Computer Science at University of Aarhus, Denmark, in June 1993 ..."
Abstract

Cited by 15 (3 self)
 Add to MetaCart
This report is a revised version of my thesis of the same title, which was accepted for the Ph.D. degree in Computer Science at University of Aarhus, Denmark, in June 1993
On Relating Rewriting Systems and Graph Grammars to Event Structures
 GRAPH TRANSFORMATIONS IN COMPUTER SCIENCE. LECTURE NOTES IN COMPUTER SCIENCE 776
, 1994
"... In this paper, we investigate how rewriting systems and especially graph grammars as operational models of parallel and distributed systems can be related to event structures as more abstract models. First, distributed rewriting systems that are based on the notion of contexts are introduced as a ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
In this paper, we investigate how rewriting systems and especially graph grammars as operational models of parallel and distributed systems can be related to event structures as more abstract models. First, distributed rewriting systems that are based on the notion of contexts are introduced as a common framework for different kinds of rewriting systems and their parallelism properties are investigated. Then we introduce concrete graph grammars and show how they can be integrated into this framework for rewriting systems. A construction for the Mazurkiewicz trace language related to the derivation sequences of a distributed rewriting system is presented. Since there is a wellknown relation between trace languages and event structures, this provides the link between (graph) rewriting and event structures.
Abstract saturationbased inference
 IN PROCEEDINGS OF THE 18TH ANNUAL SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE
, 2003
"... Solving goals—like deciding word problems or resolving constraints—is much easier in some theory presentations than in others. What have been called “completion processes”, in particular in the study of equational logic, involve finding appropriate presentations of a given theory to solve easily a g ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
Solving goals—like deciding word problems or resolving constraints—is much easier in some theory presentations than in others. What have been called “completion processes”, in particular in the study of equational logic, involve finding appropriate presentations of a given theory to solve easily a given class of problems. We provide a general prooftheoretic setting within which completionlike processes can be modelled and studied. This framework centers around wellfounded orderings of proofs. It allows for abstract definitions and very general characterizations of saturation processes and redundancy criteria.
Relating Graph and Term Rewriting via Böhm Models
 in Engineering, Communication and Computing 7
, 1993
"... . Dealing properly with sharing is important for expressing some of the common compiler optimizations, such as common subexpressions elimination, lifting of free expressions and removal of invariants from a loop, as sourcetosource transformations. Graph rewriting is a suitable vehicle to accommoda ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
. Dealing properly with sharing is important for expressing some of the common compiler optimizations, such as common subexpressions elimination, lifting of free expressions and removal of invariants from a loop, as sourcetosource transformations. Graph rewriting is a suitable vehicle to accommodate these concerns. In [4] we have presented a term model for graph rewriting systems (GRSs) without interfering rules, and shown the partial correctness of the aforementioned optimizations. In this paper we define a different model for GRSs, which allows us to prove total correctness of those optimizations. Differently from [4] we will discard sharing from our observations and introduce more restrictions on the rules. We will introduce the notion of Bohm tree for GRSs, and show that in a system without interfering and nonleft linear rules (orthogonal GRSs), Bohm tree equivalence defines a congruence. Total correctness then follows in a straightforward way from showing that if a program M co...
Structured Gamma
, 1996
"... The Gamma language is based on the chemical reaction metaphor which has a number of benefits with respect to parallelism and program derivation. But the original definition of Gamma does not provide any facility for data structuring or for specifying particular control strategies. We address this is ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
The Gamma language is based on the chemical reaction metaphor which has a number of benefits with respect to parallelism and program derivation. But the original definition of Gamma does not provide any facility for data structuring or for specifying particular control strategies. We address this issue by introducing a notion of structured multiset which is a set of addresses satisfying specific relations. The relations can be seen as a form of neighborhood between the molecules of the solution; they can be used in the reaction condition of a program or transformed by the action. A type is defined by a contextfree graph grammar and a structured multiset belongs to a type T if its underlying set of addresses satisfies the invariant expressed by the grammar defining T . We define a type checking algorithm that allows us to prove mechanically that a program maintains its data structure invariant. We illustrate the significance of the approach for program refinement and we describe its ap...