Results 1 -
7 of
7
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...
KASE: An Integrated Environment for Software Design
- in Artificial Intelligence in Design' 92
, 1992
"... . Software design consists of determining a high-level organization of a system that meets a given problem specification. We present a prototype system called KASE (Knowledge Assisted Software Engineering) that helps system analysts and designers design and redesign software systems. The KASE enviro ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
. Software design consists of determining a high-level organization of a system that meets a given problem specification. We present a prototype system called KASE (Knowledge Assisted Software Engineering) that helps system analysts and designers design and redesign software systems. The KASE environment provides knowledge representation and reasoning tools to integrate knowledge about general software design principles, prototypical software architectures, and application domain. Unlike CASE tools and module interconnection languages that represent the structure of a software system without its semantics, the goal of KASE is to integrate both the structure and the semantics of software modules and to provide active assistance in the design of systems. We illustrate the design process in KASE through an example, focusing on the ability of KASE to provide a co-operative man-machine design environment. 1. Introduction Software system design is a high-level organization of system compon...
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...
Agent-based Configuration Management
- In Proc. of the 7th IFIP/IEEE Int. Workshop on Distributed Systems: Operation and Management
, 1996
"... . The application of agent technology in the context of distributed systems provides the basis for a new, flexible approach to the management of such systems. In this paper we illustrate how agents are used in configuration management. The approach views a distributed system as a collection of distr ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
. The application of agent technology in the context of distributed systems provides the basis for a new, flexible approach to the management of such systems. In this paper we illustrate how agents are used in configuration management. The approach views a distributed system as a collection of distributed agents with a clear separation between various concerns that have to be addressed in distributed systems. The configuration aspect is described by defining configuration scripts on agents using the language Evolution, thus defining a configuration management interface. The implementation of the system is based on a high-performance interpreter for an actor-based language. Reconfiguration is not just confined to system structure but can also affect the agent state and hence the behaviour of an agent. Agents can be (re-)defined at run-time, which enables the dynamic definition of new agent types and the addition/modification of configuration scripts. The construction of complex manageme...
A Visual Approach to Distributed Programming
"... The Software Architect's Assistant is a visual programming environment for the design and development of Regis distributed programs. It provides the user with automated, intelligent assistance throughout the software design process. Facilities provided include the display of integrated graphical and ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The Software Architect's Assistant is a visual programming environment for the design and development of Regis distributed programs. It provides the user with automated, intelligent assistance throughout the software design process. Facilities provided include the display of integrated graphical and textual views, a flexible mechanism for recording design information and the automatic generation of program code and formatted reports from design diagrams. Software reuse is also supported through the use of component libraries. The main focus of the Assistant is on the application of visual techniques to the design and construction of parallel and distributed programs. Particular emphasis is placed on utilising the software architectural view as a framework for integrating the various software development activities, ranging from early, informal program design to the evolution of the running program. Support for graphical monitoring and management of running programs, currently provided ...
Avisualapproach To Distributed Programming
"... The Software Architect's Assistant is a visual programming environment for the design and development of Regis distributed programs. It provides the user with automated, intelligent assistance throughout the software design process. Facilities provided include the display of integrated graphical and ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The Software Architect's Assistant is a visual programming environment for the design and development of Regis distributed programs. It provides the user with automated, intelligent assistance throughout the software design process. Facilities provided include the display of integrated graphical and textual views, a flexible mechanism for recording design information and the automatic generation of program code and formatted reports from design diagrams. Software reuse is also supported through the use of component libraries. The main focus of the Assistant is on the application of visual techniques to the design and construction of parallel and distributed programs. Particular emphasis is placed on utilising the software architectural view as a framework for integrating the various software development activities, ranging from early, informal program design to the evolution of the running program. Support for graphical monitoring and management of running programs, currently provided ...
Exposing the Skeleton in the Coordination Closet
- In Coordination 97
, 1997
"... One of the ways in which we cope with large and complex systems is to abstract away some of the detail, considering them at an architectural level as compositions of interacting components. To this end, the variously termed Coordination, Configuration and Architectural Description Languages (ADL) fa ..."
Abstract
- Add to MetaCart
One of the ways in which we cope with large and complex systems is to abstract away some of the detail, considering them at an architectural level as compositions of interacting components. To this end, the variously termed Coordination, Configuration and Architectural Description Languages (ADL) facilitate description, comprehension and reasoning at that level, providing a clean separation between individual component behaviour and their interaction in a software architecture. However, in the search to provide sufficient detail for reasoning, analysis or construction, many approaches are in danger of obscuring the essential structural aspect of the architecture, thereby losing the benefit of abstraction. In this paper we argue for the use of a concise and simple language explicitly designed for describing architectural structures. This can be used to provide the "skeleton" upon which to add the particular details of concern when necessary. Systems described in this way have an explicit and exposed skeleton which, being shared, helps to maintain consistency between the various elaborated views. To illustrate our approach, we use the Darwin architectural description language and the Tracta approach for compositional reachability analysis.

