Abstract
In this article we outline the details of an ontology, called SmartEnv, proposed as a representational model to assist the development process of smart (i.e., sensorized) environments. The SmartEnv ontology is described in terms of its modules representing different aspects including physical and conceptual aspects of a smart environment. We propose the use of the Ontology Design Pattern (ODP) paradigm in order to modularize our proposed solution, while at the same time avoiding strong dependencies between the modules in order to manage the representational complexity of the ontology. The ODP paradigm and related methodologies enable incremental construction of ontologies by first creating and then linking small modules. Most modules (patterns) of the SmartEnv ontology are inspired by, and aligned with, the Semantic Sensor Network (SSN) ontology, however with extra interlinks to provide further precision and cover more representational aspects.
The result is a network of 8 ontology patterns together forming a generic representation for a smart environment. The patterns have been submitted to the ODP portal and are available on-line at stable URIs.
Introduction
Applications of sensorized environments that provide domestic monitoring and cognitive assistance services for their inhabitants/users are increasing. An example of such an application is health care monitoring and services, where patients are being monitored and cared for in their own living environment. In order to support the use of artificial intelligence techniques for automating the provision of these services, it is necessary to describe the capabilities of the various aspects of such environments. These descriptions include physical aspects (e.g., the structure of the environment, sensor network setting or entities), as well as conceptual aspects (e.g., events or activities of the users), and can be modeled in ontologies. According to [21], there is a general list of questions about the inhabitants of smart homes (as an example of smart environments), which many of the suggested knowledge models in the literature aim to address. This list includes questions about the location of the inhabitant, the activity that the inhabitant carries out, the intention behind the activity, the time when the activity is detected, etc. Although the representational models (i.e., ontologies) target the same goal, they differ in terms of the level of generality as well as their reasoning efficiency.
Due to the dependencies between the aforementioned features, such an ontology can easily become large and complex; moreover, it may need to be updated over time, e.g., when sensors/robots with new kinds of features are added to (or removed from) the environment, or when the monitoring requirements of the environment change. Additionally, when we use ontologies in a system that requires near real-time reasoning and reactions by the system, the reasoning complexity is an essential parameter of the ontologies. For these reasons, we propose the use of a network of ontology modules, which is called SmartEnv and could be considered as a set of interlinked content Ontology Design Patterns (ODPs) [15] due to their generic applicability to the domain and our deliberate effort to minimize their ontological commitments, while maintaining functionality. According to the principles of ODP modeling, the ontological commitments should be minimized by first creating small modules, and then linking them together, instead of designing a large monolithic ontology from scratch as a comprehensive representation of the entire domain [7].
Before going to the details of our proposed ontology, in Section 2, we first motivate how and why our suggested SmartEnv ontology is required and compare the available ontologies with the given requirement list. In Section 3, we shortly introduce the project whose requirements led us to the development of the SmartEnv ontology in the form of a network of ontology modules. In Section 4, we explain the 8 ontology patterns (modules) used in SmartEnv ontology. The SmartEnv ontology, as the result of specializing the relations between modules along with its application is presented in Section 5. A discussion on our approach is given in Section 6, where the paper is concluded by giving remarks concerning future developments.
Motivation and background
Representational requirements
During the requirements analysis process, we considered a number of (conceptual) aspects of smart environments to be covered in the ontologies. For further clarification, some aspects are explained based on a set of high-level competency questions (CQs) (only examples are given here due to space restrictions). The detailed CQs for each of the patterns can be found inside the ODP itself, as annotations of its OWL file, and on its page in the ODP portal:
Given the aforementioned general list of high level concepts required to represent a smart environment, in the following, we overview the literature on the sensor-related ontologies.
Overview of sensor-related ontologies
Sensing and in general sensor-related details of smart environments as one of their integral computational aspects has been widely studied in the literature [4,14,21]. Although the “re-usability” has always been advertised as an essential features of ontologies, there is a large number of adhocly designed sensor-related ontologies in the literature, many of which are not even available online. This number increases when the idea behind the design of these ontologies is getting more specific, for example for activity recognition purposes [21]. One important task in designing ontologies for smart environments is to identify the activities of an agent in the environment, for instance in the case of a smart home, these could be activities such as “sleeping”, “watching TV”, “cooking” etc. In addition to being able to identify an activity, we also need to represent the time and location where the activity is carried out. Ontologies suggested for recognizing daily activities are rarely relying on upper-level ontologies [20,24], which usually result in a lower reusability. Concerning the re-usability of ontologies, [25] proposes a top-level ontology that provides a formal and generic representation of activities sharable between different domains. However, apart from the activity representation, in the aforementioned work there is no representation of the other aspects of a smart environment. With the focus on smart environments, [18] introduces the Casas Ontology (COSE) being able to represent sensors, buildings, occupants and human activities, which is publicly available. However, there are no representation details provided to show that the offered light-weight model relies on available upper-level ontologies, or even that it is possible to align it to such ontologies. Furthermore, both the spatial and temporal aspects are poorly represented and there is no support for the representation of the sensor network at all. Likewise, the COBRA-ONT ontology, which also provides a representational model for pervasive computing environments, lacks an alignment with an upper level ontology, and does not contain an explicit temporal representation model [9]. Two other ontologies related to context-awareness in sensorized environments are SOUPA [10] and DogOnt [8]. Although there are a number of working applications of these ontologies, both are lacking some representational aspects. For instance, in SOUPA, we are not able to define devices (as part of the network modules) and their configurations and functionalities. DogOnt also provides a limited object representation with no support for their dynamic features. Comparing with the above mentioned ontologies, the ontology introduced in [1] is more complete in terms of localisation and temporality. It also considers the required representational basis for environmental changes (e.g., events). However, what is missing is again an alignment to an upper level ontology, and although it has been claimed that the ontology is per se generic enough to be used in different domains, it is not obvious how it relates to commonly used upper ontologies and standards.
There are also few approaches in the literature proposing more general ontologies for IoT-related domains, regardless of their applications. The Semantic Sensor Network (SSN) ontology [12] is introduced as a generic and reusable knowledge model for sensor-related environments. The first version of SSN1 DOLCE Ultra Light: www.ontologydesignpatterns.org/ont/dul/DUL.owl.
Regarding the load of the representational details in SSN bringing up excessive processing time, the W3C Spatial Data on the Web Working Group has proposed an updated version of SSN as a W3C recommendation with no import of the DUL ontology as its basis [17]. The new version of SSN provides a basis for some required concepts (e.g., sensor, observation, platform, etc.) in representing a smart environment. Although the new SSN is not based on DUL, a specific alignment module is also provided, which can be used if needed.
In this paper, we propose a generic ontology for smart (sensorized) environments (with at least one inhabitant/user) based on SSN. There are a number of works in the literature inspired by the old version of SSN [2,23]. However, since the basis of our proposed ontology is the new version of SSN, we do not go through the details of old-SSN-inspired work, as their differences with our proposed ontology will be similar to the differences between the old and new version of SSN. In our design, we rely on the general concepts given in the new version of the SSN ontology and extend/specialize them in order to cover all the representational requirements given in Section 2.1. This extension, which will be explained in the remaining sections of the paper, is focusing on both static (such as objects, deployment or network set-up) and dynamic (such as temporal and spatial, activity and event) concepts.
Regarding the design pattern approach, the ODP techniques underpinning our approach make it similar to the work proposed in [19], which introduces a generic Stimulus-Sensor-Observation ontology design pattern for representing observation-based data on the Semantic Web, although their focus is much more limited. Moreover, the focus of the work presented in [22] is on designing a core domain IoT ontology and proposes a reasonable categorization of high level concepts. What makes our approach different, however, is first its more comprehensive coverage of concepts, and also the provided representational details of the aforementioned aspects of a smart environment.
As said above, our proposed ontology can be seen as a network of modules whose basis are extracted from SSN. Each module is represented in the form of a pattern, as general as possible with the least possible dependencies on the other patterns. Doing so helps us to realize the main links in the eventual ontology. We can consequently make a stable and at the same time flexible network of concepts that can be updated with the minimum change propagation on the entire ontology, and where individual patterns can also be used in isolation for some specific reasoning tasks (e.g., in order to avoid issues with reasoning complexity or clashes in the relations to foundational ontologies).
In order to set the stage and explain the background of our work, we will here briefly describe the project where the ontology modules were developed. We also introduce a reasoning example that will be used throughout the paper to exemplify the use of the modules.
The E-care@home project aims at providing a comprehensive IoT-based healthcare system, including state of the art communication protocols and high-level analysis of data from various types of sensors, combined with information from personal health records, and other background information, both generic and specific to a person. The main scenario is that of an elderly person who has some specific needs and potential medical conditions, but is still living at home. In order to increase the safety of the person, and reduce the frequency of appointments needed at a care facility, the patient and caregivers have agreed to fit the patients home with some sensors and a communication device, such as a tablet with a specific application installed. The challenge is to integrate and reason over all the information both from the sensors and the medical records at once, and derive the most likely conclusion, e.g., the current situation that the patient is in, the cause of some events, and the best action for the system to take next. This is quite a typical scenario for sensor-based monitoring systems, hence, it has enabled us to generalise our specific requirements (mentioned earlier in Section 2.1) and provide a solution that we believe is highly reusable by other systems, regardless of the domain where such situation awareness and monitoring is required.
A sample scenario
Throughout this paper we will use the following example to illustrate our modules:
Let us assume we are monitoring a patient with severe COPD (Chronic Obstructive Pulmonary Disease). Since one effect of the disease is lung function reduction, patients tend to have a hard time to remain active. A reduced level of activity in their daily lives may be an indication of a worsening of the condition. The level of activity is furthermore seen as an important contextual background information for interpreting readings from medical sensors and self assessments, such as perceived breathlessness or oxygen saturation. Therefore one task of the E-care@home system is to create a time-line of the patient’s daily activities. One possible (simplified) example of such an inference, based on sensor observations could be that the patient is watching TV as long as the person is seated on the couch in the living room and the TV is on. For performing this inference, we need at least two

