PAMS-Plateforme collaborative pour la

Transcription

PAMS-Plateforme collaborative pour la
Institut de la francophonie pour l’informatique
et Institut de recherche pour le développement (Géodes)
Master II
PAMS-Plateforme collaborative pour
la modélisation et simulation
par
NGUYEN Trong Khanh
Encadrants : HO Tuong Vinh
MARILLEAU Nicolas
France, 2008
Remerciements ...
Je tiens à remercier dans un premier temps, toute l’équipe pédagogique de l’Institut de la Francophonie pour l’Informatique et de l’université Lyon 1, et les intervenants professionnels responsables de la formation Master Sciences, Technique, Santé Mention Informatique Professionnel et
Recherche Spécialité Réseaux, pour avoir assuré la partie théorique de celle-ci.
Je remercie également Monsieur Nicolas Marilleau et Monsieur Ho Tuong Vinh pour l’aide et
les conseils concernant les missions évoquées dans ce rapport, qu’il m’ont apportés.
Je tiens à remercier à Tran Nguyen Minh Thu, Chu Thanh Quang, Nguyen Ngoc Doanh Vo
Duc An, et Nguyen Huu Chi pour leur amitié, leur aide et des plats Vietnamiens dans mon séjour
à Bondy.
Je remercie chaleureusement mes camarades de la promotion XII pour leur amitié sans faille
et leur souhaite bonne chance pour la soutenance.
Enfin, je tiens à remercier tout particulièrement mes parents, ma petite amie Phan Thi Thuy
Hanh pour leur soutien, leur encouragement et leur confiance.
Résumé
Actuellement, plusieurs recherches dans le domaine du système complexe sont interdisciplinaires et collaboratifs. Elles associent des scientifiques venant de différents domaines de
recherche. De plus, les chercheurs sont souvent géographiquement distribués. Pour ces raisons, l’échange entre les scientifiques est difficile. Le but de notre travail est d’explorer une
nouvelle approche de collaboration scientifique qui facilite l’interaction dans le processus de
modélisation et la simulation. L’originalité de l’approche est considérée des modèles et des
simulateurs comme un panneau de la collaboration : un objet partagé qui est manipulé par
un groupe de scientifiques. Dans ce contexte, nous développons une plate-forme collaborative qui dédie à la simulation à base d’agent (PAMS). Ce nouvel environnement intègre des
outils collaboratifs communs (par exemple la vidéo conférence, la messagerie instantanée,
tableau blanc) et des outils spécifiques pour partager et pour manipuler des modèles, des
simulateurs, des expérimentations et des résultats.
Nous prenons l’avantage des technologies du système distribué (en particulier Enterprise
Java Beans) et le web (Ajax, JSP, Servlet). La version actuelle du PAMS est basé sur le
serveur d’applications Jonas, le serveur d’applications Web Sakai / Tomcat et Agora, un
outil collaboratif. Maintenant groupware PAMS soutient simulateurs à base de la plate-forme
Repast et Gama. Mais il est possible de soutenir de nombreux simulateur à base d’agent.
[44].
Abstract
Major researches in the domain of complex systems are interdisciplinary and collaborative. They associate scientists coming from various research areas. In addition, researchers
are often geographically distributed. For these reasons, exchange between scientists is rather
difficult. The purpose of our work is to explore a new collaborative approach that facilitates
scientist’s interactions during the modeling and simulating process. The originality of the
presented approach is to consider models and simulators as a board of the collaboration : a
shared object manipulated by a group of scientists. In this context, we develop a collaborative platform dedicated to agent-based simulation (PAMS). This new environment integrates
common collaborative tools (e.g. videoconferencing, instant messaging, whiteboard) and specific tools to share and manipulate models, simulators, experiments and results.
To develop PAMS environment, we take advantage of technologies coming from distributed systems (particularly Enterprise Java Beans) and the web (Ajax, Jsp, Servlet). The
current version of PAMS is based on Jonas application server, Sakai/Tomcat web application
server and Agora collaborative tools. Today PAMS groupware supports simulators based on
Repast and Gama platforms. But it is possible to support many other agent based simulation
frameworks. [44]
Table des matières
Table des matières
1 Introduction
1.1 Contexte du travail
1.2 Problématique . .
1.3 L’objectif du stage
1.4 Plan du mémoire .
i
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 État de l’art
2.1 Systèmes collaboratifs . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Classification . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Domaines d’application . . . . . . . . . . . . . . . . . . .
2.2 La collaboration en simulation . . . . . . . . . . . . . . . . . . .
2.2.1 Processus de modélisation - simulation . . . . . . . . . . .
2.2.2 Taxonomie des participants . . . . . . . . . . . . . . . . .
2.2.3 Collaboration dans un projet de modélisation - simulation
2.2.4 Techniques de collaboration en simulation . . . . . . . . .
2.3 Plate-forme collaborative . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Outils de collaboration . . . . . . . . . . . . . . . . . . . .
2.3.2 Plate-forme générique . . . . . . . . . . . . . . . . . . . .
2.3.3 Plate-forme spécifique . . . . . . . . . . . . . . . . . . . .
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 PAMS
3.1 Analyse . . . . . . . . . . . . . . . . . . . .
3.1.1 Scénario de collaboration . . . . . .
3.1.2 Cahier de charge . . . . . . . . . . .
3.2 État existant de PAMS . . . . . . . . . . .
3.2.1 Présentation . . . . . . . . . . . . .
3.2.2 Architecture . . . . . . . . . . . . .
3.3 Proposition de fonctionnalités collaboratives
3.3.1 Mise en place de solutions existantes
3.3.2 Module de partage des simulations .
3.4 Tests . . . . . . . . . . . . . . . . . . . . . .
3.4.1 Test scénario 1 . . . . . . . . . . . .
i
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
2
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
4
4
5
5
7
8
9
12
12
15
17
20
.
.
.
.
.
.
.
.
.
.
.
21
21
21
23
25
25
26
28
28
28
40
40
ii
TABLE DES MATIÈRES
3.4.2
3.4.3
3.4.4
Test scénario 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Test scénario 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Test scénario 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
42
42
4 Une étude de cas
43
5 Conclusion
55
Bibliographie
57
A Des cas d’utilisation
63
B Intégration d’Agora dans Sakai
71
C L’article de PRIMA 2008
73
Table des figures
81
Liste des tableaux
83
Chapitre 1
Introduction
1.1
Contexte du travail
Ce projet a pour objet de concevoir une plate-forme permettant de créer des modèles,
de les manipuler, de les expérimenter, de les modifier et de les coupler avec d’autres déjà
existants. Ce projet permettra, d’une part, de faciliter la capitalisation du travail scientifique,
et d’autre part de favoriser le rapprochement des chercheurs de GEODES et chercheurs
d’une autre unité de recherche de l’IRD, c’est MSI de l’Institut de la Francophonie pour
l’Informatique (IFI).
La première version de la plate-forme Pams développée dans le cadre du programme
Spirales en 2007 offre déjà des perspectives très prometteuses devant être approfondies.
Grace à ces premiers résultats, le projet obtient, en 2008, une prolongation des financement
Spirales.
Ce projet est une collaboration entre deux unités : Geodes d’IRD Bondy-France et IFIMSI, Jeune Équipe Associée à l’IRD (Hanoi, Vietnam). Créée en mars 2006, cette jeune
équipe vise à accompagner le programme d’enseignement Master et à développer la recherche
à l’IFI. Mon stage se déroule une partie à MSI d’IFI à Hanoi et d’autre partie à Geodes d’IRD
Bondy.
1.2
Problématique
Ce projet s’intéresse à l’apport des NTIC (Nouvelles Technologies de l’Information et de
la Communication), et en particulier des environnements d’accompagnement du travail collaboratif à distance, dans le cadre des activités de modélisation et de simulation de systèmes
naturels complexes. Son idée principale est de placer le modèle (et les outils de conception
et d’expérimentation associés) au centre du dispositif de collaboration.
Il s’agit de développer un espace virtuel, intégré dans un collecticiel existant, dans lequel
thématiciens et modélisateurs seront en mesure d’utiliser ou d’installer des modèles ou des
simulateurs, de les expérimenter en ligne (via une interface standardisée), de les annoter (et
d’annoter chacune des expérimentations), d’enregistrer et de rechercher dans une base de
données les résultats expérimentaux et de communiquer et d’interagir ensemble en utilisant
les outils du collecticiel.
L’ensemble sera ainsi conçu comme un véritable ” laboratoire virtuel collaboratif ”, centré
1
2
CHAPITRE 1. INTRODUCTION
sur un ou plusieurs modèles, où chacun peut proposer ses résultats, ses remarques et ses
questions aux partenaires scientifiques concernés, réexploiter les démarches et les propositions
antérieures et interagir au moyen d’outils collaboratifs afin d’améliorer la coordination entre
partenaires, la capitalisation et la réutilisation des modèles existants et leur transmission à
de nouveaux intervenants (comme par exemple des étudiants).
1.3
L’objectif du stage
L’objectif du stage est d’implémenter une interface collaborative pour la plate-forme
Pams. Afin de concevoir une telle interface, il est, dans un premier temps, important d’avoir
une réflexion sur les activités de simulation et de collaboration. Ainsi, il sera possible identifier et de préconiser une manière de collaborer appropriée au domaine de la simulation
des systèmes complexes. Ensuite, nous serons en mesure de concevoir et de développer une
interface qui suit ces préconisations.
1.4
Plan du mémoire
La suite de ce mémoire est organisée en quatre parties qui sont les suivantes :
– Première partie : dans un premier temps, nous analyserons le problème à étudier.
Ensuite, les solutions existantes sont présentées en vue d’apporter une évaluations des
technologies.
– Deuxième partie : L’état du projet PAMS (au début de mon stage) est présenté. A
partir des analyses présentée dans la première partie de ce document, nous proposons
des scénarios et des solutions (contribution de mon travail) pour les problèmes. Nous
présentons aussi des tests pour vérifier les solutions que nous avons apportées.
– Troisième partie : Une étude de cas est présentée pour, premièrement, montrer le fonctionnement du prototype que nous avons conçu et deuxièmement guider l’utilisation
de plate-forme.
– La conclusion, les perspectifs, et les références cloture ce mémoire.
Chapitre 2
État de l’art
2.1
2.1.1
Systèmes collaboratifs
Définition
La collaboration est un processus visant à partager la création [10]. Un groupe d’individus
a un problème commun à résoudre. Chaque membre dispose d’un point de vue et une compréhension différente du problème. Ils échangent leurs connaissances et leurs opinions pour
résoudre le problème. Dans la plupart des cas, un problème est divisé en sous-problèmes qui
sont résolus par un ou plusieurs membres du groupe.
Un système collaboratif ou bien un collecticiel (“groupware” en anglais) est une infrastructure logiciel qui favorise le travail en collaboratif. Selon [12], système collaboratif est
un système à la base d’ordinateurs qui supporte des groupes de personnes engagés dans
une tâche commune. Pour cela, il fournit une interface partagée permettant la réalisation de
tâches communes. Une tâche commune et une interface partagée sont des éléments essentielles
pour un système collaboratif.
Les termes coopération, coordination sont souvent considérées comme synonyme de collaboration, si bien que leurs différences sont souvent mal comprises. Ces termes évoquent
différentes manières de travailler en groupe, mais dénotent des niveaux d’interaction différents (voir la table 2.1). On peut considérer que la communication constitue la base de
la coordination, de la collaboration et de la coopération. Ici, la communication se résume
par l’échange d’informations entre les membres d’un groupe. Les autres modes d’échange se
reposent sur la communication.
La coordination se défini par une décomposition d’un travail en tâches ordonnées dans
le temps. Quand un groupe travaille en coordination, le travail est planifié. Chaque membre
se voit assigné une tâche concrète.
La collaboration se situe à un degré d’échange plus haut que la coordination. La clef
principale de la collaboration est le partage. Un groupe partage une tâche et un même but.
Mais chaque personne du groupe dispose d’une vue différente du problème. On peut considérer la collaboration comme le découpage d’une tâche en sous-tâches qui seront exécutées
par différents entités [45].
La coopération rassemble autour d’un même projets des individus qui ont une même
vision d’un problème et qui tente de le résoudre ensemble en partageant l’ensemble des
moyens et des connaissances dont ils disposent.
3
4
CHAPITRE 2. ÉTAT DE L’ART
Communication
→
Coordination
→
Collaboration
→
Coopération
→
Table 2.1: Dégréé de travail en groupe [45]
Dans le paragraphe suivant, nous établissons une classification de la collaboration en
nous basant sur divers critères.
2.1.2
Classification
Dans le cadre d’une action en groupe, la spatialité et la temporalité occupent une place
importante dans la décision et le choix d’une méthode de travail. A partir de ces deux critères,
4 niveaux de collaboration peuvent être identifiés [12] (voir la table 2.2)
Présentiel
Distanciel
Synchrone
Collaboration
face-à-face
Collaboration distante
synchrone
Asynchrone
Collaboration
asynchrone
Collaboration distante
asynchrone
Table 2.2: Table des modes de travail en groupe
La collaboration la plus efficace est réalisée face-à-face car tous les membres collaborent
en même temps et sur le même espace. Ensuite, c’est la collaboration distante synchrone,
avec laquelle les membres collaborent simultanément, mais chacun d’eux se situe en des
lieux différents, par exemple : un éditeur de document en temps réel. Puis, c’est la collaboration asynchrone où les membres échangent sur même espace, mais pas simultanément, par
exemple : le tableau d’information physique. Enfin, la collaboration distante asynchrone qui
est correspondante avec le cas que les membres collaborent ni simultanément et n’en même
temps par exemple : le système de courriel électronique, le forum. . .
2.1.3
Domaines d’application
Avec le développement des NTIC (Nouvelles Technologies de l’Information et de la Communication), et des besoins, les systèmes collaboratifs sont plus en plus nécessaires et utilisés.
Ils sont appliqués dans nombre de domaines comme [22]. :
– Les jeux, plus particulièrement des jeux en réseaux, par exemple : Starcraft [7] , Quake
[27] . . . Dans ce type d’application, les joueurs collaborent afin de réaliser des missions
et gagner.
– Les Workflows, systèmes qui permettent la coordination. Ce type de système aide
plusieurs participants à gérer un processus de travail. (ex : Ultimus Workflow Suite
[34], IBM MQSeries [15] . . . )
– L’enseignement où des systèmes collaboratifs reposent sur des médias et des technologies du réseau en vue de faciliter l’apprentissage. (ex : Sakai [13], Netop [41] . . . )
– La communication où systèmes collaboratifs permettent à plusieurs membres d’un
groupe de communiquer et de consulter . . . via des support audios, vidéos ou textuels.
(ex : Agora [1], Net Meeting [42]. . . )
– L’espace de travail partagé où des systèmes collaboratifs fournissent un espace partagé
dans laquelle des participants peuvent manipuler des artefacts. (ex PHP Groupware
2.2. LA COLLABORATION EN SIMULATION
5
[21], EGroupware [4], Sakai [13]. . . )
L’échange d’information, et de résultats entre des chercheurs est important pour le succès
d’une action de recherche. Souvent, les chercheurs ne travaillent pas en un même lieu (parfois,
ils se situent dans des pays différents). Dans ce contexte, les systèmes collaboratifs sont un
bon moyen pour palier aux contraintes de temps et de distances auxquelles chaque chercheur
est confronté. Dans les domaines de la Télé-médecine, de la E-maintenance et de la simulation,
quelques outils collaboratifs existent comme par exemple : les plate-forme TeneCI, WBSC
[18] et DISCOVERY [26].
L’objectif de ce travail n’est pas de faire une liste exhaustive de l’ensemble des domaines
où les principes de la collaboration s’appliquent. Il ne s’agit pas, non plus, d’énumérer l’ensemble des plate-formes collaboratives. Pour ces raisons, dans la suite de ce chapitre nous
nous focaliserons sur les systèmes collaboratifs appliqués au domaine de la simulation.
2.2
La collaboration en simulation
Un projet de simulation nécessite souvent la contribution de plusieurs chercheurs issues
de différents champs disciplinaires. La réalisation d’un projet de simulation nécessite des
connaissances larges qui appartiennent à plusieurs domaines, par exemple la simulation d’un
moteur électrique exige des spécialistes de l’électronique et des programmeurs.
L’interaction, l’échange des idées entre des participants est la clés principales pour le
succès d’un projet simulation. Selon Robinson et Pidd [39], 3 conditions sont essentielles à
la bonne réalisation d’un projet de simulation :
– Une communication régulière entre des experts consultants et les thématiciens
– Des réunions régulières entre les experts consultants et leur thématicien
– Une cohésion d’équipe
Donc, le succès d’un projet de simulation dépend la fréquence des rencontres entre des
experts consultants, les thématiciens ainsi tous les membres.
2.2.1
Processus de modélisation - simulation
On étudie souvent un système complexe réel par simulations. Des modèles représentatifs
du système sont alors établis, implémentés au sein d’un simulateur et exécutés pour obtenir
des résultats. ”Un modèle permet de donner une représentation structurée du système faisant
l’objet de l’étude” [28]. Donc qu’est-ce qu’un modèle ? Selon Marilleau Nicolas [28], la vision
d’un modèle dans la monde scientifique est contraire à la définition originel. En sciences, un
modèle est une représentation possible d’un système réel ou imaginaire. La définition originel
identifie un modèle comme un objet qui sert ou doit servir d’objet d’imitation pour faire ou
reproduire quelque chose [36]. La modélisation est l’activité de concevoir des modèles. La
simulation vise, quant-à elle, à exécuter ces modèles. La simulation est donc une ”reproduction
artificielle d’un phénomène, d’une variation, voire d’un avenir possible” [5].
Un projet de modélisation-simulation est réalisé en plusieurs étapes qui sont :
– L’analyse du problème à résoudre
– La construction d’un modèle conceptuel
– La construction d’un modèle informatique ou bien un simulateur
– L’expérimentation
– L’analyse des résultats
6
CHAPITRE 2. ÉTAT DE L’ART
Figure 2.1: Processus d’un projet de modélisation-simulation [42]
Les figures 2.1 et 2.2 sont extraites de [42] et de [39]. Elles présentent le processus d’un
projet de simulation. En général, un projet de simulation est défini à partir des besoins
identifiés lors de l’analyse d’un problème réel. En somme cette étape revient à définir le
problème.
Figure 2.2: Processus d’un projet de modélisation-simulation [39]
L’étape suivante vise à définir un modèle conceptuel. Un modèle conceptuel est une
représentation abstraite mais réaliste du système complexe étudié. Lors de cette étape, des
techniques diagrammatiques sont souvent utilisées (des diagrammes cycle de l’activité , des
graphiques d’événement , des schémas, etc.). Le modèle conceptuel est ensuite traduit en
un modèle informatique autrement dit un simulateur. Ce dernier est ensuite testé pour
déterminer s’il reproduit bien le système étudié.
Lors de la phase d’expérimentation, le modèle informatique est combiné avec des données expérimentales afin d’essayer de mieux comprendre le problème étudié.
La validation doit être effectuée à tous les stades du projet de simulation afin de s’assurer
que les différents modèles utilisés ne s’écartent pas du système physique étudié.
7
2.2. LA COLLABORATION EN SIMULATION
2.2.2
Taxonomie des participants
Les membres d’un même projet de simulation ont un rôle déterminé. Selon [43], les rôles
de ces membres se scindent 5 catégories (voir le tableau 2.3).
Groupe
Concepteurs
Utilisateurs
Expert
Connaisseurs
Bénéficiaire
Signification
Responsable de la gestion du projet
Développe le modèle
(conceptuel et informatique)
Expérimenter le modèle pour
comprendre et chercher des
solutions pour le problème étudié
Le problème propriétaire et
recevoir des résultats ; fonds direct
ou indirect pour des travaux
Recevoir le modèle
Experts en la matière qui sont
capable de fournir des données
et de l’information pour le projet
Un tiers d’experts (fournisseur
de logiciels, de consultant ou de
d’experts) fournit des logiciels et / ou
des compétences de modélisation
Un large groupe de personnes
par lequel l’information est obtenu
Les bénéficiaires du projet,
qui n’y anticipent pas. Dans
certains cas, ils ne sont pas
au courant du projet
Exemple
Chef de projet
Modélisateur
Utilisateurs du
modèle (à la dernière
étape du projet)
Clients
Utilisateurs du
modèle (au début du
projet)
Fournisseurs de
donné
Supporteur de
modélisation
Les personnes
interrogées pour
l’information
Administrateur,
clients
Table 2.3: Taxonomie des participants [43]
En effet, un membre peut prendre un ou plusieurs rôle. Un rôle peut être attribué à
un ou plusieurs membre(s). Un modélisateur prend souvent les rôles de chef de projet,
de concepteur du modèle, et d’utilisateur car il participe à la l’ensemble du processus de
modélisation-simulation. Les thématiciens sont quant à eux des experts, des fournisseurs
de données expérimentales, et des utilisateurs. Ces trois premières catégories regroupent le
noyau principal de l’équipe d’un projet.
Le groupe des connaisseurs caractérise un large groupe de personnes qui doivent être
interrogées afin d’obtenir des informations sur le système modélisé. Néanmoins, ces personnes
ne participent pas directement au projet de simulation.
Les bénéficiaires sont profitent du projet, mais ils souvent ne savent pas l’existence du
projet. Des administrateurs par exemple.
La Communication, la Coordination et la Collaboration entre chaque membre ayant un
ou plusieurs rôles sont la clé du succès d’un projet de modélisation-simulation. Dans la section
suivante nous allons analyser plus en détail cet aspect.
8
2.2.3
CHAPITRE 2. ÉTAT DE L’ART
Collaboration dans un projet de modélisation - simulation
Le plus souvent, un processus de modélisation-simulation nécessite la réalisation de toute
les étapes présentées par la figure 2.2 et 2.1. Pour chaque étape, la Communication, la
Coordination, la Collaboration ou la coopération s’avère nécessaire.
Au début d’un projet, lors de l’étape de Définition du problème, des réunions de lancement du projet sont souvent menées. Elles font, le plus souvent, intervenir le gestionnaire
du projet, les concepteurs, et les experts du domaine pour déterminer les contours du problème à étudier [40]. Dans ce contexte, une Collaboration face-à-face ou une Collaboration
distante synchrone s’avère la plus efficace.
Le Modèle conceptuel est l’étape la plus importante dans un projet de modélisationsimulation. Cette étape conditionne les résultats qui seront obtenus lors d’expérimentation.
Selon [38] un des facteurs important pour la modélisation d’un système complexe se situe
dans l’échange entre le thématicien et le modélisateur. Seule le thématicien connaît en profondeur le système étudiés. Les modélisateurs sont, la plupart du temps, pluridisciplinaires
si bien qu’ils ont ni l’expérience ni les connaissances d’un thématicien dans une thématique
de recherche précise (à l’exception du domaine de la modélisation). Il est donc nécessaire
de maintenir une communication, une interaction constante entre le thématicien et le modélisateur. Le concepteur donc doit communiquer régulièrement avec l’utilisateur, l’expert
et les connaisseurs. Lors de cette étape, les quatre méthodes collaboratives s’appliquent à
savoir : (i) la collaboration face-à-face ; (ii) la collaboration asynchrone ; (iii) la collaboration
distante synchrone ; et (iv) la collaboration distance asynchrone.
Figure 2.3: Modèle conceptuel et collaboration
L’étape d’implémentation d’un simulation autrement dit de création d’un modèle informatique nécessite des échanges moins soutenus entre les participants. Des approches de
collaboration asynchrone sont le plus souvent suffisantes.
Après la phase de développement, le modèle informatique est testé et calibré. Pour cela,
le concours des thématiciens est primordial.
Enfin, lors de l’étape d’analyse des résultats, le modèle informatique est paramétré avec
des données expérimentales pour essayer de découvrir une solution pour le problème étudié.
A cette étape, le modèle informatique est exécuté plusieurs fois en changeant les paramètres
d’entrée, et une analyse des résultats est faite en sortie. Souvent, tous les membres du projet
participent dans cet étape. Ils discutent, travaillent collaborativement afin de déterminer les
paramètres d’entrée et d’identifier d’éventuels bogs..
9
2.2. LA COLLABORATION EN SIMULATION
La figure 2.4 représente la fréquence des interactions dans un projet en fonction des étapes
d’un processus de modélisation.
Elevé
Fréquence
d'interaction Moyen
Bas
Modélisation
conceptuelle
Codage du
modèle
Expérimentation
Implémentation
Figure 2.4: Fréquence d’interaction dans un projet de simulation [43]
Notons que la collaboration apparaît dans toute l’étape d’un projet de simulation. On
peut dire que la collaboration est la clef du succès dans un projet. Dans la session suivante,
nous aborderons quelques techniques usitées pour collaborer dans un projet de simulation.
2.2.4
Techniques de collaboration en simulation
Pour chaque étape du processus de modélisation-simulation, on applique des techniques
de collaborations différentes qui sont adaptées au besoin de l’étape.
Pour l’étape Définir le problème, la collaboration se résume souvent à des réunions
entre des membres. Donc, les techniques de communication synchrone comme messagerie
instantanée, la vidéo conférence, audio conférence. Par exemple : NetMeeting [42], Agora [1],
Skype [31] . . ..
L’établissement du modèle conceptuel constitue l’étape où il est particulièrement important de collaborer. Pourtant, il n’y a pas beaucoup d’outils et de techniques qui permettent à plusieurs modélisateurs de créer ensemble des modèles conceptuels. La plupart du
temps, les concepteurs construisent individuellement les modèles et les communiquent ensuite aux autres membres d’un projet. Dans [17], A.Hanisch présente une technique appelée
Collaw (voir la table 2.5) qui permet d’écrire collaborativement des modèles de conceptuel.
D’autres outils comme Net-Meeting [42] et VNC [25] proposent des solutions intéressante
pour construire des modèles conceptuels de manière collaborative. Les outils de partage de
bureau virtuel permettent à deux concepteurs de construire ensemble un modèle conceptuel.
Les modélisateurs doivent cependant accéder à un même bureau virtuel et partager : aucune
gestion d’un espace privé n’est possible.
Comme nous l’avons déjà vu, l’étape de création du Modèle informatique exige une
activité de collaboration moins importante : Les développeurs programment des modèles
10
CHAPITRE 2. ÉTAT DE L’ART
informatiques tout seul selon les spécifications du modèle conceptuel précédemment établi.
Les techniques collaboratives utilisées lors de cette étape peuvent être asynchrone comme le
courriel, les forum . . . .
Figure 2.5: Collaw [17]
Lors de l’expérimentation d’un modèle, les scientifiques effectuent trois tâches principales : (i) la saisie des paramètres, (ii) l’exécution de la simulation et (iii) l’analyse des
résultats. Pour la saisie des paramètres de simulation, quelques techniques de collaboration
existent comme : la saisie directe via une interface collaborative, ou bien l’écriture collaborative et le partage de fichiers de paramètres qui vont être lus par les simulateurs.
Figure 2.6: Entrée directe des paramètres
2.2. LA COLLABORATION EN SIMULATION
11
Dans la plate-forme WBSC [17], la deuxième solution est adoptée. Les paramètres sont
formatés dans un fichier spécifique (le plus souvent texte ou XML) que le simulateur peut
interpréter. Ce fichier est chargé sur la plate-forme collaborative et le simulateur est exécuté. L’inconvénient de cette technique est que l’on doit connaître la spécification du fichier
d’entrée. De plus il faut éditer de manière individuelle le fichier avant de le communiquer à
l’ensemble des membres du projet.
Pour l’exécution d’un simulateur peut se réaliser de deux façons : (i) sur un serveur
distant unique, (ii) sur la machine du chercheur. Pour la première façons, le contrôle de
l’exécution s’effectue à distance via une interface commune. Dans ce cas, il faut construire
un mécanisme de travail collaboratif permettant le partage du contrôleur. Pour la deuxième,
un outil de partage de bureau comme VNC s’applique.
Figure 2.7: NetMeeting et SIMUL8 [42]
Les sorties d’un simulateur sont souvent présentés sous forme textuelle. Donc une plateforme doit fournir une fonction pour convertir des fichiers texte en images ou en graphique.
Cette fonctionnalité peut être réalisée sur un serveur qui convertit les résultats de simulation
et les diffuse à tous les participants. L’avantage de cette approche est de permettre une
gestion simple du partage des résultats de simulation. Cependant, si il y a beaucoup de
demandes de convertir au serveur, le serveur peut-être surcharge. On peut surmonter cet
inconvénient par envoyer directement le fichier texte à la machine de chaque chercheur. La
machine doit installer le logiciel pour le convertir à la forme qui peut visualiser.
12
CHAPITRE 2. ÉTAT DE L’ART
Figure 2.8: Représenter le résultat par le converteur Proof2SVG [18]
Quelques techniques pour appliquer la collaboration dans la modélisation - simulation
viennent d’être présentés. Leur choix dépend des exigences et des contraintes liés à chaque
projet.
Dans la section suivante, nous allons présenter des définitions et des classifications sur
les plate-formes collaboratives actuelles.
2.3
Plate-forme collaborative
Une plate-forme collaborative est un système distribué qui fournit des services permettant
l’échange entre les membres d’un groupe via le réseau. Elle intègre : (i) des outils (vidéoconférence, messagerie instantanée, tableau blanc, etc) pour soutenir les interactions entre
les personnes, (ii) des fonctionnalités pour gérer les utilisateurs, les groupes et les droits, (iii)
la sécurité pour assurer la confidentialité des données utilisateur et la cohérence. On peut
considérer une plate-forme collaborative comme une plate-forme qui centralise des fonctionnalités différentes permettant de collaborer. Les plates-formes actuelles se divisent en deux
catégories : les plates-formes génériques et les plates-formes spécifiques.
Dans cette section, nous abordons quelques outils de collaboration plus connus et leur
fonctionnalité, avant de nous focaliser, successivement, sur les environnements génériques et
spécifiques.
2.3.1
Outils de collaboration
Grâce à une analyse des différentes plates-formes existantes, nous avons été en mesure
d’établir une liste des outils collaboratifs très utilisés (voir le tableau 2.4 et 2.5) :
13
2.3. PLATE-FORME COLLABORATIVE
Nom
Description
Agenda
partagé
Un outil permet aux utilisateurs
de pouvoir ordonner le travail
de chacun ou de groupe
Des notifications automatiques,
correspondant à un envoi de mail
suite à un événement spécifique
pourront être configurées
Pour mieux comprendre l’avis
des autres membres sur un
événement, une action . . .
Permettre de recenser des différents
paramètres concernant la plate-forme,
par exemple le nombre d’accéder . . .
Fournir à chaque membre un
espace privé, flexible .
Cette fonctionnalité permet
d’enregistrer les différentes
tâches à réaliser dans le
cadre du projet et de les
affecter aux membres de
l’environnement de travail.
Cette fonctionnalité permet de
partager des documents de travail.
On peut ajouter des contacts
d’affecter
et superviser les tâches des
différents acteurs du projet.
Il remplira une fonction similaire
à celle d’un panneau d’affichage.
Les membres pourront placer
un nouveau message ou faire une
remarque sur un message affiché.
Les messages envoyés sont
stockés dans le Forum et peuvent être
lus par tous.
Cet outil permet
aux membres de communiquer
en temps réel et en textuel
Pour changer l’affichage
de l’espace de travail.
Alerte
Sondage
Statistiques
Personnalisation
Préférences
Gestion
de tâches
Gestion
de projet
Forum
Messagerie
instantanée
Thèmes
Table 2.4: Outils collaboratifs (1)
Syn ou
Asyn
Syn et
asyn
Syn et
asyn
Aysn
Asyn
Asyn
Syn
Exemple
Google
Agenda ,
OBM . . .
14
CHAPITRE 2. ÉTAT DE L’ART
Nom
Description
Tableau
blanc-News
Le tableau blanc permettra aux
membres de pouvoir noter toutes
les informations qu’ils jugent
utiles pour les membres de l’espace
de travail collaboratif.
gères les questions les plus
fréquemment posées.
FAQ
Email
Recherche
Liste de
contactsCarnets
d’adresses
Visio
conférence
Pour l’échange de messages
Pour chercher des fichiers, des
publicités, des articles . . .
Cette fonctionnalité permet
d’enregistrer une liste de contacts
nécessaire à tous les
membres de l’environnement de
travail collaboratif.
Syn ou
Asyn
Asyn
Exemple
Asyn
Asyn
Asyn
Syn
Il permet de communiquer par audio
et vidéo.
Agora [1],
NetMeeting [42]
Table 2.5: Outils collaboratifs (2)
De plus, une plate-forme collaborative fournit des outils permettant :
– La gestion des utilisateurs
+ le contrôle droit d’accès : Chaque membre de l’environnement de travail n’a pas les
mêmes droits d’accès. Certaines fonctionnalités ne sont accessibles que par certain
membre. Ces droits d’accès sont en principe définis à l’aide de profil utilisateur.
+ la création des membres et des groupes
+ l’authentification : Chaque personne voulant se connecter à un environnement de
travail collaboratif doit s’authentifier à l’aide d’un nom d’utilisateur et d’un mot
de passe.
+ la gestion des profils utilisateurs : Chaque membre peut appartenir à un profil,
c’est-à-dire à une catégorie d’utilisateur spécifique, comme par exemple : auteur,
lecteur, gestionnaire. . .
+ la gestion des espaces privés : Les membres peuvent être amenés à créer des
espaces de travail privés, qui sont soit accessible par plusieurs utilisateurs, soit
seulement par son auteur. Ces espaces sont appelés (suivant l’outil) ” salles ”, ”
sous-salles ”, ” workspaces ”, ou ” département ”.
– Gestion des documents, qui supporte
+ Le versionning : Chaque membre peut bénéficier de cette fonctionnalité afin de
sauvegarder différentes versions de son document.
+ Le Partage de documents : Chaque document peut être déposé dans des espaces
de partage afin qu’il soit accessible par l’ensemble des membres habilités.
2.3. PLATE-FORME COLLABORATIVE
15
+ La publication : Cette fonctionnalité permet de publier à la volée un document
achevé et disponible à l’ensemble des membres.
– Gestion des données, qui supporte :
+ Formulaire de saisie : Cette fonctionnalité permet de créer des formulaires spécifiques avec un control automatique des champs afin de normaliser l’enregistrement
des informations saisies.
+ Database : La base de données permet de sauvegarder l’ensemble des informations
saisies à l’aide de formulaires spécifiques.
Les outils précédemment cités s’organisent le plus souvent au sein de plates-formes collaboratives
2.3.2
Plate-forme générique
Les plates-formes génériques sont composés d’outils collaboratifs conventionnels (vidéoconférence, messagerie instantanée, agenda partagé, gestion de groupe, etc . . . ). Les platesformes génériques actuelles partagent toutes un même modèle d’accès : un accès Web. Dans
un contexte scientifique, une plate-forme générique est intéressante si elle offre :
– Des outils collaboratifs nécessaires à la recherche ;
– La possibilité d’extensibilité ;
– Une facilité d’utilisation ;
– Un support à la fois des collaborations Synchrone et Asynchrone
A la base de ces critiques, faisons une étude comparative des plates-formes génériques
actuelles (il ne s’agit pas d’une étude exhaustive) :
– Egroupware [4] : Outil de niveau professionnel pour le travail collaboratif en ligne.
– Mioga2 [24] : Mioga 2 est une solution pour un projet que les membres géographiquement isolées. Il dispose d’un riche ensemble d’outils, par exemple : document partagé,
gestion des contacts, ordre du jour, et possibilité d’accès à partir d’un navigateur et
PDA.
– Moregroupware [9] : Moregroupware est une application collaborative à la base de web.
Cette application présente l’avantage d’avoir des outils simples de configuration, et des
modules permettant sa mise a jour, en plus des outils collaboratifs traditionnels. . .
– Lucane [14] : Une plate-forme collaborative simple et complète. C’est une plate-forme
de collaboration libre de droit. Elle est écrit en Java.
– Phpgroupware [21] : Comme les autres plates-formes, phpGroupWare est libre de droit.
Elle s’appuie sur de nombreuses fonctions de base, par exemple : gestion des contacts,
e-mail, agenda partagé, gestion et partage le contenu Web et le documents, gestion de
projet . . . .
– Sakai [1] : Sakai permet la collaboration en ligne et le E-learning. Comme une plateforme générique, Sakai renferme tous les outils nécessaires à la collaboration, par
exemple : Forum de discussion, messagerie instantanée, agenda, espace privé, espace
partagé ... En outre, il s’agit d’une plate-forme modulaire. Ainsi, il est possible de
développer, d’intégrer de nouvelles fonctionnalités si bien qu’il est possible de créer des
environnements dédiés adaptées au contexte de travail.
– Xoops [3] : XOOPS (eXtended Object Oriented Personal System) est un système de
construction de portail écrit en PHP orienté objet (OO). XOOPS est l’outil idéal pour
développer des sites communautaires, portails intranet, portails collaboratifs . . .
Async
Non
Non
Non
Non
Oui
Oui
Oui
Oui
Oui
Moins
une moi
Sync/Async
Non
Non
Oui
Non
Oui
Oui
Oui
Oui
Non
Moins
une semaine
Syn/asyn
Vidéo
Conference
Audio
Conference
Messagerie
instantanée
Tableau
blanc
Email
Forum
Wiki
Gestion
d’utilisateur
Gestion de
configuration
Dernièrr
mise à jours
Moins
2 ans
Non
Oui
Oui
Oui
Oui
Non
Non
Non
Async
Non
Oui
Php/bd
Moregroupware
Navigateur,
Oui
Oui
Oui
Non
Oui
Oui
Oui
Oui
Lucane
Navigateur,
client mail,
Environement
spécifique
Oui
Java
WebService
Sync/async
Non
Moins
2 ans
Oui
Oui
Oui
Oui
Oui
Non
Oui
Non
Async
Non
Oui
Php/bd
Phpgroupware
Navigateur,
Moins
une moi
Oui
Oui
Oui
Oui
Oui
Non
Oui
Non
Oui
Java
WebServie
Sync/async
Non
Sakai
Navigateur,
client mail,
PDA
Table 2.6: Une étude comparative des plate-formes générique actuelles
Oui
Php/bd
Oui
Ajax/Php/bd
Extensibilité
Technologie
Mioga
Navigateur,
client mail,
PDA
Egroupware
Navigateur,
client mail,
PDA
Plate-forme
Mode
d’accès
Moins
une semaine
Non
Oui
Oui
Oui
Oui
Non
Non
Non
async
Non
Oui
Php/bd
Xoops
Navigateur
client mail,
PDA
16
CHAPITRE 2. ÉTAT DE L’ART
2.3. PLATE-FORME COLLABORATIVE
17
Le tableau 2.6 montre que la plupart plates-formes proposent les fonctionnalités collaboratives conventionnelles. Par exemple, dans la plate-forme Lucane ou Sakai, on trouve des
outils permettant l’Audio Conférence, le Courriel, le Forum, le Wiki. Parmi les 7 platesformes précédent citées, Sakai semble le choix le plus pertinent pour des applications au
monde de la recherche, plus particulièrement au monde de la modélisation-simulation des
systèmes complexes.
Au cours de la section suivante, nous étudierons quelques plates-formes spécifiques.
2.3.3
Plate-forme spécifique
Les plates-formes spécifiques sont des environnements collaboratifs dédiés à un domaine
d’application précis comme l’e-médecine [45], la e-maintenance [45], l’apprentissage en ligne
[45, 13] ou la modélisation de simulation [42, 43, 18, 20]. Elles intègrent souvent des outils
présent dans les plates-formes génériques complétées par des outils collaboratifs spécifiques
tels que des outils de télé-diagnostic en l’e-médecine . . . .
Dans la suite de cette section, nous analyserons les plates-formes collaboratives dans trois
domaines d’application : la Télé-médecine, la E-Maintenance et la modélisation-simulation
des systèmes complexes.
2.3.3.1
Télé-médecine
En médecine, on utilise des systèmes collaboratifs pour faciliter les consultations à distance. Ce sont des systèmes de ”Télé-Assistance Médicale” ou ”Télé-Médecine”. On peut
facilement reconnaître le grand avantage de cette technique. Les patients peuvent bénéficier
des diagnostics d’experts sans être obliger de se déplacer dans les hôpitaux où ces experts
exercent. Le coût de reviens d’une consultation est aussi réduit. Ce système est spécialement
utile dans le cas des catastrophes naturelles ou des zones géographiquement isolé.
Le projet TeneCI (Télé-neurologie coopérative) est une collaboration entre le Laboratoire
d’Informatique de l’Université (LIFC) de Franche-Comté et des neurologues de l’hôpital de
Lausanne. Par des techniques de collaboration, par exemple la vidéo ou le télé-pointeur . . . les
experts, les neurologues peut travail ensemble sur le diagnostic de patients.
2.3.3.2
E-maintenance
Selon la définition de [45], “l’e-maintenance est une maintenance d’une unité fonctionnelle, assuré par télécommunication directe entre cette unité et un centre spécialisé. C’est un
service à distance d’aide au diagnostic et à la réparation.” Le centre spécialisé est souvent
des experts. Un système de e-maintenance se compose de 2 parties :
– Le centre d’experts de l’e-maintenance
– Des sites à maintenir
L’e-maintenance est appliqué dans plusieurs domaines :
– Pour informatique, elle est utilisée pour détecter et réparer des extraordinaires, comme
des erreurs d’un système informatique
– Pour l’armée : elle est utilisée pour maintenir des équipes de soldat, assistance technique
et collaborer à distance via Internet. Dans ce contexte, il y a le projet LARs du centre
Tobyhanna1 de l’armée américaine.
– Pour l’industrie : Aider à avertir automatiquement des problèmes techniques sur des
machines et déclencher des réparations à distance. Dans ce contexte, il y a le projet eu-
18
CHAPITRE 2. ÉTAT DE L’ART
ropéen Proteus, une collaboration entre l’entreprise CEGELEC et Schneider Electrinc
et LIFC, laboratoire d’Automatique de Besançon (LAB), laboratoire d’informatique de
Paris 6 (LIP6) et laboratoire Lorrain de Recherche en Informatique et ses applications
(LORIA) [45].
– Et pour les opérations dangereuse : par exemple travailler avec des lignes hautes tension, ou avec le nucléaire.
2.3.3.3
Modélisation-Simulation
Étant donnée la nécessité de collaborer dans le domaine de la modélisation-simulation,
quelques plate-formes ont vu le jour comme :
– ViroLab [16] : VicroLab est un laboratoire virtuel qui aide à la décision afin de fournir
une base de connaissances des maladies contagieuses. De plus, ViroLab fournit un
laboratoire virtuel où les chercheurs et les médecins peuvent facilement accéder à des
simulations distribuées et partager, traiter et analyser des données .
– Virtual Laboratory Environment - VLE [33] : VLE est une plate-forme de conception
et de mise en oeuvre d’expériences virtuelles dans le cadre de systèmes spatialisés. VLE
permet de spécifier des systèmes complexes par des modèles à base d’agents réactifs, de
simuler la dynamique du système et d’analyser les résultats des simulations. L’avantage
de VLE est qu’elle fournit suffisamment d’outils pour réaliser le processus de modélisation - simulation. Mais, VLE est un logiciel qui dépend au système d’exploitation, il
fonctionne uniquement sur Windows et Linux. Son installation est un peu difficile et
surtout elle ne support pas beaucoup d’outils collaboratifs.
Actuellement, on souvent développe des plate-formes simulation - modélisation collaborative à la base de WEB. Le mode de travail de ce type de simulation est souvent sous forme
du serveur et client, la simulation peut-être en distance ou local :
Simulateur
Paramètres
Commencer la simulation
Résultat
Figure 2.9: Simulation en distance [32]
Dans la figure 2.9, la simulation est exécutée à distance. Le client envoie des paramètres
au serveur via des formulaires HTML, le serveur les reçoit et les transmet au simulateur.
Lorsque la simulation est terminée, les résultats sont renvoyés via le serveur de Web au client
qui les affiche. Par contre, dans le mode local (la figure 2.10) le client envoie la demande de
simulation, le serveur va répond par un Java Applet, et la simulation est lancé à côté du
client.
2.3. PLATE-FORME COLLABORATIVE
19
Figure 2.10: Simulation locale [32]
Les plates-formes de modélisation-simulation à base de WEB répondent à deux grands
inconvénients des plates-formes “normales” qui ne se basent pas sur la technologie WEB :
– La plupart des plates-formes normales sont dépendantes du système d’exploitation.
– Il est difficile d’intégrer des simulateurs dans des plates-formes “normale”. En raison des
logiciels propriétaires et des problèmes de compatibilité avec le système d’exploitation.
Les plates-formes à base de WEB présentent deux avantages majeurs :
– Une plate-forme indépendante avec le système d’exploitation, facile à utiliser avec toute
les fonctionnalités nécessaires. Et on doit le déployer seulement une fois, sur le Web
serveur par exemple.
– un environnement modulaire permettant une intégration aisée de nouvelles fonctionnalités et de nouveaux composants.
Grâce à ces avantages, plusieurs plate-formes de modélisation-simulation à base de Web ont
vu le jour, par exemple :
– WEB-SIM-MIOR [6] : WEB-SIM-MIOR définit un concept original de la modélisation
en proposant un nouvel outil de simulation accessible sur un site WEB interactif. Cet
outil est interactif et permet à chacun de paramétrer et contrôler sa propre simulation.
WEB-SIM-MIOR se construit comme une couche logicielle ”englobant” le simulateur
existant MIOR. Les simulateurs proposés dans WEB-SIM-MIOR sont des applets java
reposant sur la technologie NetLogo [46] si bien qu’ils ne sont pas exécutés sur un
serveur mais sur l’ordinateur du visiteur.
– WBSC (Web Based Simulation Center) [18] : “WBSC est un concept et un prototype
de solutions pour le soutien des spécialistes de différents domaines qui sont impliqués
dans un projet de simulation, phase par phase, avec l’appui de ressources sur le Web”
[18]. WBSC supporte toutes les étapes d’un projet de simulation collaboratif. L’avantage de la plate-forme WBSC est qu’elle fournit suffisamment de fonctionnalités pour
la collaboration comme : une messagerie instantanée, un système de gestion de fichiers,
un environnement pour écrire collaborativement (Collaw [18]), ainsi que des fonctionnalités pour réaliser des expérimentations (de la saisie des paramètres, à l’exécution
la simulation et à l’affichage de résultats sous forme d’images...). Mais, l’inconvénient
principal de la plate-forme WBSC est qu’elle supporte seulement le simulateur GPSS/H
[37]. Il est, en effet, complexe d’intégrer de nouveaux simulateurs. D’autre part, WBSC
ne supporte pas les outils collaboratifs comme la vidéo conférence, le tableau blanc ou
le partage d’écran . . .
20
2.4
CHAPITRE 2. ÉTAT DE L’ART
Conclusion
La collaboration est une activité essentielle dans un contexte de groupe. Elle vise à partager la création [10]. Avec le développement de NTIC (Nouvelles Technologies de l’Information et de la Communication), il y a de plus en plus de systèmes collaboratifs. Ces systèmes
couvrent plusieurs domaines dont les Jeux, les Workflow, l’enseignement, la Communication,
....
Une plate-forme collaborative est un système distribué qui fournit des services permettant l’échange entre les membres d’un groupe via Internet. Elle fournit des fonctionnalités
de bases comme des outils de vidéo-conférences, de messagerie instantanée et de tableau
blanc permettant les interactions entre des personnes distantes. Elles intègrent aussi des
fonctionnalités pour gérer les utilisateurs, les groupes et la sécurité. Les divers plates-formes
collaboratives peuvent se diviser en deux groupes : un groupe de plates-formes génériques et
un groupe de plates-formes spécifiques. Les plates-formes génériques ne se spécialisent pas
dans un domaine concret, elles fournissent simplement des fonctionnalités basics permettant
la collaboration. Les plates-formes spécifiques sont conçus pour des domaines d’application
concrets. Elle intègrent donc des fonctions spécifiques au domaine considéré. La façon rapide pour développer une plate-forme spécifique est l’extension d’environnement générique
en ajoutant de nouvelles fonctions plus spécifiques.
Pour la modélisation-simulation, la collaboration occupe un rôle très important. Elle
apparaît dans toutes étapes du processus particulièrement dans l’étape visant construire le
modèle conceptuel et l’étape d’expérimentation. Actuellement peu de plates-formes supporte
l’activité de collaboration lors de la simulation collaborative.
Nous présentons, dans le chapitre suivant, une plate-forme de modélisation - simulation
collaborative appelée PAMS. Cette plate-forme fournit à la fois des fonctionnalités collaboratives génériques et de nouveaux outils qui sont spécifiques au domaine de la modélisation
et de la simulation.
Chapitre 3
PAMS
La collaboration occupe une place importante dans le processus de modélisation-simulation.
Cependant, comme cela a été constaté dans le chapitre précédent, peu de plates-formes de
modélisation-simulation la supporte.
Le but du projet PAMS est de créer un ensemble d’outils méthodologiques et logiciels
pour modéliser et simuler des systèmes complexes. Cet environnement associe des outils
conventionnels de collaboration (tableau blanc, messagerie instantanée, forums, répertoires
partagés, etc...) avec des outils spécifiques permettant la manipulation de simulateurs, d’expérimentations et des résultats.
Notre travail initie une nouvelle démarche de collaboration dans un projet de recherche.
Les modèles et les simulateurs ne sont plus uniquement diffusés au travers de communications
scientifiques (articles, conférence...), ils deviennent des objets manipulables à distance, via
le Web, et sont ainsi élevés au rang de support de la collaboration.
Au cours de ce chapitre, nous développons cette idée qui nous a conduit à la création
de l’environnement PAMS. Afin de mieux définir les contours du projet PAMS, quelques
scénarios de simulations collaboratives sont identifiés dans un premier temps. Ceci nous
permettra d’établir une liste d’outils collaboratifs que doit intégrer un environnement tel
que PAMS. Ensuite, nous présentons l’état de PAMS au début de l’année 2008. La troisième
section décrit en détail la nouvelle architecture de PAMS et les technologies utilisées. La
dernière section propose des scénarios d’utilisation de PAMS.
3.1
Analyse
L’originalité de l’approche PAMS est de considérer le modèle ou le simulateur comme un
objet partagé par un groupe de chercheurs. Ainsi, il est possible de manipuler des simulateurs,
de les configurer et/ou de les exécuter de manière collaborative.
3.1.1
Scénario de collaboration
Identifions au moyen de quelques scénarios les besoins. Ainsi, nous serons en mesure de
définir les fonctionnalités et les outils collaboratifs nécessaires à PAMS.
21
22
3.1.1.1
CHAPITRE 3. PAMS
Scénario1 : Expérimentation collaborative synchrone en distance [44]
M.X et Y (chercheurs en écologie), respectivement situés à Paris et à Hanoi, souhaitent
lancer des simulations afin d’obtenir des résultats qui seront illustrés dans l’article qu’ils
écrivent ensemble. Les deux chercheurs se connectent à la plate-forme PAMS et commencent
une discussion privée. M. X charge le simulateur souhaité, et invite M. Y. à partager à son
interface. M. X commence à saisir les paramètres de simulation. N’étant pas d’accords, M. Y.
commence une session de vidéo conférence afin d’échanger avec M. X ses idées. Il a également
déposé sur l’interface du simulateur un mémo indiquant la valeur des paramètres qui semble
correcte. Après un long débat, les chercheurs s’accordent sur les valeurs. M. X lance la simulation et choisit d’afficher seulement le graphique de l’évolution de la biodiversité, tandis
que Mr.Y visualise uniquement la distribution spatiale des espèces. Chacun dépose, en temps
réel, sur sa propre interface, des annotations explicatives. Ces dernières apparaissent, simulatanément, dans l’interface des deux chercheurs. Ainsi, ils amorcent l’ébauche d’une discussion
(enregistrée en tant que telle dans le système de messagerie instantanée). Faute de temps, M.
X doit partir. Ils décident de reprendre cette discussion plus tard et d’enregistrer la session
actuelle. Trois jours plus tard, en revenant sur le site, la conversation redémarre là où elle
s’était arrêté. . .
Ce scénario propose l’utilisation des outils collaboratifs pour surmonter le problème de
l’éloignement géographique.
3.1.1.2
Scénario2 : Expérimentation collaborative asynchrone à distance
M.X et Y (chercheurs en écologie) sont respectivement situés à Paris et à Hanoi. Supposons que M.X a commencé une simulation, mais M.Y ne peut pas de participer à la
simulation pour des raisons de décalage horaire. M.X choisi des paramètres de simulation,
exécute le simulateur et enregistre l’état final de la simulation dans la base de données. Par
l’intermédiaire d’outil collabortif asynchrone dont le blog, M.X informe à M.Y ce qu’il a fait
ainsi sa réflexion. Quelques jours plus tard, M.Y accède à son tour à l’espace collaboratif. Il
visualise et analyse les paramètres d’expérimentation choisi par M.X ainsi que les résultats
de la simulation. N’étant pas d’accord avec les choix de M.X, M.Y change les paramètres qui
lui posent problèmes. Il exécute ensuite le simulateur, enregistre les résultats dans la base
de données et notifie ses modifications au moyen du blog. Quelques jours plus tard, M.X se
reconnecte, il visualise les modifications de M.Y, les analyse et approuve les modifications
apportées.
Ce scénario présente un protocole de travail, courant dans le monde scientifique. Les
intervenants d’un même projet ne peuvent pas travailler ensemble en même temps mais
arrivent à collaborer gràce à la plate-forme collaborative.
3.1.1.3
Scénario3 : Création d’une expérimentation privée puis publique
M.X et Y (les chercheurs en écologie) respectivement situés à Paris et à Hanoi, sont
membres d’un projet où plusieurs dizaines de scientifiques participent. Etant donnée la taille
du projet, les participants sont organisés en groupes de travail et réalisent des tâches différentes. M.X et M.Y réfléchissent sur un modèle écologique. M. X et M. Y souhaitent lancer le
simulateur en privées afin de vérifier une hypothèse avant d’ouvrir l’expérimentation à l’ensemble des membres du projet. Les deux chercheurs se connectent à la plate-forme PAMS
et créent une expérimentation privée. Ils lancent le simulateur et conversent pour déterminer les paramètres qui valideront leur hypothèse. Lorsque les paramètres sont déterminés,
3.1. ANALYSE
23
M. X et Y ouvrent l’expérimentation à l’ensemble des membres du groupe. M.Z qui est un
membre du groupe se connecte à son tour à l’expérimentation. Etant surpris des résultats,
M. Z. décide donc d’approfondir l’expérimentation....
Ce scénario montre l’importance d’un espace de travail personnel et partagé.
3.1.1.4
Scénario4 : Expérimentation collaborative optionnelle avec des rôle différents
M.A et B, chercheurs en écologie, sont respectivement situés à Paris et à Hanoi, M.C
est représentant d’une organisation écologique. Ces trois personnes veullent résoudre un
problème posé par M.D portant sur de la pollution de l’eau dans les pays d’Afrique. M.E et
F sont des modélisateurs appartenant à une université espagnole.
M.C propose une hypothèse sur un forum international et demande de l’aide auprès de
modélisateurs et d’experts du domaine. M.A, B, E et F intéressés par la problématique
décident de contacter M.C. Ce dernier crée alors un nouveau projet , où M.C est le chef
du projet, M.A et M.B sont des utilisateurs, M.E et M.F sont des concepteurs du modèle.
M.E et M.F développent le modèle à partir des informations de M.C, M.D, M.A, et M.B.
Lorsque des problèmes apparaissent, ils accèdent à la plate-forme afin de collaborer. Après
avoir terminer la phase de développement des modèles conceptuels et informatiques, les
chercheurs déploient le simulateur sur le serveur pour que les autres puissent l’utiliser. M.C
crée une expérimentation du nouveau modèle et invite les membres du projet. Il attribue un
rôle à chaque membre : (i) le chef de projet (M. C) peut utiliser toutes les fonctionnalités
d’une expérimentation ( manipuler l’expérimentation, créer des groupes, ajouter, supprimer
des membres... ), (ii) les utilisateurs (M.A et M.B) peuvent seulement modifier les paramètres
du simulateur, contrôler l’exécution des simulations et analyser les résultats, (iii) un client (
M.D), M.E et M.F a que le droit de regarder.
Au cours de l’exécution de la simulation M.A veut observer seulement changement du
paramètre P tandis que M.B veut visualiser image représentative de la topologie d’un espace.
Durant la simulation, M.A identifie un bog. Il souhaite en référer à M.B. Pour cela, M.A
autorise M.B à visualiser le paramètre P. M.A et M.B discutent et comprennent la raison du
bog et le corrige. Ensuite, Ils continuent leur discussion un long moment et décident d’arrêter
pour reprendre un autre jour. Pour cela, ils enregistrent l’état de la simulation dans la base
de données. Trois jours plus tard, ils reaccédent à la plate-forme et reprennent leur travail
où ils s’étaient arretés.
Ce scénario met en évidence l’adaptabilité d’une plate-forme collaborative.
les quatres scénarios sont des cas que l’on rencontre souvent dans un projet de simulation. En nous basant sur ces scénarios, nous identifions des fonctionnalités collaboratives
intéressantes pour un projet de simulation.
3.1.2
Cahier de charge
Grâce aux scénarios présentés dans la section précédente, nous avons été en mesure
d’identifié des fonctionnalités importantes qui doivent être disponible dans une plate-forme
collborative de simulation. Ainsi nous avons pu établir un cahier des charges.
3.1.2.1
Une plate-forme WEB collaborative
Une plate-forme web collaborative doit intégrer toutes les fonctionnalités nécessaires au
domaine d’application et être conviviale et ludique pour les utilisateurs. Pout l’utiliser, les
24
CHAPITRE 3. PAMS
utilisateurs ne doivent pas être obligés d’installer des logiciels spécifiques : la plate-forme
doit être disponible et accessible n’importe où et n’importe quand. Les plate-formes web
collaboratives actuelles répondent à ces problèmes de temporalité et de spatialité : Avec
un simple navigateur WEB, il est possible de collaborer facilement. Pour cette raison, nous
orientons nos travaux vers la création d’un portail web qui sera accessible à tous (moyennant
une gestion élaborée des utilisateurs) au travers d’un navigateur web tel que Mozilla Firefox,
Internet Explorer ou Sarafi.
La plate-forme doit fournir les fonctionnalités nécessaires à la collaboration dans un projet
de recherche. Elle doit renfermer des fonctionnalités de collaboration synchrone :
– vidéo conférence, audio conférence ;
– messagerie instantanée ;
– partage d’écran ;
– tableau blanc ;
Elle doit aussi intégrer des outils de collaboration asynchrone tels que :
– le courriel ;
– les forums ;
– les blogs ;
– les wikis ;
– le partage de documents
En plus de ces fonctionnalités génériques (proposées dans toutes plate-formes collaboratives), il est nćessaire d’intégrer des outils spécifiques au domaine de la simulation des
systèmes complexes.
3.1.2.2
Une plate-forme WEB collaborative dédiée à la simulation
Un simulateur peut être exécuté plusieurs fois avec différents paramètres afin d’expérimenter divers situations. Dans ce contexte, les utilisateurs se focalisent sur les entrées et les
sorties du simulateur et se désintéresse du fonctionnement interne du modèle implémenté.
Pour cette raison, considérons un simulateur comme une boîte noire qui possèdent des entrées
et des sorties manipulable par les chercheurs.
De plus, dans un contexte de travail collaboratif, un simulateur doit être manipulable
par plusieurs utilisateurs, de concert (au sein d’une même expérimentation) ou en parallèle
(dans plusieurs expérimentations).
Figure 3.1: Concept central
Par conséquent, la plate-forme collaborative que nous souhaitons mettre en place doit
fournir un panneau de simulation commun qui permet :
– la modification d’un ou plusieurs paramètre(s) ;
3.2. ÉTAT EXISTANT DE PAMS
–
–
–
–
–
3.2
25
l’exécution et l’arrêt des simulations ;
la visualisualisation et le partage de l’ensemble des expérimentations ;
la visualisation et l’analyse des résultats de simulation ;
l’annotation et l’enregistrement des expérimentations ainsi que des résultats ;
la gestion des utilisateurs, des groupes, des rôles et des droits.
État existant de PAMS
PAMS (Plate-forme d’Aide à la Modélisation-Simulation) est un environnement collaboratif conçue et développé en collaboration avec l’Unité de recherche GEODES (IRD, France)
et le laboratoire MSI (IFI, VietNam). Ce projet qui a débuté en 2007 nous a permis de
développer une première version de l’environnement PAMS qui a ensuite été refondue pour
aboutir à la version actuelle de l’environnement.
Dans cette section, nous allons présenter l’architecture ainsi que les résultats obtenu en
2007.
3.2.1
Présentation
La mise en place d’une plate-forme collaborative de modélisation - simulation soulève de
nombreuses questions scientifiques dans les domaines de la modélisation, des systèmes répartis et des systèmes collaboratifs. Une importante phase d’analyse du projet a été nécessaire
afin de caractériser précisément l’activité de collaboration en modélisation-simulation. A la
suite de cette analyse, des choix ont alors été faits autant sur le plan conceptuel en définissant
le fonctionnement général de la plate-forme (les outils collaboratifs qu’elles incorporent, son
architecture, . . . ), que sur le plan technique en déterminant avec précision les environnements
logiciels utilisés (Sakai , Jonas , Mysql , Repast ). Compte tenu de la diversité des modèles et
des environnements de simulation existants, nous avons, temporairement, restreint le champ
d’application de la plate-forme Pams aux modèles multi-agents qui s’exécutent sur l’environnement Repast. Cette décision se justifie par le nombre de développements effectués au
laboratoire MSI qui repose sur Repast.
Ensuite, la phase de développement proprement dit a débuté et se décompose en trois
grandes étapes :
– Mise en place de l’infrastructure logicielle : les environnements Sakai et Repast ont été
installés sur deux serveurs administrés par le laboratoire MSI.
– Implémentation d’une interface web de simulation : il s’agissait de développer tous
les algorithmes distribués et les interfaces graphiques permettant le paramétrage des
simulateurs, l’exécution à distance de ces derniers et la visualisation des résultats de
simulation.
– Intégration d’outils collaboratifs : cette étape a visé à mettre en place autour de l’interface de paramétrage et de visualisation des résultats, un ensemble d’outils collaboratifs,
tels que des wiki, des forums et des messageries instantanés.
Les deux premières étapes et une partie de la troisième étape ( Installer quelques outils
colllaboratifs tels que des wiki, des forums, des messageries instantanés ) était globalement
achevées : à la fin de l’année 2007, la plate-forme Pams permettait, au travers d’une interface
web, (figures 3.2 et 3.3) de choisir un simulateur, de modifier les paramètres de simulation,
d’exécuter à distance (sur un serveur dédié) le simulateur et de visualiser les résultats de
simulation sous la forme de textes, graphiques et vidéo.
26
CHAPITRE 3. PAMS
Figure 3.2: Page d’accueil de la plate-forme PAMS
Figure 3.3: Affichage graphique du résultat d’une simulation
3.2.2
Architecture
L’environnement PAMS est basée sur une architecture multi-niveaux. C’est une architecture à la base de composant qui est vue, en génie logiciel, comme une approche de développement modulaire et flexible. L’architecture de PAMS tire partie de l’approche MVC
(Model View Controller) [35] qui distingue l’interface graphique (View) des fonctions métiers
(les contrôleurs) et les bases de données (Modèle). L’approche multi-niveaux [11] organise
3.2. ÉTAT EXISTANT DE PAMS
27
les fonctions métiers sous forme de modules qui peuvent être appelés et utilisés indépendamment.
Figure 3.4: Architecture à la fin 2007
Cinq modules composent le noyau de l’environnement PAMS (voir figure 3.4) :
– le module drivers permet l’interconnexion entre l’environnement PAMS et des plateformes de simulation multi-agents tel que Repast [30] ou Gama [2]. Ce module exécute
les simulateurs stockées dans une base de données, produit des données et les envoie
vers les modules Sorties. Il y a un drivers par une plate-forme de simulation.
– le module Sorties rassemble et met en forme les résultats de simulations provenant
des drivers afin de partager ces données avec les autres modules du système. Puis ces
données sont formatées pour être affichées dans l’interface utilisateur et/ou stockées
dans la base de données.
– le module Affichage formate les données partagées (issues des simulateurs) afin de générer et gérer l’affichage des utilisateurs. Plusieurs affichages sont proposés : (i) les
moniteurs pour observer des changements des paramètres, (ii) les plots pour visualiser les graphiques et / ou (iii) les grilles 2D (images). L’interface utilisateur accède
au module Affiche pour générer automatiquement et dynamiquement une interface
personnalisée du simulateur utilisé dans l’expérimentation.
– le module sauvegarde enregistre dans une base de données l’ensemble des résultats
de simulation. Ces données sont utilisé par la suite pour revoir le déroulement de la
simulation sans réexécuter le simulateur.
– le module Contrôleurs permet le contrôle des simulateurs (exécuter, et voir le résultat).
Malgré l’état d’avancement de la première version de PAMS, des inconvénients majeurs
subsistent. Par exemple, il n’était pas possible de manipuler à plusieurs les résultats des
simulateurs. Mais surtout, cette première version ne possédait pas d’outils collaboratifs dédiés
au domaine de la modélisation-simulation.
L’objet principal de mon stage a été de proposer, de concevoir et de développer dans
PAMS des outils collaboratifs spécifiques et dédiés au monde de la modélisation-simulation
des systèmes complexes.
28
3.3
CHAPITRE 3. PAMS
Proposition de fonctionnalités collaboratives
Ce stage fait suite au travaux réalisés en 2007 en mettant en place des outils collaboratifs
adaptés au domaine de la modélisation simulation. Un premier volet de mon travail a consisté
à déployer des outils collaboratifs existants. Le second, plus important, visait à concevoir et
à développer des outils collaboratifs spécifiques au domaine de la modélisation-simulation
des systèmes complexes. Pour cela, je me suis aidé de l’étude bibliographique présentée dans
le chapitre 2.
Au cours de cette section nous aborderons, dans un premier temps, les solutions qui ont
été déployées dans l’environnement PAMS. Ensuite, nous présenterons les outils collaboratifs
que j’ai conçus, développés et installés dans le cadre de ce stage et du projet PAMS.
3.3.1
Mise en place de solutions existantes
L’environnement Sakai propose nativement des outils collaboratifs (voir la session 2.3.2).
Grâce à l’analyse des besoins établi dans la section 3.1 nous avons fait le choix de déployer
les outils collaboratifs internes Sakai suivants :
– une messagerie instantanée (collaboration synchrone) ;
– un blog (collaboration asynchrone) ;
– un wiki (collaboration asynchrone) ;
Même si les fonctionnalités collaboratives de la plate-forme Sakai sont particulièrement
avancées (notamment du point de vue des outils asynchrone), nous pouvons noter le manque
d’outils de collaboration synchrone. Afin de répondre à ce manque nous avons installé le
plug-in Agora [1].
Agora est un outil de conférence simple et efficace. Son installation au sein de l’environnement SAKAI est aussi simple (voir l’annexe B). Il fournit les fonctionnalités suivantes :
– la vidéo-conférence multi-points (”plusieurs à plusieurs”) : Organiser en salles de réunion
virtuelles. Ainsi, on peut faire de le vidéo-conférence avec un nombre important de participants.
– la messagerie instantanée ;
– le partage d’écran ;
– le tableau blanc ;
– broadcast des films ;
– enregistrant des sessions de travail.
Grâce à l’intégration du plug-in Agora dans Sakai, nous avons répondu à la première
partie du cahier de charge : PAMS intègre désormait des outils génériques supportant des
interactions synchrone et asynchrone. Ces fonctionnalités génériques ont été complétés par
de nouveaux outils, spécifiques au domaine de la modélisation-simulation. Ces derniers sont
intégrés au sein d’un même module dont le développement à fait l’objet principal de mon
travail. Dans la section suivante, nous allons présenter ce travail.
3.3.2
Module de partage des simulations
Au cours de cette section, nous abordons plus en détail le module de partage des simulations. Dans un premier temps, des cas d’utilisation sont abordés. Ensuite, la conception nous
permet de mieux comprendre la nouvelle architecture de PAMS et ainsi que les technologies
est utilisée. Enfin, l’implémentation sera présentée.
3.3. PROPOSITION DE FONCTIONNALITÉS COLLABORATIVES
29
Figure 3.5: Fonctionnalité d’Agora [1]
3.3.2.1
Cas d’utilisation
A partir des scénarios proposées dans la section 3.1, nous identifions les principaux cas
d’utilisation qui sont (voir figure 3.6) :
– Voir la liste des modèles disponibles : les utilisateurs seront en mesure de choisir un
modèle pour l’expérimenter ensuite ;
– Voir la liste des expérimentations : action de voir une liste d’expérimentations (pour
un modèle donné) qui sont en cours d’exécution ou terminées
– Créer une expérimentation : action de créer une nouvelle expérimentation
– Rejoindre une expérimentation encours : Possibilité de rejoindre une expérimentation
à laquelle l’utilisateur a été invité ;
– Demander le jeton de contrôle : action de faire la demande de contrôle du simulateur ;
– Contrôler l’expérimentation : action de manipuler l’expérimentation (start, stop, step)
– Analyser les résultats : action d’analyser les résultats des simulation
– Rendre le jeton de contrôle : action de laisser le droit de manipuler l’expérimentation
– Quitter l’expérimentation : action de quitter l’expérimentation
– Vérifier le groupe : action de vérifier si un chercheur est un membre d’un groupe
– Vérifier le jeton de contrôle : action de déterminer si le simulateur est utilisé par un
autre membre collaborant
– Mettre la demande dans la queue : Possibilité de mettre la demande dans la queue qui
stocke les demandes arrivées
– Exécuter l’expérimentation : Possibilité d’exécuter l’expérimentation
– Modifier des paramètres : Possibilité de modifier des paramètres
– Arrêter l’expérimentation : Possibilité d’arrêter l’expérimentation
– Observer la valeur d’une paramètre en cours : Possibilité d’observer le changement
30
CHAPITRE 3. PAMS
Figure 3.6: Cas d’utilisation pour la simulation collaborative
–
–
–
–
Pour
d’un paramètre
Attribuer les permissions : Possibilité de changer les permissions de partage des différents moniteurs, graphiques et images
Afficher les graphiques : Possibilité d’afficher les graphiques
Vérifier la queue : Possibilité de vérifier si il y des demandes stockées dans la queue
Détruire l’expérimentation : Possibilité de détruire une expérimentation en cours ou
déjà réalisé
plus d’information, le lecteur peut se référer à l’annexe A.
3.3.2.2
Conception
Au cours de cette section, nous présentons l’architecture et les technologies utilisées dans
l’environnenment PAMS.
Architecture du module collaboratif
Le schéma 3.7 présente l’architecture de PAMS complétée par les modules des simulations
collaboratives qui ont fait l’objet principal de ce stage. La mise en place de fonctionnalités
collaboratives dans PAMS s’est concrétisée par l’ajout de deux modules de contrôle. L’un
assure l’accès concurrent aux simulateurs : (i) modification collaborative des paramètres
de simulation ; (ii) visualisation collaborative des résultats et (iii) gestion des droits. L’autre
3.3. PROPOSITION DE FONCTIONNALITÉS COLLABORATIVES
31
Figure 3.7: Nouvel architecture
permet le partage des expérimentations : (i) l’énumération des expérimentations déjà réalisées
et encours ; (ii) l’accès aux expérimentations.
Adossé à ces deux modules une interface WEB collaborative a été développée. Cette
dernière se scinde en deux nouveaux modules de présentation :
– Un explorateur d’expérimentations qui permet la gestion, le partage des expérimentations et les échanges des résultats. Grâce à cette interface, les utilisateurs peuvent voir
des expérimentations réalisées ou en créer de nouvelles. De plus, il est possible de : (i)
rejoindre des expérimentations en cours d’exécution, de revoir des expérimentations
terminées (si elle est publique), et (ii) télécharger les résultats de ces expérimentations
pour les analyser ensuite.
– Une GUI permettant l’exécution à distance des simulateurs, le partage et le contrôle de
ces mêmes simulateurs. Ainsi, les utilisateurs peuvent modifier les paramètres, déterminer et afficher les résultats ensemble. De plus, l’interface fournit des fonctionnalités
pour la création de groupes de travail, la visualisation des informations personnelles et
la configuration des options personnelles.
Technologies envisagées
La plate-forme PAMS peut être considérée comme un conteneur dans lequel les simulateurs
sont chargés, connectés avec une base de données, exécutés par des serveurs dédiés et gérés
via une interface Web.
L’environnement PAMS est basé sur des technologies issues du domaine des systèmes
distribués (voir le figure 3.8) :
– Un serveur d’applications Web renferme les pages JSP, Ajax [8] et les Servlet [19]
(Sakai-Tomcat) permettant la gestion de l’interface collaborative
– Un serveur d’applications Entreprise Java Bean (Jonas) pour exécuter des simulateurs,
pour gérer des expérimentations, des entrées, des sorties et de collaboration.
– Une base de données (MySQL) pour stocker les modèles, les expérimentations (condi-
32
CHAPITRE 3. PAMS
Figure 3.8: Technologies utilisées dans PAMS
tions initiales et résultats) et les échanges entre les utilisateurs PAMS.
PAMS tire partie de l’environnement Sakai [13]. Sakai est un environnement de collaboration et d’apprentissage en ligne principalement orienté vers le monde de la recherche. En
nous reposant sur l’environnement Sakai, nous développons de nouveaux modules qui gèrent
une GUI (Graphic User Interface) collaborative spécifique au domaine de la simulation. Les
modules de PAMS seront associés avec l’environnement Agora [1] qui, quant à lui apportera
des fonctionnalités collaborative générique.
L’utilisation d’Entreprise Java Beans (EJB) [29] est une technique qui permet à environnement PAMS d’être flexible, modulaire et améliorable. Chaque modules du framework
est composé de plusieurs EJB. Tous les EJB d’un même module sont utilisés au travers
d’une interface métier unique (déterminée pour le module). Ainsi, pour ajouter de nouvelles
fonctionnalités, des EJBs peuvent être développés et déployés dynamiquement sans réviser
le anciens composants de PAMS. Mais, ces nouveaux EJB doivent implémenter les interfaces
prédéfinies dans PAMS.
Les interactions entre les composants du framework seront assurées par des messages JMS
et des appels distants de méthodes (RMI). L’environnement PAMS pourra ainsi être déployé
sur une grille d’ordinateurs. Divers configurations de déploiement peuvent être proposées
et utilisées, par exemple : un serveur pour gérer l’interface web, l’affichage, les sorties, des
modules d’enregistrement, et plusieurs serveurs à exécuter des simulateurs.
Base de données associées
Le diagramme de la base de données :
3.3. PROPOSITION DE FONCTIONNALITÉS COLLABORATIVES
33
Figure 3.9: La base de données
La description de chaque tableau est présenté dans la table 3.1.
Nom de table
ModelSystem
Model
Experiment
ExperimentParameter
Variable
Display
Save et SaveData
Plot et PlotData
Monitor
ExperimentGroup
ExperimentMember
Description
Stocker des informations concernant des plate-forme
de simulation
Stocker des informations concernant des modèles
Stocker des informations concernant des expérimentations
Stocker des paramètres des modèles disponibles
Stocker des informations concernant de valeur des variables
observés (l’observation, le graphique, l’affichage )
dans l’expérimentation
Stocker des informations concernant la chemin des affichages
générés
Stocker des informations concernant tous les variables observés
dans des expérimentations
Stocker des informations concernant des graphiques observées
dans des expérimentations
Stocker des informations concernant des observations dans des
expérimentations
Stocker des informations concernant des groupes créés dans
des expérimentations
Stocker des informations concernant des membres dans
des expérimentations
Table 3.1: Les informations des tables
Pour gérer ces tables, nous avons implémenté quelques entités beans pour réaliser des
activités concernant la base de donnée. Chaque tableau dans la base de données est gérée
par une entité bean.
Dans cette base de données, nous avons introduit deux nouvelles notions par rapport
34
CHAPITRE 3. PAMS
Entité
ExperimentEJB
ExperimentMembreEJB
ExperimentGroupEJB
ParameterEJB
ModelEJB
Tableau
Experiment
ExperimentMember
ExperimentGroup
Parameter
Model
Table 3.2: Des entités beans
avec la version en 2007 : les notions de membre et de groupe d’une expérimentation. En
effet, dans Sakai, il existe déjà ces notions, mais elles appliquent seulement pour les sites et
les outils de Sakai.
Les améliorations que nous avons apportées permettent l’attribution de droit à un chercheur ou à un groupe de chercheurs pour la manipulation des expérimentations. Ces droits
sont définis par l’utilisateur au moment de la création de l’expérimentation et peuvent être
modifiés durant l’expérimentation.
3.3.2.3
Implémentation
L’implémentation de la plate-forme PAMS s’est déroulé en deux étapes qui sont :
1. Installer une plate-forme avec des fonctionnalités collaboratives génériques ( voir 3.3.1
- Intégrer AGORA dans Sakai)
2. Développer des fonctionnalités collaboratives spécifique au domaine de la simulation
La deuxième tâche s’est divisée en 3 sous-étapes :
– Développement des composants permettant la gestion des expérimentations et des
accès concurrents
– Développement d’une interface WEB permettant la manipulation collaboratives des
simulateurs
– Développement d’un explorateur WEB des expérimentations.
Nous détaillerons ces trois sous-tâches dans la suite de cette section.
Le contrôleur de gestion d’une expérimentation et de la concurrence.
Cette fonctionnalité est implémentée par 4 modules principaux (Voir la table 3.3). Deux
session bean qui fonctionnent sur le serveur d’application Jonas, une servlet et un javascript
qui fonctionnent sur le serveur de WEB Sakai-tomcat.
3.3. PROPOSITION DE FONCTIONNALITÉS COLLABORATIVES
Nom
ExperimentManager
GroupManage
ExperimentManageServlet
Board.js
Description
C’est un bean session qui permet de gérer les
expérimentation. Il intègre notamment des fonctions
permettant la manipulation des paramètres.
C’est une session bean qui permet de réaliser
les utilisateurs et les groupes. Par example :
l’addition ou la suppression un participant ou
un sous groupe . . .
C’est un servlet qui permet de réaliser des demandes
des utilisateurs. En effet, cette servlet reçoit la demande
et fait appels au session bean ExperimentManager
C’est un javascript integrant des primitives Ajax qui
permet d’envoyer des demandes de l’utilisateur et de
recevoir la réponse du serveur
Table 3.3: 4 composants principaux
L’interaction entre chaque modules est montré dans la figure 3.10.
Figure 3.10: Modèle de contrôleur
35
36
CHAPITRE 3. PAMS
Jusqu’au moment d’écrire ce rapport, 13 types de demandes différentes pouvaient être
envoyées du client au serveur de Web.
Pour le contrôle de la concurrence dans la manipulation de l’expérimentation, nous avons
appliqué l’algorithme suivant.
Figure 3.11: L’algorithme de demande la manipulation
Cet algorithme est implémenté par l’interaction entre des composants (voir la figure 3.12)
3.3. PROPOSITION DE FONCTIONNALITÉS COLLABORATIVES
37
Figure 3.12: Le diagramme séquentiel de la demande de la manipulation
Une interface Web de simulation collaborative
Cet étape fournir une interface graphique WEB qui permet à l’utilisateur de simuler
collaborativement. Cet interface est unique pour tous les membres.
38
CHAPITRE 3. PAMS
Figure 3.13: Interface graphique
Cette interface se décompose en 6 panneaux différents et indépendants (voir la figure 3.13).
Grace à cette division, nous pouvons les gérer facilement.
Nom
Information
personnelle
Des outils
collaborcatifs
Liste des
membres
Travaux concernant
le groupe
Le queue de
de demande
Des options
Description
Ce composant contient des informations tel que le nom, le rôle,
le groupe . . .
Ce composant contient des outils tel que le vidéo conférence,
le forum, le wiki, le messagerie instantanée. . .
Ce composant contient une liste des participants en ligne
Ce composant contient l’outil qui permet de créer un
groupe de travail
Ce composant contient une queue des demandes le droit de
manipuler l’expérimentation
Ce composant contient des options qui déterminent les
participants qui peuvent visualiser des observations créées
Table 3.4: Le panneau collaboratif
Pour mettre à jours cet interface, après une période déterminée nous envoyons consécutivement des demandes en appliquant la technologie Ajax. 5 fichiers jsp sont créés pour traiter
des demandes (voir la table 3.5). Quand il y une demande, les composants lisent ou écrivent
dans les tables correspondantes dans la base de données.
3.3. PROPOSITION DE FONCTIONNALITÉS COLLABORATIVES
Nom
experimentMember.jsp
monitor.jsp
memberQuit.jsp
parameter.jsp
setPublic.jsp
39
Description
Ce composant permet la mise à jours des participants en ligne
Ce composant permet la mise à jours des moniteurs ajoutées
Ce composant permet de traiter l’événement qu’un participant
quitte l’expérimentation
Ce composant permet de mise à jours le changement
des paramètres
Ce composant permet de changer la caractéristique des
observations
Table 3.5: 5 pages ajax pour la mise à jour de l’interface
L’interface obtenue après implémentation est présentée par la figure 3.14 :
Figure 3.14: L’interface graphique de WEB
Une interface de navigation des expérimentations
En plus de proposer une interface d’expérimentation collaborative, nous avons également
fournit une interface permettant la navigation collaborative dans les expérimentations.
Premièrement, cette interface listent des expérimentations en cours et terminée. Deuxièmement elle assure la gestion des droits des utilisateurs pour la visualisation des experimentation réaliser et en-cours
Quand on crée une expérimentation, on sélectionne des participants, ces informations
sont enregistrées dans le tableau ExperimentMember de la base de donnée PAMS. Nous
avons appliqué la technologie ajax pour mise à jours des nouvelles expérimentations. Après
une période déterminé, une demande de récupérer la listes de l’expérimentation est envoyée.
Cette tâche est réalisé par 3 composants principales :
40
CHAPITRE 3. PAMS
Nom
experiment.jsp
experiment.js
experimentMoniter.jps
Description
Ce composant construit une interface permet de créer ou joindre
des expérimentations. De plus, elle fait afficher la liste des
expérimentations en cours et terminée
Ce fichier javascript permet d’envoyer des
demandes et de recevoir des réponses pour mettre à jour la liste
des expérimentations réalisées et encours
Ce composant permet de récupérer la liste des expérimentations
en lisant le tableau Experiment et ExperimentMember dans
la base de données
Table 3.6: 3 composants implémentent le navigateur collaboratif
Après avoir implémenté tous les trois étapes. Nous avons obtenu une plate-forme avec des
fonctionnalités collaboratives contenant des fonctionnalités collaboratives dédiées au domaine
de la modélisation et simulation. Dans la section suivante, nous testons cette interface au
travers de scénarios d’utilisation.
3.4
Tests
Dans cette section, nous allons tester les 4 scénarios proposés (voir 3.1.1). Nous avons
déployé notre plate-forme sur un serveur de IRD-Montreplier. L’adresses est : http ://vmpams.mpl.ird.fr :8080/portal.
Le méthode utilisée est ”Tester à la base des spécifications” (Specification Based Testing
[23]) . Le but de ce méthode est de tester des fonctionnalités selon de ce que nous avons
spécifier dans les scénarios.
3.4.1
Test scénario 1
Nous identifions 10 activités principales dans ce scénario.
1. Description : Deux chercheurs M.X et M.Y se connectent au site du projet
Résultat attendu : Ils arrivent avec succès à se connecter au site du projet, et se
situent à la page d’accueil.
Résultat obtenu : Avec le login et le mot de passe, les deux chercheurs sont en mesure
de s’identifier et d’accèder à un même espace de travail.
2. Description : M.X commence l’expérimentation.
Résultat attendu : L’expérimentation est active.
Résultat obtenu : M.X accède dans l’espace de préparer pour l’expérimentation. Il
entre des paramètres nécessaires pour une nouvelle expérimentation et clique ensuite
sur le bouton New. L’espace de l’expérimentation affiche. L’expérimentation est active.
3. Description : M.Y partage son interface.
Résultat attendu : M.X pourra voir l’interface de M.Y.
Résultat obtenu : Grace à l’architecture spécifique, l’interface de M.X et M.Y est
identique. Donc, M.X peut voir l’interface de M.Y.
4. Description : M. X saisit des paramètres de simulation.
Résultat attendu : M.X pourra saisir des paramètres de simulation. et M.Y pourra
également de visualiser des changements.
3.4. TESTS
41
Résultat obtenu : Des paramètres sont affichées dans des boîtes de texte modifiable.
Donc, M.X saisit les paramètres. Il clique ensuite sur le bouton Apply et immédiatement M.Y voit la nouvelle valeur des paramètres.
5. Description : M. Y commence une session de vidéoconférence.
Résultat attendu : M.Y pourra commencer une session de vidéoconférence. M.X sera
invité de participer pour échanger des idées.
Résultat obtenu : Dans l’ensemble des outils collaboratifs dans la partie de collaboration, à droit. M.Y clique sur le lien Conferencing, l’outil Agora est actif. Il crée une
vidéoconférence et invite M.X. Après quelques second, M.X joint à cette conférence.
Ils discutent, communiquent et échangent des idées par la messagerie instantané, le
tableau blanc, le partage du bureau...
6. Description : M. X lance la simulation.
Résultat attendu : M.X pourra lancer la simulation, tandis que M.Y ne pourra pas.
Résultat obtenu : Grace aux buttons dans la partie contrôleur, M.X lance la simulation (clique sur le bouton Start). Tandis que, les boutons de M.Y sont inactifs. Donc
à ce moment, M.Y ne peut pas lancer la simulation.
7. Description : M.X choisit d’afficher seulement le graphique.
Résultat attendu : M.X pourra faire afficher seulement le graphique.
Résultat obtenu : Dans la partie de l’affichage, M.X ajoute seulement d’observer la
paramètre display. Il lance la simulation, le graphique et seulement le graphique est
affiché.
8. Description : M.Y visualise uniquement la distribution spatiale des espèces
Résultat attendu : M.Y pourra visualiser uniquement la distribution spatiale des
espèces.
Résultat obtenu : Dans la partie de l’affichage, M.Y ajoute seulement d’observer la
paramètre qui représente la distribution spatiale des espèces. La simulation est lancé,
il visualiser uniquement la distribution spatiale des espèces.
9. Description : M.X doit partir, il enregistrer la session actuelle.
Résultat attendu : Ils pourront enregistrer la session actuelle.
Résultat obtenu : Ils cliquent sur le lien Logout. Le système automatiquement enregistre la session actuelle. Cependant, il enregistre seulement l’état de l’expérimentation
au moment de quitter.
10. Description : M.X et M.Y reprennent cette discussion
Résultat attendu : Ils pourront reprendre l’expérimentation.
Résultat obtenu : Ils accèdent à l’espace de préparation de l’expérimentation. Le
lien de cet expérimentation affiche dans la colonne des expérimentations terminées. Il
clique sur ce lien, l’expérimentation est active avec les paramètres au moment qu’ils
ont quitté.
3.4.2
Test scénario 2
Dans ce scénario, nous identifions 2 activités alternatives entre deux chercheurs, M.X et
M.Y :
1. Description : M.X lance la simulation.
Résultat attendu : En raisons de décalage horaire. M.X lancera la simulation tout
seul. Après avoir finit, il enregistra l’état actuel à la base de donnée.
42
CHAPITRE 3. PAMS
Résultat obtenu : Il est succès de lancer la simulation tout seul, et d’enregistrer
l’état. Pour plus détailler voir le test 1 3.4.1.
2. Description : M.X informe à M.Y ce qu’il a fait par des outils collaboratifs asynchrone.
Résultat attendu : M.Y sera au courant ce que M.X a fait. Il pourra lancer la
simulation de l’expérimentation que M.X a créé.
Résultat obtenu : Après avoir terminé l’expérimentation, M.X clique sur le lien de
l’outil Blogger (Il peut utiliser d’autres outils comme Forum, Courriel . . . ) du projet,
et rédiger un nouvel article qui décrit ce qu’il a fait. Quand M.Y connecte au site du
projet, il voit ces informations. Il réactive l’expérimentation, exécute la simulation, et
informe le résultat à M.X.
3.4.3
Test scénario 3
Nous identifions deux activités pour ce scénario :
1. Description : Créer une expérimentation privée.
Résultat attendu : M.X et M.Y créent une expérimentation qui sera accédée seulement par ces deux chercheur.
Résultat obtenu : Dans l’espace de préparation pour l’expérimentation, M.X sélectionne M.Y comme le participant unique pour l’expérimentation. Donc, M.X et M.Y
accèdent à l’espace de préparation de l’expérimentation, seulement M.Y peut voir le
lien vers l’expérimentation nouvellement créée.
2. Description : Changer le caractère privée de l’expérimentation à public.
Résultat attendu : M.X et M.Y pourront ouvrir l’expérimentation pour que d’autres
membres afin qu’ils puissent la visualiser.
Résultat obtenu : NON. Cette fonctionnalité n’est pas encore implémentée.
3.4.4
Test scénario 4
Pour ce scénario, il y a quelques activités que nous avons testé. Donc, nous identifions
des activités qui ne sont pas testées. On a deux activités suivantes :
1. Description : Attribuer aux participants un rôle concret.
Résultat attendu : Chacun se verra attribué à un rôle avec une permission déterminée.
Résultat obtenu : Dans l’espace de préparation de l’expérimentation, M.C sélectionne
M.A et M.B avec le rôle User, M.D, M.E et M.F avec des autres rôles. L’expérimentation
est créée. M.C peut utiliser toutes les fonctionnalités, M.A et M.B peuvent utiliser
seulement des fonctionnalités concernant la simulation (start, stop, step,. . . ), et les
autres utilisateurs regardent seulement.
2. Description : La possibilité de changer le caractère des observations créées.
Résultat attendu : M.A pourra visualiser des observations de M.B et inversement.
Résultat obtenu : Dans la partie de moniteur, à côté des observations, il y a un
lien pour activer la fonction de changer le caractère de chaque observation. M.A clique
sur ce lien de l’observation qu’il veut publier. Une fenêtre s’affiche. M.A choisit l’option Public. Immédiatement, tous les participants visualisent cette observation (Il
peut restreindre la visualisation à seulement M.B en choisissant l’option Public for a
membre).
Chapitre 4
Une étude de cas
Dans cet étude de cas, nous allons montrer, étape par étape, la création d’une expérimentation collaborative synchrone à distance, comme cela a été présenté dans la section
3.1.1.1.
L’étape 1 : Se connecter à l’espace du projet.
Les deux M.X et M.Y se connectent au site http ://vmpams.mpl.ird.fr :8080/portal en
fournissant leur identifiant et leur mot de passe (voir la figure 4.1) :
Fournir
le compte
FOURNIR LE COMPTE ET
DE PASS
etLEleMOTmot
de pass
Figure 4.1: Se connecter
L’espace personnelle affiche (voir la figure 4.2). En haut de cet espace, il y a une liste des
différents menus qui représentent des espaces personnels et des espaces de travail pour les
projets dont ils sont membres.
43
44
CHAPITRE 4. UNE ÉTUDE DE CAS
L'espace personnelle de M.X
L'espace de chaque projet
que M.X participe
Figure 4.2: L’espace personnelle de M.X
L'espace personnelle
et du projet de M.Y
Figure 4.3: L’espace personnelle de M.Y
M.X et M.Y travaillent dans un même projet : Pams. Ils cliquent sur le menu de ce projet
pour accéder l’espace du projet Pams. Cet espace est identique (voir la figure 4.4 ).
Cet espace est divisé par 4 parties : La partie au milieu représente la description du projet ;
les deux parties à droite contiennent des messageries instantanées récentes, des courriels et
le forum ; La partie le plus important est le menu de gauche. Chaque item de ce menu est
proposé une fonctionnalité, par exemple :
45
Le menu
principal
La
description
du projet
Des messageries
instantanées récentes
Des courriels et le Forum
Figure 4.4: Espace du projet Pams
–
–
–
–
–
–
Chat Room
Wiki
Email Archive
Blogger
Forums
Conferencing (C’est Agora)
L’étape 2 : Créer une nouvelle expérimentation.
M.Y clique sur l’item Pams, dans le menu de gauche. Une liste des modèles disponibles
s’affichent (voir la figure 4.5).
Il clique ensuite sur le lien du modèle “Enn”. L’espace de création de l’expérimentation est
affiché (voir la figure 4.6). Dans cet espace, la description complète du modèle est présente.
M.Y entre 3 informations pour créer l’expérimentation : (i) un nom pour l’expérimentation (“TEST”) ; (ii) une description de l’expérimentation (“TEST”) ; et (iii) le seul participant à savoir M.X. Ensuite Il clique sur le bouton New, l’expérimentation est créée.
46
CHAPITRE 4. UNE ÉTUDE DE CAS
Tab Pams
Des modèles disponibles
Figure 4.5: Des modèles disponibles
Description du mdèle
Le nom de nouvelle expérimentation
Description de nouvelle expérimentation
Sélectionner des participants
Clique ici pour créer nouvelle
expérimentation
Figure 4.6: L’espace de préparation de l’expérimentation
L’espace de l’expérimentation collaborative est affiché. Sur cet espace, il y a 6 parties différentes (voir la figure 4.7 ) : le tableau collaboratif des paramètres ; les moniteurs collaboratifs, les graphiques, le contrôleur collaboratif, l’afficheur d’images, et l’afficheur informations
collaboratives.
47
Configuration
collaborative des
paramètres
Le contrôleur
collaboratif
Le button
collaboratif
Fonctionnalité
collaborative
Le button
pour charger
L'affichage
optionel
Le moniteur
collaboratif
Le graphique
optionnel
Figure 4.7: L’espace de l’expérimentation
L’étape 3 : Joindre à l’expérimentation créé.
M. X accède, à son tour, à l’espace de préparation de l’expérimentation, il peut voir le lien
de la nouvelle expérimentation. Il clique sur ce lien, l’espace de l’expérimentation s’affiche.
Le lien de l'expérimentation
Figure 4.8: Joindre à l’expérimentation créé
L’étape 4 :Changer des paramètres.
M. X clique sur le bouton collaboratif pour demander le droit de manipuler, le bouton
48
CHAPITRE 4. UNE ÉTUDE DE CAS
prend la couleur rouge. Il obtient donc le droit de contrôle du simulateur Enn. Il clique ensuite
sur le bouton de chargement, Enn modèle est chargé. Ce bouton disparait pour laisser place
aux bouttons de control de la simulation :
– le bouton Setup pour initialiser le modèle Enn en fonction des paramètre courant ;
– Le bouton Start pour exécuter la simulation en mode de continue ;
– le bouton Stop pour arrêter l’exécution de la simulation ;
– le butons Step pour exécuter la simulation en mode “pas à pas”.
Figure 4.9: La partie contrôleur
L’interface de M.X est devenu éditable. M.X saisit alors de nouveaux paramètres et clique
sur le bouton Apply. Immédiatement, M.Y visualise les changements.
Figure 4.10: Les paramètres sont changées
L’étape 5 : Créer une session de vidéo conférence.
M.Y n’est pas d’accord avec les changement de M.X. Il veut lancer un débat. Il clique sur
49
le lien Conferencing (proposé dans la partie de droite de l’interface) . Une fenêtre de type
popup s’affiche. Il s’agit de l’espace principal d’Agora. (Voir la figure 4.11)
Nouvelle fenêtre
d'Agora
Des outils
collaboratifs
Figure 4.11: La fenêtre d’Agora
M.Y clique ensuite sur le lien New Conference pour entrer des paramètres de la vidéo
conférence (voir la figure 4.12). Les informations nécessaires sont : (i) le titre de conférence,
(ii) la description, et (iii) la liste des participants.
Le titre de conférence
La description
Sélectionner des
participants
Clique sur le button Create
Figure 4.12: Entrer des informations pour la conférence
Après avoir fini, M.Y clique sur le bouton Create. Le lien de nouvelle conférence est
affiche (voir la figure 4.13).
50
CHAPITRE 4. UNE ÉTUDE DE CAS
Conférence créée
Figure 4.13: Le lien de nouvelle conférence
M.Y clique sur ce lien. Une application de type Java Web Start est exécutée. Un fichier
de type JNLP est téléchargé à partir du serveur, il lance ensuite l’application téléchargée.
La fenêtre d’Agora s’affiche (voir la figure 4.14). M.X n’est pas encore connecté.
Messagerie
instantanée
Tableau
blanc
L'état de M.X (déconnecté)
La fenêtre
de camera et
audio de M.Y
Figure 4.14: La fenêtre de conférence de M.Y
M.X clique sur le lien Conferencing. La fenêtre d’Agora s’affiche avec un lien vers
la conférence de M.Y. Il clique sur ce lien et suit le même processus d’installation et de
chargement de l’outil Agora. Lorsque fenêtre de conférence est affichée, les deux chercheurs
51
sont connectés (voir la figure 4.15).
L'état de M.Y
(connecté)
L'écran
de M.Y
Figure 4.15: La fenêtre de conférence de M.X
Ils commencent à discuter à l’aide de plusieurs outils collaboratifs comme : la messagerie
instantanée, le tableau blanc, l’écran partagé et la vidéo-conférence.
L’étape 6 : M.X choisit d’afficher seulement le graphique.
M.X commence à lancer la simulation en choisissant d’afficher des graphiques. A la partie
de graphique, il entre : (i) le nom de graphique dans la zone de texte Plot label, (ii) le nom
des deux axes x et y dans les zones de texte X label et Y label, (iii) le noms des deux
variables étudiées du modèle dans les zones de texte X variable et Y variable et le taux
de rafraîchissement du graphique dans la zone de texte Refresh rate.
52
CHAPITRE 4. UNE ÉTUDE DE CAS
Figure 4.16: Le graphique
L’étape 7 : M.Y veut visualiser seulement la distribution.
Dans la partie de l’affichage, il saisit display dans la zone de texte Label (ça correspondant
avec le nom de l’affichage va afficher sur l’interface) et Variable (ça correspondant avec le
nom de variable) et 1 (ça correspondant avec le taux de rafraîchissement du graphique) dans
la boîte texte Refresh rate. Clique ensuite sur le bouton Add.
Figure 4.17: La distribution
53
Parameter
s
Simulation's
control
button
Camera of
Mr Y
Collaboratif
functions
Camera
of Mr X
WhiteBoard
Chat tool
Queue list for
manipulate
simulation
Desktop
of Mr X
Monitors
Graphs
Observe
simulation
by images
Collaboratif
informations
Permission
options
Figure 4.18: L’espace de l’expérimentation de M.Y
Ils expérimentent un long moment jusqu’au moment ou M.X décide de partir. Ils décident de reprendre cette discussion plus tard ce qui est possible car la session actuelle est
automatiquement enregistré dans la base de donnée.
Chapitre 5
Conclusion
Dans ce mémoire, nous avons présenté le travail d’un stage visant à construction une
plate-forme collaborative d’Accompagnement des activités de Modélisation et Simulation.
Ce travail est composé en deux étapes principales :
1. Dans la première étape, nous analysons la problématique. Ensuite des solutions, des
outils libres sont examinés pour choisir la plate-forme la plus adaptée.
2. Lors de la deuxième étape, les fonctionnalités nécessaires à un environnement collaboratif de simulation sont établies. En nous reposant sur l’existant de PAMS, nous
développons de nouveaux composants afin de répondre aux 4 scénarios proposés. La
nouvelle version de PAMS, développée dans le cadre de ce stage est déployer sur un
serveur.
Dans la partie 1, la nécessité de collaborer en modélisation et simulation est examinée.
La collaboration apparaît dans presque toutes les étapes d’un projet de modélisation et
simulation (surtout aux étapes de construction du modèle conceptuel et d’expérimentation).
Des méthodes de collaboration dans un tel projet de modélisation et simulation sont abordées.
Cet partie est s’achèvent par une étude comparative des plate-forme actuelles qui support la
collaboration.
Concernant la partie 2, l’état existant de PAMS est d’abord examiné. A la base de
des résultats disponibles, nous proposons 4 scénarios courants, pour la modélisation et la
simulation collaborative. Ensuite nous abordons l’implémentation des fonctionnalités collaboratives. Après la présentation de la phase de développement, nous déployons avec succès
l’environnement PAMS sur un serveur d’IRD. On peut l’accéder et le tester à l’adresse
http ://vmpams.mpl.ird.fr :8080/portal.
Grâce à une interface web qui permet de manipuler des simulateurs, de contrôler (à distance) les simulations, les scientifiques sont capable de collaborer. Cette interface graphique
contient des outils communs (visioconférence, messagerie instantanée, tableau blanc . . . ),
qui sont complétés par des outils spécifiques dédiés au domaine de la simulation de systèmes
complexes. Cette interface graphique fournit de fonctions de collaboration permettant de
sélectionner un simulateur, de l’exécuter sur un serveur distant, de visualiser et d’analyser
les résultats des simulations, et de garder les traces de chaque expérimentation.
Donc, après mon stage, PAMS est maintenant une plate-forme collaborative d’Accompagnement des activités de Modélisation et Simulation. Nous somme succès de fournir deux
types de fonctionnalités comme la spécifications au début :
55
56
CHAPITRE 5. CONCLUSION
– Des fonctionnalités collaborative généraliste (visio-conférence, messagerie instantanée,
...)
– des fonctionnalités collaboratives spécifiques au domaine de la modélisation et simulation des systèmes complexes
Actuellement, l’environnement PAMS est compatible avec deux plates-formes de simulation à la base d’agents (Repast et Gama). L’ajout de nouveaux pilotes pour suporter d’autres
plates-formes de simulation devra et sera réalisé dans l’avenir. La modularité de l’environnement PAMS permet de multiples améliorations, notamment par l’ajout de nouveaux types
d’affichages ou d’outils collaboratifs.
Dans le futur, PAMS sera développé dans plusieurs aspects : (i) l’ajout de nouveaux
outils de collaboration (par exemple, un système d’annotation permettant de commenter
les expérimentations), (ii) l’optimisation du système (par exemple l’ajout de stratégies de
répartition de charge (load-balancing) ), et (iii) le support de nouvelles plates-formes de
simulation (par exemple Madkit, Netlogo, . . . .)
Bibliographie
[1]
R. Allan, X. Yang, A. Fish, M. Gonzalez, and R. Crouchley. Using sakai for e-research : Building
a multi-institution virtual research environment. 10 2007. [cited at p. 4, 9, 14, 15, 28, 29, 32, 81]
[2]
E. Amouroux, C.T Quang, A. Boucher, and A. Drogoul. Gama : an environment for implementing
and running spatially explicit multi-agent simulations. Prima-2007, 2007. [cited at p. 27]
[3]
S. Atwal. Building websites with Xoops : A step-by-step tutorial. Packt Publishing, 2006.
[cited at p. 15]
[4]
R. Becker, B. Becker, M. Knotte, and I. KreiBlemeyer. Manual eGroupware 1.4. Creative
Commons, 1.4 edition, 2007. [cited at p. 5, 15]
[5]
R. Brunet, R. Ferras, and H. Théry. Les mots de la géographie, dictionnaire critique. La
documentation Française, Montpellier-Paris, France, 1993. [cited at p. 5]
[6]
C. Cambier, D. Masse, M. Bousso, and E. Perrier. Mior, a spatially explicit, individual based
modeling approach to simulate soil microbial and organic matter processes. Ecological Modelling,
2006. [cited at p. 19]
[7]
M. Claypool, D. LaPoint, and J. Winslow. Network analysis of counter-strike and starcraft.
In Performance, Computing, and Communications Conference, 2003. Conference Proceedings of
the 2003 IEEE International, pages 261– 268. IEEE International, 2003. [cited at p. 4]
[8]
Darren James Dave Crane, Eric Pascarello. Ajax in Action. Manning Publications Co. Greenwich,
CT, USA, 2005. [cited at p. 31]
[9]
M.P. De Leon, F.C. Grant, M.G. Moreno, A.R. Vicente, M. Roddy, C. Jedrzejek, and Waterford ; Waterford Inst. of Technol. Daidalos framework for successful testbed integration. In
Testbeds and Research Infrastructure for the Development of Networks and Communities, 2007.
TridentCom 2007. 3rd International Conference on, pages 1–6. IEEE, IEEE, 2007. [cited at p. 15]
[10] L. Denise. Collaboration vs. c-three (cooperation, coordination, and communication). In INNOVATING Spring, 7 :3, 1999. [cited at p. 3, 20]
[11] Eckerson and W. Wayne. Three tier client/server architecture : Achieving scalability, performance, and efficiency in client server applications. . Open Information Systems, 10 :3 :20, 1995.
[cited at p. 26]
[12] C.A. ElliS, S.J. Gibbs, and G.L. Rein. Groupware some issues and experineces. COMMUNiCATiONS OF THE ACM, 34(1) :38–58, January 1991. [cited at p. 3, 4]
[13] J. Farmer and I Dolphin. Sakai : elearning and more. EUNIS-2005, Manchester-2005. [cited at p. 4,
5, 17, 32]
[14] V. Fiack. Lucane groupware project presentation. Technical report, Creative Commons, 2004.
[cited at p. 15]
57
58
BIBLIOGRAPHIE
[15] L. Gilman and R. Schreiber. Distributed Computing with IBM MQSeries. John Wiley & Sons,
New York, NY, USA, 1996. [cited at p. 4]
[16] T. Gubala, B. Balis, M. Malawski, M. Kasztelnik, P. Nowakowski, M. Assel, D. Harÿezlak,
J. Bartynski, T.and Kocot, E. Ciepiela, D. Król, J. Wach, M. Pelczar, W. Funika, and M. Bubak.
Virolab virtual laboratory. In Cracow Grid Workshop 2007-CGW’07, pages 35–41. Cracow Grid
Workshop, 2007. [cited at p. 18]
[17] A. Hanisch. Groupware Components for Collaborative Work in a Web-based Mining Simulation
Center. PhD thesis, Otto-von-Guericke-Universität Magdeburg, 2001. [cited at p. 9, 10, 11, 81]
[18] J.O. Henriksen, P. Lorenz, A. Hanisch, S. Osterburg, and T.J. Schriber. Web based simulation
center : professional support for simulation projects. In 1, editor, Simulation Conference, 2002.
Proceedings of the Winter, pages 807 – 815. Winter Simulation Conference, 2002. [cited at p. 5,
12, 17, 19, 81]
[19] William Crawford Jason Hunter. Java Servlet Programming. O’Reilly & Associates, Inc., 101
Morris Street, Sebastopol, CA 95472., 101 Morris Street, Sebastopol, CA 95472., paula ferguson
edition, 1998. [cited at p. 31]
[20] A. Korichi and B. Belattar. Towards a web based simulation groupware : Experiment with bscw.
nformation Technology Journal, 7(2) :332–337, 2008. [cited at p. 17]
[21] D. Kuykendall. PhpGroupWare Application Development. PHP Documentation Group, 2000.
[cited at p. 5, 15]
[22] Y. Laurillau. Conception et réalisation logicielles pour les collecticiels, centrées sur l’activité de
groupe : le modèle et la plate-forme Clover. PhD thesis, Université Joseph Fourier, Grenoble,
Grenoble, 9 2002. [cited at p. 4]
[23] G. T. Laycock. The Theory and Practice of Specification Based Software Testing. PhD thesis,
Dept of Computer Science, Sheffield University, UK, 1993. [cited at p. 40]
[24] LSU. Mioga2. Documentation d’utilisation. Mioga, 2004. [cited at p. 15]
[25] Xiaolin Lu. Construct collaborative distance learning environment with vnc technology. In SKG
’05 : Proceedings of the First International Conference on Semantics, Knowledge and Grid, page
127, Washington, DC, USA, 2005. IEEE Computer Society. [cited at p. 9]
[26] V. Mann and M. Parashar. Grid Computing : Making the Global Infrastructure a Reality, chapter
DISCOVER : A Computational Collaboratory for Interactive Grid Applications. Wiley Series
in Communications Networking & Distributed Systems. John Wiley & Sons, 2003. [cited at p. 5]
[27] M.V. Mantgem and K. Ward. Prima’s Quake Game Secrets : Unauthorized Guide to the ShareWare Levels. 0761509089. Prima Communications, Inc. Rocklin, CA, USA, Rocklin, CA, USA,
1996. [cited at p. 4]
[28] N. Marilleau. Méthodologie, formalismes et outils de modélisation-simulation pour l’étude des
systèmes complexes : application à la mobilité géographique. PhD thesis, l’Université de FrancheComté, 11 2006. [cited at p. 5]
[29] E Team N Kassem. Designing Enterprise Applications : Java 2 Platform. Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA, 2000. [cited at p. 32]
[30] M.J. North, N.T. Collier, and J.R. Vos. Experiences creating three implementations of the repast
agent modeling toolkit. ACM Transactions on Modeling and Computer Simulation, 16(1) :1–25,
2006. [cited at p. 27]
[31] Marcell Perényi and Sándor Molnár. Enhanced skype traffic identification. In ValueTools ’07 :
Proceedings of the 2nd international conference on Performance evaluation methodologies and
tools, pages 1–9, ICST, Brussels, Belgium, Belgium, 2007. ICST (Institute for Computer Sciences,
Social-Informatics and Telecommunications Engineering). [cited at p. 9]
BIBLIOGRAPHIE
59
[32] L. Peter, J.S. Thomas, D. Heiko, and R. Klaus-Christoph. Towards a web based simulation environment. In WSC ’97 : Proceedings of the 29th conference on Winter simulation, Washington,
DC, USA, 1997. IEEE Computer Society. [cited at p. 18, 19, 81]
[33] Gauthier Quesnel, Raphael Duboz, Éric Ramat, and Mamadou K. Traoré. Vle : a multimodeling
and simulation environment. In SCSC : Proceedings of the 2007 summer computer simulation
conference, pages 367–374. Society for Computer Simulation International, San Diego, CA, USA
2007. [cited at p. 18]
[34] N.C. Raleigh. Ultimus Workflow Suite 4. Product Guide, 4 edition, July 1998. [cited at p. 4]
[35] T. Reenskaug. The model-view-controller (mvc) its past and present. Oslo, 2003. JavaZONE
Conference. [cited at p. 26]
[36] J. Rey-Debove and A. Rey. Nouvelle édition du petit Robert. Le Robert, 1996. [cited at p. 5]
[37] C.C. Robert. Simulation with gpss/h. In WSC ’98 : Proceedings of the 30th conference on
Winter simulation, pages 235–240, Los Alamitos, CA, USA, 1998. IEEE Computer Society Press.
[cited at p. 19]
[38] S. Robinson. Conceptual modeling for simulation : Issues and research requirements. wsc,
0 :792–800, 2006. [cited at p. 8]
[39] S. Robinson and M. Pidd. Provider and customer expectations of successful simulation projects.
Journal of the Operational Research Society, 49(3) :200–209, 1998. [cited at p. 5, 6, 81]
[40] RPG. A PractitionerŠs Perspective on Simulation Validation. RPG Reference Document, 2001.
[cited at p. 8]
[41] V. Sidorenco. Distance learning technology based on netop virtual classrooms. In Proceedings
of the The 7th International Conference of European University Information Systems on The
Changing Universities - The Role of Technology, pages 112–118. GI, 2002. [cited at p. 4]
[42] S.J. Taylor. Netmeeting : A tool for collaborative simulation modelling. J. of SIMULATION,
1(1-2) :59–68, 2001. [cited at p. 4, 6, 9, 11, 14, 17, 81]
[43] S.J. Taylor, S. Robinson, and J. Ladbrook. Towards collaborative simulation modelling : Improving human-to-human interaction through groupware. In Proceedings of the 17th European
Simulation Multiconference (ESM 2003), pages 474–482, SCS Europe Bvba, Erlangen, Germany,
2003. SCS Europe Bvba. [cited at p. 7, 9, 17, 81, 83]
[44] Tuong Vinh Ho Trong Khanh Nguyen, Nicolas Marilleau. Pams - a new collaborative framework
for agent-based simulation of complex systems. In LNAI series, pages 282–290. Springer Verlag,
2008. [cited at p. iii, iv, 22]
[45] David Saint Voirin. Contribution à la modélisation et à l’analyse des systèmes coopératif :
application à la e-maintenance. PhD thesis, 2006. [cited at p. 3, 4, 17, 18, 83]
[46] U. Wilensky and IL. Evanston. Netlogo. center for connected learning and computer based
modeling. Technical report, Northwestern University, 1999. [cited at p. 19]
Appendices
61
Annexe A
Des cas d’utilisation
Les descriptions en détail de chaque cas d’utilisation sont présentées dans des tableaux
suivantes :
But
Acteurs
Initialisation
Description
Exceptions
Fin
Possibilité de voir une liste des modèles disponibles
Concepteur et Utilisateur
Des chercheurs veulent choisir un modèle pour expérimenter
1. Le Concepteur et utilisateur s’identifie à la plate-forme
2. Ils accèdent à l’espace de Pams
3. Une liste des modèles disponibles va s’afficher.
/
Une liste des modèles disponibles avec les informations
associées s’affiche
Table A.1: Voir liste de modèle disponible
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité de voir une liste d’expérimentation qui est en cours
d’exécution ou terminée du modèle sélectionné
Concepteur et Utilisateur
Le concepteur et l’utilisateur accèdent à l’espace
de préparation de l’expérimentation d’un modèle
1. Le concepteur et l’utilisateur sélectionnent un modèle
2. Ils accèdent à l’espace de préparation de l’expérimentation
Le concepteur et l’utilisateur doivent avoir le droit
pour voir le lien de chaque expérimentation
Les expérimentations dont ils sont membres s’affichent
Table A.2: Voir liste d’expérimentation
63
64
ANNEXE A. DES CAS D’UTILISATION
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité de créer une expérimentation
Concepteur et Utilisateur
Le concepteur et l’utilisateur veulent créer une expérimentation
1. Le concepteur et l’utilisateur accèdent à l’espace de
préparation de l’expérimentation
2. Ils entrent des informations nécessaires :
- Titre d’expérimentation
- Description d’expérimentation
- Sélectionner des membres
- Attribuer des rôles pour chaque membre
3. Ils appuient sur le bouton pour confirmer
/
L’espace de l’expérimentation de ce modèle s’affiche
Table A.3: Créer une expérimentation
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité de rejoindre à une expérimentation en cours
d’exécution
Concepteur et Utilisateur
Le concepteur et l’utilisateur sont invité à
joindre à une expérimentation
1. Ils accèdent à l’espace de préparation de l’expérimentation
2. Ils peuvent voir le lien de cette expérimentation
3. Cliquer sur ce lien, l’espace de l’expérimentation affiche
Le concepteur et l’utilisateur doivent avoir le droit pour voir le
lien d’expérimentation
L’espace d’expérimentation de ce modèle affiche
Table A.4: Joindre à une expérimentation
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité de demander le jeton de contrôle
Concepteur et Utilisateur
Le concepteur et l’utilisateur veulent manipuler
l’expérimentation
1. Le concepteur et utilisateur accèdent à l’espace
d’expérimentation
2. Un chercheur veut manipuler l’expérimentation selon
son idée
3. Il clique sur le bouton pour demander le contrôle
Il doit avoir le droit de manipuler l’expérimentation
La demande est traitée ou mise dans la queue
Table A.5: Demander à manipuler d’expérimentation
65
But
Acteurs
Initialisation
Description
Exceptions
Fin
Possibilité de contrôler l’expérimentation
Concepteur et Utilisateur
On obtient le droit de manipuler l’expérimentation
1. Le concepteur et l’utilisateur se trouvent dans l’espace
d’expérimentation
2. Ils demandent à manipuler l’expérimentation
3. Ils obtiennent le droit de manipuler
4. Il manipule l’expérimentation
/
L’interface d’expérimentation collaborative change
selon la manipulation
Table A.6: Contrôler l’expérimentation
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité d’analyser les résultats
Concepteur et Utilisateur
Le concepteur et l’utilisateur veulent analyser la sortie
d’expérimentation
1. L’expérimentation est exécutée
2. Des données sont produites
3. On analyse ces données
Les données doivent exister
Les résultats présentent sous la forme désirée
Table A.7: Analyser les résultats
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité de rendre le jeton de contrôle
Concepteur et Utilisateur
On veut laisser le droit de manipuler pour les autres
puissent contrôler
1. Un membre obtient le droit de manipuler
l’expérimentation
2. Il ne veut pas encore la manipuler
3. Il laisse la manipulation
/
Il ne manipule pas encore l’expérimentation
Table A.8: Rendre le jeton de contrôle
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité de quitter l’expérimentation
Concepteur et Utilisateur
Ils veulent quitter l’expérimentation
1. Ils accèdent à l’espace d’expérimentation
2. Ils ne veulent pas encore expérimenter
3. Ils cliquent sur le button Back ou Refresh ou Close
Tout membre quitte tandis que la simulation est encore
expérimentée
Ils quittent de l’expérimentation
Table A.9: Quitter l’expérimentation
66
ANNEXE A. DES CAS D’UTILISATION
But
Acteurs
Initialisation
Description
Exceptions
Fin
Possibilité de vérifier si un chercheur est un membre d’un
groupe
Tous membres
Déterminer si un membre peut voir le lien d’une
expérimentation
1. Un membre accède à l’espace d’expérimentation
2. Pour une lien d’expérimentation, le système détermine si ce
membre est un membre du groupe de cette expérimentation
/
Si ce membre est un des membres du groupe d’une
expérimentation, il peut voir le lien de cette expérimentation
et à l’inverse
Table A.10: Vérifier le groupe
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité de vérifier le jeton de contrôle
Système
Quelqu’un demande à manipuler l’expérimentation
1. On expérimente
2. On clique sur le button de demande du contrôle de
l’expérimentation
3. Le système va déterminer si l’expérimentation est
libre ou non
/
Un message informe que l’expérimentation soit
occupée, ou on obtient le droit de manipuler
Table A.11: Vérifier le jeton de contrôle.
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité de mettre la demande dans la queue
Système
L’expérimentation est occupée, des demandes de manipuler
sont stockées dans une queue
1. Un chercheur demande le droit de manipuler
2. Système détermine si l’expérimentation est libre
3. Sinon, la demande est stockée dans une queue
/
Le nom de ce chercheur affiche dans la liste de la queue
Table A.12: Mettre la demande dans la queue
67
But
Acteurs
Initialisation
Description
Possibilité d’exécuter l’expérimentation
Détenteur du contrôle
Il veut exécuter l’expérimentation
1. Ils accède à l’espace de l’expérimentation
2. Il obtient le droit de manipuler
l’expérimentation
3. Il clique sur le button Start
4. Sur le serveur, à distance, la simulation s’exécute
/
Toutes les opérations sont désactivées, les moniteurs sont
régulièrement mis à jour
Exception
Fin
Table A.13: Exécuter l’expérimentation
But
Acteurs
Initialisation
Possibilité d’initier et de modifier des paramètres
Détenteur de manipuler
Il veut essayer l’expérimentation avec des paramètres
différents
1. Il obtient le droit de manipuler
2. Il identifie les paramètres
3. Il entre de nouvelles valeurs pour chacun des paramètres
4. Il clique sur le button Apply
La valeur entré doit numérique et satisfaire la condition de
chaque modèle
Touts les membres visualise le changement des paramètres
Description
Exception
Fin
Table A.14: Initier et modifier des paramètres
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité d’arrêter l’expérimentation
Détenteur de manipuler
Il veut arrêter l’expérimentation en cours d’exécution
1. Il obtient le droit de manipuler
2. Il initie et modifie les paramètres
3. Il exécute l’expérimentation
4. Il clique sur le button Stop pour arrêter la simulation
/
La simulation est arrêté, tous opération est activée
Table A.15: Arrêter l’expérimentation
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité d’observer le changement d’un paramètre
Concepteur et Utilisateur
Ils veulent mieux connaître le changement des paramètres
1. On accède l’espace de l’expérimentation
2. On ajoute des observations sur des paramètres en entrant
des informations :
- le nom de paramètre
- le taux de rafraîchissement
3. On clique sur le button Add
Le nom de paramètre entré n’existe pas
Le nom et la valeur de cet paramètre s’affiche
Table A.16: Observer la valeur d’une paramètre en cours
68
ANNEXE A. DES CAS D’UTILISATION
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité d’attribuer la permission pour voir
des observations
Concepteur et Utilisateur
Ils veulent créer des observations qui sont privées ou ouvertes
1. On clique sur l’option :
- Public pour ouvrir à tout participant
- For a group pour un groupe, le nom du groupe est demandé
- Form a member pour un membre, le nom du membre est demandé
- Private pour seulement l’auteur
Le nom du groupe et membre n’existe pas
- Si Public tous participants peuvent voir les paramètres créés
- Si For a group, seulement l’auteur et des membres
de ce groupe peuvent voir
- Si For a member, seulement l’auteur et ce membre
peuvent voir
Table A.17: Attribuer la permission
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité d’afficher les graphiques
Concepteur et Utilisateur
Ils veulent visualiser les graphiques produits
1. On entre le nom de variable qui représente le graphique
2. On clique sur le button Add, dans le board d’affichage
graphique
3. Cette variable affiche sous la forme d’une chaîne de caractères
4. Le graphique va afficher lors que l’on exécute la simulation
Le nom de variable n’existe pas
La nom de variable est affiché sous la forme d’une chaîne
Le graphique va s’afficher durant la simulation
Table A.18: Afficher les graphiques
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité d’attribuer la manipulation
Système
L’expérimentation est libre et il y a des demande dans
la queue
1. Un participant laisse la manipulation,
l’expérimentation devient libre
2. Système vérifie s’il y a des demandes dans la queue
3. Il y a des demandes dans la queue, système attribue la
manipulation a la première demande.
/
L’auteur de cette demande obtient le droit de manipuler
Table A.19: Attribuer la manipulation
69
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité de vérifier la queue
Système
Un participant laisser la manipulation,
ou mettre à jours la queue
1. Après une période du temps, le système vérifie
automatiquement la que. Ou bien, un participant laisser
la manipulation
/
La liste de la queue met j̀ours
Table A.20: Vérifier la queue
But
Acteurs
Initialisation
Description
Exception
Fin
Possibilité de détruire l’expérimentation
Système
Tous participants quittent
1. Le dernier participant quitte l’expérimentation
2. Le système détermine que le nombre de participant
soit égale zéro
3. L’expérimentation est détruite
/
Le lien de cette expérimentation affiche dans la colonne
Expérimentation terminé dans l’espace
de préparation d’expérimentation
Table A.21: Détruire l’expérimentation
Annexe B
Intégration d’Agora dans Sakai
Après avoir téléchargé Agora à http ://agora.lancs.ac.uk/downloads/agora.zip, l’extraire
et réalise des 4 étapes suivant, on peut utiliser Agora :
– étape 1 : Copiez le répertoire agora avec les trois fichiers de configuration à la répertoire
de $SAKAI TOMCAT HOME .
– étape 2 : Changer les noms d’hôte dans les fichiers de configuration.
– étape 3 : Copier les trois fichiers war dans le répertoire
$SAKAI TOMCAT HOME/webapps.
– étape 4 : Ajouter l’outil Conférence de Sakai pour le site, ce outil est Agora, après
avoir intégré et avoir déployé.
71
Annexe C
L’article de PRIMA 2008
PAMS - a new collaborative framework for
agent-based simulation of complex systems
Trong Khanh Nguyen2, Nicolas Marilleau1, Tuong Vinh Ho2
1 : Geodes, Institut de Recherche pour le développment (IRD), 32 av. H. Varagnat, 93143
Bondy Cedex, France. 2 : MSI Lab, Institut de la Francophonie pour l’Informatique(IFI), ngo
42, Ta Quang Buu, Ha Noi, Viet Nam
[email protected], [email protected], [email protected]
Abstract. Major researches in the domain of complex systems are interdisciplinary, collaborative and geographically distributed. The purpose of our work is to explore a new
collaborative approach that facilitates scientist’s interactions during the modelling and simulating process. The originality of the presented approach is to consider models and simulators as a board of the collaboration : a shared object manipulated by a group of scientists.
Agent-based simulations are powerful tools for studying complex systems. In this context, we
develop a collaborative platform dedicated to agent-based simulation (PAMS). This new environment integrates common collaborative tools (e.g. videoconferencing, instant messaging,
whiteboard) and specific tools to share and manipulate models, simulators, experiments and
results... The current version of PAMS is based technologies coming from distributed systems. Today PAMS has been designed to support major agent based simulation frameworks.
This paper aims to give an overview of the PAMS environment by defining the collaborating
approach, the framework architecture and an example of its utilization.
Keywords : collaborative simulation, agent-based simulation, distributed systems
73
74
ANNEXE C. L’ARTICLE DE PRIMA 2008
1 Introduction
Modeling and simulation often requires cooperation between researchers from different
disciplines. Data collection, model conceptualization and implementing those models using
computational tools all require close teamwork amongst various players (domain experts,
modelers and computer scientists). Modern-day research projects are interdisciplinary, collaborative, and researchers are often geographically separated. Given these modern conditions,
the use of collaborative systems becomes essential to facilitate complex systems research
when a team of geographically and professionally dispersed researchers must work together
towards a common goal.
The advent of new information technologies and communications tools over the past
fifteen years has enabled the development of a plethora of collaborative platforms [2]. A
few of them, such as BSCW [11], E-Groupware[12], and Sakai [1] have positioned themselves as collaboration-oriented extensions of generalist communications platforms in the
scientific world. These products integrate specific functionalities facilitating : (i) access to
knowledge and scientific information, (ii) interaction and collaboration between researchers,
and (iii) a more effective dissemination of research results. These activities are often referred
as ”E-Research”. The platforms supporting such work are referred to as Virtual Research
Environments (VRE) [13].
VRE systems are still relatively undeveloped. Most of the available environments remain incapable of supporting significant collaborative efforts ; despite growing demands for
such tools the scientific community [6]. Most of these collaboration systems are simply data
repositories with web interfaces [5].
In the domain of modeling and simulation of complex systems, the use of agent-based simulation models (ABM) is increasingly popular. Many ABM platforms (Repast [8], NetLogo
[9], Swarm [7] or GAMA [3]) have been developed and used by researchers [3, 10]. In the
context of collaborative research, one major question is : How can geographically diverse researchers effectively work together to conduct ABM simulations without regard to the ABM
platforms used ?
One of our research interests focuses on the design and implementation of collaborative environments for computer modeling and the simulation of complex systems, essentially
those based in ABM. The main idea is to place models, simulators, experiments and results
at the center of the collaboration. From this idea, we have designed and developed methodologies and a form of ”groupware” (known as ”PAMS”) for supporting collaboration between
domain experts, modelers and computer scientists. PAMS is a type of web-based groupware
containing common collaborative tools (video-conferencing, instant messaging, and so on)
and specific tools dedicated to the simulation domain (sharing experiments, results, experience exchange...).
The aim of this paper is to present the PAMS framework. Firstly, we shall summarize the
platform’s functionalities. Secondly, we provide a short description of the PAMS architecture.
Finally, a case study is described demonstrating how a collaborative simulation might be
executed within this new paradigm.
2 PAMS - a new collaborative framework for agent-based simulation
of complex systems
75
The PAMS project introduces a new approach to collaboration in research projects. Models
and simulators will no longer simply come in the form of ”research results” distributed to
the community through scientific communications (journal articles, workshops etc.). Rather,
with PAMS, models and simulators become concrete entities available to interested parties
on the web to support collaborative work and research. The originality of our approach is
to consider the model or the simulator as an object shared by a group of researchers, which
can be manipulated, configured, analysed and so on.
PAMS groupware is an environment allowing researchers to work together in designing
or exploring models (execution of models based on various scenarios, interactions conceptualized in various contexts or of a specific simulation). For example, consider a scenario for
collaboration between researchers in which they used the software environment in development.
Scenario1 : ”Collaborative experimentation from distance”
Mr. X and Y, researchers in ecology, respectively located in Paris and Hanoi, wish to
execute some simulations in order to get results that will be illustrated in an article they
will write together. The two researchers connect to the project website and begin a private
discussion. Mr. X starts the simulator, and suggests that Mr. Y. shares his interface. Mr.
X starts entering simulation parameters, which are not suitable to Mr Y. Mr Y starts a
videoconferencing session to share with Mr. X his surprise. He posts a note on the simulator
interface indicating the value of parameters that seem correct to him. After discussion, and
display, by Mr. Y, part of the item they want to illustrate, the two fall into agreement on
common values. Mr. X launches the simulation and then chooses to display only the graph of
the evolution of biodiversity, while Mr. Y visualizes the spatial distribution of species. Each
researcher posts annotations of visualization in real time on his own interface, which also
appear on the interface of his colleague and they begin holding a discussion (registered as
such in the instant messaging system). Due to time constraints, however, Mr. X must leave.
They both decide to resume this discussion later and record the session. Three days later,
returning to the site, the conversation restarts and resumes in the state where it had been
left earlier . . .
This scenario shows that the use of a collaborative tool firstly : addresses the problem
posed by the geographical dispersion of researchers and secondly, brings a fresh dimension
to the simulation activities of complex systems.
An agent-based simulator is run many, many times using different parameter values in
order to postulate various situations and to understand the dynamics of the studied system.
In this context, users focus on inputs and outputs of a model. They are free to forget how
the model works. For this reason, we assume that a perfect agent-based simulator is a ”black
box” that scientists (except for the box’s creators) use by defining inputs and analyzing
outputs without really caring how the ”black box” works.
Existing Open Source web-based groupware constitutes a solid basis upon which it is possible to add new modules providing collaboration in the field of complex systems. We chose
one of them called ”Sakai”[1] and added new collaborative modules dedicated to simulation
activities, such as : (i) setting simulations ; (ii) executing simulations on a remote server ;
(iii) visualising and analysing results ; (iv) managing versions of available models ; (v) archiving experiments and results ; (vi) annotating experiments and results (giving contextual
comment).
3 PAMS : a modular environment
76
ANNEXE C. L’ARTICLE DE PRIMA 2008
3.1 Logical Architecture
PAMS is based on a multi-tier architecture called Model View Controller (MVC) [15].
This approach distinguishes graphical user interface (Presentation Tier) from the kernel of
the application (Logic Tier) and databases (Data Tier).
Fives modules compose the kernel of the PAMS environment (See figure C.1) :
- Simulation platform drivers package contains the kernel of agent-based plate-forms
such as Repast [8] or Gama [3].
- Outputs package manages simulation results coming from simulation platforms, and
shares these data for other modules of the systems.
- Displays package formats shared outputs in order to generate and manage user
displays : monitors, plots and/or 2D grids (images).
- Recorder package saves every value that an output has taken during a simulation
in a database. This data is read by the experiment’s web browser interface.
- -Controllers package aims at managing experiments and simulators, ensuring the
coherency and concurrency of objects shared by users (parameters, simulation outputs,
experiments . . . ).
Figure C.1: PAMS logical architecture.
The PAMS environment proposes a generic web-based collaborative GUI. This interface
takes advantage of typical collaborative tools (video-conferencing, white-board and so on)
coming from Sakai and Agora tools. In addition, PAMS provides functions dedicated to the
simulation domain :
- A collaborative simulation board for executing and sharing remote simulators
- An experiment browser for managing and replaying completed experiments and
exchanging results.
Today, PAMS supports simulators derived from two agent-based platforms : Repast and
Gama. A few famous and simple simulators were deployed, e.g. the life game (Enn for
Repast, Life for Gama) to test PAMS functionalities. In addition, specific simulators, as
GamaAvi, with its origins in a multi-disciplinary research project, are and will be added.
77
Scientists (epidemiologists, geographers, computer scientists or mathematicians) will use
these simulators to run experiments and to collaborate.
3.2 Technological Architecture
The PAMS framework is a distributed system. It can be viewed as a container in which
simulators are loaded, connected with a database, executed by dedicated servers and managed
through a web interface.
Figure C.2: Technological architecture
PAMS is based on common technologies from the domain of distributed systems (see
figure C.2) :
- A web application server based on Jsp, Ajax and Servlet (Tomcat) to manage the
collaborative and adaptable web interface that displays models, experiments, simulators and results with a simple, adaptable and didactic structure of data.
- An Enterprise Java bean application server (Jonas) to execute simulators, manage experiments, inputs, outputs and collaboration.
- A Database (MySQL) to store models, experiments inputs, outputs and exchanges
between PAMS users.
The PAMS framework takes advantage of the Sakai environment [1]. Sakai is an online
Collaboration and Learning Environment that permits research exchange. From the Sakai
environment, we developed new modules that manage a collaborative GUI specific to the simulation domain (experiment viewer, simulation board etc). The PAMS module is associated
with the Agora environment [14]. Agora is a plug-in of Sakai that offers typical collaborative
features like videoconferencing, whiteboard, chat and others.
The use of Enterprise Java Beans is one of the keys that allows PAMS environment to
be flexible, modular and modifiable. Each module of the framework is composed of several EJBs. Every EJB of a same module is used through a unique interface (determined for
the module). To improve the PAMS framework, new EJB could be developed and dynamically deployed without revising old PAMS components. But, these new EJBs must follow
predefined interfaces of the PAMS.
The PAMS environment can be deployed on a GRID of computers. Thanks to this distributed architecture, load-balancing rules can be imagined to spread experiment executions
over a GRID.
78
ANNEXE C. L’ARTICLE DE PRIMA 2008
Most of agent-based simulators depend on a specific platform such as Netlogo, Repast or
Madkit. These agent-based frameworks must be installed on the computer before the setup
of the simulator. Sometimes, simulators need a database to obtain working data. Simulator
setups are not trivial : much experience in computer science is required. In addition, many
simulators need resources (memory or processor) that are not available on a personal desktop
or laptop. Thanks to the web interface of PAMS and its distributed architecture, scientists
have nothing to install before using the framework. In addition they can take advantage of
resources provided by the Grid in which the platform is executed.
4 Case study :
The aim of this case study is to show how a group of scientists can use the PAMS environment to run simulations and collaborate. Scenario 1 (”Collaborative experimentation from
a distance”) can be taken as an example. In this instance, Mr. X and Mr. Y, want to study
the famous Life game model [4].
Consider that a PAMS service is running on a server. This service supports various agent
based simulation frameworks, in particular the Repast environment. Several simulators have
been installed, deployed and are available. For example, the environment proposes the Enn
simulator, which is a Repast version of the Life game model.
Using a web browser, Mr. X and Mr. Y connect themselves to the PAMS platform.
After the identification step, they access to their private workspace. Mr. X is the initiator of
the experiment. He has to create an experiment and to determine the participants. From a
list available in the agent-based simulator, Mr. X selects the Enn simulator. A new display
appears that shows information about the Enn simulator : aims of the model, inputs, outputs
and so one. On this screen, Mr. X can see every public experiment done with the Enn
simulator. But, he prefers to create a new one. For that, X inputs a comment about the new
experiment (its aim) and selects participants from a list of subscribed persons. In the case
of this scenario, Mr. X selects Mr. Y. and submits the form. The experiment is now created.
X is waiting Y’s connection to start simulations.
Y selects the Enn simulator from the list that contains available agent-based simulators. Information about this simulator is displayed, and Y sees that X has invited him to
participate in an experiment. Y selects connects to the experiment.
X and Y are seeing the same display : the simulation board of the Enn simulator. For
that, he takes the token. Mr. Y’s display is freezing. Y cannot perform the action on the
simulator board, but he sees modifications. After doing modifications, X releases the token.
Y does not agree with X’s parameter modification. To explain his surprise, Y starts a
videoconferencing session integrated in the Agora meeting tool (see figure 2). Thanks to
video, audio and whiteboard tools, Y discusses with X. X and Y exchange their opinions
through a user-friendly GUI. To illustrate its says, Y shows an article by sharing its desktop
and convinces X. X wants to modify simulation parameters according to Y’s recommendation.
He takes the token and changes parameter values. Then, X starts the simulation.
X and Y see the evolution of predetermined outputs in real time. During the simulation,
they discuss the evolution of the outputs. From these results, X and Y begin an analysis and
make hypothesis about the phenomena they see.
Due to time constraints Mr. X must leave. They both decide to resume this discussion
later. So they record the session. Three days later, returning to the site, the conversation
starts and resumes in the state where it had been left earlier . . .
79
Figure C.3 shows the screen shots (of the PAMS environment) during the execution of
the above scenario.
Parameter
s
Simulation's
control
button
Camera of
Mr Y
Collaboratif
functions
Camera
of Mr X
WhiteBoard
Chat tool
Queue list for
manipulate
simulation
Desktop
of Mr X
Monitors
Graphs
Observe
simulation
by images
Collaboratif
informations
Permission
options
Figure C.3: Screen shot of the PAMS environment (Desktop of Mr. Y).
5 Conclusion
PAMS is a collaborative framework for simulating Agent-based models of complex systems.
It is based on an original approach in which the simulator supports the exchange : it is a
shared object manipulated by every member of a scientific group. In addition, we consider
that users view a simulator as a ”black box”. So users concentrate and collaborate on the
input and output of the simulators.
Scientists are able to collaborate in this manner thanks to a web-based GUI that allows
remote, shared access to simulators. This GUI contains common tools (videoconferencing,
instant-messaging, whiteboard, and so one), which are improved by specific tools dedicated
to the domain of the simulation of complex systems. This GUI supplies collaborative functions to setup simulators, to execute simulators on a remote server, to visualize and analyze
simulation results, and to keep logs of each experiment.
Currently, the PAMS environment supports two agent-based simulation platforms (Repast and Gama). Adding new drivers will support of every simulation platform in the future.
The modularity of PAMS permits our environment to be improved in many ways. Adding
new kinds of displays or collaborative tools is one example.
The PAMS environment will be improved in many ways : (i) adding new collaborative
tools (e.g. an annotating system to comment experiments), (ii) optimizing the system (e.g.
adding load-balancing strategies), and (iii) supporting new agent based simulation platforms
(e.g. Madkit, Repast and so on). Before that happens, we will have to test the existing
version on a concrete research project applied to, for instance, geography or epidemiology.
80
ANNEXE C. L’ARTICLE DE PRIMA 2008
Feedback from these tests will provide the vital keys we require to further development and
future improvements of the PAMS environment.
References
1. Severance, C., Hardin, J., Golden, G., Crouchley, R., Fish, A., Finholt, T., Kirschner,
B., Eng, J., Allan, R. : Using the Sakai collaborative toolkit in e-Research applications.
Concurrency and Computation : Practice and Experience 19 :12, 1643–1652 (2007)
2. Saint-Voirin, D. : Contribution à la modélisation et à l’analyse des systèmes coopératif :
application à la e-maintenance. Université de Franche-Comté, Besançon, (2006).
3. Amouroux, E., Quang, C.T, Boucher, A., Drogoul, A. : GAMA : an environment for
implementing and running spatially explicit multi-agent simulations. Prima-2007. Bangkok
(2007)
4. Conway, J. : The Game of Life. Scientific American 223, 120–123 (1970)
5. Henriksen, J.O., Lorenz, P., Hanisch, A., Osterburg, S., Schriber, T.J. : Web based simulation center : professional support for simulation projects. Winter Simulation Conference2002 1, 807 - 815 (2002)
6. Ahmed, K., Brahim, B. : Towards a Web Based Simulation Groupware : Experiment
with BSCW. Information Technology Journal 1812 :5638, 332–337 (2008)
7. Terna, P. : Simulation Tools for Social Scientists : Building Agent Based Models with
SWARM. Journal of Artificial Societies and Social Simulation 1 :2, (1998)
8. North, M.J., Collier, N.T., Vos, J.R. : Experiences Creating Three Implementations of
the Repast Agent Modeling Toolkit. ACM Transactions on Modeling and Computer Simulation, Vol. 16, Issue 1, pp. 1-25, ACM, NY, (2006).
9. Wilensky, U., Evanston, IL. : NetLogo. Center for Connected Learning and Computer
Based Modeling, Northwestern University (1999).
10. Railsback, S.F. : Agent-based based Models in Ecology : Patterns and Alternative
Theories of Adaptive Behaviour, Agent-Based Computational Modelling, Physica-Verlag,
139-152 (2006)
11. Horstmann, T., Bentley, R. : Distributed authoring on the Web with the BSCW
shared workspace system, StandardView, vol 5, number 1, pp. 9-16, ACM, (1997)
12. Becker, R., Becker, B., Knotte, M., KreiBlemeyer, I. : Manual eGroupware 1.4. Creative Commons (2007)
13.Yang, X., Allan, R. : Web-Based Virtual Research Environments (VRE) : Support
Collaboration in e-Science, WI-IATW ’06 : Proceedings of the 2006 IEEE/WIC/ACM international conference on Web Intelligence and Intelligent Agent Technology, p184-187, IEEE
Computer Society (2006)
14. Severance, C., Hardin, J., Golden, G., Crouchley, R., Fish, A., Finholt, T., Kirschner,
B., Eng, J., Allan, R. : Using the Sakai collaborative toolkit in e-Research applications.
Concurrency and Computation : Practice and Experience 19 :12, 1643–1652 (2007)
15. Reenskaug, T. : The Model-View-Controller (MVC) Its Past and Present. JavaZONE
Conference, Oslo, (2003).
Table des figures
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
Processus d’un projet de modélisation-simulation [42] . .
Processus d’un projet de modélisation-simulation [39] . .
Modèle conceptuel et collaboration . . . . . . . . . . . . .
Fréquence d’interaction dans un projet de simulation [43]
Collaw [17] . . . . . . . . . . . . . . . . . . . . . . . . . .
Entrée directe des paramètres . . . . . . . . . . . . . . . .
NetMeeting et SIMUL8 [42] . . . . . . . . . . . . . . . . .
Représenter le résultat par le converteur Proof2SVG [18] .
Simulation en distance [32] . . . . . . . . . . . . . . . . .
Simulation locale [32] . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
8
9
10
10
11
12
18
19
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
Concept central . . . . . . . . . . . . . . . . . . . . . . . . .
Page d’accueil de la plate-forme PAMS . . . . . . . . . . . .
Affichage graphique du résultat d’une simulation . . . . . .
Architecture à la fin 2007 . . . . . . . . . . . . . . . . . . .
Fonctionnalité d’Agora [1] . . . . . . . . . . . . . . . . . . .
Cas d’utilisation pour la simulation collaborative . . . . . .
Nouvel architecture . . . . . . . . . . . . . . . . . . . . . . .
Technologies utilisées dans PAMS . . . . . . . . . . . . . . .
La base de données . . . . . . . . . . . . . . . . . . . . . . .
Modèle de contrôleur . . . . . . . . . . . . . . . . . . . . . .
L’algorithme de demande la manipulation . . . . . . . . . .
Le diagramme séquentiel de la demande de la manipulation
Interface graphique . . . . . . . . . . . . . . . . . . . . . . .
L’interface graphique de WEB . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
24
26
26
27
29
30
31
32
33
35
36
37
38
39
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
Se connecter . . . . . . . . . . . . . . . . . .
L’espace personnelle de M.X . . . . . . . . .
L’espace personnelle de M.Y . . . . . . . . .
Espace du projet Pams . . . . . . . . . . . . .
Des modèles disponibles . . . . . . . . . . . .
L’espace de préparation de l’expérimentation
L’espace de l’expérimentation . . . . . . . . .
Joindre à l’expérimentation créé . . . . . . .
La partie contrôleur . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
44
44
45
46
46
47
47
48
81
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
82
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
TABLE DES FIGURES
Les paramètres sont changées . . . . . . . .
La fenêtre d’Agora . . . . . . . . . . . . . .
Entrer des informations pour la conférence
Le lien de nouvelle conférence . . . . . . . .
La fenêtre de conférence de M.Y . . . . . .
La fenêtre de conférence de M.X . . . . . .
Le graphique . . . . . . . . . . . . . . . . .
La distribution . . . . . . . . . . . . . . . .
L’espace de l’expérimentation de M.Y . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
48
49
49
50
50
51
52
52
53
C.1 PAMS logical architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.2 Technological architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.3 Screen shot of the PAMS environment (Desktop of Mr. Y). . . . . . . . . . . . .
76
77
79
Liste des tableaux
2.1
2.2
2.3
2.4
2.5
2.6
Dégréé de travail en groupe [45] . . . . . . . . . . . . . . . .
Table des modes de travail en groupe . . . . . . . . . . . . .
Taxonomie des participants [43] . . . . . . . . . . . . . . .
Outils collaboratifs (1) . . . . . . . . . . . . . . . . . . . . .
Outils collaboratifs (2) . . . . . . . . . . . . . . . . . . . . .
Une étude comparative des plate-formes générique actuelles
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
7
13
14
16
3.1
3.2
3.3
3.4
3.5
3.6
Les informations des tables . . . . . . . . . . . . . . .
Des entités beans . . . . . . . . . . . . . . . . . . . . .
4 composants principaux . . . . . . . . . . . . . . . . .
Le panneau collaboratif . . . . . . . . . . . . . . . . .
5 pages ajax pour la mise à jour de l’interface . . . . .
3 composants implémentent le navigateur collaboratif
A.1 Voir liste de modèle disponible . . . . . . . .
A.2 Voir liste d’expérimentation . . . . . . . . . .
A.3 Créer une expérimentation . . . . . . . . . .
A.4 Joindre à une expérimentation . . . . . . . .
A.5 Demander à manipuler d’expérimentation . .
A.6 Contrôler l’expérimentation . . . . . . . . . .
A.7 Analyser les résultats . . . . . . . . . . . . . .
A.8 Rendre le jeton de contrôle . . . . . . . . . .
A.9 Quitter l’expérimentation . . . . . . . . . . .
A.10 Vérifier le groupe . . . . . . . . . . . . . . . .
A.11 Vérifier le jeton de contrôle. . . . . . . . . . .
A.12 Mettre la demande dans la queue . . . . . . .
A.13 Exécuter l’expérimentation . . . . . . . . . .
A.14 Initier et modifier des paramètres . . . . . . .
A.15 Arrêter l’expérimentation . . . . . . . . . . .
A.16 Observer la valeur d’une paramètre en cours .
A.17 Attribuer la permission . . . . . . . . . . . .
A.18 Afficher les graphiques . . . . . . . . . . . . .
A.19 Attribuer la manipulation . . . . . . . . . . .
A.20 Vérifier la queue . . . . . . . . . . . . . . . .
A.21 Détruire l’expérimentation . . . . . . . . . . .
83
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
34
35
38
39
40
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
63
63
64
64
64
65
65
65
65
66
66
66
67
67
67
67
68
68
68
69
69

Documents pareils