<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Representing Context in an Agent Architecture for Context-Based Decision Making</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Centre G2I/SMA, ENS des Mines de Saint-Etienne</institution>
          ,
          <addr-line>158 Cours Fauriel, Saint-Etienne Cedex 2, F-42023</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Ambient intelligence involves the convergence of several computing areas: ubiquitous computing, intelligent systems and context-awareness. Developing context-aware applications needs facilities for recognizing and representing context, reasoning on it and adapting to it accordingly. In what concerns context representation, the newest and most challenging representation is the ontological one. The problem is that current ontologies for context do not provide a standard for representing complex context attributes. In this paper, we propose a context definition and representation used to construct context-based agent architecture. The representation we propose combines the generality provided by ontologies with the complexity inspired by the object oriented models. The goal of the proposed architecture is to support the deployment of context-aware agents able to learn how to recognize the context of their decisions and to adapt to it. The use of this architecture is illustrated on a test MAS for agenda management, using the JADE-LEAP platform on PCs and PDAs.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The rise of ambient intelligence has stressed the importance of context since
building applications in this area requires the convergence of several computing areas
such as: ubiquitous computing, intelligent systems and context-awareness. As defined
in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], context consists in “any information that can be used to characterize the
situation of an entity” where an entity is “is a person, place, or object that is
considered relevant to the interaction between a user and an application, including the
user and applications themselves”. Besides this intuitive definition, developing
context-aware applications needs facilities for recognizing and representing context,
reasoning on it and adapting to it accordingly. On the way to fulfill this purpose, the
project including the work described in this paper, aims at building Multi-Agent
Systems (MAS) composed of several “societies” of heterogeneous and situated agents
sharing or not the same context that changes over time where agents are able to sense,
model and reason using contextual information, but also to share their knowledge
about this information in order to learn how to discern relevant from non-relevant
context and how to make appropriate decisions based on it.
      </p>
      <p>
        The focus of this paper deals with the crucial points of representation of contextual
information on one hand and on the agent’s architecture on the other hand. In what
concerns context representation, the newest and most challenging representation is the
ontological one (as in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] or [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]). The problem is that current ontologies for context
are quite simplistic and do not provide a standard for representing and reasoning on
complex context elements (usually, they are represented as simple properties
connected to a concept in the ontology). We propose an ontology-based
representation for contextual information that combines the generality provided by
ontologies with the complexity inspired by object-oriented models. Given the
representation, there is few related work that focus on how to recognize the context of
an agent’s decision (in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], when trying to learn “the models and the circumstances in
which they work best”; in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], when distinguishing between primary, contextual and
irrelevant features in a classification or in [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], when doing the same thing about
contextual clues). Usually, relevant context is assumed known in advance, and agents
just learn how to adapt their decision to it. This is why, we propose an agent’s
architecture where we make an explicit separation between selection of relevant
context from the decision making process of the agent.
      </p>
      <p>Representation and architecture are validated on a case study of an open and
interoperable context-aware Multi-Agent System (MAS) for agenda management,
deployed on PCs and PDAs. The system is composed of several meeting-scheduling
agents called mySAM (my Smart Agenda Manager), which can be executed both on
PCs and PDAs. A mySAM agent assists its user in fixing meetings by negotiating
them with other mySAM agents and by using context knowledge to decide whether to
accept or to reject a meeting proposal made by another agent. Knowledge about how
to choose the relevant context and how to use it to deal with a meeting proposal is
acquired through individual agent learning and multi-agent knowledge sharing
methods. We will not present the learning and knowledge sharing methods, as the
goal of this article is to focus on the representation and management of context in
MAS, with an architecture focused on context.</p>
      <p>Before describing the proposed architecture (section 3), we will present the
ontology-based representation for context (section 2). We then illustrate our work in
the agenda management application (section 4). Before concluding, we will situate
our approach in related work.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Context for MAS – definition and representation</title>
      <p>Our approach is illustrated in Fig. 1. We propose a layered system’s architecture in
