An Ontology for Mobile Device Sensor-Based Context Awareness ...

40 downloads 5567 Views 123KB Size Report
Jun 18, 2003 - Conference paper. First Online: 18 June 2003 ... Volume 2680 of the book series Lecture Notes in Computer Science (LNCS). Cite this paper ...
An Ontology for Mobile Device Sensor-Based Context Awareness Panu Korpipää and Jani Mäntyjärvi VTT Technical Research Centre of Finland, VTT Electronics, Kaitoväylä 1, P.O. Box 1100, FIN-90571 Oulu, Finland {Panu.Korpipaa, Jani.Mantyjarvi}@vtt.fi

Abstract. In mobile computing, the efficient utilisation of the information gained from the sensors embedded in the devices is difficult. Instead of using raw measurement data application specifically, as currently is customary, higher abstraction level semantic descriptions of the situation, context, can be used to develop mobile applications that are more usable. This article introduces an ontology of context constituents, which are derived from a set of sensors embedded in a mobile device. In other words, a semantic interface to the sensor data is provided. The ontology promotes the rapid development of mobile applications, more efficient use of resources, as well as reuse and sharing of information between communicating entities. A few mobile applications are presented to illustrate the possibilities of using the ontology.

1 Introduction The ongoing rapid development in mobile and ubiquitous computing has led to an increasing interest on sensors embedded into mobile devices. Sensors can be used to acquire information from the environment and the usage situation, context, in order to increase the usability of the device. Currently however the use of sensors is highly application specific, and sensor information is mostly utilised as raw numerical data. The information value and the usefulness of raw measurement data is very low for the application developer. Development efficiency is impaired and reuse is difficult, not to mention the inefficiency and variability of the resulting implementations. A semantic interface to the sensor data is needed. Low level sensor data can be abstracted for general use. This article introduces an ontology designed for utilising context abstractions, derived from a set of sensors embedded in a mobile device. In this paper we refer to context as semantic symbolic expressions abstracted from numerical sensor data. Usually, the processing of context information from sensors is carried out using signal processing methods to extract suitable features [1,2]. The suitability of extracted features should reflect the concepts from the real world and they should be important for applications [2].

P. Blackburn et al. (Eds.): CONTEXT 2003, LNAI 2680, pp. 451–458, 2003. © Springer-Verlag Berlin Heidelberg 2003

452

P. Korpipää and J. Mäntyjärvi

The ontology and syntax for representing context has been fairly superficially treated in the context awareness literature. Dey and Abowd [3] give a rough categorization of context into four classes, location, time, activity and identity. Otherwise, the vocabulary they use is strongly application dependent and actually consists of a list of widgets, fixed sources of context. Crowley et. al. [4] give a process-based approach of representing conceptual components. They bind the meaning to processes, and by that choice their system is in fact very similar to the widget-based approach, but differs in focusing on the transformation of information from measurements or contexts to other contexts. Winograd [5] emphasises the importance of creating ontologies for distributed environments that provide the application writer with a representation of the aspects of context that are relevant to program execution. Furthermore, the goal is seen in finding the right level of description, which abstracts away from implementation details, but is still specific enough to enable the inferring of actions based on context. Context usually consists at each time instant of multiple partial descriptions of a situation, which we refer to as context atoms. Context atoms may already be useful without any further processing. An application may be either interested in a single part of the whole context, or many parts of it. Sometimes many context atoms, at a certain time instant, together form a single description of an event, a higher level context. A higher level context may also be formed by a causal sequence. Flanagan et. al. [6] give a formal definition for generating higher level contexts. The ontology we describe in this article facilitates vector representation of context for inferring composite contexts. It has been used as an underlying representation for explorative analysis of the structure and dynamics of higher level contexts by segmenting a time series of atoms, and for unsupervised clustering in an attempt to raise the abstraction level of context data [6,7]. Mäntyjärvi et. al. [8] use the representation as a basis for experiments in utilising information from multiple mobile devices in recognizing context of a group of mobile terminals and their users collaboratively. In summary, the contribution of this paper is introducing a mobile device sensorbased context ontology, a semantic interface, to data that is acquired from a set of sensors embedded in a mobile device. The use of the common ontology increases the information value and usability of the data for the application developer, as well as facilitating reuse and information sharing between communicating parties. To validate the feasibility of the approach, a few real-world applications that utilise the ontology are presented.

