Un Survol des Méthodes Formelles pour Java Card TM

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

Download "Un Survol des Méthodes Formelles pour Java Card TM"

Transcription

1 Réunion PROGSI : Sécurité Java Card TM Un Survol des Méthodes Formelles pour Java Card TM d.rouillardserma.com sauveronlabri.fr 21 novembre 2002

2 Plan L architecture Java Card : vue générale des aspects ciblés. Projets orientés plate-forme : prouver des propriétés liées au langage et la JCVM (typage, gestion mémoire, BCV). Projets orientés applications : prouver qu un programme particulier satisfait des propriétés données (invariants sur les données, séquencement des transactions). Page 2

3 L architecture Java Card Station de travail (hors carte) Carte Firewall Niveau Applicatif Java Card Applet A (Paquetage 1) Applet B (Paquetage 1) Applet C (Paquetage 2) Installateur Fichier(s) exp Fichier(s) class Fichier exp Fichier CAP APIs spécifiques à l industrie (OP,...) APIs Java Card Niveau Applicatif Java Card Communication I/O Classes systèmes Gestion des Transactions Gestion des Applets et divers Niveau JCVM Convertisseur Interpréteur Niveau JCVM JCRE Bibliothèque native nécessaire à Java Card Programme d installation Bibliothèque native Composants systèmes Niveau Applicatif Natif CAD Communication I/O Gestion de la mémoire Divers Processeur Niveau Hardware Hardware & OS natif Page 3

4 Projets orientés plate-forme Le projet CertiCartes (Inria Sophia-Antipolis : G. Barthe, G. Dufay, B. Serpette...) Formalisation du langage de bytecode en C oq. Le projet Bali (Münich : G. Klein, T.Nipkow,...) Formalisation du langage JavaCard en I sabelle. Ces projets sont inclus dans VerifiCard. (Université de Nijmegen, INRIA, Universités de Münich et Kaiserslautern, Swedish Institute of Computer Science, SchlumbergerSema.) Page 4

5 Bali et CertiCartes s appuient sur un assistant de preuve (logique d ordre supérieur). Définition de types et de constantes : type primitif, accès, classe, methode, programme... Preuve de lemmes. Des techniques pour prouver plus facilement des propriétés : règles de réécritures, règles de raisonnement. Page 5

6 Le projet Certicard Contient une formalisation de la plate-forme au niveau bytecode. formalisation d un programme (format CAP). formalisation de la machine virtuelle embarquée. formalisation des instructions et leur sémantique (opérationnelle). Page 6

7 Formalisation d un programme R e c o r d j c p r o g r a m : S e t : = { c l a s s e s : ( l i s t C l a s s ) ; m e t h o d s : ( l i s t M e t h o d ) ; i n t e r f a c e s : ( l i s t I n t e r f a c e ) }. R e c o r d I n t e r f a c e : S e t : = { s t a t u s s h a r e a b l e : b o o l ; s u p e r _ i n t : ( l i s t c a p _ i n t e r f _ i d x ) ; I n t _ i d : c a p _ i n t e r f _ i d x }. R e c o r d M e t h o d : S e t : = { s i g n a t u r e : ( s i g n a t u r e _ t y p e t y p e ) ; l o c a l : n a t ; b y t e c o d e : ( l i s t I n s t r u c t i o n ) ; s t a t u s s t a t i c : b o o l ; h a n d l e r _ l i s t : ( l i s t h a n d l e r _ t y p e ) ; m e t h o d _ i d : c a p _ m e t h o d _ i d x ; o w n e r : c a p _ c l a s s _ i d x }. Page 7

8 Formalisation de la JCVM D e f i n i t i o n j c v m _ s t a t e : = s t a t i c _ h e a p h e a p s t a c k. I n d u c t i v e o b j : S e t : = I n s t a n c e : t y p e _ i n s t a n c e > o b j A r r a y : t y p e _ a r r a y > o b j. D e f i n i t i o n h e a p : = ( l i s t o b j ). D e f i n i t i o n s t a t i c _ h e a p : = ( l i s t v a l u ). D e f i n i t i o n s t a c k : = ( l i s t f r a m e ). Page 8

