Expressing Adaptation Strategies Using Adaptation Patterns

Nadjet Zemirline
Yolaine Bourda, IEEE
Chantal Reynaud

Pages: pp. 38-51

Abstract—Today, there is a real challenge to enable personalized access to information. Several systems have been proposed to address this challenge including Adaptive Hypermedia Systems (AHSs). However, the specification of adaptation strategies remains a difficult task for creators of such systems. In this paper, we consider the problem of the definition of adaptation strategies at a high level. We present two main contributions: a typology of elementary adaptation patterns for the adaptive navigation; and a process to generate adaptation strategies based on the use and the semiautomatic combination of patterns. We also describe how the generated adaptation strategies can be integrated into existing AHSs. A prototype has been implemented and an experiment in the e-learning domain has been conducted with a group of volunteers. This experiment shows that our pattern-based approach for defining adaptation strategies is more suitable than those based on “traditional” AH languages.

Index Terms—AHSs, adaptation strategies, patterns.


The concept of Adaptive Hypermedia Systems (AHSs) has existed for years now [ 19], and it has amply proved its utility particularly in education [ 4], [ 23], where students have access to personalized resources according to their knowledge, preferences, and goals. However, until today, only few AHs have been developed, this is mainly due to the difficulty of their authoring process [ 28].

In fact, authors have to define a domain model structuring available resources, a user model describing user characteristics, and an adaptation model in a format understood by the used adaptation engine [ 7]. In this paper, we focus particularly on the authoring process of the adaptation model, which is most often the less intuitive part to be authored in an AH by nontechnical persons.

Indeed, authors have to specify an adaptation model, in which they describe resources to propose for users having distinct characteristics and different knowledge in a personalized manner, in order to reach their specific goals. This is done through the definition of multiple adaptation strategies. By an adaptation strategy, we mean that an author specifies which resources have to be proposed and how they will be proposed to a set of users who share the same characteristics. Thereby, authors of an AH face numerous challenges when defining their adaptation strategies. The first challenge concerns the expression of adaptation strategies. The second challenge concerns the reuse of adaptation strategies from one system to another one, and the expression of adaptation strategies independently of any AHS. To do so, a new paradigm has been proposed: “write once, use many” [ 26]. This paradigm endorses expressing adaptation at a high level, independently of all AHSs and then translating this adaptation into a particular AHS. The third challenge concerns the granularity in writing adaptation strategies. Its target is to avoid writing the common parts of adaptation strategies several times.

Multiple solutions have been proposed [ 6], [ 8], [ 12], [ 28], [ 27] in order to meet these challenges. In [ 6], [ 8], they propose to make the expression of adaptation easier, but they were related to a particular AHS and failed to answer the second and the third challenges. For example, the author graph tool for AHA! [ 8] uses visualization to support authors and works only for AHA!. However, [ 12], [ 28], [ 27] are concerned with the expression of adaptation using constructors and generic adaptation language (GAL), independent of any adaptation engine. These works fail to answer the third challenge, because till today, an adaptation strategy has been considered as a whole block and cannot be easily reused.

This paper addresses these three challenges. It concentrates on the ease of defining adaptation strategies at a fine granularity, and on the facility of reusing existing adaptation strategies. In a first time, we focus only on the expression of adaptation strategy for adaptive navigation, where users are forced to navigate among the proposed navigation paths. This can be by imposing a particular order or by recommending resources [ 19].

We perceive an adaptation strategy as a combination of elementary parts. Each part corresponds to an elementary adaptation and is bound to a user characteristic. A part can belong to different complex adaptation strategies depending on user characteristics. Our work takes up this idea. The notion of elementary adaptation patterns that we propose is an abstraction of such elementary parts. Elementary adaptation patterns are independent from any application domain, but limited in a first time to express adaptive navigation. We propose a typology for the elementary adaptation patterns and a semiautomatic process to combine them (the most difficult part is done automatically).

The paper is organized as follows: it presents in Section 2 related work on the expression of adaptation, and demonstrates the intuition of our work in Section 3, with an example. Section 4 reviews the main aspects of our proposal. Section 5 presents the description of elementary adaptation patterns and their organization in a typology, and Section 6 describes how elementary adaptation patterns can be used to define adaptation strategies. In Section 7, we discuss how the generated adaptation strategies can be integrated on top of existing AHSs. Finally, we conclude the paper in Section 8.

Related Work

Most often, during the authoring process of adaptation on domain and user models, authors ask themselves two questions [ 2]: what kind of adaptation they can provide for users? and how to produce the desired adaptation? The two questions are answered in that order. For deciding what kind of adaptation they can provide, authors may refer to existing typologies on adaptation (cf. Section 2.1), while for producing adaptation, they consider what are the most appropriate adaptation engines and the languages understood by each of them (cf. Section 2.2).

On the other hand, as there are more and more resources available on the web, recent works enable authors not only to define adaptation on their sets of resources but also on those available on the web. So, we present works about integrating adaptive technologies on open corpus (cf. Section 2.3).

2.1 What Kind of Adaptation Could Be Provided?

The well-known Brusilovsky taxonomy [ 3] is undoubtedly the most used typology of adaptation. It describes several methods of adaptation that can be combined together. The methods are organized into three nondisjoint groups: adaptive presentation, content adaptation, and adaptive navigation support. This typology assumes that the available resources can be modified and restructured during the adaptation process. Hence, it is not suitable when there is no control of the distributed resources.

As, in this paper, we focus on the expression of adaptive navigation, we get a particular interest of methods included in the adaptive navigation support group. The group includes four methods:

  • Direct guidance. It supervises users step by step. It is done by proposing one link at a time to users.
  • Adaptive ordering. It defines the priority of all the links of a particular page.
  • Link hiding and removal. It hides, removes, or disables links to users (e.g., AHA! [ 8] hides links that are not relevant to users).
  • Adaptive link annotation. It suggests links to users. The suggestions are often expressed using visual cues (e.g., WHURLE [ 21] uses colors for suggestions).
  • Link generation. It creates new links on a page.

2.2 How Can Authors Express Their Adaptation?

We have grouped existing solutions to express adaptation in three main categories.

2.2.1 Adaptation Languages Accompanied by Their Adaptation Engine

