Tải bản đầy đủ (.pdf) (89 trang)

PAMS plateforme collaborative pour la mod´elisation et simulation

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.11 MB, 89 trang )

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´
elisation 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`
eres

Table des mati`
eres
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


`
TABLE DES MATIERES

ii

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 . . .



×