Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Projet de génie logiciel
Interprêteur de règles du jeu de la vie, Simulation d'un automate cellulaire par Guillain Merle Jeudi 15 mai 2008
2
Plan de la présentation
Rappel sur les automates Objectif du projet Architecture du système Interprêtation de règles Exemple d'utilisation Conclusion
3
Rappel sur les automates
Un automate a un état et une fonction de transition faisant passer l'automate à un nouvel état Etat Fonction de transition Un automate cellulaire est un cas particulier où l'état est une grille de sous-états. Nous parlerons d'algorithme d'évolution plutôt que de fonction de transition Algorithme d'évolution
4
Objectif du projet 1 – Simuler un automate cellulaire
inspiré du Jeu de la Vie de Conway 2 – Flexibilité et généricité Plusieurs populations de cellules Algorithme d'évolution personnalisable 3 – Souplesse d'utilisation Interface graphique intuitive en Java Grille aléatoire ou personnalisée
5
Architecture du système
Architecture modulaire et structurée Jeu de la Vie Automate cellulaire Interface graphique Algorithme d'évolution Menus Corps de fenêtre Grille de cellules Algorithme de dessin utilisateur
6
Diagramme de classes Regroupement logique par modules
Elements indépendants assemblés dans la fenêtre gui evolution MainFrame EvolveAlgorithm Menu Canvas ConwayEvolveA RuleListEvolveA draw util state Drawable Grid<Cell> Cell GridDrawer Population
7
Interprêtation de règles
1 – Lecture d'un fichier de règles Fichier de règles populations={a,b,c,d} 1 [a = 3] → naissance(a) 1 [a != 2 & a != 3] → mort(a) 1 [b > 1 & c = 1] → naissance(d) 1 [a = 2] → survie(a) Liste de règles Analyseur de fichiers de règles a[1] = 3 → naissance(a) a[1] != 2,3 → mort(a) ... ... 2 – Utilisation dans l'algorithme d'évolution a Liste de règles Algorithme d'évolution a[1] = 3 → naissance(a) a a[1] != 2,3 → mort(a) a a ... ... survie(a)
8
Exemple d'utilisation + Une particule radioactive État initial
Fichier de règles populations={a,r} 1 [a > 0] → naissance(r) 1 [r >= 2] → naissance(r) 0 [r < 1] → mort(r) +
9
Conclusion Synthèse Synthèse Critiques
Simulateur d'automates cellulaires générique Grande flexibilité et expressivité Simplicité d'utilisation Critiques Plus flexible que les logiciels concurrents Compétitivité certaine dans le domaine Portabilité élevée grace à Java
10
Conclusion Déroulement du projet Evolutivité
Spécifications en fev-mars. Approche globale Conception en mars-avril. Approche down-top Développement en avril-mai. Assemblage Evolutivité Conçu pour être évolutif Limité que par le langage et l'interface Possibilité d'extension du langage
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.