02.12.2012 Views

Web-based Learning Solutions for Communities of Practice

Web-based Learning Solutions for Communities of Practice

Web-based Learning Solutions for Communities of Practice

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

tives have been negotiated with CoP members to<br />

answer their specific needs. The basic idea is to<br />

keep track <strong>of</strong> the updates made to the template<br />

in a mapping file, and to identify the portions <strong>of</strong><br />

the template that require a revalidation because<br />

<strong>of</strong> these updates. From the mapping file, a trans<strong>for</strong>mation<br />

script is generated automatically and<br />

the document portions affected by those updates<br />

can then be identified and adapted in an automatic<br />

manner. For this, we first propose a taxonomy <strong>of</strong><br />

atomic evolution primitives.<br />

As in Guerrini et al. (2006) we consider three<br />

categories <strong>of</strong> atomic evolution primitives: insertion,<br />

modification, and deletion. These primitives<br />

are applied to types and elements (as defined in the<br />

XTiger specification). Moreover, modifications<br />

can be further classified in three sub-categories:<br />

structural, re-labelling, and migration modifications.<br />

Structural modifications allow to modify<br />

the type <strong>of</strong> an element and its constraints (e.g.<br />

cardinality constraints). Re-labelling modifications<br />

allow to change the name <strong>of</strong> an element/<br />

type. Migration modifications cover two cases,<br />

first moving a sub-element from an element to<br />

another one and second trans<strong>for</strong>ming a local type/<br />

element to a global type/element (and vice versa).<br />

In order to ensure that the modified template<br />

remains well <strong>for</strong>med and valid according to the<br />

XTiger specifications, applicability conditions<br />

are en<strong>for</strong>ced on each primitive.<br />

Moreover, we propose high level primitives in<br />

order to express more complex updates. A high<br />

level primitive is represented as a sequence <strong>of</strong><br />

atomic primitives that can be executed as a single<br />

operation. These primitives have been introduced<br />

to facilitate the template evolution task <strong>for</strong> CoP<br />

members and to describe more common sequence<br />

<strong>of</strong> atomic primitives. Examples <strong>of</strong> high level<br />

primitives include: Aggregator primitives: they<br />

mainly include primitives <strong>for</strong> inserting, moving,<br />

changing whole substructures rather than a single<br />

element at a time; Merge/split primitives: Elements<br />

values are not always represented at the same<br />

level <strong>of</strong> atomicity. For example the author name<br />

22<br />

A Document Reuse Tool <strong>for</strong> <strong>Communities</strong> <strong>of</strong> <strong>Practice</strong><br />

in the template <strong>of</strong> figure 2 is represented using<br />

an element <strong>of</strong> type string. However, as described<br />

in the motivating example 2, <strong>for</strong> a given reason a<br />

new design choice could be to separate the author<br />

name into a First-Name and a Last-name. For<br />

such cases, instead <strong>of</strong> removing the elements and<br />

inserting new ones without any guarantee that the<br />

content will be preserved, we define two operations<br />

Merge and Split to per<strong>for</strong>m this task and ensure<br />

that the content will be preserved.<br />

Figure 4 depicts the template driven evolution<br />

service interface. Two categories <strong>of</strong> evolution<br />

primitives are presented: primitives applied to<br />

template elements and the ones applied to types.<br />

The template is graphically presented using the<br />

<strong>for</strong>m metaphor as in the template-driven structuring<br />

tool. The user has just to select the template<br />

element/type he wants to modify, only applicable<br />

evolution primitives can then be applied. The<br />

template is updated (new XTiger code is generated<br />

in a transparent manner). Instances are then<br />

automatically trans<strong>for</strong>med.<br />

SUMMARY<br />

<strong>Communities</strong> <strong>of</strong> practice are social networks<br />

<strong>of</strong> relationships that provide in<strong>for</strong>mation,<br />

knowledge, and a space where people interact<br />

<strong>for</strong> mutual benefit. This paper studies document<br />

content reuse problem within CoPs. Faced with<br />

the diversity <strong>of</strong> documents <strong>for</strong>mats, content and<br />

goals, a critical step in document reuse is to make<br />

such documents self-explaining. The main idea<br />

is that by enriching original documents with an<br />

explicit logical structure, we can assist authors<br />

in the reuse process. This is done by proposing<br />

a template-driven editing approach in order to<br />

produce structured documents.<br />

In order to reuse such documents, two services<br />

are proposed: the first one determines similarities<br />

between two templates (source and target)<br />

using matching techniques and then generates<br />

automatically a trans<strong>for</strong>mation script able to re-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!