Démonstration 05/2012

Preview:

DESCRIPTION

Démonstration 05/2012. Sommaire. Exemples simples IndexProvider : Preuves de fonctionnalités Foxes’n Rabbits Vitrine technologique musicale. Utilisation de la bibliothèque. ReactionRule. Règle de réaction = classe implémentant l’interface ReactionRule Méthodes : - PowerPoint PPT Presentation

Citation preview

Bibliothèque JAVA de programmation chimique

Cédric ANDREOLLIChloé BOULANGEROlivier CLÉROAntoine GUELLIERSébastien GUILLOUXArthur TEMPLÉ

Projet 4INFO

Encadrant : Jean-Louis Pazat

Démonstration05/2012

2

Bibliothèque JAVA de programmation chimique – Démonstration

Sommaire

Exemples simplesIndexProvider : Preuves de fonctionnalitésFoxes’n RabbitsVitrine technologique musicale

3

Bibliothèque JAVA de programmation chimique – Démonstration

Utilisation de la bibliothèqueReactionRuleRègle de réaction = classe implémentant l’interface ReactionRule

Méthodes :- computeSelect() : conditions sur le choix des réactifs- computeReact() : réaction en elle-même

Solution- Ajout de réactifs avec add(Object o) (n’importe quel objet

Java, y compris des sous-solutions et des ReactionRule)- Lancement de la réaction : react()

4

Bibliothèque JAVA de programmation chimique – Démonstration

Exemples simplesNombres premiers

En entrée : une solution contenant des nombres de 2 à n

Réaction : – ComputeSelect : sélectionne les nombres divisibles entre

eux– ComputeReact : ajoute à la solution le nombre qui divise, et

n’ajoute pas celui qui est divisé

En sortie : ensemble des nombres premiers de 2 à n appartenant à l’intervalle [2;n]

5

Bibliothèque JAVA de programmation chimique – Démonstration

Exemples simplesSentence Creator

A wild Pikachu

SubjectType

Chloé Boulanger

The dog The cat VerbType

Is sexy and knows it

runs

appearseats

ChooseSubjectRR

PutWordsTogether

ChooseVerbRRChooseComplementRR

PrepositionType

inon

abovebelow

PlaceType

The roof The garden

The kitchen

6

Bibliothèque JAVA de programmation chimique – Démonstration

IndexProviderPreuves de fonctionnalité

L’IndexProvider : coeur et point sensible du problèmeFournit toutes les combinaisons possibles d’index des réactifs en solution

Nécessaire de vérifier que l’IndexProvider: - sélectionne des combinaisons valides- parcourt toutes les combinaisons possibles- fonctionne avec les SubSolutions

D’où réalisation de tests indispensable... qui a révélé de nombreux problèmes et bugs corrigés par la suite.

7

Bibliothèque JAVA de programmation chimique – Démonstration

Foxes’n RabbitsPrésentationSimulation d’une population de renards et de lapins

Règles- Chaque espèce peut se déplacer sur une case vide- Chaque espèce a une espérance de vie et finit par mourir naturellement- Chaque espèce peut se reproduire - Les lapins peuvent se faire manger par les renards

L’ensemble est géré par un système de probabilités- Probabilité de se faire manger, de se reproduire... qui diffère selon l’espèce

En théorie- Système aléatoire et indéterministe- Mais globalement stable et équilibré- Selon un bon paramétrage des différentes probabilités

8

Bibliothèque JAVA de programmation chimique – Démonstration

Vitrine technologique musicaleEléments de la réaction

CountNb

mesures restantes à

créer

BarNumberNuméro de la

mesure à créer

DegreeImplDegré de la mesure à

créer

Note1

ChordImpl1

ChordImpl2

BarNumber

Note2Note

3

Note1

ChordImpl1

BarNumber

Note2Note

3 Note4

Note5

Note1

ChordImpl1

BarNumber

Note2Note

3 Note4

9

Bibliothèque JAVA de programmation chimique – Démonstration

Vitrine technologique musicaleExemple de réaction : création du rythme de la mélodieRythmicRR prend les réactifs suivants :

MeasureNumber1

ChordImpl1

ChordImpl2

Pitch

MelodicRRmax = 0

activated = false

RythmicRRChordNumber = 1

max = 0

2

RythmPull

RythmPatternEEQ2

RythmPatternEEQQQ4

RythmPatternQQEEQ4

RythmPatternEQP2

A est pris par B comme réactif

A B

10

Bibliothèque JAVA de programmation chimique – Démonstration

Vitrine technologique musicaleExemple de réaction : création du rythme de la mélodieRythmicRR remet en solution les produits suivants :

MeasureNumber1

ChordImpl1

ChordImpl2

Pitch

MelodicRRmax = 5

activated = false

RythmicRRChordNumber = 2

max = 5

2

RythmPull

RythmPatternEEQ2

RythmPatternEEQQQ4

RythmPatternQQEEQ4

RythmPatternEQP2

NotePosition=0

NotePosition=1

NotePosition=2

NotePosition=3

NotePosition=4

NotePosition=5

B remet A en solutionB A