Tamago: Une plateforme pour des comportements
|
|
- Antonin Gagnon
- il y a 8 ans
- Total affichages :
Transcription
1 Tamago: Une plateforme pour des comportements d agent sûre Séminaire DESIR Hakim Belhaouari Encadrant: Frederic Peschanski Laboratoire d Informatique de Paris 6 & UMPC Paris Universitas Equipe SMA 18 février /33
2 Plan 1 Introduction Conception par contrat 2 Langages des contrats 3 Compilation des contrats Héritage des contrats Produit synchronisé 4 Monitoring Runtime Verification Evolution du comportement Performance 5 Analyses de Contrat Animation Symbolique Génération de Tests 6 Conclusion 2/33
3 Introduction 1 Introduction Conception par contrat 2 Langages des contrats 3 Compilation des contrats Héritage des contrats Produit synchronisé 4 Monitoring Runtime Verification Evolution du comportement Performance 5 Analyses de Contrat Animation Symbolique Génération de Tests 6 Conclusion 3/33
4 Introduction Idée générale Importance de l ingénierie logicielle dans les SMA, n est plus à montrer[briot06]! On s interesse aux agents correspondant aux critères de MALEVA [Meurisse01] : 1 décomposition en comportement 2 1 agent = 1 composant 3 1 agent = 1 composite (assemblage de composants plus élémentaire) Definition (Comportement) Un comportement représente un traitement (autonome et modulaire) au niveau de l implémentation de l agent. 4/33
5 Introduction Agent Comportement Contrat Tamago CDL Effecteurs Senseurs Plateforme Tamago 5/33
6 Introduction Le Composant Definition (Composant [Szyperski02]) Un composant suit trois règles : 1 représente l unité de composition 2 connait ces dépendances et ces besoins 3 peut-être déployé indépendamment Interface Requise Interface Fournie Composant 6/33
7 Introduction Le Composite Definition (Composite [Szyperski02]) Un composite est un composant qui contient une architecture interne de composant. L architecture interne suit le principe d information hiding. S2 Composant1 Composant2 S1 S3 Composant3 7/33
8 Introduction Conception par contrat Conception par contrat Introduit par Meyer dans le langage Eiffel (Design By Contract), dans le but de concrétiser l accord entre l appelant et l appelé [Meyer97] : 1 invariant : fixe des conditions sur l entité 2 precondition : pré-requis pour appeler une méthode (client) 3 postcondition : validation de l appel sur l état (fournisseur) = Si l appelant remplit sa part du contrat, alors l appelé doit lui aussi remplir sa part. Lightweight Formal Methods Mieux vaut sous-spécifier que pas du tout Plus les contrats seront précis, plus sûre sera l application 8/33
9 Introduction Conception par contrat Plateforme Tamago Design Time Implementation Test Case Generation (Tamago Test) Symbolic Interpretation (Tamago Check) Structural Analysis (Tamago StaticCheck) Contract Specification (Tamago CDL) Skeleton/Containers (Java Interfaces/Classes) Contract Compilation (Tamago CC) Implementations (Java Interfaces/Classes) Tamago Contract Monitoring Selection of Percolation pattern JDK (>1.5) Tamago API Runtime Deploy Time Client Provider 9/33
10 Langages des contrats 1 Introduction Conception par contrat 2 Langages des contrats 3 Compilation des contrats Héritage des contrats Produit synchronisé 4 Monitoring Runtime Verification Evolution du comportement Performance 5 Analyses de Contrat Animation Symbolique Génération de Tests 6 Conclusion 10/33
11 Langages des contrats Langages des contrats Principe d ingénierie, on sépare le contrat (public) de(s) l implantation(s) (privée). Description des contrats interface standard (signature des méthodes) Logique du premier ordre Description d un automate gouvernant l activation des méthodes automate finis déterministe transition augmentée gestion de l héritage via la plateforme 11/33
12 Langages des contrats Exemple : Robot component Robot { property int x ; property int y ; property string name ; property bool die ; invariant name null fail no name ; invariant ( x >= 0) ( y >= 0) ; provide service Agent module maleva ; require service Sensors module maleva ; require service Effectors module maleva ; voidmove(int dx, int dy) { pre (dx + x) 0 (dy + y) 0 ; post x = (dx + x@pre) y = (dy + y@pre) ; } behavior { init state live ; states { state live { allow move ; } ; state die { } ; } transitions { transition from live to die with move when die ; } } } 12/33
13 Compilation des contrats 1 Introduction Conception par contrat 2 Langages des contrats 3 Compilation des contrats Héritage des contrats Produit synchronisé 4 Monitoring Runtime Verification Evolution du comportement Performance 5 Analyses de Contrat Animation Symbolique Génération de Tests 6 Conclusion 13/33
14 Compilation des contrats Héritage des contrats Héritage des contrats Definition Raffinement Garantit aussi bien la subsomption, que le behavioral subtyping, vis-à-vis des super-contrats. mis en place par un mot-clé unique refine garder les comportements enrichir les contrats hérités (percolation pattern) 14/33
15 Compilation des contrats Produit synchronisé Produit Synchronisé Definition Produit synchronisé Fusionner tous les automates hérités en un unique automates. Pourquoi? Pour des raisons : optimisation concurrence 15/33
16 Compilation des contrats Produit synchronisé Exemple : Produit Synchronisé move live die move<die> 16/33
17 Compilation des contrats Produit synchronisé Exemple : Produit Synchronisé move live die + opt release debug move<die> verbose 16/33
18 Compilation des contrats Produit synchronisé Exemple : Produit Synchronisé move live die + opt release debug move<die> verbose = opt live/release live/debug verbose move<die> move<die> opt die/release die/debug verbose 16/33
19 Monitoring 1 Introduction Conception par contrat 2 Langages des contrats 3 Compilation des contrats Héritage des contrats Produit synchronisé 4 Monitoring Runtime Verification Evolution du comportement Performance 5 Analyses de Contrat Animation Symbolique Génération de Tests 6 Conclusion 17/33
20 Monitoring générée les contrats ne sont pas injecté dans le code. approche à conteneur hiérarchique Conteneur Spécifique à un type Spécifique pour une tâche particulière Interface de base générée automatiquement 18/33
21 Monitoring générée Tamago framework «Interface» Service «Interface» Component core_set(o : Prop): void «Interface» Container isbind() : boolean bind(label : string, o : Obj) : void «Service Interface» MyService +funct1(o : Object) : boolean +funct2(x : real) : void provides requires «Component Interface» MyComponent +funct3(i : int) : int delegates MyComponentImpl * provider implementation * «Container Interface» Abstract_Container -delegate: MyComponent «Container» Concrete_Container1 +getdescription(): String «Container» Concrete_Container2 +check(): boolean 19/33
22 Monitoring Runtime Verification à l exécution «Component Interface» MyComponent «Container» BehaviorManager -state: State -delegate: MyComponent # isactivate(id : MID): boolean Client «Container Interface» Container... «Container» ContractChecker -delegate: MyComponent... delegates delegates MyComponentImpl * provider implementation * Par défaut : un conteneur pour vérifier l automate un conteneur pour vérifier les assertions 20/33
23 Monitoring Evolution du comportement Evolution Definition (Evolution) Changement du comportement des agents : nouvelle façon de penser (implémentation) extension de certains traits Trois modes d évolution : 1 Hot-swapping : modification du code métier 2 Reconfiguration : modification des contrats 3 Interception/Extension des conteneurs et de leur utilité. 21/33
24 Monitoring Evolution du comportement Evolution : modification du code métier Signification Modification de son comportement sans changer son contrat. capacite de l implémentation optimisation dans l utilisation des ressources Tâches réalisées par la plateforme : 1 Bloque l accès au composant 2 Sauvegarde les propriétés observables 3 Affecte les nouvelles valeurs au nouveau composant 4 Redirection des binds vers le nouveau composant = impose des contraintes sur la nouvelle implémentation 22/33
25 Monitoring Evolution du comportement Evolution : Reconfiguration 1 Consiste à changer les indirections dans la chaîne des conteneurs. 2 Pas encore implémenter Problèmes Ré-activation des conteneurs? cas de la vérification d automate. Compatibilité avec l ancien contrat 23/33
26 Monitoring Evolution du comportement Evolution : Interception/Extension Correspond à ajouter un conteneur dans la chaîne de conteneur Exemple : QoS Ajout d un conteneur mesurant l overhead des contrats, ainsi que les temps d exécution. Conteneur indépendant entre-eux Tâche à réaliser rapidement 24/33
27 Monitoring Performance Performance Candidat : JML, jcontractor, STClass. Critère profondeur d héritage quantité de condition (largeur des contrats) (ms) jcontractor Tamago JML STClass 1 (depth) (ms) STClass Tamago 0 (breadth) /33
28 Analyses de Contrat 1 Introduction Conception par contrat 2 Langages des contrats 3 Compilation des contrats Héritage des contrats Produit synchronisé 4 Monitoring Runtime Verification Evolution du comportement Performance 5 Analyses de Contrat Animation Symbolique Génération de Tests 6 Conclusion 26/33
29 Analyses de Contrat Animation Symbolique Animation Symbolique But Détecter les erreurs sémantiques ou les inconsistences du contrat. Principes Ne touche pas au code anime le contrat en suivant le comportement spécifié : précondition : impose certain domaine aux propriétés postcondition : joue le rôle d effecteur pour la prochaine étape minimise les domaines grâce à un solveur CSP découverte/injection de points fixes (problème de terminaison) 27/33
30 Analyses de Contrat Génération de Tests Génération de Tests But Détecter les erreurs au niveau du code d implémentation, vis-à-vis du contrat qu il fournit. Principes Similaire à l animation symbolique Génère des scénarii de test depuis l automate Se base sur des solutions de solveur de contrainte CSP Permet de choisir la stratégie de test Exécute les tests online ou offline 28/33
31 Analyses de Contrat Génération de Tests précondition : contraintes sur les arguments (forme normale disjonctive) postcondition : oracle Problème de génération : cas de test erroné 1 s aider de l animation pour inférer des valeurs plus cohérente 2 embarquer dans le harnais de test la condition effective Exemple [move] : pre (dx + x) 0 (dy + y) 0 ; Contraintes : 1 (dx + x) 0 avec x [0; + [ (via invariant) 2 (dy + y) 0 avec x [0; + [ (via invariant) = instancie : dx = 34 dy = /33
32 Conclusion 1 Introduction Conception par contrat 2 Langages des contrats 3 Compilation des contrats Héritage des contrats Produit synchronisé 4 Monitoring Runtime Verification Evolution du comportement Performance 5 Analyses de Contrat Animation Symbolique Génération de Tests 6 Conclusion 30/33
33 Conclusion Conclusion Contribution Méthodologie de conception d architecture sûre Hautement automatisé grâce à la plateforme Extraction de plus ample information grâce aux contrats Continuation sur : 1 Extraire propriété depuis les contrats (tautologie,... ) 2 Analyses de contrat (génération de tests,... ) 3 Etendre le langage à d autres problèmes (concurrence) 31/33
34 Conclusion Bibliographie I Bertrand Meyer. Object-Oriented Software Construction. Prentice Hall, Clemens Szyperski. Component Software : Beyond Object-Oriented Programming Addison-Wesley, 2002 Jean-Pierre Briot and Thomas Meurisse and Frédéric Peschanski Architectural Design of Component-Based Agents : A Behavior-Based Approach PROMAS, /33
35 Conclusion Bibliographie II Thomas Meurisse and Jean-Pierre Briot Une approche à base de composants pour la conception d agents TSI - Hermes, Avril /33
Cours Composant 2. Qualité logicielle et spécications algébriques
UPMC Paris Universitas Master Informatique STL Cours Composant 2. Qualité logicielle et spécications algébriques c 2005-2008 Frédéric Peschanski UPMC Paris Universitas 24 février 2008 c 2005-2008 Frédéric
Plus en détailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailObjets 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étailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailLa plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle
La plate-forme DIMA Master 1 IMA COLI23 - Université de La Rochelle DIMA Bref aperçu Qu'est-ce? Acronyme de «Développement et Implémentation de Systèmes Multi-Agents» Initié par Zahia Guessoum et Jean-Pierre
Plus en détailCours 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étailLangage 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étailExclusion 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étailProgrammation MacOSX / ios
Programmation MacOSX / ios Master Ingénierie Informatique 2011-2012 Jean-Baptiste.Yunès@liafa.jussieu.fr deux extensions objets de C : C++ (Stroustrup) Objective-C (Cox & Love) ajout de constructions à
Plus en détailTP1 : 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étailFormula Negator, Outil de négation de formule.
Formula Negator, Outil de négation de formule. Aymerick Savary 1,2, Mathieu Lassale 1,2, Jean-Louis Lanet 1 et Marc Frappier 2 1 Université de Limoges 2 Université de Sherbrooke Résumé. Cet article présente
Plus en détailChapitre 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étailFormation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Plus en détailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Plus en détailElasticité logicielle pour optimiser l empreinte énergétique
Ecole des Mines de Nantes Elasticité logicielle pour optimiser l empreinte énergétique Thomas Ledoux (équipe Ascola, INRIA-EMN, LINA) direction des études décembre 2010 page 1 Relation logiciel empreinte
Plus en détailQuelques 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étailJava Naming and Directory Interface
Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard
Plus en détailLangage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2
Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD
Plus en détailJADE : 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étailAnalyse,, Conception des Systèmes Informatiques
Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance
Plus en détailLes BRMS Business Rules Management System. Groupe GENITECH
Les BRMS Business Rules Management System 1 Présentations Emmanuel Bonnet ebonnet (at) genigraph.fr Responsable Dpt Conseil Consultant, Expert BRMS Formateur IBM/Ilog JRules / JBoss Rules Génigraph SSII
Plus en détailbasée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Plus en détailLambda! Rémi Forax Univ Paris-Est Marne-la-Vallée
Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant
Plus en détailFormation Symantec Veritas Cluster Server 6.x pour Unix
La Pédagogie au service de la Technologie TECHNOLOGIE Formation Symantec Veritas Cluster Server 6.x pour Unix Objectif >> A la fin de ce cours, les stagiaires seront à même d effectuer les tâches suivantes
Plus en détailIntroduction à 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étailComposants Logiciels. Le modèle de composant de CORBA. Plan
Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA
Plus en détailPlan. Tests. 1. Introduction. 1. Introduction
Plan Tests Lionel Seinturier Université des Sciences et Technologies de Lille Lionel.Seinturier@lifl.fr 28/11/06 Tests 1 Lionel Seinturier Tests 2 Lionel Seinturier Objectifs du test de programmes Détecter
Plus en détailAuto-évaluation Aperçu de l architecture Java EE
Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU
Plus en détailServeur 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étailForthcoming Database
DISS.ETH NO. 15802 Forthcoming Database A Framework Approach for Data Visualization Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of
Plus en détailPatrons de Conception (Design Patterns)
Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailVulgarisation Java EE Java EE, c est quoi?
Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards
Plus en détailProjet de Veille Technologique
Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...
Plus en détailAlfstore 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étailDiplôme Européen de III ème cycle en Systèmes d'information!"" #!$%& ' (
$%&)"& Diplôme Européen de III ème cycle en Systèmes d'information!"" #!$%& ' ( 2002-2003 * #& % Introduction... 1 Contexte et motivation... 1 Objectif du Travail... 2 Partie I: Etat de l'art 1. Chapitre1
Plus en détailBases 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étailOpenPaaS 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étailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailMétriques de performance pour les algorithmes et programmes parallèles
Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and
Plus en détailPrise en compte des ressources dans les composants logiciels parallèles
Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations
Plus en détailTD/TP 1 Introduction au SDK d Android
TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition
Plus en détailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailIntroduction à LDAP et à Active Directory... 15. Étude de cas... 37
Introduction à LDAP et à Active Directory... 15 Généralité sur l annuaire et LDAP... 16 Qu est-ce qu un annuaire?... 16 Un peu d histoire sur le protocole... 16 LDAP version 2 et version 3... 17 Le standard
Plus en détailJ2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation
J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread
Plus en détailFribourg. Une démarche de spécification, de. d applications à base de services Web auto-adaptables*
Journée de l'action ADAPT à Fribourg Une démarche de spécification, de conception et de développement d applications à base de services Web auto-adaptables* t Riadh Ben Halima, Karim Guennoun, Khalil Drira
Plus en détailWEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM alain.darmon@fr.ibm.
WEB15 IBM Software for Business Process Management un offre complète et modulaire Alain DARMON consultant avant-vente BPM alain.darmon@fr.ibm.com Claude Perrin ECM Client Technical Professional Manager
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailRAPPELS 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étailJava et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
Plus en détailExceptions. 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étailCours 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étailIntroduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr
Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans
Plus en détailIntégration de l interface graphique de Ptidej dans Eclipse
Intégration de l interface graphique de Ptidej dans Eclipse Driton Salihu (salihudr@iro.umontreal.ca) Lulzim Laloshi (laloshil@iro.umontreal.ca) Département d informatique et de recherche opérationnelle
Plus en détailProjet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
Plus en détailIntroduction à 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étailProgrammation Objet Java Correction
INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le
Plus en détailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailCré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étailUtilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
Plus en détailCours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Plus en détailDéveloppement d un interpréteur OCL pour une machine virtuelle UML.
ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,
Plus en détailIFT2255 : Génie logiciel
IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti
Plus en détailPrésentation Alfresco
Présentation d un CMS : Alfresco Présentation Alfresco Ludovic Plantin, Frédéric Sénèque, Xu Zhao Polytech Grenoble Décembre 2008 Plantin, Sénèque, Xu (Polytech) Présentation Alfresco Décembre 2008 1 /
Plus en détailClasses et Objets en Ocaml.
Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.
Plus en détailIngénierie des Modèles. Méta-modélisation
Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr
Plus en détailProgramme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence
É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions
Plus en détailWeb Tier : déploiement de servlets
Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation
Plus en détailCours de Master Recherche
Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction
Plus en détailÉlasticité des applications à base de services dans le Cloud
1/40 Élasticité des applications à base de services dans le Cloud Mourad Amziani 12 Tarek Melliti 1 Samir Tata 2 1 IBISC, EA4526, Université d'évry Val-d'Essonne, Évry, France 2 UMR CNRS Samovar, Institut
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailThèse. présentée à. L Université Pierre& Marie Curie- Paris VI. envue de l obtention du titre de. Docteur de l Université Pierre& Marie Curie
Thèse présentée à L Université Pierre& Marie Curie- Paris VI envue de l obtention du titre de Docteur de l Université Pierre& Marie Curie Spécialité Informatique par Alain OZANNE Sujetde lathèse : Interact:
Plus en détailMercredi 15 Janvier 2014
De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information loic.thomas@anteagroup.com 02 38 64 26 41 Architecture Il est
Plus en détailCours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr
Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine
Plus en détailVérification formelle de la plate-forme Java Card
Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations
Plus en détailIntroduction aux Machines Virtuelles avec VMKit
Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime
Plus en détailLa 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étailProgrammation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006
vendredi 8 septembre 2006 Programmation d'agents intelligents Vers une refonte des fils de raisonnement Stage de fin d'études Master IAD 2006 Benjamin DEVEZE Responsable : M. Patrick TAILLIBERT Plan Plan
Plus en détailS T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction - 2007, Frédéric Peschanski
S T L - C P S - L e s p l u g i n s E c l i p s e - Une Introduction - 2007, Frédéric Peschanski L a p l a t e f o r m e E c l i p s e Aperçu de la plateforme Eclipse Runtime Composants OSGI Equinoxe Plugins
Plus en détailDébuter avec EXPRESS. Alain Plantec. 1 Schema 2
Débuter avec EXPRESS Alain Plantec Table des matières 1 Schema 2 2 Entité 2 2.1 Attributs simples................................................ 2 2.2 Attributs collection...............................................
Plus en détailHé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étailPlan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml
OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire
Plus en détailPlateforme IoT flexible et configurable:
Plateforme IoT flexible et configurable: Vers une intégration automatisée de dispositifs communicants Journée Capteurs connectés 2015 Prof. Nabil Ouerhani, HE-Arc Yverdon-les-Bains, 19.11.2014 Plan de
Plus en détailSQL Parser XML Xquery : Approche de détection des injections SQL
SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des
Plus en détailSolutions informatiques (SI) Semestre 1
Solutions informatiques (SI) Cette unité vise l acquisition de compétences générales à partir desquelles sont construites les compétences propres aux parcours de spécialisation. Elle comprend, d une part,
Plus en détail1-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étailPolymorphisme, la classe Object, les package et la visibilité en Java... 1
Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....
Plus en détailL application doit être validée et l infrastructure informatique doit être qualifiée.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 Annexe 11: Systèmes informatisés
Plus en détailHÉBERGEMENT CLOUD & SERVICES MANAGÉS
HÉBERGEMENT CLOUD & SERVICES MANAGÉS Pour éditeurs, intégrateurs et entreprises Qui sommes-nous? Présentation Aspaway Septembre 0 Sommaire PARTIE : Qui sommes-nous? PARTIE : Description de notre offre
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailTable des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Plus en détailCertification de l assemblage de composants dans le développement de logiciels critiques
Certification de l assemblage de composants dans le développement de logiciels critiques Philippe Baufreton 1, Emmanuel Chailloux 2, Jean-Louis Dufour 1, Grégoire Henry 3, Pascal Manoury 3, Etienne Millon
Plus en détailPréparer un état de l art
Préparer un état de l art Khalil DRIRA LAAS-CNRS, Toulouse Unité de recherche ReDCAD École Nationale d ingénieurs de Sfax Étude de l état de l art? Une étude ciblée, approfondie et critique des travaux
Plus en détailLe Cloud Computing et le SI : Offre et différentiateurs Microsoft
Le Cloud Computing désigne ces giga-ressources matérielles et logicielles situées «dans les nuages» dans le sens où elles sont accessibles via Internet. Alors pourquoi recourir à ces centres serveurs en
Plus en détailSQL Server 2012 et SQL Server 2014
SQL Server 2012 et SQL Server 2014 Principales fonctions SQL Server 2012 est le système de gestion de base de données de Microsoft. Il intègre un moteur relationnel, un outil d extraction et de transformation
Plus en détailInfo0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java
Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan
Plus en détailCATALOGUE FORMATION. Product Lifecycle Management. Juin 2013
CATALOGUE FORMATION Product Lifecycle Management Juin 2013 s de formation ENOVIA V6 ENOVIA V6 Plateforme Collaborative 5 ENOVIA V6 Installation et Administration 9 ENOVIA V6 Implémentation et Développement
Plus en détailCréation et Gestion des tables
Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5
Plus en détailProjet de développement
Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application
Plus en détail