Cours environnement VLE 0.6

Dimension: px
Commencer à balayer dès la page:

Download "Cours environnement VLE 0.6"

Transcription

1 Cours environnement VLE 0.6 Gauthier Quesnel INRA (Institut National de la Recherche Agronomique) G. Quesnel (INRA) Cours VLE 1 / 73

2 Description de VLE 1 Environnement M&S complet Environnement / Framework Cycle de M&S 2 Caractéristiques techniques Composants : VFL Les greffons ou plug-ins 3 Fonctionnement Exécution d une simulation Développement de modèles G. Quesnel (INRA) Cours VLE 2 / 73

3 Le passage de DEVS à VLE 4 Liens entre DEVS et VLE Comment développer un modèle atomique? 5 Comportement par défaut 6 Description de l API Description de l API du modèle atomique Description de l API des données 7 Spécificités VLE : Conditions & Observations G. Quesnel (INRA) Cours VLE 3 / 73

4 L interface graphique de VLE 8 Introduction 9 Description des boîtes de dialogues 10 Vidéos 11 Remarques G. Quesnel (INRA) Cours VLE 4 / 73

5 Exemple complet 12 Exerice 1 TP0 13 Générateur et compteur G. Quesnel (INRA) Cours VLE 5 / 73

6 Première partie I VLE G. Quesnel (INRA) Cours VLE 6 / 73

7 Plan 1 Environnement M&S complet Environnement / Framework Cycle de M&S 2 Caractéristiques techniques Composants : VFL Les greffons ou plug-ins 3 Fonctionnement Exécution d une simulation Développement de modèles G. Quesnel (INRA) Cours VLE 7 / 73

8 VLE : un environnement complet Environnement / Framework Qu est ce que l environnement VLE : Une bibliothèque de modélisation et de simulation DEVS C++ : VFL extensions équations différentielles : QSS et DESS extension équations aux différences extension réseaux de Petri : High Level PetriNet extension automates cellulaires, 1, 2 ou 3 dimensions extension équations différentielles spatialisées Un simulateur DEVS : vle Une interface graphique de modélisation : gvle Une interface graphique de visualisation : eov Un paquet R : rvle Un paquet Python : pyvle Définition VLE est un environnement de M&S qui consiste en un ensemble de logiciels permettant de modéliser, simuler et d analyser des systèmes. G. Quesnel (INRA) Cours VLE 8 / 73

9 VLE : un environnement complet Environnement / Framework Qu est ce que l environnement VLE : Une bibliothèque de modélisation et de simulation DEVS C++ : VFL extensions équations différentielles : QSS et DESS extension équations aux différences extension réseaux de Petri : High Level PetriNet extension automates cellulaires, 1, 2 ou 3 dimensions extension équations différentielles spatialisées Un simulateur DEVS : vle Une interface graphique de modélisation : gvle Une interface graphique de visualisation : eov Un paquet R : rvle Un paquet Python : pyvle Définition VLE est un environnement de M&S qui consiste en un ensemble de logiciels permettant de modéliser, simuler et d analyser des systèmes. G. Quesnel (INRA) Cours VLE 8 / 73

10 VLE : un environnement complet Le cycle de modélisation modélisation modèle formel implémentation modèle vle plan expérience analyses résultat simulation instances du plan G. Quesnel (INRA) Cours VLE 9 / 73

11 VLE : un environnement complet Le cycle de modélisation modélisation modèle formel implémentation modèle vle plan expérience analyses résultat simulation instances du plan G. Quesnel (INRA) Cours VLE 9 / 73

12 VLE : un environnement complet Le cycle de modélisation modélisation modèle formel implémentation modèle vle plan expérience analyses résultat simulation instances du plan Environnement VLE : notre but Offrir aux modélisateurs l accès à DEVS, pour la modélisation (de modèles hétérogènes), la simulation (sur grille de calculs), et l analyse des sorties, et si possible en proposant une intégration dans leurs outils. G. Quesnel (INRA) Cours VLE 9 / 73

13 Plan 1 Environnement M&S complet Environnement / Framework Cycle de M&S 2 Caractéristiques techniques Composants : VFL Les greffons ou plug-ins 3 Fonctionnement Exécution d une simulation Développement de modèles G. Quesnel (INRA) Cours VLE 10 / 73

14 Les composants VLE : Virtual Laboratory Environment Composants une bibliothèque de codes informatiques : fonctions, types, classes, etc. Plugins ou greffons est un composant dit léger, permet d étendre un autre composant. Remarques VLE est basé sur les composants : les VFL, VLE Foundation Libraries sont un ensemble de bibliothèques Certaines bibliothèques de VLE peuvent être étendues par des greffons Les bibliothèques, en C/C++, ont pour extension.so sous GNU/Linux et.dll sous Windows. G. Quesnel (INRA) Cours VLE 11 / 73

15 Les composants importants devs extension oov vle value vpz graph FIG.: VFL : Virtual Laboratory Environment Foundation Libraries G. Quesnel (INRA) Cours VLE 12 / 73

16 Les composants importants VFL : Virtual Laboratory Environment Foundation Libraries value données transportables sur les événements graph représentation du graphe de modèles hiérarchiques DEVS vpz représentation objet du format de fichiers VPZ devs noyau de simulation DEVS (temps, événements, simulator etc). extension extensions DEVS proposées (QSS, DESS, PetriNet etc.) manager simulation, multi-simulation, plan d expériences Règles À chaque bibliothèque est associée un namespace C++, par exemple, vle::devs::dynamics ou vle::graph::atomicmodel G. Quesnel (INRA) Cours VLE 13 / 73

17 Les composants VFL : Virtual Laboratory Environment Foundation Libraries data objet de connexion aux bases de données, fichiers csv etc. oov les sorties de simulation, fichiers, base de donnée, etc. utils ensemble de code portable geometry des classes pour la manipulation de données dans l espace translator outils de construction de graphe Remarques Un développeur de... modèles DEVS n a besoin que des bibliothèques vle::value, vle::devs modèles à base d équations aux différences, n a besoin que de la bibliothèques vle::extension::differenceequation de plate-forme pourrait avoir besoin de toutes les bibliothèques G. Quesnel (INRA) Cours VLE 14 / 73

