Reengineering Framework for Systems in Education

0 downloads 0 Views 302KB Size Report
the reverse engineering of a TEL system and the second its reengineering. .... The engineering viewpoint: A viewpoint on the system and its environment that ...
Choquet, C., & Corbière, A. (2006). Reengineering Framework for Systems in Education. Educational Technology & Society, 9 (4), 228-241.

Reengineering Framework for Systems in Education Christophe Choquet and Alain Corbière LIUM Laboratory, University of Maine, IUT of Laval, 53020 Laval Cedex 9, France [email protected] [email protected] ABSTRACT Specifications recently proposed as standards in the domain of Technology Enhanced Learning (TEL), question the designers of TEL systems on how to put them into practice. Recent studies in Model Driven Engineering have highlighted the need for a framework which could formalize the use of these specifications as well as enhance the quality of the developments. This paper deals with the opportunity for the TEL community to adopt such a model to express and formalize the design organization and the engineering process of a TEL system. This kind of model could provide a set of concepts allowing the description of specifying, modeling and analyzing tasks one needs to perform for defining the negotiation and the communication between actors in such a community. In a first part, we stress the need for the instantiation of this framework so as to integrate recent results as well as taking into account the evolution of software reengineering. In a second part, we propose two instances of this framework; the first concerns the reverse engineering of a TEL system and the second its reengineering.

Keywords TEL engineering, TEL reengineering, TEL development process, Model driven engineering

Introduction The design of TEL (Technology Enhanced Learning) systems calls for the communication and sharing of information about the users of these systems. In recent studies, the standards and specifications proposed by the TEL community have provided interoperable languages for the specification of the learning session’s progression, in order to enhance the communication between the actors of the development. These proposals are mainly focused on the a priori specification of the system’s behavior. But (Wenger, 1987; Bruillard & Vivet, 1994; Hummel et al., 2004; Tchounikine et al., 2004) for instance, have shown that the design methodology of a TEL system cannot be reduced to the specification but must also instrument the tasks of recording and analyzing the uses of the system. Our objective is to merge TEL community results on standards and specifications, and proposals made by the software engineering community. In this way, we aim to support the communication between actors of development in a general reengineering framework, as Chikofsky (1990) for who "reengineering, also known as both renovation and reclamation, is the examination and alteration of a subject system to reconstitute it in a new form and the subsequent implementation of the new form". Recent proposals of TEL standards and specifications lead to the adoption of new design practices and methodologies, but they don’t provide designers with a set of concepts allowing the explicitation of the organization and the implemented engineering. Some development solutions are provided by the Object Oriented Software Engineering community, especially in the domain of software reengineering. With an empiric approach first, the open source and free software communities have had to develop specific and effective tools which support the structured communication around a design artifact. At the same time, the research community on software engineering has provided methodological developments as well as a standardized and shared vocabulary for software reengineering focused on the interoperability and reusability points of view. Chikofsky (1990) for instance, proposed a first terminology dedicated to the definition of the tasks of reverse engineering and reengineering. More recently, and based on this taxonomy, the European project ESPRIT 21975 (Bär et al., 1999) has provided a set of patterns and pattern languages which define and standardize both methodological concepts – such as “capture model details” or “negotiate a design” – and vocabulary – such as “process” or “structure”. The aim of this paper is to show how these results from the software engineering community could be used to define a general framework, able to support a set of designers, considered as a community, involved in the reengineering process of a TEL system. We propose to make an instance of the RM-ODP (Reference Model of Open Distributed Processing) framework on the reengineering process of a TEL system. This reference model is considered as a framework which coordinates and standardizes open distributed processes by the fine definition of a set of concepts on engineering practices. Aims and motivations of this RM-ODP standard are detailed in the document ISO/IEC 10746-1 (ISO/IEC 10746-1, 1998). ISSN 1436-4522 (online) and 1176-3647 (print). © International Forum of Educational Technology & Society (IFETS). The authors and the forum jointly retain the copyright of the articles. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear the full citation on the first page. Copyrights for components of this work owned by others than IFETS must be honoured. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from the editors at [email protected].

228

In a first part, we present the instantiation of the standard RM-ODP on the reengineering process of a TEL system. Then, we provide two use cases of the model we have proposed. The first one highlights a reverse engineering task where both an instructional designer and a software engineer are involved. The second one shows how, during the reengineering of a TEL system, the communication between an instructional designer and an analyst specialized in the interpretation of users logs could be supported.

