Results 1 - 10
of
71
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...
Dynamic structure in software architectures
- In Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering
, 1996
"... Much of the recent work on Architecture Description Languages (ADL) has concentrated on specifying organisations of components and connectors which are static. When the ADL specification is used to drive system construction, then the structure of the resulting system in terms of its component instan ..."
Abstract
-
Cited by 182 (5 self)
- Add to MetaCart
Much of the recent work on Architecture Description Languages (ADL) has concentrated on specifying organisations of components and connectors which are static. When the ADL specification is used to drive system construction, then the structure of the resulting system in terms of its component instances and their interconnection is fixed. This paper examines ADL features which permit the description of dynamic software architectures in which the organisation of components and connectors may change during system execution. The paper outlines examples of language features which support dynamic structure. These examples are taken from Darwin, a language used to describe distributed system structure. An operational semantics for these features is presented in the n-calculus, together with a discussion of their advantages and limitations. The paper discusses some general approaches to dynamic architecture description suggested by these examples. 1
SOFA/DCUP: Architecture for Component Trading and Dynamic Updating
, 1998
"... In this paper, the authors address some of the challenges of the current technologies in the area of component-based programming and automated software downloading. These challenges include: component updating at runtime of affected applications, adopting the "true-push" model in order to allow f ..."
Abstract
-
Cited by 138 (29 self)
- Add to MetaCart
In this paper, the authors address some of the challenges of the current technologies in the area of component-based programming and automated software downloading. These challenges include: component updating at runtime of affected applications, adopting the "true-push" model in order to allow for silent software modification (e.g. for removing minor implementation errors), and finding a way to integrate these technologies and electronic commerce in software components. To respond to these challenges, the SOFA (SOFtware Appliances) architecture, the SOFA component model and its extension, DCUP (Dynamic Component UPdating), are introduced. SOFA and DCUP provide a small set of well scaling orthogonal abstractions which address three areas: the background for electronic commerce, the component model, and support for dynamic component updating in running applications. The updating granularity can scale anything from minor implementation changes to a major reconfiguration. In contrast with the usual belief that it is difficult to map abstractions supporting component based programming to concrete computer systems, the abstractions proposed by DCUP are very easy to map to the Java and CORBA programming environments.
Behaviour analysis of software architectures
- In Software Architecture
, 1999
"... Abstract: The overall structure of a system described by a set of components and their interconnections is termed its software architecture. In this paper, we associate behavioural specifications with components and use these specifications to analyze the overall system architecture. The approach is ..."
Abstract
-
Cited by 58 (6 self)
- Add to MetaCart
Abstract: The overall structure of a system described by a set of components and their interconnections is termed its software architecture. In this paper, we associate behavioural specifications with components and use these specifications to analyze the overall system architecture. The approach is based on the use of Labelled Transition Systems to specify behaviour and Compositional Reachability Analysis to check composite system models. The architecture description of a system is used directly in the construction of the model used for analysis. Analysis allows a designer to check whether an architecture satisfies the properties required of it. The paper uses examples to illustrate the approach and discusses some open questions arising from the work. 1
GEM - A Generalised Event Monitoring Language for Distributed Systems
- IEE/IOP/BCS Distributed Systems Engineering Journal
, 1997
"... Event based monitoring is critical for managing and debugging networks and distributed systems. This paper presents GEM -- an interpreted Generalised Event Monitoring language. It allows high level, abstract events to be specified in terms of combinations of lower level events from different nodes i ..."
Abstract
-
Cited by 58 (8 self)
- Add to MetaCart
Event based monitoring is critical for managing and debugging networks and distributed systems. This paper presents GEM -- an interpreted Generalised Event Monitoring language. It allows high level, abstract events to be specified in terms of combinations of lower level events from different nodes in a loosely coupled distributed system. Event monitoring components can thus be distributed within the system to perform filtering, correlation and notification of events close to where they occur and thus reduce network traffic. GEM is a declarative rule based language in which the notion of real time has been closely integrated and various temporal constraints can be specified for event composition. The paper discusses the effect of communication delays on composite event detection and presents a tree-based solution for dealing with out-of-order event arrivals at event monitors. Keywords: Monitoring distributed systems, event reporting, event correlation, event filtering, composite event...
Exploiting ADLs to Specify Architectural Styles Induced by Middleware Infrastructures
- In Proceedings of the 21st international conference on Software engineering
, 1999
"... Architecture Definition Languages (ADLs) enable the formalization of the architecture of software systems and the execution of preliminary analyses on them. These analyses aim at supporting the identification and solution of design problems in the early stages of software development. We have used A ..."
Abstract
-
Cited by 51 (3 self)
- Add to MetaCart
Architecture Definition Languages (ADLs) enable the formalization of the architecture of software systems and the execution of preliminary analyses on them. These analyses aim at supporting the identification and solution of design problems in the early stages of software development. We have used ADLs to describe middleware-induced architectural styles. These styles describe the assumptions and constraints that middleware infrastructures impose on the architecture of systems. Our work originates from the belief that the explicit representation of these styles at the architectural level can guide designers in the definition of an architecture compliant with a pre-selected middleware infrastructure, or, conversely can support designers in the identification of the most suitable middleware infrastructure for a specific architecture. In this paper we provide an evaluation of ADLs as to their suitability for defining middleware-induced architectural styles. We identify new requirements fo...
GEM: A Generalized Event Monitoring Language for Distributed Systems
- IEE/IOP/BCS Distributed Systems Engineering Journal
, 1997
"... Abstract. Event-based monitoring is critical for managing and debugging networks and distributed systems. This paper presents GEM—an interpreted generalized event monitoring language. It allows high-level, abstract events to be specified in terms of combinations of lower-level events from different ..."
Abstract
-
Cited by 47 (0 self)
- Add to MetaCart
Abstract. Event-based monitoring is critical for managing and debugging networks and distributed systems. This paper presents GEM—an interpreted generalized event monitoring language. It allows high-level, abstract events to be specified in terms of combinations of lower-level events from different nodes in a loosely coupled distributed system. Event monitoring components can thus be distributed within the system to perform filtering, correlation and notification of events close to where they occur and thus reduce network traffic. GEM is a declarative rule-based language in which the notion of real time has been closely integrated and various temporal constraints can be specified for event composition. The paper discusses the effect of communication delays on composite event detection and presents a tree-based solution for dealing with out-of-order event arrivals at event monitors. 1.
Dynamic and selective combination of extensions in component-based applications
- In Proceedings of the 23rd International Conference on Software Engeneering (ICSE’01
, 2001
"... Support for dynamic and client-specific customization is required in many application areas. We present a (distributed) application as consisting of a minimal functional core – implemented as a component-based system, and an unbound set of potential extensions that can be selectively integrated with ..."
Abstract
-
Cited by 38 (9 self)
- Add to MetaCart
Support for dynamic and client-specific customization is required in many application areas. We present a (distributed) application as consisting of a minimal functional core – implemented as a component-based system, and an unbound set of potential extensions that can be selectively integrated within this core functionality. An extension to this core may be a new service, due to new requirements of end users. Another important category of extensions we consider, are non-functional services such as authentication, which typically introduce interaction refinements at the application level. In accordance to the separation of concerns principle, each extension is implemented as a layer of mixin-like wrappers. Each wrapper incrementally adds behavior and state to a core component instance from the outside, without modifying the component’s implementation. The novelty of this work is that the composition logic, responsible for integrating extensions into the core system, is externalized from the code of clients, core system and extensions. Clients (end users, system integrators) can customize this composition logic on a per collaboration basis by ‘attaching ’ high-level interpretable extension identifiers to their interactions with the core system. 1.
Analysing Dynamic Change in Software Architectures: A case study
, 1998
"... The software architecture of a system is the overall structure of the system in terms of its constituent components and their interconnections. Dynamic changes to the instantiated system architecture -- to the components and/or interconnections - may take place while it is running. In order that the ..."
Abstract
-
Cited by 35 (1 self)
- Add to MetaCart
The software architecture of a system is the overall structure of the system in terms of its constituent components and their interconnections. Dynamic changes to the instantiated system architecture -- to the components and/or interconnections - may take place while it is running. In order that these changes do not violate the integrity of the system, we adopt a general model of dynamic configuration which only permits change to occur when the affected portions of the system are quiescent. In this paper we investigate the ability to perform behaviour analysis on systems which conform to the change model. Our analysis approach associates behavioural specifications with the components of a software architecture and analyses the behaviour of systems composed from these components. We use Labelled Transition Systems to specify behaviour and Compositional Reachability Analysis to check composite system models. We model the changes that can occur and use analysis to check that the architect...
Aster: A Framework for Sound Customization of Distributed Runtime Systems
- In Proceedings of the Sixteenth IEEE International Conference on Distributed Computing Systems
, 1996
"... This paper introduces the Aster distributed configuration -based programming system that is aimed at easing the development of emerging distributed applications having quality of service requirements. Our approach is based on high-level customization: given the specification of application requireme ..."
Abstract
-
Cited by 30 (9 self)
- Add to MetaCart
This paper introduces the Aster distributed configuration -based programming system that is aimed at easing the development of emerging distributed applications having quality of service requirements. Our approach is based on high-level customization: given the specification of application requirements using the Aster interconnection language, a distributed runtime system, customized for meeting these requirements is built. So as to make the customization process sound, we propose a formal method that allows to reason about specification matching of a customized distributed runtime system with the application's requirements. 1 Introduction Progress in processor and network technology leads to an evolution of distributed computing systems: they are now eligible for supporting a wide class of applications, ranging from online multimedia services to massively parallel applications. However, for this use of computing systems to become effective, open issues relevant to the programming sys...