Adaptation strategies written by these adaptation languages are often expressed in condition-action or event-condition-action rules [ 8], [ 21], [ 18]. However, authoring adaptation using rules is not easy to perform and is time consuming. Thereby, aids have been proposed to make the expression of adaptation easier. For example, the author graph tool for AHA! [ 8] which uses visualization in order to support authors: for each new created concept, the tool associates a set of attributes and adaptation rules. Regardless, authors are captive to a particular system. Indeed, adaptation strategies expressed in a system cannot be used outside this system, and have to be rewritten.

2.2.2 Generic Adaptation Languages Accompanied by Translators to Existing Adaptation Engines

Some generic languages (independent of any system) have been proposed to specify adaptation [ 12], [ 27]. Among them, the LAG language [ 12], which is an implementation of the specification of the adaptation language defined in the LAOS model [ 13], includes conversion to the WHURLE [ 21], Blackboard [ 24], and AHA! adaptation engines. However, LAG is like a programming language, which is not very suitable for nontechnical authors (an example is given in Section 3). Recently, a new GAL 1 has been developed to describe adaptive hypermedia [ 27]. It argues to gather all functionalities of existing adaptation engines and to be an intermediate language between existing authoring environments and adaptation engines. For that, GAL plans to include translators from existing authoring environments to GAL and from GAL to existing adaptation engines. It describes the navigational structure of a web application using abstract constructs (e.g., units, attributes). But, the description of adaptation remains difficult to specify, as authors have to write a GAL program (use of SPARQL 2 queries to select resources) in a sequential way and no aid is proposed for them. Furthermore, generated adaptation strategies by these adaptation languages are considered as a whole block and cannot easily be reused.

2.2.3 Hypertext and Adaptation Patterns

Some design patterns for expressing personalization in web applications have been proposed [ 9], based on commonly used design structures. They are suitable for designers of AHS but not for authors of a particular AH. Such adaptation design patterns have been proposed in the e-learning domain [ 15], [ 17]. Garzotto et al. [ 17] have proposed patterns corresponding to learning styles. Cristea et al. [ 15] have proposed a taxonomy of various Adaptive Educational Hypermedia Systems (AEHS) design patterns according to different learning styles. There is no real formalization and no support for an automatic export to a particular adaptation language. One adaptation strategy (as complex as it can be defined by authors) is expressed using only one pattern. Patterns cannot be either combined together or modified, i.e., authors have to find a pattern corresponding to their desired adaptation strategy, otherwise, they cannot express it.

2.3 Open Corpus Adaptive Systems

In the AH community, research concerning the integration of open corpus content into adaptive systems has been under scrutiny for several years—mostly in education [ 2]. Most of the existing systems are built upon an existing AHS (e.g., [ 12] on top of [ 8]). Multiple issues are to be faced in order to develop open corpus-based AHS [ 15], [ 5], including automatic hypertext creation, indexing of open corpus resources, and content preparation. None of these systems faces the problem of expressing adaptation, by AH authors, in a simple way.

2.4 Conclusion

We have discussed here solutions helping authors to find what adaptation they can propose and how they can express it. However, till now, there have been no works concerning building complex adaptation strategies, independent of any system by combining simple adaptations. In this paper, we focus on this specific point. Adaptation strategies must be defined at a fine granularity. Our aim is thus to help authors define their own adaptations, independently of any adaptation engine, at a higher level and in an easy manner. In the next section, we introduce a use case giving the intuition of our contribution. This scenario is subsequently used in the paper.

Motivation, Use Case

Assume that Jane, who is a course author, wants to build an adaptive course from her material, i.e., Jane is going to author an AEHS. She has first to define a domain model, then to describe the characteristics of her students in a user model, and finally to express the desired adaptation.

Jane proposes a domain model (cf. Fig. 1), in which she considers the addressed notions as instances of the class Concept. 3 The concepts must be learned in a particular order, that is defined through the relation prerequisite. Each concept may be trained using definitions or examples. Definition and Example are subclasses of the class Resource, i.e., each of their instances has a content, which can be proposed to students. Furthermore, each resource may be in different formats: text, image, or video.


Figure    Fig. 1. Jane's domain model in UML.

Jane considers the following student characteristics:

  • Learning mode. In-depth learning mode means that each subject must be known in depth before going to a related subject. In-breadth learning mode means that a student has to know a variety of subjects before going in depth.
  • Reasoning mode. An inductive reasoning mode means that the student has access to examples before the related definitions are presented to him. In a deductive reasoning mode, definitions precede examples.
  • Presentation form. A verbal presentation form is for students preferring textual resources, an audio presentation form is for those preferring audio ones.

Among the adaptation strategies Jane wants to propose, we only focus on the adaptation strategy $S1$ . It concerns students whose learning mode is in-depth, with an inductive reasoning mode and preferring audio resources. $S1$ proposes resources that are examples before those which are definitions. They will be in an audio format if available, otherwise in a textual format. They will be related to concepts ordered according to a depth-first navigational path using the relation prerequisite.

Jane can express $S1$ using solutions supported by her AHS. However, they are not easy to implement and require good backgrounds. See as an illustration, the implementation of $S1$ using Generic Layered Adaptation Model (GLAM) in Fig. 2 (for GLAM syntax, see Section 7.2.1), and using LAG in Fig. 3. This implies that Jane already has her domain and user models in the format understood by her AHS.


Figure    Fig. 2. Jane's $S1$ in the GLAM format.


Figure    Fig. 3. Jane's $S1$ in the LAG format.

Naturally, Jane expressed $S1$ in three parts: 1) $S1$ concerns students whose learning mode is in-depth, 2) $S1$ concerns students with an inductive reasoning mode, and 3)  $S1$ concerns students preferring audio resources. These parts can be considered independently of one another and may compose the definition of other adaptation strategies, for example, $S2$ , an adaptation strategy for students whose learning mode is in-depth, with an inductive reasoning mode and preferring textual resources. $S2$ differs from $S1$ only in proposing resources in a textual format if available, otherwise in an audio format.

To enable Jane to easily define her strategies, i.e., the most natural way possible, we offer the possibility to specify each part of an adaptation strategy by defining the set of resources to propose and the order in which they have to be proposed. According to this approach, $S1$ will be built from the following parts:

  • S1-1. It presents resources linked to the domain concepts ordered according to a depth-first navigational path using the prerequisite relation.
  • S1-2. It presents only audio resources if they are available otherwise presents textual resources.
  • S1-3. It presents examples before definitions.

The adaptation strategy $S1$ is intended to students with specific characteristics. Therefore, each part of the strategy has to be labeled by a student characteristic, i.e., S1-1, for example, will be defined for in-depth learning mode students. Thereby, to define $S2$ , Jane can reuse the parts S1-1 and S1-3, she only has to define the part S2-2 for the textual presentation form.