2

Sensor-Based Context Ontology

2.1 From Raw Measurement Data to Semantic Context The objective in context atom extraction is to extract features describing a concept from the real world to facilitate the versatile exploitation of context information. Let’s

An Ontology for Mobile Device Sensor-Based Context Awareness

453

take for example, illumination. The shift from dark to normal illumination conditions and to bright is fuzzy rather than crisp. Quantizing the dynamic range of a feature with fuzzy quantization results in a more expressive representation of context information [9]. Various signal processing and feature extraction methods have been utilised to extract a set of features from sensor signals that describe concepts from the real world [7]. The approach provides a simple way to add semantic meaning to extracted features. However, it is required that features are already scaled to a certain range and the dynamics of features is examined with correspondence to real world situations. The quantization allows us to present context information in a vector format that opens possibilities to process context information, and enables us to connect low level context information to applications [2].

2.2 Goals and Design Rationale for the Ontology The principles on which the design was based on, in order of importance, are: 1.

Domain. The ontology is developed for the purpose of utilising mobile device sensor-based context information.

2.

Simplicity. The ontology, relations that are used, and expressions should be simple enough to be easily utilised by application developers. The completely expressive and detailed ontology is not very useful if it is too complex compared to the necessary level of detail required by most applications.

3.

Practical access. The ontology should enable practical, meaningful, intuitive, and simple queries and subscriptions to the context information.

4.

Flexibility, expandability. The representation should support the addition of new context elements to the ontology, as well as new or complementary relations.

5.

Facilitate inference. The representation should enable efficient inference by the recognition engines as well as application control. It should not restrict the inference to any single method, since no single inference method today is optimal for every type of problem.

6.

Genericity. The ontology should support different types of context information.

7.

Efficiency. The representation should be memory efficient as well as support time efficient inference methods.

8.

Expressiveness. The possible amount of detail in describing any single context and the versatility of the expressions should be high.

2.3 Structure of the Ontology Each context is described using seven properties (below). Each context expression is required to contain at least Context type and Context or Value, in order to facilitate the practical manipulation, storing, and usage of context information.

454

P. Korpipää and J. Mäntyjärvi



Context type: Category of the context. All subscriptions and queries must have context type as the primary parameter. Each context type is allowed to have one context at a certain moment in time, thus the context type is the unique identifier of context. Context type concepts form a tree structure.



Context: The symbolic "value" of context type. Is usually used together with context type, forming a verbal description (table 1).



Value: "Raw", numerical optional value or feature describing context.



Confidence: An optional property of context describing the uncertainty of context. Typically a probability or a fuzzy membership of context, depending on the source.



Source: An optional property which can be used to describe the semantic source of context. It can be used by a client interested only in contexts from a specific source.



Timestamp: The latest time when a context occurred.



Free attributes: Can be used to specify the context expression freely. May contain any additional properties about details that are not included in the other properties.

Resource Description Framework (RDF) (www.w3c.org) [10] was used as the formal syntax for describing both structure and vocabulary of the ontology in order to enable information sharing. 2.4 Vocabulary The vocabulary of sensor-based context constituents is presented in a list form for compactness, table 1. The hierarchy which is formed based on the constituents of each context type, separated by a colon, can be used for semantically querying and subscribing to information concerning branches of the context tree, instead of handling only individual context atoms described using the full context type path. There are two categories of context types based on their values. The first category always has a quantisizable, valid value in all situations. Such contexts types are for example temperature, stability, light and sound intensity, etc. All possible values at any moment can be labeled as one of the contexts defined for the type, unless the sensor output is erroneous. The contexts in the other category only occasionally have a meaningful, defined value, and for those context types there must exist a NotAvailable context. The purpose of NotAvailable context is to convey the information that none of the contexts defined for the concerned context type is valid, and the current state is something other than the last value that was detected. Table 2 shows a few examples of context descriptions which are processed from raw sensor measurement signals and represented as instances of the context ontology.

An Ontology for Mobile Device Sensor-Based Context Awareness

455

