An Ontology-Based Context Model To Manage Users Preferences and Conflicts
An Ontology-Based Context Model To Manage Users Preferences and Conflicts
Hassina Seridi-Bouchelaghem
Annaba University, Algéria
E-mail: [email protected]
Farid Mokhati
Oum-el-bouaghi university
E-mail: [email protected]
Keywords: context of use, user profile, web-based information system, nomadic environment, ontology, user
preferences, conflicts, ubiquitous computing, web service
In the last decade, ubiquitous computing (UC) has become an aspiration of the computing community.
Nowadays, it is so profound that it is increasingly indistinguishable from the overall agenda of computing
research. In UC, the main objective is to provide users the ability to access services and resources anytime,
anywhere, in particular using Mobile Devices (MD). Applications in this domain are sensitive to the context.
They have to be able to perceive this context and to adapt their behaviours by considering data that deals with
the context of use and user preferences. Actually, ensuring access by nomadic users to information Systems
through various devices and the adaptation of responses to nomadic users profile and context of use are two
bound problems. In this paper, we attempt to answer to these problems and we propose a novel approach
allowing essentially: (1) representing the context and preferences of nomadic users through ontology, to
support context representation and reasoning (2) resolving conflicts that may arise between user preferences
and, (3) adapting such applications to the context of use and user’s profile. The approach is supported by a
visual tool we developed. A case study is presented to give more illustration.
Povzetek: Opisana je uporaba konteksta s pomočjo ontologije za preference in profile mobilnih
uporabnikov.
1 Introduction
Currently, Web users access to a large mass of various use as well as information on its profile. Adapting all
data situations through distinct devices, to have answers application’s behaviors, in order to return to users
to their requests that are usually very numerous, from relevant responses (i.e. while considering content and
multiple sources of information (heterogeneous and time), is the subjacent idea of ubiquitous computing,
remote). Such answers are not all equally interesting and where applications are sensitive to the context (context-
relevant, and they do not answer all the user’s wishes, aware applications) [2].
which may decrease the user satisfaction. This Actually, ensuring access by nomadic users to
complexity is increased if the user is nomadic (user who information Systems through various devices and the
frequently changes localization) and appealed the SIW adaptation of responses to nomadic users profile and
(System Information on the Web), anywhere and anytime context of use are two bound problems. Dealing with
via mobile devices (PDAs, phones, laptops) because the these problems requires answers to the following
change of localization, for example, causes a change in questions:
working conditions and consequently a change in the How to perceive the user’s context?
general context of use. Consequently, developers are How to model the context of use and the nomadic
incited to integrate these mobiles devices into their user profile?
applications, giving rise to new information systems How to resolve conflicts that may arise between
called pervasive or ubiquitous [1]. In this case, these user’s preferences?
applications must considering the user’s situation called How to adapt the context-aware application
contextual situation. This latter includes the context of behavior to satisfy the needs of these mobile users?
72 Informatica 40 (2016) 71–94 S. Bourougaa et al.
In order to answer these questions, we propose, in support pervasive context-aware systems. COBRA-ONT,
this paper, a novel approach which essentially allows: (1) expressed in the Web Ontology Language OWL, is a
to model the context of use and the user’s preferences collection of ontologies to describe places, agents and
using a developed ontology “Contology”, basing on a events and their associated properties in an intelligent
new definition of the context which separates application meeting-room domain. [20] an intelligent web portal to
data from contextual data. The ontology is useful to serve as a service provider in the airlines travelling tasks
support context representation and reasoning, and the , [21] a metadata model encoding semantic tourism
Dynamic requirements can be defined as context destination information in an RDF-based P2P network
constraints and need to be supported by context architecture. The model combines ontological structures
reasoning features of the ontology, and they are most with information for tourism destinations and peers, [22]
expressive and most promising for context description in an approach based on ontologies provide the elements
an environment sensitive to the context. (2) To resolve and guidelines to define and create a user profile in any
conflicts that may occur when managing user’s multimedia domain. In order to describe the multimedia
preferences, we propose to model conflicts and their context and ontologies of PUMAS a framework based on
solution in the ontology as rules by using the semantic the agents [23], [14] and [1].
web rule language (SWRL). Finally, to ensure the In [24] and [6], we find a synthesis on the
dynamic functional adaptation of context-aware characteristics of the context modeling approaches and
applications, Web Service based architecture is proposed this let us deduce that in spite of the principal
to show the effectiveness of our proposal in the context disadvantage of the ontology approaches which is the
model. ontology’s complexity execution and the reasoning
The remainder of this paper is organized as follows: weight on their facts and their entities. They are most
In Section 2, we give a brief overview of major related expressive and most promising for context description in
works. Section 3 outlines the motivation for using an environment sensitive to the context. This is our
ontology, while section 4 presents the context model and motivation to choose ontology in context modeling in
the conflict management. We explain the ontology this work. Those works have considerably forwarded the
process building in Section 5. Section 6 details the domain by proposing novel strategies to context
context rules description and the ontology modeling. However, they omit some important aspects
implementation is given in section 7. Section 8 details which can be summarized as follows: firstly, none of
the adaptation process (ontology exploitation). We existing ontologies of context modeling separate between
present a case study in section 9. Finally, we discuss our the context data and the applications data. According to
actual research, draw some conclusions and give some [25] and [6], this separation is very necessary to a
future work directions. reliable modeling of context. Also, the user’s preferences
management was only considered by PUMAS [23], [14]
and [1]. Although, it represents a very important point to
2 Related works satisfy the user and to return him answer adapted to its
We distinguish four categories of context modeling context. Finally, the conflict’s resolution is considered
approaches. The first category consists in storing the only by PUMAS [23]. It defined some conflicts and
context by using key-value pairs (attribute, value) or by presents their corresponding solutions. But this approach
using a set of triplets. Famous examples of this category does not solve this problem, because it has not
are: Context Toolkit of [3] and approaches used by [4] considered all conflicts which can arise during the user’s
.The second category of the model-oriented approaches preferences checking.
includes: (1) Markup Scheme Models: represent the
context by using RDF. For example: CC/PP [5], [6] and 3 Motivations for using ontology
ConteXtML [7], (2) Graphical Models: use UML
The main goal of the proposed approach is to model the
(Unified Modeling Language) to model the context. For
context of the user by use of a semantic representation
example: ContextUML [8] and CML [9], (3) Object
and resolve conflicts that may arise during these
Oriented Models use principal advantages of the
preferences verification. This proposed context modeling
modeling object. For example: Active Object Model [10]
objective is to adapt the initial request of use to this
and the TEA project CUES [11]. The third category
context, to have a contextual query, used to give to user a
represents the context by a logic-based model. The
response adapted to his context. We opted, in the context
context is defined like facts, expressions and rules. An
of this work, for the use of ontologies for the advantages
early representative of this approach type is: ' Extended
they procure. They provide the means to describe
Situation Theory' [12], [13] and [14]. (4) The last
semantically information, share described data, easily to
category models the context by using ontologies. The
be used by other applications and to extend the initial
most referred modeling are: CoOL [15] , SOUPA [16] ,
description when new needs arise. Ontology languages
[17] a formal context model based on ontology using
can create expressive, scalable, reusable, sharable
OWL to address issues including semantic context
models, and on which we can reason using inference
representation, context reasoning and knowledge sharing,
engine. OWL [26] for example, is a W3C recommended
context classification, context dependency and quality of
language to describe ontologies. It provides a simple and
context , [18] and [19] COBRA-ONT an ontology to
effective means based on an XML description model to
An Ontology-Based Context Model to… Informatica 40 (2016) 71–94 73
share described data, reasoning about these data and figures, tables and even other ontologies are sources of
adding axioms to describe specific relationships between context from which the context can be elucidated using
information. Finally, ontologies are most expressive and in conjunction techniques such as: brainstorming,
most promising to context description in an environment interviews, formal and informal analysis of texts, and
sensitive to the context [24], [1]. knowledge acquisition tools. In our approach the
In existing context-aware systems, notations like knowledge is the context of the user. The used
XML, XMbased CC/PP [27], UML [28], Topic Maps techniques in the Context acquisition are: (1) Non-
[29] and OWL [30], [31] are used in context modeling. structured interviews with experts, to build a preliminary
We use the OWL to formalize context relationships draft of the requirements specification document. (2)
based on the underlying DL representation. The choice of Informal text analysis, to study the main concepts given
OWL is motivated by its reasoning support. It provides a in books and handbooks. This study enables to fill in the
logical language support to reasoning (OWL-DL) and set of intermediate representations of the
supports Semantic Web Rule Language (SWRL) to conceptualization. (3) Formal text analysis. The first
enable rule-based reasoning [1]. The logical language thing to do is to identify the structures to be detected
(DL) supports context composition and context (definition, affirmation, etc.) and the kind of knowledge
constraints enhancements. OWL facilitates the sharing of contributed by each one (concepts, attributes, values, and
conceptualizations. The core elements of the DL used as relationships). (4) Structured interviews with experts to
an underlying abstract language shall be introduced. The get specific and detailed knowledge about concepts, their
Attributive Language with Complements (ALC) is the properties and their relationships, to evaluate the
basis of many DL languages. The OWL-DL, the DL conceptual model once the conceptualization activity has
variant of OWL corresponds to SHOIN(D) [32], a DL been finished, and to evaluate implementation. (5) All
language based on ALC with transitive roles, role given definitions of context given by researchers and
hierarchies, nominals (enumerated classes of object value experts of context-awareness domain.
restrictions), inverse properties, cardinality restrictions
and concrete data types[1]. In order to encode context 4.1 The context definition
aspects in SHOIN(D), and eventually in OWL-DL, an
Researches in the context-awareness domain have not yet
introduction of the constructors for SHOIN(D) is
led to a generic and pragmatic definition of context.
necessary. Their semantics is based on the usual
Several definitions for the context were advanced [34],
interpretations of first-order logic. C denotes concepts,
[35], [36], [25], [6]and [1].The definitions issued so far
and R denotes property relationships. A DL specification
are very abstract or very specific to a particular domain,
can be constructed as a set of axioms. The basic
making the formalization of the context very difficult.
constructors of SHOIN(D) can be used with either the
The [3] definition is widely accepted as a “good”
subsumption or equivalence ≡ symbols to create DL
definition. According to [25], this definition does not
statements. Axioms can be terminological axioms
help in separating the contextual data from the
(TBox) or assertional axioms (ABox). Terminological
application data, and the core of the application should
axioms (statements about entities such as concepts and
be designed in a context in dependent way. This
roles, but not individuals) can be subsumption or
separation separating the contextual data from the
equivalence axioms. Assertional axioms (pertain only to
application data, and the core of the application should
individuals) can be concept assertions or role assertions
be designed in a context in dependent way. This
axioms. A Subsumption axiom gives necessary
separation according to [25] is very important, before
conditions for some a concept tobe included (Subclassed)
beginning the design of an application sensitive to the
in another, e.g. A B where A, B are concepts. An context. A data defined as contextual in a field can be a
equality axiom has the form A≡ B. A concept assertion is data application in another field. For example, GPS
of the form C(i ) where C is a concept from a TBox and i localization is part of application data in a traffic
is an individual. A role assertion is of the form R(a, b), regulation system, but is part of context data in a
where R is some role from a TBox and a and b are telemedicine application. Separation between the
individuals. contextual data and the application data is also important
in modeling context. [25] define the context as: ’ the set
4 The Context model representation of the external parameters that can influence the behavior
We will describe how we can define the context of the application by defining new views on its data and
concepts. For the development of our Context Ontology its available services”. Consequently, in the
“Contology”, we used "METHONTOLOGY" [33]. determination of the most descriptive concepts of
According to [33], it is important to bear in mind that information which constitutes the context, we chose the
knowledge acquisition is an independent activity in the separation of the contextual data of the application data
ontology development process. However, it is coincident according to the definition of [25] of the context, because
with other activities. Most of the acquisition is done it seems to us relevant and generic. According to this
simultaneously with the requirements specification definition, we can divide the concepts of context into two
phase, and decreases as the ontology development parts: the concepts which represent the context of use of
process moves forward. Experts, books, handbooks, a user and the concepts which represent the user profile.
The context of use in our approach presents the set of
74 Informatica 40 (2016) 71–94 S. Bourougaa et al.
data which allows indicating the situation of the user associated_RequestedServices "possibility meeting", to
when it connects to the ubiquitous application. For see the possibilities of fixing a meeting between teachers
example, it is represented by the following concepts: by specifying the day, the hour and the list of the
The user; the session; the used mobile device (MD) and concerned teachers, and the associated_
location of the user. The user profile is presented by a set Requesed_Services “the other possible dates " to know
of preferences of user. We detailed these concepts in the all the possible dates of meeting of one or several
following sections. teachers (days and hours free).We can represent the data:
Requested_Service_Preferences as follows:
4.2 The Context representation: S1 = Possibility meeting (list of teaching concerned,
preferences, conflicts day, hour). S2 = the other possible dates (free day, free
Among the concepts of the user's context, we find the hours, list teachers). C1= meetings of the current week.
preferences. In this part we will define the concept of Then, the Requested_Service_Preferences is presented as
preference of the user and we detail a classification of follows:
different types of preferences. We will detail the concept Requested_Service_ Preference (S: “the list of the
of conflict and we will present its causes and solutions. planned meetings ", {S1, S2}, {C1})
In the following, we present the display preferences.
4.2.1 Preferences
b. Display Preferences
By the concept of user preference, we refer to a set of Display Preferences describe how the user wants the
descriptions covering what the user likes to receive as information to be displayed on his MD (for example, the
services, also the display of results choice. We define user only wants information in text format). At every
two types of preferences: Requested Service Preferences service is associated a Display preference. It is
and Display Preferences and five conflicts. represented as follows:
N° Conflict Cause
Conflict
a. Contradiction between The user requests a service which does not suit with
TheRequested_Service_Pre these access rights.
1 ferences and access
rights of the user
2 b. Contradiction between The user requests a display which is not supported by his
the display preferences used MD.
and the characteristics
of used MD
3 c. Various wishes of Display This conflict can arise in two cases:
for the same service. a. The user did not specify display preferences.
b. Display preferences are not suitable to the
characteristics of MD. In these two cases the system will
returns to the Context Ontology “Contology” for resolve
it.
4 d. Absence of display The user cannot specify display preferences, in this
preferences after case the system will return to the historic of the
checking the historic of the user, and it cannot find display preference for favorite
user. service.
5 e. Contradiction between the The user can request the service in a format not
Display preferences offered by the system. For example, if the user wants a
requested and display list of restaurants in card format, while the system
capabilities expressed has this information in text format only.
Table 1: Conflicts and Causes.
Conflict Solution
The system returns to the user to inform him that he has not the right to access
1 these services and asks consequently, suggestions for this problem. If the user does not give
suggestions, the system stops.
Our approach execute one of the following cases:
2 a. Uses the ontology “Contology” for searching and reasoning about a solution for the conflict,
using the information of the precedents sessions, to extract the display preferences that agrees
with the characteristics of the used MD.
b. if no, Returns to the user and demands suggestions.c. if no in the 2 previous alternative, he
takes a default display preference which suits with the characteristics of the used MD.
We propose using an arithmetic operation that gives us the number of specification of every
3 encountered preference. The system will perform a comparison and it will retain the preference
which has the maximum number of specification by the user. In the case of equality
between preferences, we propose to use a default preference which suits with the
characteristics of MD used.
The system executes one of the following cases:
4 a. It returns to the user and asks for these suggestions, b. It uses a default preference.
In this case the system executes one of the following cases:
5 a. Uses the ontology “Contology” for searching and reasoning about a solution for the conflict,
using the information of the precedents sessions, to extract the display preferences that agrees
with the characteristics of the used MD.b. it returns to the user and asks these suggestions,
c. if no in the 2 previous alternative, he takes a default display preference which suits with the
characteristics of the used MD.
starting from raw knowledge and arriving at an Criterias of TOVE ENTER- METHO- OTK
operational ontology represented by OWL. The main comparison EPRISE NTOLOGY
steps of this process are based on the methodology of Specification ++ + ++ ++
ontology construction "METHONTOLOGY" [33] which Acquisition of + + ++ ++
is the basic support for the conceptualization of the knowledge
ontology to create, through a series of semi-formal Conceptualisati ++ - ++ +
intermediate representations. The logic descriptions, is -on
the used formalism to express the semi-formal ontology. Formalisation ++ - ++ ++
OWL language for defining ontologies is chosen to Evaluation + + ++ +
codify the ontology using the Protégé OWL ontology supports tools specifi specific ODE, OntoE-
editor. Finally, the inference RACER (Renamed Abox c tools tools WebODE,Pro dit
and Concept Expression Reasoner) system is used to test tégé-2000
the consistency of the ontology throughout the Table 3: Comparison of methods for developing
development process. This process consists of five steps: ontologies [39] [40].
(1) Specification of Requirements, (2) Conceptualization,
(3) Formalization., (4) Ontology implementation, (5) Test
& evolution of ontology. We start this part by the 5.2 Specification and Requirements.
motivation of the build method choice. Then, we detail The goal of the specification phase is to produce either an
the steps process. informal, semi-formal or formal ontology specification
document written in natural language, using a set of
5.1 Ontology method build choice intermediate representations or using competency
Born of the needs of knowledge representation, questions, respectively. See figure1
ontologies are currently at the center of the research in
knowledge engineering. The construction of ontology ONTOLOGY REQUIREMENT
requires both a study of human knowledge and the SPECIFICATION DOCUMENT
definition of representation languages and the realization Domain : context-aware application ( Ubiquitous
applications)
of systems to handle them. The knowledge engineering
Date : January, 15th 2014
has given birth to the ontological engineering, where the
Conceptualized-by : authors
ontology is the key item that needs to be addressed. Implemented-by: authors
Several studies propose methods of constructing Purpose: Context modeling ontology in context-aware
ontologies. In this case, we have study some methods for applications to be used by our architecture of
creating ontologies such as: ENTERPRISE [37], TOVE adaptation based on Web service.
[38] and METHONTOLOGY [33] and we present a Level of Formality: Semi- formal.
comparative study in order to choose a method.Table3 Scope: List of 33elements of substances:
summarizes the comparable study on the various List of concepts : ContextModel, ApplicationContext,
methodologies and methods. Each cell in of the table may ServicesApplication, ConflictContext………..etc
be filled with three types of values. Value "++" means At least information about the following
that the method or methodology describes how to execute properties:IsConceredBy, HasSugg, AttachedTo,
each task in the proposed activity (specification, CausedBy, OccuredIn,
conceptualization….)? When to do? Who should do it? ... Sourcesofknowledge: Definitions of the context in the
Etc. The value "+" means that the just methodology domain of context-aware applications.
identifies the process. The value "-" means that public Figure 1: Ontology Requirements Specification.
documentation does not mention the activity.
relations) which will be represented in final ontology, we figure3) which allows representing graphically the
have 128 terms, for example: UserContext and various relations existing between the various concepts of
ContextModel are concepts, PreferredBy and the same or different hierarchy.
CoveredByrepresent relations,…etc.The table4 provides
an example of some used terms in the ontology: d) Concepts Dictionary:
The concept dictionary contains the domain concepts. For
Name of Synonyms Description each concept we define its known Concept name,
the term Instances, Attributes instance, Relationships (see table5
ContextMode The model Model all the for some concepts).
l
of context concepts of the
context related to the Concept Instance Attributes Relationships
ubiquitous name s Instance
environment. ContextModel - IDContMod -
Applicatio - Represent the Description
nContext ubiquitous ConflictConte Conflict1, IDConf HasSugg
xt
application conflct2 DescripConfl AttachedTo
ServicesA - Represent the Conflict3, CausedBy
pplication services offered by conflict4 OccuredIn
the application in Conflict5
CauseConflict C1,C2,C3 IDCause HasSolution
question.
,C4,C5 DescripCause
……….. ……… ………………. SolutionConfli S1,S IDSolution ConcernCause
…… ct 2,S3,S4,S DescripSoluti
5 on
Table 4: Glossary of Terms. ……… …… ……… …………
………… ……. …… …
b) Concepts Diagram
In this step, we build the diagram classification of Table 5: Concepts Dictionary.
concepts. The classification hierarchy of concepts
demonstrates the organization of ontology concepts in a e) Table of Binary Relations:
hierarchy that expresses the relationships in the sub-class This table defines for each relation used in the diagram of
(see figure2). A universal concept "Thing" that binary relations: Name relationship, Source concept,
generalizes all the roots concepts of the different concept source cardinality (max), Target concept and inverse
hierarchies is used to form one global hierarchy. To relationship (see table 6 for some relations).
build the taxonomy of concepts, METHONTOLOGY
proposes to use the four relationship,s: Subclass-Of, Name Source Source Target inverse
Disjoint-Decomposition, Exhaustive-Decomposition, relations concept cardina concept relatio
andPartition. A concept C1 is a subclass of concept C2 if hip -lity, n-ship
and only if every instance of C1 is an instance C2. for (max)
example, CauseConflict is a subclass of ConflictContext.
A Disjoint-Decomposition of a C is a set of subclasses of IsConcere ServicesA N Requested Concer
dBy pplication Service n
C which not cover C and do not have common instances. Preference
For example, the concepts: DevicesPreferences and s
NetworkPreferences constitute a Disjoint-Decomposition HasSugg ConflictC N Conflict Concer
of the concept PreferencesContext. Exhaustive- ontext Suggestion n-Conf
Decomposition of a concept C is a set of subclasses of C Attached ConflictC N Display Occur
which cover C and may have common instances.A To ontext Preference
Partition of a concept « C » is a set of subclasses of C s
which cover C and may have common instances have no …… …… … …… …
common instance. For example, the concept ………… ………. … …… ……..
CauseConflict and SolutionConflict constitute a Partition …
of the concept ConflictContext. Figure.2 presents the
concepts classification diagram. Table 6: Table of Binary Relations.
Thing ContextModel
MD
ServicesApplication
Characteristic Profile ActivityUser
ConflictContext DevicePreferences
LogicalSensor
RequestedServices
Preferences
CauseConflict NetworkPreferences PhysicalSensor
LocationCoordinates
SolutionConflict ServicesPreferences DisplayPreferences
Partition SessionContext
ConflictSuggestion RoleUser
RoleUser
AccessRights
ActivityUser Profile
Location HasProfile
Execute Concern
Coordinates HasRole
HasAccess User
Executed Caracterize
HasCoordinates By Includes
CoveredBy
UserPreference
LocationContext LocatedIn UserContext
(2) s
Has Preferences
DevicePreference
(1) PreferredBy
s
Use
HasDevPref
UsedBy
IsSuggestedBy
MobileDeviceContext
Suggest
ConflictSuggestion Requests Connect
RequestedBy
RelatedToSen
RequestedServicesPreferences
Sensor
ConcernConf
Network
HasSugg Associated
Causes CausedBy
Distinguish
AttachedToDisp
ConflictContext AttachedToNet
Has DisplayPreferences
Conflict Network
Occur Preferences
CauseConflict
AttachedTo
Concern Concern IsConceredBy
Cause PreferredByUser
HasSolution
OccuredIn ServicesApplication
(2)
SolutionConflict
SessionContext (1)
ConnectedThrough
f) Attributes Table:
80 Informatica 40 (2016) 71–94 S. Bourougaa et al.
The attribute table (see table 7 for some attributes) definition and logical expression (see table9, for some
specifies for each attribute included in the dictionary of logical axioms).
concepts, the set of constraints and restrictions on these
values. Concept Descript Expression logique
Attribu Concept Value Value Cardina ion
te name name Type range lity UserCont A user (X), UserContext(X)
IDCont Context String - (1,1 ext has rights Ǝ(Y), AccessRights (Y)
Mod Model ) access, HasAccess (X, Y) Ǝ(Z),
Descript Context String - (1,1 execute ActivityUser (Z) Execute
ion Model ) activities, (X, Z) Ǝ(W),
IDApp Applicati String (1,1 request RequestedServicePreferences
onConte ) services, (W)
xt has a Requests (X,
Descript Applicati String - (1,1 role, hasa W)Ǝ(R),RoleUser (R)
App onConte ) profile, HasRole(X,R)Ǝ(P),Profile
xt exist in a (P)
……… ……… ……… ……… …….. location, HasProfile(X,P)Ǝ(L),Loc
……. ……… prefer ationContext (L)
display LocatedIn(X, L)Ǝ (D),
Table 7: Table of Attributes. preferenc DisplayPreferences (D)
g) Instances Table. es ...... PreferredByUser (X,
This table describes the known instances that are already D)…….
identified in the dictionary of concepts. For each instance, …… …… ………………………
…….. ……….
specify the instance name, the concept where she
belongs, these attributes and values that are associated Table 9: Logical axioms.
with it. Table 8 illustrates some instances created.
Instance Concept Attributes Values
5.4 Formalization
Name name In this step, we use the formalism of description logic to
ContextCo Conflict IDConf Contradictio formalize the conceptual model that we obtained in the
nflict_1 Context DescripConf n between previous stage of conceptualization. We Define the
l the ContextModel as follows: ContextModel =(T ,A)
Requested_S with T= (Tbox) et A=(Abox)
ervice_Prefer
ences and a) The TBox Construction:
access rights We build the TBox concepts by defining concepts, roles
of the user and using constructors provided by description logics.
CauseCon CauseCo IDCause The user For example, the definition « a 'ActivityUser' must be at
flict_1 nflict DescripCaus requests a least performed by a 'user' , can be written in description
e Service
logic : ActivityUser≡ ∃ExecutedBy
which does
not suit with In addition, we build the TBox by specifying
these access subsumption relations between the various concepts /
rights. roles; for example, specify that the class 'User Context ' is
SolutionC Solution IDSolution Suggestion subsumed by the class' ContextModel we written:
onflict_1 Conflict DescripSolu UserContext⊑ContextModel
tion The definition of some concepts is illustrated in the
SolutionC Solution IDSolution Stop table10 below.
onflict_2 Conflict DescripSolu
tion Conce Definition Subsumption
SolutionC Solution IDSolution ContoLogy pt relations
onflict_3 Conflict DescripSolu Cont ≡ (UserContext ContextModel
tion ⊔MobileDeviseContext ⊑ ⊤
…… …… ……… ……… extM
odel ⊔ LocationContext ⊔
…… ……… ……….. ……………
…. ApplicationContext ⊔
ConflictContext ⊔
Table 8: Instances Table.
ConflictSuggestion ⊔
h) Logical Axioms Table PreferencesContext ⊔
The table of axioms defines the concepts using logical Profile ⊔ Intrefaces ⊔
expressions. Each axiom includes the name of the Network ⊔ Sensor ⊔
concept on which gate the axiom, a natural language Rules ⊔ ActivityUser ⊔
AcessRights ⊔
An Ontology-Based Context Model to… Informatica 40 (2016) 71–94 81
6.2 SWRL to Resolve Conflicts 6.3 SWRL Rules Creation with Protégé:
We define five SWRL for resolving the five Conflicts, We have used PROTÉGÉ 2000 to implement the
see table N°9 for the description (values) of all precedent rules. Figure 4 show the creation of the SWRL
parameters of the following rules. rules under protégé
of each concept instances; a concept C is satisfiable if and According to the tests we have applied to the
only if there is at least an interpretation I (instance) for ontology "ContoLgy", no error is produced during the
the concept C. Racer is in the form of a server which can test.
be accessed by TCP or HTTP. So we must first configure
the connection to the server hosting the system Racer.
We have carried all tests, and they are checked. Figure8
shows an example of inference test, figure 9 shows an
example of consistency test and figure 10 shows an
example of classification test.
(1) Static part: This part is described by the ontology As illustrated by the figure 11, the adaptation process to
“Contology”. It focuses, on one hand, on modeling the the context of use and the user’s profile is accomplished
contextual information of users and their preferences and, in 16 steps explained bellow:
on the other hand, on managing the potential conflicts
(1) Request: the user sends his request to the platform
which may arise between the users’ preferences during
via his Mobile Device (MD). The Module Context
their checking process.
integration (CI) receives this request.
(2) Contextual information: the module Context sensor
(2) Dynamic part: the role of this part is to ensure the
sends contextual information of the user to the
functional dynamic adaptation of context-sensitive
module Context integration, such us: the used MD,
applications to various user’s contextual situations. The
the localization.
adaptation process adopted by this part is based on “
(3) Contextual request: in this step, the Module Context
ContoLogy” in order to offer a better respond to user.
Integration increases the user request by the
Also, this process is assured by the user's initial request
contextual information; the result of this step is a
adaptation to the context of use and user’s preference
contextual request. The module (CI) sends this
using the ontology “ContoLogy”. The methodology in
contextual request to the Preferences Management
our approach consists in three main steps: (1) the context
Web Service (PMWS).
of use modeling and the user’s preferences managing,
(4) Preferences check: In this step, the PMWS checks
basing on a new context definition which separates the
the contextual request using “ContoLogy”. It
application data from the contextual data by by using
checks the conformity between the user preferences
“ContoLogy”,, (2) the resolution of potential conflicts
and his access rights and the type of the used MD.
which may be occurred during managing of user’s
(5) Prefrences OK/ Conflict: by consulting the ontology,
preferences and (3) the dynamic functional adaptive
the PMWS can detect that preferences are checked or
adaptation of web service-based context-aware
can detect a conflict
applications. The accomplishment of the two last steps (2
(6) Soap Message: Conflit; Soap Message: Conflit:
and 3) is based on “ContoLogy”.
when a conflict arises, the PMWS sends a soap
In ubiquitous computing, applications are sensitive to message containing the conflict to the Conflict
the context (context-aware applications), user’s access to Management Web Service (CMWP).
various information’s using different mobiles devices and (7) Search Conflict Solution: using the Context
in different localization, which implies, an overly Ontology, the CMWS Searches a solution for the
dynamic, heterogeneous environment. To respond better detected conflict.
to this challenge, we propose to use web service, for (8) Solution conflict/ no solution: this step indicates
those benefits, such as: whether or not there is a solution for the Conflict.
1. The ultimate goal of the Web service approach is to (9) Ask suggestion: if no solution to the conflict, the
transform the Web into a distributed computing CMWS asks a suggestion of solution for the conflict
system where programs (services) can interact from the user.
intelligently by being able to automatically discover (10) Soap message: conflict solution: in this step,
and negotiate with each other and consist into more if the user sends a suggestion of solution for the
complex services [45]. conflict to the CMWS, it takes this solution and
2. The establishment of web services facilitates the sends it to the PWSM.
dialogue between heterogeneous environments. As (11) Update conflict information: the CMWS
web services can be implemented on different updates the conflict information by adding the
platforms and with different languages, they conflict information of the current session.
facilitate interoperability between heterogeneous (12) Soap message: request updated: The PMWS
systems and platforms, which is our case. [46] sends the request of the user, after the verification, to
3. Web Services [47] work with standard Web the adapter web service (AWS).
protocols (HTTP and TCP / IP) and XML. Many (13) Search answer: the AWS search an answer for
companies already have a Web infrastructure the the request of the user.
staff have the knowledge and experience of (14) Soap message: answer: Once the answer is
maintenance. This is why the cost of access to Web found, the AWS sends it to the PMWS.
services is much lower than that of previous (15) Answer adapted to the context: this later
technologies.[6] sends this answer adapted to the context to the user
(16) Update contextual information: finally, the
The figure 11 shows the general architecture of the PMWS updates the contextual information by adding
proposed approach. the contextual information of the current session to
the Context Ontology.
86 Informatica 40 (2016) 71–94 S. Bourougaa et al.
Context ontology
ek
l
ct
ch
a
fli
tu
n n
-
es
n ct
ex
ct
co tio
Co o n fli fli
t
a
en
e
t t i n n ct
da orm
d a ma co Co fli
er
u-
/ n
up for ol / ol ch
K
e
ef
f
o
t
n
u in
O
S r c
r
: tio ef
8: s ea
p
11 in no : s lu pr
p
4:
7 S o 5:
6:
Context sensor
1
Conflict-MAN 6: Soap Mesage: Conflict
Pref-MAN-WS
2:
WS
Co
d
nt
pte
fo
ad a
ex
xtual u es
m
tu
nte q
: re
at
er
a
part : 3 : Co
l
PM sw
io
x t An
Adaptation OA
nte
n
M:
ion
2 : S P
Core co 1
SO
A
he
est
ot 14:
Context dt
pte
ugg
integration a Adapter
r Ad
WS
sk s
we
ns
:A
15
9: A
Answer
st
search
ue
13:
eq
:R 1
Application Web
Service
Application Data
user
checking the preferences, the platform using the CMWS Conflicts Manager WService
4 Ontology
ContoLogy
and the ontology search a solution for the conflict, or (CMWS)
7
Figure23:Display_check result
According to all steps of this section, we can see the efficiently and earn maximum profits with
use of the ontology of the context “ContoLogy” for ubiquitous systems?
managing preferences and resolving Conflicts, in order to
adapt the initial request of the user to his context of use Acknowledgement
and his profile, which includes his preferences.
This work summarizes doctoral thesis research, supported
by the University of Annaba and the University of
10 Conclusion Tebessa- Algeria.
The ubiquitous computing focuses on the use of two
essential notions: user profile and context of use in order References
to satisfy better demands of nomadic users. Furthermore,
a reliable modeling of such two notions and an adaptation [1] Kosala.Y, MingXue.W, & Claus. P.2013. An
of the application behavior to them are two required extended ontology-based context model and
processes. In this paper, firstly, we presented a novel manipulation calculus for dynamic Web service
approach allowing, on one hand, modeling the context of processes. Journal of Service Oriented Computing
use and the user profiles using an ontology, to support and Applications, ISSN 1863-2386. Springer-Verlag
context representation and reasoning, and, on the other London.
hand, resolving the conflicts using some proposed [2] Rebei.I. 2012. Informatique ubiquitaire et pervasive .
solutions. An architecture illustrating the dynamic F2B506, Telecom Bretagne, 22 février.
adaptation of web service-based ubiquitous applications [3] Dey A. K., Abowd. G. D., & Salber.D. 2001. A
is also proposed. Secondly; we detailed a prototype Conceptual Framework and a Toolkit for Supporting
implementation and system performance. Through this the Rapid Prototyping of Context- Aware
part in this paper, we tried to explain how we implement Applications. Human-computer Interaction, 16 : 97–
the web services, the ontology and shown up the 166,.
adaptation process to resolve the conflicts by a detailed [4] Schmidt. A., Aidoo. K. A., Takaluoma. A., U.
example. Tuomela, K. V. Laerhoven, & W. V.de Velde. 1999.
As future directions to this work, we plan to: Advanced Interaction in Context. In HUC ’99 :
1. Complete the implementation of the context Proceedings of the 1st international symposium on
acquisition module composed of two sub- Handheld and Ubiquitous Computing, pages 89–101,
modules: context sensor and context integration. London, UK, Springer- Verlag
[5] Held.A, Buchholz.S, & Schill .A. 2002. A Modeling
2. Use a probabilistic approach to represent the of Context Information for Pervasive Computing
users' preferences. Because, it is a very complex Applications. In: Proceedings of the 6th World
challenge to represent the users' preferences with Multiconference on Systemics, Cybernetics and
its contexts and the ambiguity posed by these Informatics (SCI), Orlando, FL, USA, Jul 14-18
ubiquitous applications. One of the [6] Soukkarieh. 2010. SOUKKARIEH Bouchra
considerations which generate abstraction data “Technique de l’internet et ses langages : vers un
sources of information are cited for example: système d’information Web restituant des services
temporality, uncertainty, heterogeneity, online Web sensibles au contexte. thèse Doctorat,
processing, and conflicting information. In the Université de Toulouse III, France, 30 avril.
literature, several probabilistic (SVM, CPnet, [7] Ryan. N. 2006. ConteXtML: Exchanging contextual
HMM, HHMM, etc) are studied and we decide information between a mobile client and the
on the Hierarchical Hidden Markov Model fieldnoteserver.
(HHMM). HHMM is legible, easy for the Httpwww.cs.kent.ac.uk/projects/mobicomp/fnc/Cont
preferences representation and does not require eXtML.html.
expertise in prior. [8] Sheng .Q. Z & Benatallah. B .2005.ContextUML: A
3. The cloud computing provides the next UML Based Modeling Language for Model- Driven
generation of Internet based, highly scalable Development of Context-Aware Web Services. In
ubiquitous computing systems in which The 4th International Conference on Mobile
computing resources are provided as a service. Business(ICMB’05), IEEE Computer Society.
A new computing model that allows convenient Sydney, Australia. July 11-13.
access and on-demand network to a shared pool [9] Henricksen.K and Indulska. J. 2004.Modelling and
of configurable computing resources (eg, Using Imperfect Context Information. In PerCom
networks, servers, storage, applications and Workshops, pp 33–37.
services) that can be rapidly provisioned. [10] Chevert, K., Mitchell, K., & Davies, N. 1999.Design
However, ubiquitous computing refers to a of an object model for a context sensitive tourist
scenario in which computing is ubiquitous, GUIDE. Computers and Graphics 23, 6 883–891.
particularly where devices that do not look like [11] Schmidt, A., Beigl, M., & Gellersen, H.-W. 1999.
computers have computational capabilities. The There is more to context than location. Computers
idea is how to use cloud computing resources and Graphics 23, 6, 893–901.
An Ontology-Based Context Model to… Informatica 40 (2016) 71–94 93
[12] Akman, V., & Surav, M. 1997. The use of situation préparée au Laboratoire l’Informatique de Grenoble
theory in context modeling. Computational présentée et soutenue publiquement le 5 mars.
Intelligence 13, 3 427–438. [24] Belhanafi N. 2006. Ajout de mécanismes de
[13] Chahuara P. 2013. Contrôle intelligent de la réactivité au contexte dans les intergiciels pour
domotique à partir d’informations temporelles multi- composants dans le cadre d’utilisateurs nomades.
sources imprécises. Thèse doctorale. s.l., France : Thèse présentée pour l’obtention du grade de Docteur
Université de Grenoble, 27 mars. de l’Institut National des Télécommunications
[14] Miao. LV, Chun.JIN, Yoshiyuki.H, & Jim. C. 2013. Soutenue le 27 Novembre.
Ontology-based User Preferences Bayesian Model [25] Chaari.Tand Laforest. F. 2006. Adaptation in
for Personalized Recommendation. Dalian University Context-Aware Pervasive Information Systems : the
of Technology. China, Fukushima University. Japan, secas project, journal of pervasive computing and
Florida Atlantic University .USA, Journal of communications, vol.2, no. 2, june 2006. received:
Computational Information Systems 9: 16 6579– august 2 2005; revised: january 27.
6586. [26] W3C. 2004. Recommendation W3COWL, 2004.
[15] Strang.T, Linnhoff-Popien.C, & Frank. K. 2003. http://www.w3.org/TR/owl-ref/
CoOL: A Context Ontology Language to enable [27] Doulkeridis.C, Loutas.N, &Vazirgiannis.M .2006. A
Contextual Interoperability. In J.-B. Stefani, I. system architecture for context aware service
Dameure, and D. Hagimon, editors, LNCS 2893 : discovery. J Electron Notes Theoretic ComputSci, pp
Proceedings of 4th IFIP WG 6.1 International 101–116.
Conference on Distributed Applications and [28] Kapitsaki G, Kateros D, Prezerakos G, & Venierris I.
Interoperable Systems (DAIS2003), volume 2893of 2009. Model driven development of composite
Lecture Notes in Computer Science (LNCS), pp 236– context-aware web applications. J
247, Paris/France, November. Springer Verlag InformSoftwTechnol 51:1244–1260
[16] Chen, H., Perich, F., Finin, T., & Joshi, A. 2004. [29] Goslar K, & Schill A. 2004. modelling contextual
SOUPA: Standard Ontology for Ubiquitous and information using active data structures. In:
Pervasive Applications. International Conference on Proceedings of the EDBT workshops.Lecture notes
Mobile and Ubiquitous Systems: Networking and in computer science, vol 3268. Springer
Services, Boston, 22-25 August [30] Farrar S, & Langendoen DT.2010. An owl-dl
[17] Gu, T. et al. (2004) “An ontology-based context implementation of gold- an ontology for the semantic
model in intelligent environments”. Proceedings of web. Journal of Linguistic modeling of Information
Communication Networks and Distributed Systems and Markup Languages 40:45–66
Modelling and Simulation Conference, San Diego [31] Wang X, Zhang DQ, Gu T, & Pung H. 2004.
(CA), USA. Ontology based context modelling and reasoning
[18] Chen, H., Finin, T. and Joshi, A. 2003.Using OWL using owl. In: Proceedings of the 2ndannual
in a Pervasive Computing Broker. In Proceedings of conference on pervasive computing and
Workshop on Ontologies in Open Agent Systems communications workshops. IEEE
(AAMAS) . [32] Horrocks I, Patel-Schneider F. 2003. Reducing owl
[19] Chen, H., Finin, T. and Joshi, A. (2004) “An entailment to description logic satisfiability. The
ontology for context aware pervasive computing Semantic Web—ISWC 2003.Lect Notes ComputSci
environments”, Knowledge Engineering Review, 2870:17–29
Vol. 18, No. 3, pp.197–207. [33] Fernandez-Lopez. M & al. 1997. Methontology:
[20] Kanellopoulos D. (2008) "An ontology-based system from ontological art towards ontological engineering.
for intelligent matching of travellers' needs for In Proceedings of the AAAI97 Spring Symposium.
airlines seats", International Journal of Computer Series on ontological engineering. Stanford, CA, (pp,
Applications in Technology, Vol. 32, No.3, pp. 194- 33-40)
205. [34] Zacarias, M., Caetano, A., Pinto, S., & Tribolet, J.
[21] Kanellopoulos D., Panagopoulos A. (2008) 2005.Modeling Contexts for Business Process
"Exploiting tourism destinations' knowledge in an Oriented Knowledge Support. In :Althoff, K.D.,
RDF-based P2P network". Journal of Network and Dengel, A., Bergmann, R., Nick, M., Roth-
Computer Applications (Elsevier Science), Vol. 31, Berghofer, T. (eds.) : Proceedings of the 3rd
No. 2, pp.179-200. Conference on Professional Knowledge Management
[22] Kanellopoulos D. (2009) "Adaptive multimedia - Experiences and Visions (WM 2005)
systems based on intelligent context management", (Kaiserslautern, Germany, April 10-13,2005), DFKI,
International Journal of Adaptive and Innovative pp. 389-396
Systems, Vol. 1, No.1, pp.30-43. [35] Belotti, R., Decurtins, C., Grossniklaus, M., Norrie,
[23] Carrillo R.A. 2007.Agents ubiquitaires pour un accès M.C., & Palinginis, A. 2004. Interplay of Content
adapté aux systèmes d’information : Le Framework and Context. In : Koch, N., Fraternali, P., Wirsing,
PUMAS. Thèse pour obtenir le grade de docteur de M. (eds.) : Proceedings of the 4th International
l’université joseph fourier Spécialité : Informatique, Conference on Web Engineering (ICWE
2004)(Munich, Germany, July 26-30, 2004), Lecture
94 Informatica 40 (2016) 71–94 S. Bourougaa et al.