The Road to a more Configurable and Adaptive Communication and Coordination Support - Rodrigues, Luís (2009)
The implementation of distributed applications is an increasingly complex task. Not only the users require new and more complex functionalities but these have to be provided considering a large set of non-functional requirements such as high performance, fault-tolerance, timeliness, etc. Therefore, communication and coordination services, offered at the operating system or middleware level, assume a fundamental role in the development of efficient and robust software. This paper discusses the problem of designing and implementing the communication and coordination support for distributed applications. One way to implement these services is to rely on application-specific solutions, in an attempt to obtain the best performance possible. In this paper, we champion a different approach that consists in supporting adaptation, configuration and composition at all levels of the system development, namely: i) abstractions; ii) algorithms and; iii) implementations. Using different examples we show that this approach allows to obtain solutions that are generic, re-usable and efficient