A General Framework for the Reengineering of a TEL System Reference Model of Open Distributed Processing Presentation RM-ODP is defined by its authors as a generic framework aimed to support the modeling process of a complex and distributed system. For this purpose, it stresses the need for the designers to refine within their own domain, a set of generic concepts, such as object composition/decomposition, object state and behavior, viewpoints… These concepts are declined following three modeling phases introduced by the model: ¾ the system specification, where designers classify and make up the different objects of the system; ¾ the system modeling which defines, for different levels of abstraction, the models of interaction between objects; ¾ the system structuring, where the different structures which should be implemented in the system are defined. The aim assumed by RM-ODP is to help a community of designers to adopt a consensus (e.g. a standard) regarding the designing process of their system. With this in mind, RM-ODP is structured into three complementary documents. The first one, the “Overview” (ISO/IEC 10746-1, 1998) defines the model’s application spectrum. The second one, “Foundations” (ISO/IEC 10746-2, 1996), defines the set of generic concepts related to the specification, modeling and structuring phases. The last one, “Architecture” (ISO/IEC 10746-3, 1996) is dedicated to the definition of five viewpoints on the design of a system architecture, as well as the definition of the different languages associated with these viewpoints. These are: ¾ The enterprise viewpoint: A viewpoint on the system and its environment that focuses on the purpose, scope and policies for the system, represented with concepts such as community, actor, role, activity and tool. ¾ The information viewpoint: A viewpoint on the system and its environment that focuses on the semantics of the information and information processing performed. ¾ The computational viewpoint, which is concerned with the functional decomposition of the system into a set of objects that interact at interfaces – enabling system distribution. ¾ The engineering viewpoint: A viewpoint on the system and its environment that focuses on the mechanisms and functions required to support distributed interaction between objects in the system. ¾ The technology viewpoint: A viewpoint on the system and its environment that focuses on the choice of technology in that system. Specifying an architecture in the RM-ODP framework allows designers to focus their attention with these five viewpoints (see Figure 1). They are the main proposals of RM-ODP which allow the mastering of a complex system specification.. Metamodel : Foundation Enterprise viewpoint

computational viewpoint

information viewpoint

engineering viewpoint Specification and Modeling acts Structuring acts technology viewpoint

Figure 1. The five viewpoints of RM-ODP 229

TEL Standards, Specifications and Projects: Part of the Instantiation of RM-ODP Recent works and projects on TEL engineering, conducted by several standardization committees, consortiums and scientific and industrial communities, want to define formalisms, engineering methods and/or platforms which focus on a specific aspect of a TEL system, whilst remaining neutral from a pedagogical point of view. These approaches are close to the concept of viewpoint as defined by the RM-ODP standard, which allows the specification of different aspects of a system within a same framework. The information viewpoint. The LOM (Learning Object Metadata) standard of the IEEE (Institute of Electrical and Electronics Engineers) (IEEE 1484.12.1, 2002) is a meta-descriptor for a learning object which allows indexation in a distributed databank for reuse. The EMLs (Educational Modeling Languages) (Rawlings et al., 2002), and especially the informational models proposed by the IMS Consortium, like Learning Design (IMSLD/IM, 2003), are languages which allow the definition of an instructional scenario by the association between informational concepts such as roles or activities. The related constraints are defined by informational models in several technical documents. These two main proposals could be considered as the instantiation of the information viewpoint of RM-ODP on the TEL engineering: they allow a coherent description of both the learning objects and the scenarios of a TEL system. The proposed formalisms bring designers to use a formal syntax for their descriptions. The computational viewpoint. One of the three documents provided by IMS for its Learning Design Specification, named "Best Practice Implementation Guide" (IMS-LD/BP, 2003), describes the functional decomposition of a TEL system through the specification of links, interfaces and interactions between objects. Earlier, the LTSA (Learning Technology Systems Architecture) proposal (IEEE- P1484.1/D9, 2001) of IEEE aimed to define an architectural model to highlight the functional components and the different flows existing in a learning process. These two proposals could be considered as the instantiation of the computational viewpoint of RM-ODP on the TEL engineering. The engineering viewpoint. SCORM (Sharable Content Object Reference Model) (ADL, 2004) proposed by ADL (Advanced Distributed Learning) and "Abstract Framework" (IMS-AF/WP, 2003) provided by IMS, could be considered as the instantiation of the engineering viewpoint of RM-ODP on the TEL engineering. These two proposals synthesize the specification of the technical framework of a TEL system. Freeware community projects such as OpenUSS (2005) or industrial specifications such as E-Learning Framework (SUN, 2003) are relevant of the consensus adopted in the IMS document. These proposals stress the need for the designers to know and take into account the characteristics of the interfaces and behaviors of the different components of a TEL system. The technology viewpoint. We don't aim to elaborate here on the necessity for the TEL community to adopt software approaches as Model Driven Architecture proposed by OMG (2001), but we think that the different TEL projects which are relevant to this approach, like OpenUSS (Grob et al., 2004), FreeStyle Learning (Brocke, 2001), or Future Learning Environment (Leinonen et al., 2002) are good examples of the instantiation of the technology viewpoint of RM-ODP in a TEL project. This short panorama of the TEL community results allows us to focus on the shortcomings of these works. The initial and main objective of these projects, especially the standards proposals, is to enhance the interoperability between TEL systems and the reusability of their productions. As a consequence, all of these propositions lead to the instrumentation the specification task, neglecting the iterative dimension of the development of an educational system. The instantiation of RM-ODP on TEL engineering highlights the weakness of the enterprise viewpoint in our TEL community. In particular, we want to underpin a meta reflection on the life cycle of a TEL system, on languages used in each viewpoint, and on interrelations existing between all actors of the iterative process of a TEL development. This is the reason we propose below an enterprise viewpoint for the reengineering of a TEL system. The Enterprise viewpoint for reengineering of a TEL System The quality approach of RM-ODP concerns the organization of the actors, the documents and the phases of the system life cycle. Quality could be defined here by the quantity of observed uses which have been taken into account in a reengineering purpose, but also by the research of qualitative missing indicators (ISO/IEC 10746-1, 1998, Chapter 9.1). The enterprise viewpoint of RM-ODP allows the explicitation of the organizational dimensions related to such an iterative process in a unique framework. 230

