Results 1  10
of
274
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 Abstract Re ..."
Abstract

Cited by 565 (16 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
"... Abstract. 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 observa ..."
Abstract

Cited by 249 (14 self)
 Add to MetaCart
Abstract. 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.
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 109 (32 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 95 (9 self)
 Add to MetaCart
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.
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 92 (15 self)
 Add to MetaCart
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
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 87 (20 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.
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 generali ..."
Abstract

Cited by 72 (2 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...
An Algebraic Semantics of Basic Message Sequence Charts
 The Computer Journal
, 1994
"... Message Sequence Charts are a widely used technique for the visualization of the communication between system components. We present a formal semantics of Basic Message Sequence Charts, exploiting techniques from process algebra. This semantics is based on the semantics of the full language as being ..."
Abstract

Cited by 68 (12 self)
 Add to MetaCart
Message Sequence Charts are a widely used technique for the visualization of the communication between system components. We present a formal semantics of Basic Message Sequence Charts, exploiting techniques from process algebra. This semantics is based on the semantics of the full language as being proposed for standardization in the International Telecommunication Union.
The Tile Model
 PROOF, LANGUAGE AND INTERACTION: ESSAYS IN HONOUR OF ROBIN MILNER
, 1996
"... In this paper we introduce a model for a wide class of computational systems, whose behaviour can be described by certain rewriting rules. We gathered our inspiration both from the world of term rewriting, in particular from the rewriting logic framework [Mes92], and of concurrency theory: among the ..."
Abstract

Cited by 65 (24 self)
 Add to MetaCart
In this paper we introduce a model for a wide class of computational systems, whose behaviour can be described by certain rewriting rules. We gathered our inspiration both from the world of term rewriting, in particular from the rewriting logic framework [Mes92], and of concurrency theory: among the others, the structured operational semantics [Plo81], the context systems [LX90] and the structured transition systems [CM92] approaches. Our model recollects many properties of these sources: first, it provides a compositional way to describe both the states and the sequences of transitions performed by a given system, stressing their distributed nature. Second, a suitable notion of typed proof allows to take into account also those formalisms relying on the notions of synchronization and sideeffects to determine the actual behaviour of a system. Finally, an equivalence relation over sequences of transitions is defined, equipping the system under analysis with a concurrent semantics, ...
Algebraic Process Verification
 Handbook of Process Algebra, chapter 17
"... This chapter addresses the question how to verify distributed and communicating systems in an e#ective way from an explicit process algebraic standpoint. This means that all calculations are based on the axioms and principles of the process algebras. ..."
Abstract

Cited by 62 (16 self)
 Add to MetaCart
This chapter addresses the question how to verify distributed and communicating systems in an e#ective way from an explicit process algebraic standpoint. This means that all calculations are based on the axioms and principles of the process algebras.