Results 1  10
of
34
Generative communication in Linda
 ACM Transactions on Programming Languages and Systems
, 1985
"... Generative communication is the basis of a new distributed programming langauge that is intended for systems programming in distributed settings generally and on integrated network computers in particular. It differs from previous interprocess communication models in specifying that messages be adde ..."
Abstract

Cited by 948 (2 self)
 Add to MetaCart
Generative communication is the basis of a new distributed programming langauge that is intended for systems programming in distributed settings generally and on integrated network computers in particular. It differs from previous interprocess communication models in specifying that messages be added in tuplestructured form to the computation environment, where they exist as named, independent entities until some process chooses to receive them. Generative communication results in a number of distinguishing properties in the new language, Linda, that is built around it. Linda is fully distributed in space and distributed in time; it allows distributed sharing, continuation passing, and structured naming. We discuss these properties and their implications, then give a series of examples. Linda presents novel implementation problems that we discuss in Part II. We are particularly concerned with implementation of the dynamic global name space that the generative communication model requires.
Using the Refinement Calculus for Dataflow Processes
 IN PROC. SECOND AUSTRALASIAN REFINEMENT WORKSHOP
, 1994
"... The refinement calculus, based on predicate transformer semantics, is proving useful in the construction of sequential programs. It is argued that the refinement calculus provides a suitable development formalism for (possibly realtime) dataflowlike processes. Conventional precondition and pos ..."
Abstract

Cited by 16 (2 self)
 Add to MetaCart
The refinement calculus, based on predicate transformer semantics, is proving useful in the construction of sequential programs. It is argued that the refinement calculus provides a suitable development formalism for (possibly realtime) dataflowlike processes. Conventional precondition and postcondition specifications of sequential programs are generalised to assumption and effect specifications of processes. Such specifications may be given predicate transformer semantics and then formally refined to implementations in much the same way as precondition and postcondition specifications of sequential programs. A minimal collection of dataflowprocess operators and associated refinement laws is considered. Small examples of dataflowprocess development are presented to demonstrate the utility of the approach. The compositionality of the approach is considered in detail.
Between Functions and Relations in Calculating Programs
, 1992
"... This thesis is about the calculational approach to programming, in which one derives programs from specifications. One such calculational paradigm is Ruby, the relational calculus developed by Jones and Sheeran for describing and designing circuits. We identify two shortcomings with derivations made ..."
Abstract

Cited by 15 (4 self)
 Add to MetaCart