Pawlowski (2002) is a first approach for identifying and taking into account the specific enterprise aspects of a TEL development. But it is restricted and only synthesizes the different projects in educational systems quality insurance. Moreover, this work does not contribute to defining a unique framework including other approaches such as, for instance, the existing standard proposals. Oubahssi et al. (2004) want to define a new meta descriptor which allows the designers to describe each type of learning object (which here could be a web document, a video,… but also a scenario, a service, a role, …) during all phases of the design, the use and the analysis of a TEL system. But the enterprise viewpoint is not supported here: only the computational and information viewpoints are taken into account. The proposal of an enterprise viewpoint for the reengineering of TEL systems we make here, as shown in Figure 2, aims to integrate both the different constraints existing in a reengineering process and the specificities of the use of TEL standards. We use the vocabulary described in (ISO/IEC-15414, 2002): ¾ Process: a collection of steps taking place in a prescribed manner and leading to an objective. A Process is a set of tasks which operate and produce information for reaching and operational objective. ¾ Community: a collection of enterprise objects which share the same objectives. A Community is constituted by humans, informative resources and/or tools which share the same objective into the system under specification. ¾ Enterprise Object: a basic entity of the enterprise specification to fulfill one or more roles. An Enterprise Object could be any component of the system specification which could assume at least one basic function in the operational system. ¾ Role: abstraction of an enterprise object behavior or a community behavior. A Role emphasizes the comportment of one entity or a set of them. ¾ Actor: an enterprise object that participates in the action. Thus, the term Actor qualifies the entities which participate to a named interaction with other objects. ¾ Action: Action is a basic modeling concept to qualify each object within an ODP system. An Action allows the definition of an interaction inside an object or between several objects. ¾ Objective: a practical advantage or intended effect, expressed as preferences about future states. ¾ Behavior: A behavior of an object is a collection of actions that the object may take part in, together with the set of constraints on when those actions can occur. ¾ Artifact: an enterprise object that is referenced in the action, that is to say, that is necessary for performing the action. ¾ Resource: an enterprise object which is essential to some behavior. ¾ Step: An abstraction of an action, used in a process that may leave unspecified objects that participate in that action. This term allows the definition of actions prototypes. Graphical conventions are taken from the ECA (Enterprise Collaboration Architecture) UML profile, as proposed by the OMG consortium (OMG/ECA, 2004). This profile aims to support a model driven development process, in an RM-ODP framework (Nagase et al., 2004). The enterprise viewpoint we propose for the TEL systems reengineering is composed of six processes, described here with the help of the vocabulary and rules proposed by RM-ODP. The Design Process produces specifications guided by the main standardized informational models of TEL (e.g. LOM and Learning Design). These specifications need to be adapted to existing resources (learning objects) and learner profiles, and/or modified, taking into account information produced by the Analysis Process (uses analysis, system comportment). The Software Engineering Process interprets the designers' specification and produces a prototype of the TEL system (we consider here each system as a prototype which could be modified by reengineering). This process has to negotiate with the Design Process and the Analysis Process in order to define the observation needs of a learning session and to develop and integrate the related software captors. The Learning Process supports the learning sessions. It reifies the scenario specified by the Design Process and implemented by the Software Engineering Process in the prototype. This scenario leads to the organization of some actions, named activities in Learning Design, performed by the actors' roles of the learning session. The Analysis Process operates computational and manual use analysis techniques. Its negotiation with the Software Engineering Process could establish new needs: events to observe and/or new interpretations. Uses analysis feedback is provided to the Design Process.

231

The Resources Management Process manages the learning objects resources. The Learners Profiles Management Process manages the enterprises objects, named here audits, of the Analysis and Design Processes of the TEL system reengineering community. These objects are mainly structured knowledge, provided as, for example, described scenarios in the meaning of (Iksal & Choquet, 2005; Barré & Choquet, 2005). The processes take part in the actions of the TEL system reengineering process community. The definition of a community (see above) allows us to consider each process itself as a community of enterprise objects. We will describe the objectives, roles and processes of these communities with two examples, one on the reverse engineering of a TEL system, the other on its reengineering. TEL System Reengineering Community Learning Process

execute a prototype

produce an observable

Software Engineering Process

Analysis Process produce a prototype

analyze an observable

adapt a component produce a model use a resource

interpret a specification

Resources Management Process

interpret a model

