Tool support for the design and management of context models
Introduction
In the domain of context-aware computing, applications need information about their user's situation to adapt their presentation, actions, or computation. Examples are location-based services [1], such as tourist guides [2], [3], indoor and outdoor information systems [4], [5] and smart environments [6], which present spatially selected information and services on mobile devices, often adapted to the user's current situations. Adaption based on context is also done in smart environments, where everyday things, enhanced with embedded sensors and computing power, interact with the inhabitants, e.g., in smart homes. Furthermore, adaption on technical layers can be done based on context information, e.g., dynamically switch to the best available wireless network within mobile communication services. To ease the development of context-aware applications, the management of context information should not be done within the application, but within so-called context models [7], which can also be shared between different applications to further decrease the development costs [8]. In general, context models may contain geographical data (e.g., maps), dynamic sensor data (e.g., the position of a moving object), infrastructure data (e.g., the extent and bandwidth of wireless networks), and context-referenced digital information (e.g., documents or web sites that are relevant in a certain context). In a broader sense, context models can additionally contain information on technical context such as available computing nodes or data processing operators and their properties.
We illustrate the general problem of context modeling using the application domain of Smart Factories. With the growing maturity of sensors, wireless communication, and distributed computing environments, pervasive computing enters new application domains. One promising example are production processes in so-called Smart Factories, where we can achieve huge improvements in transparency and efficiency. Here, pervasive computing not only improves usability or safety, but it really saves money. Different applications may run in a Smart Factory: some may measure the attrition of tools and initiate maintenance processes before critical situations occur [9], while others may track different resources and their state to reduce overstocking of resources [10], [11]. Another example could be the monitoring of the overall production process and its energy consumption to improve its overall efficiency. All these application have in common that they need context information about machines, workers, and other resources.
The creation of such context models is a tedious task. First, we have to model the context model schema, which specifies entities relevant for the application, like machines, tools, etc. Secondly, we have to provide the context model data, which represents the concrete instances of specified entities, like the location of the machines, or the state of the tools (e.g., attrition). The context model data can either be static, which means the data is entered once into the system and changed very seldom. Moreover, the data can be dynamic, which means it is sensed and inserted by sensors. Finally, the context of interest for the application (higher-level context) has often to be derived by rules or probabilistic learning approaches from other context model data (so-called lower level context). To reduce the burden of obtaining and maintaining such context models, it is beneficial to share the information between applications. The Nexus project1 aims at providing shared context models in an open, federated environment: Autonomous data servers and sensors offer different local context models, which are federated into an integrated view over those context models for the applications (the Augmented World Model—AWM) [12]. For this, we developed a spatial query language (Augmented World Query Language—AWQL) following the query-response-paradigm and a serialization and modeling language (Augmented World Modeling Language—AWML), which are used as interchange formats both by applications and by platform components (see Section 4). AWQL is currently being supplemented by the Nexus Plan Graph Model (NPGM), which offers support for a larger number of different data processing operators and for data streams.
This paper is structured as follows: After a discussion of the requirements in Section 2 and the related work in Section 3, we shortly describe the Nexus platform and the Augmented World Model in Section 4, which serves as a central integration schema for the shared context models of applications. In Section 5, we illustrate the main features of the NexusEditor and how it can ease the development of context models, Section 6 describes how the NexusEditor can be used to model technical context relevant in the Nexus platform. Finally, Section 7 concludes the paper.
Section snippets
Requirements to support the design and management of context data
According to the introductory example from Section 1 we can extract the following features:
Schema awareness: During the context data modeling process it is important to consider the underlying schema for later storage in context servers. Therefore, it is beneficial to provide schema awareness to prevent potential modeling errors of context data.
Schema modeling and integration of context data: To adapt the context-data model to domain-specific requirements it is beneficial to allow the extension
Related work
An extended survey over current context modeling and management approaches can be found in [14]. One of the most comprehensive approaches for developing context-aware applications is based on the Context Modeling Language (CML) and its associated software engineering framework [7]. It extends Object-Role Modeling (ORM) [15]—developed for conceptual modeling of databases—by features needed for context modeling. CML provides a graphical notation designed to support the software engineer in
Architecture of the Nexus platform providing the augmented world model
The goal of the Nexus platform is to support a large variety of context-aware applications, such as location based information systems [25], mobile games [26], or even factory management applications [27], by providing a shared, global context model called the Augmented World Model (or short AWM). To achieve this, the platform federates local context models, which are stored on Context Servers. The local context models typically contain some selected context information in a spatially
NexusEditor: support for the design and management of context-models
The NexusEditor provides a graphical user interface to maintain context models, interactively create queries and send them to a server, and visualize the results. A main feature of the NexusEditor is its schema awareness: It dynamically parses the underlying data model and provides additional syntactical checks, semantical checks, and shortcuts based on the context model schema. In addition, it shows features specific to the application domain of spatial data management, and how external
Exploiting the NexusEditor to model the technical context of NexusDS
As described in Section 4, the Nexus platform has been extended to cope with the non-trivial characteristics of data streams. Therefore, a novel system architecture and operator model has been developed. The operator model is meta data driven and enables the development of highly domain-specific operators [30].
Therefore, in the next subsections we first present the logical operator model used in NexusDS and highlight its specifics. After that the operator schemes, used to model the
Conclusion
In this article we presented the NexusEditor, which provides the complete support needed for designing and populating spatial and technical context models for the Nexus platform: Support for schema design for newly created context models, support for extending existing schemas for usage in new domains and support the deployment of the schemas to a context server. After designing the schemas, the NexusEditor can be used to create context data and to store it in a context server. Furthermore, the
Acknowledgments
We would like to thank Carlos Lübbe in supporting this work. This work was partially funded by the Collaborative Research Center Nexus: Spatial World Models for Mobile Context-Aware Applications (Grant SFB 627).
References (35)
- et al.
Context-aware computing applications
- K. Cheverst, N. Davies, K. Mitchell, A. Friday, C. Efstratiou, Developing a context-aware electronic tourist guide:...
- et al.
Cyberguide: a mobile context-aware tour guide
Wireless Networks
(1997) - et al.
Making everyday life easier using dense sensor networks
- A. Leonhardi, U. Kubach, K. Rothermel, A. Fritz, Virtual information towers—a metaphor for intuitive, location-aware...
- et al.
The aware home: a living laboratory for ubiquitous computing research
- et al.
A software engineering framework for context-aware pervasive computing
- et al.
Efficiently managing context information for large-scale scenarios
- M. Wieland, D. Nicklas, F. Leymann, Managing technical processes using smart workflows, in: Towards a Service-Based...
- M. Bauer, L. Jendoubi, O. Siemoneit, Smart factory-mobile computing in production environments, in: Proceedings of the...