CARISMA: Context-Aware Reflective mIddleware System for Mobile Applications

Mobile devices, such as mobile phones and personal digital assistants, have gained wide-spread popularity. These devices will increasingly be networked, thus enabling the construction of distributed applications that have to adapt to changes in context, such as variations in network bandwidth, battery power, connectivity, reachability of services and hosts, etc. In this paper, we describe CARISMA, a mobile computing middleware which exploits the principle of reflection to enhance the construction of adaptive and context-aware mobile applications. The middleware provides software engineers with primitives to describe how context changes should be handled using policies. These policies may conflict. We classify the different types of conflicts that may arise in mobile computing and argue that conflicts cannot be resolved statically at the time applications are designed, but, rather, need to be resolved at execution time. We demonstrate a method by which policy conflicts can be handled; this method uses a microeconomic approach that relies on a particular type of sealed-bid auction. We describe how this method is implemented in the CARISMA middleware architecture and sketch a distributed context-aware application for mobile devices to illustrate how the method works in practice. We show, by way of a systematic performance evaluation, that conflict resolution does not imply undue overheads, before comparing our research to related work and concluding the paper.

[1]  William Vickrey,et al.  Counterspeculation, Auctions, And Competitive Sealed Tenders , 1961 .

[2]  Paul R. Milgrom,et al.  Auctions and Bidding: A Primer , 1989 .

[3]  Mahadev Satyanarayanan,et al.  Coda: A Highly Available File System for a Distributed Workstation Environment , 1990, IEEE Trans. Computers.

[4]  Dyfed Bowen Open Distributed Processing , 1991, Comput. Networks ISDN Syst..

[5]  Manfred Nagl,et al.  Building integrated software development environments. Part I: tool specification , 1992, TSEM.

[6]  Donald F. Ferguson,et al.  An economy for managing replicated data in autonomous decentralized systems , 1993, Proceedings ISAD 93: International Symposium on Autonomous Decentralized Systems.

[7]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[8]  Jeffrey S. Rosenschein,et al.  A Domain Theory for Task Oriented Negotiation , 1993, IJCAI.

[9]  Bill N. Schilit,et al.  Context-aware computing applications , 1994, Workshop on Mobile Computing Systems and Applications.

[10]  Martin S. Feather,et al.  Requirements monitoring in dynamic environments , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[11]  Donald F. Ferguson,et al.  An approach to pricing, optimal allocation and quality of service provisioning in high-speed packet networks , 1995, Proceedings of INFOCOM'95.

[12]  Marvin Theimer,et al.  Managing update conflicts in Bayou, a weakly connected replicated storage system , 1995, SOSP.

[13]  Jeffrey S. Rosenschein,et al.  Mechanisms for Automated Negotiation in State Oriented Domains , 1996, J. Artif. Intell. Res..

[14]  Wolfgang Emmerich Tool specification with GTSL , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[15]  Andrew T. Campbell,et al.  Mobiware: QoS-aware middleware for mobile multimedia communications , 1997, HPN.

[16]  C. M. Sperberg-McQueen,et al.  Extensible markup language , 1997 .

[17]  Ilya Segal,et al.  Solutions manual for Microeconomic theory : Mas-Colell, Whinston and Green , 1997 .

[18]  Jonathan Robie,et al.  Document Object Model (DOM) Level 2 Specification , 1998 .

[19]  Bashar Nuseibeh,et al.  Managing inconsistent specifications: reasoning, analysis, and action , 1998, TSEM.

[20]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[21]  Morris Sloman,et al.  A survey of quality of service in mobile computing environments , 1999, IEEE Communications Surveys & Tutorials.

[22]  Steven J. DeRose,et al.  XML Path Language (XPath) , 1999 .

[23]  William N. Robinson,et al.  Managing Requirements Inconsistency with Development Goal Monitors , 1999, IEEE Trans. Software Eng..

[24]  Cecilia Mascolo,et al.  Towards a mobile computing middleware: Synergy of reflection and mobile code techniques , 2001, Proceedings Eighth IEEE Workshop on Future Trends of Distributed Computing Systems. FTDCS 2001.

[25]  Wolfgang Emmerich,et al.  Engineering Distributed Objects , 2000, Lecture Notes in Computer Science.

[26]  Nalini Venkatasubramanian,et al.  Design and implementation of a composable reflective middleware framework , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[27]  Cecilia Mascolo,et al.  Reflective Middleware Solutions for Context-Aware Applications , 2001, Reflection.

[28]  Cecilia Mascolo,et al.  XMIDDLE: A Data-Sharing Middleware for Mobile Computing , 2002, Wirel. Pers. Commun..

[29]  Cecilia Mascolo,et al.  A micro-economic approach to conflict resolution in mobile computing , 2002, SIGSOFT '02/FSE-10.

[30]  Christine Julien,et al.  Egocentric context-aware programming in ad hoc mobile environments , 2002, SIGSOFT '02/FSE-10.

[31]  Cecilia Mascolo,et al.  Exploiting logical mobility in mobile computing middleware , 2002, Proceedings 22nd International Conference on Distributed Computing Systems Workshops.

[32]  Cecilia Mascolo,et al.  "Middleware for Mobile Computing (A Survey)". In Advanced Lectures on Networking , 2002 .

[33]  Christine Julien,et al.  Network abstractions for context-aware mobile computing , 2002, ICSE '02.

[34]  Gruia-Catalin Roman,et al.  Service Provision in Ad Hoc Networks , 2002, COORDINATION.

[35]  Cecilia Mascolo,et al.  Mobile Computing Middleware , 2002, NETWORKING Tutorials.