store a resource

produce a resource

interpret an information

provide a resource analyze a query

use a resource search a resource

ask for an audit

produce an information

make an interpretation of an audit

Learners Profiles Management Process

Design Process produce a specification

provide a resource

ask for an adaptation

interpret an audit

produce an audit manage an audit produce an audit

Figure 2: UML package of the enterprise viewpoint of the reengineering process of a TEL system

Use Cases Presentation of the TEL system For four years, we have been testing a TEL system with a reengineering approach using higher degree students of a Computer Technology Institute and their teachers. Each year around fifty students participate to a two-hour learning session. After each session, teachers – who are the designers – and ourselves – who play the roles of software engineers and analysts, modify the system according to the uses analysis results. We will exemplify the use cases with this test as described briefly below. During a learning session, the students learn the main principles of the operationalization of a HTTP server with the deployed educational environment. The session is a part of a well identified course within the cursus provided by the Institute. The initial instructional scenario defined by designers was organized around 6 activities supported by, at least, one web resource. ¾ The activity "Introducing the Learning Unit" is supported by a video which presents the main characteristics of a web server. This activity aims to present both the background knowledge mobilized by the learning unit, and the set of know-how the learner will acquire.

232

¾ ¾ ¾ ¾ ¾

The activity "Going into the Matter" is supported by a HTML document, composed of texts and figures which describe the main web protocols a web server has to support, and the programming tools needed to operate them. The activity "Linking Concepts and Methods" is supported by two slide shows, one presenting the relevant concepts, and the other describing, step by step, the execution of the Java code of a server. The activity "Training to Understand" is supported by several exercises on the HTTP server programming. The activity "Learning by Doing" is supported by a simulation where the learner, helped by a Java editor and a compiler, should modify existing code in order to make a functional web server. The activity "Evaluating the acquisition" is supported by two multiple choice questionnaires.

As we have defined before, the enterprise viewpoint of a TEL system is composed by six processes (design, software engineering, learning, analysis, resources management and learners profiles management). Each of them should use software such as the open software projects – referenced in the Table 1 – as we have used for our test. Table 1: Open Software Projects Used in the Test Process

Open software products

Design Process

Mozilla (Mozilla, 2005), OpenOffice (OpenOffice, 2005), OpenUSS (OpenUSS, 2005), FreeStyle Learning (FSL, 2005)

Software Engineering Process

Eclipse (Eclipse, 2005), AndroMDA (AndroMDA, 2005), PoseidonCE (PoseidonCE, 2005)

Learning Process

Mozilla, OpenUSS, FreeStyle Learning

Analysis Process

Weka (Weka, 2005), WUM (WUM, 2005)

Resources Management Process

GForge (GForge, 2005), CVS (CVS, 2005)

Learners Profiles Management Process

OpendLDAP (OpenLDAP, 2005)

The Use Case of a Reverse Engineering of an Educational System On page 15 of Chikofsky (1990), the reverse engineering is defined as "the process of analyzing a subject system with two goals in mind: 1) to identify the system's components and their interrelationships; and, 2) to create representations of the system in another form or at a higher level of abstraction". We will here present a typical use case of reverse engineering which explains how the RM-ODP framework could guide the software engineering process when it tries to implement the specification (a representation of the TEL system from the information viewpoint) provided the design process. The interaction between these two processes produces an artifact which is a representation of the TEL system from the technology viewpoint. This use case is structured in five steps, as shown in figure 3. Foundations

¦ §

Enterprise viewpoint

Computational viewpoint

Information viewpoint

¨

© Engineering viewpoint

ª Technology viewpoint

Figure 3: The five steps of the Reverse Engineering Use Case

233

Step 1: Instantiation of the enterprise viewpoint. The reverse engineering of a TEL system needs a dialog between the software engineering process and the design process. It is this interaction between these two enterprise objects, grouped in a same community, which is modeled from the enterprise viewpoint, as shown in Figure 4 with ECA notation. Reverse Engineering Community Design Process

Engineering t Process

t

Designer / Engineer Protocol

Engineer / Designer Protocol

Figure 4: Instantiation of the Enterprise Viewpoint Step 2: Instantiation of the information viewpoint. The role of the design process, instigator of the dialog, is to produce a specification of the TEL system, from the information viewpoint. We have used the different information formalisms provided by the IMS consortium for our test. Figure 5 is an excerpt from the instructional scenario, modeled in IMS Learning Design and IMS Content Packaging. It shows the environment, made up of two objects, chosen by the designers to support the activity "Going Into Matter". The object "knowledge-object" is the HTML document "author_text1.html" which contains the pedagogical content. The object "tool-object" is the Java component "manager.jar" which handles the diffusion of the document. In fact, according to Koper (2001), when designers choose to present the pedagogical content ("knowledge-object"), they explicit the need of the support object ("tool-object"). … …