Table 1. The vocabulary of sensor-based contexts in a list form

Context type (category of context) Environment:Sound:Intensity Environment:Sound:Intensity Environment:Sound:Intensity Environment:Light:Intensity Environment:Light:Intensity Environment:Light:Intensity Environment:Light:Type Environment:Light:Type Environment:Light:SourceFrequency Environment:Light:SourceFrequency Environment:Light:SourceFrequency Environment:Temperature Environment:Temperature Environment:Temperature Environment:Humidity Environment:Humidity Environment:Humidity User:Activity:PeriodicMovement User:Activity:PeriodicMovement User:Activity:PeriodicMovement Device:Activity:Stability Device:Activity:Stability Device:Activity:Placement Device:Activity:Placement Device:Activity:Position Device:Activity:Position Device:Activity:Position Device:Activity:Position Device:Activity:Position Device:Activity:Position

Context Silent Moderate Loud Dark Normal Bright Artificial Natural 50Hz 60Hz NotAvailable Cold Normal Hot Dry Normal Humid FrequencyOfWalking FrequencyOfRunning NotAvailable Unstable Stable AtHand NotAtHand DisplayDown DisplayUp AntennaDown AntennaUp SidewaysRight SidewaysLeft

Table 2. Examples of context instances based on the ontology

Example context 1 2

3

Context type

Context

Environment: Light:Type Environment: Temperature

Natural Warm

Device: Activity: AtHand Placement

Va Confi- Source lue dence 1 Device Sensor 21 0,8 Device Sensor

-

1

Free attributes

Confidence = Fuzzy membership Confidence = Fuzzy membership ValueUnit = Celsius Device Confidence = Sensor Crisp

456

P. Korpipää and J. Mäntyjärvi

Depending on the case, a confidence field may contain, e.g., fuzzy membership, probability, or crisp zero or one. A statement that directly names the accurate meaning of the confidence can be included in the free attributes field if it is necessary. 2.5 Subjective and Objective Contexts Conceptually, contexts in the ontology of the table 1 can be divided into two groups, subjective and objective. Contexts derived from the measurements such as for instance light level, temperature and humidity, can have different interpretation in different situations or by people from different cultures. Clearly the fuzzy quantization is not fully satisfactory, at least in the case of temperature. A partial solution to avoid the subjectivity problem is to offer the applications the value of context in addition to the semantic interpretation. The use of direct value is especially useful in the case of temperature. The application can use either the symbolic (subjective) context or the value. Concerning other subjective contexts in the ontology than temperature, it is not as practical to use the value, at least if the value is known to be rapidly changing. 2.6 Naming Policy To avoid naming conflicts between context information providers, a policy is defined. Java style conventions are adopted for naming (Java.sun.com/docs/codeconv). The context type description prefix is hence of following form: domain_suffix.domain_base.[domain_prefix, ...]:device_internal_/_external:context_type The last part separated by a dot in the prefix defines whether the context is device internal or provided by a third party. If a context is device internal, this field is empty, and if the context is provided by any third party, this field must contain an x. There may be many domain prefixes. Table 3 contains a few examples of naming. Table 3. Examples of naming of context types from different providers

Origin of context Device internal context Third party context Third party context Third party context

Context type com.device_manufacturer:environment:light:intensity fi.vtt.ele:x:environment:temperature fi.vtt.ele.ais.tie:x:device:activity:stability fi.oulu:x:environment:humidity

2.7 Inference The ontology is designed to facilitate any inference framework, or alternatively none. Uncertainty of context is described by the confidence attribute, which can be utilised in several inference frameworks, such as probabilistic networks, clustering, or casebased reasoning [11]. Hence, there is no central inference mechanism nor framework,

An Ontology for Mobile Device Sensor-Based Context Awareness

457

nor is the inference mechanism restricted in any way. The idea is to distribute the inference (context recognition or application control), which is made invisible for the client by using a central blackboard manager. The approach is commonly known from blackboard systems [12].

3 Applications of Context Ontology Context dependent information representation in user interface applications and browsing have been proven to gain from manipulating and processing context information [2]. The approach utilises a part of the ontology. Fuzzy controllers are used to guide the adaptation according to context. Environment audio guides the adaptation of volume of operating tunes. Fig. 1 presents screenshots of context based information representation of a bus timetable service, illustrating how fontsize, illumination of a display, and service content are controlled using context information.

