ABSTRACT
Software systems that execute in embedded and pervasive environments are frequently required to be self-monitoring, self-adapting, and self-healing. However, supporting these self-* capabilities in pervasive environments creates a number of unique engineering challenges. This paper first describes the challenges that we believe to be the most significant based on our experience developing real-world pervasive software applications with self-* capabilities. We then discuss each challenge in the context of four strategies commonly employed in self-* systems: dynamic software update, service discovery, transparent replication, and logical mobility. Finally, we explain how each strategy is implemented in our architectural middleware platform, Prism-MW.
- Abowd, G. D. Software Engineering Issues for Ubiquitous Computing. In Proc. of the 21st ICSE, CA, 1999. Google ScholarDigital Library
- Castaldi, M., et al. A Lightweight Infrastructure for Reconfiguring Applications. In Proc. of 11th SCM Workshop, 2003. Google ScholarDigital Library
- Cheng, S., et al. Software Architecture-based Adaptation for Pervasive Systems. In Proc. of ARCS '02, April 2002. Google ScholarDigital Library
- Controller Area Network (CAN), http://www.can-cia.org/.Google Scholar
- Coulouris, G., Dollimore, J. and Kindberg, T. Distributed Systems: Concepts and Design. Addison-Wesley, 2001. Google ScholarDigital Library
- Edwards, G., et al. Integrating Publisher/Subscriber Services in Component Middleware for Distributed Real-time and Embedded Systems. In Proc. of the 42nd ACMSE, 2004. Google ScholarDigital Library
- Kramer, J. and Magee, J. Self-Managed Systems. 2007 Future of Software Engineering. IEEE Comp. Society, 2007.Google ScholarDigital Library
- Malek, S., et al. A Style-Aware Architectural Middleware for Resource Constrained, Distributed Systems. IEEE TSE, 2005. Google ScholarDigital Library
- Mikic-Rakic, M., et al. A Tailorable Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings. 2nd CD 2004, Edinburgh, Scotland, 2004.Google ScholarCross Ref
- Moser, L. E., et al. Totem: A fault-tolerant multicast group communication system. Comms. of the ACM. April 1996. Google ScholarDigital Library
- Narasimhan, P., et al. State Synchronization and Recovery for Strongly Consistent Replicated CORBA Objects. DSN, 2001. Google ScholarDigital Library
- Narasimhan, P., et al., Eternal-A Component-based Framework for Transparent Fault-Tolerant CORBA. Software Practice and Experience, Vol. 32, pp. 771--788, 2002. Google ScholarDigital Library
- Norris, B., et al. Middleware for Dynamic Adaptation of Component Applications. In Proc. of IFIP WoCo9, 2006.Google Scholar
- Oreizy, P., et al. An Architecture-Based Approach to Self-Adaptive Software. IEEE Intelligent Systems, May/June '99. Google ScholarDigital Library
- Satyanarayanan, M. Pervasive Computing: Vision and Challenges. IEEE Personal Communications, August 2001.Google Scholar
- Seo, C., et al. Exploring the Role of Software Architecture in Dynamic and Fault Tolerant Pervasive Systems. In Proc. of the SEPCASE Workshop, MN, May 2007. Google ScholarDigital Library
- Smailagic, A. An evaluation of audio-centric CMU wearable computers. Mobile Networks and Applications, vol. 4, 1999. Google ScholarDigital Library
- Weiser, M. The Computer for the 21st Century. Scientific American, September 1991.Google ScholarCross Ref
Index Terms
- Self-* software architectures and component middleware in pervasive environments
Recommendations
A component-based middleware platform for reconfigurable service-oriented architectures
ThetextitService Component Architecture (SCA) is a technology-independent standard for developing distributed Service-oriented Architectures (SOA). The SCA standard promotes the use of components and architecture descriptors, and mostly covers the ...
Schizophrenic middleware support for fault tolerance
SIGAda '06: Proceedings of the 2006 annual ACM SIGAda international conference on AdaIn this paper, we identify the middleware functionnalities andproperties that are required to efficiently implement the FaultTolerant CORBA specification. Our approach relies on certainproperties of PolyORB, our schizophrenic middleware to provide CORBA-...
A framework for architecting and high-level programming support of CORBA applications
Special issue on middlewareIn this paper, we present a framework, called <i>OrbGOP</i>, to support the architecting and high-level programming of CORBA-based distributed applications. OrbGOP makes two contributions to the development of CORBA applications: (1) it provides higher-...
Comments