1The term is used to describe all types of gadgets like laptops, smartphones and other ... to display all alarms and dat
Context-Aware Computing Constantin Schmidt Computer Engineering Bachelor of Science Berlin Institute of Technology, Germany Email:
[email protected]
Abstract—Situations let people act accordingly to it. Smartphones and other current devices can detect and react on such contextual data, because they have multiple sensors and enough processing performance to analyse that. Such behavior is called context-aware and a key to make devices faster and more efficient in everyday life. This paper describes what context and context-aware is and how applications can be differentiated by their possibilities. Single roles and steps from provisioning to dissemination are mentioned. The modeling and quality of contextual data and services are displayed and subdivided, due to their importance for context-awareness. Some current researches and services are mentioned to provide an insight into the status quo. Crucial questions about context-sensitive applications and their implementation will be discussed and illustrated.
I. I NTRODUCTION The computer everyone knows was just a stationary gadget to ease work or manage a bulk of information - in the past. More and more it is used for the purpose of entertainment. If we enlarge our old imagination of a computer, it is a powerful companion in our pocket nowadays. It is a notebook, calendar and telephone and could be easily more than that. Often users complain about their computer1 not doing what they want it to do or not being helpful by solving a situational problem because of the missing interpretation of the context. Context-Awareness is a possible key to decrease such deficit. Fig. 1 shows the workflow of context-aware entities very generally :
data is currently interesting or reusable (REFINEMENT), model this data to an idea of context (ANALYSIS), process it (PROCESSING) and use the information for a context-aware application (OUTPUT) and/or store the data for a later usage (STORAGE) [1]. At first sight that sounds simple, but actually it is a very complex procedure to copy human ways of thinking. For a better understanding serves a fictitious sample of a context-aware scheduler called ZEITGEIST . Fig. 2 shows a possible interface of ZEITGEIST with two context-aware tasks: ”Date with Mary” → choose restaurant (blue box) and ”book an interesting activity for me and my son” → calculate list (orange box). 0AM
MONDAY
T UESDAY
AL ARM
6AM
AL ARM
REF I NEMENT
OUT PUT
ANAL YSI S
ST ORAGE PROCESSI NG
Fig. 1.
Workflow of context-awareness
Gadgets sense their environment independent or with the aid of other nearby entities (PROVISIONING), differentiate what 1 The term is used to describe all types of gadgets like laptops, smartphones and other powerful hardware.
F RI DAY
SAT URDAY
AL ARM
AL ARM
SUNDAY
AL ARM
AL ARM
booki nt er es t i ng act i vi t yf or me& mys on
12AM
cal cul at i ng. . . Dat e( Mar y) Choos er es t .. . .
6PM
12PM
Fig. 2.
PROVI SI ONI NG
WEDNESDAY T HURSDAY
Interface of ZEITGEIST (schedular)
This schedular does not seem to be different to others, but context-aware abilities do not have to be obvious. Such functionalities have to be embedded to existing frameworks, here a schedular. At this view, gray boxes display normal rhythms like working or free time. Certain boxes are emphasized (colored) adopted to the current situation. In ZEITGEIST , for example: a few moments ago the user of ZEITGEIST got a SMS send by the user’s wife: ”Hey Darling, our son is sick, see you at home, Mary”. ZEITGEIST detects the keywords: ”son” and ”sick” and the sender. If the schedular gets visible at his device, it is probably important to display all alarms and dates related to these keywords ”son”,”sick” and ”wife”. With the help of examples ZEITGEIST and its functionality will be explained more precisely in the following paper.
It is to consider that context-aware computing is still a chance for many companies to enter a virgin and nearly unexploited market. Mostly Location-Based-Services dominate the offer. It’s clear as daylight: Location is one of the most important information about the context and a good approach, but it should not be the only data used. The remainder of this paper is as follows: The first section is about the previous and current understanding of context and context-awareness, especially for this paper. Afterwards, context-aware applications will be differantiates by their facilities of action. As the biggest part of this paper, context provisioning will be discussed. In it roles of context-aware services and their functions are going to be subdivided and explained, followed by mentioning the sources of contextual information and how to exploit them. Before showing quality aspects of context and services, the modeling of situative data is figured out. Both are necessary to define, handle and analyse the environment and its changes, to react sensitive to it. How context and adapting services get send and received, is mentioned in the section of dissemination, followed by a short overview of current researches and services, to show some capabilities of context-aware software and how development tools can ease the process of construction. Finally, this paper ends with a short overview and a look into the future.
Context information should be flexible in size (amount of parameters) but should also contain enough data to be significant.
B. Definition of context-awareness Now it is necessary to determine how something can be aware of such context we have declared. The first context-aware implementations were developed by [6], collected locational information to improve efficiency of systems. For instance: a telephone system which patches through a call directly into a room where a requested person currently is. Since then, there have been many attemps to use and react to contextual information. Dey explicitly discerns between presenting relevant information and providing services based on context of a certain task [7]. He put much effort in understanding and using context and collected synonymously used terms for context-awareness: • • • • • •
II. D EFINITIONS In order to have a more specific idea of context and contextawareness, definitions in prior works are discussed. A. Definition of context An early definition of Schilit and Theimer [2] assumes context to be information about the location, close people and and its changes. Such definition is very specific, claimed Dey. His more universal definition is: ”Context is any information that can be used to characterise the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves.” [3]. It aims to be useful for classifying applications to be context-aware. Other authors use the traditional understanding of context as certain circumstances and surrounding information and divide them into classes [4] [5]. In this paper, context is used in the following way: Context is a combination of any information that can be sensed or received by an entity which is useful to catch events and situations. In ZEITGEIST , for example: Entered dates, meetings, appointments (hairdresser, doctor, ...) can be understood as context, because multiple information (time, location, activity, [duration, persons, costs, ...]) belong to one unity.
adaptive [8] reactive [9] responsive [10] situated [11] context-sensitive [12] environment-directed [13]
In this paper, context-awareness is used in the following way: Context-awareness is the ability of an entity to usefully adapt to or react based on context. In ZEITGEIST , for example: A user takes the train when commuting to work or takes the car if the train delays too much. In ZEITGEIST it is entered to pick up his car from repairing next friday and ZEITGEIST checks if his train has a delay. As long as no delay is registered he can sleep, but if the delay gets too big, ZEITGEIST calculates a new wake-up time to get the bus.
III. C LASSIFICATION OF CONTEXT- AWARE SERVICES Context-aware services can differ strongly, so it is necessary to classify certain groups. These classes can be seperated by the aspects of rights of execution and their further possibilities. Schilit [14] differs between information and commands and if they are manually or automatically presented / executed. information command
manual proximate selection, contextual information contextual commands
automatic automatic contextual reconfiguration context-triggered actions
TABLE I C LASSIFICATIONS OF CONTEXT- AWARE SERVICES BY S CHILIT [14]
Table I introduces certain classes: • Proximate Selection: Presents information, which is selected considering some context to ease a choice. • Automatic Contextual Reconfiguration: Current context automatically leads to new information. The entity creates new bindings to context resources. • Contextual Information and Commands: Information and commands are shown / executed manually and adapted to the current situation. • Context-Triggered Actions: The current context leads an application to start a process automatically. In ZEITGEIST , for example: • Proximate Selection: A user adds a note for a romantic date directly after his labor time and ZEITGEIST calculates a list of restaurants nearby his work. He can choose one of these suggestions and book it later. • Automatic Contextual Reconfiguration: Same scenario, but he ”trusts” ZEITGEIST and he specifies the restaurant to be an italian one. Now the program takes the decision. • Contextual Information and Commands: Unfortunately his date canceled the date because of illness (SMS / EMAIL). ZEITGEIST recognizes the sender and the cancelation. After reading the message it asks to whether cancel the reservation or not. • Context-Triggered Actions: During such a romantic date ZEITGEIST mutes the sound for nonrelevant callers, but not for his babysitter. Another idea is to digitally tag context for a later moment. Pascoe [15] developed similar classes like Schilit [14], but they are additionally containing this tagging aspect. It is called contextual augmentation. To abstract all these points it is not important to differentiate between information and service. That will create following classes [7] : • Presentation of information / services • Automatic execution of services • Tagging of context for later retrieval In ZEITGEIST , for example: If the service in the restaurant was horrible he can tag this and the rating of the restaurant will sink. This will be also noted in the database where ZEITGEIST found the restaurant, so it is indirectly helpful for other people. IV. P ROVISIONING AND AGGREGATION Context, context-awareness and features of context-aware applications are defined. But where do these contextual data come from? In Fig. 1 we introduced provisioning but no sources or possibilities to gather them.
A. Roles in a context-aware system Context-aware systems are mostly organized by more than one entity. Single devices have a limited input of data (built-in sensors). In addition, data have to be sensed, refined, compared, evaluated, processed, modeled, stored and disseminated frequently. Simple portable devices maybe have the computing power to do that, but not the capacity (e.g. battery) to do that all day long. A division of work allows the realization of context-aware systems. The roles will be allocated to the involved gadgets and describe the process of trade or exchange (Fig. 3).
?+$
CONT EXT
SERVI CE
PROVI DER
BROKER
Fig. 3.
CUST OMER
Roles in context-aware system [16]
Figure 3 differentiates between three roles: the PROVIDER senses data (*) describing the context under certain circumstances (location, time, ...). It sets properties of these data (usage rights, privacy status, ...) and sends these raw data or even modeled [17] context data to a BROKER. In ZEITGEIST , for example: Some users add notes for a new event in town like a musical. Such information can be typed or a placard can be photographed to indicate interest. The note or photograph contains multiple information that can be combined to context. The BROKER gets these data, stores and processes them, due to this it is able to sell / exchange CONTEXT and SERVICE to a CUSTOMER. As a vendor of service he has the business to refine data (compare with other sources), model and process them. It has to take care of quality of its stored contextual data and consequently its offered services. Aspects of quality and how they affect the cost of a service are mentioned more precisely in this paper later. It is possible to subdivide the BROKER into a context broker and a broker of context-aware service, but in most cases both roles are realized in a single entity. In ZEITGEIST , for example: Those public information are sent to a provider which can analyze the picture and its context, adapt it with information from the internet. Now this musical is entered in a database and can be used for other users / purposes. Finally the CUSTOMER sends his request (?) to the BROKER. If it gets his required CONTEXT or SERVICE, it may have to pay some credits ($ ). In ZEITGEIST , for example: Another user is watching for
a gift for his wife. He added a note to the schedular to find a gift for his wife. Because he is intimate to his wife ZEITGEIST has access to her ZEITGEIST -database. In her interests it is marked that she likes musicals so his ZEITGEIST can propose him this new musical. In context-aware systems these three roles do not have to be divided. An example: A customer wants to have some context of a broker and has some interesting context for the broker then the broker may not request credits. In this example there is no difference between a provider and a customer. Analogies of such fusions of roles can be designed easily. As displayed in Fig. 4 there are three sources of data to analyze and process as context [18]. 1) manual input (INPUT) 2) automatic input (SENSORS) 3) external input (CONNECTIONS)
CONNECT I ONS
SENSORS
Some data that sensors can detect: • location, velocity, acceleration, rotation • temperature, warming, cooling • light intensity • sounds, voices, speech • camera If there remain ambiguities, the entity could contact external nearby context-providers or context-broker to clear them. Finally unsolvable questions have to be answered by the user, if he is able to. In ZEITGEIST , for example: If no weather information are available (servers are down / no connection) then ZEITGEIST asks the user whether to choose an outdoor pavement caf´e or a indoor caf´e for break. To use data or service of a broker [1] the device needs manual or automatic input data. Otherwise it would be a general service that is not context-aware. The cooperation of the database in the entity and an external database enlarges the diversity of possible context enormously. There are three ways of accessing sources [19] 1) direct (sensors / hardware) 2) indirect (middle-ware which acquires data from sensors) 3) external (context-server or nearby entities) B. Modeling context
F C
I NPUT
Fig. 4.
information. In ZEITGEIST , for example: Concerning traffic and how its effects on scheduling 1) manual input: The user found out / heard about an unheralded strike. Because this disturbs his schedule he tells ZEITGEIST about a total cancellation of the next trains and ZEITGEIST can react on it. 2) automatic input: Sensors recognize a heavy movement so the user is probably running and misses the train. 3) external input: The train has a delay and it is announced on the internet.
Sources of contextual data
Manual input data is willfully given to the entity during an install or request. The user feeds the system with his data (name, date of birth, ...). That is the traditional way how an entity acquires information about the user and environment. In most cases it is very time-consuming and annoying. An automatic input seems to be the answer to such obstacles. Sensors can detect most of the physical changes around them and, based on them, the system can fill up gaps of
Gathered, stored or received information are the basement for modeling context. Steps related to modeling are mentioned in Fig. 1 as REFINEMENT, ANALYSIS and PROCESSING. Data become manageable, useful, applicable, shareable and crucial context to be used for the purpose of a context-aware service. In the following, some requirements and approaches of modeling are listed. The list is not complete or absolute, but it presents an overview about existing projects or trend-setting ideas. 1) requirements: In order to model data to meaningful context there are several requirements to consider [20]: distributed composition, partial validation, richness and quality of information, incompleteness and ambiguity, level of formality, applicability to existing environments.
But one of the central requirement to modeling is reasoning. It is needed to reach a higher level of context information [21], allows consistency verification and the simulation and understanding of complex situations. A good approach of modeling reduces significantly the complexity of a context-aware application. Following approaches aim different targets. Some are very easy, good to understand, good to implement, able to capture complex situations or rule-based. Each has its special field of duty, roles, components, tiers, pros ,cons, etc. . 2) Approaches: •
Key-value: Easiest way to model context. A contextual information has a possible key and an associated value. person (Name → Douglas Adams) person (Age → 42)
The diversity of services offered by an application affects the choice of one of these approaches. The determination of the distance between a user and the next restaurant might be realizable with key-values, but if he wants to get one of his favorite meals within the next 30 minutes and he wants to pay less then a certain amount then it might be better to use a more complex approach. To display a sample how to model contextual data, context modeling language (CML) is chosen because it is one of the most demonstrative [21] and high functional and applicable models. Hence, in this paper the part of a possible CML-model of ZEITGEIST is presented in Fig. 5: Bank
Car
wor ksat •
•
•
Markup Scheme: Data is ordered in a hierarchy (XML / SGML) Douglas Adams 42 Graphical: The Unified Modeling Language (UML) suits to realize and illustrate complex processes at the same time. An example for this approach is given by Bauer [22].
Us er
engagedi n [ ]
Logic Based: Formal rules of conditions and consequences describe the behaviour of a system. This is often very difficult because of the high amount of formality. Existent elaborations treat logical modeling of context [26] [27], the usage of artificial intelligence [28] [29] or a multimedia system [30].
•
Ontology Based: It contains concepts and interrelationships. Psychological approaches [31] or context sharing ones [32] are conceived. It is one of the most powerful approaches and often combined with others to hybrid modeling concepts [33].
All these approaches differ strongly, concerning the described modeling requirements and complexity. Some imply multiple demands and others maybe only one.
us es has
Act i vi t y
Object Oriented: This implies the properties encapsulation and reusablity. Therefore applications stay extendable and flexible. Projects with several approaches can be found [23] [24] [25].
•
dr i ves
T r ai n
Dat e L egend( i ncompl et e) S ens edf actt ype Pr of i l edf actt ype []T empor al f actt ype Key/ uni quenes scons t r ai nt Qual i t yannot at i on Fig. 5.
Model of context modeling language for ZEITGEIST
An oval describes an object type, in this example User, Date, Activity, Train, Car, Bank. Each of them may have a representation scheme, so users, trains, cars have an identity, Activity, Date have a name and so on. These boxes decribe a certain role played by an object type. For example a User (ID) has a Date (name). Further roles can be added to Date for example located at, accompanied by, during. If the current time intersects with the Time of a Date a User is engaged
in this Date. So, it is very easy to build a meaningful and powerful model to describe in a simple manner a complex behavior. Moreover, it can differentiate between sensed, static, profiled, derived, temporal and alternative fact types. Each fact type can be evaluated by properties of quality, like actuality or trustworthiness. This is necessary to decide how to react on certain changes of context. A complete or working ZEITGEIST CML-model would have much more object types, roles and fact types, because it has to sense all parts of everyday life (at home, en route, at work, free time) to react based on context. A disadvantage of CML is the ”flat” information model, where all context types are on equal terms [21]. Hybrid models, where it is combined with ontology-based models are a possibility to solve that problem [34]. Ontology-based concepts offer more compatibility then CML [35]. Nevertheless, CML stays a modeling approach that is descriptive and easy to design and analyze [21]. A model of ZEITGEIST has to contain and manage following objects and information • • • • •
calendar habbits contacts attitudes interests
Some can be understood as an array of information (e.g. calendar) others as logical network of rules under certain conditions (e.g. habbits). Depending on the demands of the context-aware service, modeling is the most important point of all. Reasoning, linking, recombining and analyzing are the strength of human brain. Modeling has the business to break down these jobs to easy, useable and calculatable puzzle pieces. If that is achieved, the computer can use its unbelievable performance to combine them and overview a bulk of data and dependencies. The existing variety of approaches has its right to exist, being specialized for certain implementations. But, despite of the high amount, there is no approach generally able to master all the challenges of a universal model. Many papers try to combine, expand, enrich or ease modeling languages. The hybrid models seem to have the biggest functionality without getting more complex. Hybrid fact-based / ontological models [34] ease the checking of consistency. Self-checking mechanisms are important to evaluate built networks of facts and relations which are based on sensed data. Other hybrid concepts aim efficiency for mobile devices to save resources [36] [37]. The multitude of requirements to an universal model turns the development likely into a search for a ”silver bullet”. If such a model is found - and this should be possible - context-aware applications get more and more easy to develop and into the focus of software companies.
C. Quality of Context The quality of context is likely the pivot of modeling context and consequentially context-awareness. If the information is inprecise or blurry the results can be senseless. To analyze and evaluate the grade of context it is necessary to differentiate three categories of quality [1]. • QoC - Quality of Context (Quality of information [38]) • QoS - Quality of Service • QoD - Quality of Device Quality of Context is the grade of sensed / received information, due the following factors [1]: • Precision: Describes the accuracy of information • Correctness: Implies the chance of true and real data • Trustworthiness: Rates the truth of data from certain entities • Resolution: Involves the raster of measurement results or amount of sensing entities • Actuality: Considers the time and accordingly a possible change of an information In ZEITGEIST , for example: • Precision: A user adds a note of a musical called ”Foo” in May, because he heard of it. But actually it ends on 1st of May. This information has to be refined by other sources to offer it to a broker. • Correctness: Maybe he made a typo and typed ”Fool”. • Trustworthiness: He has only heard of a musical, so it does not mean that the information is right. • Actuality: A user reads about the musical on an old placard and ignores the year (last one) and enters the musical for this year. Some applications may need further factors to qualify information, but this is a very general and often applicable set of parameters to evaluate the Quality of Context. There are two classes of quality of context: static and dynamic [17]. Static context needs no regular updates. Such contextual data are entered once and stay true and have no loss of quality. Dynamic context in contrast loses its quality. So correctness, actuality and trustworthiness suffer over time and have to be updated frequently. Accessing a service that is provided by other entities Quality of Service and Quality of Device are going to play an additional role. Quality of Service contains factors like Quality of Context does. It describes the grade of service independently from Quality of Context. Quality of Device describes how exact hardware can capture data. The grade of hardware (like sensors of entities) gathering and transmitting information to a device, contains a reduced set of these parameters of quality: Precision, Correctness and Resolution. D. Dissemination Modeling makes it possible to send and understand data in a context-aware system. Quality of context and service
determines when it is time to update contextual data. Fig. 6 shows how context-aware service providers can interact with customers. PUSHMODE SUBSCRI BERS
SENDDAT A
ST OREDDAT A
REQUESTDAT A PUL L MODE
BROKER
Fig. 6.
CUST OMER
Interaction between broker and customer Fig. 7.
MarcoPolo: Definition of some rules
Two modes have to be discerned [1] in it: •
PULL-MODE: A customer wants to use a service and has to request the service provider / broker. In ZEITGEIST , for example: Last evening, a user talked to his wife about going to the cinema to watch a recommended movie. He enters this information(”cinema with my wife”) into a specific frame of time inside the schedular. So ZEITGEIST searches a currently recommended movie in a nearby cinema and enters the best fitting result into his schedular.
•
PUSH-MODE: A service has a list of subscribers. If the stored context changes decisively for certain subscribers [17], the broker sends an update. In ZEITGEIST , for example: The wife has never entered anything about going to cinema, but ZEITGEIST contacts her and proposes this movie show, because her husband involved her in his ZEITGEIST . If she accepts this date, ZEITGEIST pushes the fixed date to his device.
Context-Aware Mobility Solution - Cisco (2008) [40] is an API for developing context-aware systems. It is specialized for tasks like Zone or inventory management, Asset tracking, Condition tracking, Presence, Network location services. Context-awareness is used to do all that operations more intelligent and efficient. Such systems can be used in hospitals and logistic enterprises, for instance, to track, find and control entities and activities. Another context-aware application is Google AdSense / AdWords adapts the advertisement to the context of an advertised webpage, search, mail, etc. . A further location-based service is Foursquare (Fig.8) [44].
The more updates of context data are sent (push) or requested (pull) the higher is the quality of it. But a very frequent polling is a waste of energy and bandwidth [1]. Costs of service rise with the demand on quality. So it is important to have economic strategies to save resources, performance and quality. Brokers have to be proactive to update their contextual data and the caches of customers (subscribers) to guarantee a homogeneous grade of service. Fig. 8.
Foursquare: Displays friends and their position [45]
V. E XAMPLES FOR CONTEXT- AWARE SERVICES MarcoPolo was developed in 2007 [39]. It is a service for Mac OS X that changes system settings for higher comfort based on your location and your surrounding and its changes (Fig. 7). Some supported features: Audio output, connections, ambient light level, power source and other things can be controlled. Actions triggered by context and its changes:default printer, firewall rules, chat status, start and quit applications, muting and unmuting, etc. .
It is a mobile geosocial network service where users tag certain places and rate them. They can use their accounts of other social networks to be in contact with their friends. Foursquare updates their position, status, actions and so on. On the one hand it is informative and useful, on the other hand it is attractive to young people being constructed like a game, for example getting so called ”Badges” the more they rate.
A similar application is Google Latitude [46] that enables friends to see your position, but the precision is defined by the user. Nokia Situations (2010) [41]. It senses data from schedular, location, connectivity and react on it: Change Ringtones, Answer missed calls with SMS, Save Power, Change UI theme / Wallpaper, Open a Web bookmark or application. This application has some similarities to ZEITGEIST , like the schedular and its effect to ringtones. A very interesting project is MUSIC-Middleware (2010) [42]. Its target is a cross-platform middleware especially for mobile entities. It carries all the stuff like gathering and supplying context to ease and unify the development of context-aware applications. The concentration on contextaware apps for mobile devices is a contemporary theme because context-awareness and ubiquitous computing are two things that start to belong together more and more. In addition, the amount of sold smartphones currently increases extremely fast [43]. VI. C ONCLUSION Despite the effort that was spent to context-awareness, it is rarely used. Most services are location-based. The reason for this is maybe the complexity to sense a situation and to put it in a model that is analyzable. If context is captured right, there remains the next problem: the device has to react reasonable to the special situation. But who defines what is ”reasonable”? So the user has to define how his device should react and react not. Hence it is necessary that applications learn what its user likes, how he behaves and how he wants it to act. Very important is a certain mutual trust concerning privacy and the rights of the application. If the user can not trust his assistant gadget then he will disable all these context-aware functions.
much of battery and is used for the most purposes. So it is up to research for more efficient technologies and algorithms. It is important to use the method that returns a sufficient value and not the most accurate. In most cases, such strategies save energy. Another fact is that most applications need a permanent connection. Due to this, a wide and sufficient signal is important. Fortunately the current development moves towards such conditions and offers a high bandwidth. And total connectivity is not important at everytime, because caching and evaluating strategies allow a usage even without a stable connection. Advantages of context-aware computing are highly visible. Non-ambiguous or static facts do not have to be entered by users. In ZEITGEIST , for example: If a user told ZEITGEIST to book a concert for him and his wife then he does not have to enter his name and his bank, account number, prize and so on. Those benefits increase the whole processing time. Fig. 9 displays the human as the bottleneck of processing time, because in comparison to an operation and its input by processor, humans are very slow.
PROCESSI NG T I ME
At this point it is time to summerize disadvantages and benefits of context-aware applications and find ways to avoid drawbacks. The biggest problem is privacy. It is not possible to ask the user if data can be sent or not every time. That would be annoying. But on the other side, the computer can not publish everything without any request. To manage that, sensing has to detect rather an information is public or private. In ZEITGEIST , for example: If you take a picture on a public street then the status of privacy can be set to probably public. Following actions of the user can be used for a more precise determination. But if you take a photograph at home, it is only for private use. Again, actions of the user (concerning this picture) can change its status. Another issue is the usage of energy. Sensors have to be active for the most of time. GPS, of all sensors, wastes
NORMALPROCESS HUMANI NPUT CONT EXTAWAREI NPUT Fig. 9.
Human is the bottleneck of processing time
The speed of brain is indeed very fast, but typed, written or spoken commands or information are not. So if contextawareness can decrease the amount of such input phases, efficiency of work will raise. The next step into the direction of more context-aware applications and services is to develop a multifunctional modeling language. It is necessary to have an interoperable
model to synthesize sensed data, relationships and properties. Currently, more an more companies try to implement contextaware features to improve comfort and raise productivity. Maybe a system like ZEITGEIST is available in the next few years. R EFERENCES [1] T. Buchholz, A. K¨upper, and M. Schiffers, “Quality of context: What it is and why we need it,” in Proceedings of the Workshop of the HP OpenView University Association. Citeseer, 2003. [2] B. Schilit and M. Theimer, “Disseminating active map information to mobile hosts,” Network, IEEE, vol. 8, no. 5, pp. 22 –32, 1994. [3] A. K. Dey, “Understanding and using context,” Personal Ubiquitous Comput., vol. 5, pp. 4–7, January 2001. [Online]. Available: http://dx.doi.org/10.1007/s007790170019 [4] T. Rodden, K. Cheverst, K. Davies, and A. Dix, “Exploiting context in HCI design for mobile systems,” in Workshop on Human Computer Interaction with Mobile Devices. Citeseer, 1998, pp. 21–22. [5] P. Brown, “The stick-e document: a framework for creating contextaware applications,” ELECTRONIC PUBLISHING-CHICHESTER-, vol. 8, pp. 259–272, 1995. [6] R. Want, A. Hopper, V. Falcao, and J. Gibbons, “The active badge location system,” ACM Transactions on Information Systems (TOIS), vol. 10, no. 1, pp. 91–102, 1992. [7] A. Dey and G. Abowd, “Towards a better understanding of context and context-awareness,” in CHI 2000 workshop on the what, who, where, when, and how of context-awareness, vol. 4. Citeseer, 2000, pp. 1–6. [8] M. Brown, “Supporting user mobility,” in International Federation for Information Processing. Citeseer, 1996. [9] J. Cooperstock, K. Tanikoshi, G. Beirne, T. Narine, and W. Buxton, “Evolution of a reactive environment,” in Proceedings of the SIGCHI conference on Human factors in computing systems. ACM Press/Addison-Wesley Publishing Co., 1995, pp. 170–177. [10] S. Elrod, G. Hall, R. Costanza, M. Dixon, and J. Des Rivi`eres, “Responsive office environments,” Communications of the ACM, vol. 36, no. 7, pp. 84–85, 1993. [11] R. Hull, P. Neaves, and J. Bedford-Roberts, “Towards situated computing,” in Wearable Computers, 1997. Digest of Papers., First International Symposium on. IEEE, 2002, pp. 146–153. [12] J. Rekimoto, Y. Ayatsuka, and K. Hayashi, “Augment-able reality: Situated communication through physical and digital spaces,” in Wearable Computers, 1998. Digest of Papers. Second International Symposium on. IEEE, 2002, pp. 68–75. [13] S. Fickas, G. Kortuem, and Z. Segall, “Software organization for dynamic and adaptable wearable systems,” in Wearable Computers, 1997. Digest of Papers., First International Symposium on. IEEE, 2002, pp. 56–63. [14] B. Schilit, N. Adams, and R. Want, “Context-aware computing applications,” in Mobile Computing Systems and Applications, 1994. WMCSA 1994. First Workshop on. IEEE, 2008, pp. 85–90. [15] J. Pascoe, “Adding generic contextual capabilities to wearable computers,” in Wearable Computers, 1998. Digest of Papers. Second International Symposium on. IEEE, 2002, pp. 92–99. [16] I. Hochstatter, A. K¨upper, M. Schiffers, and L. K¨othner, “Context Provisioning In Cellular Networks,” in Proceedings of 8th International Workshop on Mobile Multimedia Communications, M¨unchen. Citeseer, 2003. [17] C. Mannweiler, A. Klein, J. Schneider, and H. Schotten, “ContextAwareness for Heterogeneous Access Management,” Advances in Radio Science (ARS)-Klein-heubacher Berichte, 2009. [18] H. Chen, “An intelligent broker architecture for context-aware systems,” PhD proposal in Computer Science, University of Maryland, Baltimore County, USA, 2003. [19] C. Mannweiler, A. Klein, J. Schneider, and H. Schotten, “Exploiting user and network context for intelligent radio network access,” in Ultra Modern Telecommunications & Workshops, 2009. ICUMT’09. International Conference on. IEEE, 2009, pp. 1–6. [20] T. Strang and C. Linnhoff-Popien, “A context modeling survey,” in Workshop on Advanced Context Modelling, Reasoning and Management as part of UbiComp. Citeseer, 2004.
[21] C. Bettini, O. Brdiczka, K. Henricksen, J. Indulska, D. Nicklas, A. Ranganathan, and D. Riboni, “A survey of context modelling and reasoning techniques,” Pervasive and Mobile Computing, vol. 6, no. 2, pp. 161– 180, 2010. [22] J. Bauer, R. Kutsche, and R. Ehrmanntraut, “Identification and modeling of contexts for different information scenarios in air traffic,” Technische Universit¨at Berlin, Diplomarbeit, 2003. [23] K. Cheverst, K. Mitchell, and N. Davies, “Design of an object model for a context sensitive tourist GUIDE,” Computers & Graphics, vol. 23, no. 6, pp. 883–891, 1999. [24] A. Schmidt and K. Van Laerhoven, “How to build smart appliances?” Personal Communications, IEEE, vol. 8, no. 4, pp. 66–71, 2002. [25] B. Bouzy and T. Cazenave, “Using the object oriented paradigm to model context in computer go,” in Proceedings of the First International and Interdisciplinary Conference on Modeling and Using Context. Citeseer, 1997. [26] C. Ghidini and F. Giunchiglia, “Local models semantics, or contextual reasoning= locality+ compatibility,” Artificial intelligence, vol. 127, no. 2, pp. 221–259, 2001. [27] F. Giunchiglia, “Contextual reasoning. Epistemologica, 16: 345-364,” Also IRST-Technical Report 9211-20, IRST, Trento, Italy, Tech. Rep., 1993. [28] J. McCarthy, “Notes on formalizing context,” in International Joint Conference on Artificial Intelligence, vol. 13. Citeseer, 1993, pp. 555– 555. [29] J. McCarthy and S. Buvac, “Formalizing context (expanded notes),” Computing natural language, vol. 81, pp. 13–50, 1998. [30] J. Bacon, J. Bates, and D. Halls, “Location-oriented multimedia,” Personal Communications, IEEE, vol. 4, no. 5, pp. 48–57, 2002. ¨ urk and A. Aamodt, “Towards a model of context for case[31] P. Ozt¨ based diagnostic problem solving,” in Context-97; Proceedings of the interdisciplinary conference on modeling and using context. Citeseer, pp. 198–208. [32] T. Strang and C. Linnhoff-Popien, “Service interoperability on context level in ubiquitous computing environments,” in Intl. Conf. on Advances in Infrastructure for Electronic Business, Education, Science, Medicine, and Mobile Technologies on the Internet (SSGRR2003w). Citeseer. [33] Z. Yu, X. Zhou, D. Zhang, C. Chin, X. Wang, and J. Men, “Supporting context-aware media recommendations for smart phones,” IEEE Pervasive Computing, pp. 68–75, 2006. [34] K. Henricksen, S. Livingstone, and J. Indulska, “Towards a hybrid approach to context modelling, reasoning and interoperation,” in Proceedings of the First International Workshop on Advanced Context Modeling, Reasoning, and Management. Citeseer, 2004, pp. 54–61. [35] T. Strang, C. Linnhoff-Popien, and K. Frank, “CoOL: A context ontology language to enable contextual interoperability,” in Distributed Applications and Interoperable Systems. Springer, 2003, pp. 236–247. [36] C. Bettini, D. Maggiorini, and D. Riboni, “Distributed context monitoring for the adaptation of continuous services,” World Wide Web, vol. 10, no. 4, pp. 503–528, 2007. [37] A. Agostini, C. Bettini, and D. Riboni, “Experience report: ontological reasoning for context-aware Internet services,” in Pervasive Computing and Communications Workshops, 2006. PerCom Workshops 2006. Fourth Annual IEEE International Conference on. IEEE, 2006, pp. 5–12. [38] M. Ebling, G. Hunt, and H. Lei, “Issues for context services for pervasive computing,” in Middleware 2001 Workshop on Middleware for Mobile Computing, Heidelberg, 2001. [39] D. Symonds, “MarcoPolo - Context-aware computing for Mac OS X,” 2007, http://www.symonds.id.au/marcopolo/. [40] C. Systems, “Cisco Systems - Enabling Context-Aware Mobility,” 2008, http://www.cisco.com/en/US/netsol/ns788/index.html. [41] N. B. Labs, “Nokia Situations - Nokia,” 2010, http://betalabs.nokia.com/ apps/nokia-situations. [42] M. consortium, “MUSIC - Context-aware self-adaptive platform for mobile applications,” 2010, http://www.ist-music.eu/MUSIC. [43] H. Verkasalo, “Contextual patterns in mobile service usage,” Personal and Ubiquitous Computing, vol. 13, no. 5, pp. 331–342, 2009. [44] Foursquare, “Foursquare,” 2009, http://foursquare.com/about. [45] Dusan, “Foursquare picture of the friends interface,” 2010, http://www.intomobile.com/2010/01/04/ foursquare-now-available-for-palm-pre-too/. [46] Google, “Google Latitude,” 2009, http://www.google.com/intl/en us/ latitude/intro.html.