Constructing Distributed Systems in Conic
IEEE Transactions on Software Engineering
Methodical Analysis of Adaptive Load Sharing Algorithms
IEEE Transactions on Parallel and Distributed Systems
The Programmers' Playground: I/O Abstraction for User-Configurable Distributed Applications
IEEE Transactions on Software Engineering
Specifying adaptation semantics
WADS '05 Proceedings of the 2005 workshop on Architecting dependable systems
Model-based development of dynamically adaptive software
Proceedings of the 28th international conference on Software engineering
Mixed-Mode Adaptation in Distributed Systems: A Case Study
SEAMS '07 Proceedings of the 2007 International Workshop on Software Engineering for Adaptive and Self-Managing Systems
Modeling collaborations with dynamic structural adaptation in mechatronic UML
Proceedings of the 2008 international workshop on Software engineering for adaptive and self-managing systems
Assurance of dynamic adaptation in distributed systems
Journal of Parallel and Distributed Computing
Modeling of correct self-adaptive systems: a graph transformation system based approach
CSTST '08 Proceedings of the 5th international conference on Soft computing as transdisciplinary science and technology
Enabling safe dynamic component-based software adaptation
Architecting Dependable Systems III
Hi-index | 0.00 |
Distributed systems are constructed from a set of computational components which are bound together to interact and communicate to achieve some over all objective. In this paper, we examine the issues related to system configuration, particularly those related to component binding. We argue that there is a need for tools to aid the initial construction and subsequent management of the structure of distributed systems.Currently, distributed systems are most commonly structured using a client/server approach. Servers register the service they provide by installing the name and type of the service together with a reference to that service in a distinguished server generally known as a name server. Clients bind to a particular service by looking up the reference in a name server (the reference to which must be well known). Once the client has retrieved the service reference, the service may be directly invoked (although, if the reference is location independent, it may require translation to an address). ANSA[1] is an example of a distributed systems environment which conforms to this paradigm with the extension of providing a more general service than name to reference translation via its Traders. Traders provide the ability to locate services by attribute in addition to simple name lookup.Problems with the client/server approach arise when the systems we wish to construct have a more complex interconnection structure than the simple many-to-one interconnection pattern which the approach directly supports. In particular, where the distributed program is more sensibly viewed as a set of agents with peer-to-peer connections. An example is the way applications may be constructed under Unix from a pipeline of filter processes. Although all reasonable systems allow servers to be the client for other services, the interconnection process becomes tortuous. It is the authors view that as distributed systems mature and become more complex, as servers themselves are realised by distributed multi-agent programs, this problem will become more acute.