9 Formalisation des instructions j c v m _ s t a t e o p e r a n d s > r e t u r n e d _ s t a t e I n d u c t i v e r e t u r n e d _ s t a t e : Set := N o r m a l : j c v m _ s t a t e >r e t u r n e d _ s t a t e A b n o r m a l : xcpt >j c v m _ s t a t e >r e t u r n e d _ s t a t e. D e f i n i t i o n NOP : = [ s t a t e : j c v m _ s t a t e ] C a s e s s t a t e of ( sh, ( hp, ( ( cons h lf ) as s ))) = > ( u p d a t e _ f r a m e ( u p d a t e _ p c ( S ( p _ c o u n t h ) ) h ) s t a t e ) _ => ( A b o r t C o d e s t a t e _ e r r o r s t a t e ) end. Page 9

10 Application de Certicard Description et vérification d un vérificateur de bytecode (BCV). A démontrer : A tout point du programme, les variables locales et les opérandes de pile sont correctement typées pour l instruction à exécuter. Ce qui est prouvé : Le BCV termine. Si la vérification de bytecodes est un succès AbortCode ne sera pas appelée. Page 10

11 Application de Bali p a c k a g e j a v a _ l a n g p u b l i c i n t e r f a c e H a s F o o { } p u b l i c B a s e f o o ( B a s e z ) ; p u b l i c c l a s s B a s e i m p l e m e n t s H a s F o o { s t a t i c b o o l e a n a r r [ ] = n e w b o o l e a n [ 2 ] ; p u b l i c H a s F o o v e e ; p u b l i c B a s e f o o ( B a s e z ) { r e t u r n z ; } } p u b l i c c l a s s E x t e x t e n d s B a s e { p u b l i c i n t v e e ; p u b l i c E x t f o o ( B a s e z ) { ( ( E x t ) z ). v e e = 1 ; r e t u r n n u l l ; } } BaseCl :: class "BaseCl == ( access=public, cfields=[(arr, ( access=public,static=true,type=primt Boolean.[] )), (vee, ( access=public,static=false,type=iface HasFoo ))], methods=[base_foo], init=expr(arr_viewed_from Base Base :=New (PrimT Boolean)[Lit (Intg 2)]), super=object, superifs=[hasfoo] )" Page 11

12 Exemples de propriétés p a c k a g e j a v a _ l a n g p u b l i c i n t e r f a c e H a s F o o { } p u b l i c B a s e f o o ( B a s e z ) ; p u b l i c c l a s s B a s e i m p l e m e n t s H a s F o o { s t a t i c b o o l e a n a r r [ ] = n e w b o o l e a n [ 2 ] ; p u b l i c H a s F o o v e e ; p u b l i c B a s e f o o ( B a s e z ) { r e t u r n z ; } } p u b l i c c l a s s E x t e x t e n d s B a s e { p u b l i c i n t v e e ; p u b l i c E x t f o o ( B a s e z ) { ( ( E x t ) z ). v e e = 1 ; r e t u r n n u l l ; } } 1. La seule interface est HasFoo 2. foo est déclarée dans Ext 3. Ext foo surcharge Base foo Page 12

13 A quoi cela peut-il donc servir? Évaluation de plate-forme : prouver la correction de certains aspects (BCV, firewall, transaction) en établissant une abstraction avec la formalisation de référence. complexe à mettre en oeuvre sans outil (projet Jakarta) Évaluation d application : un compilateur.cap jcprogram est fourni par le projet Jakarta. des outils de traduction spécification théories I sabelle/c oq reste à identifier les propriétés à vérifier et le niveau le plus approprié : solde 0 ; min val max ; vérification de type énuméré. Page 13

14 Projets orientés applications Extended Static Checker ESC/Java (Compaq System Research Center) vérifie à la compilation les assertions ESC/Java ou JML JML : Java Modeling Language (Université de l Iowa) compilateur LOOP (Université de Nijmegen) traduit le code annoté en JML PVS ou Isabelle). projet Bandera un langage de spécification des propriétés (logique temporelle) des outils pour extraire un modèle à état fini à partir des programmes. un langage d abstraction et un moteur d abstraction. JavaPathFinder. Page 14