a)

b)

c)

Fig. 1. Adaptive information representation on the display of a mobile terminal during service browsing. Current contexts in screenshots are; 1a) Environment:Light:Intensity Normal, User:Activity:PeriodicMovement NotAvailable; 1b) User:Activity:PeriodicMovement RunningFrequency; 1c) Environment:Light:Intensity Bright, User:Activity:PeriodicMovement WalkingFrequency

4 Discussion The representation seems to satisfy the needs of the domain of sensor-based context in a mobile device, concerning the applications that were discussed. The model is straightforward, clear, and enables practical usage. The ontology can be expanded when new contexts are discovered, and the inference framework is not bound to any single method. The efficiency of the representation is dependent on the chosen inference method. First order logic inference is not always applicable. Many efficient reasoning frameworks utilise a vector form of input data. Each context can form an element in the context vector, which represents a generic description of a more complex higher level context, and can be bound to meaning for understandability [13].

458

P. Korpipää and J. Mäntyjärvi

5 Conclusions Semantic context descriptions can be used to develop sensor data-utilising mobile applications. This article introduced an ontology of context constituents, which are derived from a set of sensors embedded in a mobile device. The ontology promotes simplified development of sensor-based mobile applications, more efficient use of development and computing resources, as well as reuse and sharing of information between communicating entities. A proof-of-concept prototype application, adaptive information display, was discussed to illustrate the possible ways of using the ontology. In the future, the ontology will gradually be expanded to cover wider areas of context within the mobile computing domain. RDF is examined as a promising syntax for sharing the context information among devices, providers and users. Acknowledgements. The authors would like to acknowledge the funding provided by NOKIA.

References 1.

2.

3.

4.

5. 6. 7.

8.

9. 10. 11. 12. 13.

Schmidt, A., Aidoo, K.A., Takaluoma, A, Tuomela, U., Van Laerhoven, K., Van de Velde, W.: Advanced Interaction In Context. Lecture Notes in Computer Science, Hand Held and Ubiquitous Computing (1999) 89–101 Mäntyjärvi, J., Seppänen, T.: Adapting Applications in Handheld Devices Using Fuzzy Context Information. To be published in Interacting with Computers Journal, Vol. 15(3), Elsevier (2003) Dey, A.K., Abowd, G.D.: Towards a Better Understanding of Context and ContextAwareness. CHI 2000 Workshop on The What, Who, Where, When, Why and How of Context-Awareness (2000) Crowley, J., Coutaz, J., Rey, G., Reignier, P.: Perceptual components for context awareness. Proceedings of the International conference on ubiquitous computing, SpringerVerlag (2002) 117–134 Winograd, T.: Architectures for context. Human-Computer Interaction, Vol. 16 (2001) 401–419 Flanagan, J.A., Mäntyjärvi, J., Himberg, J.: Unsupervised Clustering of Symbol Strings and Context Recognition. IEEE Conference on Data Mining (2002) 171–178 Mäntyjärvi, J., Himberg, J., Korpipää, P., Mannila, H.: Extracting the Context of a Mobile Device User. Proceedings of the International Symposium on Human-Machine Systems, Kassel, Germany (2001) 445–450 Mäntyjärvi, J., Huuskonen, P., Himberg, J.: Collaborative Context Determination to Support Mobile Terminal Applications. IEEE Wireless Communications, Vol. 9(5) (2002) 39– 45 Cox, E.: The Fuzzy Systems Handbook; A Practinioner’s Guide to Building, Using and nd Maintaining Fuzzy Systems, 2 edition. AP Professional, NewYork (1998) Ahmed, K., et. al.: XML Meta Data. Wrox Press (2001) Mitchell, T.: Machine learning. McGraw-Hill (1997) Engelmore, R., Morgan, T. (Eds.): Blackboard systems. Addison-Wesley (1988) Korpipää, P., Koskinen, M., Peltola, J., Makelä, S.M., Seppänen, T.: Bayesian Approach to Sensor-Based Context Awareness. To be published in Personal and Ubiquitous Computing, Springer-Verlag (2003)