Results 1  10
of
426
Term Rewriting Systems
, 1992
"... Term Rewriting Systems play an important role in various areas, such as abstract data type specifications, implementations of functional programming languages and automated deduction. In this chapter we introduce several of the basic comcepts and facts for TRS's. Specifically, we discuss Abstra ..."
Abstract

Cited by 610 (18 self)
 Add to MetaCart
Term Rewriting Systems play an important role in various areas, such as abstract data type specifications, implementations of functional programming languages and automated deduction. In this chapter we introduce several of the basic comcepts and facts for TRS's. Specifically, we discuss Abstract Reduction Systems
Branching Time and Abstraction in Bisimulation Semantics
 JOURNAL OF THE ACM
, 1996
"... In comparative concurrency semantics, one usually distinguishes between linear time and branching time semantic equivalences. Milner’s notion of ohsen~ation equirlalence is often mentioned as the standard example of a branching time equivalence. In this paper we investigate whether observation equi ..."
Abstract

Cited by 331 (17 self)
 Add to MetaCart
In comparative concurrency semantics, one usually distinguishes between linear time and branching time semantic equivalences. Milner’s notion of ohsen~ation equirlalence is often mentioned as the standard example of a branching time equivalence. In this paper we investigate whether observation equivalence really does respect the branching structure of processes, and find that in the presence of the unobservable action 7 of CCS this is not the case. Therefore, the notion of branching hisimulation equivalence is introduced which strongly preserves the branching structure of processes, in the sense that it preserves computations together with the potentials in all intermediate states that are passed through, even if silent moves are involved. On closed KSterms branching bisimulation congruence can be completely axiomatized by the single axiom scheme: a.(7.(y + z) + y) = a.(y + z) (where a ranges over all actions) and the usual laws for strong congruence. WC also establish that for sequential processes observation equivalence is not preserved under refinement of actions, whereas branching bisimulation is. For a large class of processes, it turns out that branching bisimulation and observation equivalence are the same. As far as we know, all protocols that have been verified in the setting of observation equivalence happen to fit in this class, and hence are also valid in the stronger setting of branching hisimulation equivalence.
A generic process algebra
 Proc. of the Workshop Essays on Algebraic Process Calculi (APC 25), volume 162 of Electr. Notes Theor. Comput. Sci
, 2006
"... Process algebra is the study of distributed or parallel systems by algebraic means. Originating in computer science, process algebra has been extended in recent years to encompass not just discreteevent systems, but also continuously evolving phenomena, resulting in socalled hybrid process algebra ..."
Abstract

Cited by 253 (22 self)
 Add to MetaCart
(Show Context)
Process algebra is the study of distributed or parallel systems by algebraic means. Originating in computer science, process algebra has been extended in recent years to encompass not just discreteevent systems, but also continuously evolving phenomena, resulting in socalled hybrid process algebras. A hybrid process algebra can be used for the specification, simulation, control and verification of embedded systems in combination with their environment, and for any dynamic system in general. As the vehicle of our exposition, we use the hybrid process algebra χ (Chi). The syntax and semantics of χ are discussed, and it is explained how equational reasoning simplifies tool implementations for simulation and verification. A bottle filling line example is introduced to illustrate system analysis by means of equational reasoning.
Bisimulation can't be traced
, 1995
"... In the concurrent language CCS, hvo programs are considered the same if they are bzsimilar. Several years and many researchers have demonstrated that the theory of bisimulation is mathematically appealing and useful in practice. However, bisimulation makes too many distinctions between programs. W ..."
Abstract

Cited by 242 (2 self)
 Add to MetaCart
