Generative communication in Linda
ACM Transactions on Programming Languages and Systems (TOPLAS)
Supporting Fault-Tolerant Parallel Programming in Linda
IEEE Transactions on Parallel and Distributed Systems
Proceedings of the 21st international conference on Software engineering
JavaSpaces Principles, Patterns, and Practice
JavaSpaces Principles, Patterns, and Practice
Using mobile code to provide fault tolerance in tuple space based coordination languages
Science of Computer Programming - Special issue on coordination languages and architectures
IBM Systems Journal
An experimental evaluation of self-managing availability in shared data spaces
Science of Computer Programming
GSpace: an architectural approach for self-managing extra-functional concerns
CSTST '08 Proceedings of the 5th international conference on Soft computing as transdisciplinary science and technology
Utility-driven proactive management of availability in enterprise-scale information flows
Proceedings of the ACM/IFIP/USENIX 2006 International Conference on Middleware
Utility-driven proactive management of availability in enterprise-scale information flows
Middleware'06 Proceedings of the 7th ACM/IFIP/USENIX international conference on Middleware
Using LIME to support replication for availability in mobile ad hoc networks
COORDINATION'06 Proceedings of the 8th international conference on Coordination Models and Languages
Hi-index | 0.00 |
With its decoupling of processes in space and time, the shared data space model has proven to be a well-suited solution for developing distributed component-based systems. However, as in many distributed applications, functional and extra-functional aspects are still interwoven in components. In this paper, we address how shared data spaces can support separation of concerns. In particular, we present a solution that allows developers to merely specify performance and availability requirements for data tuples, while the underlying middleware evaluates various distribution and replication policies in order to select the one that meets these requirements best. Moreover, in our approach, the middleware continuously monitors the behavior of application and system components, and switches to different policies if this would lead to better results. We describe our approach, along with the design of a prototype implementation and its quantitative evaluation.