15 JML : Java Modeling Language Développé par l université de l état de l Iowa. Il permet d exprimer des assertions à inclure dans le code Java en spécifiant, par exemple : les pré-conditions et post-conditions, les invariants, etc. Se rapproche de Eiffel (vérification à l exécution pour le debug) et de l approche Design by Contract. Super ensemble de ESC/Java. Utilisation = annotation du source Java ou Java Card précédée de // ou entourée par /* et */ directement dans le.java ou dans un fichier.jml Page 15

16 JML : Java Modeling Language Préconditions et Postconditions en JML / normal behavior r e q u i r e s : < precondition >; ensures : < p o s t c o n d i t i o n >; / Exitence des quantificateurs universels (\forall) existentiels (\exist) Page 16

17 JML : Java Modeling Language Traitement des exceptions / b e h a v i o r r e q u i r e s : < precondition >; ensures : <p o s t c o n d i t i o n >; s i g n a l s : ( Exception1 ) < condition1 >;... s i g n a l s : ( Exceptionn ) < conditionn >; / normal_behavior = behavior avec signals: (java.lang.exception) false; Page 17

18 JML : Java Modeling Language invariant et modifiable Pour la classe APDU (Application Protocol Data Unit), voici un invariant / i n v a r i a n t : b u f f e r!= n u l l && b u f f e r. l e n g t h == APDU.BUFFERSIZE; / modifiable:x spécifie qu une méthode peut changer seulement le champ x. Page 18

19 JML : Java Modeling Language modifiable p u b l i c s t a t i c n a t i v e byte a r r a y C o m p a r e ( byte [ ] src, s h o r t srcoff, byte [ ] dest, s h o r t destoff, s h o r t l e n g t h ) t h r o w s A r r a y I n d e x O u t O f B o u n d s E x c e p t i o n, N u l l P o i n t e r E x c e p t i o n ; / normal behavior r e q u i r e s : s r c!= n u l l && d e s t!= n u l l && s r c O f f >= 0 && d e s t O f f >= 0 && l e n g t h >= 0 && s r c O f f + l e n g t h <= s r c. l e n g t h && d e s t O f f + l e n g t h <= d e s t. l e n g t h ; m o d i f i a b l e : \ nothing ; ensures : t r u e / Page 19

20 JML : Java Modeling Language modifiable p u b l i c s t a t i c n a t i v e s h o r t a r r a y C o p y ( byte [ ] src, s h o r t srcoff, t h r o w s A r r a y I n d e x O u t O f B o u n d s E x c e p t i o n, / b e h a v i o r byte [ ] dest, s h o r t destoff, s h o r t l e n g t h ) N u l l P o i n t e r E x c e p t i o n, T r a n s a c t i o n E x c e p t i o n ; r e q u i r e s : s r c!= n u l l && d e s t!= n u l l && s r c O f f >= 0 && d e s t O f f >= 0 && l e n g t h >= 0 && s r c O f f + l e n g t h <= s r c. l e n g t h && d e s t O f f + l e n g t h <= d e s t. l e n g t h ; m o d i f i a b l e : d e s t [ d e s t O f f.. d e s t O f f+l e n g t h 1]; ensures : t r u e ; s i g n a l s : ( TransactionException ) t r u e ; / Page 20

21 JML : Java Modeling Language Exemple 1 setincomingandreceive 2 receivebytes 3 setoutgoinglength 4 sendbytes setoutgoing setoutgoingnochaining 5 setoutgoinglength 6 sendbytes setoutgoingandsend 7 // p u b l i c model i n t APDU state ; // p u b l i c i n v a r i a n t : 1 <= APDU state && APDU state <= 7; // p u b l i c model i n t Lr ; Page 21

22 JML : Java Modeling Language Exemple p u b l i c s h o r t s e t I n c o m i n g A n d R e c e i v e ( ) t h r o w s A P D U E x c e p t i o n ; / p u b l i c b e h a v i o r r e q u i r e s : APDU state == 1; m o d i f i a b l e : APDU state, b u f f e r [5..5+\ r e s u l t 1]; ensures : APDU state == 2 && ( data r e c e i v e d in b u f f e r [5..5+ \ r e s u l t 1 ] ) ; s i g n a l s : ( APDUException ) t r u e ; / Page 22