Figure 5: Excerpt of the Instructional Scenario Step 3: Instantiation of the software engineering viewpoint. When the design process provides its specification, the software engineering process needs to identify and characterize, in a modeling task, the states of the objects introduced by the specification. Guided by the RM-ODP framework, a software engineer knows that he needs to identify three schemas (ISO/IEC 10746-3, 1996, Chapter 6.1): ¾ the Invariant Schema is a set of predicates and relations on information objects which are always true; ¾ the Static Schema defines the state of the information objects at some point in time; ¾ the Dynamic Schema is a specification of the allowable state changes of the information objects, subject to the constraints of an invariant schema. Here, the static schema is the set of models defined by the proposals Learning Design and Content Packaging of IMS and Content Package of ADLNet, to which are issued the information objects of the designers' specification (imscp:file, imscp:resource, imsld:item, imsld:environment, imsld:learning-object and adlcp:scormtype). The 234

invariant schema defines the existing links between these different objects, as it is shown in the Figure 6, with the help of the UML graphic language for a class diagram (OMG/UML, 2003). adlcp:scormtype

1

imsld:environment

imscp:resource

imsld:learning-object 2

imscp:file

Figure 6: Invariant Schema The dynamic schema does not exist at this state of the design. Thus, the software engineering process needs to identify and model new information objects, in order to establish the dynamic schema. One needs here to characterize the behavior of these different objects. Step 4: Instantiation of the computational viewpoint. To characterize the dynamic schema, the software engineering process needs more information on the specification provided by designers. The pattern "Capturing model details" proposed by Demeyer et al. (2002), supports such a reverse engineering approach. From the computational viewpoint, the software engineering process wants to define a functional decomposition of the system. As an example, the SCORM object proposed by the designers to support the activity "Going into the Matter" (the HTML document "author_text1.html", see figure 5) is an "asset", which is indivisible. This type of object is only provided to the learner, without any expected feedback. But a "SCO" SCORM object is linked to it (see figure 5). This type of object contains a structure of internal objects which describes its functioning. The RM-ODP framework proposes a typology of the interfaces (ISO/IEC 10746-3, 1996, Chapter 7.1) supporting the interactions between these objects, in order to model them better: ¾ a Signal Interface, in which all the interactions are signals; ¾ an Operation Interface, in which all the interactions are operations; ¾ a Stream Interface, in which all the interactions are flows. The focus of attention of the software engineering process on the signal interface leads it to adopt the event programming paradigm as deployed by the SUN Java technology Swing (2005), for the implementation of the SCORM object. FSL

W3C

FLGTextStudyElementsContentPanel

1

Swing

* JTextPane

JScrollPane 1

1 1

XHTML 1.0

HTMLDocument

1

JEditorPane

1



*

JTextComponent +getUI() +getText()

* JScrollBar

JViewPort 1

1

+getExtendSize()

+getVerticalScrollBar() +getViewPort()

1

XHTML 1.0 Extend Track

FLGHTMLObserver 1

1

Figure 7: The enterprise artifact produced by the reverse engineering 235

Step 5: Instantiation of the technology viewpoint. From the computational viewpoint, the software engineering process needs to identify the different states and behaviors of the objects specified by designers. From a technology viewpoint, it means that the software engineering process needs to develop and integrate software captors into these objects, in order to track the behaviors of the technology objects corresponding to the information objects. In our example, it needs to identify what events (signals) could be exchanged and, for each of these events, identify the emitter and the receptor. One of the design patterns widely adopted by the software engineering community for this kind of problem is the MVC paradigm (Model/View/Control) described by Buschmann et al. (1996). It is implemented in the Java library "swing/JFC". Each object proposed by the designers and relevant to this paradigm could be a traceable object. Conclusion. The reverse engineering of a TEL system described by this use case is initiated by the design process but concerns mainly the software engineering process which, guided by the RM-ODP framework, aims to define the dynamic schema of the TEL system from its information specification. The result of the reverse engineering process is the artifact shown by figure 7. From the enterprise viewpoint, this artifact increases the quality of the specification provided by designers: even if it wasn't specified, by asking to themselves questions suggested by RM-ODP, the software engineers have enhanced the Learning Object in order to track its use. This result could be shared with designers, and generate new kinds of instructional scenarios by taking into account these tracking possibilities. The Use Case of a Reengineering of a TEL System With Chikofsky’s definition in mind (see before), one can say that reengineering a system is relevant to a model driven approach, in an iterative development process. The main reengineering acts on a TEL system are the modifications made by the designers on the informational model of the educational system, especially by taken into account the uses observed during a learning session. We will present here a reengineering use case where the analysis process provides information to the design process which is useful to understand better the real sequence of learning objects that each learner performed. With these data, both the informational and the software engineering viewpoints are modified. Figure 8 describes the four steps of the use case, one for each participating role: software engineering process role, learning process role, analysis process role, design process role.

: software engineering process : produce a prototype

¦

: learning process : produce an observable

: execute a prototype

¨

: analyze an observable

§ : design process : interpret an information

: analysis process

: produce an information

©

