The term context-awareness is used in various ways. However most often it is not explicitly clear how context is anchored in its environment, and who or what has
awareness of this context. Usually it is assumed that this is implicitly clear.
This can be illustrated considering the example of a context-aware information system that is mainly based on location; for examples see [Brown,96], [Abowd,97], and [Davies,98]. The context ‘location’ does not have meaning on its own it is always related to a user, device, or application. Awareness is either performed by the device, by the application, or by the user. Similarly the models developed for context aware applications are often opportunistic and strongly related to the technologies deployed. In our understanding the following properties of context are central:
• Each context is anchored in an entity.
An entity is a place, an artefact, a subject, a device, an application, another context, or a group of these. When creating sensing systems that supply context about an entity the domain knowledge that is available on the entity can be exploited, leading to the following hypothesis:
Hypothesis 2: The domain knowledge about a specific single entity is more universal and easier to establish than the domain knowledge of a complex system, and hence it is simpler to identify and implement contexts on entity level than on system level.
To illustrate the concept consider the example of a coffee cup with the contexts described in Table 7. It can be observed that these contexts of single artefacts are greatly independent on the general situation of use, so on this level there is no difference whether the cup is used at home, in the office, or in a restaurant.
The approach followed here is to take these issues into account when designing context-aware systems. The following definition underlines the basic relationship between context and entity.
Definition: Context-Aware Entity
A context-aware entity is an entity that has contexts that are anchored in it.
In a context-aware information system a context-aware entity can provide and/or use context. Modelling context around entities seems to be a natural way of building such systems, because on the level of objects the concept of contexts and their relation to
Type of entity
Entity Examples of typical Contexts Contexts relations in example
Person Athlete Running, walking, sitting, cycling, lying.
Exclusive Body part Hand Moving, moving fast, still. Non-exclusive Artefact Coffee cup Empty, full, hot, cold, moved,
drank from. Non-exclusive Part of an artefact Handle of a coffee cup
held, not-held Exclusive
situations is in most cases very well understood. The shared understanding of situations and contexts relating to artefacts, as communicated in every day language, offers a starting point with little complexity. Relating situations and tasks to objects and properties is a bottom-up approach to understanding and modelling context. When connecting contexts to artefacts an inherently decentralised model of the world is anticipated, because artefacts are distributed in the real world.
For many scenarios in Ubiquitous Computing it is a prerequisite to have access to a digital representation of the real world. In the bottom-up approach introduced here the main goal when constructing aware artefacts is to create a digital shadow of the real world, similar to the goal defined in the sentient computing project [Hopper,99]. This is a more general approach than providing a specific context for a specific application. Having a complete representation of the world would require that all artefacts in the real world are completely aware of everything around them and it seems at this point in time a distant goal. However, as our research indicates having some artefacts that are aware to some degree already provides a system with an impression about the surrounding world. Furthermore, the assumption is that the digital shadow gets clearer with each aware artefact added to the scene and also as the awareness of single artefacts gets better.
This bottom-up context-awareness is an approach to model, design and implement context-aware systems. Here basically for each artefact the main contexts are modelled that are directly related to this artefact, accepting that this may be incomplete, rather than trying to model the whole world from a top-down perspective. Assuming that many entities are aware of their contexts it is appealing that there can be more context information by combining the context knowledge that is around to get a better understanding of what happens in the real-world. In particular two ways to discriminate are:
• Creating context for entities where the contexts of their sub-entities are known • Establishing context for a group of entities that have a relationship
In the first case this is a compositional approach, where the is-part-of relationship is exploited. Whereas the second one is more general; examples of such relationships are spatial, temporal and thematic arrangements of entities. The contexts can be in both cases either very basic to contexts of the entity or groups of entities or contexts that are semantically on a more abstract level. This observation leads to the following hypothesis:
Hypothesis 3: Contexts for an entity or a group of entities can be established by fusing the contexts of entities that make up the entity or the group. Thereby artefact centric context enables versatile uses and becomes the foundation for a platform for applications.
The strong relationship between context and entities motivates the conceptual model. The following major issues are considered in the creation of the conceptual context model and are also significant for the implementation model:
• Conceptual Bond between Context and Entity
Context and entities are in many cases tied together. This conceptual bond is relevant to context acquisition and also to context use. Context can often be described by describing entities and their handling. Sensing on entity level carries additional information related to the domain knowledge of the entity. • Context on Entity Level
Modelling and implementing context acquisition and use on artefact level reduces the complexity. Sub-dividing entities into smaller entities modelling becomes a structured process. Similarly implementing context acquisition and context use for smaller units is in general simpler.
• Composing Context, Extensibility
Providing context in a natural structure, related to entities, a potential for further compositions and extensions is introduced. Similar to approaches in Object Oriented modelling it is assumed that by these means the versatility and reusability of components is increased.
• Roles of Artefacts
Entities can act differently within a system. Basically they can provide context, they can use context, and they can do both. Later entities will be referred to as context suppliers and context consumers to mark their roles.