We presented here the intuition of our contribution according to Jane's needs; in the following, we describe our approach in a more general way.

Main Aspects of Our Framework

We propose the EAP framework in which authors have a clear separation between what kind of adaptation strategies they want to provide to users and the technicalities involved in writing them. The idea is to help authors in selecting the adaptation strategy and then generate it in a semiautomatic way. Defined adaptation strategies are described at a high level and independently of any adaptation engine.

The EAP framework focuses only on the expression of adaptation strategies. So, it assumes authors have already created their domain and user models. Furthermore, our framework is based on design patterns [ 16]. Design patterns describe recurrent solutions to common problems in software design. The solutions are generic, independent of any language even if there are code generators. For example, the Object-oriented design patterns describe relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved. In practice, design patterns can speed up the development process by providing tested, proven development paradigms. We argue that an adaptation strategy is a kind of conception, where authors have to write the same parts of an adaptation strategy several times, sometimes on different elements. Consequently, the proposed framework uses a set of building blocks independent from any application domain, called elementary adaptation patterns, which are based on design patterns. Thereby, they can be used and instantiated to define specific adaptation strategies.

The main steps for authoring an adaptation strategy with the EAP framework are:

  1. Selection. The author either selects elementary adaptation patterns (those needed to define his adaptation strategy) and instantiates them on his own model (thereby, elementary adaptations are defined), or reuses existing elementary adaptations.
  2. Specification. The creator specifies associations between user characteristics and elementary adaptations.
  3. Computation. The computation of the adaptation strategy resulting from step 2 is automatic.

We have defined a typology and a library of elementary adaptation patterns that can be selected for use within an adaptation strategy, which we introduce in Section 5. The instantiation process and the combination process are described in Section 6.

Before going further, let us apply the EAP framework on Jane's use case.

  1. She has to define S1-1 (resp. S1-2, S1-3) by instantiating the appropriate elementary adaptation pattern on the relation prerequisite (resp. on the classes Example, Definition, on the property format).
  2. She has to associate S1-1 with in-depth learning mode, S1-2 with inductive reasoning mode, and S1-3 with audio presentation form.
  3. The framework automatically builds $S1$ by combining S1-1, S1-2, S1-3. As $S1$ is for students with an in-depth learning mode, an inductive reasoning mode is for those who want audio resources.

Note that, that way, Jane does not need to worry about technical problems in the expression of $S1$ .

Elementary Adaptation Patterns

The notion of elementary adaptation patterns that we propose is an abstraction of Jane's parts S1-1, S1-2, and S1-3. Furthermore, we defined our elementary adaptation patterns in a manner that is independent from any application domain in order to be able to cover other authors' parts. Thereby, the criteria used to define our elementary adaptation patterns are defined in a generic way (cf. Section 5.1). Elementary adaptation patterns are described in Section 5.2, and their typology is defined in Section 5.3.

5.1 Fundamental Criteria for Defining Elementary Adaptation Patterns

Like each part of $S1$ defined by Jane, an elementary adaptation pattern targets a set of resources of a particular type to be presented and also specifies the order in which they will be proposed. This section presents exhaustive criteria to select resources (cf. Section 5.1.1) and to organize the selected resources (cf. Section 5.1.2).

5.1.1 Criteria Used to Select Resources

Criteria used to select resources are based on the domain model, where resources are structured and described. We argue that the general description of a domain model includes the following elements:

  • A set of classes. This set must contain the class representing all the resources (called Resource) to be proposed to users, and the class representing all the domain concepts (called Concept).
  • A set of relations between classes. Each relation defines a graph on instances of classes on which it is defined. This graph can be navigated according to two different navigational paths in order to reach the goals: depth first or breadth first.
  • A set of properties.

Thereby, we have differentiated between criteria selecting resources and criteria defining a navigational path on relations. Our criteria for selecting resources are: their belonging to a class, the values of some properties, or the presence of a relation that defines a navigational path through the resources or the concepts graph. Furthermore, our criteria currently considered for defining a navigational path are either depth first or breadth first.

5.1.2 Criteria Used to Order the Selected Resources

We have looked over works defining adaptation methods, by giving a particular interest to adaptive navigation, without worrying whether the methods are applied on a set of links to resources or resources themselves.

We have looked over the Brusilovsky typology (cf. Section 2.1) excluding methods of the adaptive navigation support group which modify resources (e.g., hiding links belonging to content of resources). Only direct guidance, adaptive ordering, and adaptive link annotation have been considered. We have grouped the direct guidance and adaptive ordering in one operation as both of them define a kind of order either on a link or on several links per time. Therefore, two operations come from the Brusilovsky typology.

We have also looked over the classification of external actions in AHS defined by Stash et al. [ 28]. The classification includes actions on items (e.g., selection, showing items, or links to items), actions on a set of items (e.g., ordering), hierarchical actions (e.g., action on parent or child), and actions on the overall environment (e.g., changing the layout). We only consider the actions having impact on the navigation, which includes: actions on items, actions on a set of items, and hierarchical actions. Furthermore, we distinguish between actions and elements on which the actions are performed. The elements can be an item, a set of items, parents or children. So, we only consider the selection, show, and order actions. Note that the show action cannot be used alone, it is necessarily combined to the other actions. But the combination of order and show actions is equivalent to the order operation defined by Brusilosvky. Therefore, we can neglect it, and retain only the combination of select and show actions.

On the other hand, we have looked over AHS implementing adaptive navigation like AHA! [ 8], WHURLE [ 21], GLAM [ 18], etc. We found that GLAM implements a kind of adaptation not mentioned elsewhere. This adaptation proposes alternative resources if the desired resources are not available. We find it interesting and have retained it in our own typology.

From this study, we retained two operations from the Brusilovsky typology and one combination of actions from the Stash classification and one adaptation from the GLAM platform. Thus, we conclude that there are four basic modes to select resources in a setting of adaptive navigation support, which are described in Table 1.

Table 1. Selection Modes Used in the Elementary Adaptation Patterns

5.2 Description of Elementary Adaptation Patterns

We propose the following definition for elementary adaptation patterns, based on the definition of design patterns [ 16].

Definition 1.
An elementary adaptation pattern describes a generic solution for a generic elementary adaptation problem.

This solution is independent from any language, and exploits the characteristics of the domain model.

