transparent final de tpe
DESCRIPTION
Mon transparent final de TPE : Un outil de modélisation graphique collaborativeTRANSCRIPT
Encadrements :
Benoit Gaudou (UMI 209 UMMISCO - IFI)
Ho Tuong Vinh (UMI 209 UMMISCO – IFI)
Nicolas Marilleau (UMI 209 UMMISCO - IRD)
Étudiant :
LE Nguyen Tuan Thành
Promotion 15
PLAN
Introduction 1
État de l’art 2
Solution proposée 3
Partie pratique 4
Conclusion et perspectives 5
28/06/2010 2
INTRODUCTION
28/06/2010 3
1. Introduction
Maintenant, la modélisation et simulation du système complexe est une tâche pluridisciplinaire et collaborative
Le TPE 12, un sujet de développement d'un outil de modélisation graphique collaborative, va peut-être appliquer la modélisation et simulation dans le travail professionnel pour que l'on peut modeler ses idées par un outil commun et puis les partager avec des autres
28/06/2010 4
1.1. La plate-forme PAMS
Elle est développée par l’équipe UMMISCO
Elle nous permet de créer des modèles dans les systèmes multi-agents, de les manipuler, de les expérimenter, de les modifier et de les coupler en manière collaborative
Les outils de collaboration en PAMS sont : Blogger, Ressources, Conferencing, Forums, Chatroom, Wiki et Whiteboard (Tableau blanc)
28/06/2010 5
1.2. Tableau blanc en PAMS
Les faiblesses d’outil tableau blanc en PAMS
Il est simple
La collaboration entre des chercheurs n’est pas bon
Il ne soutient pas des nouveaux modèles dans
d’autres domaines
28/06/2010 6
1.3. L’objectif du TPE
Avoir les fonctions de base
d'une application du tableau blanc
Devoir nous permettre d'ajouter
des plugins/templates
Être collaboratif
Un outil de
modélisation
graphique
collaborative
28/06/2010 7
1.3. L’objectif du TPE (cont.)
Devoir être capable de s'intégrer dans PAMS =>
une application web
Quelques fonctions complémentaires souhaitées
Pouvoir exporter des modèles aux formats PNG,
JPG, JPEG, PDF …
Pouvoir corriger automatiquement des figures dans la
mode Freehand
Pouvoir faire directement des calculs dans un
diagrame
etc.
28/06/2010 8
1.4. Les travaux
Travail théorique
Étudier les connaissances concernantes comme la
M&S, le SMA, la théorie de graphique etc.
Étudier l'état de l’art critique des outils graphiques
Apprendre des outils, des logiciels concernés
Travail pratique
Créer/choisir un outil de modélisation graphique
collaborative
Intégrer cet outil dans PAMS
Expérimenter
28/06/2010 9
ÉTAT DE L'ART
28/06/2010 10
2. État de l'art
Dans le processus du développement un outil
de modélisation graphique collaborative, je
poursuis deux approches suivantes :
Analyser les outils de dessins existants et voir
comment ils peuvent être modifiés pour ajouter
l'aspect collaboratif
Analyser les tableaux blancs collaboratifs et voir
comment ils peuvent être modifiés pour ajouter des
plugins/templates qui sont des formes de dessin
prédéfini.
28/06/2010 11
2.1. Les critères de comparaison
Pour analyser des outils existants concernant la modélisation
graphique collaborative, je donne les critères de comparaison
suivants : Interface web
Soutenir le plugin
Soutenir la collaboration
Soutenir le chat
Soutenir le calcul interne
Corriger automatiquement
Système d'exploitation
Licence
La richesse des fonctions de dessin
Exporter vers d'autres formats comme PNG, JPG, JPEG, PDF ...
28/06/2010 12
2.2. Les outils de dessin
28/06/2010 13
2.3. Les tableaux blancs
28/06/2010 14
SOLUTION PROPOSÉE
28/06/2010 15
3. Solution proposée
Suivre la première approche : analyser les outils
de dessins existants et voir comment ils peuvent
être modifiés pour ajouter l'aspect collaboratif
En détail, utiliser l'outil open-source BeoModeler
Les techniques : Java et Flex
28/06/2010 16
3.1. L’outil BeoModeler
Ses caractéristiques
Open Source Modeler (BSD licence)
100% Web
RIA (Rich Internet Application)
Convivialité
Très rapide, fait pour la vitesse
Exporter et importer à partir d'IBM Rational RSA/RSM et TopCased
UML 2.1
Le support d'UML
Cas d'utilisation
Objet
Classe
Package
Interaction (Collaboration)
28/06/2010 17
3.1. Cas d’utilisation
28/06/2010 18
Le menu des icônes
Le panneau UML
Tool
Treeview
La zone du travail
3.2. Les difficultés
BeoModeler n’est pas un tableau blanc
Il manque les fonctions de base d'une application du
tableau blanc comme : Freehand, Ligne, Figures
(Triangle, Cercle, Carré), Texte, Couleur, Undo etc.
Il ne soutient pas la collaboration en temps réel
Le choix de l’approche d’implémenter la collaboration
Le protocole HTTP : simple, mais pas bon
Un serveur soutient la collaboration comme Red5 :
complex, mais bon
28/06/2010 19
3.3. Compléter les manques
1
Construire un tableau blanc
2
Implémenter la collaboration
pour des diagrammes
UML
28/06/2010 20
3.3.1. Construire un tableau blanc
Utiliser le
service Adobe
Livecycle
Collaboration
Server
Tableau blanc
Soutenir
quelques
fonctionnalités
d'un tableau
blanc
28/06/2010 21
3.3.1. Tableau blanc - Les étapes
Créer un espace dans le serveur d’Adobe
Chaque client tout d’abord va connecter à cet espace
Des utilisateurs vont ensuite dessiner des figures/schémas ensemble
28/06/2010 22
3.3.2. UML - Implémenter la collaboration
Il y a deux approches pour compléter la collaboration pour des
schéma UML de BeoModeler
Utiliser le protocole HTTP. Chaque 10 seconds, par exemple, on va enregistrer
l'état courant sur un fichier et chaque 12 seconds, on va ouvrir ce fichier pour
mettre à jour des changements.
Utiliser le protocole du serveur Red5. Red5 est un serveur Flash gratuit et libre
qui permet de faire du streaming audio ou vidéo, partage d’objet distant, de la
synchronisation de données, etc.
Deux mécanismes du travail
Un utilisateur crée tout d’abord un schéma et envoie l’adress du schéma à
quelques utilisateurs par émail
Tous utilisateurs peuvent voir le fichier du schéma sur le serveur. Ils peuvent
participer de dessiner s’ils veulent
Pour simplement, on choisit la première approche et le deuxième
mécanisme : utiliser le protocole HTTP et tous utilisers peuvent
participer s’ils veulent
28/06/2010 23
3.3.2. UML - La collaboration
28/06/2010 24
Serveur (Tomcat)
Client
Client Client
Chaque 10s, on
va enregistrer
sur le serveur
Chaque 12s,on
va mettre à jour
sur le client
PARTIE PRATIQUE
28/06/2010 25
4. Partie pratique
Réalisation pratique
Expérimentation
28/06/2010 26
4.1. Réalisation pratique - Local
Tester les fontionnalités du programme dans
l’ordinateur local
Pour choisir le bon paramètre de la collaboration :
10s pour enregister et 12s pour mettre à jour le fichier
du schéma
Détecter des erreurs
Intégrer le programme dans PAMS
Compléter une fonction complémantaire de PAMS
28/06/2010 27
4.1.1 Dans l’ordinateur local
Tester sur Windows et Linux
Le serveur et le client sont dans même
ordinateur
Le serveur
Apache Tomcat 6.0.26 (pour enregistrer vos
diagrammes UML ou ouvrir des schéma XMI existant)
Mettre le fichier beomodelerserver.war dans le
dossier webapps de Tomcat
Le client
Web brower : Firefox, Chrome
28/06/2010 28
4.1.1. L’interface
28/06/2010 29
Le tableau blanc ajouté
L’option pour ouvrir un
schéme sur le serveur
Browse les fichiers
sur le serveur
4.1.1. Tableau blanc
28/06/2010 30
Le palette des outils
La zone du travail
La zone de propriétés
4.1.1. Tableau blanc – La collaboration
28/06/2010 31
Utilisateur à gauche
déplace ce figure Nom d’utilisateur est
en train de dessiner
(utilisateur à gauche)
Le changement va
mettre à jour dans l’écran
d’utilisateur à droit
4.1.1. UML - La collaboration
28/06/2010 32
MiniView
1. Un utilisateur
modifie le schéma
2. Le changement va
mettre à jour après
quelques seconds
4.2. Réalisation pratique - PAMS
Tester des fontionnalités du programme dans
PAMS
Modifier le fichier conferenMain.jsp de PAMS pour
ajouter le lien du client de BeoModeler
Tester sur Linux
Utiliser un serveur différent pour BeoModeler (pas
utiliser le serveur de PAMS)
28/06/2010 33
4.2. Réalisation pratique – PAMS (cont.)
28/06/2010 34
Icône pour
ouvrir le
programme
L’adresse du programme
Tableau blanc ajouté
4.2. Expérimentation
Pouvoir marcher sur Windows et Linux
Fixer la durée pour autosave, autoload le
diagramme : 10s et 12s (j’ai testé avec 5s – pas
bon, 20s - bon)
Balancer entre le temps pour autosave et autoload et
la perte de données
Le temps pour le tableau blanc connecte au
serveur d’Adobe est long
28/06/2010 35
4.2. Expérimentation (cont.)
Ne pas limiter le nombre du clients connectés
Les défauts en utilisant le protocole HTTP pour
réaliser la collaboration
La synchronation entre des clients est mal
La perte de données quand le changement
n’enregistre pas sur le serveur et dans ce temps le
programme met à jour automatiquement => Il faut
enregistrer manuellement par cliquer sur l’icône de
sauvegarde
28/06/2010 36
4.2. Expérimentation (cont.)
Le serveur testé de PAMS ne fonctionne pas le
fichier beomodelerserver.war => on doit utiliser
un autre serveur et le client dans PAMS va
connecter à ce serveur
Car la version de Java utilisant dans PAMS et
BeoModeler est différente
28/06/2010 37
CONCLUSION ET PERSPECTIVES
28/06/2010 38
5.1. Conclusion
Construire un Outil de Modélisation Graphique Collaborative avec
des fonctions complètes
Intégrer cet outil dans PAMS
Mais il rest beaucoup de choses à faire
Premièrement, le tableau blanc dépend le serveur d’Adobe.
L'utilisateur n'est pas capable de créer une nouvelle session
Deuxièmement, la collaboration de dessiner des diagrammes ne
marche bien. Il y a des erreurs
Les erreurs des Flash
Les erreurs du programme BeoModeler originaire (quand on modifie le
texte)
Si on est en train de modifier un figure et dans ce temps, le programme met à jour ou enregistrer automatiquement, on peut perdre des données
ou la position des figures est incorrect.
28/06/2010 39
5.1. Conclusion (cont.)
Troisièmement, il n’y a pas la relation entre la partie du
tableau blanc et la partie de dessiner des schéma UML
(utiliser deux serveurs différents). Il n’y a pas également
des connexions entre des clients (seulement client-
serveur). On ne sais pas combien du clients connectés
et quel client est en train de modifier le digramme
Finalement, le mécanisme du travail n'est pas bon.
Maintenant, quand un utilisateur connecte au serveur, le
serveur va envoyer tous les fichiers stockés à cet
utilisateur. Ensuite, l'utilisateur va choisir un des fichiers
pour travailler. Un utilisateur peut voir tous les fichiers
dans le serveur, c'est pas intelligent 28/06/2010 40
5.2. Perspectives
Suivre la deuxième approche et le premier mécanisme
du travail : utiliser le protocole de Red5 qui soutient la
collaboration par défaut et chaque utilisateur a un
espace privé dans le serveur
Modifier la code de BeoModeler pour ajouter des autres
modèles, pas seulement UML
Le tableau blanc utilise le service d’Adobe maintenant, il
faut changer à utiliser un serveur local.
On peut utiliser des comptes-rendus de PAMS pour
implémenter le premier mécanisme du travail (identifier
des utilisateurs)
28/06/2010 41
RÉFÉRENCES
28/06/2010 42
Références
[1] Benoit Gaudou, Ho Tuong Vinh, Nicolas Marilleau. Introduce collaboration in
methodologies of modeling an simulation of Complex Systems. INCOS'09. 2009.
[2] A. Giemza, S. Ziebarth. Overview of the freestyler modeling environment. Collide,
University of Duisburg-Essen, Tech. Rep., 2008.
[3] Niels Pinkwart. Collaborative Modeling in Graph Based Environments. PhD
Thesis, Université Duisburg-Essen, 2005
[4] Trong Khanh Nguyen, Benoit Gaudou, Tuong Vinh Ho, Nicolas Marilleau.
Application of PAM Collaboration Platform to Simulation-Based Researches in Soil
Science: The Case of the MIcro-Organism Projet. IEEE-RIVF International
Conference on Computing and Telecommunication Technologies (IEEE-RIVF 09), Da
Nang City, Viet Nam, 2009
[5] Trong Khanh Nguyen, Nicolas Marilleau, Tuong Vinh Ho. PAMS – A New
Collaborative Framework for Agent-Based Simulation of Complex Systems
[6] Trong Khanh Nguyen. PAMS-Plateforme collaborative pour la modélisation et
simulation. Rapport de Master II, 2008
[7] Jacques Gignoux. Standard for ecological model description in 3Worlds. Rapport,
Mars 2009
28/06/2010 43
Références (cont.)
[8] Péter Domokos, Dániel Varró. An Open Visualisation Framework for Metamode-
Based Modeling Languages. GraBaTs'02 Preliminary Version
[9] Annie Corbel, Philippe Jaillon, Xavier Serpaggi, Michael Baker, Mathieu Quignard,
Kristine Lund, Arnaud Séjourné. DREW : Un outil Internet pour créer des situations
d’apprentissage coopérant
[10] Annie Corbel, Jean-Jacques Girardot, Philippe Jaillon. DREW: a dialogical
reasoning web tool
[11] DREW Web Site. http://drew.emse.fr/
[12] Collide, Faculté de génie, Université de Duisburg-Essen. Cool Modes.
http://www.collide.info/index.php/Cool_Modes
[13] Edutech Wiki. CoolModes. http://edutechwiki.unige.ch/en/Cool_Modes
[14] Collide, Faculté de génie, Université de Duisburg-Essen. Freestyler.
http://www.collide.info/index.php/FreeStyler
[15] Edutech Wiki. Freestyler. http://edutechwiki.unige.ch/en/Freestyler
[16] Laboratoires de la collaboration d'Europe. http://www.co-lab.nl/index.html. Mardi
2006
28/06/2010 44
Références (cont.)
[17] Belvedere Knowledge Mapping. http://sourceforge.net/projects/belvedere/
[18] Institut für Arbeitswissenschaft. SeeMe Method.
http://www.imtmiaw.rub.de/projekte/seeme/methode/index.html.en . 27 Octobre 2009
[19] Cosketch Beta. http://cosketch.com/
[20] Inkscape. http://www.inkscape.org/?lang=fr
[21] Cosketch Beta. http://cosketch.com/
[22] Dabbleboard http://www.dabbleboard.com/
[23] Twiddla http://www.twiddla.com/Home.aspx
[24] Wiki Plug-in (computing) : http://en.wikipedia.org/wiki/Plugins
[25] Wiki Software extension : http://en.wikipedia.org/wiki/Extension_(computing)
[26] Wiki Plugin : http://fr.wikipedia.org/wiki/Plugin
[27] Java Plug-in Framework (JPF) : http://jpf.sourceforge.net/
[28] HiveBoard : http://hiveboard.sourceforge.net
[29] CoolCollaborator : http://coolcollaborator.org
[30] BeoModeler : http://www.beotic.org/us/projects/beomodeler/index.php
28/06/2010 45
28/06/2010 46