SmartEnv Ontology based on its 8 building blocks in the form of ontology patterns.
In the previous section, we discussed the existing ontologies that have inspired our work, and the reasons why none of them cover all the requirements. In this section, we briefly provide an overview of the overall ontology network that we propose as a solution to this problem. Figure 1 represents an abstract overview of the overall ontology in terms of its modules and their relations. The figure is somewhat simplified in order to be more readable, e.g., most inverse relations have been omitted as well as some of the alignments to external classes and properties. In the following section we then go into details of the individual modules and their axiomatization.
The SmartEnv ontology3
In this section we only provide the Description Logic (DL) notations of the classes and properties. To further clarify, in Section 5.1 we provide examples showing how these DL notations are used to populate the SmartEnv ontology.
The pattern
The OWL-Time ontology provides precise representation for temporal entities in the form of either time instant or temporal duration. In the context of smart environments, we, however, require more specific temporal representation that allows us to also represent relative temporal distance (for example, between an event and its preconditions). By relative, we mean the temporal distance is indicated without knowing the specific timestamps located within a specific distance to a given time point (e.g., the event cooking is recognized at time-stamp
For this, we have extended the OWL-Time ontology and introduce it as our
se-time:TemporalEntity is subsumed by the class
owl-time:TemporalEntity
:
It is also equivalent to the union of the three classes
se-time:Instant According to OWL-Time, an instance of the time instant is assumed to represent a temporal entity with zero extent or duration. The subsumption of this class in our
se-time:Interval is likewise a specialization of the class
se-time:TimeDuration which is used in the aforementioned DL expression is a simple specialization of the class
se-time:TemporalDistance is finally the temporal concept that is needed to represent an interval whose starting-time in terms of a date-time value is unknown and is set relative to another time-position, with a specific distance. More specifically, a temporal distance is used when we need to explain a temporal constraint for an event or an activity whose preconditions need to be captured during a specific period of time located at certain distance with the time stamp of the event. In the
The object property

Representation of relative temporal distance calculated based on 2 time durations from a given time point t.
Apart from the temporal aspect, in a sensorized environment, specifically when there are mobile agents such as robots, the representational model needs to also cover the spatial aspects of entities including the topology of objects, rooms, etc. For instance, there are many situations where we need to localize objects relative to the physical position of the user. For this, encoding the spatial relations between entities is essential (e.g.,
A “situation” illustrates a specific
In order to represent various situations (related to feature of interests) in a smart environment we have designed the pattern SOSA is one of the ontologies imported to SSN [17].
se-situ:State represent a class whose individuals are assumed to declaratively express a feature of interest regardless of how this expression is realized. According to DUL, the class
dul:InformationObject
allows us to define any piece of information such as a text, a word, etc., independently from how it is concretely realized. We found this definition suitable to be specialized and be the basis of the class
se-situ:Situation is subsumed by the class
dul:Situation
. A situation in a smart environment can be more specialized and expressed by a specific property of a feature of interest (i.e., the class
A sensing process is simply defined as the process of monitoring a specific property of a feature of interest using a sensing device. In order to represent such concept, we have designed the pattern
se-sensing:Sensor is the specialization of the class
se-sensing:Observation is subsumed by the class
It is worth mentioning that the information about the feature of interest, its properties, sensors’ results, etc., is provided by the definition of the class
se-sensing:ConfigurationProcedure as a procedure allows us to define specific configuration required for each sensor to be used in an observation process. These configurations can include setting up the sampling rate of the sensor, the types of sensor data, etc., that can be defined according to the application. A very generic definition of this class is given in the following:
The meaning of a place in the context of smart environments is twofold. First, by a place we mean the entire smart environment which holds the deployment of a sensor network and might also be composed of several sections. The second meaning of a place refers to each section of the main place with a specific identity that can be as such seen as a location for different objects. Given this preliminary definition, the pattern
se-place:SmartEnvironment represents the entire environment as a physical place (i.e.,
dul:PhysicalPlace
) that is also assumed to hold a deployment of a sensor network. This class, therefore, has to also be subsumed by the class
The information required to define an instance of the
se-place:Section represents spatial sections as parts of a smart environment. Each section defines a physical place that can accommodate different objects. Furthermore, each spatial section in a smart environment has a geometry and therefore, can be in spatial relations with the other sections. In order to reflect such properties, we have specialized the definition by adding a subsumption relation with the class
A network in a smart environment is defined as a system containing different types of devices such as nodes and node stations. By node, we mean a communication module that indicates either a sending or a receiving data module in a network. It is worth mentioning that the current design of the Network Pattern only supports the request/response communication paradigm.
Each node depending on its type can be a part of a node station representing another type of device that contributes in establishing a network. Each node station contains a node along with other things including a sensor, power supplies, batteries etc.
The whole process of a network set-up regardless of its exact technical details is represented by a non-physical concept called deployment. The pattern
se-network:Deployment extends the class
ssn:Deployment
and explains a platform (e.g., a smart environment) upon which a network is deployed:
The information related to the platform is inherited from the superclass ssn:Deployment in the SSN ontology [17].
se-network:Network is defined as a special type of system that has a deployment and is composed of a number of subsystems as follows:
se-network:NetworkModule describes the network modules as a system in the form of node stations and nodes contributing in sending and receiving data within a sensor network in the context of a smart environment:
se-network:NodeStation represents a network module categorized into two types of data sending module (i.e.,
se-network:Node likewise represents a network module that either in the form of
se-network:DataReceiverNode as its name indicates, models a node (as part of a node station) which receives data coming from sensors (or more specifically from sender modules):
se-network:DataSenderNode also models a node which as a part of a node station sends sensor data (to a receiver):
se-network:ReceiverNodeStation defines a node station which holds a data receiver node as its part (sub-system):
se-network:SenderNodeStation likewise represents a node station which is assumed to contain both a data sender node and also sensing devices (sensors):
se-network:receivesDataFrom is an object property providing the relation between a
The pattern
Each smart object (or a feature of interest) has at least a property to be observed. Another categorization of smart objects that has been considered in the object pattern, is about their mobility. An objects is considered as mobile only if its location as one of its properties, can change. In order to also be able to reflect the spatial relations between objects (e.g., the “fridge is connected to the cupboard”), or between an object and a place (e.g., “the bed is located at the left side of the bedroom”), it is required to define objects in a smart environment also as a
In the following, we represent the DL notations of each object type along with their properties, where the prefixes
se-object:Object as the main class of the
se-object:SmartObject as an object also considered as a feature of interest due to its property/properties which is/are the interest of an observation process. For this to be represented, we have defined a smart object also as a subclass of
According to the SSN ontology:
The pattern
Linked modules in SmartEnv ontology
se-event:Event as a general event class is subsumed by the class
dul:Event
. According to DUL, each event is expected to be observable at/within a
dul:TimeInterval
. On the other hand, the pattern
In order to complete the above class definition, we have also defined the class
se-event:Manifestation as a specialized version of the class
se-event:ComplexEvent as a specialized version of the class
se-event:EventCondition as a
dul:Situation
represents preconditions of a complex event (in the form of a situation:
In this section, we show how by integrating the 8 separate ontology module, the SmartEnv ontology,14
The SmartEnv ontology is formed as the result of importing all the 8 modules. The connection between each pair of modules is accomplished by specializing the definition of concepts in each module and then linking them together. For instance, the class
All the specialized relations between modules illustrated in Fig. 1, are also listed in Table 1. For further clarification, in the following we exemplify the population process of SmartEnv for representation of a smart home as an example of a smart environment.
We have developed SmartEnv in E-care@home to be used as the representation model of the data that is gathered from a deployment test bed in Örebro University called Ängen, a sensorized apartment which provides functional facilities for the research development including Ambient Intelligence (AMI) solutions. One of the relevant applications of context reasoning in E-care@home is Activity recognition of Daily Living (ADL) as well as monitoring of other features of interest such as the physiological and health-related parameters of the users. For this, we have equipped Ängen with a number of both environmental15 Due to the ethical concerns, we have avoided using cameras in E-care@home.
It is worth mentioning that apart from the A-box, the population also includes a process of extension of the T-box in order to define more specialized subclasses of SmartEnv. We first define Ängen in the ontology as a smart environment which as a living place of an elderly person is composed of one living room, 2 bedrooms, one bathroom and one kitchen.
Given the structure of the environment, we continue the population process with the objects, their properties and locations. Due to the lack of space, we focus only on a single object (a couch) and show how we represent it’s location with a pressure sensor attached to it to monitor the couch occupancy:
Next, we define the network such as its deployment in Ängen, nodes and node stations:
The network is deployed in order to implement the observation process which is initialized by assigning the sensors to the feature of interests, or in other words, smart objects with their properties, which in our case is the pressure on the couch:
Activities or events as the realization of situations in the environment need to be defined in the ontology. For this, we first define the two possible situations related to the couch and its pressure property:
Then observation processes associated with an inference process is able to report the timestamps at which an event or whatever that can change the situation of the environment, occur. For this to be possible, we have to define activities (e.g., sitting on the couch) in the ontology based on the given situations. Assuming the sitting activity is realized when the pressure sensor attached to the couch is triggered, the ontology is populated as follows:
The mentioned above axioms define a temporal distance (i.e.,
Given the populated ontology as explained above we can start observing the environment where each sensor is assigned to a feature of interest to detect changes and consequently recognize the related events/activities. In order to map the stream of sensor data into our representation model, we need a reasoner. Depending on the features of the domain, the level of uncertainty and complexity, we may apply different reasoning method (monotonic or non-monotonic). Due to the inherent uncertainty of sensor systems, we decided to apply a non-monotonic reasoner which is based on stable model semantics [16]. The details how the ontological axioms are converted to the rules understandable by the non-monotonic reasoner (AnswerSet Solver) which is out of the scope of this paper, can be found in [3].
The mentioned above population process can be extended in order to cover all the objects, sensors and the equipments existing in the environment. During one of our test runs, the SmartEnv ontology was first populated with the static information about the Ängen set-up which totally resulted in 172 specialisations (i.e. subclasses) of the ODP classes, and 203 individuals. Given this instantiated ontology, the observation process is then able to feed the ontology with the instances of manifestations corresponding to the changes detected in sensor outputs. For instance, monitoring a person doing different sorts of activities (such as cooking, watching TV, etc.) in Ängen resulted about 200 additional individuals, describing the situations captured from the environment. These individuals, which are related to different classes including the manifestation and the subclasses of the complex event class, makes the ontology reasoning-ready for different purposes, such as configuration planning or context recognition in multi-inhabitant environments. The example scenario outlined in Section 3 is only one among a multitude of activities that are relevant to detect in the context of the E-care@home project.
In this paper, we proposed a network of ontology patterns targeting the representational aspects (such as sensing process, network configuration, objects’ taxonomy, event representation, topological representation, etc.) of smart environments. The final ontology is formed by integrating the proposed patterns representing a smart environment. In order to avoid the complex design issues as the result of dependencies between the representational aspects, we have applied the ODP approach as an incremental methodology in designing ontologies. The ODP approach allows us to start by first creating general and small patterns for each aspect and then link them together. In this way, regardless of its size, the ontology becomes flexible for further updates with the least possible change cost.
The majority of the ontology modules constituting the SmartEnv ontology are mainly relying on SSN and DUL ontologies, however with a number of specializations, either in the form of extension of class hierarchies or updating links between concepts.
However, reusing existing vocabularies from SSN or DUL was not a straightforward process. There are a number of generic concepts whose definitions make them a suitable basis for other context-related concepts. For instance, the class
dul:InformationObject
) which is used as the super class of the class
The network of ontology patterns may in the future be equipped with more patterns required to cover other aspects of a smart environment. One aspect that we are currently investigating concerns the habits of the users (inhabitants) whose definitions (in terms of preconditions) are not necessarily clear at the time when we populate the ontology. For this, as a next step, we may either generalize the event pattern or add a new ontology module to capture such concepts that allow us to relate some activities of the user to his/her habits based on their repetitions.
Footnotes
Acknowledgement
The work is supported by the project E-care@home funded by the Swedish Knowledge Foundation 2015–2019.