which the context management is not done by the agents themselves. Instead, they
interact with a context-manager layer that is able to answer context-related queries.
We thus separate all that is related to context acquisition and management (which will
be done by the centralized context manager) from reasoning with context knowledge
(done by the agents). The system architecture is structured along three layers (cf. Fig.
1): context sources (layer 0), context management (layer 1), a layer of agents that
reason with context (layer 2). Over the last layer are dedicated applications, which use
agents’ abilities to reason with context, or in which context can be used directly by
the application itself.</p>
      <p>The second layer is composed of several Context Managers (CM), one for each
agent society. The CM is able to deal with the context information available in the
area in which the corresponding group of agents is situated (for instance, we can
imagine having one CM for each flour in a building). Agents, which are operating at
the third layer, use the CM to retrieve context knowledge that will help them to decide
and to solve problems. In order to assure a common understanding, the CM uses an
ontology-based representation for contextual information. To improve their
capabilities by using others’ experiences, agents can share with other agents the way
they use the context knowledge in solving similar problems. In this way, an agent can
be sure that, no matter the society where it is located, it can use a specific way to ask
the CM and other agents about context.</p>
      <p>An agent that moves around will be in contact with at least one CM at a time and
will use the context that is available at that moment in the specific area. Our aim is to
alleviate the task of the system’s designer by not forcing him to create a huge
ontology to define all imaginable context attributes. Each society can have a ‘local’
context defined and ready to be managed by the local CM.</p>
      <p>Having drawn the global picture of our system, let’s go now into its details: first by
describing what the notion of “context” means when dealing with it in MAS, then by
explaining how context is represented and used to design and implement our proposed
context-based MAS.</p>
      <sec id="sec-2-1">
        <title>2.1. Definition</title>
        <p>Agents are situated entities, meaning that they sense their environment and act
accordingly. Given the definition in the introduction, we can call the
environmentrelated information as being the environmental context of an agent. Except their
environment, agents are surrounded by and interact with other agents. Hence there is
an interaction and an organizational context that should also be taken into account.
Moreover, some agents are directly connected to user’s needs and therefore should
consider user related context when making decisions (for instance, the “role” of the
user in a group).</p>
        <p>From Dey’s definition given in introduction, context may be further described as a
set of attributes and a finality. The finality, f, is the goal for which the context is used
at a given moment, the focus of the activity at hand. We can see the finality as being
the information that is the most interesting for the agent at a given moment, for
example: deciding what to do with a proposal, explaining an action, understanding a
conversation, etc., are all finalities that determine the way the agent will act.</p>
        <p>
          We saw that context is defined by the finality and the set of attributes that are
relevant for that finality. In what follows we will define the structure that a context
attribute has to fulfill. Usually, in the literature, a context element is either seen as a
simple “label” that will have a value associated (like in [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]or [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]), or as a
more complex structure, that also includes the specification of what is to be done
when a certain value is reached (like in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]). What we propose in this section is to
construct a specific structure within which we will be able to define a context
attribute. This structure’s goal is to specify the pattern (the structure) of a context
attribute, and not to mention which behavior should be adopted for a specific value of
the context attribute. We extended the classical ‘attribute-value’ approach to cope
with the necessity of describing any context element.
        </p>
        <p>
          A context attribute (a) designates the information defining one element of context,