23 JML : Java Modeling Language Exemple p u b l i c s h o r t r e c e i v e B y t e s ( s h o r t boff ) t h r o w s A P D U E x c e p t i o n ; / p u b l i c b e h a v i o r r e q u i r e s : APDU state == 2 && 0 <= boff && boff+g e t I n B l o c k S i z e () <= BUFFERSIZE; m o d i f i a b l e : APDU state, b u f f e r [ boff.. boff+\r e s u l t 1]; ensures : APDU state == 2 && 0 <= \ r e s u l t && boff+\ r e s u l t <= BUFFERSIZE && ( data r e c e i v e d in b u f f e r [ boff.. boff+\r e s u l t 1 ] ) ; s i g n a l s : ( APDUException ) t r u e ; / Page 23

24 JML : Java Modeling Language Exemple p u b l i c s h o r t s e t O u t g o i n g ( ) t h r o w s A P D U E x c e p t i o n ; / p u b l i c b e h a v i o r r e q u i r e s : APDU state = = 1 APDU state == 2; m o d i f i a b l e : APDU state ; ensures : APDU state == 3; s i g n a l s : ( APDUException ) t r u e ; / Page 24

25 JML : Java Modeling Language Exemple p u b l i c void s e t O u t g o i n g L e n g t h ( s h o r t len ) t h r o w s A P D U E x c e p t i o n ; / p u b l i c b e h a v i o r r e q u i r e s : ( APDU state == 3 && 0 <= l e n && l e n <= 256) ( APDU state == 5 && 0 <= l e n && l e n <= getoutblocksize () 2); m o d i f i a b l e : APDU state, Lr ; ensures : APDU state == \ o l d ( APDU state)+1 && Lr == l e n ; s i g n a l s : ( APDUException ) t r u e ; / Page 25

26 JML : Java Modeling Language Résultats sur l ADPU A permis de redécouvrir des idées de design de la classe qui avaient disparues dans les spécifications informelles. A permis de lever des problèmes dans l implémentation de référence. A permis de rendre plus compréhensible les spécifications informelles. Page 26

27 Annexe R e c o r d f r a m e : S e t : = { ( o p e r a n d s t a c k ) o p s t a c k : ( l i s t v a l u ) ; ( l o c a l v a r i a b l e s ) l o c v a r s : ( l i s t v a l u ) ; ( l o c a t i o n o f t h e m e t h o d ) m e t h o d _ l o c : c a p _ m e t h o d _ i d x ; ( c o n t e x t i n f o r m a t i o n ) c o n t e x t _ r e f : P a c k a g e ; ( w h e t h e r t h e m e t h o d i s b e i n g a n a l y z e d ) a n a l y z e d : b o o l ; ( p r o g r a m c o u n t e r ) p _ c o u n t : b y t e c o d e _ i d x }. Page 27

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

Vérification formelle de la plate-forme Java Card

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

Plus en détail

La carte à puce. Jean-Philippe Babau

La carte à puce. Jean-Philippe Babau La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus

Plus en détail

Vérification formelle de la plate-forme Java Card

Vérification formelle de la plate-forme Java Card UNIVERSITÉ DE NICE - SOPHIA ANTIPOLIS École Doctorale STIC UFR Sciences THÈSE pour obtenir le titre de Docteur en Sciences de l Université de Nice - Sophia Antipolis Spécialité : Informatique présentée

Plus en détail

Projet de Veille Technologique

Projet 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étail

Vulgarisation Java EE Java EE, c est quoi?

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

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

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

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

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! #!$%& ' ( $%&)"& 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étail

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

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

Formula Negator, Outil de négation de formule.

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

Plus en détail

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut

Plus en détail

Automatic generation of vulnerability tests for the Java Card byte code verifier

Automatic generation of vulnerability tests for the Java Card byte code verifier Automatic generation of vulnerability tests for the Java Card byte code verifier Aymerick Savary GRIL, Département Informatique, Université de Sherbrooke, Québec, Canada Email: aymerick.savary@usherbrooke.ca

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

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Compromission d une application bancaire JavaCard par attaque logicielle

