Concepts and Architectures for Mobile Context-Aware Applications
Patrícia Dockhorn Costa (Federal University of Espírito Santo, Brazil), Luís Ferreira Pires (University of Twente, The Netherlands) and Marten van Sinderen (University of Twente, The Netherlands)
Copyright: © 2009
Context-awareness has been investigated for almost a decade and is considered as a convenient and desirable feature in distributed mobile systems since it allows these systems to benefit from the changes in their users’ context to dynamically tailor services to their users’ current situation and needs. This chapter addresses the research results and challenges of designing a flexible infrastructure to support the development of mobile context-aware applications. We discuss relevant context-awareness concepts, define architectural patterns on context-awareness, present the design of a target infrastructure, and discuss some related research and research trends. The context-aware infrastructure described in this chapter follows the principles of service-oriented architectures in which the dynamic customization of context-aware mobile services is specified by means of application behavior rules that are interpreted and applied by the infrastructure at runtime.
The Merriam-Webster online dictionary (Merriam-Webster, 2005) provides a general definition of context; namely, “the interrelated conditions in which something exists or occurs.” We focus on this definition as the starting point for characterizing context in the scope of context-aware mobile applications. This definition makes clear that it is only meaningful to talk about context with respect to something that exists or occurs, which we call the entity or subject of the context. Since we aim at supporting the development of context-aware applications, we should clearly identify the subject of the context in the scope of these applications.
Key Terms in this Chapter
Service discovery: Process of finding relevant services according to given criteria.
Dynamic Customization of Services: (1) Selection of service configuration options (among a predefined set); (2) runtime composition of a predefined set of services.
Networking Infrastructure: Infrastructure that comprises common resources and services for information exchange (or data communication).
Ontology: Formal and explicit specification of a shared conceptualization.
Context-Aware Services Infrastructure: Services infrastructure that supports context-aware applications.
Context Information: Representation of context, such that it can be communicated in a system (including applications).
Context-Awareness: Property of a system (including applications) to make use of context information.
Services Infrastructure: Infrastructure that comprises common resources and services for application creation, execution, and management (hence excluding networking resources and services).
Event: An occurrence of interest related to context.
Infrastructure: System that comprises common resources and services such that it forms a shared basis for other and otherwise independent systems (including applications).
Telemonitoring: Process of remotely monitoring an entity (e.g., a human being) through an infrastructure.
Rules Description (for Context-Aware Applications): Technique that allows one to specify the behavior of an application in terms of what actions should be taken if certain events occur.
Service: External perspective of a system in terms of the behavior that can be observed or experienced by the environment (users) of the system.
Context: Collection of interrelated conditions in which something exists or occurs.
Action: A service unit that performs a computation with side-effects for one or more parties involved in the system.
Context Modeling: Activity of creating context information with a representation that supports automated reasoning and/or processing.
Service-Oriented Architecture: Architectural style based on the concept of service.
Complete Chapter List
Elhadi Shakshuki, Xinyu Xing, Haroon Malik
Reinhard Kronsteiner, Bettina Thurnher
Goran Gvozden, Mislav Grgic, Sonja Grgic, Miran Gosta
Mamun I. Abu-Tair
Abdulhussain E. Mahdi
Wanji Mai, Chris Tweed, Peter Hung, Seán McLoone, Ronan Farrell
Eduardo Antonio Viruete Navarro
Paolo Barsocchi, Alan A. Bertossi, M. Cristina Pinotti, Francesco Potortì
Do van Thanh, Ivar Jørstad
Yoshio Nakajima, Alireza Goudarzi Nemati, Tomoya Enokido, Makoto Takizawa
Ben Abdallah Abderazek, Arquimedes Canedo, Kenichi Kuroda
Wieland Schwinger, Christoph Grün, Birgit Pröll, Werner Retschitzegger
Daniel C. Doolan, Sabin Tabirca, Laurence T. Yang
Daniel C. Doolan, Sabin Tabirca, Laurence T. Yang
Daniel C. Doolan, Kevin Duggan, Sabin Tabirca, Laurence T. Yang
Christos K. Georgiadis
Hongbo Ni, Xingshe Zhou, Zhiwen Yu, Daqing Zhang
Pavol Podhradský, Eugen Mikóczy, Matejka Juraj, Ondrej Lábaj, Róbert Tomek
Robert Schmohl, Uwe Baumgarten, Lars Köthner
Roman Y. Shtykh, Qun Jin, Shunichi Nakadate, Norihiro Kandou, Takeshi Hayata, Jianhua Ma
Stephan Reiff-Marganiec, Yi Hong, Hong Qing Yu, Schahram Dustdar, Christoph Dorn, Daniel Schall
Baud Haryo Prananto
Diego Moreira Alves
Dietmar G. Wiedemann
Mahieddine Djoudi, Saad Harous
Patrícia Dockhorn Costa, Luís Ferreira Pires, Marten van Sinderen
Frédéric Lassabe, Philippe Canalda, Damien Charlet, Pascal Chatonnay, François Spies
Anastasis A. Sofokleous, Marios C. Angelides, Christos N. Schizas
Wee Hyong Tok, Stéphane Bressan, Panagiotis Kalnis, Baihua Zheng
Ioannis Priggouris, Evangelos Zervas, Stathes Hadjiefthymiades
Ghita Kouadri Mostéfaoui
Do Van Thanh, Ivar Jørstad, Schahram Dustdar
Mohamed Ali Feki
Damien Charlet, Frédéric Lassabe, Philippe Canalda, Pascal Chatonnay, François Spies
Roland Wagner, Franz Gruber, Werner Hartmann