Inspirations Contexte : la plate-forme MadKit La plate-forme TurtleKit
La plate-forme TurtleKit
Fabien MICHEL
LIRMM / SMILE
Master 2 - Moteurs de simulation
Fabien MICHEL TurtleKit Inspirations Contexte : la plate-forme MadKit La plate-forme TurtleKit Plan
1 Inspirations Le langage Logo La revolution´ StarLogo
2 Contexte : la plate-forme MadKit MadKit : vue gen´ erale´ Les outils de simulation de la plate-forme MadKit
3 La plate-forme TurtleKit TurtleKit : Vue gen´ erale´ TurtleKit API Exemples de simulations complexes TurtleKit vs. autres
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit Plan
1 Inspirations Le langage Logo La revolution´ StarLogo
2 Contexte : la plate-forme MadKit MadKit : vue gen´ erale´ Les outils de simulation de la plate-forme MadKit
3 La plate-forme TurtleKit TurtleKit : Vue gen´ erale´ TurtleKit API Exemples de simulations complexes TurtleKit vs. autres
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit Le langage Logo : Origines
Qu’est-ce que le Logo ? ”Logo is the name for a philosophy of education and a continually evolving family of programming languages that aid in its realization.” - Harold Abelson - Apple Logo, 1982
Au tout debut´ milieu des annees´ 60, Seymour Papert (mathematicien)´ ayant travailler avec Jean Piaget (psychologue) a` Geneve` co-fonde le MIT avec Marvin Minsky. . . Papert (et une equipe´ du MIT) cree´ la premiere` version de Logo en 1967 (”Lisp sans parenthese”)`
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit Le langage Logo : Origines
Qu’est-ce que le Logo ? ”Logo is the name for a philosophy of education and a continually evolving family of programming languages that aid in its realization.” - Harold Abelson - Apple Logo, 1982
Au tout debut´ milieu des annees´ 60, Seymour Papert (mathematicien)´ ayant travailler avec Jean Piaget (psychologue) a` Geneve` co-fonde le MIT avec Marvin Minsky. . . Papert (et une equipe´ du MIT) cree´ la premiere` version de Logo en 1967 (”Lisp sans parenthese”)`
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit Le langage Logo : origines
Origines MIT fin des annees´ 60 Objectif : diriger un robot depuis un ordinateur avec des commandes simples (avance, recule, etc.)
Un robot...... qui dessine
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit Le langage Logo : principes
carateristiques´ d’une tortue logo propriet´ es´ : orientation, stylo (on/off) capacites´ : avancer, reculer, tourner
exemples de mots de base
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit Le langage Logo : principes
creation´ d’un nouveau mot
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit Le langage Logo : principes
et ainsi de suite. . .
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit Le langage Logo : principes
vers des mots plus complexes
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit Plan
1 Inspirations Le langage Logo La revolution´ StarLogo
2 Contexte : la plate-forme MadKit MadKit : vue gen´ erale´ Les outils de simulation de la plate-forme MadKit
3 La plate-forme TurtleKit TurtleKit : Vue gen´ erale´ TurtleKit API Exemples de simulations complexes TurtleKit vs. autres
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit La revolution´ StarLogo
L’idee´ de Mitchel Resnick Debut´ des annees´ 90 : Multi-Logo “beyond the centralized mindset” un processus par tortue sur une architecture multi-processeur (nombreux problemes)` 1993/1994 : StarLogo (seulement mac au debut,´ ecrit´ en lisp) + Les patchs : ajout d’une dynamique environnementale (diffusion/evaporation)´
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit La revolution´ StarLogo
L’idee´ de Mitchel Resnick Debut´ des annees´ 90 : Multi-Logo “beyond the centralized mindset” un processus par tortue sur une architecture multi-processeur (nombreux problemes)` 1993/1994 : StarLogo (seulement mac au debut,´ ecrit´ en lisp) + Les patchs : ajout d’une dynamique environnementale (diffusion/evaporation)´
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit La revolution´ StarLogo
L’idee´ de Mitchel Resnick Debut´ des annees´ 90 : Multi-Logo “beyond the centralized mindset” un processus par tortue sur une architecture multi-processeur (nombreux problemes)` 1993/1994 : StarLogo (seulement mac au debut,´ ecrit´ en lisp) + Les patchs : ajout d’une dynamique environnementale (diffusion/evaporation)´
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit La revolution´ StarLogo 1994
Fabien MICHEL TurtleKit Inspirations Le langage Logo Contexte : la plate-forme MadKit La revolution´ StarLogo La plate-forme TurtleKit La revolution´ StarLogo
aujourd’hui StarLogo version 2.21 (2006) (beaucoup de modeles)` OpenStarLogo ( ? ?) StarLogo TNG (programmation graphique pour l’education)´ NetLogo (des tonnes de modeles)`
Fabien MICHEL TurtleKit Inspirations MadKit : vue gen´ erale´ Contexte : la plate-forme MadKit Les outils de simulation de la plate-forme MadKit La plate-forme TurtleKit Plan
1 Inspirations Le langage Logo La revolution´ StarLogo
2 Contexte : la plate-forme MadKit MadKit : vue gen´ erale´ Les outils de simulation de la plate-forme MadKit
3 La plate-forme TurtleKit TurtleKit : Vue gen´ erale´ TurtleKit API Exemples de simulations complexes TurtleKit vs. autres
Fabien MICHEL TurtleKit Inspirations MadKit : vue gen´ erale´ Contexte : la plate-forme MadKit Les outils de simulation de la plate-forme MadKit La plate-forme TurtleKit MadKit www.madkit.org
Caracteristiques´ Plate-forme pour le developpement/d´ eploiement´ de SMA Micro-noyau ecrit´ en Java (distribuable P2P) Basee´ sur le modele` AGR :
Le modele` Agent/Groupe/Roleˆ
Fabien MICHEL TurtleKit Inspirations MadKit : vue gen´ erale´ Contexte : la plate-forme MadKit Les outils de simulation de la plate-forme MadKit La plate-forme TurtleKit MadKit www.madkit.org Le “bureau” MadKit
Fabien MICHEL TurtleKit Inspirations MadKit : vue gen´ erale´ Contexte : la plate-forme MadKit Les outils de simulation de la plate-forme MadKit La plate-forme TurtleKit Plan
1 Inspirations Le langage Logo La revolution´ StarLogo
2 Contexte : la plate-forme MadKit MadKit : vue gen´ erale´ Les outils de simulation de la plate-forme MadKit
3 La plate-forme TurtleKit TurtleKit : Vue gen´ erale´ TurtleKit API Exemples de simulations complexes TurtleKit vs. autres
Fabien MICHEL TurtleKit Inspirations MadKit : vue gen´ erale´ Contexte : la plate-forme MadKit Les outils de simulation de la plate-forme MadKit La plate-forme TurtleKit Les outils de simulation de la plate-forme MadKit integration´ dans MadKit d’un noyau de gestion du temps [Michel et al. 01] Agent/Groupe/Roleˆ pour la simulation
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres Plan
1 Inspirations Le langage Logo La revolution´ StarLogo
2 Contexte : la plate-forme MadKit MadKit : vue gen´ erale´ Les outils de simulation de la plate-forme MadKit
3 La plate-forme TurtleKit TurtleKit : Vue gen´ erale´ TurtleKit API Exemples de simulations complexes TurtleKit vs. autres
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
En quelques mots plate-forme ecrite´ en java (au plus pres` des mots logo) realis´ ee´ avec MadKit Avantages : Agent/Groupe/Roleˆ messages fonctionnalites´ MadKit facile a` etendre´ et surtout, controleˆ total sur la simulation
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
En quelques mots plate-forme ecrite´ en java (au plus pres` des mots logo) realis´ ee´ avec MadKit Avantages : Agent/Groupe/Roleˆ messages fonctionnalites´ MadKit facile a` etendre´ et surtout, controleˆ total sur la simulation
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
En quelques mots plate-forme ecrite´ en java (au plus pres` des mots logo) realis´ ee´ avec MadKit Avantages : Agent/Groupe/Roleˆ messages fonctionnalites´ MadKit facile a` etendre´ et surtout, controleˆ total sur la simulation
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
En quelques mots plate-forme ecrite´ en java (au plus pres` des mots logo) realis´ ee´ avec MadKit Avantages : Agent/Groupe/Roleˆ messages fonctionnalites´ MadKit facile a` etendre´ et surtout, controleˆ total sur la simulation
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
En quelques mots plate-forme ecrite´ en java (au plus pres` des mots logo) realis´ ee´ avec MadKit Avantages : Agent/Groupe/Roleˆ messages fonctionnalites´ MadKit facile a` etendre´ et surtout, controleˆ total sur la simulation
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
En quelques mots plate-forme ecrite´ en java (au plus pres` des mots logo) realis´ ee´ avec MadKit Avantages : Agent/Groupe/Roleˆ messages fonctionnalites´ MadKit facile a` etendre´ et surtout, controleˆ total sur la simulation
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit : moteur de simulation AGR
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres Plan
1 Inspirations Le langage Logo La revolution´ StarLogo
2 Contexte : la plate-forme MadKit MadKit : vue gen´ erale´ Les outils de simulation de la plate-forme MadKit
3 La plate-forme TurtleKit TurtleKit : Vue gen´ erale´ TurtleKit API Exemples de simulations complexes TurtleKit vs. autres
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit Exemple de comportement : la termite electronique´
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit : exemple de code
StarLogo vs. TurtleKit
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit : API turtle API
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit : API turtle API
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit : API turtle API
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres
TurtleKit : API turtle API
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit : API turtle
API
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit : Termites demo´
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit : ecrire´ ses propres observers Etendre´ la classe observer (1. pour les patchs)
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit : ecrire´ ses propres observers Etendre´ la classe observer (2. pour les turtles)
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres Plan
1 Inspirations Le langage Logo La revolution´ StarLogo
2 Contexte : la plate-forme MadKit MadKit : vue gen´ erale´ Les outils de simulation de la plate-forme MadKit
3 La plate-forme TurtleKit TurtleKit : Vue gen´ erale´ TurtleKit API Exemples de simulations complexes TurtleKit vs. autres
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres
TurtleKitUn : exemple modele` pour d’utilisation l’emergence´ avanc multi-niveauxee´ [Beurier 05]
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit : exemple d’utilisation avancee´
Un modele` inspiree´ de l’embryogenie´ [Beurier 06]
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit : exemple d’utilisation avancee´
Un modele` inspiree´ de l’embryogenie´
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres Plan
1 Inspirations Le langage Logo La revolution´ StarLogo
2 Contexte : la plate-forme MadKit MadKit : vue gen´ erale´ Les outils de simulation de la plate-forme MadKit
3 La plate-forme TurtleKit TurtleKit : Vue gen´ erale´ TurtleKit API Exemples de simulations complexes TurtleKit vs. autres
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit vs. autres
Avantages rappels MadKit Java (pas un seul fichier, heritage,´ etc.) plate-forme faite pour etreˆ etendue´ mais surtout. . .
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit vs. autres
Avantages rappels MadKit Java (pas un seul fichier, heritage,´ etc.) plate-forme faite pour etreˆ etendue´ mais surtout. . .
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit vs. autres
Avantages rappels MadKit Java (pas un seul fichier, heritage,´ etc.) plate-forme faite pour etreˆ etendue´ mais surtout. . .
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit vs. autres
Avantages rappels MadKit Java (pas un seul fichier, heritage,´ etc.) plate-forme faite pour etreˆ etendue´ mais surtout. . .
Fabien MICHEL TurtleKit TurtleKit : Vue gen´ erale´ Inspirations TurtleKit API Contexte : la plate-forme MadKit Exemples de simulations complexes La plate-forme TurtleKit TurtleKit vs. autres TurtleKit possede` un vrai modele` temporel ! !
le pas de temps est explicite
Fabien MICHEL TurtleKit