Definition 2.
A generic elementary adaptation problem describes a criterion to select resources to be proposed and a criterion to define in which order the selected resources are going to be proposed.

Fig. 4 presents the characteristics retained from [ 16] and used to describe elementary adaptation patterns.

Graphic: Fig. 4. Description of elementary adaptation patterns.

Figure    Fig. 4. Description of elementary adaptation patterns.

The solution part is the most formal part of the elementary adaptation patterns. We have defined a grammar using the Extended Backus-Naur Form (EBNF) [ 29]. This grammar is described in Fig. 5. It includes a set of nonterminal elements expressed between brackets, and a set of terminal elements expressed between quoats. For people not familiar with the EBNF syntax, we give examples of the solution part respecting the proposed grammar (cf. Figs. 8, 9, and 10). These examples are also accompanied by an informal description.

Graphic: Fig. 5. Syntax of the characteristic 

Figure    Fig. 5. Syntax of the characteristic Solution.

We give an informal description of the semantic of the language defined by the grammar and some associated constraints. In order to do so, we consider a domain model DM, composed of

  • $Cls =\{c/\;c \;{\rm is\; a\; class}\}$
  • $Rel =\{{\rm rel}/\;{\rm rel\; is\; a\; relation}\}$
  • $Prop = \{{\rm p}/\;{\rm p\; is\; a\; property}\}$
  • $Val_p = \{{\rm v}/\;{\rm v\; is\; a\; value\; of\; the\; property\; p}\}$
  • $Res = \{{\rm r}/\;{\rm r\; is\; a\; resource}\}$

We defined DM elements as general elements in the grammar (cf. Fig. 6). Afterward, we defined predicates to select resources or concepts. The predicates are:

  • instanceOf: instanceOf(r, c) is true, for all resources $r$ that are instances of class $c$ .
  • characteristicOf: characteristicOf(r, p, op, v) is true, for all resources $r$ having the property $p$ and satisfying the comparison test using the operator op and the value $v$ .
  • linked: linked(i1, i2, rel) is true, for all instances i1 that are linked directly to instance i2 by relation rel.
  • linked-transitive: linked-transitive(i1, i2, rel) is true, for all instances i1 that are linked directly or indirectly to instance i2 by relation rel.
  • distance: distance(i1, i2, rel, n) is true, for all instances i1 that are distant from instance i2 by $n$ instances using relation rel.

These predicates compose three types of expressions:

  • ${<}Exp_{cls}{>}$ for expressions on classes.
  • ${<}Exp_{prop}{>}$ for expressions on properties. Expressions belonging to the same solution part are expressed on the same property.
  • ${<}Exp_{rel}{>}$ for expressions on relations. When the expression includes multiple selections, the variables indicating the selected resources are the same.

When more than one expression is defined in a solution, metaexpressions must be defined between all expressions of the solution. This is done using the expression identifiers. Each identifier used in the definition of a metaexpression must correspond to an expression identifier. Three types of metaexpressions are proposed:

  • ${<} Id1 {>}\prec {<} Id2 {>}$ means that the set of resources selected with the expression identified by Id1 is proposed before the one selected with the expression identified by Id2.
  • ${<} Id1{>} \uplus {<} Id2{>}$ means that the set of resources selected with the expression identified by Id1 is recommended rather than the one selected with the expression identified by Id2. A typographic indication can be used to differentiate between the set of resources recommended from those that are not.
  • ${<} Id1{>}\mid{<} Id2 {>}$ means that the set of resources selected with the expression identified by Id2 is an alternative to the one selected with the expression identified by Id1.

5.3 Typology of Elementary Adaptation Patterns

We have defined a library of 22 elementary adaptation patterns using the criteria defined in Section 5.1. An elementary adaptation pattern is based simultaneously on 1) one of the four selection modes of resources to be proposed, 2) one of the three elements of the domain model involved in the selection process and when the element is a relation, we also consider 3) one of the two types of navigation through the resources or the concepts graph. The two navigation modes are applied for all the selection modes except for the selection only mode, which proposes a set of resources according to a particular criterion.

Graphic: Fig. 6. Description of general elements.

Figure    Fig. 6. Description of general elements.

In order to be able to look easily over the defined elementary adaptation patterns, we have organized them in a tree where each leaf is an elementary adaptation pattern (cf. Fig. 7). The tree represents our typology.

Graphic: Fig. 7. Typology of elementary adaptation patterns.

Figure    Fig. 7. Typology of elementary adaptation patterns.

Let us now use this typology to help Jane to define $S1$ . We note that each part of $S1$ can be defined thanks to a pattern. The pattern P2.1.1.1 (cf. Fig. 8) is used to define S1-1 ( S1-1 consists of ordering concepts according to a depth-first navigational path using the relation prerequisite, and presents resources linked to these concepts), P3.3 (cf. Fig. 9) is used to define S1-2 ( S1-2 consists of presenting only audio resources if they are available otherwise presents textual resources), and P2.2 (cf. Fig. 10) is used to define S3-3 ( S3-3 consists of presenting examples before definitions).

Graphic: Fig. 8. OrderedSelection-DepthFirst-Relation-Concept.

Figure    Fig. 8. OrderedSelection-DepthFirst-Relation-Concept.

Graphic: Fig. 9. Ordered Selection-Classes.

Figure    Fig. 9. Ordered Selection-Classes.

Graphic: Fig. 10. Alternate Selection-Properties.

Figure    Fig. 10. Alternate Selection-Properties.

After having described the typology and some elementary adaptation patterns, let's come back to the process of defining adaptation strategies.

Defining Adaptation Strategies

This section focuses on the steps 1 and 3 of authoring steps of adaptation strategies (cf. Section 4). Step 2 is simple and we do not give further details. We start first by describing step 1 related to the instantiation process of elementary adaptation patterns (cf. Section 6.1). Then, we detail step 3 related to the combination process (cf. Section 6.2), and we end by using the EAP framework to define Jane's adaptation strategy $S1$ (cf. Section 6.3).

6.1 Defining Elementary Adaptations

In order to propose a generic solution, elementary adaptation patterns are defined on a generic domain model. Consequently, when authors select an elementary adaptation pattern, they have to instantiate its constituents on their personal domain model in order to obtain the elementary adaptation that meets their needs. We define elementary adaptations as follows:

Definition 3.
An elementary adaptation is obtained after an instantiation of an elementary adaptation pattern on a particular domain model.

Elementary adaptations have therefore the same structure as elementary adaptation patterns. The generation of an elementary adaptation is done in a semiautomatic way: the characteristics Name, Intent are generated in a semiautomatic way and the characteristics Solution and Constituents are automatically generated.

