Présentation
Le but de ce TER est de programmer un simulateur stochastique de réactions biochimiques. Un des aspects de ce projet sera de réaliser une version parallèle du moteur de résolution utilisant tous les coeurs de calcul du processeur.
Le simulateur sera composé de plusieurs modules:
E1 + s -> CP_1 [0.0122753]; CP_1 -> E1 + s [0.001]; CP_1 -> E1 + p [0.01]; E2 + p -> CP_2 [0.00441921]; CP_2 -> E2 + p [0.0009]; CP_2 -> E2 + q [0.009];
Ensuite les diverses approches seront présentées: un rappel d'analyses lexicale et syntaxique, deux méthodes exactes de simulations stochastiques population-centrées ainsi qu'une méthode approchée originale, et enfin une méthode individu-centré.
Le projet est à faire en binôme, chaque binôme choisissant de programmer un seul des deux moteurs de résolution (population-centrée ou individu-centré); La sortie graphique en temps réel est optionnelle. Le projet se déroulera sous forme de TP encadrés.
Les spécifications précises des interfaces entre les 3 modules seront données en cours, ceci permettant de connecter les 3 modules quels que soit les binômes qui les auront programmés.
Spécifications et Conception du projet
Les spécifications du projet de chaque binôme seront faites avant la conception du programme proprement dit. Cela implique que l'interface utilisateur ainsi que le manuel d'utilisation seront décrits préalablement à la phase de programmation.
Une fois les spécifications terminées, la conception du programme pourra
commencer. Le projet est à programmer dans un langage objet, de préférence C++
ou Java. Le découpage en 3 modules ainsi que les interfaces de ces modules
sont imposés, mais la conception de chacun des modules est à faire par chaque
binôme, notamment selon que le moteur sera séquentiel ou parallèle.
Une documentation d'implémentation devra accompagner le code de chacun des
modules.
Évaluation du TER
Plusieurs documents seront à rendre par binôme, selon un calendrier préétabli:
Le rendu final sera composé d'une archive comprenant les sources du logiciel intégré avec son interface utilisateur, le Makefile permettant de le compiler, ainsi que la trace de son exécution sur les exemples du manuel d'utilisation et une évaluation du temps calcul utilisé.
Enfin, il y aura une soutenance par binôme comportant une courte présentation (quelques diapositives) une démonstration du simulateur, et des questions.