Results 1 - 10
of
14
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 155 (22 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...
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 33 (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.
LicenseScript: A Novel Digital Rights Language and its Semantics
- 3rd International Conference on Web Delivering of Music (WEDELMUSIC), pages 122–129, Los Alamitos, California, United States
, 2003
"... We propose LicenseScript as a new multiset rewriting /logic based language for expressing dynamic conditions of use of digital assets such as music, video or private data. LicenseScript differs from other DRM languages in that it caters for the intentional but legal manipulation of data. We believe ..."
Abstract
-
Cited by 18 (10 self)
- Add to MetaCart
We propose LicenseScript as a new multiset rewriting /logic based language for expressing dynamic conditions of use of digital assets such as music, video or private data. LicenseScript differs from other DRM languages in that it caters for the intentional but legal manipulation of data. We believe this feature is the answer to providing the flexibility needed to support emerging usage paradigms of digital data. We provide the language with a simple semantics based on traces.
Coordination Languages for Parallel Programming
- Parallel Computing
, 1998
"... this article we will identify some basic principles of coordination languages, describe some examples, and introduce the rest of the papers in this special issue. 2 Basic Principles ..."
Abstract
-
Cited by 13 (6 self)
- Add to MetaCart
this article we will identify some basic principles of coordination languages, describe some examples, and introduce the rest of the papers in this special issue. 2 Basic Principles
Gamma And The Chemical Reaction Model
, 1996
"... Gamma was originally proposed in 1986 as a formalism for the definition of programs without artificial sequentiality. The basic idea underlying the formalism is to describe computation as a form of chemical reaction on a collection of individual pieces of data. Due to the very minimal nature of the ..."
Abstract
-
Cited by 12 (1 self)
- Add to MetaCart
Gamma was originally proposed in 1986 as a formalism for the definition of programs without artificial sequentiality. The basic idea underlying the formalism is to describe computation as a form of chemical reaction on a collection of individual pieces of data. Due to the very minimal nature of the language, and its absence of sequential bias, it has been possible to exploit this initial paradigm in various directions. 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. Key-words: implicit parallelism, correctness proof, specification, program derivation, termination, abstract machine
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 context-free 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...
The influence of coordination on program structure
- in: Proceedings of the 30th Hawaii International Conference on System Sciences (IEEE
, 1997
"... In this paper, we examine the inherent properties of some of the most popular coordination models of today and show how they contribute to the difficulty of systematic construction of coordination protocols for the cooperation of concurrent processes, as explicit, tangible pieces of software. They i ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
In this paper, we examine the inherent properties of some of the most popular coordination models of today and show how they contribute to the difficulty of systematic construction of coordination protocols for the cooperation of concurrent processes, as explicit, tangible pieces of software. They include the object oriented models of communication and the generative tuple space paradigm of models such as Linda. We then describe a new generic model: Idealized Worker Idealized Manager (IWIM) and discuss its advantages for coordination of concurrent activities, especially in controloriented applications. We demonstrate its “completeness” by showing that it can trivially emulate other well-known communication and coordination models. Separation of computation and coordination code into different program modules is one of the important properties of this model, which is fully exploited in the pure coordination language MANIFOLD. 1.
Coordination Among Mobile Objects
- IN PROC. OF COORDINATION'99, VOL. 1594 OF LNCS
, 1999
"... When designing distributed object-based systems one is often faced with the problem of modeling the movement of objects from site to site in a distributed network. In order to model such an activity, some supervising or coordination mechanisms are needed, to insure correctness of both movement and c ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
When designing distributed object-based systems one is often faced with the problem of modeling the movement of objects from site to site in a distributed network. In order to model such an activity, some supervising or coordination mechanisms are needed, to insure correctness of both movement and communication in the network. In this paper we propose distributed object-based action systems as a basis for (coordinated) mobile computing. In order to model mobility and coordination we extend the action systems and OO-action systems formalisms with so called mobile objects and coordinator objects. The mobile objects move in some domain whereas the coordinator objects control the actions of the mobile objects within their respective domains. We show the applicability of the proposed framework with a small though nontrivial example.
Coordinating Action Systems
- In [19
, 1997
"... We develop an action systems based approach that supports the separation of design of the functional or computation aspects of a system under construction from the coordination and synchronisation issues. The computation aspects are modelled as nondeterministic actions that work in parallel with the ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
We develop an action systems based approach that supports the separation of design of the functional or computation aspects of a system under construction from the coordination and synchronisation issues. The computation aspects are modelled as nondeterministic actions that work in parallel with the coordination actions, which impose some control on this nondeterministic part. We define a special form of action systems that models this type of coordination activity. Certain forms of real time scheduling and coordination as well as exception handling are shown to be special cases of our approach. We show how the coordinators can be stepwise brought about from a high-level specification of the target system and how the reasoning about their behaviours is carried out separately from the computation aspects of the system within the refinement calculus. Keywords: Coordination, scheduling, action systems, refinement TUCS Research Group Programming Methodology Research Group 1 Introduction...
Notions of Refinement for a Coordination Language for Gamma
- In Proceedings of the Theory and Formal Methods Workshop
, 1997
"... Gamma has shown to be a powerful and expressive formalism that allows the basic computation of an algorithm to be expressed with a minimum of control. In a second stage of the design process, the highly nondeterministic behaviour of Gamma can be exploited to impose additional control using a separat ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Gamma has shown to be a powerful and expressive formalism that allows the basic computation of an algorithm to be expressed with a minimum of control. In a second stage of the design process, the highly nondeterministic behaviour of Gamma can be exploited to impose additional control using a separate coordination language. Separating computation from coordination facilitates correctness proofs of the computation component, because operational details need not be taken into account. In this respect it is important that the coordination component does not invalidate the established correctness of the program. In this paper we propose several notions of refinement that allow the coordination component of a Gamma program to be constructed through a correctness preserving derivation process. We show that the notions can be combined into a hybrid proof method that can be used to reason about different properties of the coordination component. A short version of this report appears as [6] ...