Compromission d une application bancaire JavaCard par attaque logicielle Compromission d une application bancaire JavaCard par attaque logicielle Julien Lancia SERMA Technologies, CESTI, 30, avenue Gustave Eiffel 33600 Pessac, France j.lancia(@)serma.com Résumé Les plateformes

Plus en détail

Évaluation de l injection de code malicieux dans une Java Card

Évaluation de l injection de code malicieux dans une Java Card Évaluation de l injection de code malicieux dans une Java Card Julien Iguchi-Cartigny, Jean-Louis Lanet {julien.cartigny,jean-louis.lanet}(@)unilim.fr XLIM/DMI/SSD 83 rue d Isle 87000 Limoges Résumé Nous

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

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

F. Barthélemy. 17 mai 2005

F. Barthélemy. 17 mai 2005 Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

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 et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

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

Plus en détail

Java - la plateforme

Java - la plateforme Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)

Plus en détail

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis

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

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

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

Introduction aux Machines Virtuelles avec VMKit

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

Plus en détail

OCL - Object Constraint Language

OCL - 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étail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Machines Virtuelles. et bazard autour. Rémi Forax

Machines Virtuelles. et bazard autour. Rémi Forax Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

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

Plus en détail

Java c est quoi? Java pourquoi?

Java c est quoi? Java pourquoi? Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail

Prise en compte des ressources dans les composants logiciels parallèles

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 Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations

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

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

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

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

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

Rappels d architecture

Rappels d architecture Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée

Plus en détail

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

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

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

Perspectives d'utilisation du serveur web embarqué dans la carte à puce Java Card 3

Perspectives d'utilisation du serveur web embarqué dans la carte à puce Java Card 3 MajecSTIC 2010 Bordeaux, France, du 13 au 15 octobre 2010 Perspectives d'utilisation du serveur web embarqué dans la carte à puce Java Card 3 Nassima KAMEL, Jean louis LANET, Julien Igouchi CARTIGNY, Matthieu

Plus en détail

