Context-aware systems: A literature review and classification Expert Systems with Applications 36 (2009) 8509–8522 Contents lists available at ScienceDirect Expert Systems with Applications j o u r n a l h o m e p a g e : w w w . e l s e v i e r . c o m / l o c a t e / e s w a Context-aware systems: A literature review and classification Jong-yi Hong *, Eui-ho Suh, Sung-Jin Kim POSMIS Lab, Industrial Management Engineering Building, Pohang University of Science Technology, (790-784) San 31, Hyoja-dong, Nam-gu, Pohang, Kyungbuk, South Korea a r t i c l e i n f o Keywords: Context-aware systems Classification framework Literature reviews 0957-4174/$ - see front matter Crown Copyright � 2 doi:10.1016/j.eswa.2008.10.071 * Corresponding author. Tel.: +82 54 279 5920; fax E-mail addresses: xman@postech.ac.kr (J.-y. Hong Suh), sciv@postech.ac.kr (S.-J. Kim). a b s t r a c t Nowadays, numerous journals and conferences have published articles related to context-aware systems, indicating many researchers’ interest. Therefore, the goal of this paper is to review the works that were published in journals, suggest a new classification framework of context-aware systems, and explore each feature of classification framework. This paper is based on a literature review of context-aware sys- tems from 2000 to 2007 using a keyword index and article title search. The classification framework is developed based on the architecture of context-aware systems, which consists of the following five lay- ers: concept and research layer, network layer, middleware layer, application layer and user infrastruc- ture layer. The articles are categorized based on the classification framework. This paper allows researchers to extract several lessons learned that are important for the implementation of context- aware systems. Crown Copyright � 2008 Published by Elsevier Ltd. All rights reserved. 1. Introduction Emerging ubiquitous or pervasive computing technologies offer ‘anytime, anywhere, anyone’ computing by decoupling users from devices (Dey, 2001; Hill et al., 2004; Kwon, Choi, & Park, 2005; Kwon, Yoo, & Suh, 2005; Schilit, Adams, & Want, 1994). To provide adequate service for the users, applications and services should be aware of their contexts and automatically adapt to their changing contexts-known as context-awareness (Bolchini, Schreiber, & Tan- ca, 2007; Dey, 2001; Zhu, Mutka, & Ni, 2005). Context is very important, since it provides information about the present status of people, places, things and devices in the environment (Korpipää, Mäntyjärvi, Kela, Keränen, & Malm, 2003; Kwon, 2004). Context is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered rel- evant to the interaction between a user and an application, includ- ing location, time, activities, and the preferences of each entity (Dey, 2001). Context-awareness means that one is able to use con- text information. A system is context-aware if it can extract, inter- pret and use context information and adapt its functionality to the current context of use (Byun & Cheverst, 2004). The term context- aware computing is commonly understood by those working in context-aware, where it is felt that context is a key in their efforts to disperse and transparently weave computer technology into our lives. One goal of context-aware systems is to acquire and utilize information on the context of a device in order to provide services that are appropriate to the particular people, place, time, event, etc. 008 Published by Elsevier Ltd. All r : +82 54 279 2870. ), ehsuh@postech.ac.kr (E.-h. These systems aim to provide context-aware access to information, communication and computation. In late 1980s, there was a period of beginning activity on con- text-aware computing. A few of context-aware computing has met the interest. However, the activity seems to be increasing dra- matically. Nowadays, to overcome new challenges and require- ments found in context-aware systems, many researchers have made efforts to design and implement network, user infrastructure and middleware which effectively provide users with context- aware services. Numerous articles of journals and conferences have published research related to context-aware systems. In other words, many people are interested in context-aware systems. Therefore, we feel that this is a good time for a review analysis, since it has been over a year since many papers were published. Currently, it is difficult to compare articles, because the available research is published in quite different journals. Accordingly, the main objectives of this review are: � To classify and summarize research relevant for context-aware systems. � To provide a conceptual framework for the integration and clas- sification of articles. � To derive suggestions for context-aware systems researchers based on the literature review. Chen and Kotz (2000) surveyed the literature related with con- text-aware computing in mobile computing. They defined the terms context and context awareness, listed the context-aware applications that have been built, discussed approaches to sense and model the context, and looked into supporting infrastructures, security and privacy issues. However, in 2000, articles published in ights reserved. mailto:xman@postech.ac.kr mailto:ehsuh@postech.ac.kr mailto:sciv@postech.ac.kr http://www.sciencedirect.com/science/journal/09574174 http://www.elsevier.com/locate/eswa Potentially related articles: 1419 Articles retrieved for further review: 423 Articles included in this paper: 237 Exclusion of articles based on the selection criteria: 186 Exclusion of articles based on titles/abstracts/full texts: 996 Potentially related articles: 1419 Articles retrieved for further review: Articles included in this paper: Exclusion of articles based on the selection criteria: Exclusion of articles based on the selection criteria: Exclusion of articles based on titles/abstracts/full texts: Exclusion of articles based on titles/abstracts/full texts: Fig. 1. The procedures to select the articles. 8510 J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 journal were not enough to analyze context-aware systems. Fur- thermore, a classification standard does not involve all fields of context-aware systems. Therefore, a new survey research on con- text-aware systems is needed. Baldauf, Dustdar, and Rosenberg (2007) suggested the abstract layer architecture for context-aware systems and introduced various existent middleware and server- based approaches to ease the development of context-aware appli- cations, where each layer is explained based on various research. However, suggestions for further study, literature review related with each layer, introducing framework of many research and pre- senting current research issues are not broad. The remainder of this paper is structured as follows. In Section 2, a methodology to extract the literature is illustrated. Section 3 presents general characteristics of the literature research. Section 4 illustrates the proposed classification framework. Section 5 de- scribes each feature of classification framework (concept and re- search, network, user infrastructure, middleware, application and service). Section 6 contains discussions and suggestions. Finally, Section 7 concludes the paper with brief concluding remarks. 2. Procedures A total of 237 articles from 2000 to 2007 were obtained and re- viewed. Articles were found via computerized search of the topic areas. The search was narrowed using the terms context-aware. A detail illustration of methodology for extracting articles is followed. 2.1. The selection criteria The selection criteria were used to select and accept the con- text-aware articles. If the papers did not meet the selection criteria, then they were excluded. The three criteria are described as follows: � The literature was based on a search in the descriptor for ‘con- text-aware’. Various online journal databases were selected to search context-aware literatures. Context-aware articles are found in comprehensive subjects such as computer science, engineering, etc. Subjects of online database which are summa- rized according to fields of context-aware systems are shown in Table 1. � This paper surveys the articles published from 2000 to 2007. The reason for selecting this time period is that many journals and conferences have published researches related to context-aware computing since 2000. Table 1 The online databases and subjects. Online database Subjects IEEE Xplore Biomedical communication and information communication Networks/systems Computational intelligence Computer engineering Computer graphics Control systems Distributed computing/real-time systems Socio-political aspects of technology Software design development Wiley InterScience Computer science engineering � This paper covers only journal articles. Other publication forms (The conference proceedings, unpublished working papers, mas- ter’s and doctoral dissertations, newspapers and books, etc.) were not included. Furthermore, LNCS (Lecture Notes of Com- puter Science) is excluded, because of numerous articles having contents of computer science. The reason for choosing the jour- nal is that both practitioners and academicians use journals fre- quently to obtain knowledge and spread their study findings. Thus, journal articles indicate the highest level of research. 2.2. Data sources and procedures to extract articles The papers were selected according to the procedures shown in Fig. 1. First of all, the articles were searched using six online dat- abases. The total number of articles is 1419. The number of articles by each online database is as follows: Science Direct (288), IEEE Xplore (100), Springer Link Online Libraries (43), ACM Digital Li- brary (200), Wiley InterScience (94), Ingenta Journals (421), and EBSCO (Electronic Journal Service) (273). Next, 996 articles were excluded because they did not have the word of context-aware systems in the titles and abstracts. Next, the articles were carefully reviewed to select those that considered context-aware as the core part. Two hundred and thirty seven articles remained because 186 articles did not meet the second selection criteria. Based on these procedures, a total of 237 articles met all the selection criteria. Online database Subjects Science Direct Business, management and accounting Computer science Decision science Engineering Psychology Social science EBSCO (Electronic Journal Service) Computer science Library science Mathematics ACM Digital Library Computer science Engineering Social sciences Ingenta Journals Computer science Education Engineering Springer Link Online Libraries Computer science Engineering Fig. 2. Classification of articles by publication year. Table 3 Classification of articles based on the journal. Journal articles Number of articles IEEE Pervasive Computing 23 Personal and Ubiquitous Computing 10 IEEE Internet Computing 6 Wireless Personal Communications 5 IEEE Intelligent Systems 5 Mobile Networks and Applications 5 IEEE Transactions on Software Engineering 4 The Others 139 Expert Systems with Applications 10 Computer Communications 6 Journal of Systems and Software 6 Pervasive and Mobile Computing 5 World Wide Web 5 IEEE Wireless Communications 5 Interacting with Computers 4 Total 237 J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 8511 3. The general characteristics of the articles 3.1. Classification of articles by publication year The number of articles by publication year is depicted in Fig. 2. Numerous context-aware articles have grown considerably since 2000. The number of articles in 2007 have becomes 7 times more than the number of articles in 2000. The number of articles from 2001 to 2004 had been increased continuously, and the number of articles from 2004 to 2006 has been almost the same. It is abso- lute that the concern about context-aware systems was increased and will be continued. 3.2. Classification of articles by online database The article by online database is categorized in Table 2. There are a total of 181 articles from online databases. We use 7 online databases to search the articles. In Table 2, IEEE Xplore is the high- est percentage of articles (74 articles, 31%), because it offers arti- cles of many journals (IEEE Pervasive Computing, IEEE Internet Computing, IEEE Wireless Communications and IEEE Transactions on Software Engineering) which have subject relevant to context- aware systems. Science Direct stores journal articles of various study fields, therefore this database is the second highest of articles (60 articles, 25.6%). Other online databases are Springer Link On- line Libraries (57 articles, 23.9%), Ingenta Journals (18 articles, 8%), ACM Digital Library (16 articles, 7%), Wiley InterScience (9 articles, 4%) and EBSCO (Electronic Journal Service) (3 articles, 1%). When the same article is found repetitively among different online database, the article number of database having more num- ber of articles is increased. 3.3. Classification of articles by journal The articles by journal articles are categorized in Table 3. There were 65 journals that published context-aware articles. Most of Table 2 Classification of articles by publication year. Online database Number of articles IEEE Xplore 74 Science Direct 60 Springer Link Online Libraries 57 Ingenta Journals 18 ACM Digital Library 16 Wiley InterScience 9 EBSCO (Electronic Journal Service) 3 Total 237 them were related to the computer science, electronic engineering and information management. Table 3 specifies journals that pub- lished four or more context-aware articles and the others that pub- lished only one article or no more than 3 related with context- aware systems are omitted. Pervasive computing and ubiquitous computing is closely connected with context-aware computing. Therefore, journals which focus on pervasive computing or ubiqui- tous computing have published articles relevant to context-aware systems. As Table 3 shows, IEEE Pervasive Computing published the most articles on context-aware systems (23 articles, 10%). Ex- pert Systems with Applications and Personal and Ubiquitous Com- puting published 10 articles (4%). Distribution of articles according to the journal shows that various journals have published articles relevant to context-aware systems. 4. Classification framework 4.1. Abstract architecture of context-aware systems The abstract architecture of context-aware systems is drawn based on the literature that explores the context-aware prototype, systems, and application to offer classification criteria for dividing the literature appropriately. To make the abstract architecture, SO- CAM, ACAI, NAMA, PeCAN, X-CAF, CyberDesk, WebPADS, CAPIAs, Hycon service framework, Culliver’s Genie, Intelligent Agent framework, context-aware agent architecture, reference frame- work for multi-target user interfaces, etc. are reviewed in detail. As the results of literature review related with context-aware architecture, we present general abstract layer architecture of con- text-aware systems. As Fig. 3 shows, this architecture consists of four layers: (1) network layer involves a network supporting con- text-aware systems and sensor collecting low-level of context information; (2) middleware layer manages processes and stores context information; (3) based below layers, application layer pro- vides users with appropriate service; and (4) to offer suitable inter- Fig. 3. Abstract layer architecture of context-aware systems. 8512 J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 face to users, interface of context-aware systems is managed in user infrastructure layer. 4.2. Classification framework of context-aware systems The classification framework is developed for classifying the lit- eratures related with context-aware systems, based on the abstract architecture of context-aware systems. The classification frame- work developed here consists of the following five layers: concept and research layer, network layer, middleware layer, application layer and user intrastate layer. Without the concept and research layer, layers of classification framework and layers of context- aware systems architecture are the same. As Fig. 4 shows, each layer has detailed categories for dividing the literatures in layers. Fig. 4 depicts a graphical classification framework for context- aware systems. Context-aware applications and services require technology from the foundation of wireless network, user infra- structure, and middleware. Moreover, application and technology related with network, middleware and user infrastructure are based on concept and research activities. Concept and research layer involves overview, algorithm, development guideline, frame- work, context data management, evaluation and privacy and secu- rity categories. Network layer consists of protocol, sensing, network requirement and network implementation. Middleware layer is classified as agent-based middleware, metadata based mid- dleware, tuple space based middleware, OSGI based middleware, reflective middleware and sensor selection middleware. User infra- structure layer is divided into interface and usability categories. Application and service layer consists of smart space, tour guide, information systems, communication systems, m-commerce and web service. Concept & Research Framework Evaluation Cont Dat Mg Overview Algorithm Network Infrastructur Protocol Network imp leme Middleware Lay Agent based Metadata based Ada Obje ba Tup le Sp ace based User Infrastructure User Interface Application Laye Smart Sp ace Tour Guide IS Commu Sys Fig. 4. Classification framework 5. Result of article classification The articles by subjects are categorized in Tables 4–9. Table 4 shows the number of articles, percentage of subject, and percent- age of all subjects, while Tables 5–9 represent all references of the context-aware systems articles. The context-aware concept and research has the highest per- centage of context-aware articles (87 articles, 37%). In context- aware concept and research, the category can be divided into 7 subjects. Most of the articles are related to ‘‘development guide- line”, ‘‘context data management” (13 articles) and ‘‘algorithm” (28 articles). The ‘‘algorithm” is divided into 3 categories, namely ‘‘agent” (3 articles), ‘‘context reasoning” (14 articles) and ‘‘service recommendation” (10 articles). There are many articles related to guidelines, context data management and algorithm to develop the context-aware application and systems. Other topics are ‘‘over- view” (8 articles), ‘‘framework” (10 articles), ‘‘privacy and security” (12 articles), and ‘‘evaluation” (3 articles). The second highest per- centage of context-aware articles is related to context-aware appli- cation (63 articles, 26%), which has six categories. The majority of this section is related to the ‘‘m-commerce” (19 articles)”. The ‘‘smart spaces” (11 articles) are the second portion of context- aware application and are composed of ‘‘home” (3 articles), ‘‘hospi- tal” (7 articles) and ‘‘class room” (1 article). Other topics are ‘‘tour guide” (6 articles) and ‘‘communication systems” (10 articles), ‘‘information systems” (7 articles) and ‘‘Web Service” (9 articles). Network infrastructure has the third highest percentage of con- text-aware articles (41 articles, 17%). The articles are mostly re- lated to the ‘‘internet protocol” (11 articles), ‘‘handoff management” (7 articles), ‘‘Sensing” (13 articles), ‘‘network requirement” (4 articles) and ‘‘network implementation” (5 arti- Develop - ment Guideline ext a t Privacy & Security e Layer Sensing ntation er Network requirement Reflective based OSGI based ptive ctive sed Layer Usability r nication tems M-commerce Web Service of context-aware systems. Table 4 Classification of articles by subject. Classification criteria Number of articles Percentage of subject (%) Percentage of all subjects (%) 1. Concept and research 87 100 36.6 1.1. Algorithm 28 32.2 11.8 1.1.1. Agent 4 4.6 1.7 1.1.2. Context reasoning 14 16.1 5.9 1.1.3. Service recommendation 10 11.5 4.2 1.2. Development guideline 13 14.9 5.5 1.3. Framework 10 11.5 4.2 1.4. Context data management 13 14.5 5.5 1.5. Evaluation 3 3.4 1.3 1.6. Privacy and security 12 13.8 5.0 1.7. Overview 8 9.2 3.4 2. Network infrastructure 41 100 17.2 2.1. Protocol 11 26.8 6 2.2. Handoff management 7 17.1 2.9 2.3. Sensing 13 31.7 5.5 2.4. Network requirement 4 9.8 1.7 2.5. Network implementation 6 14.6 2.8 3. Middleware 31 100 13.0 3.1. Agent-based middleware 11 35.5 4.6 3.2. Reflective middleware 5 16.1 2.1 3.3. Metadata based middleware 2 6.5 0.8 3.4. Tuple space based Middleware 3 9.7 1.3 3.5. Adaptive and objective based middleware 6 19.4 2.5 3.6. OSGI based middleware 4 12.9 1.7 4. User infrastructure 16 100 6.7 4.1. Interface 13 81.3 5.5 4.2. Usability 3 18.8 1.3 5. Application 63 100 26.5 5.1. Smart space 11 17.5 4.6 5.1.1. Home 3 4.8 1.3 5.1.2. Hospital 7 11.1 2.9 5.1.3. Class room 1 1.6 0.4 5.2. Tour guide 6 9.5 2.5 5.3. Information systems 7 12.7 3.0 5.4. Communication systems 10 15.9 4.2 5.5. m-Commerce 19 30.2 8.0 5.6. Web service 9 14.3 3.8 Total 237 100 J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 8513 cles). The articles related to the middleware have 31 articles (13%). The category of this middleware part can be also divided into six subjects. The articles are related to ‘‘agent-based middleware” (11 articles), ‘‘reflective middleware” (5 articles), and ‘‘adaptive and objective based middleware” (6 articles). The fewest of con- text-aware articles is related to user infrastructure (16 articles, 7%). The user infrastructure can be divided into two parts, ‘‘inter- face” (13 articles) and ‘‘usability” (3 articles). In result, the concept and research has the highest percentage of context-aware articles, in which the most explored subject is the algorithm. This represents that the context-aware studies are in developing stages and much research have been conducted in this area. The fewest of context-aware articles is related to user infrastructure. Fig. 5 shows the number of distribution of articles by the year and classification framework. Articles of concept and research layer and application and service layer have been increased con- tinuously by increasing the total number of articles from 2000 to 2007. Almost Articles which have issues of privacy and security are published in 2005 and 2007. It means that the concern about privacy and security has increased recently. Context-aware sys- tems can provide users with better service based on analyzing physical context and personal context such as user schedule, user preferences and so on. However, grasping user context causes risk of security and privacy relevant to personal informa- tion. Articles which focus on context reasoning are distributed almost from 2002 to 2004, because many algorithms for finding user context such as Bayesian network algorithm, decision tree, case based reasoning and rule based reasoning has been already developed. Approximately 65% of articles involved in application layer were published from 2005 to 2007. In accordance with developing fields of the other layer, context-aware computing application and service have been implemented recently. How- ever, articles in user infrastructure, network infrastructure and middleware layer are decreased after the peak publishing point of each layer. For example, articles in middleware layer were in- creased until 2004, and then decreased until. This phenomenon was caused by recent research that covers several category of framework from concept to application. In other words, the ten- dency of recent research focuses not only on basic concept but also implantation or case-study. Therefore, articles of application category in our classification framework have been increased continuously. 5.1. Concept and research layer This represents the references according to the detailed catego- ries in concept and research layer in Table 5. ‘‘Context-aware con- cept and research” involves theories and foundation to construct context-aware systems. Algorithm is an essential part in develop- ing the context-aware systems and is divided into three sections such as agent, context reasoning, and service recommendation. The algorithm category has research related to an AI methodology that provides the foundation for a technology of intelligent sys- tems. Here, it is applied as three indexes within the concept and re- search layer: (1) designing and modeling algorithm, message bus encoded by XML, role and communication methods of agents, (2) increasing accuracy and efficiency of algorithm for extracting high-level context from low-level context, and (3) developing algo- rithm or method to recommend appropriate service according to the context of user. Context data management represents the framework to manage the context and context information. Devel- opment guideline describes the guideline related to the develop- ment of many kinds of context-aware applications and services. The framework of context-aware systems illustrates acquiring, dis- covering, interpreting and accessing various contexts to build con- text-aware services. The framework of context-aware systems is similar to an architectural sketch of a house. It gives users a general idea of what the systems will look like and how it will implement systems. The framework shows the general capabilities of the sys- tems, a user interfaces system functions, system (data) flow, sys- tem management, etc. The evaluation is focused on the evaluation method of the system that is developed in each paper. The overview deals with the general definition, characteristics and history of context-aware. Ontology is generally defined as a ‘representation of a shared conceptualization of a particular domain’, and further defined by ‘axioms that offer additional constraints and meaning as well as rules and heuristics that can derive additional useful information’. Ontology language has been developed in the Semantic Web and has converged to a new W3C standard called Web Ontology Lan- guage (OWL; Smith, Welty, & McGuinness, 2004). Semantic web metadata standards such as Resource Description Framework (RDF) and OWL provide standard representation for context data Table 5 References of concept and research layer. Classification criteria References Concept and research Algorithm Agent Arcos and Plaza (2002), Hattori, Cho, Ohsuga, Isshiki, and Honiden (2004), Kao and Yuan (2005), Krause, Smailagic, and Siewiorek (2006) Context reasoning Anagnostopoulos, Ntarladimas, and Hadjiefthymiades (2007), Brunato and Battiti (2005), Castro and Munz (2000), Chetan, Ranganathan, and Campbell (2005), Drakatos, Pissinou, Douligeris, and Makki (2007), Ladd, Bekris, Rudys, Kavraki, and Wallach (2005), Niemegeers and Heemstra De Groot (2005), Ranganathan, Al-Muhtadi, and Campbell (2004), Sajal, Nirmalya, and Abhishek (2006), Samaan and Karmouch (2005), Satoh (2003), Smailagic and Kogan (2002), Weber, Sorkine, Lipman, and Gotsman (2007), Xiong and Hassan (2006) Service recommendation Byun and Cheverst (2004), Hatala, Wakkary, and Kalantari (2005), Kocaballı and KoçyiğitGranular (2007), Kouadri and Younas (2007), Kwon and Kim (2004), Meeuwissen, Reinold, and LiemInferring (2007), Pertselakis, Ferles, Tsiolis, and Stafylopatis (2005), Soldatos, Stamatis, Azodolmolky, Pandis, and Polymenakos (2007), Syukur and Loke (2007), Yuan and Peng (2004) Development guideline Anhalt et al. (2001), Augustin et al. (2006), Avrahami, Gergle, Hudson, and Kiesler (2007), Bolchini et al. (2007), Casas, Cuartielles, Marco, Gracia, and Falco (2007), Henricksena and Indulska (2006), Hong and Landay (2001), Julien, Payton, and Roman (2004), Kwon (2004), Kwon, Choi, and Kim (2007), Qing, Károly, Christian, Paulo, and Bernhard (2006), Qiu, Chang, Lin, and Shi (2007), van Sinderen, van Halteren, Wegdam, Meeuwissen, and Eertink (2006) Framework Dix et al. (2000), Doulkeridis, Loutas, and Vazirgiannis (2006), Johnson (2007), Jones, Grandhi, Terveen, and Whittaker (2004), Kao and Yuan (2004), Panagiotakis and Alonistioti (2006), Rogers and Muller (2006), Roussaki, Strimpakou, and Anagnostou (2007), van Kranenburg, Bargh, Iacob, and Peddemors (2006), Vuković, Kotsovinos, and Robinson (2007) Context data management Abecker, Bernardi, Hinkelmann, Kühn, and Sintek (2000), Chaari, Ejigu, Laforest F., and Scuturici (2007), Demiris, Vlahakis, Makri, Papaioannou, and Ioannidis (2005), Korpipää et al. (2003), Liao, He, and Tang (2004), Reignier, Brdiczka, Vaufreydaz, Crowley, and Maisonnasse (2007), Roussaki, Strimpakou, and Pils (2007), Satoh (2007), Serrano and Serrat (2006), Simons and Wirtz (2007), Smith, Ma, and Ryan (2006), Qi and Venkatasubramanian (2007), Zimmermann, Specht, and Lorenz (2005) Evaluation Griswold et al. (2004), Morla and Davies (2004), O’Grady et al. (2005) Privacy and security Bhatti, Bertino, and Ghafoor (2005), Bhatti, Samuel, Eltabakh, Amjad, and Ghafoor (2007), Falkovych and Nack (2006), Hill et al. (2004), Jiang and Landay (2002), Jorns, Jung, and Quirchmayr (2007), Jutla, Bodorik, and Zhang (2006), Minami and Kotz (2005), Tentori, Favela, and Rodriguez (2006), Vassilis, Loukas, Dimitris, and Stavros (2006), Yee, Korba, Lin, and Shih (2006), Zhang, Qi, Zhao, and Hou (2007) Overview Brown and Randel (2004), Chalmers (2004), Dey (2001), Intille (2004), Lieberman and Selker (2000), Liechti (2000), Loke (2006), Prekop and Burnett (2003) Table 6 References of network layer. Classification criteria References Network infrastructure Internet protocol Benedetto and Nardis (2006), Boukerche, Pazzi, and Araujo (2006), Chen and Mohapatra (2005), Friday et al. (2003), Giaffreda, de Carvalho, Melia, Giaffreda, and de Carvalho (2007), Kellerer, Wagner, Balke, and Schulzrinne (2004), Lin, Tsai, and Lai (2005), Singh and Acharya (2005), Tyan and Mahmoud (2005), Yau and Karim (2003), Zhu et al. (2005) Handoff management Balasubramaniam and Indulska (2004), Bellavista, Corradi, and Foschini (2007), Marias, Prigouris, Papazafeiropoulos, Hadjiefthymiades, and Merakos (2004), Mcnair and Zhu (2004), Qing et al. (2006), Rocha and Endler (2006), Yang, Wu, Yang, and Liu (2007) Sensing Brilingaitė and Jensen (2007), Gellersen, Schmidt, and Beigl (2002), Gellersen, Kortuem, Schmidt, and Beigl (2004), Goulev, Stead, Mamdani, and Evans (2004), Gross, Egla, and Marquardt (2006), Jonker, Persa, Caarls, de Jong, and Lagendijk (2003), Knight et al. (2007), Matsushita (2001), Michahelles and Samulowitz (2004), Pfeifer (2005), Schmidt and Laerhoven (2001), Xu, Fu, Lee, and Winter (2007), Zhong and Gilbert (2005) Network requirement Dixit (2002), Harter, Hopper, Steggles, Ward, and Webster (2002), Kanter (2002), Yang et al. (2007) Network implementation Aguiar, Sarma, Bijwaard, Marchetti, and Pacyna (2007), Beigl, Gellersen, and Schmidt (2001), Cano, Ferrandez-Bell, and Manzoni (2005), Gonzalez-Castano, Garcia-Reinoso, Gil-Castineira, Costa-Montenegro, and Pousada-Carballo (2005), Riva, Nadeem, Borcea, and Iftode (2007), Wang et al. (2004) Table 7 References of middleware layer. Classification criteria References Middleware Agent-based middleware Alahuhta, Löthman, Helaakoski, Koskela, and Röning (2007), Bellavista, Corradi, Montanari, and Stefanelli (2006), Bellavista, Corradi, and Stefanelli (2002), Chen et al. (2004), Julien and Roman (2006), Khedr and Karmouch (2005), Khedr and Karmouch (2004), Kumar et al. (2003), Riekki et al. (2003), Román et al. (2002), Soldatos, Dimakis, Stamatis, and Polymenakos (2007) Reflective middleware Capra, Emmerich, and Mascolo C. (2003), Chan and Chuang (2003), Chan, Chuang, Cao, and Leong (2004), Qin, Shi, and Suo (2007), Sacramento et al. (2004) Metadata based middleware Bellavista, Corradi, Montanari, and Stefanelli (2003a), Bellavista, Corradi, Montanari, and Stefanelli (2003b) Tuple space based middleware Cabri, Leonardi, Mamei, and Zambonelli (2003), Curino et al. (2005), Murphy and Picco (2004) Adaptive and objective based middleware Alex, Kumar, and Shirazi (2008), Trumler, Bagci, Petzold, and Ungerer (2005), Yau and Karim (2004a), Yau and Karim (2004b), Yau et al. (2006), Wu et al. (2007) OSGI based middleware Choi, Shin, and Shin (2005), Gu, Pung, and Zhang (2005), Gu, Pung, and Zhang (2004), Yu, Zhou, Yu, Zhang, and Chin (2006) 8514 J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 in context-aware systems. In other words, ontology will play a cru- cial role in enabling the processing and sharing of information and knowledge on the middleware. The reasons are as follows: � Providing a shared and common understanding of a domain that can be communicated across people and application systems (Chen & Finin, 2003). Table 8 References of application and service layer. Classification criteria References Applications and services Smart space Home Baek, Lee, Lim, and Huh (2005), Intille (2002), Schulzrinne, Wu, Sidiroglou, and Berger (2003) Hospital Agarwal, Joshi, Finin, Yesha, and Ganous (2007), Bottazzi, Corradi, and Montanari (2006), Favela, Rodríguez, Preciado, and González (2004), Favela et al. (2007), Kjeldskov and Skov (2007), Muñoz, Rodriguez, Favela, Martinez-Garcia, and González (2003), Rodríguez, Favela, Martínez, and Muñoz (2004) Class room Sung et al. (2005) Tour guide Bellotti, Berta, De Gloria, and Margarone (2005), Cano, Manzoni, and Toh (2006), Cheverst, Mitchell, Davies, and Smith (2000), Cheverst, Smith, Mitchell, Friday, and Davies (2001), O’Hare and O’Grady (2003), Pashtan, Heusser, and Scheuermann (2004) Information systems Celentano and Gaggi (2006), Kwon (2006a), Kwon, Yoo, et al. (2005), Kwon, Yoo, and Suh (2006), Norrie et al. (2007), Signer, Grossniklaus, and Norrie (2007), Wilson, Doyle, Weakliam, Bertolotto, and Lynch (2007) Communication systems Fogarty, Lai, and Christensen (2004), Goularte, Pimentel, and Moreira (2006), Raento, Oulasvirta, Petit, and Toivonen (2005), Ranganathan, Campbell, Ravi, and Mahajan (2002), Schmidt, Takaluoma, and Mantyjarvi (2000), Schilit, Hilbert, and Trevor (2002), Sumi and Mase (2000), Sumi and Nishida (2001), Udugama, Kuladinithi, Gorg, Pittmann, and Tionardi (2007), Yuan and Chen (2007) M-commerce Anagnostopoulos, Tsounis, and Hadjiefthymiades (2007), Becerra-Fernandez, Cousins, and Weber (2007), Bouvin, Christensen, Frank, and Hansen (2003), Broens, Halteren, Sinderen, and Wac (2007), Chakraborty et al. (2007), Genco, Sorce, Reina, and Santoro (2006), Kwon (2003), Kwon and Sadeh (2004), Kwon, Shin, and Kim (2006), Maiden, Omo, Seyff, Grunbacher, and Mitteregger (2007), Mandato, Kovacs, Hohl, and Amir-Alikhani (2002), Riva and Toivonen (2007), Roussos, Marsh, and Maglavera (2005), Skov and Høegh (2006), Stylianos, Nikia, Kia, and Christos (2007), Syukur and Loke (2006),Wac, Halteren, Bults, and Broens (2007), Wohltorf, Cissée, and Rieger (2005), Yu et al. (2006) Web service Blake, Kahan, and Nowlan (2007), Debaty, Goddi, and Vorbau (2005), Ceri, Daniel, Facca, and Matera (2007), Gandon and Sadeh (2004), Kanter (2003), Kwon (2006b), Kwon, Choi, et al. (2005), Kwon, Yoo, et al. (2005), Lee (2007), Pashtan, Kollipara, and Pearce (2003) Table 9 References of user infrastructure layer. Classification criteria References User infrastructure Interface Alexander and Matthias (2006), Bell, Feiner, and Höllerer (2002), Calvary et al. (2003), Hatala and Wakkary (2005), Hong, Dickson, Chiu, Shen, and Kafeza (2007), Korhonen et al. (2007), Kurvinen, Lähteenmäki, Salovaara, and Lopez (2007), Lieberman and Chu (2007), Lum and Lau (2002), Mäntyjärvi and Seppänen (2003), Rehman, Stajano, and Coulouris (2007), Selker (2004), Smailagic and Siewiorek (2002) Usability Barnard, Yi, Jacko, and Sears (2005), Burrell and Gay (2002), Kaasinen (2003) Fig. 5. Distribution of articles number by year and classification framework. J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 8515 � Facilitating knowledge sharing and reuse in an open and dynamic distributed systems (Kwon, Choi, et al., 2005; Kwon, Yoo, et al., 2005; Gruber, 1993). � Deriving fresh knowledge and facts based on reasoning contex- tual data and information by using inference engines. � Allowing devices and agents not expressly designed to work together to interoperate, achieving ‘‘serendipitous interoperabil- ity” (Wang, Dong, Chin, Hettiarachchi, & Zhang, 2004). Although some research only focuses on ontology, the number is very few. Ontology is generally used for reasoning and express- ing context data. Therefore, they do not need to have a separate category for ontology. 5.2. Network layer As shown in Table 6, we categorize the network infrastructure layer into internet protocol, handoff management, sensing, net- work requirements and network implementation. Context-aware computing needs to dynamically adapt to changes in this context and connect entities based on network. Therefore, many researches are conducted to offer appropriate network for providing context- aware computing. Internet protocol category involves presenting mechanisms and design of session initiation protocol (SIP), mobile IPv6, an integral part of constructing self-configuring mobile ad hoc networks and object discovery. Handoff management category has article about the process of transferring an ongoing call or data session from one channel connected to the core network to an- other. Article topic of handoff management category is treating heterogeneous network for seamless communication environ- ments. The sensing category is responsible for capturing, abstract- ing and acquiring context information of the situations in the environment. When implementing context-aware systems, the ba- sic idea is to use the sensor data and predict the current situation. Therefore, the sensing category consists of sensing algorithm, sens- ing technology and wearable sensing mechanism. Network requirements category means collecting requirements for the adaptation method which can support seamless computing infra- structures, framework for integration for user services out to the 8516 J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 mobile devices and heterogeneous network infrastructures. Net- work implementation category involves realizing the network which can provide context-aware computing environments. Although many researches related with context-aware computing illustrate network layer, the research which are specially focused on network are only involved in this category. A part of research related with constructing context-aware systems involves an illus- tration of sensing. However, these researches do not belong to the network category, because network sensing is not their core part. 5.3. Middleware layer Table 7 indicates the references according to the detailed cate- gories in middleware layer. The context-aware systems can be made up of several basic parts. Almost all the middleware parts gather context information, process it and derive meaningful ac- tions from it. Context-aware systems must have middleware sup- port for providing customized services. The middleware allows agents to acquire contextual information easily, reason about it using different logics and then adapt themselves to changing con- texts. Therefore, the middleware facilitates the development of context-aware agents. There are many types of middleware. This paper divides the currently available middleware for context- aware systems into seven categories. The essential part of agent- based middleware is mobile agents. Mobile agents are regarded as a highly potential technology for many application areas. They emerge as a middleware technology suitable to develop context- aware services, and have been developed to implement the needed active infrastructure and the MA-based middleware design and implementation. Reflective middleware possesses the unique abil- ity to model itself through self-representation, such that the manipulation of its behavior may be changed. A middleware sys- tems with self-representation is causally connected if changes made to the self-representation directly affect the implementation of the middleware. The opposite is true if changes to the middle- ware implementation change the self-representation. Metadata provides information on users, devices resources, and the preferred binding strategies. Metadata based middleware facilities perform runtime binding management actions based on metadata and con- text and location visibility. Tuple spaces have been considered for use in sensor networks and as a blackboard with a mechanism that permits to retrieve partially known information. This is a shared repository of information, which can be accessed via well-defined primitives. Adaptive middleware is a middleware for context- aware applications in smart-home setups. In this scheme, the mid- dleware matches the Quality of Context (QoC) requirements with the QoC available with the sensors. The application’s QoC require- ments are mapped to a utility function using the QoC attributes of the sensors available. OSGi-based middleware reliably manages context-aware services to support context acquisition, discovery, and reasoning. The middleware using agents for managing complexity in the delivery of context-aware systems have recently emerged. Auton- omous, proactive, rational and social agents are engaged in oppor- tunistic collaboration in the solution of appropriate service, because context-aware systems are comprised of many dynami- cally interacting components. Numerous incarnations of agents are found from the reactive agent that responds in a stimulus re- sponse manner, the agent that minimizes the need for a complex representational context model, to the agent that support reason- ing in a collaborative context. 5.4. Application and service layer Table 8 indicates the references according to detailed categories in applications and services layer. There are many types of context- aware application, which provide the user with smart environment such as home, hospital, class room, etc. When a user wants to go to unfamiliar places such as museum, they play an important role as a tour guide. In addition, context-aware applications include infor- mation systems, especially decision support systems, communica- tion systems as social community, m-commerce, and web service. Based on the analysis of the literature review related with con- text-aware application and service, characteristics of context- aware computing application and service are extracted as follows: � Compute device to operate independently of human control. To provide the user with services autonomously, context-aware applications are customizable by using user context and prefer- ence. Automatic execution of service is conducted when in a cer- tain context. � Context-aware applications act in anticipation of future goals or problems. Context-aware applications not only handle current task, situation and action but also, anticipate future behavior, moving point and problem of user. � In context-aware application, various devices are interconnected among each other and they recognize each other on a certain distance, because proximal devices distance between user and device or between devices are important factors to offer appro- priate service to user. � Context-aware applications provide a rich set of capabilities and services to the nomad as she moves from places to place in a transparent and convenient form. 5.5. User infrastructure layer Table 9 shows the references according to the detailed catego- ries in user infrastructure layer. It is characteristic for handheld de- vices and their users that they are continuously moving in several simultaneous fuzzy contexts. The usefulness of a given context- aware systems is most likely to suffer from the small screen and a dynamic context of users. Mobility is at its core the very essence of context-awareness. The dynamic environment sets special requirements for usability and acceptance of context-aware sys- tems. Therefore, research of user interface (UI) and usability of handheld device are carried out. In UI category, a content adapta- tion system for overcoming small interface such as PDA and cellu- lar phone, user modeling and human–computer interaction for considering the emergence of ubiquitous and mobile computing environments are presented. In UI research, it is suggested that the contents were confusing when a screen changed due to a loca- tion change. Usability category involves investigating the user needs based on user interviews, field evaluations with users, and expert evaluations of context-aware services. Appearing context- aware devices and services introduces a new level of complexity when it comes to usability evaluation. Usability evaluation meth- ods have been measured against desktop environments. Some researchers investigated general guidelines for evaluating con- text-aware systems, while others have evaluated novel interfaces and ways of interacting. They suggested a hybrid evaluation meth- od comprised of cognitive walkthrough and heuristic evaluation for UI supporting mobility of context-aware systems. 6. Discussions and suggestions Context-aware systems are still developing in order to improve. Many researchers have been concerned about context-aware sys- tems and context-awareness, and as shown in Fig. 2, the concern has increased from 2000 to 2007. Moreover, reports or white paper of many project have been published increasingly. However, con- J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 8517 text-aware systems are not fully implemented in real life. As shown in Table 4, much research has focused on the concept and research layer. The scope of applications or services in most articles is limited to small regions; laboratory, school, hospital, smart room and so on. In addition, strategic alternatives or business models for gaining the revenue by using context-aware systems are very few. Furthermore, technologies related to context-aware systems are merely standardized. The architecture, method of context model- ing, inference algorithm, network implementation and devices of users in each project are different. Furthermore, middleware, applications and services make use of different level of contexts and adapt the way they behave according to the current context. Therefore, according to the level and type of contexts along with the goal of context-aware systems, the context modeling method- ology, inference algorithm, agent structure, and interaction meth- od of agent are changed. Although the interaction between agents in the same middleware and cooperation between compo- nents of the same architecture are investigated, a standard for interaction, cooperation and operation in the different context- aware application has not been studied. Finally, we found that con- text sensing, context managing and context-aware services and applications are included in ubiquitous computing environment. Context awareness is a key factor for new applications in the area of ubiquitous computing. The immediate future of context-aware application and service may increasingly lie in its everyday life; as researchers are begin- ning to realize the impossibility of developing systems and appli- cation only in laboratory environments. Therefore, possible future research agenda may include answers to the following questions. 6.1. How to extract and use the cognitive context in context-aware application? Most of the context-aware systems focus on the external con- text, called physical context. External context means context data collected by physical sensors. It involves context data of the phys- ical environment, location data, distance, function on to other ob- jects, temperature, sound, air pressure, time, lighting levels surrounding users, and so on. The external context is important, and very useful for context-aware systems, because context-aware systems provide recommended services for a person based on ana- lyzing the external data. However, to provide personalized services according to user preferences, task and emotional state of user, the cognitive domains, such as information retrieval, decision making, situation monitoring, and so on, are needed. However, a few authors have addressed utilizing the cognitive elements of a user’s context. Several researchers have proposed models to capture the internal elements of context. This model differs from many of the previous approaches, because it focuses on extracting a user’s cog- nitive activities, rather then extracting the user’s movement based on a physical environment. Cognitive context information is key information to satisfy user by providing personalized context- aware computing services. In the early stage of research, only the physical context information was collected to be aware of user’s context. Recently, some of the literatures which focus on cognitive context have been introduced. However, it is insufficient to estab- lish context-aware systems that reflect cognitive context. To pro- vide suitable and personalized service for the user, more studies need to be conducted in this area. 6.2. What are design patterns of context-aware systems? Design patterns are defined as recurring solutions to design problems you see over (Berczuk 1994). They focus on the reuse of recurring architectural design themes, and have a recurring de- sign problem that is generated in a specific domain and suggest a solution (Buschmann, Meunier, Rohnert, Sommerlad, & Stal, 1996). Design patterns from another format sharing knowledge such as development guidelines are distinguished by the following reasons. � To help designers address high-level problems as well as low- level ones by showing the hierarchical structure between design patterns. � To capture the essence of recurring problems and their solutions in a compact form. � To have many examples of actual designs, alternatives to apply the solution, and some of the tradeoffs in applying the solution. Design patterns have been proposed in many domains as a for- mat for capturing and sharing design knowledge between practi- tioners. They can also assist designers in developing context- aware systems. Design patterns of context-aware systems will pro- vide an effective way for sharing solutions to design problems and reuse prior design knowledge. Also, the designer of the context- aware systems will avoid dangerous design problem and easily solve the difficult recurring problems. Some effort has aimed at unearthing common design patterns for context-aware systems. However, suggested design patterns are not specific, nevertheless, general and very few research has been conducted. Therefore, re- search on design pattern of context-aware systems should be con- ducted, because there are many potential benefits in developing a design pattern. 6.3. Which is the best inferring algorithm to extract user context and provide service to user? Various algorithms used in context-aware systems are classified into two parts. First, algorithm is utilized to infer high-level con- text of user. According to levels of abstraction, context is divided into low-level context and high-level context. Low-level context is raw data collected directly from physical sensors, while high-le- vel context is inferred from low-level context. This part involves the algorithm of context reasoner to extract high-level context and inferring algorithm to extract correct position of user, near ob- ject, and environments. Second, algorithm is recommending suit- able service. According to the activity, location and preference of user, recommended services of context-aware systems are differ- ent. Although location is critical to determine service, user profile (such as sex, age, style, preference, and so on) also has influence on recommending service. Therefore, for increasing user satisfac- tion by recommending service that customer wants to receive, an inferring algorithm based on context and user profile is used. In the two parts, Bayesian networks for handling causal relationships between various events, probabilistic logic, fuzzy logic, decision tree, neural network and support vector machine (SVM) are ap- plied. Moreover, many researches focus on improving accuracy and efficiency of these algorithms. However, the research for com- paring these algorithms according to the context data type, amount of context data, research scenario and components of envi- ronments has not been carried out. Since finding the suitable ser- vice quickly and correctly from on low-level context is very important in limited computing environments, research related with the best inferring algorithm for extracting user context and providing the service with users should be conducted. 6.4. How to deal with concurrently enormous data, information and knowledge having different format to serve suitable service to users? The raw data of low-level context are usually gathered from dif- ferent physical sensors. Data type, formats and abstraction level 8518 J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 from different physical sensors are different. Devices and physical sensors of context-aware systems use various scale and unit, and low-level context has different elements. Context-aware systems store data, information and knowledge that have different relation- ship, format and abstraction level in the context base. Furthermore, context-aware systems collect context history storing sensor data over time to offer proactive service. Context history stores huge amount of data on location, temperature, lighting level, task, uti- lized devices, state of devices, selected services and so on. To quickly provide suitable service to users, context-aware systems should manage variety, diversity and numerous amount of context. However, previous research suggested only a concept to control this problem. Therefore, a methodology and real implication for treating variety, diversity and numerous mount of context are needed. 6.5. How to extract the best solution when the context of users is conflicted? Conflicts occur on context-aware computing environments when many users use the several physical sensors and service sources. Thus, the conflicts of context-aware systems are classified into sensing conflict, service resource conflict and user preference conflict. � Sensing conflict: Not matching results from several physical data sources. If the coordinates of GPS and spotting of a camera are different, then sensing conflict is generated. � Service resource conflict: Selecting only several users among many users that want to be provided with the same service, due to limited service resource. If context-aware systems offer services without possessing all the necessary service resources, then service resource conflict occurs. � User preference conflict: Providing only several users with per- sonalized service, because the preference of users is not the same, although the same context of users is identified. If family members like different TV programs at the same time, then pref- erence difference between family members leads to user prefer- ence conflict. The problem of conflicts has been approached by using informa- tion fusion, time stamps and fuzzy algorithm. However, it is still not solved perfectly, because it is difficult to provide personalized services under the limited resource. Therefore, a study on method- ology and actual guideline for harmonizing all conflicts are required. 6.6. How to reflect the preference of users for satisfying user needs? The preference of each user is different according to user con- text and profile. Predicting the preferences of users and providing the personalized services based on users’ preferences have carried out by various research. Especially, predicting the preferences of users in e-commerce users for providing the personalized services is one of the important issues. Recommendation systems providing personalized services have been carried out by many researchers. However, the research considering users’ preferences on Context- aware computing is a relatively insufficient in the context-aware systems research field (Byun & Cheverst, 2004). There were some limitations in previous research for providing the personalized ser- vices on context-aware systems. First, the users have to input their preferences directly. Second, they did not provide automated ser- vices. Finally, it is difficult to provide new user with the personal- ized services. Thus, it is difficult to provide the users with the automatic personalized services due to these limitations. Hence, proposing the context-aware systems to provide the personalized services based on context history in context-aware computing is needed. 6.7. How to save users information in context-aware systems? As Table 5 shows, the research has been conducted in the area of security and privacy. The context-aware systems that do not consider user privacy and security in systems that deal with per- sonal data will not be publicly accepted. Therefore, general and several approaches to implement security and privacy in context- aware systems have been studied. Although privacy and security are an important aspect of context-aware systems, applicable con- text-aware systems utilizing these approaches have not been investigated yet, due to their complexity. In other words, most re- searches have only focused the concept for protecting privacy and security. The more research related with privacy and security is needed for context-aware systems to become a reality. A user utilizing context-aware systems uses many available computers embedded in everyday artifacts, like PDA, navigation, and so on. Each user uses many personal computing devices, and at the same time, the same publicly available device is used by many users. Furthermore, context-aware systems store and handle sensitive and personal data. Common to context-aware systems is the lack of appropriate security and privacy mechanisms that can effectively ensure a secure user authentication. Therefore, the need for authentication arises as the information and data stored in con- text base is highly personal and should be protected. Hence, more research on context-aware systems that can be protected from unauthorized access is needed. 6.8. How to evaluate performance of context-aware systems? It is essential to improve managing and planning context-aware systems based on performance evaluation, because ‘‘what you measure is what you get”. Various models such as Balanced Score Card (BSC), IS Success Model, Control Objectives for Information and Related Technology (COBIT), Information Economics, and so on, have been applied to suggest measures that can evaluate the performance of information systems by considering diverse per- spectives. Due to the unique characteristics of context-aware sys- tems such as portability, mobility, proactiveness, nomadicity, and so on, the current technology for evaluating information systems (IS) does not provide techniques to formally define, verify, imple- ment, and analyze them. Therefore, research on the model and per- formance measure reflecting the characteristics of context-aware systems should be conducted. 7. Conclusions The review was organized according to the framework devel- oped with the purpose of providing a comprehensive overview of research on context-aware systems. The review introduced the context-aware systems concept, network infrastructure, middle- ware, application, user infrastructure and presented an exhaustive list of each layer of context-aware systems. In this paper, we re- viewed the literatures for the concept and applications, and exam- ined them using dimensions related to ongoing and emerging issues in context-aware systems. This paper is based on a literature review of context-aware systems from 2000 to 2007 using a key- word index and article title search. Overall, we found that the activity related with context-aware computing seems to increase dramatically and can be classified into designing and implement- ing network, user infrastructure on handheld device, middleware which are enough to provides users with context-aware services, concept and research being the base of context-ware application, J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 8519 and application and service. It provides sufficient literature for the researchers on the use of context-aware systems, and we hope that it will motivate the researchers and practitioners to examine con- text-aware systems issues and its applications. The framework of context-aware systems offers a general development guideline, fundamental component and relationships within component of context-aware systems. Furthermore, on the basis of this frame- work and the literature review, selected opportunities for future research were discussed. It is concluded that different social science methodologies, such as psychology, cognitive science, and human behavior could imple- ment context-aware computing. Integration of qualitative, quanti- tative and scientific methods and integration of context-aware theory and concept studies may broaden our horizon on this sub- ject. Finally, the ability to continually change and obtain new understanding is the power of context-aware computing. Although considerable attention was given to the framework de- sign and classification of the literature review, some limitations still exist. First, some relevant articles might have been overlooked. Much the literature has been found by the title, keyword or abstract only. Although the title in most cases describes the content quite well this is not always so. In order to conduct a comprehensive lit- erature review, the topical focus was kept relatively narrow on con- text-aware systems. Moreover, this paper makes a brief literature review of context-aware systems from 2000 to 2007 in order to ex- plore how context-aware systems have developed in this period. White paper, practical reporter and many articles related with con- text-aware systems were not reviewed, because seven online dat- abases were searched in this paper. Period and searching limitation may not satisfy the need of readers looking for a review on context-aware systems. Finally, the correlation between the framework and real projects of context-aware systems are not illus- trated. The review did not involve the role and interaction methods of logical components in architectures of SOCAM, CASS, CoBrA, GUIDE, Hydrogen, Gaia, Context Toolkit, STU21 project and so on, since only articles of journals were extracted and analyzed. References Abecker, A., Bernardi, A., Hinkelmann, K., Kühn, O., & Sintek, M. (2000). Context- aware, proactive delivery of task-specific information: The KnowMore project. Information Systems Frontiers, 2(3), 253–276. Agarwal, S., Joshi, A., Finin, T., Yesha, Y., & Ganous, T. (2007). A pervasive computing system for the operating room of the future. Mobile Networks and Applications, 12(2–3), 215–228. Aguiar, R. L., Sarma, A., Bijwaard, D., Marchetti, L., & Pacyna, P. (2007). Pervasiveness in a competitive multi-operator environment: The daidalos project. Communications Magazine, IEEE, 45(10), 22–26. Alahuhta, P., Löthman, H., Helaakoski, H., Koskela, A., & Röning, J. (2007). Experiences in developing mobile applications using the apricot agent platform. Personal and Ubiquitous Computing, 11(1), 1–10. Alex, H., Kumar, M., & Shirazi, M. (2008). MidFusion: An adaptive middleware for information fusion in sensor network applications. Information Fusion, 9(3), 332–343. Alexander, Z., & Matthias, J. (2006). Implementing adaptive mobile GI services based on ontologies: Examples from pedestrian navigation support. Computers, Environment and Urban Systems, 30(6), 784–798. Anagnostopoulos, C. B., Ntarladimas, Y., & Hadjiefthymiades, S. (2007). Situational computing: An innovative architecture with imprecise reasoning. Journal of Systems and Software, 80(12), 1993–2014. Anagnostopoulos, C. B., Tsounis, A., & Hadjiefthymiades, S. (2007). Context awareness in mobile computing environments. Wireless Personal Communications, 42(3), 445–464. Anhalt, J., Smailagic, A., Siewiorek, D. P., Gemperle, F., Salber, D., Weber, S., et al. (2001). Toward context-aware computing: Experiences and lessons. IEEE Intelligent Systems, 16(3), 38–46. Arcos, J. L., & Plaza, E. (2002). Context aware personal information a gents. International Journal of Cooperative Information Systems, 11(3–4), 245–264. Augustin, I., Yamin, A. C., da Silva, L. C., Real, R. A., Frainer, G., & Geyer, C. F. R. (2006). ISAMadapt: Abstractions and tools for designing general-purpose pervasive applications. Software: Practice and Experience, 36(11–12), 1231–1256. Avrahami, D., Gergle, D., Hudson, S. E., & Kiesler, S. (2007). Improving the match between callers and receivers: A study on the effect of contextual information on cell phone interruptions. Behaviour and Information Technology, 26(3), 247–259. Baek, S. H., Lee, H. J., Lim, S. Y., & Huh, J. D. (2005). Managing mechanism for service compatibility and interaction issues in context-aware ubiquitous home. IEEE Transactions on Consumer Electronics, 51(2), 524–528. Balasubramaniam, S., & Indulska, J. (2004). Vertical handover supporting pervasive computing in future wireless networks. Computer Communications, 27(8), 708–719. Baldauf, M., Dustdar, S., & Rosenberg, F. (2007). A survey on context-aware systems. International Journal of Ad Hoc and Ubiquitous Computing, 2(4), 263–277. Barnard, L., Yi, J. S., Jacko, J. A., & Sears, A. (2005). An empirical comparison of use-in- motion evaluation scenarios for mobile computing devices. International Journal of Human–Computer Studies, 62(4), 487–520. Becerra-Fernandez, I., Cousins, K. C., & Weber, R. O. (2007). Nomadic context-aware knowledge management systems: Applications, challenges and research problems. International Journal of Mobile Learning and Organisation, 1(2), 103–121. Beigl, M., Gellersen, H. W., & Schmidt, A. (2001). Media cups: Experience with design and use of computer-augmented everyday artefacts. Computer Networks, 35(4), 401–409. Bell, B., Feiner, S., & Höllerer, T. (2002). Visualization viewpoints. IEEE Computer Graphics and Applications, 23(2), 6–9. Bellavista, P., Corradi, A., & Foschini, L. (2007). Context-aware handoff middleware for transparent service continuity in wireless networks. Pervasive and Mobile Computing, 3(4), 439–466. Bellavista, P., Corradi, A., Montanari, R., & Stefanelli, C. (2003a). Context-aware middleware for resource management in the wireless internet. IEEE Transactions on Software Engineering, 29(12), 1086–1099. 2003. Bellavista, P., Corradi, A., Montanari, R., & Stefanelli, C. (2003b). Dynamic binding in mobile applications: A middleware approach. IEEE Internet Computing, 7(2), 34–42. 2003. Bellavista, P., Corradi, A., Montanari, R., & Stefanelli, C. (2006). A mobile computing middleware for location- and context-aware internet data services. ACM Transactions on Internet Technology, 6(4). Bellavista, P., Corradi, A., & Stefanelli, C. (2002). The ubiquitous provisioning of internet services to portable devices. IEEE Pervasive Computing, 1(3), 81–87. Bellotti, F., Berta, R., De Gloria, A., & Margarone, M. (2005). Implementing tour guides for travelers. Human Factors and Ergonomics in Manufacturing, 15(4), 461–476. Benedetto, M. D., & Nardis, L. D. (2006). Tuning UWB signals by pulse shaping: Towards context-aware wireless networks. Signal Processing, 86(9), 2172–2184. Berczuk, S. (1994). Finding solutions through pattern languages. IEEE Computer, 27(12), 75–76. Bhatti, R., Bertino, E., & Ghafoor, R. (2005). A trust-based context-aware access control model for web-services. Distributed and Parallel Databases, 18(1), 83–105. Bhatti, R., Samuel, A., Eltabakh, M. Y., Amjad, H., & Ghafoor, A. (2007). Engineering a policy-based system for federated healthcare databases. Knowledge and Data Engineering, IEEE, 19(9), 1288–1304. Blake, M., Kahan, D., & Nowlan, M. (2007). Context-aware agents for user-oriented web services discovery and execution. Distributed and Parallel Databases, 21(1), 39–58. Bolchini, C., Schreiber, F. A., & Tanca, L. (2007). A methodology for a very small data base design. Information Systems, 32(1), 61–82. Bottazzi, D., Corradi, A., & Montanari, R. (2006). Context-aware middleware solutions for anytime and anywhere emergency assistance to elderly people. Communications Magazine, IEEE, 44(4), 82–90. Boukerche, A., Pazzi, R. W. N., & Araujo, R. V. (2006). Fault-tolerant wireless sensor network routing protocols for the supervision of context-aware physical environments. Journal of Parallel and Distributed Computing, 66(4), 586–599. Bouvin, N. O., Christensen, B., Frank, K. G., & Hansen, A. (2003). HyCon: A framework for context-aware mobile hypermedia. New Review of Hypermedia and Multimedia, 9, 59–88. Brilingaitė, A., & Jensen, C. S. (2007). Enabling routes of road network constrained movements as mobile service context. GeoInformatica, 11(1), 55–102. Broens, T., Halteren, A. V., Sinderen, M. V., & Wac, K. (2007). Towards an application framework for context-aware m-health applications. International Journal of Internet Protocol Technology, 2(2), 109–116. Brown, B., & Randel, R. (2004). Building a context sensitive telephone: Some hopes and pitfalls for context sensitive computing. Computer Supported Cooperative Work, 13(3–4), 329–345. Brunato, M., & Battiti, R. (2005). Statistical learning theory for location fingerprinting in wireless LANs. Computer Networks, 47(6), 825–845. Burrell, J., & Gay, G. K. (2002). E-graffiti: Evaluating real-world use of a context- aware system. Interacting with Computers, 14(4), 301–312. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., & Stal, M. (1996). Pattern- oriented software architecture – A system of patterns. Wiley & Sons Ltd.. Byun, H. E., & Cheverst, K. (2004). Utilizing context history to provide dynamic adaptations. Applied Artificial Intelligence, 18(6), 533–548. Cabri, G., Leonardi, L., Mamei, M., & Zambonelli, F. (2003). Location-dependent services for mobile users. IEEE Transactions on Systems, 33(6), 667–681. Calvary, G., Coutaz, J., Thevenin, D., Limbourg, Q., Bouillon, L., & Vanderdonckt, J. (2003). A unifying reference framework for multi-target user interfaces. Interacting with Computers, 15(3), 289–308. 8520 J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 Cano, J. C., Ferrandez-Bell, D., & Manzoni, P. (2005). Evaluating bluetooth performance as the support for context-aware applications. Telecommunication Systems, 28(3–4), 333–347. Cano, J. C., Manzoni, P., & Toh, C. K. (2006). UbiqMuseum: A bluetooth and java based context-aware system for ubiquitous computing. Wireless Personal Communications, 38(2). Capra, L., Emmerich, W., & Mascolo, C. (2003). CARISMA: Context-aware reflective middleware system for mobile applications. IEEE Transactions on Software Engineering, 29(10), 929–945. Casas, R., Cuartielles, D., Marco, A., Gracia, H. J., & Falco, J. L. (2007). Hidden issues in deploying an indoor location system. IEEE Pervasive Computing, 6(2), 62–69. Castro, P., & Munz, R. (2000). Managing context data for smart spaces. IEEE Personal Communications, 7(5), 44–46. Celentano, A., & Gaggi, O. (2006). Context-aware design of adaptable multimodal documents. Multimedia Tools and Applications, 29(1). Ceri, S., Daniel, F., Facca, M. F., & Matera, M. (2007). Model-driven engineering of active context-awareness. World Wide Web, 10(4), 387–413. Chaari, T., Ejigu, D., Laforest, F., & Scuturici, V. M. (2007). A comprehensive approach to model and use context for adapting applications in pervasive environments. Journal of Systems and Software, 80(12), 1973–1992. Chakraborty, D., Dasgupta, K., Mittal, S., Misra, A., Gupta, A., Newmark, E., et al. (2007). Businessfinder: Harnessing presence to enable live yellow for small, medium and micro mobile businesses. Communications Magazine, IEEE, 45(1), 144–151. Chalmers, M. (2004). A historical view of context, a historical view of context. Computer Supported Cooperative Work (CSCW), 13(3), 223–247. Chan, A. T. S., & Chuang, S. N. (2003). MobiPADS: A reflective middleware for context-aware mobile computing. IEEE Transactions on Software Engineering, 29(12), 1072–1085. Chan, A. T. S., Chuang, S. N., Cao, J., & Leong, H. V. (2004). An event-driven middleware for mobile context awareness. The Computer Journal, 47(3), 278–288. Chen, H., & Finin, T. (2003). An ontology for a context aware pervasive computing environment. In Proceedings of IJCAI workshop on ontologies and distributed systems, IJCAI, . Chen, G., & Kotz, D. (2000). A survey of context-aware mobile computing research. Dartmouth College Technical Report TR2000-381. Chen, H., Finin, T., Joshi, A., Kagal, L., Perich, F., & Chakraborty, D. (2004). Intelligent agents meet the semantic web in smart spaces. IEEE Internet Computing, 8(6), 69–79. Chen, H., & Mohapatra, P. (2005). A context-aware HTML/XML document transmission process for mobile wireless clients. World Wide Web, 8(4), 439–461. Chetan, S., Ranganathan, A., & Campbell, R. (2005). Towards fault tolerant pervasive computing. IEEE Technology and Society Magazine, 24(1), 38–44. Cheverst, K., Mitchell, K., Davies, N., & Smith, G. (2000). Exploiting context to support social awareness and social navigation. ACM SIGGROUP Bulletin, 21(3), 43–48. Cheverst, K., Smith, G., Mitchell, K., Friday, A., & Davies, N. (2001). The role of shared context in supporting cooperation between city visitors. Computers & Graphics, 25(4), 555–562. Choi, J. H., Shin, D. K., & Shin, D. I. (2005). Research and implementation of the context-aware middleware for controlling home appliances. IEEE Transactions on Consumer Electronics, 51(1), 301–306. Curino, C., Giani, M., Giorgetta, M., Giusti, A., Murphy, A. L., & Picco, G. P. (2005). Mobile data collection in sensor networks: The TinyLime middleware. Pervasive and Mobile Computing, 1(4), 46–469. Debaty, P., Goddi, P., & Vorbau, A. (2005). Integrating the physical world with the web to enable context-enhanced mobile services. Mobile Networks and Applications, 10(4), 385–394. Demiris, A. M., Vlahakis, V., Makri, A., Papaioannou, M., & Ioannidis, N. (2005). intGuide: A platform for context-aware services featuring augmented-reality, based on the outcome of european research projects. Signal Processing: Image Communication, 20(9–10), 927–946. Dey, A. K. (2001). Understanding and using context. Personal and Ubiquitous Computing, 5(1), 4–7. Dix, A., Rodden, T., Davies, N., Trevor, J., Friday, A., & Palfreyman, K. (2000). Exploiting space and location as a design framework for interactive mobile systems. ACM Transactions on Computer–Human Interaction (TOCHI), 7(3), 285–321. Dixit, S. (2002). Wireless IP and its challenges for the heterogeneous environment. Wireless Personal Communications, 22(2), 261–273. Doulkeridis, C., Loutas, N., & Vazirgiannis, M. (2006). A system architecture for context-aware service discovery. Electronic Notes in Theoretical Computer Science, 146(1), 101–116. Drakatos, S., Pissinou, N., Douligeris, C., & Makki, K. (2007). A context-aware cache structure for mobile computing environments. Journal of Systems and Software, 80(7), 1102–1119. Falkovych, K., & Nack, F. (2006). Context aware guidance for multimedia authoring: Harmonizing domain and discourse knowledge. Multimedia Systems, 11(3). Favela, J., Rodríguez, M., Preciado, A., & González, V. M. (2004). Integrating context- aware public displays into a mobile hospital information system. IEEE Transactions on Information Technology in Biomedicine, 8(3), 279–286. Favela, J., Tentori, M., Castro, L. A., Gonzalez, V. M., Moran, E. V., & Martínez-García, A. I. (2007). Activity recognition for context-aware hospital applications: Issues and opportunities for the deployment of pervasive networks. Mobile Networks and Applications, 12(2–3), 155–171. Fogarty, J., Lai, J., & Christensen, J. (2004). Presence versus availability: The design and evaluation of a context-aware communication client. International Journal of Human–Computer Studies, 61(3), 299–317. Friday, A., Wu, M., Finney, J., Schmid, S., Cheverst, K., & Davies, N. (2003). Network layer access control for context-aware IPv6 applications. Wireless Networks, 9(4), 299–309. Gandon, F. L., & Sadeh, N. M. (2004). Semantic web technologies to reconcile privacy and context awareness. Web Semantics: Science, Services and Agents on the World Wide Web, 1(3), 241–260. Gellersen, H., Kortuem, G., Schmidt, A., & Beigl, M. (2004). Physical prototyping with smart-its. IEEE Pervasive Computing, 3(3), 74–82. Gellersen, H. W., Schmidt, A., & Beigl, M. (2002). Multi-sensor context-awareness in mobile devices and smart artefacts. Mobile Networks and Applications, 7(3), 341–351. Genco, A., Sorce, S., Reina, G., & Santoro, G. (2006). An agent-based service network for personal mobile devices. IEEE Pervasive Computing, 5(2), 54–61. Giaffreda, F., de Carvalho, R., Melia, T., Giaffreda, F., & de Carvalho, T. (2007). Media Network enablers for enhanced mobility management. BT Technology Journal, 25(2), 95–105. Gonzalez-Castano, F. J., Garcia-Reinoso, J., Gil-Castineira, F., Costa-Montenegro, E., & Pousada-Carballo, J. M. (2005). Bluetooth-assisted context-awareness in educational data networks. Computers Education, 45(1), 105–121. Goularte, R., Pimentel, G. C. M., & Moreira, E. D. S. (2006). Context-aware support in structured documents for interactive-TV. Multimedia Systems, 11(4). Goulev, P., Stead, L., Mamdani, E., & Evans, C. (2004). Computer aided emotional fashion. Computers & Graphics, 28(5), 657–666. Griswold, W. G., Shanahan, P., Brown, S. W., Boyer, R., Ratto, M., Shapiro, R. B., et al. (2004). ActiveCampus: Experiments in community-oriented ubiquitous computing. IEEE Computer, 37(10), 73–81. Gross, T., Egla, T., & Marquardt, N. (2006). Sensation: A service-oriented platform for developing sensor-based infrastructures. International Journal of Internet Protocol Technology, 1(3), 159–167. Gruber, T. (1993). A translation approach to portable ontology specifications. Knowledge Acquisition, 5(2), 199–220. Gu, T., Pung, H. K., & Zhang, D. Q. (2004). Toward an OSGi-based infrastructure for context-aware applications. IEEE Pervasive Computing, 3(4), 66–74. Gu, T., Pung, H. K., & Zhang, D. Q. (2005). A service-oriented middleware for building context-aware services. Journal of Network and Computer Applications, 28(1), 1–18. Harter, A., Hopper, A., Steggles, P., Ward, A., & Webster, P. (2002). The anatomy of a context-aware application. Wireless Networks, 8(2–3), 187–197. Hatala, M., & Wakkary, R. (2005). Ontology-based user modeling in an augmented audio reality system for museums. User Modeling and User-Adapted Interaction, 15(3–4), 339–380. Hatala, M., Wakkary, R., & Kalantari, L. (2005). Rules and ontologies in support of real-time ubiquitous application. Web Semantics: Science, Services and Agents on the World Wide Web, 3(1), 5–22. Hattori, M., Cho, K., Ohsuga, A., Isshiki, M., & Honiden, S. (2004). Context-aware agent platform in ubiquitous environments and its verification tests. Systems and Computers in Japan, 35(7), 13–23. Henricksena, K., & Indulska, J. (2006). Developing context-aware pervasive computing applications: Models and approach. Pervasive and Mobile Computing, 2(1), 37–64. Hill, R., Al-Muhtadi, J., Campbell, R., Kapadia, A., Naldurg, P., & Ranganathan, A. (2004). A middleware architecture for securing ubiquitous computing cyber infrastructures. IEEE Distributed Systems Online, 5(9). Hong, D., Dickson, K. W., Chiu, V. Y., Shen, S. C. C., & Kafeza, E. (2007). Ubiquitous enterprise service adaptations based on contextual user behavior. Information Systems Frontiers, 9(4), 343–358. Hong, J. I., & Landay, J. A. (2001). An infrastructure approach to context-aware computing. Human–Computer Interaction, 16, 287–303. Intille, S. S. (2002). Designing a home of the future. IEEE Pervasive Computing, 1(2), 76–82. Intille, S. S. (2004). A new research challenge: Persuasive technology to motivate healthy aging. IEEE Transactions on Information Technology in Biomedicine, 8(3), 235–237. Jiang, X., & Landay, J. A. (2002). Modeling privacy control in context-aware systems using decentralized information spaces. IEEE Pervasive Computing, 1(3), 59–63. Johnson, S. (2007). A framework for mobile context-aware applications. BT Technology Journal, 25(2), 106–111. Jones, Q., Grandhi, S. A., Terveen, L., & Whittaker, S. (2004). People-to-people-to- geographical-places: The P3 framework for location-based community systems. Computer Supported Cooperative Work (CSCW)(3), 249–282. Jonker, P., Persa, S., Caarls, J., de Jong, F., & Lagendijk, I. (2003). Philosophies and technologies for ambient aware devices in wearable computing grids. Computer Communications, 26(11), 1145–1158. Jorns, O., Jung, O., & Quirchmayr, G. (2007). Transaction pseudonyms in mobile environments. Journal in Computer Virology, 3(2), 185–194. Julien, C., Payton, J., & Roman, G. C. (2004). Reasoning about context-awareness in the presence of mobility. Electronic Notes in Theoretical Computer Science, 97, 259–276. Julien, C., & Roman, G. C. (2006). EgoSpaces: Facilitating rapid development of context-aware mobile applications. IEEE Transactions on Software Engineering, 32(5), 281–298. Jutla, D. N., Bodorik, P., & Zhang, Y. (2006). PeCAN: An architecture for users’ privacy-aware electronic commerce contexts on the semantic web. Information Systems, 31(4–5), 295–320. http://www.cs.vu.nl/~heiner/IJCAI-03/Papers/Chen.pdf J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 8521 Kaasinen, E. (2003). User needs for location-aware mobile services. Personal and Ubiquitous Computing, 7(1), 70–79. Kanter, T. G. (2002). HotTown, enabling context-aware and extensible mobile interactive spaces. IEEE Wireless Communications, 9(5), 18–27. Kanter, T. G. (2003). Attaching context-aware services to moving locations. IEEE Internet Computing, 7(2), 43–51. Kao, T. H., & Yuan, S. M. (2004). Designing an XML-based context-aware transformation framework for mobile execution environments using CC/and XSLT. Computer Standards Interfaces, 26(5), 377–399. Kao, T. H., & Yuan, S. M. (2005). Automatic adaptation of mobile applications to different user devices using modular mobile agents. Software Practice and Experience, 35(14), 1349–1391. Kellerer, W., Wagner, M., Balke, W. T., & Schulzrinne, H. (2004). Preference-based session management for IP-based mobile multimedia signaling. European Transactions on Telecommunications, 15(4), 415–427. Khedr, M., & Karmouch, A. (2004). Negotiating context information in context- aware systems. IEEE Intelligent Systems, 19(6), 21–29. Khedr, M., & Karmouch, A. (2005). ACAI: Agent-based context-aware infrastructure for spontaneous applications. Journal of Network and Computer Applications, 28(1), 19–44. Kjeldskov, J., & Skov, M. B. (2007). Exploring context-awareness for ubiquitous computing in the healthcare domain. Personal and Ubiquitous Computing, 11(7), 549–562. Knight, J. F., Bristow, H. W., Anastopoulou, S., Baber, C., Schwirtz, A., & Arvanitis, T. N. (2007). Uses of accelerometer data collected from a wearable system. Personal and Ubiquitous Computing, 11(2), 117–132. Kocaballı, A. B., & KoçyiğitGranular, A. (2007). The best match algorithm for context- aware computing systems. Journal of Systems and Software, 80(12), 2015–2024. Korhonen, J., Ojala, T., Ristola, A., Kesti, M., Kilpelänaho, V., Koskinen, M., et al. (2007). Mobile fair diary: Hybrid interface for taking, browsing and sharing context-aware notes. Personal and Ubiquitous Computing, 11(7), 577–589. Korpipää, P., Mäntyjärvi, J., Kela, J., Keränen, H., & Malm, E. J. (2003). Managing context information in mobile devices. IEEE Pervasive Computing, 2(3), 42–51. Kouadri, S. M., & Younas, M. (2007). Context-oriented and transaction-based service provisioning. International Journal of Web and Grid Services, 3(2), 194–218. Krause, A., Smailagic, A., & Siewiorek, D. P. (2006). Context-aware mobile computing: Learning context-dependent personal preferences from a wearable sensor array. IEEE Transactions on Mobile Computing, 5(2), 113–127. Kumar, M., Shirazi, B. A., Das, S. K., Sung, B. Y., Levine, D., & Singhal, M. (2003). PICO: A middleware framework for pervasive computing. IEEE Pervasive Computing, 2(3), 72–79. Kurvinen, E., Lähteenmäki, M., Salovaara, A., & Lopez, F. (2007). Are you alive? Sensor data as a resource for social interaction. Knowledge, Technology, and Policy, 20(1), 39–49. Kwon, O. B. (2003). I know what you need to buy: Context-aware multimedia-based recommendation system. Expert Systems with Applications, 25(3), 387–400. Kwon, O. B. (2004). Modeling and generating context-aware agent-based applications with amended colored petri nets. Expert Systems with Applications, 27(4), 609–621. Kwon, O. B. (2006a). Multi-agent system approach to context-aware coordinated web services under general market mechanism. Decision Support Systems, 41(2), 380–399. Kwon, O. B. (2006b). The potential roles of context-aware computing technology in optimization-based intelligent decision-making. Expert Systems with Applications, 31(3), 629–642. Kwon, O., Choi, K., & Kim, M. (2007). User acceptance of context-aware services: Self-efficacy, user innovativeness and perceived sensitivity on contextual pressure. Behaviour Information Technology, 26(6), 483–498. Kwon, O. B., Choi, S. C., & Park, G. R. (2005). NAMA: A context-aware multi-agent based web service approach to proactive need identification for personalized reminder systems. Expert Systems with Applications, 29(1), 17–32. Kwon, O. B., & Kim, M. Y. (2004). MyMessage: Case-based reasoning and multicriteria decision making techniques for intelligent context-aware message filtering. Expert Systems with Applications, 27(3), 467–480. Kwon, O. B., & Sadeh, N. M. (2004). Applying case-based reasoning and multi-agent intelligent system to context-aware comparative shopping. Decision Support Systems, 37(2), 199–213. Kwon, O. B., Shin, J. M., & Kim, S. W. (2006). Context-aware multi-agent approach to pervasive negotiation support systems. Expert Systems with Applications, 31(2), 275–285. Kwon, O. B., Yoo, K. D., & Suh, E. H. (2005). UbiDSS: A proactive intelligent decision support system as an expert system deploying ubiquitous computing technologies. Expert Systems with Applications, 28(1), 149–161. Kwon, O. B., Yoo, K. D., & Suh, E. H. (2006). ubiES: Applying ubiquitous computing technologies to an expert system for context-aware proactive services. Electronic Commerce Research and Applications, 5(3), 209–219. Ladd, A. M., Bekris, K. E., Rudys, A., Kavraki, L. E., & Wallach, D. S. (2005). Robotics- based location sensing using wireless ethernet. Wireless Networks, 11(1–2), 189–204. Lee, W. P. (2007). Deploying personalized mobile services in an agent-based environment. Expert Systems with Applications, 31(4), 1194–1207. Liao, S. S., He, J. W., & Tang, T. H. (2004). A framework for context information management. Journal of Information Science, 30(6), 528–539. Lieberman, H., & Chu, A. (2007). An interface for mutual disambiguation of recognition errors in a multimodal navigational assistant. Multimedia Systems, 12(4–5), 393–402. Lieberman, H., & Selker, T. (2000). Out of context: Computer systems that adapt to learn from, context. IBM Systems Journal, 39(3–4), 617–632. Liechti, O. (2000). Awareness and the WWW: An overview. ACM SIGGROUP Bulletin, 21(3), 3–12. Lin, P., Tsai, C. Y., & Lai, Y. C. (2005). A SIP-based mobility management platform for WLAN location-aware broadcasting and multicasting application. Wireless Communications and Mobile Computing, 5, 647–663. Loke, S. W. (2006). Context-aware artifacts: Two development approaches. IEEE Pervasive Computing, 5(2), 48–53. Lum, W. Y., & Lau, F. C. M. (2002). A context-aware decision engine for content adaptation. IEEE Pervasive Computing, 1(3), 41–49. Maiden, N., Omo, O., Seyff, N., Grunbacher, P., & Mitteregger, K. (2007). Determining stakeholder needs in the workplace: How mobile technologies can help. Software, IEEE, 24(2), 46–52. Mandato, D., Kovacs, E., Hohl, F., & Amir-Alikhani, H. (2002). CAMP: A context- aware mobile portal. IEEE Communications Magazine, 40(1), 90–97. Mäntyjärvi, J., & Seppänen, T. (2003). Adapting applications in handheld devices using fuzzy context information. Interacting with Computers, 15(4), 521–538. Marias, G. F., Prigouris, N., Papazafeiropoulos, G., Hadjiefthymiades, S., & Merakos, L. (2004). Brokering positioning data from heterogeneous infrastructures. Wireless Personal Communications, 30(2), 233–245. Matsushita, S. (2001). A headset-based minimized wearable computer. IEEE Intelligent Systems, 16(3), 28–32. Mcnair, J., & Zhu, F. (2004). Vertical handoffs in fourth-generation multinetwork environments. IEEE Wireless Communications, 11(3), 8–15. Meeuwissen, E., Reinold, P., & LiemInferring, C. (2007). Inffering and predicting context of mobile users. Bell Labs Technical Journal, 12(2), 79–86. Michahelles, F., & Samulowitz, M. (2004). Smart CAPs for smart ITs – context detection for mobile users. Personal and Ubiquitous Computing, 6(4), 269–275. Minami, K., & Kotz, D. (2005). Secure context-sensitive authorization. Pervasive and Mobile Computing, 1(1), 123–156. Morla, R., & Davies, N. (2004). Evaluating a location-based application: A hybrid test and simulation environment. IEEE Pervasive Computing, 3(3), 48–56. Muñoz, M. A., Rodriguez, M., Favela, J., Martinez-Garcia, A. I., & González, V. M. (2003). Context-aware mobile communication in hospitals. IEEE Computer Society, 36(9), 38–46. Murphy, A. L., & Picco, G. P. (2004). Using coordination middleware for location- aware computing: A lime case study. Lecture Note in Computer Science, 263–278. Niemegeers, I. G., & Heemstra De Groot, S. M. (2005). FEDNETS: Context-aware ad- hoc network federations. Wireless Personal Communications, 33(3–4), 305–318. Norrie, M. C., Signer, B., Grossniklaus, M., Belotti, R., Decurtins, C., & Weibel, N. (2007). Context-aware platform for mobile data management. Wireless Networks, 13(6), 855–870. O’Grady, M. J., O’Hare, G. M. P., & Sas, C. (2005). Mobile agents for mobile tourists: A user evaluation of Gulliver’s genie. Interacting with Computers, 17(4), 343–366. O’Hare, G. M. P., & O’Grady, M. J. (2003). Gulliver’s genie: A multi-agent system for ubiquitous and intelligent content delivery. Computer Communications, 26(11), 1177–1187. Panagiotakis, S., & Alonistioti, A. (2006). Context-aware composition of mobile services. IT Professional, 8(4), 38–43. Pashtan, A., Heusser, A., & Scheuermann, P. (2004). Personal service areas for mobile web applications. IEEE Internet Computing, 8(6), 34–39. Pashtan, A., Kollipara, S., & Pearce, M. (2003). Adapting content for wireless web services. IEEE Internet Computing, 7(5), 79–85. Pertselakis, M., Ferles, C., Tsiolis, K., & Stafylopatis, A. (2005). Wireless distributed implementation of a fuzzy neural classification system. International Journal of Artificial Intelligence Tools, 14(4), 661–682. Pfeifer, T. (2005). Redundant positioning architecture. Computer Communications, 28(13), 1575–1585. Prekop, P., & Burnett, M. (2003). Activities, context and ubiquitous computing. Computer Communications, 26(11), 1168–1176. Qi, H., & Venkatasubramanian, N. (2007). Timeliness-accuracy balanced collection of dynamic context data. Parallel and Distributed Systems, IEEE, 18(2), 158–171. Qin, W., Shi, Y., & Suo, Y. (2007). Ontology-based context-aware middleware for smart spaces. Tsinghua Science & Technology, 12(6), 707–713. Qing, W., Károly, F., Christian, P., Paulo, M., & Bernhard, P. (2006). Context-aware handover using active network technology. Computer Networks, 50(15), 2855–2872. Qiu, L., Chang, L., Lin, F., & Shi, Z. (2007). Context optimization of AI planning for semantic web services composition. Service Oriented Computing and Applications, 1(2), 117–128. Raento, M., Oulasvirta, A., Petit, O., & Toivonen, H. (2005). Context phone: A prototyping platform for context-aware mobile applications. IEEE Pervasive Computing, 4(2), 51–59. Ranganathan, A., Al-Muhtadi, J., & Campbell, R. H. (2004). Reasoning about uncertain contexts in pervasive computing environments. IEEE Pervasive Computing, 3(2), 62–70. Ranganathan, A., Campbell, R. H., Ravi, A., & Mahajan, A. (2002). Conchat: A context- aware chat program. IEEE Pervasive Computing, 1(3), 51–57. Rehman, K., Stajano, F., & Coulouris, G. (2007). An architecture for interactive context-aware applications. IEEE Pervasive Computing, 6(1), 73–80. Reignier, P., Brdiczka, O., Vaufreydaz, D., Crowley, J. L., & Maisonnasse, J. (2007). Context-aware environments: From specification to implementation. Expert Systems, 24(5), 305–320. 8522 J.-y. Hong et al. / Expert Systems with Applications 36 (2009) 8509–8522 Riekki, J., Huhtinen, J., Ala-Siuru, P., Alahuhta, P., Kaartinen, J., & Röning, J. (2003). Genie of the net, an agent platform for managing services on behalf of the user. Computer Communications, 26(11), 1188–1198. Riva, O., Nadeem, T., Borcea, C., & Iftode, L. (2007). Context-aware migratory services in ad hoc networks. Mobile Computing, IEEE, 6(12), 1313–1328. Riva, O., & Toivonen, S. (2007). The DYNAMOS approach to support context-aware service provisioning in mobile environments. Journal of Systems and Software, 80(12), 1956–1972. Rocha, R. C. A., & Endler, M. (2006). Middleware: Context management in heterogeneous, evolving ubiquitous environments. Distributed Systems Online, IEEE, 7(4), 1. Rodríguez, M. D., Favela, J., Martínez, E. A., & Muñoz, M. A. (2004). Location-aware access to hospital information and services. IEEE Transactions on Information Technology in Biomedicine, 8(4), 448–455. Rogers, Y., & Muller, H. (2006). A framework for designing sensor-based interactions to promote exploration and reflection in play. International Journal of Human- Computer Studies, 64(1), 1–14. Román, M., Hess, C., Cerqueira, R., Ranganathan, A., Campbell, R. H., & Nahrstedt, K. (2002). A middleware infrastructure for active spaces. IEEE Pervasive Computing, 1(4), 74–83. Roussaki, L. G., Strimpakou, M., & Anagnostou, M. E. (2007). Designing next generation middleware for context-aware ubiquitous and pervasive computing. International Journal of Ad Hoc and Ubiquitous Computing, 2(3), 197–206. 2007. Roussaki, I., Strimpakou, M., & Pils, C. (2007). Distributed context retrieval and consistency control in pervasive computing. Journal of Network and Systems Management, 15(1), 57–74. Roussos, G., Marsh, A. J., & Maglavera, S. (2005). Enabling pervasive computing with smart phones. IEEE Pervasive Computing, 4(2), 20–27. Sacramento, V., Endler, M., Rubinsztejn, H. K., Lima, L. S., Gonçalves, K., Nascimento, F. N., et al. (2004). MoCA: A middleware for developing collaborative applications for mobile users. IEEE Distributed Systems Online, 5(10), 1–14. Sajal, K. D., Nirmalya, R., & Abhishek, R. (2006). Context-aware resource management in multi-inhabitant smart homes: A framework based on Nash H-learning. Pervasive and Mobile Computing, 2(4), 372–404. Samaan, N., & Karmouch, A. (2005). A mobility prediction architecture based on contextual knowledge and spatial conceptual maps. IEEE Transactions on Mobile Computing, 4(6), 537–551. Satoh, I. (2003). SpatialAgents: Integrating user mobility and program mobility in ubiquitous computing environments. Wireless Communications and Mobile Computing, 3(4), 411–423. Satoh, I. (2007). A location model for smart environments. Pervasive and Mobile Computing, 3(2), 158–179. Schilit, B. N, Adams, N. I, & Want, R. (1994). In Context-aware computing applications (pp. 85–90). IEEE Computer Society. Schilit, B. N., Hilbert, D. M., & Trevor, J. (2002). Context-aware communication. IEEE Wireless Communications, 9(5), 46–54. Schmidt, A., & Laerhoven, K. V. (2001). How to build smart appliances? IEEE Personal Communications, 8(4), 66–71. Schmidt, A., Takaluoma, A., & Mantyjarvi, J. (2000). Context-aware telephony over WAP. Personal Technologies, 4(4), 225–229. Schulzrinne, H., Wu, X., Sidiroglou, S., & Berger, S. (2003). Ubiquitous computing in home networks. IEEE Communications Magazine, 41(11), 128–135. Selker, T. (2004). Visual attentive interfaces. BT Technology Journal, 22(4), 146–150. Serrano, J. M., & Serrat, J. (2006). Information modeling and handling for context- aware multimedia services. IEEE Wireless Communications, 13(5), 104–111. Signer, B., Grossniklaus, M., & Norrie, M. C. (2007). Interactive paper as a mobile client for a multi-channel web information system. World Wide Web, 10(4), 529–556. Simons, C., & Wirtz, G. (2007). Modeling context in mobile distributed systems with the UML. Journal of Visual Languages & Computing, 18(4), 420–439. Singh, A., & Acharya, A. (2005). Multiplayer networked gaming with the session initiation protocol. Computer Networks, 49(1), 38–51. Skov, B., & Høegh, T. (2006). Supporting information access in a hospital ward by a context-aware mobile electronic patient record. Personal and Ubiquitous Computing, 10(4). Smailagic, A., & Kogan, D. (2002). Location sensing and privacy in a context-aware computing environment. IEEE Wireless Communications, 9(5), 10–17. Smailagic, A., & Siewiorek, D. (2002). Application design: Wearable and context- aware computers. IEEE Pervasive Computing, 1(4), 20–29. Smith, M. K., Welty, C., & McGuinness, D. L. (2004). OWL Web Ontology Language Reference. World Wide Web Consortium (W3C) Recommendation, . Smith, D., Ma, L., & Ryan, N. (2006). Acoustic environment as an indicator of social and physical context. Personal and Ubiquitous Computing, 10(4), 241–254. Soldatos, J., Dimakis, N., Stamatis, K., & Polymenakos, L. (2007). A breadboard architecture for pervasive context-aware services in smart spaces: Middleware components and prototype applications. Personal and Ubiquitous Computing, 11(3), 193–212. Soldatos, J., Stamatis, K., Azodolmolky, S., Pandis, I., & Polymenakos, L. (2007). Semantic web technologies for ubiquitous computing resource management in smart spaces. International Journal of Web Engineering and Technology, 3(4), 353–373. Stylianos, D., Niki, P., Kia, M., & Christos, D. (2007). A context-aware cache structure for mobile computing environments. Journal of Systems and Software, 80(7), 1102–1119. Sumi, Y., & Mase, K. (2000). Supporting awareness of shared interests and experiences in community. ACM SIGGROUP Bulletin, 21(3), 35–42. Sumi, K., & Nishida, T. (2001). Telme: A personalized, context-aware communication support system. IEEE Intelligent Systems, 16(3), 21–27. Sung, M., Gips, J., Eagle, N., Madan, A., Caneel, R., Devaul, R., et al. (2005). Mobile-IT Education (MIT. EDU): m-Learning applications for classroom settings. Journal of Computer Assisted Learning, 21(3), 229–237. Syukur, E., & Loke, S. W. (2006). Implementing context-aware regulation of context- aware mobile services in pervasive computing environments. International Journal of Web and Grid Services, 2(3), 260–305. Syukur, E., & Loke, S. W. (2007). Policy based control of context aware pervasive services. Journal of Ubiquitous Computing and Intelligence, 1(1), 110–131. Tentori, M., Favela, J., & Rodriguez, M. D. (2006). Privacy-aware autonomous agents for pervasive healthcare. Intelligent Systems, IEEE, 21(6), 55–62. Trumler, W., Bagci, F., Petzold, J., & Ungerer, T. (2005). AMUN-autonomic middleware for ubiquitous environments applied to the smart doorplate project. Advanced Engineering Informatics, 19(3), 243–252. Tyan, J., & Mahmoud, Q. H. (2005). A comprehensive service discovery solution for mobile ad hoc networks. Mobile Networks and Applications, 10(4), 423–434. Udugama, A., Kuladinithi, K., Gorg, C., Pittmann, F., & Tionardi, L. (2007). NetCAPE: Enabling seamless IMS service delivery across heterogeneous mobile networks. Communications Magazine, IEEE, 45(7), 84–91. van Kranenburg, H., Bargh, M. S., Iacob, S., & Peddemors, A. (2006). A context management framework for supporting context-aware distributed applications. Communications Magazine, IEEE, 44(8), 67–74. van Sinderen, M. J., van Halteren, A. T., Wegdam, M., Meeuwissen, H. B., & Eertink, E. H. (2006). Supporting context-aware mobile applications: An infrastructure approach. Communications Magazine, IEEE, 44(9), 96–104. Vassilis, K., Loukas, H., Dimitris, K., & Stavros, K. (2006). A dynamic context-aware access control architecture for e-services. Computers & Security, 25(7), 507–521. Vuković, M., Kotsovinos, E., & Robinson, P. (2007). An architecture for rapid, on-demand service composition. Service Oriented Computing and Applications, 1(4), 197–212. Wac, K., Halteren, A. V., Bults, R., & Broens, T. (2007). Context-aware QoS provisioning in an m-health service platform. International Journal of Internet Protocol Technology, 2(2), 102–108. Wang, X., Dong, J. S., Chin, C. Y., Hettiarachchi, S. R., & Zhang, D. (2004). Semantic space: An infrastructure for smart spaces. IEEE Pervasive Computing, 3(2), 32–39. Weber, O., Sorkine, O., Lipman, Y., & Gotsman, C. (2007). Context-aware skeletal shape deformation. Computer Graphics Forum, 26(3), 265–274. Wilson, D., Doyle, J., Weakliam, J., Bertolotto, M., & Lynch, D. (2007). Personalised maps in multimodal mobile GIS. International Journal of Web Engineering and Technology, 3(2), 196–216. Wohltorf, J., Cissée, R., & Rieger, A. (2005). BerlinTainment: An agent-based context- aware entertainment planning system. IEEE Communications Magazine, 43(6), 102–109. Wu, Z., Wu, Q., Cheng, H., Pan, G., Zhao, M., & Sun, J. (2007). ScudWare: A semantic and adaptive middleware platform for smart vehicle space. Intelligent Transportation Systems, IEEE, 8(1), 121–132. Xiong, L., & Hassan, A. K. (2006). Location awareness through trajectory prediction. Computers, Environment and Urban Systems, 30(6), 741–756. Xu, Y., Fu, T. Y., Lee, W. C., & Winter, J. (2007). Processing k nearest neighbor queries in location-aware sensor networks. Signal Processing, 87(12), 2861–2881. Yang, K., Wu, Y., Yang, Y., & Liu, E. (2007). Policy-based service-driven dynamic planning of heterogeneous wireless networks. International Journal of Mobile Network Design and Innovation, 2(1), 67–77. Yau, S. S., & Karim, F. (2003). An energy-efficient object discovery protocol for context-sensitive middleware for ubiquitous computing. IEEE Transaction on Parallel and Distributed Systems, 14(11), 1074–1084. Yau, S. S., & Karim, F. (2004a). A context-sensitive middleware for dynamic integration of mobile devices with network infrastructures. Journal of Parallel and Distributed Computing, 64(2), 301–317. Yau, S. S., & Karim, F. (2004b). An adaptive middleware for context-sensitive communications for real-time applications in ubiquitous computing environments. Real-Time Systems, 26(1), 29–61. Yee, G., Korba, L., Lin, N. H., & Shih, T. K. (2006). Context-aware privacy and security agents for distance education. International Journal of High Performance Computing and Networking, 3(5–6), 395–404. Yu, Z., Zhou, Z., Yu, Z., Zhang, D., & Chin, C. (2006). An OSGI-based infrastructure for context-aware multimedia services. Communications Magazine, IEEE, 44(10), 136–142. Yu, Z., Zhou, X., Zhang, D., Chin, C., Wang, X., & Men, J. (2006). Supporting context- aware media recommendations for smart phones. IEEE Pervasive Computing, 5(3), 68–75. Yuan, S. T., & Chen, F. Y. (2007). UbiSrvInt – A context-aware fault-tolerant approach toward wireless P2P service provision. Expert Systems with Applications, 32(3), 726–752. Yuan, S. T., & Peng, K. H. (2004). Location based and customized voice information service for mobile community. Information Systems Frontiers, 6(4), 297–311. Zhang, Q., Qi, Y., Zhao, J., Hou, D., & Niu, Y. (2007). Fuzzy privacy decision for context-aware access personal information. Wuhan University Journal of Natural Sciences, 12(5), 941–945. Zhong, Y., & Gilbert, J. E. (2005). A context-aware language model for spoken query retrieval. International Journal of Speech Technology, 8(2), 203–219. Zhu, F., Mutka, M. W., & Ni, L. M. (2005). Service discovery in pervasive computing environments. IEEE Pervasive Computing, 4(4), 81–90. Zimmermann, A., Specht, M., & Lorenz, A. (2005). Personalization and context management. User Modeling and User-Adapted Interaction, 15(3–4), 275–302. http://www.w3.org/TR/owl-ref Context-aware systems: A literature review and classification Introduction Procedures The selection criteria Data sources and procedures to extract articles The general characteristics of the articles Classification of articles by publication year Classification of articles by online database Classification of articles by journal Classification framework Abstract architecture of context-aware systems Classification framework of context-aware systems Result of article classification Concept and research layer Network layer Middleware layer Application and service layer User infrastructure layer Discussions and suggestions How to extract and use the cognitive context in context-aware application? What are design patterns of context-aware systems? Which is the best inferring algorithm to extract user context and provide service to user? How to deal with concurrently enormous data, information and knowledge having different format to serve suitable service to users? How to extract the best solution when the context of users is conflicted? How to reflect the preference of users for satisfying user needs? How to save users information in context-aware systems? How to evaluate performance of context-aware systems? Conclusions References