e.g. “ActivityLocation”, “NamePerson”, and «ActivityDuration”. Each context
attribute has at least one value at a given moment, the value depending on several
entities to which the attribute relates. An entity is an instance of a “person, object or
place” (as mentioned in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]), but can also be an activity, an organizational concept
(role, group), etc. For instance, the context attribute “DevicesAvailableInRoom”
defines the devices that are located in a room. When trying to instantiate this attribute,
the needed parameter will be the specific room whose devices we are interested in. A
“PersonIsMemberOf” context attribute will take a person as input, but will return
(possibly) several groups in which that person takes part. Let’s note Va the definition
domain of a, the set of possible values that a may take (example: Vtime =[0,24[ ).
        </p>
        <p>We can therefore associate to each context attribute an instantiation function called
valueOf. We define valueOf for a context attribute as a function from A x Pa to P(Va),
where A is the set of all attributes, P(Va) is the power set of Va, and Pa is the set of
parameters needed to compute the value of a. It is obvious that some context
attributes (as “PersonIsMemberOf”, “Supervises”, “DevicesAvailableInRoom”, etc.)
can have as a value actually a set of values. This is why we allow the function
valueOf to take values in P(Va), and not simply Va.</p>
        <p>Not all attributes are relevant for a finality. We define is_relevant(a,f), a predicate
stating that attribute a is relevant for the finality f. Let’s call RAS(f) the subset of A
which defines the Relevant Attribute Set for the finality f:</p>
        <p>RAS(f) = { a∈A | is_relevant(a,f)=true }.</p>
        <p>We will call an instantiation of context attribute a∈A the pair (a, v) where v is the
set of values v∈P(Va) of a at a given moment. For instance, (Day, {14}),
(roleOfPersonInGroup, {Team Manager}), (PersonIsMemberOf, {MAS Group,
Center_X, University_Y}) are instantiation of respective context attributes Day,
roleOfPersonInGroup, PersonIsMemberOf. Let I be the set of instantiated context
attributes as</p>
        <p>I = {(a,v) | a∈A ∧ valueOf(a)=v}.</p>
        <p>We call Instantiated Relevant Attribute Set of a finality f, IRAS(f), the set of
instantiated context attributes relevant to finality f:</p>
        <p>IRAS(f) = {(a,v) | a∈RAS(f) ∧ (a,v) ∈ I}.</p>
        <p>
          Let’s notice that in related work ([
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]), the notion of “context” is often
understood as being what we defined as the IRAS. To explain the difference between
RAS and IRAS and the reason to make this distinction, let’s consider the following
example. Given the finality f = ”deciding whether to accept or not a meeting”,
RAS(f)={“RoleOfPersonInGroup”, “ActivityScheduledInSlot”} is considered, i.e.
role played by the person who made the proposal and if the receiver has something
already planned for the proposed time slot. The resulting IRAS for a student may be
IRASstudent(f)={(RoleOfPersonInGroup, {teacher}), (ActivityScheduledInSlot,
{Activity001})} and for a teacher IRASteacher(f)={ (RoleOfPersonInGroup, {student}),
(ActivityScheduledInSlot, {Activity255)}. As we can see, the difference between
IRAS of student and teacher may lead to different rational decisions. Usually RAS
used is almost the same for different users when needed to make decisions for the
same finality, but the decision itself is IRAS-dependent. Taking into account the
definitions that we proposed so far we now describe the representation that we
defined.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Representing context</title>
        <p>Our aim is to represent context in a general and suitable manner for all applications
that need to represent and reason about it. What we focus on is to have a generic and
complex representation for a context attribute, representation that will assure in this
way the interoperability, but also the possibility to represent no matter what context
attribute, not just the simple ones.</p>
        <p>
          Several representations of context exist: contextual graphs ([
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]), XML (used to
define ConteXtML [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]), or object oriented models ([
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]). All these representations
have strengths and weaknesses. As stated in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], lack of generality is the most
frequent weakness: each representation is suited for a type of application and
expresses a particular vision on context. There is also a lack of formal bases necessary
to capture context in a consistent manner and to support reasoning on its different
properties. A tentative answer in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] was the entity-association-attribute model, which
is an extension of the “attribute-value” representation, where contextual information
are structured around an entity, every entity representing a physical or conceptual
object. We base our proposal on this idea and on ontologies as the explicit way to
represent it. To take into account the need for generality, and also considering the fact
that we aim at having several MAS, each of them dealing with different contexts (that
we will need to correlate in some way), an ontology-based representation seems
reasonable. This is not a novel idea; Chen et al. ([
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]) defined context ontologies using
OWL.
        </p>
        <p>Usually, when context is represented using ontologies, what is said to be “context”
are the properties associated to each concept (or entity, how we will call it further on).
For example, when defining a meeting ontology, we can define the status of a meeting
as a property of the entity Meeting. This property can also be considered a context
attribute. This representation is simple and does not allow more complex context
attributes to be represented in the same manner. For example, if we want to define an
attribute that will have the value “true” if two meetings are taking place in the same
time, we need to define this attribute not as a property (as it will be connected to two
meeting entities – in order to check when they take place), but as an entity in itself,
with three properties: meeting_1, meeting_2, value (true/false).</p>
        <p>Considering this, what we propose is to define a concept called “context attribute”,
which will regroup all needed information for defining and instantiating a context
attribute (corresponding to our definition of a context attribute as defined in section
2.1.). Instead of treating each attribute differently (based on its complexity), we define
a class (called #ContextAttribute) that will always contain the same kind of
information: the name of the attribute, the type of needed parameters (entities) for the
instantiation, the Va (values domain), if the attribute is allowed to have several values
(or just one). Starting from this class, each context attribute will be characterized by
these properties, with different restrictions: “RoleOfPersonInGroup” will need a
#Person and a #Group as parameters and will give a #Role when instantiated, while
“NamePerson” will need #Person as a parameter and will have a String as value, and
so on. In our domain ontology, the class “#Entity” is the super class of all concepts,
e.g. in MySAM, #Person, #Group, #Room, #Activity, etc. are subclasses of #Entity.</p>
        <p>When we talk about an entity (and not about the class #Entity) we refer to an
instance of a concept (class) defined in the domain ontology. For example, the class
#Entity (defined in the context ontology) is the super class of all concepts that
characterize our domain (in MySAM, such concepts are: #Person, #Activity,
#Agenda, #Group, #Role, etc.). When we talk about an entity, that will be an instance
of the class #Person, #Group or #Activity.</p>
        <p>This way, our ontology is made of two components: one that defines the domain
ontology (similar to all other “context” ontologies) and another one, which is the
description of all context attributes that will be managed in the current system (by the
available Context Manager).</p>
        <p>In Table 1 is given the description of the #ContextAttribute class defined in
MySAM ontology. As it can be seen, the description is a general description of the
characteristics of all context attributes, without specifying anything about a specific
attribute. Each attribute is afterwards represented as a sub class of #ContextAttribute,
with restrictions on each property, in order to have a clear description of the specified
attribute. For instance, the context attribute RoleOfPersonInGroup is described
with the following restrictions on the properties of the defined class
#ContextAttribute: Name = “RoleOfPersonInGroup”; NoEntities = 2 (we need to
connect this attribute to a person and a group); valueType = #Role (value for this
attribute is an instance of the class #Role); multipleValues = “false” (a person can
only play one role in a group); entitiesList = { #Person; #Group} (connected entities
are instances of class #Person and of class #Group).</p>
        <p>In Table 2. we give a small part of the list of context attributes defined in the OWL
ontology used for MySAM application. The attributes are grouped based on their
specificity: attributes that are connected to a person, attributes related to time
management, etc. Each attribute is described by its name and then the list of
parameters needed for its instantiation (given by their type) and the type of value it
will have when instantiated. A star (*) near to the type of the value means that the
attribute is allowed to have multiple values for an instantiation (for example, one
person can belong to several groups at a time).</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Architecture for a context-based learning MAS</title>
      <p>The proposed layered architecture is composed of mySAM agents (Fig. 3), which
assist a user, and several CM (Fig. 2)(each of them will manage a domain ontology
and a set of context attributes). Being connected to the current state of the
environment, a CM provides agents with context related information. The CM (and
not agents) has the responsibility to compute the values of context attributes in the
environment. Agents learn how to recognize relevant context and how to act
accordingly. We underline the fact that this architecture is suitable for developing
context-aware agents that are light-weighted, therefore adapted to hand held devices.
We continue by describing the CM and context-based agents that learn how to choose
and how to use context.</p>
      <sec id="sec-3-1">
        <title>3.1. Context manager (CM)</title>
        <p>The main functionalities of CM are to let the agents know which is the context
attributes set (defined in the ontology) that it manages and to compute IRAS
corresponding to RAS given by the agents at some point of processing. When
entering a society, an agent asks the corresponding CM to provide it with the context
attributes that it manages. Acting as intermediary between agents and the
environment, CM is able to answer requests regarding its managed context attributes.</p>
        <p>The Context Knowledge Base contains the ontology of the domain, defined as a
hierarchy with #Entity as root, on one hand, and all context attributes (defined as sub
classes of the class #ContextAttribute) that will be managed by the CM, on the other
hand. The instantiation module computes the IRAS(f) for a given RAS(f). The
dependencies module computes the values for derived attributes by considering
possible relations between context attributes concerning their relevance: if one
attribute is relevant for a situation and it has a certain value, then another attribute
could also be relevant for that situation.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Context-based learning agent</title>
        <p>The context-based agent architecture that is the core of a MySAM agent is general
and it is not restrained to the kind of application considered to illustrate our approach.
It has two main modules (Fig. 3): selection of relevant attributes for a certain finality f
(RAS(f)) and decision based on instantiated attributes (IRAS(f)) provided by CM. For
example, for a finality relative to deciding whether accepting or not a “2 participants”
meeting, the selection module is supposed to build the RAS={“ActivityScheduled
InSlot”, “roleOfPersonInGroup”}; or, for a finality relative to a “seminar”, the RAS
can be {“ActivityParticipants”, “Activity Description”, “PersonInterests”, etc}.</p>
        <p>
          The decision module knows how to accept or reject a meeting based on the IRAS
resulted from the respective RAS instantiation. For example, if we have nothing
planned for that period of time and if the person that demands this meeting is our
chief, the decision module will decide to accept the meeting. Both the selection and
the decision modules have associated learning modules (individual as well as
multiagent learning) that improve their abilities. Using individual learning and knowledge
sharing techniques, agents are able to make a better selection of RAS sets for a given
finality and to take better adapted decisions based on obtained IRAS (for a description
of the learning methods see [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] and [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]).
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Implementation</title>
      <p>
        In order to validate our proposal, we developed the system proposed as a case
study in section 2, a multi-agent system containing several mySAM agents and one
CM Service. Agents were deployed with the JADE/LEAP platform ([
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]) to run on
handheld devices. Each mySAM agent is a JADE agent with a graphical interface that
allows a user to manage her agenda. This graphical interface has been simplified to
deploy mySAM agents on a HP iPAQ 5550 Pocket PC. Due to limited resources
available on PDAs, mySAM agents deployed on them execute only the negotiation
task, without any learning methods. Learning methods are deployed on a proxy agent.
Agents running on PDA and on proxy constitute a MySAM agent.
      </p>
      <p>
        The CM Service is also implemented as a JADE agent. It is a special agent in the
system that has access to the domain ontology that defines the context attributes that it
will manage. It provides context knowledge to all agents that arrive in the system. The
ontology was created using Protégé 2000 v.2.1.([
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]) and the agent accesses the
ontology using Jena ([
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]), a Java library designed for ontology management. So far,
the instantiation module is hard coded in CM, but as future work we intend to find a
possibility to formally define the instantiation procedures, so that the CM
implementation will not depend on the defined ontology.
      </p>
      <p>When testing mySAM we were able to validate the fact the using a selection step
to choose the RAS for a finality helps in having smaller and more significant rules.
Using all attributes to describe a situation is not only difficult to deal with, but also
unnecessary. Also, the fact that sharing with other agents the RAS for a finality and/or
the solution for a situation described by an IRAS improved agent’s abilities to make
decisions, enforces our theory that the separation between RAS and IRAS and the use
of sharing methods are important and necessary.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Related Work</title>
      <p>
        In MAS, the notion of context is used to describe the factors that influence a
certain decision. In similar applications (meeting schedulers), context means: type of
event, number of attendees, etc. (Calendar Apprentice [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]), activity, participants,
location, required resources (Personal Calendar Agent [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]), system load,
organization size (Distributed Meeting Scheduler [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]), time, user’s location, etc.
(Electric elves [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]). None of these works mention the idea of “context” but they all
use the context as “circumstances” or “environmental factors” that affect the decision
to be made. In making Calendar Agent ([
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]), Lashkari et al. use the notion of
context, but they assume that the relevant context is known in advance, so that every
contextual element that they have access to is considered relevant for the decision to
be made.
      </p>
      <p>
        We can mention here some definitions given by: Persson [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] (“context is […] the
surrounding of a device and the history of its parameters”), Brezillon [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] (“the
objective characteristics describing a situation, […] the mental image generated, […]
the risk attitude” used to make decisions) or Turner [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] (“Any identifiable
configuration of environmental, mission-related and agent-related features” used to
predict a behavior). There are several other definitions in related work ([
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ],
etc.) and what we proposed in section 2.1. is a definition quite similar to all these in
the sense that it is based on: (i) the elements that compose the context and (ii) its use,
i.e. the finality (the goal we want to achieve) when using this context. The definition
we proposed takes into account those two dimensions of context (its use and its
elements); it also explains what each dimension is and how to properly define it when
designing a context-based MAS.
      </p>
      <p>This is the major problem with the way context is used: these approaches are not
fitted for an application independent way of handling context, because they do not
provide a general representation of context knowledge and methods to choose
between relevant and non-relevant context elements for a specific decision.</p>
      <p>The main difference and contribution of our work is in the sense that we propose a
MAS architecture based on an ontological representation of context and that can
permit individual and multi-agent learning on how to choose and how to use context.
It is not the choice of an application that generated this architecture, but MySAM is
just a case study to validate our approach.</p>
      <p>
        Mostly, when context is used to make behaviors context-adaptable, it is used in an
ad-hoc manner, without trying to propose an approach suitable for other kind of
applications. However, there is some research in proposing a general architecture on
context-aware applications, like CoBrA (Context Broker Architecture), proposed by
Chen et al.[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] or Socam, by Gu et al [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. We based our proposed architecture on
CoBrA and Socam, but we added the learning modules for finding relevant context
and using it to decide. The context broker and context interpreter are very similar to
our context manager, with the difference that our concern was not how to acquire
certain information from heterogeneous sources, but mostly how to represent it in a
semantic and generic manner and how to reason on context knowledge based on this
representation.
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions and perspectives</title>
      <p>In this article, we have presented a definition of the notion of context, notion that is
used in almost all systems without precisely and explicitly taking it into account. We
have proposed an ontology-based representation for context elements and a
contextbased architecture for a learning multi-agent system that uses this representation. We
then validated our approach by implementing a meeting scheduling MAS that uses
this architecture and manages and learns context based on the definitions and
representation we proposed.</p>
      <p>Our definition and representation are not based on a specific application. The
difference between our approach and the classical ontology approach is that we
extended the representation of the attribute. In our ontology a context attribute is a
class, not a property (in this way all attributes are represented in the same manner - as
concepts).</p>
      <p>The tests that have been realized confirm our hypotheses: a) that the distinction
between RAS/IRAS is important in efficient decision making on one hand, and b) that
limited sharing of knowledge is sufficient to learn to make better decisions.</p>
      <p>As future work, we envisage adding to the framework for context-based MAS to be
used for multiple application domains that consider context when adapting their
behavior. Our future work will focus on representing and managing: (i) instantiation
procedures for context attributes, (ii) dependencies that can exist between them, (iii)
the importance of different attributes in a situation (make a more refined difference
between relevant and non-relevant attributes). In what concerns learning agents, the
framework will provide agents with several individual learning algorithm and all that
is needed to communicate and share contextual knowledge.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Brezillon</surname>
          </string-name>
          , P. - “
          <string-name>
            <surname>Context</surname>
          </string-name>
          Dynamic and
          <article-title>Explanation in Contextual Graphs”</article-title>
          ,
          <source>In: Modeling and Using Context (CONTEXT-03)</source>
          ,
          <source>LNAI 2680</source>
          , Springer Verlag p.
          <fpage>94</fpage>
          -
          <lpage>106</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Bucur</surname>
            <given-names>O</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boissier</surname>
            <given-names>O</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beaune</surname>
            <given-names>P</given-names>
          </string-name>
          - “
          <article-title>A Context-Based Agent Architecture for Learning How to Make Contextualized Decisions”</article-title>
          (to appear
          <source>in Proc. of First International Workshop on Managing Context Information in Mobile and Pervasive Environments</source>
          <year>2005</year>
          ), may
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Bucur</surname>
            <given-names>O</given-names>
          </string-name>
          - “
          <article-title>Modeling context for a multi-agent learning of user preferences” - Master dissertation</article-title>
          - Ecole des Mines de Saint-Etienne,
          <year>July 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Chen</surname>
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Finin</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Anupam J</surname>
          </string-name>
          .
          <article-title>- “An Ontology for Context-Aware Pervasive Computing Environments”, The Knowledge Engineering Review</article-title>
          , p.
          <fpage>197</fpage>
          -
          <lpage>207</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Dey</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abowd</surname>
          </string-name>
          , G.-
          <article-title>“Towards a better understanding of Context and ContextAwareness”</article-title>
          ,
          <source>GVU Technical Report GIT-GVU-00-18</source>
          , Georgia Institute of Technology,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Edmonds B</surname>
          </string-name>
          .
          <article-title>- “Learning and exploiting context in agents”</article-title>
          ,
          <source>in proc. of AAMAS</source>
          <year>2002</year>
          , Bologna, Italy, p.
          <fpage>1231</fpage>
          -
          <lpage>1238</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Gonzalez</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ahlers R</surname>
          </string-name>
          .
          <article-title>- “Context based representation of intelligent behavior in training simulations”, Transactions of the Society for Computer Simulation International</article-title>
          , Vol.
          <volume>15</volume>
          , No.
          <volume>4</volume>
          , p.
          <fpage>153</fpage>
          -
          <lpage>166</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Henricksen</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Indulska</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rakotonirainy</surname>
            <given-names>A</given-names>
          </string-name>
          - “
          <source>Modeling Context Information in Pervasive Computing Systems”, Proc. First International Conference on Pervasive Computing</source>
          <year>2002</year>
          , p.
          <fpage>167</fpage>
          -
          <lpage>180</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>JADE (Java Agent Development</surname>
          </string-name>
          framework) : http://jade.cselt.it/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Jena</given-names>
            <surname>Semantic Web</surname>
          </string-name>
          Framework - http://jena. sourceforge.net/
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Lashkari</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Metral</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maes</surname>
            <given-names>P</given-names>
          </string-name>
          - “
          <article-title>Collaborative Interface Agents”</article-title>
          ,
          <source>Proc. of CIKM'94</source>
          , ACM Press.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Lin</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>J.Y.</given-names>
            <surname>Hsu -</surname>
          </string-name>
          “
          <article-title>Learning User's Scheduling Criteria in a Personal Calendar Agent”</article-title>
          ,
          <source>Proc. of TAAI2000</source>
          , Taipei.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Mitchell</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Caruana</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Freitag</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>McDermott J.</given-names>
            ,
            <surname>Zabowski D</surname>
          </string-name>
          .
          <article-title>- “Experience with a learning personal assistant”</article-title>
          ,
          <source>Communications of the ACM</source>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Pascoe</surname>
            <given-names>J</given-names>
          </string-name>
          .
          <article-title>- “Adding Generic Contextual Capabilities to Werable Computers”</article-title>
          .
          <source>2nd International Symposium on Wearable Computers</source>
          (
          <year>1998</year>
          )
          <fpage>92</fpage>
          -
          <lpage>99</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Persson</surname>
            <given-names>P.</given-names>
          </string-name>
          - “Social Ubiquitous computing”, Position paper to the workshop on '
          <article-title>Building the Ubiquitous Computing User Experience'</article-title>
          at ACM/SIGCHI'01, Seattle.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Protégé</surname>
          </string-name>
          2000 - http://protege.stanford.edu/.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Ryan N</surname>
          </string-name>
          .
          <article-title>- “ConteXtML: Exchanging contextual information between a Mobile Client and the FieldNote Server”</article-title>
          , http://www.cs.kent.ac.uk/projects/mobicomp/fnc/ConteXtML.html.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Scerri</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pynadath</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tambe M</surname>
          </string-name>
          .
          <article-title>- “Why the elf acted autonomously: Towards a theory of adjustable autonomy “</article-title>
          ,
          <source>AAMAS 02</source>
          , p.
          <fpage>857</fpage>
          -
          <lpage>964</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Sen</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>E.H.</given-names>
            <surname>Durfee -</surname>
          </string-name>
          “
          <article-title>On the design of an adaptive meeting scheduler”</article-title>
          ,
          <source>in Proc. of the Tenth IEEE Conference on AI Applications</source>
          , p.
          <fpage>40</fpage>
          -
          <lpage>46</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Tao</surname>
            <given-names>Gu</given-names>
          </string-name>
          , Xiao Hang W.,
          <string-name>
            <surname>Hung</surname>
            <given-names>K.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Da Quing Z - “An</surname>
          </string-name>
          Ontology
          <article-title>-based Context Model in Intelligent Environments”</article-title>
          ,
          <source>Proc. of Communication Networks and Distributed Systems Modeling and Simulation Conference</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Thevenin</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Coutaz</surname>
          </string-name>
          .
          <article-title>- “Plasticity of User Interfaces: Framework and Research Agenda”</article-title>
          .
          <source>In Proceedings of INTERACT'99</source>
          ,
          <year>1999</year>
          , pp.
          <fpage>110</fpage>
          -
          <lpage>117</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Turney</surname>
          </string-name>
          ,P. - “
          <article-title>The identification of Context-Sensitive Features: A Formal Definition of context for Concept Learning”</article-title>
          ,
          <source>13th International Conference on Machine Learning (ICML96)</source>
          , Workshop on Learning in Context-Sensitive Domains, p.
          <fpage>53</fpage>
          -
          <lpage>59</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Turner</surname>
          </string-name>
          , R. - “
          <string-name>
            <surname>Context-Mediated Behaviour</surname>
          </string-name>
          for Intelligent Agents”,
          <source>International Journal of Human-Computer Studies</source>
          , vol.
          <volume>48</volume>
          no.
          <issue>3</issue>
          ,
          <string-name>
            <surname>March</surname>
            <given-names>1998</given-names>
          </string-name>
          , p.
          <fpage>307</fpage>
          -
          <lpage>330</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Widmer</surname>
            <given-names>G</given-names>
          </string-name>
          .
          <article-title>- “Tracking context changes through meta-learning”</article-title>
          ,
          <source>Machine Learning</source>
          ,
          <volume>27</volume>
          (
          <issue>3</issue>
          ):
          <fpage>259</fpage>
          -
          <lpage>286</lpage>
          , Kluwer Academic Publisher.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>