Results 1  10
of
91
Refining Multiset Transformers
 Communications of the ACM
"... Gamma is a minimal language based on local multiset rewriting with an elegant chemical reaction metaphor. The virtues of this paradigm in terms of systematic program construction and design of parallel programs have been argued in previous papers. Gamma can also be seen as a notation for coordinatin ..."
Abstract

Cited by 179 (23 self)
 Add to MetaCart
Gamma is a minimal language based on local multiset rewriting with an elegant chemical reaction metaphor. The virtues of this paradigm in terms of systematic program construction and design of parallel programs have been argued in previous papers. Gamma can also be seen as a notation for coordinating independent programs in a larger application. In this paper, we study a notion of refinement for programs involving parallel and sequential composition operators, and derive a number of programming laws. The calculus thus obtained is applied in the development of a generic "pipelining" transformation, which enables certain sequential compositions to be refined into parallel compositions. Keywords: Gamma, Multiset Rewriting, Program Transformation. 1 Introduction We first describe the general motivation of the work presented here before summarising the main results developed in the body of the paper. 1.1 Motivation The notion of sequential computation has played a central role in the des...
Rewriting Logic as a Logical and Semantic Framework
, 1993
"... Rewriting logic [72] is proposed as a logical framework in which other logics can be represented, and as a semantic framework for the specification of languages and systems. Using concepts from the theory of general logics [70], representations of an object logic L in a framework logic F are und ..."
Abstract

Cited by 163 (55 self)
 Add to MetaCart