18 Les composants Les greffons ou plug-ins modèles modèles modèles extensions csv outputs simulateur vle devs rdata modèles modèles texte modèles FIG.: Les greffons ou plugins du simulateur VLE G. Quesnel (INRA) Cours VLE 15 / 73

19 Plan 1 Environnement M&S complet Environnement / Framework Cycle de M&S 2 Caractéristiques techniques Composants : VFL Les greffons ou plug-ins 3 Fonctionnement Exécution d une simulation Développement de modèles G. Quesnel (INRA) Cours VLE 16 / 73

20 Fonctionnement Exécution d une simulation obs. Ordre d exécution 1 charge vpz 2 récupère graph fichier vpz graph 3 récupère init 4 récupère obs init. 5 crée un coordinateur vle coord 6 lance la simulation G. Quesnel (INRA) Cours VLE 17 / 73

21 Fonctionnement Développement de modèles Découpage entre code informatique / graphes, plan d expérience Code informatique La traduction en code informatique des modèles DEVS dans l API de VLE Graphe de modèle Un fichier XML de description de la hiérarchie de modèles et du plan d expérience Pourquoi cette séparation? Une volonté de séparer le code informatique de la hiérarchie Un même code informatique pour : plusieurs graphes / plusieurs expériences La hiérarchie de modèles sera éditée avec GVLE G. Quesnel (INRA) Cours VLE 18 / 73

22 Deuxième partie II DEVS vers VLE G. Quesnel (INRA) Cours VLE 19 / 73

23 Plan 4 Liens entre DEVS et VLE Comment développer un modèle atomique? 5 Comportement par défaut 6 Description de l API Description de l API du modèle atomique Description de l API des données 7 Spécificités VLE : Conditions & Observations G. Quesnel (INRA) Cours VLE 20 / 73

24 Liens entre DEVS et VLE VLE est un environnement de modélisation et simulation DEVS il implémente les simulateurs abstraits de B. P. Zeigler et un lot d extensions Deux points importants : les modèles atomiques seront des objets C++ le graphe de connexions, les initialisations et les observations des modèles seront dans un fichier XML : VPZ G. Quesnel (INRA) Cours VLE 21 / 73

25 Description du modèle atomique dans VLE Liens entre DEVS et VLE Définition Un modèle DEVS est représenté dans l environnement VLE comme un objet d une classe qui hérite de devs::dynamics Exemple avec un modèle inactif class ModeleInactif : public devs:: Dynamics // ModeleInactif hérite { // de devs::dynamics public: ModeleInactif(const graph:: AtomicModel& atom, // le constructeur const devs:: InitEventList& inits) : // obligatoire devs:: Dynamics(atom, inits) // à redefinir { } virtual ~ModeleInactif() // le destructeur obligatoire à { } // redéfinir }; G. Quesnel (INRA) Cours VLE 22 / 73

26 Description du modèle atomique dans VLE Liens entre DEVS et VLE Définition Un modèle DEVS est représenté dans l environnement VLE comme un objet d une classe qui hérite de devs::dynamics Exemple avec un modèle inactif class ModeleInactif : public devs:: Dynamics // ModeleInactif hérite { // de devs::dynamics public: ModeleInactif(const graph:: AtomicModel& atom, // le constructeur const devs:: InitEventList& inits) : // obligatoire devs:: Dynamics(atom, inits) // à redefinir { } virtual ~ModeleInactif() // le destructeur obligatoire à { } // redéfinir }; G. Quesnel (INRA) Cours VLE 22 / 73

27 Plan 4 Liens entre DEVS et VLE Comment développer un modèle atomique? 5 Comportement par défaut 6 Description de l API Description de l API du modèle atomique Description de l API des données 7 Spécificités VLE : Conditions & Observations G. Quesnel (INRA) Cours VLE 23 / 73

28 Description du modèle atomique dans VLE Comportement par défaut? idle Le modèle ne possède qu un seul état Résultat Par défaut, le modèle représenté par la classe devs::dynamics propose un comportement sans autonomie et sans réaction. Nous restons dans la philosophie objet, c-à-d. de spécialisation en héritant de cette classe pour l améliorer. G. Quesnel (INRA) Cours VLE 24 / 73

29 Description du modèle atomique dans VLE Comportement par défaut? idle ta = La durée dans cet unique état est infinie Résultat Par défaut, le modèle représenté par la classe devs::dynamics propose un comportement sans autonomie et sans réaction. Nous restons dans la philosophie objet, c-à-d. de spécialisation en héritant de cette classe pour l améliorer. G. Quesnel (INRA) Cours VLE 24 / 73

30 Description du modèle atomique dans VLE Comportement par défaut? idle ta = Y = Aucun événement externe n est pris en compte Résultat Par défaut, le modèle représenté par la classe devs::dynamics propose un comportement sans autonomie et sans réaction. Nous restons dans la philosophie objet, c-à-d. de spécialisation en héritant de cette classe pour l améliorer. G. Quesnel (INRA) Cours VLE 24 / 73

31 Description du modèle atomique dans VLE Comportement par défaut? idle ta = Y = Aucun événement externe n est pris en compte Résultat Par défaut, le modèle représenté par la classe devs::dynamics propose un comportement sans autonomie et sans réaction. Nous restons dans la philosophie objet, c-à-d. de spécialisation en héritant de cette classe pour l améliorer. G. Quesnel (INRA) Cours VLE 24 / 73

32 Plan 4 Liens entre DEVS et VLE Comment développer un modèle atomique? 5 Comportement par défaut 6 Description de l API Description de l API du modèle atomique Description de l API des données 7 Spécificités VLE : Conditions & Observations G. Quesnel (INRA) Cours VLE 25 / 73

33 Description de l API Description de l API : vle::dynamics DEVS = X, Y, S, init, δ int, δ ext, δ conf, λ, ta API vle::dynamics // les attributs du modèle private: double x; double y; State state; etc. Remarques Ces attributs ne sont modifiables que dans la fonction init, δ int et δ ext Tous les attributs sont possibles, types, classes etc. G. Quesnel (INRA) Cours VLE 26 / 73

