Abstractions for Software Architecture and Tools to Support Them
IEEE Transactions on Software Engineering - Special issue on software architecture
Architectural mismatch or why it's hard to build systems out of existing parts
Proceedings of the 17th international conference on Software engineering
The context toolkit: aiding the development of context-enabled applications
Proceedings of the SIGCHI conference on Human Factors in Computing Systems
Running the Web backwards: appliance data services
Proceedings of the 9th international World Wide Web conference on Computer networks : the international journal of computer and telecommunications netowrking
WETICE '99 Proceedings of the 8th Workshop on Enabling Technologies on Infrastructure for Collaborative Enterprises
The multispace: an evolutionary platform for infrastructural services
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Modelling and Using Sensed Context Information in the Design of Interactive Applications
EHCI '01 Proceedings of the 8th IFIP International Conference on Engineering for Human-Computer Interaction
A Model for Software Configuration in Ubiquitous Computing Environments
Pervasive '02 Proceedings of the First International Conference on Pervasive Computing
UbiComp '01 Proceedings of the 3rd international conference on Ubiquitous Computing
Application-Service Interoperation without Standardized Service Interfaces
PERCOM '03 Proceedings of the First IEEE International Conference on Pervasive Computing and Communications
Portability, Extensibility and Robustness in iROS
PERCOM '03 Proceedings of the First IEEE International Conference on Pervasive Computing and Communications
Hi-index | 0.00 |
The original vision of ubiquitous computing [14] is about enabling people to more easily accomplish tasks through the seamless interworking of the physical environment and a computing infrastructure. A major challenge to the practical realization of this vision involves the integration of commercial-off-the-shelf (COTS) hardware and software components: consider the awkwardness of such a mundane task as exporting a textual memo written on a Palm Pilot to a Microsoft Word document.It is not enough to overcome the protocol and data format mismatches that currently impede the interoperation of these entities: for the user experience to be truly seamless, we must provide a framework for the dynamic connection of such endpoints on demand, to support the ad-hoc interactions that are an integral part of ubiquitous computing. To this end, we offer a dynamic mediation framework called Paths. A Path consists of dynamically instantiated, automatically composable operators that bridge datatype and protocol mismatches between components wishing to communicate.Because operator composability is inferred from the type system, adding support for a new type of endpoint requires only incremental work; because the control and data flow for Paths are largely decoupled from the communicating endpoints, it is easy to connect COTS or legacy components. We describe the Paths architecture, our prototype implementation, and our experience and lessons based on several production applications built with the framework, and outline some continuing work on Paths in the context of the Stanford Interactive Workspaces project.