Abstract
The proliferation of powerful smartphone devices provides a great opportunity for context-aware mobile applications becoming mainstream. However, we argue that conventional software development techniques suffer because of the added complexity required for collecting and managing context information. This paper presents a component-based middleware architecture which facilitates the development and deployment of context-aware applications via reusable components. The main contribution of this approach is the combination of a development methodology with the middleware architecture, which together bring significant value to developers of context-aware applications. Further contributions include the following: The methodology utilizes separation of concerns, thus decreasing the developmental cost and improving the productivity. The design and implementation of context-aware applications are also eased via the use of reusable components, called context plug-ins. Finally, the middleware architecture facilitates the deployment and management of the context plug-ins in a resource-aware manner. The proposed methodology and middleware architecture are evaluated both quantitatively and qualitatively.
Similar content being viewed by others
Notes
References
ITU-international telecommunication union (2010) Measuring the information society: the ict development index. http://www.itu.int/ITU-D/ict/publications/idi/2010
Angeles-Pina C (2008) Distribution of context information using the session initiation protocol (SIP). Master of science thesis, KTH Information and Communication Technology
Brown PJ, Bovey JD, Chen X (1997) Context-aware applications: from the laboratory to the marketplace. IEEE Pers Commun 4(5):58–64. doi:10.1109/98.626984
Conan D, Rouvoy R, Seinturier L (2007) Scalable processing of context information with COSMOS. In: Proceedings of the 7th IFIP international conference on distributed applications and interoperable systems (DAIS’07), vol 4531. Springer, Paphos, pp 210–224
Dey AK (2000) Providing architectural support for building context-aware applications. Ph.D. thesis, Georgia Institute of Technology
Dey AK (2001) Understanding and using context. Pers Ubiquitous Comput 5(1):4–7
Dey AK, Abowd GD, Salber D (2001) A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications. Hum Comput Interact 16(2):97–166
Floch J, Fra C, Fricke R, Geihs K, Wagner M, Lorenzo J, Soladana E, Mehlhase S, Paspallis N, Rahnama H, Ruiz PA, Scholz U (2012) Playing music building context-aware and self-adaptive mobile applications. Softw Pract Exp J. doi:10.1002/spe.2116
Fra C, Valla M, Paspallis N (2011) High level context query processing: an experience report. In: Proceedings of the 8th IEEE workshop on context modeling and reasoning (CoMoRea’11) in conjunction with the 9th IEEE international conference on pervasive computing and communication (PerCom’11). IEEE Computer Society, Seattle, Washington, USA
Hallsteinsen S, Geihs K, Paspallis N, Eliassen F, Horn G, Lorenzo J, Mamelli A, Papadopoulos GA (2012) A development framework and methodology for self-adapting applications in ubiquitous computing environments. J Syst Softw 85(12):2840–2859
Henricksen K, Indulska J (2004) A software engineering framework for context-aware pervasive computing. In: Proceedings of the 2nd IEEE annual conference on pervasive computing and communications (PerCom’04), pp 77–86. IEEE Computer Society, Orlando, Florida, USA
Henricksen K, Indulska J (2006) Developing context-aware pervasive computing applications: models and approach. Pervasive Mob Comput 2(1):37–64
Henricksen K, Indulska J, McFadden T, Balasubramaniam S (2005) Middleware for distributed context-aware systems. In: Proceedings of the 7th international conference on distributed objects and applications (DOA’05), LNCS, vol 3760. Springer, Agia Napa, pp 846–863
Henricksen K, Indulska J, Rakotonirainy A (2006) Using context and preferences to implement self-adapting pervasive computing applications. Softw Pract Exp 36(11–12):1307–1330
Hong JI (2005) An architecture for privacy-sensitive ubiquitous computing. PhD thesis, University of California, Berkeley
Judd G, Steenkiste P (2003) Providing contextual information to pervasive computing applications. In: Proceedings of the 1st IEEE international conference on pervasive computing and communications. IEEE Computer Society, Dallas-Fort Worth, Texas, USA, p 133
Julien C, Roman G (2006) EgoSpaces: facilitating rapid development of context-aware mobile applications. IEEE Trans Softw Eng 32(5):281–298
Kakousis K, Paspallis N, Papadopoulos GA, Ruiz PA (2010) Testing self-adaptive applications with simulation of context events. In: Proceedings of the 3rd DisCoTec workshop on context-aware adaptation mechanisms for pervasive and ubiquitous services (CAMPUS’10) in conjuction with the 10th IFIP international conference on distributed applications and interoperable systems (DAIS), electronic communications, vol 28. EASST, Amsterdam
Long S, Kooper R, Abowd GD, Atkeson CG (1996) Rapid prototyping of mobile context-aware applications: the cyberguide case study. In: Proceedings of the 2nd annual international conference on mobile computing and networking. ACM, Rye, pp 97–107
Paspallis N (2009) Middleware-based development of context-aware applications with reusable components. PhD thesis, University of Cyprus
Paspallis N, Achilleos A, Kakousis K, Papadopoulos GA (2010) Context-aware media player (CaMP): developing context-aware applications with separation of concerns. In: Proceedings of the IEEE Globecom 2010 workshop on ubiquitous computing and networks (UbiCoNet 2010). IEEE Digital Library, Miami, Florida, USA, pp 1–6
Paspallis N, Eliassen F, Hallsteinsen S, Papadopoulos GA (2009) Developing self-adaptive mobile applications and services with separation-of-concerns. In: Nitto ED, Sassen A, Zwegers A (eds) At your service: service-oriented computing from an EU perspective. MIT Press, Cambridge, pp 129–158
Paspallis N, Papadopoulos GA (2006) An approach for developing adaptive, mobile applications with separation of concerns. In: Proceedings of the 30th annual international computer software and applications conference (COMPSAC ’06), vol 1. IEEE Computer Society Press, Chicago, pp 299–306
Paspallis N, Rouvoy R, Barone P, Papadopoulos GA, Eliassen F, Mamelli A (2008) A pluggable and reconfigurable architecture for a context-aware enabling middleware system. In: Proceedings of the 10th international symposium on distributed objects, middleware, and applications (DOA’08), LNCS, vol 5331. Springer, Monterrey, pp 553–570
Paymans TF, Lindenberg J, Neerincx M (2004) Usability trade-offs for adaptive user interfaces: ease of use and learnability. In: Proceedings of the 9th international conference on intelligent user interfaces. ACM, Funchal, pp 301–303
Reichle R, Wagner M, Khan M, Geihs K, Lorenzo J, Valla M, Fra C, Paspallis N, Papadopoulos GA (2008) A comprehensive context modeling framework for pervasive computing systems. In: Proceedings of the 8th IFIP international conference on distributed applications and interoperable systems (DAIS’08), LNCS, vol 5053. Springer, Oslo, pp 281–295
Reichle R, Wagner M, Khan MU, Geihs K, Valla M, Fra C, Paspallis N, Papadopoulos GA (2008) A context query language for pervasive computing environments. In: Proceedings of the 5th IEEE workshop on context modeling and reasoning (CoMoRea’08) in conjunction with the 6th IEEE international conference on pervasive computing and communication (PerCom’08), pp 434–440. IEEE Computer Society, Hong Kong. doi:10.1109/PERCOM.2008.29
Romero JJ (2011) Smartphones: the pocketable pc. IEEE Spectrum. Available online at http://spectrum.ieee.org/telecom/wireless/smartphones-the-pocketable-pc
Rouvoy R, Conan D, Seinturier L (2008) Software architecture patterns for a context-processing middleware framework. IEEE Distrib Syst Online 9(6):1
Salber D, Dey AK, Abowd GD (1999) The context toolkit: aiding the development of context-enabled applications. In: Proceedings of the SIGCHI conference on human factors in computing systems. ACM, Pittsburgh, pp 434–441
Schilit BN, Adams NI, Want R (1994) Context-aware computing applications. In: Proceedings of the 1st workshop on mobile computing systems and applications (WMCSA’94). IEEE Computer Society, Santa Cruz, CA, pp 85–90
Szyperski C (1997) Component software: beyond object-oriented programming. Addison-Wesley Professional
Want R, Hopper A, Falco V, Gibbons J (1992) The active badge location system. ACM Trans Inf Syst 10(1):91–102
Want R, Schilit B, Adams N, Gold R, Petersen K, Goldberg D, Ellis J, Weiser M (1996) The parctab ubiquitous computing experiment. In: Mobile computing, the springer international series in engineering and computer science, vol. 353. Springer, Berlin, pp 45–101
Weiser M (1993) Hot topics: ubiquitous computing. IEEE Comput 26(10):71–72
Yau SS, Karim F, Wang Y, Wang B, Gupta SKS (2002) Reconfigurable context-sensitive middleware for pervasive computing. IEEE Pervasive Comput 1(3):33–40
Acknowledgments
The authors acknowledge the partial financial support given to this research by UCLan Cyprus and the EU (6th Framework Programme, contract number 35166).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Paspallis, N., Papadopoulos, G.A. A pluggable middleware architecture for developing context-aware mobile applications. Pers Ubiquit Comput 18, 1099–1116 (2014). https://doi.org/10.1007/s00779-013-0722-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00779-013-0722-7