Figure 8: UML Collaboration Diagram of the Reengineering Use Case Step 1: the role of the software engineering process. Each reengineering of a system implies its reverse engineering. In this use case, by applying the reverse engineering pattern (Demeyer et al., 2002), the software engineering process has developed and integrated captors to the TEL system. This allows the reverse engineering by producing information on the effects of the decisions made from the engineering viewpoint. Following the RM-ODP guidelines, the engineering objects are grouped in clusters to reduce the complexity of their manipulation. Figure 9 is an excerpt of the FreeStyle Learning deployment script on the learners’ computers. One could see that, even, from an informational viewpoint, there are several objects with a same type (e.g. 3 exercises, 2 slide shows, 2 MCQ), the engineering objects are only the corresponding components (e.g. 1 exercise component, 1 slide show component, 1 MCQ components). Step 2: the role of the learning process. From the computational viewpoint, these engineering objects are SCORM components (SCO) provided to each client computer. They are observed and tracked by the LMS (Learning Management System) following the SCORM technical specification. The transition/state UML diagram of figure 10 shows the global interaction between the LMS and each SCO. 236

… FreeStyle Learning … "Cluster" … Object … "Engineering" Objects …

Figure 9: FreeStyle Learning Deployment Script

Initialize() SCO is launched by LMS and SCO has found the API Not Initialized NOTE: SCO calls Initialize()

GetLastError() GetErrorString() GetDiagnostic()

Terminated

GetValue() SetValue() Commit() GetLastError() GetErrorString() GetDiagnostic()

Terminate()

Running GetLastError() GetErrorString() GetDiagnostic()

Figure 10: Transition/State UML Diagram of a SCORM component (ADL, 2004) Step 3: the role of the analysis process. The information provided by the TEL system to the analysis process is structured in data as shown in figure 11: a session ID, a date, the relevant package of the engineering object and the name of the observed event. The analysis process operates statistics with these data. It aims to discover new scenarios rather than to validate the prescribed one. This data mining structures the observed scenarios as sequences of resources, and the time spent, using the engineering viewpoint language. In our example, it leads to the identification of strong links between resources, which could be grouped in clusters and finally interpreted by designers as, for instance: “when they are expected to consult the video, many learners also accede to others resources such as questionnaires”. Step 4: the role of the design process. The design process, by its negotiation with the analysis process, aims to adapt the information model. The two processes try to find a correlation between the instances of the engineering viewpoint concepts (e.g. the new clusters defined by the analysis process) and those of the information viewpoint concepts (e.g. possible new activities supported by a new combination of resources). Figure 12 shows how the engineering and information viewpoints have been modified since the beginning of our test. Conclusion. This reengineering use case involves the main roles of the enterprise processes of a “TEL system reengineering community”. The interaction between these processes is guided by RM-ODP and leads to the 237

correlation of the different viewpoints on the system. In a more general approach, the results produced by this community could be shared with other communities and increase the quality of the development of TEL systems: ¾ the engineering objects developed (e.g. the five new clusters managers) as freeware, ¾ the use case itself as an example of instantiation of IMS Learning Design, ¾ the conformity rules found during the correlation process of the different viewpoints such as knowledge and know-how which could be useful for a TEL system reengineering process. … …

Figure 11: Example of observed event provided by FreeStyle Learning

Before reengineering Information Viewpoint Introducing the LO

Going into the Matter

After reengineering Engineering Viewpoint Cluster

Engineering Viewpoint Cluster

Video

Text Study Cluster

Linking Concepts and Methods

Video

Exercise

Text Study

Slide Show

Simulator

MCQ

Video

MCQ

Text Study

Slide Show

Information Viewpoint

Discovering the Environment

Introducing the LO

Slide Show Cluster

Training to Understand

Learning by Doing

Exercise

Exercise

Cluster Simulator

Simulator Text Study

Evaluating the Acquisition

MCQ

Cluster

MCQ

Slide Show

Going into the Matter

Learning by Doing

Evaluating the Acquisition

Figure 12: Information and Engineering Objects before and after the Reengineering

Conclusion We have presented in this paper an unique framework allowing the highlighting and the description of the transformation processes of the different models defined for the development of a TEL system. These models involve formalisms and knowledge which is specific to the relevant communities. The comprehension of these processes, their formalization and, looking forward, their instrumentation should be, for us, one of the crucial research fields in the designing of TEL systems. By supporting these model transformations through and inside different levels of abstraction and different viewpoints, the TEL community will increase its knowledge and enhance its methods for designing higher quality systems.

238

With the instantiation of the RM-ODP framework we propose on TEL, we aim to bring the design community to share and federate their experiences and expertise. Each experimentation, each deployment of a TEL system by teachers, institutions or research teams could provide benefits to the whole community. The open software community is a good example of the aims of our works, by promoting a design approach (Raymond, 2001), tools (Bar & Fogel, 2003) and communication supports (SourceForge, 2005). The designer or the user member of such a community works in a synergy with the other members by considering all the artifacts produced as prototypes, always in progress. This approach, guided by a framework as we have proposed, could be very valuable for structuring the TEL community. With this resolution in mind, we think our proposal could be the background for the emergence of a dynamic collaboration in the TEL community, in order to enhance the quality of the engineering and reengineering processes of a TEL system.