34 Description de l API Description de l API : vle::dynamics DEVS = X, Y, S, init, δ int, δ ext, δ conf, λ, ta API vle::dynamics::init virtual devs:: Time devs:: Dynamics:: init( const devs:: Time& time); Remarques Appelée au démarrage de la simulation (une fois tous les modèles construits) Retourne la durée pendant laquelle le modèle reste dans l état initiale Par défaut, retourne une durée infinie G. Quesnel (INRA) Cours VLE 26 / 73

35 Description de l API Description de l API : vle::dynamics DEVS = X, Y, S, init, δ int, δ ext, δ conf, λ, ta API vle::dynamics::internaltransition virtual void devs:: Dynamics:: internaltransition( const devs:: Time& time); Remarques Appelée à l échéance d un ta et après λ Permet de modifier l état du modèle G. Quesnel (INRA) Cours VLE 26 / 73

36 Description de l API Description de l API : vle::dynamics DEVS = X, Y, S, init, δ int, δ ext, δ conf, λ, ta API vle::dynamics::externaltransition virtual void devs:: Dynamics:: externaltransition( const devs:: ExternalEventList& event, const devs:: Time& time); Remarques Appelée lorsque le modèle reçoit au moins un événement externe Permet de modifier l état du modèle La fonction de sortie λ n est pas appelée G. Quesnel (INRA) Cours VLE 26 / 73

37 Description de l API Description de l API : vle::dynamics DEVS = X, Y, S, init, δ int, δ ext, δ conf, λ, ta API vle::dynamics::confluenttransitions virtual devs:: EventType devs:: Dynamics:: confluenttransitions( const devs:: Time& time, const devs:: ExternalEventList& events) const; Remarques Appelée lorsqu une δ int et une δ ext ont lieu en même temps Fournit la possibilité de préférence sur la transition à effectuer en premier Retourne un élément d une énumération : INTERNAL ou EXTERNAL G. Quesnel (INRA) Cours VLE 26 / 73

38 Description de l API Description de l API : vle::dynamics DEVS = X, Y, S, init, δ int, δ ext, δ conf, λ, ta API vle::dynamics::output virtual void devs:: Dynamics:: output( const devs:: Time& time, devs:: ExternalEventList& output) const; Remarques Appelée après l échéance d un ta et avant une δ int Récupère dans le paramètre output des événements externes G. Quesnel (INRA) Cours VLE 26 / 73

39 Description de l API Description de l API : vle::dynamics DEVS = X, Y, S, init, δ int, δ ext, δ conf, λ, ta API vle::dynamics::timeadvance virtual devs:: Time devs:: Dynamics:: timeadvance() const; Remarques Appelée après les fonctions de transition δ int ou δ ext Retourne la durée pendant laquelle un modèle reste dans l état fourni par l appel à δ int ou δ ext Par défaut, retourne une durée infinie G. Quesnel (INRA) Cours VLE 26 / 73

40 Description de l API Description de l API : vle::dynamics DEVS = X, Y, S, init, δ int, δ ext, δ conf, λ, ta X et Y // X est disponible dans la fonction de transition interne void devs:: externaltransition( const devs:: Time& time, const devs:: ExternalEventList& events); // Y est disponible dans la fonction de sortie virtual void devs:: Dynamics:: output( const devs:: Time& time, devs:: ExternalEventList& output) const; G. Quesnel (INRA) Cours VLE 26 / 73