This thesis is about the calculational approach to programming, in which one derives programs from specifications. One such calculational paradigm is Ruby, the relational calculus developed by Jones and Sheeran for describing and designing circuits. We identify two shortcomings with derivations made using Ruby. The first is that the notion of a program being an implementation of a specification has never been made precise. The second is to do with types. Fundamental to the use of type information in deriving programs is the idea of having types as special kinds of programs. In Ruby, types are partial equivalence relations (pers). Unfortunately, manipulating some formulae involving types has proved difficult within Ruby. In particular, the preconditions of the `induction' laws that are much used within program derivation often work out to be assertions about types; such assertions have typically been verified either by informal arguments or by using predicate calculus, rather than by ap...
Foundations of a Theory of Specification for Distributed Systems
, 1984
"... This thesis investigates a particular approach, called statetransition specification, to the problem of describing the behavior of modules in a distributed or concurrent computer ,stem. A statetransition specification consists off (1) a state machine, which incorporates the safety or invariance pr ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
This thesis investigates a particular approach, called statetransition specification, to the problem of describing the behavior of modules in a distributed or concurrent computer ,stem. A statetransition specification consists off (1) a state machine, which incorporates the safety or invariance properties of the module, and (2) validity conditions on the computations of the machine, which'capture the desired liveness or eventu;lity properties. The theory and techniques of state. transition specification are developed'from first principles to a point at which it is possible to write example sPeCificatiOns,'to checkthe Specifications for coraiatency, and to perform correctlse examples.
Realtime Signal Processing  Dataflow, Visual, and Functional Programming
, 1995
"... This thesis presents and justifies a framework for programming realtime signal processing systems. The framework extends the existing "blockdiagram" programming model; it has three components: a very highlevel textual language, a visual language, and the dataflow process network model of computat ..."
Abstract

Cited by 13 (1 self)
 Add to MetaCart
This thesis presents and justifies a framework for programming realtime signal processing systems. The framework extends the existing "blockdiagram" programming model; it has three components: a very highlevel textual language, a visual language, and the dataflow process network model of computation. The dataflow process network model, although widelyused, lacks a formal description, and I provide a semantics for it. The formal work leads into a new form of actor. Having established the semantics of dataflow processes, the functional language Haskell is layered above this model, providing powerful featuresnotably polymorphism, higherorder functions, and algebraic program transformationabsent in blockdiagram systems. A visual equivalent notation for Haskell, Visual Haskell, ensures that this power does not exclude the "intuitive" appeal of visual interfaces; with some intelligent layout and suggestive icons, a Visual Haskell program can be made to look very like a block dia...
Dataflow Models
 Parallel and Distributed Computing Handbook. McGrawHill
, 1995
"... ol to another instruction unconditionally or when some condition holds. The method for executing this program is to start at the first instruction of the program, execute it, and proceed to the next instruction unless the executed instruction requires transfer of control. In the latter case, instruc ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
ol to another instruction unconditionally or when some condition holds. The method for executing this program is to start at the first instruction of the program, execute it, and proceed to the next instruction unless the executed instruction requires transfer of control. In the latter case, instruction execution continues from the instruction to which control is transferred. For example, consider a program to evaluate the following expression. c = if n == 0 then a+b else ab fi Draft of chapter to appear in Parallel and Distributed Computing Handbook (E.Y. Zomaya, Editor), McGrawHill, 1995. When using a controlflow computing model, the program will be translated into a series of instructions starting with an instruction comparing n to 0 and either transferring control to an instruction adding a to b or to an instruction subtracting b from a and, in both
A Logical Basis for ComponentBased Systems Engineering
 Calculational System Design. IOS
, 1999
"... In a systematic development of distributed interactive software systems composed of components we work with a basic system model and description techniques providing specific views and abstractions of systems such as . the interface view, . the distribution view, and . the state transition view. ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
In a systematic development of distributed interactive software systems composed of components we work with a basic system model and description techniques providing specific views and abstractions of systems such as . the interface view, . the distribution view, and . the state transition view.
Reaction and Control I. Mixing Additive and Multiplicative Network Algebras
 Logic Journal of the IGPL
, 1996
"... . This paper is included in a series aiming to contribute to the algebraic theory of distributed computation. The key problem in understanding MultiAgent Systems is to find a theory which integrates the reactive part and the control part of such systems. To this end we use the calculus of flownomi ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
. This paper is included in a series aiming to contribute to the algebraic theory of distributed computation. The key problem in understanding MultiAgent Systems is to find a theory which integrates the reactive part and the control part of such systems. To this end we use the calculus of flownomials. It is a polynomiallike calculus for representing flowgraphs and their behaviours. An `additive' interpretation of the calculus was intensively developed to study control flowcharts and finite automata. For instance, regular algebra and iteration theories are included in a unified presentation. On the other hand, a `multiplicative' interpretation of the calculus of flownomials was developed to study dataflow networks. The claim of this series of papers is that the mixture of the additive and multiplicative network algebras will contribute to the understanding of distributed computation. The role of this first paper is to present a few motivating examples. To appear in Journal of IGPL....
The Algebra of Stream Processing Functions
 THEORETICAL COMPUTER SCIENCE
, 1996
"... Dataflow networks are a model of concurrent computation. They consist of a collection of concurrent asynchronous processes which communicate by sending data over FIFO channels. In this paper we study the algebraic structure of the dataflow networks and base their semantics on stream processing funct ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
Dataflow networks are a model of concurrent computation. They consist of a collection of concurrent asynchronous processes which communicate by sending data over FIFO channels. In this paper we study the algebraic structure of the dataflow networks and base their semantics on stream processing functions. The algebraic theory is provided by the calculus of flownomials which gives a unified presentation of regular algebra and iteration theories. The kernel of the calculus is an equational axiomatization called Basic Network Algebra (BNA) for flowgraphs modulo graph isomorphism. We show that the algebra of stream processing functions called SPF (used for deterministic networks) and the algebra of sets of stream processing functions called PSPF (used for nondeterministic networks) are BNA algebras. As a byproduct this shows that both semantic models are compositional. We also identify the additional axioms satisfied by the branching components that correspond to constants in these two a...