References ADL. (2004). Sharable Content Object Reference Model (SCORM), 2004, (2nd Ed), retrieved May 8, 2006 from http://www.adlnet.org/downloads/files/67.cfm. AndroMDA. (2005). retrieved May 8, 2006 from http://www.andromda.org/. Bar, M. & Fogel, B. (2003). Open Source Development with CVS, (3rd Ed). Arizona: Paraglyph Press. Bär, H., Bauer, M., Ciupke, O., Demeyer, S., Ducasse, S., Lanza, M., Marinescu, R., Nebbe, R., Nierstrasz, O., Przybilski, M., Richner, T., Rieger, M., Riva, C., Sassen, A.-M.., Schulz, B., Steyaert, P. & Tichelaar, S. (1999). The FAMOOS Object-Oriented Reengineering Handbook, retrieved May 8, 2006 from http://www.iam.unibe.ch/~famoos/handbook/4handbook.pdf. Barré, V. & Choquet, C. (2005). Language Independent Rules for Suggesting and Formalizing Observed Uses in a Pedagogical Reengineering Context. In Goodyear, P., Sampson, D. G., Yang, D. J-T., Kinshuk, Okamoto, T., Hartley, R., Chen, N-S. (Eds.) Proceedings of the ICALT 2005 Conference, Los Alamitos, CA: IEEE Computer Society Press, 550-554. Brocke, J. (2001). Freestyle Learning - Concept, Platforms, and Applications for Individual Learning Scenarios. In Heinrich Kern (Eds.) Proceedings of 46th International Scientific Colloquium, Ilmenau, Germany: Technical University, 149-151. Bruillard, E. & Vivet, M. (1994). Concevoir des EIAO pour des situations scolaires : approche méthodologique. Recherche en Didactique des Mathématiques, 14 (1/2), 273-302. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad P. & Stal, M. (1996). Pattern-Oriented Software Architecture, Volume 1: A System of Patterns. Chichester, WS: John Wiley & Sons. Chikofsky, E. J. (1990). Reverse Engineering and Design Recovery: A Taxonomy. Software IEEE, 7, 13-17. CVS. (2005). retrieved May 8, 2006 from http://ximbiot.com/cvs/. Demeyer, S., Ducasse, S. & Nierstrasz, O. (2002). Object-Oriented Reengineering Patterns. San Francisco, CA: Morgan Kaufmann Publishers. Eclipse. (2005). retrieved May 8, 2006 from http://www.eclipse.org/. FSL. (2005). retrieved May 8, 2006 from http://www.wi.uni-muenster.de/aw/fsl/. GForge. (2005). retrieved May 8, 2006 from http://gforge.org. Grob, H. L., Bensberg, F. & Dewanto, B. L. (2004). Developing, Deploying, Using and Evaluating an Open Source Learning Management System. Journal of Computing and Information Technology, 12 (2), 127-134.

239