In the concurrent language CCS, hvo programs are considered the same if they are bzsimilar. Several years and many researchers have demonstrated that the theory of bisimulation is mathematically appealing and useful in practice. However, bisimulation makes too many distinctions between programs. We consider the problem of adding operations to CCS to make bisimulation fully abstract. We define the class of GSOS operations, generalizing the style and technical advantages of CCS operations. We characterize GSOS congruence in as a bisimulationlike relation called ready simulation. Bisimulation is strictly finer than ready simulation, and hence
Building Program Optimizers with Rewriting Strategies
 PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING (ICFP'98
, 1998
"... We describe a language for defining term rewriting strategies, and its application to the production of program optimizers. Valid transformations on program terms can be described by a set of rewrite rules; rewriting strategies are used to describe when and how the various rules should be applied in ..."
Abstract

Cited by 151 (34 self)
 Add to MetaCart
We describe a language for defining term rewriting strategies, and its application to the production of program optimizers. Valid transformations on program terms can be described by a set of rewrite rules; rewriting strategies are used to describe when and how the various rules should be applied in order to obtain the desired optimization effects. Separating rules from strategies in this fashion makes it easier to reason about the behavior of the optimizer as a whole, compared to traditional monolithic optimizer implementations. We illustrate the expressiveness of our language by using it to describe a simple optimizer for an MLlike intermediate representation. The basic strategy language uses operators such as sequential composition, choice, and recursion to build transformers from a set of labeled unconditional rewrite rules. We also define an extended language in which the sideconditions and contextual rules that arise in realistic optimizer specifications can themselves be expressed as strategydriven rewrites. We show that the features of the basic and extended languages can be expressed by breaking down the rewrite rules into their primitive building blocks, namely matching and building terms in variable binding environments. This gives us a lowlevel core language which has a clear semantics, can be implemented straightforwardly and can itself be optimized. The current implementation generates C code from a strategy specification.
A tutorial on EMPA: A theory of concurrent processes with nondeterminism, priorities, probabilities and time
 Theoretical Computer Science
, 1998
"... In this tutorial we give an overview of the process algebra EMPA, a calculus devised in order to model and analyze features of realworld concurrent systems such as nondeterminism, priorities, probabilities and time, with a particular emphasis on performance evaluation. The purpose of this tutorial ..."
Abstract

Cited by 117 (11 self)
 Add to MetaCart
(Show Context)
In this tutorial we give an overview of the process algebra EMPA, a calculus devised in order to model and analyze features of realworld concurrent systems such as nondeterminism, priorities, probabilities and time, with a particular emphasis on performance evaluation. The purpose of this tutorial is to explain the design choices behind the development of EMPA and how the four features above interact, and to show that a reasonable trade off between the expressive power of the calculus and the complexity of its underlying theory has been achieved.
On the Bisimulation Proof Method
 JOURNAL OF MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE
, 1994
"... The most popular method for establishing bisimilarities among processes is to exhibit bisimulation relations. By definition, R is a bisimulation relation if R progresses to R itself, i.e., pairs of processes in R can match each other's actions and their derivatives are again in R. We study gen ..."
Abstract

Cited by 106 (7 self)
 Add to MetaCart
The most popular method for establishing bisimilarities among processes is to exhibit bisimulation relations. By definition, R is a bisimulation relation if R progresses to R itself, i.e., pairs of processes in R can match each other's actions and their derivatives are again in R. We study generalisations of the method aimed at reducing the size of the relations to exhibit and hence relieving the proof work needed to establish bisimilarity results. We allow a relation R to progress to a different relation F(R), where F is a function on relations. Functions which can be safely used in this way (i.e., such that if R progresses to F(R), then R only includes pairs of bisimilar processes) are sound. We give a simple condition which ensures soundness. We show that the class of sound functions contains nontrivial functions and we study the closure properties of the class w.r.t. various important function constructors, like composition, union and iteration. These properties allow us to cons...
Turning SOS Rules into Equations
, 1994
"... Many process algebras are defined by structural operational semantics (SOS). Indeed, most such definitions are nicely structured and fit the GSOS format of [15]. We give a procedure for converting any GSOS language definition to a finite complete equational axiom system (possibly with one infinit ..."
Abstract

Cited by 97 (23 self)
 Add to MetaCart
Many process algebras are defined by structural operational semantics (SOS). Indeed, most such definitions are nicely structured and fit the GSOS format of [15]. We give a procedure for converting any GSOS language definition to a finite complete equational axiom system (possibly with one infinitary induction principle) which precisely characterizes strong bisimulation of processes.
Bisimulation Equivalence is Decidable for all ContextFree Processes
 Information and Computation
, 1995
"... Introduction Over the past decade much attention has been devoted to the study of process calculi such as CCS, ACP and CSP [13]. Of particular interest has been the study of the behavioural semantics of these calculi as given by labelled transition graphs. One important question is when processes c ..."
Abstract

Cited by 97 (15 self)
 Add to MetaCart
(Show Context)
Introduction Over the past decade much attention has been devoted to the study of process calculi such as CCS, ACP and CSP [13]. Of particular interest has been the study of the behavioural semantics of these calculi as given by labelled transition graphs. One important question is when processes can be said to exhibit the same behaviour, and a plethora of behavioural equivalences exists today. Their main rationale has been to capture behavioural aspects that language or trace equivalences do not take into account. The theory of finitestate systems and their equivalences can now be said to be wellestablished. There are many automatic verification tools for their analysis which incorporate equivalence checking. Sound and complete equational theories exist for the various known equivalences, an elegant example is [18]. One may be led to wonder what the results will look like for infinitestate systems. Although language equivalence is decidable
A brief history of process algebra
 THEOR. COMPUT. SCI
, 2004
"... This note addresses the history of process algebra as an area of research in concurrency theory, the theory of parallel and distributed systems in computer science. Origins are traced back to the early seventies of the twentieth century, and developments since that time are sketched. The author giv ..."
Abstract

Cited by 84 (1 self)
 Add to MetaCart
(Show Context)
This note addresses the history of process algebra as an area of research in concurrency theory, the theory of parallel and distributed systems in computer science. Origins are traced back to the early seventies of the twentieth century, and developments since that time are sketched. The author gives his personal views on these matters. He also considers the present situation, and states some challenges for the future.