Specifying Distributed Software Architectures

Specifying Distributed Software Architectures

| Jeff Magee, Naranker Dulay, Susan Eisenbach and Jeff Kramer
The paper presents Darwin, a declarative notation for specifying the high-level architecture of distributed systems. Darwin is used to define hierarchical compositions of interconnected components and deals with distribution independently of system structuring. It supports both static and dynamic structures that may evolve during execution. The central abstractions in Darwin are components and services, with services being the means by which components interact. Darwin has an operational semantics that allows specifications to be elaborated at runtime to direct the construction of the desired system. The paper describes Darwin's operational semantics in terms of the π-calculus, Milner's calculus of mobile processes. The correspondence between the treatment of names in the π-calculus and the management of services in Darwin leads to an elegant and concise π-calculus model of Darwin's operational semantics. This model is used to argue the correctness of the Darwin elaboration process. The paper discusses the use of Darwin in the context of distributed systems, including the Regis system and the Sysman project. Darwin allows the specification of both static and dynamic structures. It has a distributed and concurrent interpretation, allowing the construction of large distributed systems efficiently. Darwin also allows physical distribution to be specified completely orthogonally to logical structure. It allows interaction with external management agents that can direct structural changes in response to changing system requirements. The aim of Darwin being general purpose requires a clear division of responsibilities between Darwin and the primitive components it configures. The requirement that Darwin should be capable of concurrent elaboration demands a clear and unambiguous model of Darwin's operational behaviour. The paper models Darwin in the π-calculus to satisfy these requirements. The paper initially describes the basic features of Darwin and outlines how these are modelled in the π-calculus. This basic model is then used to prove some properties of Darwin configurations. The paper demonstrates that the basic π-calculus model can be extended to incorporate those parts of Darwin concerned with dynamic structures and concludes by comparing the Darwin/π-calculus approach with related work.The paper presents Darwin, a declarative notation for specifying the high-level architecture of distributed systems. Darwin is used to define hierarchical compositions of interconnected components and deals with distribution independently of system structuring. It supports both static and dynamic structures that may evolve during execution. The central abstractions in Darwin are components and services, with services being the means by which components interact. Darwin has an operational semantics that allows specifications to be elaborated at runtime to direct the construction of the desired system. The paper describes Darwin's operational semantics in terms of the π-calculus, Milner's calculus of mobile processes. The correspondence between the treatment of names in the π-calculus and the management of services in Darwin leads to an elegant and concise π-calculus model of Darwin's operational semantics. This model is used to argue the correctness of the Darwin elaboration process. The paper discusses the use of Darwin in the context of distributed systems, including the Regis system and the Sysman project. Darwin allows the specification of both static and dynamic structures. It has a distributed and concurrent interpretation, allowing the construction of large distributed systems efficiently. Darwin also allows physical distribution to be specified completely orthogonally to logical structure. It allows interaction with external management agents that can direct structural changes in response to changing system requirements. The aim of Darwin being general purpose requires a clear division of responsibilities between Darwin and the primitive components it configures. The requirement that Darwin should be capable of concurrent elaboration demands a clear and unambiguous model of Darwin's operational behaviour. The paper models Darwin in the π-calculus to satisfy these requirements. The paper initially describes the basic features of Darwin and outlines how these are modelled in the π-calculus. This basic model is then used to prove some properties of Darwin configurations. The paper demonstrates that the basic π-calculus model can be extended to incorporate those parts of Darwin concerned with dynamic structures and concludes by comparing the Darwin/π-calculus approach with related work.
Reach us at info@futurestudyspace.com
Understanding Specifying Distributed Software Architectures