For example, when Jane wants to express the S1-3 part, she selects the pattern P2.2 and instantiates it with the classes Example and Definition (for informal description, see Section 3; for formal description, see Fig. 11).

Graphic: Fig. 11. The elementary adaptation 

Figure    Fig. 11. The elementary adaptation S1-3.

Following this principle, authors can define several elementary adaptations, each of them being associated with one user characteristic (step 2 in Section 4). When users have a profile composed of several characteristics, complex adaptation strategies have to be defined. They are obtained by combining elementary adaptations, each one being associated with a component of the user profile. This combination process is detailed below.

6.2 Combining Elementary Adaptations

Combining elementary adaptations together defines a combined adaptation.

Definition 4.
A combined adaptation defines a set of resources that satisfies all constraints imposed by multiple elementary adaptations simultaneously.

A combined adaptation has the same characteristics and is structurally identical to an elementary adaptation. Concretely, the combination process of a set of elementary adaptations consists in combining their characteristics together. A manual process is used to combine the characteristics Name and Intent as it needs natural language processing (not detailed here). We propose an automatic process to combine the characteristics Solution and Constituents, which is explained further below.

The combination of the characteristic Constituents is simple. Constituents coming from the different adaptations are gathered together into a set of constituents. But, the combination of the characteristic Solution is more complex and we have defined the following process. We have chosen to base the process on criteria concerning the selection of resources, as our final aim is to propose a set of resources. Thereby, we have criteria based on: classes to which a resource belongs, properties satisfied by a resource, and relations in which a resource participates. We express this process in two sequential steps:

  1. Build different sets of identifiers of expressions, one set for each different criterion (cf. Section 6.2.1).
  2. Build one adaptation from the sets built in step 1 (cf. Section 6.2.2).

6.2.1 Step 1 of the Combination

Let $Sol_1, Sol_2, \ldots, Sol_n$ be the solution part of the elementary adaptations to combine, where each $Sol_i$ is composed of

  • $n_i$ expressions noted $E_i$ , each expression having an identifier $Id_i$ .
  • $m_i$ metaexpressions noted $ME_i$ .

We group the identifiers whose expressions are expressed on one given criterion in different sets.

  • The identifiers whose expressions exploit classes are put in the same set ${\rm Set}_{cls} =\{{\rm Id}_i/{\rm Id}_i$ is an identifier that denotes an expression exploiting ${\rm classes}\}$ .
  • The identifiers whose expressions exploit relations are grouped into sets, one set per relation. ${\rm Set}_{rel} = \{{\rm Id}_j/{\rm Id}_j$ is an identifier that denotes an expression exploiting the relation $rel\}$ .
  • The identifiers whose expressions exploit properties are grouped into sets, one set per property. ${\rm Set}_{prop} = \{{\rm Id}_j/{\rm Id}_j$ is an identifier that denotes an expression exploiting the property $prop\}$ .

Where each $Id_i \in {\rm Sol}_i$ belongs only to one set, either to the ${\rm Set}_{cls}$ , to a set of $\{{\rm Set}_{rel}\}$ , or to a set of $\{{\rm Set}_{prop}\}$ .

6.2.2 Step 2 of the Combination

Let $Set_1, Set_2, \ldots, Set_p$ be the sets of identifiers obtained after the first step, let $Sol_c$ be the solution resulting from the second step of the combination process composed of

  • $n_j$ expressions noted $CE_{c}$ .
  • $m_j$ metaexpressions noted $CME_{c}$ .

Let $Set_c$ be the set of $p$ tuples built as follows:

$$Set_c = Set_1 X Set_2 X \ldots X Set_p.$$

For each tuple, a distinct identifier is defined and is associated with an expression $CE_c$ :

$$CE_c= E_1 \wedge E_2 \ldots \wedge E_p,$$


  • $CE_c$ is the expression belonging to $Sol_c$ .
  • $E_i$ is the expression whose identifier is $Id_i$ , and $Id_i \in Sol_i$ , $i = 1 \ldots p$ .

Identifiers are also used to associate knowledge with expressions. This results in defining metaexpressions. Defining metaexpressions on the expressions $E_c$ of the solution $Sol_c$ is done as follows:

Let $CE_i$ and $CE_j$ be two expressions belonging to the solution $Sol_c$ , where $CE_i$ (resp. $CE_j$ ) contains $E_1$ (resp. $E_2$ ), $E_1$ and $E_2$ belong to the same solution, and are linked by the metaexpression $Id_1 M_h Id_2 (Id_1$ (resp. $Id_2$ ) is the identifier of $E_1$ (resp. $E_2$ ) ). In that case, we deduce the metaexpression $Id_i M_h Id_j$ (where $Id_i$ (resp. $Id_j$ ) is the identifier of $CE_i$ (resp. $CE_j$ )).

However, as a metaexpression is an antisymmetric binary relation between two expressions, two types of conflict can be encountered. They are processed automatically (by deleting all metaexpressions in conflict except one). The process uses a default solution that can be changed by the author.

  • Conflict 1. The generation of the same relation between $CE_i$ and $CE_j$ and between $CE_j$ and $CE_i$ (e.g., $CE_1 \prec CE_2$ and $CE_2 \prec CE_1$ ). We propose to order sets of adaptations obtained after the first step according to 1) sets based on the navigational path of the graph, 2) sets exploiting the type of the resources, and 3) sets exploiting the characteristics of the resources.
  • Conflict 2. The generation of two metaexpressions between two identical expressions (e.g., $CE_1 \prec CE_2$ and $CE_1 \uplus CE_2$ ). We give a different priority to meta-expressions according to the defined relation: 1) Priority, 2) Recommendation, and 3) Alternate.

We have implemented the following deduction process of $CME_c$ . The $p$ sets of identifiers coming from the first step are first ordered according to the proposed order in the resolution of conflict 1. In a second time, each metaexpression defined using these identifiers allows us to deduce multiple metaexpressions of $CME_c$ . Each time a metaexpression is deduced, we check if it does not generate a conflict with the already generated metaexpressions. If a conflict of the first type is generated, the current metaexpression is not considered and the deduction process will continue. If a conflict of the second type is generated, we retain only one metaexpression according to the order defined in the solution of the second conflict.

6.3 Jane's Adaptation Strategy

