Tamago: Une plateforme pour des comportements
|
|
|
- Antonin Gagnon
- il y a 10 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
OCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon [email protected] Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
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
Types 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
La 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
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/
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 [email protected]
Exclusion Mutuelle. Arnaud Labourel Courriel : [email protected]. Université de Provence. 9 février 2011
Arnaud Labourel Courriel : [email protected] Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique
Programmation MacOSX / ios
Programmation MacOSX / ios Master Ingénierie Informatique 2011-2012 Jean-Baptiste.Yunè[email protected] deux extensions objets de C : C++ (Stroustrup) Objective-C (Cox & Love) ajout de constructions à
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
Formula 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
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
Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <[email protected]> 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
Traduction 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
Elasticité 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
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
Java Naming and Directory Interface
Introduction Java Naming and Directory Interface Gaël Thomas [email protected] Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard
Langage 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
JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry [email protected].
: Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry [email protected] Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA
Analyse,, 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
Les 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
basé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
Lambda! 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
Formation 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
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
Composants 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
Plan. Tests. 1. Introduction. 1. Introduction
Plan Tests Lionel Seinturier Université des Sciences et Technologies de Lille [email protected] 28/11/06 Tests 1 Lionel Seinturier Tests 2 Lionel Seinturier Objectifs du test de programmes Détecter
Auto-é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
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/
Forthcoming 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
Patrons 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
Environnements de développement (intégrés)
Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut [email protected] http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Vulgarisation 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
Projet de Veille Technologique
Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines ([email protected]) Dr. MAHMOUDI Ramzi ([email protected]) TEST Sommaire Programmation JavaCard Les prérequis...
Alfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: [email protected] Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Diplô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
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
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
Gé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...
Mé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
Prise 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 [email protected] Action RASC Plan de cet exposé Contexte Motivations
TD/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
Introduction 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
Introduction à 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
J2SE 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
WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM [email protected].
WEB15 IBM Software for Business Process Management un offre complète et modulaire Alain DARMON consultant avant-vente BPM [email protected] Claude Perrin ECM Client Technical Professional Manager
Structure 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
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
Java 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
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
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
Introduction aux systèmes temps réel. Iulian Ober IRIT [email protected]
Introduction aux systèmes temps réel Iulian Ober IRIT [email protected] Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans
Intégration de l interface graphique de Ptidej dans Eclipse
Intégration de l interface graphique de Ptidej dans Eclipse Driton Salihu ([email protected]) Lulzim Laloshi ([email protected]) Département d informatique et de recherche opérationnelle
Projet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont [email protected] 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
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
Programmation 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
Initiation à JAVA et à la programmation objet. [email protected]
Initiation à JAVA et à la programmation objet [email protected] 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
Cours 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
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...
Utilisation 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
Cours 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é
Dé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,
IFT2255 : 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
Pré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 /
Classes 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.
Ingé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 [email protected]
Programme 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
Web 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
Cours 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
É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
Gé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
Mercredi 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 [email protected] 02 38 64 26 41 Architecture Il est
Cours 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
Vé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
Introduction 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
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 [email protected] 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 [email protected] 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Programmation 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
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
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
Dé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...............................................
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
Plan. 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
Plateforme 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
SQL 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
Solutions 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,
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
Polymorphisme, 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....
L 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
HÉ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
Environnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut [email protected] http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Table 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
Certification 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
Pré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
Le 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
SQL 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
Info0604 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
CATALOGUE 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
Cré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
Projet 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
