Constructing Distributed Systems in Conic
IEEE Transactions on Software Engineering
A Component- and Message-Based Architectural Style for GUI Software
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
Using weaves for software construction and analysis
ICSE '91 Proceedings of the 13th international conference on Software engineering
A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
Acme: architectural description of component-based systems
Foundations of component-based systems
Monitoring, security, and dynamic configuration with the dynamicTAO reflective ORB
IFIP/ACM International Conference on Distributed systems platforms
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
ArchJava: connecting software architecture to implementation
Proceedings of the 24th International Conference on Software Engineering
Self-organising software architectures for distributed systems
WOSS '02 Proceedings of the first workshop on Self-healing systems
Using speakeasy for ad hoc peer-to-peer collaboration
CSCW '02 Proceedings of the 2002 ACM conference on Computer supported cooperative work
Project Aura: Toward Distraction-Free Pervasive Computing
IEEE Pervasive Computing
ConChat: A Context-Aware Chat Program
IEEE Pervasive Computing
A Middleware Infrastructure for Active Spaces
IEEE Pervasive Computing
An Architecture-Based Approach to Self-Adaptive Software
IEEE Intelligent Systems
An Efficient Component Model for the Construction of Adaptive Middleware
Middleware '01 Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg
Software Architecture-Based Adaptation for Pervasive Systems
ARCS '02 Proceedings of the International Conference on Architecture of Computing Systems: Trends in Network and Pervasive Computing
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Dynamic Accommodation of Change: Automated Architecture Configuration of Distributed Systems
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
Dynamic Component Gluing Across Different Componentware Systems
DOA '99 Proceedings of the International Symposium on Distributed Objects and Applications
BASE " A Micro-Broker-Based Middleware for Pervasive Computing
PERCOM '03 Proceedings of the First IEEE International Conference on Pervasive Computing and Communications
The Event Heap: A Coordination Infrastructure for Interactive Workspaces
WMCSA '02 Proceedings of the Fourth IEEE Workshop on Mobile Computing Systems and Applications
Aster: a framework for sound customization of distributed runtime systems
ICDCS '96 Proceedings of the 16th International Conference on Distributed Computing Systems (ICDCS '96)
Supporting Hot-Swappable Components for System Software
HOTOS '01 Proceedings of the Eighth Workshop on Hot Topics in Operating Systems
Aurora: a new model and architecture for data stream management
The VLDB Journal — The International Journal on Very Large Data Bases
PCOM - A Component System for Pervasive Computing
PERCOM '04 Proceedings of the Second IEEE International Conference on Pervasive Computing and Communications (PerCom'04)
Dynamically programmable and reconfigurable middleware services
Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware
Fault-tolerance in the Borealis distributed stream processing system
Proceedings of the 2005 ACM SIGMOD international conference on Management of data
Self-Adaptive Component-based transaction Commit Management
ARM '05 Proceedings of the 4th workshop on Reflective and adaptive middleware systems
IEEE Transactions on Parallel and Distributed Systems
Reducing Configuration Overhead with Goal-oriented Programming
PERCOMW '06 Proceedings of the 4th annual IEEE international conference on Pervasive Computing and Communications Workshops
Knit: component composition for systems software
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Network-sensitive service discovery
USITS'03 Proceedings of the 4th conference on USENIX Symposium on Internet Technologies and Systems - Volume 4
Querying the internet with PIER
VLDB '03 Proceedings of the 29th international conference on Very large data bases - Volume 29
Structured Decomposition of Adaptive Applications
PERCOM '08 Proceedings of the 2008 Sixth Annual IEEE International Conference on Pervasive Computing and Communications
PICO: A Middleware Framework for Pervasive Computing
IEEE Pervasive Computing
A dynamic platform for runtime adaptation
PERCOM '09 Proceedings of the 2009 IEEE International Conference on Pervasive Computing and Communications
An architecture for next generation middleware
Middleware '98 Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing
Managing dynamic reconfiguration in component-based systems
EWSA'05 Proceedings of the 2nd European conference on Software Architecture
An aspect-oriented approach for developing self-adaptive fractal components
SC'06 Proceedings of the 5th international conference on Software Composition
HDS: a software framework for the realization of pervasive applications
WSEAS Transactions on Computers
Spatial Coordination of Pervasive Services through Chemical-Inspired Tuple Spaces
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Using typed messages and message filters for the realization of pervasive applications
ICCOMP'10 Proceedings of the 14th WSEAS international conference on Computers: part of the 14th WSEAS CSCC multiconference - Volume I
Hi-index | 0.00 |
We present a middleware platform for assembling pervasive applications that demand fault-tolerance and adaptivity in distributed, dynamic environments. Unlike typical adaptive middleware approaches, in which sophisticated component model semantics are embedded into an existing, underlying platform (e.g., CORBA, COM, EJB), we propose a platform that imposes minimal constraints for greater flexibility. Such a tradeoff is advantageous when the platform is targeted by automatic code generators that inherently enforce correctness by construction. Applications are written as simple, single-threaded programs that assemble and monitor a set of distributed components. The approach decomposes applications into two distinct layers: (1) a distributed network of interconnected modules performing computations, and (2) constructor logic that assembles that network via a simple block-diagram construction API. The constructor logic subsequently monitors the configured system via a stream of high-level events, such as notifications of resource availability or failures, and consequently provides a convenient, centralized location for reconfiguration and debugging. The component network is optimized for performance, while the construction API is optimized for ease of assembly. Microbenchmarks indicate that our runtime incurs minimal overhead. In addition to describing the programming model, platform implementation, and a variety of pervasive applications built using our system, this paper also extends our previous work with a thorough analysis of remote objects and tracking techniques, new contributions in distributed component liveness-monitoring approaches, and expanded microbenchmarks.