CARISMA

Context-Aware Reflective mIddleware System for Mobile Applications

People

Dr. Licia Capra
Dr. Wolfgang Emmerich
Dr. Cecilia Mascolo

 

Research Problem

The increasing popularity of wireless devices, such as mobile phones and personal digital assistants, is enabling new  classes of applications that present challenging problems to designers. Applications have to be aware of, and adapt to,  variations in the execution context, such as fluctuating network bandwidth, decreasing battery power, changes in location or  device capabilities, and so on.

We argue that middleware solutions developed for wired distributed systems cannot be used in a mobile setting, as the  principle of transparency that has driven their design runs counter to the new degrees of awareness imposed by mobility.

We believe the construction of adaptive and context-aware mobile applications can be supported using a  reflective middleware. The middleware provides software engineers with primitives that enable dynamic customisation of  service delivery.  In particular, applications define associations between the services they are willing to customise, the  policies that must be used in order to  deliver the services, and the context conditions that must hold in order for a policy to  be enabled. These associations are stored in application profiles; through reflection, they are made available to  applications for both run-time inspection and modification. Middleware uses the information encoded in the profiles to dynamically adapt its behaviour to changing context conditions and applications' needs: each time a service is invoked, the  profile of the application that requests it is consulted to determine which policy can be applied in the current context.

Although enabling the development of adaptive and context-aware middleware, reflection also opens the door to conflicts:  different policies, associated to the same service, may be enabled at the same time, i.e., in the same context. These conflicts cannot be resolved statically at the time applications are designed, but, rather, need to be resolved at  execution time. We have designed a method by which these policy conflicts can be treated. This method uses a micro-economic approach that relies on a particular type of sealed-bid auction: applications associate values to each  conflicting policy, based on private information (i.e., private non-functional requirements); middleware then selects and  applies the policy that maximises "social welfare'', that is, the one that delivers (on average) the best quality of service,  according to current applications' needs.

 

Selected Publications

L. Capra, W. Emmerich and C. Mascolo. "CARISMA: Context-Aware Reflective mId-dleware System for Mobile Applications". Accepted for publication in IEEE Transactions on Software Engineering, November 2003 issue.
  L. Capra, G. S. Blair, C. Mascolo, W. Emmerich and P. Grace. "Exploiting Reflection in Mobile Computing Middleware". In ACM SIGMOBILE Mobile Computing and Communications Review, 6(4):34-44. October 2002.
L. Capra, W. Emmerich and C. Mascolo. "A Micro-Economic Approach to Conflict Resolution in Mobile Computing". In Proc. of the Foundations of Software Engi-neering (ACM SIGSOFT/FSE-10), pages 31-40, Charleston, South Carolina, USA. November 2002.

L. Capra. "Mobile Computing Middleware for Context-Aware Applications". In Proc. of the 24th International Conference of Software Engineering (ICSE 2002), Doctoral Synposium, pages 723-724. Orlando, Florida, May 2002. ACM Press.

C. Mascolo, L. Capra and Wolfgang Emmerich. "Middleware for Mobile Computing (A Survey)". In Advanced Lectures on Networking - Networking 2002 Tutorials, Pisa, Italy. volume 2497 of LNCS, pages 20-58, Springer Verlag. May 2002.

L. Capra , W. Emmerich and Cecilia Mascolo. "Exploiting Reflection and Metadata to build Mobile Computing MIddleware". In Proc. of Workshop on Middleware for Mobile Computing. Co-located with Middleware 2001. Heidelberg, Germany. November 2001.

L. Capra, C. Mascolo, S. Zachariadis and W. Emmerich.  "Towards a Mobile Computing Middleware: a Synergy of Reflection and Mobile Code Techniques".  In Proc. of the 8th IEEE Workshop on Future Trends of Distributed Computing Systems (FTDCS 2001), pages 148-154 . Bologna, Italy. October 2001.

L. Capra , W. Emmerich and C. Mascolo. "Reflective Middleware Solutions for Context-Aware Applications". In Proc. of REFLECTION 2001. The Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns. September 2001. Kyoto, Japan. LNCS (Springer-Verlag).

L. Capra , W. Emmerich and C. Mascolo. "Middleware for Mobile Computing: Awareness vs. Transparency (Position Summary)". In Proc. of the 8th Workshop on Hot Topics in Operating Systems (HotOS-VIII). Schloss Elmau, Germany. May 2001. page 142. IEEE Computer Society Press.