Une interface graphique de modélisation basée sur le formalisme de Forrester un plugin de modélisation GVLE Patrick Chabrier INRA (Institut National de la Recherche Agronomique) (INRA) Stage Forrester 1 / 14
Forrester to DEVS Fournir une interface graphique de modélisation qui permette à un modélisateur de construire un simulateur VLE en utilisant les diagrammes de type Forrester. (INRA) Stage Forrester 2 / 14
Forrester to (O)DE La fonctionnalité de l interface graphique transformera la représentation graphique d un diagramme de Forrester en un modèle atomique dont le formalisme est préexistant dans le cadre de RECORD. Un mécanisme d extension de l interface graphique sera mobilisé : le plugin de modélisation. (INRA) Stage Forrester 3 / 14
Développer un simulateur avec VLE et GVLE en quoi cela consiste? processus Décomposer le simulateur en modules(modèles couplés atomiques) Spécifier les Paramètres, les Observations, les Entrées et les Sorties Spécifier les relations entre les modules Choisir un formalisme pour chacun des modèles atomiques Développer la classe C++ d un modèle, héritant du formalisme en écrivant dans un langage de programmation [Éditeur de texte] Compiler les classes Lancer des simulations plugin de modélisation Un plugin de modélisation est une partie de l interface graphique qui accompagne très fortement l utilisateur pour la partie programmation d une classe C++ et la spécification de sa configuration au sein du simulateur global. (INRA) Stage Forrester 4 / 14
Architecture d un simulateur VLE UML, Diagramme de classe et Diagramme d objet (INRA) Stage Forrester 5 / 14
Le rôle des plugin de modélisation les différents types de plugins de GVLE Conditions expérimentales Modélisation Sorties plugin de modélisation Éviter à l utilisateur de programmer du C++ Générer le code C++ d un modèle Générer les ports d entrées et de sorties Générer les ports de conditions expérimentales et d observations Fournir une logique spécifique à un formalisme en particulier N ajoute pas le composant dans la chaîne de production du paquet N est destiné qu à la génération d un modèle atomique(pour l instant)[feature request pour VLE] (INRA) Stage Forrester 6 / 14
Utilisation et Fonctionnement des plugin de modélisation En séquence L alternative au choix d un composant existant, consiste à faire appel à un générateur de code parmi une liste disponible. La fenêtre de dialogue peut se présenter sous la forme d un formulaire principale, faisant appel à d autres fenêtres de dialogues comprenant d autres formulaires. La fenêtre de dialogue peut proposer une zone de modélisation graphique. Remplir les formulaires revient à stocker des informations relatives à un modèle, et spécifiques à un formalisme de GVLE. Il reste néanmoins un peu de code C++ à écrire, purement fonctionnel ou conditionnel. A la validation des formulaires, grâce à un template propre à l extension(patron), le fichier C++ de la classe est généré. Des balises spécifiques permettent à la fois de rendre persistante les entités du modèles, mais aussi de faire persister un diagramme de modélisation. A la validation, une partie du VPZ propre à ce modèle est générée également. (INRA) Stage Forrester 7 / 14
Utilisation et Fonctionnement des plugin de modélisation En image (INRA) Stage Forrester 8 / 14
Les évènements à la ModelMaker et les formalismes (O)DE Les Formalismes (O)DE ne bénéficient pas d un mécanisme événementiel explicite. Typiquement toutes les variables d états des (O)DE sont perturbables, ou affectables par évènements externes. Proposer des modèles générateurs d évènements externes directement compatibles, [feature request pour RECORD, avec ou sans GUI]. (INRA) Stage Forrester 9 / 14
Les fichiers d entrée et les variables externes Même cas de figure que les pour les évènements. Les formalismes n ont pas vraiment vocation à lire des fichiers. Proposer un modèle synchrone, générateur de données lues dans un fichier, [feature request pour RECORD, avec ou sans GUI]. (INRA) Stage Forrester 10 / 14
La modularité celle de DEVS complexité trop importante dans le cadre d un stage. en pratique on utilisera celle de DEVS et de GVLE. (INRA) Stage Forrester 11 / 14
Les tâches s approprier l environnement de travail(git, SourceForge). s approprier partiellement VLE/GVLE et la lirairie GTKMM. s approprier techniquement VLE/GVLE. Et surtout les plugins de modélisation, ainsi que les formalismes O(DE) étudier les plugins existants en vue de les réutiliser, pas de factorisation prévu dans le cadre du stage concevoir et développer la structure de donnée permettant de stocker le diagramme de forester concevoir et développer la vue graphique spécifique développer la ou les fenêtres de dialogue écrire un patron de générateur de code Un stage peut contribuer à lancer le sujet, mais ne sera sans doute pas suffisant. Le degré de finalisation dépendra fortement de la qualité du stagiaire. (INRA) Stage Forrester 12 / 14
rapide étude de faisabilité circoncise au formalisme DE Le TP ModelMaker, a été utilisé comme User Story (en s arrêtant avant le calibrage) pour étudier la faisabilité. Le système de template a été testé pour éprouver son expressivité(notion de boucle). La génération de code pour les réservoir et les flux, voir les flux conditionnels, et les variables intermédiaires semble assez simple et directe. Le formalisme DESS n est pas disponible sous la forme d un système d équation.[feature Request pour RECORD] (INRA) Stage Forrester 13 / 14
Le plugin de modélisation Forrester Auteur Patrick Chabrier patrick.chabrier@toulouse.inra.fr Licence Copyright (C) 2011 - INRA Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". (INRA) Stage Forrester 14 / 14