We apply here our framework in order to define Jane's adaptation strategy $S1$ . We consider that the elementary adaptation S1-1, S1-2, and S1-3 (cf. Fig. 12) have been defined. Then, Jane has established correspondences between each elementary adaptation and a user characteristic S1-1 with in-depth learning mode, S1-2 with inductive reasoning mode, and S1-3 with audio presentation form. We focus now on the way S1-1, S1-2, and S1-3 are combined in order to produce $S1$ .

Graphic: Fig. 12. Description of 
S1-2, and 

Figure    Fig. 12. Description of S1-1, S1-2, and S1-3.

S1-1, S1-2, and S1-3 are combined automatically to define $S1$ . The combination process of their characteristic Solution is performed as follows: it has as input three elementary adaptations expressed on three different elements of the domain model. After step 1 of the combination process, three sets are built, one adaptation per set. After step 2, one combined adaptation is built, which is composed of eight expressions and 44 metaexpressions. Among the deduced expressions, we have

  • ${\rm E}_{c,1} = {\rm E}_{1-1} \wedge {\rm E}_{2-1} \wedge {\rm E}_{3-1} =$ linked-transitive(r, goal, prerequisite) $\wedge$ linked(rCurrent, r, prerequisite) $\wedge$ characteristicOf(r, format}, ${=}$ , audio) $\wedge$ instanceOf(r, Example).
  • ${\rm E}_{c,2} = {\rm E}_{1-1} \wedge {\rm E}_{2-1} \wedge {\rm E}_{3-2} \;{=}$ linked-transitive(r, goal, prerequisite) $\wedge$ linked(rCurrent, r, prerequisite) $\wedge$ characteristicOf(r, format, $=, {\rm audio)} \wedge$ instanceOf(r, Definition).
  • ${\rm E}_{c,3} = {\rm E}_{1-2} \wedge {\rm E}_{2-1} \wedge {\rm E}_{3-1} =$ linked-transitive(r, goal, prerequisite) $\wedge$ characteristicOf(r, format, $=, {\rm audio)} \wedge$ instanceOf(r, Example).
  • ${\rm E}_{c,4} = {\rm E}_{1-2} \wedge {\rm E}_{2-2} \wedge {\rm E}_{3-1} =$ linked-transitive(r, goal, prerequisite) $\wedge$ characteristicOf(r, format, ${=}$ , text) $\wedge$ instanceOf(r, Example).
  • ${\rm E}_{c,5} ={\rm E}_{1-2} \wedge {\rm E}_{2-2} \wedge {\rm E}_{3-2} =$ linked-transitive(r, goal, prerequisite) $\wedge$ characteristicOf(r, format, ${=}$ , text) $\wedge$ instanceOf(r, Definition).

${\rm E}_{c,2} \prec {\rm E}_{c,3}, {\rm E}_{c,2} \prec {\rm E}_{c,4}, {\rm E}_{c,2} \prec {\rm E}_{c,5}$ , and ${\rm E}_{c,3} \mid {\rm E}_{c,4}$ are examples of metaexpressions retained.

${\rm E}_{c,4} \prec {\rm E}_{c,2}$ , ${\rm E}_{c,1} \mid {\rm E}_{c,4}$ , ${\rm E}_{c,2} \mid {\rm E}_{c,5}$ , and ${\rm E}_{c,2} \mid {\rm E}_{c,4}$ are examples of metaexpressions not retained.


In this paper, we promote two main ideas behind the EAP framework: enabling authors to specify their adaptation strategies at a high level, and easiness of defining authors' adaptation strategies. Here, we prove these ideas by presenting the implementation of our framework (cf. Section 7.1), by discussing the execution of generated adaptation strategies using an existing adaptation engine (cf. Section 7.2), and by evaluating the expression of adaptation using the EAP framework versus a rule-based language (cf. Section 7.3).

7.1 Implementation of the EAP Framework

The framework has been implemented as a plug-in of the Protégé tool, 4 called eapTab (currently, under test). Its architecture is presented in Section 7.1.1 and its main functionalities are described in Section 7.1.2.

7.1.1 Architecture of the eapTab Plug-In

As described in Fig. 13, the plug-in includes two parts:

Fig. 13. Architecture of the eapTab plug-in.

First, a knowledge part gathers the library of elementary adaptation patterns and combination rules. The library is modeled in OWL, 5 where each elementary adaptation pattern is an OWL class and is defined as a specialization of a class called ElementaryAdaptationPattern. Besides, the combination rules implement the combination process (cf. Section 6.2) in a declarative way using SWRL rules 6 and the swrlx build-ins. 7

Second, the process part is made of components performing interaction with an inference engine (in our case Jess) and the OWL Protégé editor. We have used the OWL Protégé API to manipulate the author's domain and user models, the library of elementary adaptation patterns and their instantiations. We have also used the SWRL Jess Bridge 8 to execute SWRL rules using Jess.

7.1.2 Interaction with the eapTab Plug-In

The plug-in proposes multiple facilities. The author starts by loading his user and domain models. He can then define elementary adaptations by selecting an elementary adaptation pattern, and the constituents of the elementary adaptation. The solution part will then be generated automatically. The author can later define associations between an elementary adaptation and a user characteristic, while the combination process of multiple elementary adaptations is done automatically. Finally, eapTab helps authors to export their adaptation strategies automatically in the GLAM format. This conversion is done automatically and is described in the following section. We plan to implement additional extensions, for example, to be able to generate LAG adaptation.

7.2 Execution of Generated Adaptation Strategies

Adaptation strategies generated using the EAP framework are expressed at a high level, and are independent of any adaptation engine. Therefore, translators to existing adaptation engines are needed to execute these adaptation strategies. In this paper, we present our work to plug our framework on the GLAM platform, in order to be able to execute generated adaptation strategies by the GLAM adaptation engine. Before presenting this process, we first describe the GLAM platform.

7.2.1 GLAM Platform

GLAM is a platform defined for an entire class of AH. The platform is made up of a generic adaptation model relying on generic user and domain models. Specific systems can be obtained by specializing the GLAM generic user and domain models. An adaptation strategy in GLAM is described in two levels:

A level based only on domain-related knowledge. It concerns data about the domain model and the position of the user in the domain model. It is exploited using rules in a condition-conclusion format like:

$$\eqalign{&{\rm predicate}_1 \wedge \ldots \wedge {\rm predicate}_n \rightarrow\cr &\quad {\rm Action} ({\rm resource}_ i, {\rm degree}).}$$

