Results 1 -
5 of
5
Specifying Distributed Software Architectures
, 1995
"... There is a real need for clear and sound design specifications of distributed systems at the architectural level. This is the level of the design which deals with the high-level organisation of computational elements and the interactions between those elements. The paper presents the Darwin notation ..."
Abstract
-
Cited by 312 (21 self)
- Add to MetaCart
There is a real need for clear and sound design specifications of distributed systems at the architectural level. This is the level of the design which deals with the high-level organisation of computational elements and the interactions between those elements. The paper presents the Darwin notation for specifying this high-level organisation. Darwin is in essence a declarative binding language which can be used to define hierarchic compositions of interconnected components. Distribution is dealt with orthogonally to system structuring. The language supports the specification of both static structures and dynamic structures which may evolve during execution. The central abstractions managed by Darwin are components and services. Services are the means by which components interact. In addition to its use in specifying the architecture of a distributed system, Darwin has an operational semantics for the elaboration of specifications such that they may be used at runtime to di...
Models and Languages for Parallel Computation
- ACM COMPUTING SURVEYS
, 1998
"... We survey parallel programming models and languages using 6 criteria [:] should be easy to program, have a software development methodology, be architecture-independent, be easy to understand, guranatee performance, and provide info about the cost of programs. ... We consider programming models in ..."
Abstract
-
Cited by 121 (4 self)
- Add to MetaCart
We survey parallel programming models and languages using 6 criteria [:] should be easy to program, have a software development methodology, be architecture-independent, be easy to understand, guranatee performance, and provide info about the cost of programs. ... We consider programming models in 6 categories, depending on the level of abstraction they provide.
Semantics of a Higher-Order Coordination Language
- Coordination Languages and Models, First Intl. Conf
"... . A distributed program can be viewed as a composition of three parts. Firstly, there is a coordination part which provides a hierarchical structure of components with dynamic binding. Secondly, there is the actual communication part which provides the interaction and synchronisation required by the ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
. A distributed program can be viewed as a composition of three parts. Firstly, there is a coordination part which provides a hierarchical structure of components with dynamic binding. Secondly, there is the actual communication part which provides the interaction and synchronisation required by the system. Finally, there is the computation part providing the component programs. Darwin is a language for describing distributed configurations in terms of component types, their instantiation to components with interfaces and the binding of those interfaces. A Darwin program thus defines a class of configurations. Although the language is very small it contains second-order constructs: component types can appear as parameters in the instantiation of other component types. Furthermore Darwin provides support for dynamic run-time instantiation of components. Component types therefore must have a run-time representation. The coordination part of a distributed program has to be closely associa...
What Do You Get From a pi-calculus Semantics?
"... . Darwin is a programming system for the development of distributed and parallel programs. Darwin programs consist of three parts. Firstly, there is a configuration part which provides a hierarchical structure of components with dynamic binding. Secondly, there is the actual communication part which ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
. Darwin is a programming system for the development of distributed and parallel programs. Darwin programs consist of three parts. Firstly, there is a configuration part which provides a hierarchical structure of components with dynamic binding. Secondly, there is the actual communication part which provides the interaction and synchronisation required by the system. Finally, there is the computation part providing the component programs written in C++. The subdivision of concurrent programs into organisation, communication and computation leads to programs that are easy to specify, compile and execute. In order to specify precisely the behaviour of Darwin programs, we translate the organisation and communication into the ß-calculus, a formalism for modelling concurrent processes. The ß-calculus specification enables us to deduce behavioural properties of Darwin programs. 1 Introduction The behaviour of an executing program should not come as a surprise to the writer of that program....
Formalising System Structure
- In Int. Workshop on Software Speci and Design
, 1996
"... Darwin is a language designed for configuring distributed systems. A system is modelled as a decompositional hierarchy of components with interfaces. Connections are represented as bindings between interfaces. Darwin programs define component types. Configurations of a system are obtained by instant ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Darwin is a language designed for configuring distributed systems. A system is modelled as a decompositional hierarchy of components with interfaces. Connections are represented as bindings between interfaces. Darwin programs define component types. Configurations of a system are obtained by instantiating these types. Configurations have to comply with a number of constraints on the system structure. It is therefore intuitive to express these constraints in the domain of configurations rather than on the language level. To succeed in this endeavour we need to precisely express the relation between Darwin programs and configurations. We do this in terms of a firstorder logic theory of Darwin programs and configurations. Models of the theory provide a straightforward mapping from Darwin programs to configurations and vice versa. Most of the constraints on configurations as well as structural transformations can be specified by adding just a few axioms to the theory. Also the theory enab...