41 Description de l API Description de l API : vle::dynamics La classe vle::devs::dynamics possède une méthode rand() devs:: Time devs:: Dynamics:: init(const devs:: Time& time) { rand().get_bool(); // true, false } rand().get_int(); // [ [ rand(). get_int_rage(int begin, int end); // [begin.. end[ rand(). get_int_range_excluded(int begin, int end); // ]begin.. end[ rand().get_double(); // [0..1[ rand(). get_double_range(double begin, double end); // [begin.. end[ rand(). get_double_included (); // [0..1] rand(). get_double_included(double begin, double end); // [begin.. end] rand(). get_double_range_excluded(double begin, double end); rand(). normal(double standarddeviation, double average); rand(). log_normal(double standarddeviation, double average); rand(). von_mises(double kappa, double mu); G. Quesnel (INRA) Cours VLE 27 / 73

42 Description de l API Description de l API : vle::value VLE s appuie sur un système de données pour échanger des informations entre modèles et entre composants : la fonction λ doit retourner une liste d événements pouvant transporter des données la fonction δ ext reçoit une liste d événements pouvant transporter des données la fonction δ state doit envoyer une liste de données aux observateurs utilisation d une bibliothèque de données simple et souple G. Quesnel (INRA) Cours VLE 28 / 73

43 Description de l API Description de l API : vle::value map set composition de values table integer boolean tuple types composés value types simples double string xml FIG.: Les différentes values disponibles G. Quesnel (INRA) Cours VLE 29 / 73

44 Description de l API Description de l API : vle::value Quelques exemples value:: Boolean b = value:: BooleanFactory:: create(true); value:: Integer i = value:: IntegerFactory:: create (123); value:: Double d = value:: DoubleFactory:: create ( ); value:: String s = value:: StringFactory:: create("hello world!"); value:: Xml x = value:: XmlFactory:: create("hello world!); Toutes les données sont des value value:: Value i1 = value:: BooleanFactory:: create(true); value:: Value i2 = value:: IntegerFactory:: create (123); value:: Value i3 = value:: DoubleFactory:: create ( ); value:: Value i4 = value:: StringFactory:: create("hello world!"); value:: Value i5 = value:: XmlFactory:: create("hello world!); G. Quesnel (INRA) Cours VLE 30 / 73

45 Description de l API Description de l API : vle::value Comment traduire une value non typée vers la value typée value:: Boolean b = value:: tobooleanvalue(i1); value:: Integer i = value:: tointegervalue(i2); value:: Double d = value:: todoublevalue(i3); value:: String s = value:: tostringvalue(i4); value:: Xml x = value:: toxmlvalue(i5); Comment récupérer la donnée C++ cachée bool b = value:: toboolean(i1); int i = value:: tointeger(i2); double d = value:: todouble(i3); std:: string = value:: tostring(i4); std:: string = value:: toxml(i5); G. Quesnel (INRA) Cours VLE 31 / 73

46 Description de l API Description de l API : vle::value Les tableaux de value value:: Set s = value:: SetFactory:: create(); s->addvalue(value:: StringFactory("hello world!")); s->addvalue(value:: DoubleFactory ( )); value:: string vle_str = value:: tostringvalue(s->getvalue (0)); std:: string str = value:: tostring(vle_str); // str == "hello world!" value:: Double vle_int = value:: todoubevalue(s->getvalue (1)); double d = value:: todoublevalue(vle_int); // i == Il existe d autres méthodes : cf. doc. G. Quesnel (INRA) Cours VLE 32 / 73

47 Description de l API Description de l API : vle::value Les tableaux associatifs : (nom, value) value:: Map m = value:: MapFactory:: create(); m.addvalue("nom", value:: StringFactory:: create("toto")); m.addvalue("age", value:: IntegerFactory:: create (11)); m.addvalue("taille", value:: DoubleFactory:: create (1.40)); value:: Set s = value:: SetFactory:: create(); s->addvalue(value:: DoubleFactory (07.5)); s->addvalue(value:: DoubleFactory (11.0)); m.addvalue("notes", s); std:: string nom = value:: tostring(m. getvalue("nom")); int age = value:: tointeger(m. getvalue("age")); Il existe d autres méthodes : cf. doc. G. Quesnel (INRA) Cours VLE 33 / 73

48 Plan 4 Liens entre DEVS et VLE Comment développer un modèle atomique? 5 Comportement par défaut 6 Description de l API Description de l API du modèle atomique Description de l API des données 7 Spécificités VLE : Conditions & Observations G. Quesnel (INRA) Cours VLE 34 / 73

49 Spécificités VLE : Conditions & Observations Conditions & Observations Conditions un modèle possède des ports d initialisation les ports d initialisation possèdent des données les données sont définies en dehors du code source Observations un modèle possède des ports d observations les ports d observations sont connectés à des vues les vues sont connectées à des sorties fichiers, bd etc. M : disponible dans le constructeur du modèle δ obs : une fonction d observation G. Quesnel (INRA) Cours VLE 35 / 73

50 Spécificités VLE : Conditions & Observations Conditions expérimentales Définitions Une condition : un ensemble de (ports, valeurs) et un nom Cnd = nom, {(port, valeurs)} Un modèle : un ensemble de condition M = {Cnd} Conclusion Une même condition peut être appliquée à plusieurs modèles, par exemple, les automates cellulaires L ensemble des conditions d un modèle est disponible dans le constructeur de celui-ci G. Quesnel (INRA) Cours VLE 36 / 73

51 Spécificités VLE : Conditions & Observations Conditions expérimentales : exemples Exemples Une condition définissant une position et un label : Cnd pos = pos, {( x, ), ( y, 23.32), ( label, A )} Une condition définissant un tableau : Cnd array = val, {( val, {1, 2, 3, 4, 5, 6, 7, 8, 9, 0})} G. Quesnel (INRA) Cours VLE 37 / 73

52 Spécificités VLE : Conditions & Observations Conditions expérimentales : exemples Exemple d utilisation des conditions class Model : public devs:: Dynamics { public: ModeleInactif(const graph:: AtomicModel& atom, // le constructeur const devs:: InitEventList& inits) : // obligatoire devs:: Dynamics(atom, inits) // à redefinir { } }; double x = value:: todouble(inits.get("x")); // double y = value:: todouble(inits.get("y")); // std:: string label = value:: tostring(inits.get("label")); // "A" Tuple t = value:: totuplevalue(inits.get("val")); // 1, 2, 3,... G. Quesnel (INRA) Cours VLE 38 / 73

53 Spécificités VLE : Conditions & Observations Observations Comment définir de manière globale qui observer et comment? Définition Utilisation d un système de vues : une vue a un type : timed, event ou finish timed observations à pas de temps, nécessite un paramètre event observations à chaque changement d état du modèle finish observations à la fin de la simulation une vue est connectée à des fichiers de sorties, bases de données etc. les modèles ont des ports d observations un port d observation peut être connectée à une ou plusieurs vues G. Quesnel (INRA) Cours VLE 39 / 73

54 Spécificités VLE : Conditions & Observations Comment gérer les observations pour les modèles Exemple d observation class Model : public devs:: Dynamics { public:... value:: Value observation(const devs:: ObservationEvent& event) const { if (event.onport("state") { // retourne la donnée contenue dans la variable return value:: DoubleFactory:: create(rh); } return value:: Value(); } }; G. Quesnel (INRA) Cours VLE 40 / 73

55 Troisième partie III GVLE G. Quesnel (INRA) Cours VLE 41 / 73

56 Plan 8 Introduction 9 Description des boîtes de dialogues 10 Vidéos 11 Remarques G. Quesnel (INRA) Cours VLE 42 / 73

57 Introduction Interface graphique de modélisation DEVS GVLE Gui for the VLE Interface graphique de modélisation DEVS : Manipulation de la structures du modèle : ajouts, suppressions de modèles ou de connexions copier coller importation exportation Saisie les conditions expérimentales Saisie les modèles à observer Exécution de simulations Indépendante du noyau de simulation : S appuie sur les VFL Son rôle Cacher la manipulation des fichiers XML VPZ G. Quesnel (INRA) Cours VLE 43 / 73

58 Introduction Interface graphique de modélisation DEVS FIG.: L interface graphique GVLE - (Linux) G. Quesnel (INRA) Cours VLE 44 / 73

59 Plan 8 Introduction 9 Description des boîtes de dialogues 10 Vidéos 11 Remarques G. Quesnel (INRA) Cours VLE 45 / 73

60 Description des boîtes de dialogues Fenêtre principale Rôle de la palette d outils Rôle menu charge, sauve les projets sous forme de fichiers VPZ affiche, cache les fenêtres exécute les simulations Sélection de modèle atomique, ouverture de modèle couplés Ajout de modèles atomiques Ajout de connexions Ajout de modèle couplés Suppression d objets G. Quesnel (INRA) Cours VLE 46 / 73

61 Description des boîtes de dialogues Vue d un modèle couplé Rôle Montre le contenu d un modèle couplé (verts les modèles couplés) Importe un fichier VPZ Exporte ce modèle couplé dans un fichier VPZ En fonction de l outil sélectionné Sélection de modèle atomique, ouverture de modèle couplés, déplacement Ajout, suppression de modèles atomiques ou couplés, connexions G. Quesnel (INRA) Cours VLE 47 / 73

62 Description des boîtes de dialogues Hiérarchie de modèles Montre la hiérarchie de modèles Les feuilles : modèles atomiques Les nœuds : les modèles couplés Exporte ce modèle couplé dans un fichier VPZ G. Quesnel (INRA) Cours VLE 48 / 73

63 Plan 8 Introduction 9 Description des boîtes de dialogues 10 Vidéos 11 Remarques G. Quesnel (INRA) Cours VLE 49 / 73

64 Vidéos Introduction FIG.: Description rapide de l interface graphique de GVLE G. Quesnel (INRA) Cours VLE 50 / 73

65 Vidéos Création d un modèle atomique FIG.: Description de l ajout et de la configuration d un modèle atomique : ports d entrée, sortie, comportement, conditions expérimentales et observations G. Quesnel (INRA) Cours VLE 51 / 73

66 Vidéos Gestion de la hiérarchie de modèle FIG.: Description de la hiérarchie de modèles : création de modèles couplés, copier - coller, importation - exportation G. Quesnel (INRA) Cours VLE 52 / 73

67 Plan 8 Introduction 9 Description des boîtes de dialogues 10 Vidéos 11 Remarques G. Quesnel (INRA) Cours VLE 53 / 73

68 Conclusion Rapports de bogues / demandes GVLE est une interface récente qui comporte un lot de bogues et de fonctionnalités manquantes : Mailing lists : vle-users@lists.sourceforge.net Bug tracking system : Mais aussi : IRC : chat avec les utilisateurs et développeurs de VLE. vle.univ-littoral.fr port 9999 G. Quesnel (INRA) Cours VLE 54 / 73

69 Quatrième partie IV Exemple complet G. Quesnel (INRA) Cours VLE 55 / 73

70 Plan 12 Exerice 1 TP0 13 Générateur et compteur G. Quesnel (INRA) Cours VLE 56 / 73

71 Exemple complet Exemple basé sur l exercice 1 du TP0 Pour rappel, le graphe d états du modèle DEVS : init idle ta = 0 ta = 1 Remarques Deux états : INIT et IDLE INIT : une durée de 0 unité de temps IDLE : une durée de 1 unité de temps Une transition immédiate entre INIT et IDLE Une transition de IDLE à IDLE Pas de sortie Aucune gestion des événements externes G. Quesnel (INRA) Cours VLE 57 / 73

72 Exemple complet Exemple basé sur l exercice 1 du TP0 Arborescence du dossier tp0 le dossier racine Remarques reserve.cpp le fichier source C++ du modèle réservoir CMakeLists.txt le fichier cmake de compilation (fourni) Le nom de la bibliothèque dynamique sera celle du dossier : libtp0.so ou tp0.dll $ cmake -DCMAKE_INSTALL_PREFIX=$HOME/usr $ make install $ cmake -G "MinGW Makefiles" \ -DCMAKE_INSTALL_PREFIX ="% HOMEDRIVE%% HOMEPATH%\\ vle" $ mingw32 -make install G. Quesnel (INRA) Cours VLE 58 / 73

73 Exemple complet Constructeur et destructeur S = (RH) Constructeur et destructeur class Reserve : public class devs:: Dynamics { double RH; public: Reserve(const graph:: AtomicModel& atom, const devs:: InitEventList& event) : devs:: Dynamics(atom, event) { } virtual ~Reserve() { } }; G. Quesnel (INRA) Cours VLE 59 / 73

74 Exemple complet Fonction init δ init () = (100.0) ta(init) = 0.0 Fonction init virtual devs:: Time init(const devs:: Time& time) { RH = 100.0; return 0; } G. Quesnel (INRA) Cours VLE 60 / 73

75 Exemple complet Fonction d avancement du temps ta(idle) = 1.0; Fonction d avancement du temps virtual devs:: Time timeadvance() const { return 1; } G. Quesnel (INRA) Cours VLE 61 / 73

76 Exemple complet Fonction de transition interne δ int ((RH + in flow out flow 0)) : S(RH) = (RH + in flow out flow ) δ int ((RH + in flow out flow < 0)) : S(RH) = 0 Fonction de transition interne virtual internaltransition(const devs:: Time& time) { double value = RH ; if (RH < 0) { RH = 0; } else { RH = value; } } G. Quesnel (INRA) Cours VLE 62 / 73

77 Exemple complet Observons le modèle Nous autorisons l observation de la variable RH sur les événements posés sur le port d état «state» Observation virtual value:: value observation( const devs:: ObservationEvent& event) const { if (event.onport("state")) { return value:: DoubleFactory:: create(rh); } } // Si le modèle est questionné sur un autre port, nous // ne fournissons aucune information return value:: Value(); G. Quesnel (INRA) Cours VLE 63 / 73

78 Exemple complet Paramétrons le modèle depuis le VPZ // À la fin du fichier, nous déclarons le modèle via la commande : DECLARE_NAMED_DYNAMICS(nom1, Reserve); Où : nom1 est une chaîne de caractères qui identifie le modèle Reserve Reserve le nom de la classe G. Quesnel (INRA) Cours VLE 64 / 73

79 Exemple complet Le fichier Vpz G. Quesnel (INRA) Cours VLE 65 / 73

80 Exemple complet Le fichier Vpz G. Quesnel (INRA) Cours VLE 65 / 73

81 Exemple complet Le fichier Vpz G. Quesnel (INRA) Cours VLE 65 / 73

82 Exemple complet Le fichier Vpz G. Quesnel (INRA) Cours VLE 65 / 73

83 Exemple complet Le fichier Vpz G. Quesnel (INRA) Cours VLE 65 / 73

84 Exemple complet Le fichier Vpz G. Quesnel (INRA) Cours VLE 65 / 73

85 Exemple complet Paramétrons le modèle depuis le VPZ Modifions le modèle pour prendre en compte des paramètres extérieurs : RH init : la réserve d eau in flow : l apport à chaque pas de temps out flow : la perte à chaque pas de temps class Reserve : public class devs:: Dynamics { double RH, RHinit, inflow, outflow; public: Reserve(const graph:: AtomicModel& atom, const devs:: InitEventList& events) : devs:: Dynamics(atom, event) { RHinit = utils:: todouble(events.get("rhinit")); inflow = utils:: todouble(events.get("inflow")); outflow = utils:: todouble(events.get("outflow")); } G. Quesnel (INRA) Cours VLE 66 / 73

86 Exemple complet Paramétrons le modèle depuis le VPZ Modification des fonctions init et transition interne virtual devs:: Time init(const devs:: Time& time) { RH = RHinit; return 0; } virtual internaltransition(const devs:: Time& time) { double value = RH + inflow - outflow; if (RH < 0) { RH = value; } else { RH = 0; } } G. Quesnel (INRA) Cours VLE 67 / 73

87 Exemple complet Le fichier Vpz G. Quesnel (INRA) Cours VLE 68 / 73

88 Exemple complet Le fichier Vpz G. Quesnel (INRA) Cours VLE 68 / 73

89 Exemple complet Compilation et exécution $ cd reservoire $ cmake -DCMAKE_INSTALL_PREFIX=$HOME/usr $ make install $ vle reservoir.vpz JustRun: run 1 simples simulations in one thread [equation.vpz] - Open file...: ok - Coordinator load models...: ok - Clean project file...: ok - Coordinator initializing...: ok - Simulation run...: ok - Coordinator cleaning...: ok Win32 $ cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX="%HOMEDRIVE%%HOMEPATH%\vle" $ mingw32-make install G. Quesnel (INRA) Cours VLE 69 / 73

90 Plan 12 Exerice 1 TP0 13 Générateur et compteur G. Quesnel (INRA) Cours VLE 70 / 73

91 Exemple complet Fonction de sortie λ : Y beep =, Y x = {( x, 10.1 )}, Y pos = {( x, 10.1), ( y, 10.2)} Fonction de sortie virtual void Generateur::output(const devs::time& time, const ExternalEventList& output) { output.addevent(buildevent("beep")); output.addevent(buildeventwithadouble("portx", "x", 10.1)); devs::externalevent* evt = new devs::externalevent("pos"); evt «attribute("x", 10.1) «attribute("y", 10.2); output.addevent(evt); } G. Quesnel (INRA) Cours VLE 71 / 73

92 Exemple complet Fonction de sortie λ : Y beep =, Y x = {( x, 10.1 )}, Y pos = {( x, 10.1), ( y, 10.2)} Fonction de sortie virtual void Generateur::output(const devs::time& time, const ExternalEventList& output) { output.addevent(buildevent("beep")); output.addevent(buildeventwithadouble("portx", "x", 10.1)); devs::externalevent* evt = new devs::externalevent("pos"); evt «attribute("x", 10.1) «attribute("y", 10.2); output.addevent(evt); } G. Quesnel (INRA) Cours VLE 71 / 73

93 Exemple complet Fonction de sortie λ : Y beep =, Y x = {( x, 10.1 )}, Y pos = {( x, 10.1), ( y, 10.2)} Fonction de sortie virtual void Generateur::output(const devs::time& time, const ExternalEventList& output) { output.addevent(buildevent("beep")); output.addevent(buildeventwithadouble("portx", "x", 10.1)); devs::externalevent* evt = new devs::externalevent("pos"); evt «attribute("x", 10.1) «attribute("y", 10.2); output.addevent(evt); } G. Quesnel (INRA) Cours VLE 71 / 73

94 Exemple complet Fonction de transition externe virtual void Compteur:: externalevent(const devs:: Time& time, const devs:: ExternalEventList& events) { for (const devs:: ExternalEventList:: const_iterator it = events.begin(); it!= events.end(); ++it) { if ((*it)->onport("in")) { // récupère {("x", 10.1), ("y", 10.2)} double x = (*it)->getdoubleattributevalue("x"); double y = (*it)->getdoubleattributevalue("x"); } } // test si l événement vient d un modèle nommé " generateur" if ((* it)->getsourcemodelname() == " generateur") {... } } // events est un tableau d événement externes usigned int sz = events.size(); for (unsigned int i = 0; i < 0; ++i) {... } G. Quesnel (INRA) Cours VLE 72 / 73

95 Cours environnement VLE 0.6 Auteurs Gauthier Quesnel Licence Copyright (C) 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". G. Quesnel (INRA) Cours VLE 73 / 73

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base... Système d'exploitation Sommaire Introduction...3 Objectif...3 Manipulations...3 Gestion des utilisateurs et des groupes...4 Introduction...4 Les fichiers de base...4 Quelques commandes d'administration...5

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Installation et compilation de gnurbs sous Windows

Installation et compilation de gnurbs sous Windows Installation et compilation de gnurbs sous Windows Installation de l environnement de développement Code::Blocks (Environnement de développement) 1. Télécharger l installateur de Code::Blocks (version

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO

Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO Chris Lorenz Adaptation française:

Plus en détail

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Configurer la supervision pour une base MS SQL Server Viadéis Services

Configurer la supervision pour une base MS SQL Server Viadéis Services Configurer la supervision pour une base MS SQL Server Référence : 11588 Version N : 2.2 : Créé par : Téléphone : 0811 656 002 Sommaire 1. Création utilisateur MS SQL Server... 3 2. Configuration de l accès

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5 Système d'exploitation Sommaire Introduction...3 Objectif...3 Manipulations...3 La Sauvegarde...4 Les différents types...4 Planification...4 Les outils...5 Quelques commandes...5 La commande tar...5 La

Plus en détail

Avant-propos. VERSION 20021216 Compilation du document à l aide de PDFLATEX Philippe Charlier. 1 Version actuelle : SPIP 1.5 2 http ://www.uzine.

Avant-propos. VERSION 20021216 Compilation du document à l aide de PDFLATEX Philippe Charlier. 1 Version actuelle : SPIP 1.5 2 http ://www.uzine. Avant-propos SPIP 1 est le système de publication développé par le minirézo pour la gestion du site uzine 2. Nous le livrons à chacun, sous licence libre (GPL). Vous pouvez donc l utiliser librement pour

Plus en détail

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes

Plus en détail

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Alexandre Buge Epitech 5 Promo 2004. Soutenance de stage du 01/03/2004 au 31/08/2004

Alexandre Buge Epitech 5 Promo 2004. Soutenance de stage du 01/03/2004 au 31/08/2004 Alexandre Buge Epitech 5 Promo 2004 Soutenance de stage du 01/03/2004 au 31/08/2004 15 Septembre 2004 Sommaire 1 Introduction : présentation de l entreprise 2 Développement au sein de Skyrecon Les API

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under

Plus en détail

Votre premier projet Android

Votre premier projet Android 3 Votre premier projet Android Maintenant que le SDK Android est installé, il est temps de créer votre premier projet. La bonne nouvelle est qu il n exige aucune ligne de code les outils Android créent

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Convers3 Documentation version 3.07. Par Eric DAVID : vtopo@free.fr

Convers3 Documentation version 3.07. Par Eric DAVID : vtopo@free.fr Convers3 Documentation version 3.07 Par Eric DAVID : vtopo@free.fr 1 INSTALLATION DE CONVERS... 2 2 UTILISATION DE CONVERS... 2 2.1 FENETRE PRINCIPALE... 2 2.1.1 Convention de saisie et d affichage des

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

Programmation avec des objets : Cours 7. Menu du jour

Programmation avec des objets : Cours 7. Menu du jour 1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes

Plus en détail

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Langage HTML Copyright 2010 tv Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any

Plus en détail

Manuel d'exploitation de l'application Vitamin version 1.0

Manuel d'exploitation de l'application Vitamin version 1.0 Manuel d'exploitation de l'application Vitamin version 1.0 Ce document a pour but de décrire les procédures d'exploitation de l application Vitamin Manuel d'exploitation de l'application vitamin, version

Plus en détail

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry. : Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1 SysCom - CReSTIC Université de Reims 17/02/2011 1 Motivation Gestion des expérimentations Avec les workflows Simulation Simulation des Systèmes Distribués ANR USS SimGrid Campagne de Test et gestion de

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Serveur DNS et DHCP couplé à LDAP Debian GNU/Linux

Serveur DNS et DHCP couplé à LDAP Debian GNU/Linux Serveur DNS et DHCP couplé à LDAP Debian GNU/Linux Matthieu Vogelweith 13 janvier 2009 Résumé L objectif de ce document est de détailler l installation d un serveur d infrastructure (DNS et DHCP) complet

Plus en détail

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition Surveillance de Scripts LUA et de réception d EVENT avec LoriotPro Extended & Broadcast Edition L objectif de ce document est de présenter une solution de surveillance de processus LUA au sein de la solution

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

Plus en détail

.NET - Classe de Log

.NET - Classe de Log .NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de

Plus en détail

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

Plus en détail

Tutoriel QSOS. Version 2.0-13/02/2013

Tutoriel QSOS. Version 2.0-13/02/2013 Version 2.0-13/02/2013 1 Table des matières 1 Note de licence 4 2 Historique des modifications 4 3 Introduction 4 4 Gérer les templates 4 4.1 Généralités sur les templates.................... 4 4.2 Créer

Plus en détail

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013 Rendu Temps Réel - OpenGL 4 et compute shaders December 18, 2013 résumé des épisodes précédents... création des objets opengl, organisation des données, configuration du pipeline, draw,... opengl 4.3 :

Plus en détail

Construire des plug-ins pour SAS Management Console SAS 9.1

Construire des plug-ins pour SAS Management Console SAS 9.1 Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION

Plus en détail

Cours de Programmation 2

Cours de Programmation 2 Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes

Plus en détail

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Tous les logiciels cités dans ce document sont des marques déposées de leurs propriétaires respectifs

Tous les logiciels cités dans ce document sont des marques déposées de leurs propriétaires respectifs * / VHUYHX 3UR[ :LQ*DWH,QVWDOODWLRQ &RQILJXUDWLR + GH,-, HUYLFH, :LQ*DWH &RQILJXUDWLRQ. GH. DSSOLFDWLRQ. FOLHQWHV FKULVWRSKHFDURQ#HGXFDJULIU! "# $&%' ( ) Tous les logiciels cités dans ce document sont

Plus en détail

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

Plus en détail

Guide d installation de SugarCRM Open Source version 4.5.1

Guide d installation de SugarCRM Open Source version 4.5.1 Guide d installation de SugarCRM Open Source version 4.5.1 Version 1.0.2 Mentions légales Mentions légales Ce document est susceptible de modification à tout moment sans notification. Disclaimer / Responsabilité

Plus en détail

Apprendre Java et C++ avec NetBeans

Apprendre Java et C++ avec NetBeans E Apprendre Java et C++ avec NetBeans Généralités Est-ce le titre d un nouvel ouvrage? Pourquoi pas! NetBeans fait son apparition dans cette édition car un module, permettant d éditer et de compiler du

Plus en détail

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper

Plus en détail

Listes de validation dans OpenOffice Calc

Listes de validation dans OpenOffice Calc Listes de validation dans OpenOffice Calc Révision [n 0.2] 05/08/04 Réalisé avec : OOo 1.1.1 Plate-forme / Os : Toutes Distribué par le projet Fr.OpenOffice.org Table des Matières 1 But de ce how-to...3

Plus en détail

Paginer les données côté serveur, mettre en cache côté client

Paginer les données côté serveur, mettre en cache côté client Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule

Plus en détail

Déploiement OOo en environnement Windows Terminal Server

Déploiement OOo en environnement Windows Terminal Server Déploiement OOo en environnement Windows Terminal Server Version 1.00 du 10.12.2004 Réalisé avec : OOo 1.1.3 Plate-forme / Os : Microsoft Windows Distribué par le projet fr.openoffice.org Sommaire 1 Introduction...3

Plus en détail

Génération de code binaire pour application multimedia : une approche au vol

Génération de code binaire pour application multimedia : une approche au vol Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s) Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)

Plus en détail

Exporter des écritures. Importer des écritures. Depuis EBP Comptabilité. www.ebp.com

Exporter des écritures. Importer des écritures. Depuis EBP Comptabilité. www.ebp.com Coala Comptabilité (Ecritures) Depuis EBP Comptabilité Accédez à l option du Sélectionnez Transmettre des données à votre expert comptable (ou à votre client). Cochez la case Dossier complet si vous souhaitez

Plus en détail

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7 Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12 GTK+ GLADE Page 1 sur 12 SOMMAIRE INTRO 3 Présentation de GTK+ 3 Présentation de GLADE 3 GTK+ 4 Installation 4 Les Widgets 4 Le système de hiérarchie 5 Les signaux 6 GLADE 7 Installation 7 L interface

Plus en détail

Maarch V1.4 http://www.maarch.org

Maarch V1.4 http://www.maarch.org COLD (factures clients) Maarch Professional Services Maarch PS anime le développement d un produit d archivage open source : http://www.maarch.org Guide de visite COLD (factures clients) VERSION DATE ACTEUR

Plus en détail

Organiser les informations ( approche technique )

Organiser les informations ( approche technique ) Organiser les informations ( approche technique ) Introduction : Le stockage des informations est une fonctionnalité essentielle de l outil informatique, qui permet de garantir la pérennité des informations,

Plus en détail

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

Java Licence Professionnelle CISII, 2009-2010

Java Licence Professionnelle CISII, 2009-2010 Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub pierre-andre.sunier@he-arc.ch http://lgl.isnetne.ch/

Plus en détail

pythonocc: une plateforme de développement agile d applications CAO.

pythonocc: une plateforme de développement agile d applications CAO. pythonocc: une plateforme de développement agile d applications CAO. PyConFR 2009 Cité des Sciences et de l Industrie, Paris Thomas Paviot*, Jelle Feringa* *pythonocc project: tpaviot@gmail.com; jelleferinga@gmail.com

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Manuel du client de bureau distant de KDE

Manuel du client de bureau distant de KDE Manuel du client de bureau distant de KDE Brad Hards Urs Wolfer Traduction française : Joëlle Cornavin Traduction française : Yann Neveu Relecture de la documentation française : Ludovic Grossard 2 Table

Plus en détail

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC

Plus en détail

Testez votre installation. Créer un répertoire vide

Testez votre installation. Créer un répertoire vide http://www.gnu.org/software/dejagnu/ Exposé sur DejaGNU Sommaire Présentation 1 Comment l obtenir.. 1 Comment obtenir la documentation 1 Comment çà marche 1 Remarque 5 Présentation DejaGnu est un système

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Création d objet imbriqué sous PowerShell.

Création d objet imbriqué sous PowerShell. Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.

Plus en détail

Tutoriel code::blocks

Tutoriel code::blocks Tutoriel code::blocks E. Lunéville 2006 Le logiciel code::blocks fait partie des logiciels de type EDI (Environnement de Développement Intégré, IDE en anglais) pour le langage C++. Il est multiplateforme

Plus en détail

D E S C R I P T I O N D E S É L É M E N T S C L E F S D ' U I M A

D E S C R I P T I O N D E S É L É M E N T S C L E F S D ' U I M A UIMA UIMA (Unstructured Information Management Architecture) est un framework de développement et de déploiement d'applications de traitement des données non structurées. Lancé par IBM, et maintenant en

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Manuel du Desktop Sharing

Manuel du Desktop Sharing Brad Hards Traduction française : Ludovic Grossard Traduction française : Damien Raude-Morvan Traduction française : Joseph Richard 2 Table des matières 1 Introduction 5 2 Le protocole de mémoire de trame

Plus en détail

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux Distribué par Le Projet Documentation d'openoffice.org Table of Contents 1) Préambule...3 2) Télécharger

Plus en détail

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr 4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Q-Checker pour V6 Release 2.1

Q-Checker pour V6 Release 2.1 Q-Checker pour V6 Release 2.1 Guide d installation Erstellt am 2014-06-24 Conventions dans le manuel Marquages ATTENTION signale qu une action peut avoir des conséquences indésirables, tel que perte de

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

Eclipse atelier Java

Eclipse atelier Java Eclipse atelier Java Table des matières 1. Introduction...2 2. Télécharger eclipse...3 3. Installer eclipse...3 4. Premier lancement d eclipse...3 5. Configurer eclipse pour faire du Java...5 6. Développer

Plus en détail

Rapport de Mini-Projet en ArcGIS Engine

Rapport de Mini-Projet en ArcGIS Engine Rapport de Mini-Projet en ArcGIS Engine Réalisée par : Asmae BENMESSAOUD 3ème Année Cycle d Ingénieur Géoinformation Année Universitaire 2010- Sommaire 1 Introduction L analyse géographique et la visualisation

Plus en détail

Programme Compte bancaire (code)

Programme Compte bancaire (code) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public

Plus en détail

Plateforme PAYZEN. Définition de Web-services

Plateforme PAYZEN. Définition de Web-services Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network

Plus en détail

SERVEUR DÉDIÉ DOCUMENTATION

SERVEUR DÉDIÉ DOCUMENTATION SERVEUR DÉDIÉ DOCUMENTATION Release 5.0.6.0 19 Juillet 2013 Copyright 2013 GIANTS Software GmbH, All Rights Reserved. 1/9 CHANGE LOG Correction de bug divers (5.0.6.0) Ajout d une option de relance automatique

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur

Plus en détail

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Serveur d'archivage 2007 Installation et utilisation de la BD exist Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier

Plus en détail