The condition part describes the conditions having to be satisfied by resources proposed to users. Usually, this part is related to the existence of a relation defining a particular navigational path in the domain model, possibly to a type of resources or to restrictions concerning the resource format expressed using attributes of the Concept or Resource classes.

The conclusion part describes the activity proposed to users for proposed resources. It includes two elements:

  • Action. It describes the proposed activity for the proposed resource ( ${\rm resource}_i$ in the rule above).
  • Degree. It can be used in different treatments. In GLAM, it is used to describe the relevance of a resource against the others. It allows several resources to be proposed to the user, the degree of relevance being represented by a code (color, for example). The degree of relevance has five values (very high, high, medium, low, and very low), each value being associated with a particular color.

A level based on user-related knowledge and user characteristics. It is exploited using metarules. Metarules describe mechanisms that govern selection, scheduling, and excluding rules for a given user according to his profile. Let ${\rm R}_1$ , ${\rm R}_2$ be two sets of rules, where four types of metarules are proposed. Each metarule is a binary relationship between rules:

  • ${\rm R}_1 > {\rm R}_2$ (preference metarule). It means that we prefer to execute ${\rm R}_1$ rather than ${\rm R}_2$ .
  • ${\rm R}_1 \supset$${\rm R}_2$ (requirement metarule). It means that the execution of ${\rm R}_1$ requires the execution of ${\rm R}_2$ .
  • $\overline{R_1R_2}$ (exclusion metarule). It means that either ${\rm R}_1$ or ${\rm R}_2$ is executed.
  • ${\rm R}_1 \prec$${\rm R}_2$ (order metarule). It means that ${\rm R}_1$ is executed before ${\rm R}_2$ . The order metarules define a strict order between the elements on which they are expressed.

7.2.2 Plugging EAP Framework on GLAM Platform

In order to be able to plug the EAP framework on the GLAM platform, we first considered domain and user models used by the EAP framework in GLAM, then translated adaptation strategies expressed using the EAP framework to adaptation in the GLAM format.

Concerning domain and user models. The essential elements of domain model used by our framework are found in GLAM: the modeling of resources, concepts, properties, and relations. Furthermore, GLAM adaptation engine executes resources, in RDF 9 format, i.e., all OWL resources (e.g., OWL properties and OWL classes) are RDF resources by nature.

Concerning adaptation strategies. Adaptation strategies expressed using the EAP framework are composed of the characteristics Name, Intent, Solution, and Constituents. However, only the characteristic Solution has to be translated to GLAM, this latter includes a set of expressions and of metaexpressions. We have hence proposed two translations:

Translation of expressions to the GLAM format. For each expression ${\rm E}_i$ belonging to the set of all the expressions composing an adaptation strategy, we generate a rule ${\rm R}_i$ as follows:

  • The condition part of ${\rm R}_i$ is based on ${\rm E}_i$ .
  • The conclusion part of ${\rm R}_i$ is generated with a desirability degree set to “medium.”

Translation of metaexpressions to the GLAM format. For each metaexpression ${\rm M}_k$ belonging to the set of all the metaexpressions which compose an adaptation strategy, we perform the following steps:

  • If the kind of ${\rm M}_k$ is “ ${\rm E}_i \prec {\rm E}_j$ ,” and if ${\rm R}_i$ (resp. ${\rm R}_j$ ) is the rule obtained from ${\rm E}_i$ (resp. ${\rm E}_j$ ), we generate the metarule ${\rm R}_i \prec$${\rm R}_j$ .
  • If the kind of ${\rm M}_k$ is “ ${\rm E}_i \mid {\rm E}_j$ ,” and if ${\rm R}_i$ (resp. ${\rm R}_j$ ) is the rule obtained from ${\rm E}_i$ (resp. ${\rm E}_j$ ), we generate the metarules ${\rm R}_i \prec$${\rm R}_j$ and $\overline{R_iR_j}$ .
  • If the kind of ${\rm M}_k$ is “ ${\rm E}_i \uplus {\rm E}_j$ ,” and if ${\rm R}_i$ (resp. ${\rm R}_j$ ) is the rule obtained from ${\rm E}_i$ (resp. ${\rm E}_j$ ), we modify the conclusion part of ${\rm R}_i$ (resp. ${\rm R}_j$ ) as follows: ${\rm R}_i$ takes a degree of desirability higher than the desirability degree of ${\rm R}_j$ and possibly higher than its previous one (resp. ${\rm R}_j$ takes a degree of desirability lower than the desirability degree of ${\rm R}_i$ and possibly lower than its previous one). Desirability degrees are fixed. When two rules have a very high desirability degree, they can't have a higher degree than the existing one. The same principle is applied to a very bad desirability degree.

7.3 Evaluation of the EAP Framework versus Rule-Based System

We have carried out an experiment with real users to see if it is easier and faster to express adaptation strategies using elementary adaptation patterns versus using GLAM. For that, we asked course teachers 10 from Supelec 11 and INRIA 12 to define adaptation strategies according to Jane's use case (cf. Section 3).

As in our experiment, we focused on the expression of adaptation, we expressed the domain and user models according to each solution. We performed the evaluation on each volunteer separately (mainly due to their different availabilities). Seven volunteers 13 performed the evaluation. They were between 20 and 30 years old, with between one and seven years experience in higher education. Among the volunteers, there were six men and one woman and all of them were new to both solutions. We divided the sequence of experiment into two steps before and after specifying adaptation strategies. We detail them below.

Before specifying adaptation strategies. We argue that some skills may introduce a bias in our experiment. For example, for people, often manipulating rules, will easily express adaptation using rules and will do it quickly. To avoid this, we defined a questionnaire estimating skills related to our experiment, and the volunteers were asked to fill it in. The questionnaire included 16 questions, which we gathered in five groups: principals and implementation of AH, principals and modeling of personalization, use of rule-based languages, use and implementation of design patterns, and courses building. The volunteers had to estimate their knowledge between (none, little, intermediate, good, or very good).

Fig. 14 presents skills of the volunteers in a graph with two axes. In the abscissa, we present the groups of questions and in the column, 10 percent presents one volunteer. For AH skills, three volunteers had no background, three others only knew the principals, and one estimated that he had intermediate knowledge. Volunteers had better understanding of personalization: four volunteers knew about the principals, while three others had intermediate understanding. Concerning rule-based languages, five volunteers had little understanding, one volunteer had already used such language, and another one estimated that he had good skills. For design patterns' principals, three volunteers admitted having no knowledge at all, one volunteer only knew the principals and had never used a design pattern, one volunteer estimated he had an intermediate understanding, and two other volunteers said that they knew them well. For courses building, three volunteers had intermediate notions as they had just start teaching and three others estimated they had good skills and one volunteer estimated he had very good skills.