Rapport de certification ANSSI-CC-PP-2010/07 du profil de protection «Java Card System Closed Configuration» (PP-JCS-Closed-v2.

Rapport de certification ANSSI-CC-PP-2010/07 du profil de protection «Java Card System Closed Configuration» (PP-JCS-Closed-v2. PREMIER MINISTRE Secrétariat général de la défense et de la sécurité nationale Agence nationale de la sécurité des systèmes d'information Rapport de certification ANSSI-CC-PP-2010/07 du profil de protection

Plus en détail

Derrière toi Une machine virtuelle!

Derrière toi Une machine virtuelle! Derrière toi Une machine virtuelle! Yann-Gaël Guéhéneuc guehene@emn.fr École des Mines de Nantes, France Object Technology International Inc., Canada D où ça vient? Calculatrice Machine de Turing 1936

Plus en détail

SGDN. Projet: JAVASEC

SGDN. Projet: JAVASEC SGDN Projet: JAVASEC Type : rapport d étude Rapport d étude sur le langage Java Référence : JAVASEC_NTE_001 Nb pages : 227 Date : 14 octobre 2009 TABLE DES MATIÈRES 1 Introduction 8 1.1 Objet du document................................

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

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

Des réels aux flottants : préservation automatique de preuves de stabilité de Lyapunov

Des réels aux flottants : préservation automatique de preuves de stabilité de Lyapunov Des réels aux flottants : préservation automatique de preuves de stabilité de Lyapunov Olivier Hermant et Vivien Maisonneuve CRI, MINES ParisTech, PSL Research University prenom.nom@mines-paristech.fr

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

JaCarTA : un framework d exploit Java Card

JaCarTA : un framework d exploit Java Card JaCarTA : un framework d exploit Java Card Julien Lancia (j.lancia@serma.com) Abstract: Dans le domaine des cartes à puce, et plus précisément en ce qui concerne les plateformes Java Card, de nouvelles

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

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

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Machines virtuelles fonctionnelles (suite) Compilation ML Java Machines virtuelles fonctionnelles (suite) Compilation ML Java Cours de Compilation Avancée (MI190) Benjamin Canou Université Pierre et Maire Curie Année 2011/2012 Semaine 3 Machines virtuelles fonctionnelles

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche 1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de

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

Traitement de données

Traitement de données Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

Groupe Eyrolles, 2004, ISBN : 2-212-11274-2

Groupe Eyrolles, 2004, ISBN : 2-212-11274-2 Groupe Eyrolles, 2004, ISBN : 2-212-11274-2 Table des matières Remerciements.................................................. Avant-propos.................................................... Structure

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

Classes et Objets en Ocaml.

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.

Plus en détail

Corrigé des exercices sur les références

Corrigé des exercices sur les références Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

Thème 3 Conception et vérification d architectures de systèmes sur puce

Thème 3 Conception et vérification d architectures de systèmes sur puce Thème 3 Conception et vérification d architectures de systèmes sur puce Conception et simulation Frédéric Pétrot Vérification Laurence Pierre Conception et vérification d architectures de systèmes sur

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion GenDbg : un débogueur générique Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion 2008 Qui sommes nous? Centre d électronique de l Armement (CELAR) Maîtrise et protection

Plus en détail

Applet pour visualiser les variables «automate» notifiées

Applet pour visualiser les variables «automate» notifiées Applet pour visualiser les variables «automate» notifiées Sommaire 1. Introduction...2 2. Lecture de variables «automate» notifiées...2 2.1. IHM servant au test :...2 2.2. Codage de l'applet :...2 3. Codage

Plus en détail

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free. 2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement

Plus en détail

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

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

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

& collaborative workspace. the new multitouch CONNECT & SHARE COLLABORATE BETTER & DECIDE FASTER CREATE & INNOVATE SAVE & TAKE THE DATA WITH YOU

& collaborative workspace. the new multitouch CONNECT & SHARE COLLABORATE BETTER & DECIDE FASTER CREATE & INNOVATE SAVE & TAKE THE DATA WITH YOU CONNECT & SHARE COLLABORATE BETTER & DECIDE FASTER SAVE & TAKE THE DATA WITH YOU CREATE & INNOVATE the new multitouch & collaborative workspace O1 Connect & Share O2 Create & Innovate O3 Collaborate better

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

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 UNIVERISTE MOHAMMED PREMIER Faculté des Sciences d Oujda Oujda - Maroc Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 Pr. El Mostafa DAOUDI Département de Mathématiques

Plus en détail

Modèles système, modèles logiciel et modèles de code dans les applications spatiales

Modèles système, modèles logiciel et modèles de code dans les applications spatiales GÉNIE LOGICIEL N o 97 JUIN 2011 Modèles système, modèles logiciel et modèles de code dans les applications spatiales É RIC C ONQUET, FRANÇOIS-XAVIER D ORMOY, IULIA D RAGOMIR, A LAIN L E G UENNEC, DAVID

Plus en détail

Introduction 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 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é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

Génie Logiciel avec Ada. 4 février 2013

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

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

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

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

Chapitre 2 : Abstraction et Virtualisation Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et

Plus en détail

Java 1.5 : principales nouveautés

Java 1.5 : principales nouveautés Cours 6 - TEP - UPMC - 2008/2009 p. 1/34 Java 1.5 : principales nouveautés classes paramétrées : generics encapsulation des valeurs de types primitifs : auto[un]boxing itération sur les boucles types énumérés

Plus en détail

Programmation Objet Java Correction

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

Plus en détail

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes agnes.guerraz@inria.fr LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours Bilan : Des vues à PL/SQL corrigé Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Cas exemple 2 Les tables... 3 Vues et index 4 Privilèges 5 Fonctions

Plus en détail

Gestion mémoire et Représentation intermédiaire

Gestion mémoire et Représentation intermédiaire Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

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

Plus en détail

Object Constraint Language (OCL)

Object Constraint Language (OCL) Object Constraint Language (OCL) Eric Cariou Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr 1 Plan 1. Pourquoi OCL? Introduction par l'exemple

Plus en détail

Une introduction rapide à Coq

Une introduction rapide à Coq Une introduction rapide à Coq Yves Bertot Janvier 2009 1 Démarrer le système Pour utiliser Coq on dispose de trois commandes, une commande qui sert à compiler des fichiers (coqc), une commande qui fournit

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

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

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. 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étail