Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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.
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.
Raento, M., Oulasvirta, A., Petit, R., & Toivonen, H. (2005). ContextPhone: A prototyping platform for context-aware mobile applications. IEEE Pervasive Computing, 4(2), 51–59.
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.
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.
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.
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.
Hasso-Plattner-Institute Potsdam. http://www.swa.hpi.uni-potsdam.de/cop/. Last visit: February 2011.
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.
Fonseca, H. (2009). A component-based middleware for dynamic adaptation on the Android platform. M.Sc. Thesis, Department of Informatics, PUC-Rio.
MD-ECI (2009). http://www.lac.inf.puc-rio.br/moca/mdeci/mdeci.htm.
Hirschfeld, R., Costanza, P., & Nierstrasz, O. (2008). Context-oriented programming. Journal of Object Technology, 7(3), 125–151.
Android Developers, Speech Input. http://developer.android.com/resources/articles/speech-input.html. Last visit February 2011.
NIST SIP: http://snad.ncsl.nist.gov/proj/iptel. Visit July 2011.
Acknowledgements
This work was partially funded by BMBF/CNPq grant 490817/2006-8.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag London Limited
About this chapter
Cite this chapter
David, L., Viterbo, J., Malcher, M., Fonseca, H., Baptista, G., Endler, M. (2012). A Middleware Supporting Adaptive and Context-Aware Mobile Applications. In: Lovett, T., O'Neill, E. (eds) Mobile Context Awareness. Springer, London. https://doi.org/10.1007/978-0-85729-625-2_10
Download citation
DOI: https://doi.org/10.1007/978-0-85729-625-2_10
Publisher Name: Springer, London
Print ISBN: 978-0-85729-624-5
Online ISBN: 978-0-85729-625-2
eBook Packages: Computer ScienceComputer Science (R0)