Graphic: Fig. 14. Skills of our volunteers.

Figure    Fig. 14. Skills of our volunteers.

Thus, none of them had any knowledge on the implementation of an AH, particularly on writing adaptation. They knew more or less what we mean by personalization. Consequently, we first explain general knowledge of AH. We then trained the volunteers using examples to introduce them to both solutions. Finally, they had to define at least $S1$ (cf. Section 3), first according to the EAP framework using eapTab, second, according to GLAM using a notepad. Starting with one system does not influence the results as they didn't know which one was our solution.

After specifying adaptation strategies. Once the volunteers had specified adaptation using both approaches, they were asked to evaluate the difficulty of expressing adaptation strategies using each solution. They had to choose between (very easy, easy, intermediate, difficult, and very difficult). We present their answer in Fig. 15 using a graph with two axes. In the abscissa, we present the answers related to GLAM and eapTab and in the column 10 percent presents one volunteer. When using GLAM, four volunteers (i.e., more than half of the volunteers) found that it was hard, mainly to express navigational paths and to specify the correct metarules. Using eapTab, three volunteers estimated that it was simple and one volunteer estimated that it was very simple. Therefore, more than half of our volunteers estimated that it was easy to express adaptation strategies using eapTab. Furthermore, the approach of breaking down an adaptation into multiple elementary ones seemed to be pleasant and intuitive for them, as they never think about how they should write their adaptation strategy, but only what they wanted to express. Only ergonomic requirements were given in order to improve the usability of eapTab.

Graphic: Fig. 15. Estimation of difficulty to express 
$S1$ .

Figure    Fig. 15. Estimation of difficulty to express $S1$ .

Additionally to this, we measured the time spent to express adaptation strategies using each approach. We grouped our estimation in four intervals (less than 10 min, between 10 and 15, between 15 and 20, more than 20 min). We present this estimation in Fig. 16 with two axes. In the abscissa, we present the time spent using GLAM or eapTab and in the column 10 percent presents one volunteer. We noticed that most volunteers were able to create similar adaptation strategies using eapTab within approximately half the time than when using GLAM. Furthermore, they defined only $S1$ when they used GLAM, while they did not hesitate to define others using eapTab. We explain these results by the fact that when using GLAM, authors have to manually find all the conditions that must be satisfied by the proposed resources and manually compose the different conditions. These conditions must be written as rules in GLAM. Then, they have to define which rules are to be applied to which user by writing metarules. When using eapTab, volunteers only have to define the elementary adaptations, then to associate them to user characteristics and the combination process is done automatically. They have to trust the solution for the combination process. Note that, $S1$ is defined using eight rules and six metarules in GLAM (cf. Fig. 2), where GLAM rules include repetitive parts, e.g., the selection of definitions is present in four rules. While using EAP framework, it requires only three elementary adaptations (cf. Section 6.3).

Graphic: Fig. 16. Estimation of time spend to express 
$S1$ .

Figure    Fig. 16. Estimation of time spend to express $S1$ .

Conclusion and Future Work

This paper proposes the EAP framework, in which adaptation strategies are described at a finer granularity than what is proposed by existing languages. This is obtained by the definition of 22 elementary adaptation patterns [ 30] to express the adaptive navigation, and which are organized in a typology. The elementary adaptation patterns are based, on the one hand, on a criterion to select resources and, on the other hand, on a criterion to organize the selected resources. Thereby, we have defined a set of criteria to select resources and to organize selected resources.

Furthermore, the elementary adaptation patterns are independent from the domain model. They can be instantiated on a specific application domain in order to define elementary adaptations. The defined elementary adaptations are associated with user characteristics and combined to make whole adaptation strategies. One of the major benefits of the framework that we propose is the automation of a large and complex part of the process of generating complex adaptation strategies.

The generated adaptation strategies are expressed at a high level and independent of any adaptation engine. In order to be executed, we have described a first possible way using the GLAM adaptation engine. Furthermore, we have conducted experiments that showed the simplicity of our EAP framework rather than a rule-based language (in our case, GLAM).

Our future work will be devoted to integrating our framework on other AHSs. We will study how to automatically translate generated adaptation strategies (using the EAP framework) to other generic adaptation languages like LAG, and GAL. It would also be interesting to do a scale-up test in order to detect the combinations most frequently used by authors. These adaptations could be directly recommended to them. Furthermore, it would be useful to extend our elementary adaptation patterns in order to be able to express adaptive content and adaptive presentation. Finally, our solution exploits user and domain models, which may evolve over time. Consequently, as a future work, we plan to consider the evolution of models, including how to evolve adaptation strategies defined using elementary adaptation patterns when domain or user models change.


About the Authors

Bio Graphic
Nadjet Zemirline received the master's thesis from the University of Paris-Sud in France in 2007 and the engineer degree from the University of Technology and Science in 2006 in Algeria. She has been working toward the PhD degree in computer science at the University of Paris-Sud since November 2007. Her primary interests lie in the areas of personalization, particularly, adaptive hypermedias. Her paper summarizes a part of the current state of her thesis work.
Bio Graphic
Yolaine Bourda is a professor of computer science at Supélec. She is the head of the Computer Science Department. Her research focuses on adaptive hypermedia and adaptive web-based systems with applications in technology-enhanced learning. This includes metadata for describing learning resources, Semantic Web for e-learning, and logic-based formalization of personalization. She is the author of more than 50 refereed journal articles and conference papers. She is also deeply involved in the ISO/IEC SC36 Information Technology for Learning Education and Training Committee. She is a member of the IEEE and the IEEE Computer Society.
Bio Graphic
Chantal Reynaud is a professor of computer science in the Laboratory of Computer Science (LRI) at the University of Paris-Sud. She is the head of the Artificial Intelligence and Inference Systems Group. Furthermore, she is a member of the INRIA-Saclay Ile-de-France group called Leo in which research activities are related to distributed and heterogeneous data and knowledge. Her areas of research are ontology engineering and information integration. In particular, she works on the following topics: information extraction from semistructured data (e.g., XML documents), mappings between ontologies, and ontology/model evolution and adaptation. She is involved in several projects combining ontology engineering techniques for information integration. She is the author of more than 80 refereed journal articles and conference papers.
67 ms
(Ver 3.x)