Rewriting logic [72] is proposed as a logical framework in which other logics can be represented, and as a semantic framework for the specification of languages and systems. Using concepts from the theory of general logics [70], representations of an object logic L in a framework logic F are understood as mappings L ! F that translate one logic into the other in a conservative way. The ease with which such maps can be defined for a number of quite different logics of interest, including equational logic, Horn logic with equality, linear logic, logics with quantifiers, and any sequent calculus presentation of a logic for a very general notion of "sequent," is discussed in detail. Using the fact that rewriting logic is reflective, it is often possible to reify inside rewriting logic itself a representation map L ! RWLogic for the finitely presentable theories of L. Such a reification takes the form of a map between the abstract data types representing the finitary theories of...
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 84 (24 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...
Bisimulations in the joincalculus
 Theoretical Computer Science
, 1998
"... We propose an objectoriented calculus with internal concurrency and classbased inheritance that is built upon the join calculus. Method calls, locks, and states are handled in a uniform manner, using asynchronous messages. Classes are partial message definitions that can be combined and transforme ..."
Abstract

Cited by 51 (7 self)
 Add to MetaCart
We propose an objectoriented calculus with internal concurrency and classbased inheritance that is built upon the join calculus. Method calls, locks, and states are handled in a uniform manner, using asynchronous messages. Classes are partial message definitions that can be combined and transformed. We design operators for behavioral and synchronization inheritance. We also give a type system that statically enforces basic safety properties. Our model is compatible with the JoCaml implementation
A Congruence for Gamma Programs
 in Proc. of the 5th workshop on Languages and Compilers for Parallel Computing
, 1993
"... . This paper defines a congruence relation on Gamma programs. Based on this congruence relation, laws for transforming programs are derived. We define an axiomatic semantics for Gamma based on Brookes' transition assertions. The definition of the congruence is in terms of provable satisfiabilit ..."
Abstract

Cited by 45 (11 self)
 Add to MetaCart
. This paper defines a congruence relation on Gamma programs. Based on this congruence relation, laws for transforming programs are derived. We define an axiomatic semantics for Gamma based on Brookes' transition assertions. The definition of the congruence is in terms of provable satisfiability of such assertions. We consider the relationship between our congruence and other orderings that have been proposed in the literature. 1 Introduction In this paper we study the problem of transforming programs expressed in the Gamma programming formalism. We aim at defining a relation between Gamma programs that captures when one program mimics another program. This relation allows us to decide when we can safely replace one program by another i.e., it gives us a means of expressing the correctness of program transformations. Gamma operates with a single data structure, the multiset, and computation proceeds by rewriting multisets of data. Gamma has proved successful in expressing a variety of...
On the Expressive Power of a Language for Programming Coordination Media
 In Proceedings of the 1998 ACM Symposium on Applied Computing (SAC’98
, 1998
"... A programmable coordination medium is a shared communication device whose behaviour can be defined by means of a suitable programming language according to the global system needs. This notion has indeed an impact over the design of multicomponent software system, since (part of) the system computa ..."
Abstract

Cited by 39 (25 self)
 Add to MetaCart
(Show Context)
A programmable coordination medium is a shared communication device whose behaviour can be defined by means of a suitable programming language according to the global system needs. This notion has indeed an impact over the design of multicomponent software system, since (part of) the system computational charge of can be in principle shifted from the communicating components (agents) to the communication device. At the same time, this raises the issue of the computational power of a programmable coordination medium, and of its expressiveness. As a meaningful example, this paper discusses the case of ReSpecT, the firstorder logic language used by the ACLT coordination model to define the behaviour of its multiple programmable logic tuple spaces, called tuple centres. Its expressiveness is discussed first by comparing ReSpecT with Petri Nets, taken as a reference model for the specification and design of concurrent and distributed systems, then by presenting some simple cases of coor...
Gamma And The Chemical Reaction Model: Ten Years After
"... ... This paper reviews most of the work done by various groups along these lines and the current perspectives of our own research on Gamma. For the sake of clarity we separate the contributions in three categories: (1) the relevance of the chemical reaction model for software engineering, (2) extens ..."
Abstract

Cited by 36 (4 self)
 Add to MetaCart
... This paper reviews most of the work done by various groups along these lines and the current perspectives of our own research on Gamma. For the sake of clarity we separate the contributions in three categories: (1) the relevance of the chemical reaction model for software engineering, (2) extensions of the original model and (3) implementation issues.
Research Directions in Rewriting Logic
, 1998
"... Rewriting logic expresses an essential equivalence between logic and computation. System states are in bijective correspondence with formulas, and concurrent computations are in bijective correspondence with proofs. Given this equivalence between computation and logic, a rewriting logic axiom of the ..."
Abstract

Cited by 32 (12 self)
 Add to MetaCart
Rewriting logic expresses an essential equivalence between logic and computation. System states are in bijective correspondence with formulas, and concurrent computations are in bijective correspondence with proofs. Given this equivalence between computation and logic, a rewriting logic axiom of the form t \Gamma! t 0 has two readings. Computationally, it means that a fragment of a system 's state that is an instance of the pattern t can change to the corresponding instance of t 0 concurrently with any other state changes; logically, it just means that we can derive the formula t 0 from the formula t. Rewriting logic is entirely neutral about the structure and properties of the formulas/states t. They are entirely userdefinable as an algebraic data type satisfying certain equational axioms. Because of this ecumenical neutrality, rewriting logic has, from a logical viewpoint, good properties as a logical framework, in which many other logics can be naturally represented. And, computationally, it has also good properties as a semantic framework, in which many different system styles and models of concurrent computation and many different languages can be naturally expressed without any distorting encodings. The goal of this paper is to provide a relatively gentle introduction to rewriting logic, and to paint in broad strokes the main research directions that, since its introduction in 1990, have been pursued by a growing number of researchers in Europe, the US, and Japan. Key theoretical developments, as well as the main current applications of rewriting logic as a logical and semantic framework, and the work on formal reasoning to prove properties of specifications are surveyed.
Uncovering Architectural Mismatch in Component Behavior
, 1999
"... When constructing software systems from existing components, the engineer is faced with the problem of potential conflicts in the interactions among the components. Of particular difficulty is guaranteeing compatibility in the dynamic interaction behavior. Using an architectural description of the s ..."
Abstract

Cited by 23 (2 self)
 Add to MetaCart
When constructing software systems from existing components, the engineer is faced with the problem of potential conflicts in the interactions among the components. Of particular difficulty is guaranteeing compatibility in the dynamic interaction behavior. Using an architectural description of the system and its intended components, the engineer can reason about the interactions early and at a high level of abstraction. In this paper we give a case study of the Compressing Proxy system, which was first investigated by Garlan, Kindred, and Wing. We present architectural specifications and analyses of two versions of the system. One version is a seemingly obvious melding of the components. The other is a solution to deadlock problems uncovered by formal analyses of the #rst version. We use the Chemical Abstract Machine as an example of an architectural description formalism that can help uncover architectural mismatches in the behavior of components.