Hummel, H., Manderveld, J., Tattersall C. & Koper, R. (2004). Educational modelling language and learning design: new opportunities for instructional reusability and personalised learning. International Journal of Learning Technology, 1 (1), 111-126. IEEE P1484.1/D9. (2001). Learning Technology Systems Architecture, Draft 9, retrieved May 8, 2006 fromhttp://ltsc.ieee.org/wg1/files/IEEE_1484_01_D09_LTSA.pdf. IEEE 1484.12.1. (2002). Draft Standard for Learning Object Metadata, retrieved May 8, 2006 from http://ltsc.ieee.org/wg12/files/LOM_1484_12_1_v1_Final_Draft.pdf. Iksal, S. & Choquet, C. (2005). An Open Architecture for Usage Analysis in a E-Learning Context. In Goodyear, P., Sampson, D. G., Yang, D. J-T., Kinshuk, Okamoto, T., Hartley, R., Chen, N-S. (Eds.) Proceedings of the ICALT 2005 Conference, Los Alamitos, CA: IEEE Computer Society Press, 177-181. IMS-AF/WP. (2003). IMS Abstract Framework: White Paper, version 1.0, retrieved May 8, 2006 from http://www.imsglobal.org/af/afv1p0/imsafwhitepaperv1p0.html. IMS-LD/BP. (2003). IMS Learning Design Best Practice and Implementation Guide, version 1.0, Final Specification, retrieved May 8, 2006 from http://www.imsglobal.org/learningdesign/ldv1p0/imsld_bestv1p0.html. IMS-LD/IM. (2003). IMS Learning Design Information Model, version 1.0, Final Specification, retrieved May 8, 2006 from http://www.imsglobal.org/learningdesign/ldv1p0/imsld_infov1p0.html. ISO/IEC 15414. (2002). Information Technology : Open Distributed Processing Reference Model, Entreprise Language, retrieved May 8, 2006 from http://www.joaquin.net/ODP/DIS_15414_X.911.pdf. ISO/IEC 10746-1. (1998). Information Technology : Open Distributed Processing Reference Model, Part 1: Overview, retrieved May 8, 2006 from http://standards.iso.org/ittf/PubliclyAvailableStandards/c020696_ISO_IEC_10746-1_1998(E).zip. ISO/IEC 10746-2. (1996). Information Technology : Open Distributed Processing Reference Model, Part 2: Foundations, retrieved May 8, 2006 from http://standards.iso.org/ittf/PubliclyAvailableStandards/s018836_ISO_IEC_10746-2_1996(E).zip. ISO/IEC 10746-3. (1996). Information Technology : Open Distributed Processing Reference Model, Part 3: Architecture, retrieved May 8, 2006 from http://standards.iso.org/ittf/PubliclyAvailableStandards/s020697_ISO_IEC_10746-3_1996(E).zip. Koper, R. (2001). Modeling units of study from a pedagogical perspective: the pedagogical meta-model behind EML, Educational Technology Expertise Center Open University of the Netherlands, version 2, retrieved May 8, 2006 from http://eml.ou.nl/introduction/docs/ped-metamodel.pdf. Leinonen, T., Virtanen, O., Hakkarainen, K.& Kligyte, G. (2002), Collaborative Discovering of Key Ideas in Knowledge Building. In Stahl, G (Eds.) Proceedings of the CSCL 2002 Conference, Hillsdale, NJ: Lawrence Erlbaum Associates, 529-530. Mozilla. (2005). retrieved May 8, 2006 from http://www.mozilla.org. Nagase, Y., Hashimoto, D. & Sato, M. (2004). Applying Model-Driven Development to Business Systems using RM-ODP en EDOC. In Vallecillo, A., Linington, P. & Wood, B. (Eds.), Proceedings of Workshop on ODP for Enterprise Computing (WODPEC 2004), Málaga, Spain: University of Málaga, 36-42. OMG. (2001). Model Driven Architecture (MDA), retrieved May 8, 2006 from http://www.omg.org/mda/. OMG/ECA. (2004). Enterprise Collaboration Architecture (ECA) Specification, version 1.0, retrieved May 8, 2006, from http://www.omg.org/docs/formal/04-02-01.pdf. OMG/UML. (2003). UML 2.0 Infrastructure http://www.omg.org/docs/ptc/03-09-15.pdf.

Specification,

retrieved

May

8,

2006

from

240

OpenLDAP05. (2005). retrieved May 8, 2006 from http://www.openldap.org/. OpenOffice. (2005). retrieved May 8, 2006 from http://www.openoffice.org/. OpenUSS. (2005). Open Source Software for Universities and Faculties (Open Source University Support System), retrieved May 8, 2006 from http://openuss.sourceforge.net/openuss/. Oubahssi, L., GrandBastien, M. & Claës, G. (2004). Ré-ingénierie d'une plate forme fondée sur la modélisation d'un processus global de FOAD. In Moreau, C. (Eds.), Proceedings of the TICE'04 Conference, Compiègne, France : Université de Technologie de Compiègne, 32-38. Pawlowski, J. M. (2002). Report on Quality Assurance Standards / Proposal for Future Work: Project Team Quality Assurance and Guidelines, CEN / ISSS Workshop on Learning Technologies, Working Draft, retrieved May 8, 2006 from http://www.wip.uni-duisburg-essen.de/imperia/md/content/elm/qadraft20020328.doc. PoseidonCE. (2005). retrieved May 8, 2006 from http://gentleware.com. Rawlings, A., Rosmalen, P., Koper, R., Rodríguez-Artacho, M. & Lefrere, P. (2002). Survey of Educational Modelling Languages (EMLs), CEN/ISSS WS/LT report, retrieved May 8, 2006 from http://www.cenorm.be/cenorm/businessdomains/businessdomains/isss/activity/emlsurveyv1.pdf. Raymond, E. S., (2001). The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary, Sebastopol, CA: Edition O'Reilly. SourceForge. (2005). retrieved May 8, 2006 from http://www.sourceforge.net. SUN Microsystems (2003). E-Learning Framework: Technical White Paper, retrieved May 8, 2006 from http://www.sun.com/products-n-solutions/edu/whitepapers/pdf/framework.pdf. Swing. (2005). retrieved May 8, 2006 from http://java.sun.com/products/jfc/index.jsp. Tchounikine, P., Baker, M., Balacheff, N., Baron, M., Derycke, A., Guin, D., Nicaud, J.-F. & Rabardel, P. (2004). Platon-1: quelques dimensions pour l'analyse des travaux de recherche en conception d'EIAH. Paris, France: STIC-CNRS. Weka. (2005). retrieved May 8, 2006 from http://www.cs.waikato.ac.nz/ml/weka/. Wenger, E. (1987). Artificial Intelligence and Tutoring Systems: Computational Cognitive Approaches to the Communication of Knowledge, Los Altos, CA: Morgan Kaufmann. WUM. (2005). retrieved May 8, http://hypknowsys.sourceforge.net/wiki/The_Web_Utilization_Miner_WUM.

2006

from

241