A Middleware Supporting Adaptive and Context-Aware Mobile Applications
Mobile Applications with context awareness features allow mobile users to communicate and share different sorts of context-based information among themselves, such as the current position of other users, geo-referenced data, device speed and others. Although many of such mobile collaboration applications potentially share a good amount of functionality, most of them are developed from scratch, monolithic and tailored to specific mobile platforms, what limits their applicability. This chapter presents a client middleware architecture which supports dynamic deployment and composition of components for context-awareness, common collaboration services, and presents a context oriented language easing the coding of such applications. We also present some prototype context-aware applications implemented on the top of our middleware services, one of which was used to assess the advantages of using our middleware.
KeywordsMobile User Mobile Platform Context Data Context Situation Context Provider
This work was partially funded by BMBF/CNPq grant 490817/2006-8.
- 1.Miraoui, M., Tadj, C., & ben Amar, C. (2008). Architectural survey of context-aware systems in pervasive computing environment. Ubiquitous Computing and Communication Journal 3, no. 3. Google Scholar
- 2.Preuveneers, D., & Berbers, Y. (2007). Towards context-aware and resource-driven self-adaptation for mobile handheld applications. In Proceedings of the 2007 ACM symposium on applied computing. Google Scholar
- 4.Costanza, P. (2008). Context-oriented programming in contextl: state of the art. In LISP50: Celebrating the 50th anniversary of Lisp, New York: ACM, 15 pp. Google Scholar
- 5.González, S., Mens, K., & Cádiz, A. (2008). Context-oriented programming with the ambient object system. Journal of Universal Computer Science, 14(20), 3307–3332. Google Scholar
- 6.Ghezzi, C., Pradella, M., & Salvaneschi, G. (2010). Programming language support to context-aware adaptation: a case-study with Erlang. In Proceedings of the 2010 ICSE workshop on software engineering for adaptive and self-managing systems (SEAMS ’10) (pp. 59–68). New York: ACM. CrossRefGoogle Scholar
- 7.Appeltauer, M., Hirschfeld, R., Haupt, M., & Masuhara, H. (2009). ContextJ: Context-oriented programming with Java. In Proceedings of the JSSST annual conference 2009, 2D-1, Shimane University, Matsue, Shimane, Japan, 16 September 2009. Google Scholar
- 8.Hasso-Plattner-Institute Potsdam. http://www.swa.hpi.uni-potsdam.de/cop/. Last visit: February 2011.
- 9.Appeltauer, M., Hirschfeld, R., Haupt, M., Lincke, J., & Perscheid, M. (2009). A comparison of context-oriented programming languages. In COP’09: International workshop on context-oriented programming. New York: ACM, 16 pp. Google Scholar
- 10.Fonseca, H. (2009). A component-based middleware for dynamic adaptation on the Android platform. M.Sc. Thesis, Department of Informatics, PUC-Rio. Google Scholar
- 11.MD-ECI (2009). http://www.lac.inf.puc-rio.br/moca/mdeci/mdeci.htm.
- 13.Android Developers, Speech Input. http://developer.android.com/resources/articles/speech-input.html. Last visit February 2011.
- 14.NIST SIP: http://snad.ncsl.nist.gov/proj/iptel. Visit July 2011.