Validation de systèmes interactifs centrée sur l usager

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Validation de systèmes interactifs centrée sur l usager"

Transcription

1 Validation de systèmes interactifs centrée sur l usager C. Ailleres Mardi 6 Janvier 2004 Problématique Avènement de l informatique : besoin de qualité et de fiabilité des systèmes Génie Logiciel Importance de l IHM dans les systèmes actuels besoin de rendre les systèmes utilisables (ISO ) Modélisation de tâche besoin des méthodes formelles?

2 Approche proposée Cycle de vie logiciel en V Besoins Système Spécification Recette Conception Test Codage Approche proposée Cycle de vie logiciel en V adapté aux systèmes interactifs Utilisateurs Besoins Système Modèles Spécification de tâches Recette Conception Test Codage

3 Approche proposée Utilisateurs Exigences fonctionnelles Modèles de tâche Modèles de tâche en Lustre Contraintes techniques Conception Propriétés satisfaites vérification Propriétés temporelles Codage Code en Lustre Modèle de tâches > Introduction représente : - les services que doit offrir le système à ses usagers - les connaissances requises par l usager pour utiliser le système facilite : - la compréhension du système - la communication entre les utilisateurs, les experts (cogniticiens, informaticiens) formalismes existants :

4 Modèle de tâches > ConcurTaskTrees > Présentation de la notation ConcurTaskTrees (Paterno) - sémantique riche - facilité d utilisation et de compréhension (CTTE) - nombreux outils associés (THERESA, REMUSINE) - déjà mis en œuvre dans des projets européens (MEFISTO, GUITARE, CAMELEON) en partenariat avec BAAN, Philips, EDF, Louvain-la-Neuve Modèle de tâches > ConcurTaskTrees > Définition de la tâche Une tâche définit comment l utilisateur atteint un but dans un domaine applicatif particulier. Le but étant l obtention d un état désiré du système - un identifiant - une catégorie (qui va exécuter la tâche?) - un type d action (selon la catégorie) - une fréquence d utilisation (faible, moyenne, haute) - une plate-forme cible (Desktop, PDA, GSM, etc ) - options (itérative, optionnelle, coopérative) - pré condition - liste d objets nécessaires à sa réalisation - liste des actions d entrée ou de sortie des objets - durées d exécution d une tâche (min, max, moyenne)

5 Modèle de tâches > ConcurTaskTrees > Les catégories de tâches - tâche «abstraite» actions complexes impliquant plusieurs catégories de tâches - tâche «utilisateur» planification, résolution de problèmes, comparaison, etc - tâche «application» production d alertes, affichage, comparaison, etc - tâche «interaction» commande, édition, réponse aux alertes, choix, etc - tâche «coopération» négociation, notification Modèle de tâches > ConcurTaskTrees > Les opérateurs temporels Opérateurs temporels inspirés de LOTOS + priorité - [] = ou [] [> > >> ou []>> Choix Indépendance d ordre Concurrence Désactivation Suspension Activation [T] T* T n T

6 Modèle de tâches > ConcurTaskTrees > Un modèle de tâche Modèle de tâches > ConcurTaskTrees > Un modèle de tâche coopératif

7 Modèle de tâches > ConcurTaskTrees > Outils associés - vérification syntaxique - simulateur - statistique et comparaison de modèles - test d atteignabilité - conversion en LOTOS - génération automatique d IHM (THERESA) - comparaison de modèles avec des sessions utilisateurs (RemUSINE) Modèle de tâches > ConcurTaskTrees > Simulateur - Facilite la compréhension des relations temporelles - Présentation du futur système aux utilisateurs

8 Modèle de tâches > ConcurTaskTrees > RemUSINE CTTE Modèle de tâche Préparation RemUSINE Table des tâches Méthode d évaluation RemUSINE Journal Utilisateur Journal 1 Utilisateur n Résultats Outil de journalisation Utilisateur 1 Utilisateur n Application Modélisation de CTT > Model Checking Objectif : Analyse de l adéquation entre deux modèles formels. Systèmes formalisés : - Propriétés - Spécifications - Programmes Langages formels : - Algèbres de processus (Lotos) - Modèles à états (StateCharts, Réseaux de pétri) - Langages synchrones (Lustre)

9 Modélisation de CTT > Lustre Model Checking modélisation de CTT Lustre (IMAG) : - Formalisme strict et gestion du parallélisme - Outils de preuve et de test (Lesar, SMV, Ga, Lutess) - Continuité avec le travail déjà réalisé Syntaxe de Lustre : - Les nœuds - Les équations - Les assertions Modélisation de CTT > Modélisation de CTT en Lustre - Une tâche atomique un nœud : pexe(état de la tâche) = (evt début, evt fin, dysfonctionnement) - Une relation temporelle un nœud propre à la relation : prel(exe(t1),exe(t2)) = (evt début, evt fin, dysfonctionnement) - Une tâche abstraite une équation composée de relations temporelles : T1T2T3 = prel2(pexe(t1), prel1(pexe(t2),pexe(t3)) - Le système formalisé une équation constituée de tâches composées et/ou de tâches atomiques.

10 Modélisation de CTT > Activation La tâche se trouvant à droite de l opérateur ne peut pas être activée tant que la tâche de gauche n a pas été complètement réalisée. node pact(st1,st2:[bool,bool,bool]) returns (st:[bool,bool,bool]); assert not(st1[2] or st2[2]); st[0] = false -> if raise(st1[0]) and not st2[0] then true else pre(st[0]); st[1] = false -> if raise(st2[1]) and st1[1] then true else pre(st[1]); st[2] = false -> if raise(st2[0]) and not st1[1] then true else pre(st[2]); Modélisation de CTT > Concurrence Les deux tâches peuvent être exécutées en même temps ou l une après l autre, avec un ordre d activation indifférent. node pcrr(st1,st2:[bool,bool,bool]) returns (st:[bool,bool,bool]); assert not(st1[2] or st2[2]); st[0] = false -> if raise(st1[0]) or raise(st2[0]) then true else pre(st[0]); st[1] = false -> if (raise(st1[1]) and st2[1]) or (raise(st2[1]) and st1[1]) then true else pre(st[1]); st[2] = false;

11 Modélisation de CTT > Choix Lorsqu une des deux tâches a été choisie, l autre tâche ne peut plus être activée. node pchx(st1,st2:[bool,bool,bool]) returns (st:[bool,bool,bool]); assert not(st1[2] or st2[2]); st[0] = false -> if raise(st1[0]) or raise(st2[0]) then true else pre(st[0]); st[1] = false -> if raise(st1[1]) or raise(st2[1]) then true else pre(st[1]); st[2] = false -> if st1[0] and st2[0] then true else pre(st[2]); Modélisation de CTT > Indépendance d ordre L ordre d activation des tâches est indifférent, mais il ne peut pas y avoir concurrence entre les tâches. node pindn(const n:int;ti:bool^3^n) returns (st:[bool,bool,bool]); assert not(t_or(n,ti[0..n-1,2])); st[0] = T_OR(n,Ti[0..n-1,0]); st[1] = T_AND(n,Ti[0..n-1,1]); st[2] = false -> if st[0] and not st[1] and not aone(n,totask(ti[0..n-1])) then true else pre(st[2]);

12 Modélisation de CTT > Désactivation Si au moins une action de la tâche se trouvant à droite de l opérateur a été réalisée, la tâche de gauche, si elle a été lancée, est désactivée. node pdac(st1,st2:[bool,bool,bool]) returns (st:[bool,bool,bool]); assert not(st1[2] or st2[2]); st[0] = false -> if raise(st1[0]) or raise(st2[0]) then true else pre(st[0]); st[1] = false -> if (raise(st1[1]) and not st2[0]) or raise(st2[1]) then true else pre(st[1]); st[2] = false -> if (raise(st1[0]) and st2[0]) or (raise(st2[0]) and st1[1]) or (raise(st2[1]) and st1[0] and not st1[1]) then true else pre(st[2]); Modélisation de CTT > Suspension La tâche de gauche, si elle a été lancée, est suspendue le temps de réaliser la tâche se trouvant à sa droite. Puis, elle est réactivée à partir de l état dans lequel elle se trouvait. node psps(st1,st2:[bool,bool,bool]) returns (st:[bool,bool,bool]); assert not(st1[2] or st2[2]); st[0] = false -> if raise(st1[0]) then true else pre(st[0]); st[1] = false -> if raise(st1[1]) then true else pre(st[1]); st[2] = false -> if (raise(st2[0]) and not st1[0]) or (raise(st2[1]) and st1[1]) or (raise(st1[0]) and st2[0]) or (raise(st1[1]) and st2[0] and not st2[1]) then true else pre(st[2]);

13 Modélisation de CTT > Les priorités entre opérateurs node p(t1,t2,t3:bool) returns (R:[bool,bool,bool]); R = pchx(pexe(t1),pcrr(pexe(t2),pexe(t3))); node p(t1,t2,t3:bool) returns (R:[bool,bool,bool]); R = pcrr(pchx(pexe(t1),pexe(t2)),pexe(t3)); [], =,, [>, > et >> + priorité - Automatisation des priorités dans le programme de transformation des modèles CTT en Lustre Modélisation de CTT > La hiérarchie entre les tâches node h1(t1,t21,t22:bool) returns R:[bool,bool,bool]); R = pact(pexe(t1),pact(pexe(t21),pexe(t22))); node h2(t1,t21,t22:bool) returns (R:[bool,bool,bool]) var T2:[bool,bool,bool] R = pact(pexe(t1),t2); T2 = pact(pexe(t21),pexe(t22)); node R(T1,T21,T22:bool) returns (st:[bool,bool,bool]); st = pact(pexe(t1),t2(t21,t22)); node T2(T21,T22:bool) returns (st:[bool,bool,bool]); st = pact(pexe(t21),pexe(t22));

14 Modélisation de CTT > Exemple de modèle CTT formalisé en Lustre node appf(t0,t1,t21,t22,t3,t41,t42:bool) returns (Root:[bool,bool,bool]); var abs0,abs1,t2,t4:[bool,bool,bool]; Root=pAct(pExe(T0),abs0); abs0=pindn(2,[abs1] [T4]); abs1=pact(pact(pexe(t1),t2),pexe(t3)); T2=pChx(pExe(T21),pExe(T22)); T4=pChx(pExe(T41),pExe(T42)); Vérification des spécifications > Principes de la vérification sous Lesar Trois notions : - Le programme sous test. - Les propriétés à vérifier. - L observateur. observateur node exclusion(t1,t2:bool) returns (Ok:bool); Ok = (T1 or T2) and not(t1 and T2); node verification(t1,t2:bool) returns (Ok:bool); entrées identiques Ok = ((T1 xor T2) = (exclusion(t1,t2))); propriété programme sous test opérateur logique qui permet de définir le type de propriété Vrai, la propriété est vérifiée Faux, la propriété est violée. Contre exemple

15 observateur Vérification des spécifications > Atteignabilité Quelque chose peut se produire node vatt0(t0,t1,t21,t22,t3,t41,t42:bool) returns (Ok:bool); var smod:[bool,bool];sprop:[bool,bool,bool];mod,prop:bool; entrées identiques smod= appf(t0,t1,t21,t22,t3,t41,t42); Mod = smod[0] and smod[1]; programme sous test avec exclusion, via des assertions, des cas de dysfonctionnement sprop = pact(pact(pexe(t41),pexe(t22)),pexe(t3)); Prop = sprop[0] and sprop[1] and not sprop[2]; propriété Ok = nand(mod,prop); Grâce aux assertions, Mod, lorsqu il a été réalisé, est toujours Vrai opérateur logique Mod Prop (Mod Prop) Vrai Vrai Faux Vrai Faux Vrai Faux Vrai Vrai Faux Faux Vrai Atteignabilité Contre exemple Prop ne pourra jamais être réalisé Vérification des spécifications > Atteignabilité (T41 >> T22 >> T3) Faux (T1 >> T41) Faux (T21 T22) Vrai Sûreté, s il s agit d un comportement qui ne doit jamais se produire

16 Vérification des spécifications > Sûreté Quelque chose de mauvais ne se produira jamais Ou quelque chose de bon arrivera toujours Cf. diapositive précédente opérateur logique Mod Prop Mod => Prop Vrai Vrai Vrai Vrai Faux Faux Faux Vrai Vrai Faux Faux Vrai Le comportement attendu se produira toujours Le comportement attendu ne se produira pas obligatoirement T1 >> T3 Vrai T41 >> T3 Faux Vérification des spécifications > Cas particulier Aura-t-on toujours T11 >> T22? Faux TRANSITION 1 --> not T11 and not T12 and not T21 and not T22 TRANSITION 2 --> T11 and not T12 and T21 and not T22 TRANSITION 3 --> T11 and not T12 and not T21 and T22 TRANSITION 4 --> not T11 and T12 and not T21 and T22 TRANSITION 5 --> not T11 and not T12 and not T21 and not T22 Est-il possible d avoir T11 >> T22? Faux TRANSITION 1 --> not T11 and not T12 and not T21 and not T22 TRANSITION 2 --> T11 and not T12 and T21 and not T22 TRANSITION 3 --> not T11 and T12 and not T21 and T22 TRANSITION 4 --> not T11 and not T12 and not T21 and not T22

17 Vérification des spécifications > Recherche de tous les contre exemples Est-il impossible d avoir T3? Faux On pose alors en assertion dans l observateur : T1 >> T21 >> T3 Est-il encore impossible d avoir T3? Faux On pose alors en assertion dans l observateur : T1 >> T22 >> T3 Est-il encore impossible d avoir T3? Vrai Il est possible d utiliser cette méthode pour ne pas prendre en compte certains chemins trop rapides, par exemple lorsqu on utilise l opérateur de désactivation. Vérification de l implémentation > Travail en cours Déjà réalisé : - Ecriture d un programme Java simple - Création du modèle CTT de ce programme - Formalisation du modèle CTT en Lustre - Formalisation du programme Java en Lustre en utilisant le travail déjà réalisé par Bruno d Ausbourg et Guy Durrieu En cours : - Vérification de propriétés temporelles sur les deux modèles - Vérification d un modèle de l application Java par le modèle du modèle de tâche CTT.

18 Conclusion et perspectives Atouts de la modélisation : - Proposition d une sémantique fidèle à CTT - Facilité d écriture - Possibilité de vérifier des propriétés d atteignabilité et de sûreté avec des temps de réponse corrects Problème ouvert de la sémantique de l itération Perspectives : - Etendre la modélisation aux tâches optionnelles - Créer d autres opérateurs pour affiner les comportements - Utiliser les modèles dans la génération automatique de jeux de tests Fin Merci de votre attention Avez-vous des questions? Me contacter : - Pour obtenir la bibliographie - Pour obtenir des renseignements complémentaires

Les méthodes formelles dans le cycle de vie. Virginie Wiels ONERA/DTIM Virginie.Wiels@onera.fr

Les méthodes formelles dans le cycle de vie. Virginie Wiels ONERA/DTIM Virginie.Wiels@onera.fr Les méthodes formelles dans le cycle de vie Virginie Wiels ONERA/DTIM Virginie.Wiels@onera.fr Plan Introduction Différentes utilisations possibles Différentes techniques pour différentes propriétés à différents

Plus en détail

Qualité logicielle, tests, débogage

Qualité logicielle, tests, débogage Qualité logicielle, tests, débogage A. Accro aux tests? Une introduction au test logiciel................ 4 Pourquoi le test logiciel? Des tests, pour gagner du temps! Pour aller plus loin Les objectifs

Plus en détail

Model checking temporisé

Model checking temporisé Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr ETR 07, 5 septembre 2007 1/44 Nécessité de vérifier des systèmes... 2/44 Nécessité de vérifier

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

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000 Mise en Œuvre des techniques synchrones pour des applications industrielles Mise en œuvre des techniques synchrones pour des applications industrielles

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

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

Modules ICI relais & EXAPAQ Predict v4.0

Modules ICI relais & EXAPAQ Predict v4.0 Documentation technique Modules ICI relais & EXAPAQ Predict v4.0 OsCommerce 2.3 Sommaire Sommaire 1. Introduction... 3 2. Installation des modules... 4 3. Configuration des modules... 6 4. Utilisation

Plus en détail

Introduction au développement du logiciel

Introduction au développement du logiciel Introduction au développement du logiciel Vers le génie logiciel Université de Nantes Master Miage M1 Plan 1 Introduction 2 Génie logiciel 3 Projet informatique 4 Méthode de développement 5 Qualité Bibliographie

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Le Langage. JavaScript

Le Langage. JavaScript Chapitre 2 : Le Langage JavaScript Le Langage JavaScript Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 1 Les types primitifs de JavaScript Types de bases Boolean (Booléen) : peut prendre

Plus en détail

Définition des Webservices Ordre de paiement par email. Version 1.0

Définition des Webservices Ordre de paiement par email. Version 1.0 Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document

Plus en détail

Intelligence Artificielle Jeux

Intelligence Artificielle Jeux Intelligence Artificielle Jeux Bruno Bouzy http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr Licence 3 Informatique UFR Mathématiques et Informatique Université Paris Descartes Programmation

Plus en détail

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 1: Identificateurs, types de base et fonctions Année 2013-2014 Identificateurs La notion d identificateur Un concept fondamental dans les langages

Plus en détail

xkcd Le langage Python La GUI tkinter Christian Nguyen Département d informatique Université de Toulon et du Var 2012-2013

xkcd Le langage Python La GUI tkinter Christian Nguyen Département d informatique Université de Toulon et du Var 2012-2013 La GUI tkinter Département d informatique Université de Toulon et du Var 2012-2013 Présentation Python est né en 1990, son concepteur est De Guido Van Rossum(Pays Bas). Il présente les caractéristiques

Plus en détail

Bertrand DAVID : Interaction Humain-Machine

Bertrand DAVID : Interaction Humain-Machine Interaction Humain-Machine Plasticité des IHM : La plasticité des Interfaces Homme-Machine Étude des langages de la famille XML Contribution à l amélioration de la plasticité à l aide de nouveaux langages

Plus en détail

Circuits et composition synchrone d automates

Circuits et composition synchrone d automates Circuits et composition synchrone d automates Marc Pouzet UPMC/ENS Marc.Pouzet@ens.fr MPRI, 11 octobre 2013 MPRI Systèmes Synchrones, Marc Pouzet 11 octobre 2013, page 1/41 Automates à entrées/sorties:

Plus en détail

Examen 30 mai 2013. Vol de tâche. Système ENS L3 Info. Année 2012-2013

Examen 30 mai 2013. Vol de tâche. Système ENS L3 Info. Année 2012-2013 Système ENS L3 Info. Année 2012-2013 Examen 30 mai 2013 L énoncé est composé de 5 pages. Cette épreuve est prévue pour une durée de 2h. Les notes de cours et de TDs sont autorisées. Vol de tâche Le but

Plus en détail

λ-calcul et typage Qu est-ce qu une fonction?

λ-calcul et typage Qu est-ce qu une fonction? λ-calcul et typage Nicolas Barnier, Pascal Brisset ENAC Avril 2009 Nicolas Barnier, Pascal Brisset (ENAC) λ-calcul et typage Avril 2009 1 / 1 Qu est-ce qu une fonction? Classiquement Pas de notation uniforme/standard

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

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 1 Stéphane Airiau Université Paris-Dauphine Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 1 Aujourd hui Eléments de base Variables, opérateurs, type d une expression

Plus en détail

Analyse et modélisation de tâches

Analyse et modélisation de tâches Analyse et modélisation de tâches 1. Introduction La conception de logiciel interactif (ou conception d'interface homme-machine [IHM], ou conception d'interface) est l'activité qui vise à définir le fonctionnement

Plus en détail

Introduction au model-checking et application à la vérification des protocoles cryptographiques

Introduction au model-checking et application à la vérification des protocoles cryptographiques Introduction au model-checking et application à la vérification des protocoles cryptographiques Prof. John MULLINS École Polytechnique de Montréal Prof. John MULLINS (École Polytechnique) Introduction

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2011/2012 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 1 Date : jeudi 26 janvier 2012 Durée : 1H30 Coordonnateurs : Christian Bac et Denis

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

2. Comprendre les définitions de classes

2. Comprendre les définitions de classes Conception objet en Java avec BlueJ une approche interactive 2. Comprendre les définitions de classes Analyser le contenu des classes David J. Barnes, Michael Kölling version française: Patrice Moreaux

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

PRÉSENTATION DU RÉFÉRENTIEL PAR PÔLE

PRÉSENTATION DU RÉFÉRENTIEL PAR PÔLE Référentiel de certification du Baccalauréat professionnel GESTION ADMINISTRATION PRÉSENTATION DU RÉFÉRENTIEL PAR PÔLE 1 Le référentiel de certification du Baccalauréat GESTION ADMINISTRATION Architecture

Plus en détail

Le génie logiciel. maintenance de logiciels.

Le génie logiciel. maintenance de logiciels. Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction

Plus en détail

Synchronisation par. Rappels. Plan. Conditions et moniteurs (1/7) Inf 431 Cours 11. jeanjacqueslevy.net

Synchronisation par. Rappels. Plan. Conditions et moniteurs (1/7) Inf 431 Cours 11. jeanjacqueslevy.net Rappels Inf 431 Cours 11 un processus t (Thread) est un programme qui s exécute Synchronisation par mémoire partagée tstart lance l exécution concurrente de la méthode trun de t tinterrupt signale qu on

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

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

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme? Validation par le test Objectifs du cours d'aujourd'hui Donner des réponses aux questions suivantes : Lydie du Bousquet 2 Qu est-ce que tester un programme? Exercice 1 : Inscrivez sur une feuille ce que

Plus en détail

Master Informatique Aix-Marseille Université

Master Informatique Aix-Marseille Université Aix-Marseille Université http://masterinfo.univ-mrs.fr/ Département Informatique et Interactions UFR Sciences Laboratoire d Informatique Fondamentale Laboratoire des Sciences de l Information et des Systèmes

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Introduction à OCAML

Introduction à OCAML Introduction à OCAML Plan L interpréteur intéractif Ocaml Les types de base, et leurs opérations : int, float, char, string, bool Les n-uplets Conditionnelles : if... then... else et match... with... Déclarations

Plus en détail

Système d information VERSION : 4.00

Système d information VERSION : 4.00 METHODE ET ORGANISATION VERSION : 4.00 Jean-Michel Grandclément Confidentiel Reproduction Interdite Page 1 sur 21 Auteur Jean-Michel Grandclément Version / Date Version : 4.0 Date : 04/04/04 E-mail jean-michel.grandclement@grandclement.fr

Plus en détail

Les principes de l Algorithmique et Programmation

Les principes de l Algorithmique et Programmation Les principes de l Algorithmique et Programmation 1 Introduction Informatique : traitement automatisé de l information. Algorithme : ensemble de règles opératoires dont l application permet de résoudre

Plus en détail

6.1 Une classe simple pour représenter des comptes bancaires

6.1 Une classe simple pour représenter des comptes bancaires Chapitre 6 Héritage Ce chapitre du cours traite de concepts relatifs à la programmation objet (hiérarchie de classe, héritage, extension, masquage) et sera illustré par un exemple de représentation de

Plus en détail

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com Systèmes d Exploitation temps réel 1 2 Plan de l intervention 1. Introduction aux Systèmes Temps Réel 2. Programmation concurrente Synchronisation et communication Besoin en facultés temporelles 3. Ordonnancement

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

MV Consulting. ITIL & IS02700x. Club - 27001- Toulouse Sébastien Rabaud Michel Viala. Michel Viala

MV Consulting. ITIL & IS02700x. Club - 27001- Toulouse Sébastien Rabaud Michel Viala. Michel Viala MV Consulting Michel Viala ITIL & IS02700x Club - 27001- Toulouse Sébastien Rabaud Michel Viala ITIL & ISO2700x : Présentation Intervenants Michel VIALA : Consultant ITIL confronté à la prise en compte

Plus en détail

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION EILCO ING 1 - POO Java Contrôle 2014/2015 Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION Dans ces exercices, nous allons définir une classe Personne qui permettra de gérer

Plus en détail

Plateforme PAYZEN. Définition de Web-services

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

Plus en détail

modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets

modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets Mengxuan Zhao, Gilles Privat, Orange Labs, Grenoble, France Eric Rutten, INRIA, Grenoble, France Hassane

Plus en détail

Table des Matières. Table des Figures 7. Introduction Générale 9. Chapitre 1 - Langages de description d architectures matérielles hybrides 23

Table des Matières. Table des Figures 7. Introduction Générale 9. Chapitre 1 - Langages de description d architectures matérielles hybrides 23 Table des Figures 7 Introduction Générale 9 1. Outils et plate-formes de construction d application 9 2. Intégration de paradigmes de conception dans le cycle de vie 10 2.1. Equilibrage de charge et équilibrage

Plus en détail

Gestion des grilles : Surveillance Contextuelle de la QoS par une approche conduite par des modèles

Gestion des grilles : Surveillance Contextuelle de la QoS par une approche conduite par des modèles Gestion des grilles : Surveillance Contextuelle de la QoS par une approche conduite par des modèles S. Ravelomanana, M. Sibilla Université P. Sabatier, Laboratoire IRIT Toulouse, France raveloma@irit.fr,

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

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

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

L automatique du point de vue maintenance

L automatique du point de vue maintenance S6 L automatique du point de vue maintenance L enseignement de l automatique vise l acquisition des compétences nécessaires à : -la RÉALISATION des interventions de maintenance sur des Systèmes Automatisés

Plus en détail

Qualité du logiciel: Méthodes de test

Qualité du logiciel: Méthodes de test Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution

Plus en détail

SOMMAIRE. Préambule... 3. 1 - Présentation... 3

SOMMAIRE. Préambule... 3. 1 - Présentation... 3 Académie de Grenoble DSI Division des Systèmes d Information 7, place Bir- Hakeim 38021 Grenoble Cedex CAHIER DES CLAUSES TECHNIQUES PARTICULIERES MARCHE N : 2012-09 OBJET : prestations de maintenance

Plus en détail

Cours de Test Logiciel

Cours de Test Logiciel S.Bardin Test Logiciel 1/ 22 Cours de Test Logiciel Leçon 3 : Sélection de tests boîte blanche Sébastien Bardin CEA-LIST, Laboratoire de Sûreté Logicielle Méthodes de sélection Boite Blanche S.Bardin Test

Plus en détail

UPMC Master informatique 2 STL NI503 Conception de langages Notes I

UPMC Master informatique 2 STL NI503 Conception de langages Notes I UPMC Master informatique 2 STL NI503 Conception de langages Notes I 2012 1 Évaluer Un langage Le langage Logo est composé commandes permettant de diriger le déplacement d un point sur un plan cartésien

Plus en détail

Vérifier la qualité de vos applications logicielle de manière continue

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

Plus en détail

Plan. 1 Invariants, pré et post conditions. 2 Des formules logiques pour exprimer des propriétés

Plan. 1 Invariants, pré et post conditions. 2 Des formules logiques pour exprimer des propriétés Initiation au Génie Logiciel Cours 6 Propriétés logiques et programmation par contrats T. Genet (genet@irisa.fr) (ISTIC/IRISA) GEN-6 1/ 22 T. Genet (genet@irisa.fr) (ISTIC/IRISA) GEN-6 2/ 22 Invariants,

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch Informatique III: Programmation en C++ Lundi 24 Octobre 2005 Chargé de cours François Fleuret francois.fleuret@epfl.ch Assistant Mathieu Salzmann mathieu.salzmann@epfl.ch Assistants étudiants Ali Al-Shabibi

Plus en détail

Dossier de développement. Emulateur douchette code barre - Simulateur tags

Dossier de développement. Emulateur douchette code barre - Simulateur tags Dossier de développement Emulateur douchette code barre - Simulateur tags 30/06/2015 Application réalisée par. tel :. fax :. Projet ECO_SCAN Partie 1 En-tête Partie 1 En-tête 30/06/2015 2 Projet ECO_SCAN

Plus en détail

Induction sur les arbres

Induction sur les arbres Induction sur les arbres Planning Motivations Comment définir les arbres? Équations récursives sur les arbres Complexité de fonctions sur les arbres Recherche dans un arbre binaire de recherche Recherche

Plus en détail

Techniques et outils de test pour les logiciels réactifs synchrones

Techniques et outils de test pour les logiciels réactifs synchrones Journées Systèmes et Logiciels Critiques Institut IMAG ; 14-16 nombre 2000 Techniques et outils de test pour les logiciels réactifs synchrones Farid Ouabdesselam 1 Méthodes de test : classification générale

Plus en détail

LI5a : Développement de programmes (A. Slissenko)

LI5a : Développement de programmes (A. Slissenko) 1 Licence 3 Info LI5a : Développement de programmes (A. Slissenko) Corrigé 1. (1a). Expliquez brièvement à quoi sert la spécification des requis, comment elle peut être décrite et comment elle peut être

Plus en détail

Structures de données et algorithmes fondamentaux

Structures de données et algorithmes fondamentaux Structures de données et algorithmes fondamentaux 01 Complexité algorithmique Anthony Labarre 20 octobre 2015 Informations pratiques Mes coordonnées : Anthony Labarre E-mail : Anthony.Labarre@univ-mlv.fr

Plus en détail

Premier programme VBA : syntaxe, édition, compilation

Premier programme VBA : syntaxe, édition, compilation 1 Premier programme VBA : syntaxe, édition, compilation Le langage VBA (Visual Basic for Applications) permet de concevoir des programmes selon une syntaxe qui lui est propre, puis d éditer et d exécuter

Plus en détail

TELEGESTION. l outil indispensable des intervenants à domicile. Maison de l Emploi de Paris Plateforme RH 21 Mai 2015

TELEGESTION. l outil indispensable des intervenants à domicile. Maison de l Emploi de Paris Plateforme RH 21 Mai 2015 TELEGESTION l outil indispensable des intervenants à domicile Maison de l Emploi de Paris Plateforme RH 21 Mai 2015 Télégestion Fixe / Mobile Plateforme d échange Couplage logiciel Couplage logiciel Fonctionnalités

Plus en détail

Fiche N 10. Réaliser une mise en page en VBA. 1 Les propriétés de mise en page. La mise en page est un objet dont le nom est PageSetup.

Fiche N 10. Réaliser une mise en page en VBA. 1 Les propriétés de mise en page. La mise en page est un objet dont le nom est PageSetup. Fiche N 10 Réaliser une mise en page en VBA 1 Les propriétés de mise en page La mise en page est un objet dont le nom est PageSetup. 1.1 Sens de l'orientation du papier Portrait Paysage PageSetup.Orientation

Plus en détail

De la conception à l exécution V1.1

De la conception à l exécution V1.1 Module B : Support méthodologie & outils de tests De la conception à l exécution V1.1. VERIFIER.VALIDER ALTRAN CIS, de l assurance Qualité à l assurance de la qualité Plan de la formation La spécification

Plus en détail

TP 1 - Utilisation de Python

TP 1 - Utilisation de Python TP 1 - Utilisation de Python L objectif de ce TP est d apprendre à faire réaliser des calculs et des tâches répétitives à un ordinateur. Pour faire cela, il est nécessaire de communiquer avec l ordinateur

Plus en détail

PHP. Introduction à la programmation web serveur. Université Nice Sophia-Antipolis. Découverte et pratique avec PHP. Fabien Givors

PHP. Introduction à la programmation web serveur. Université Nice Sophia-Antipolis. Découverte et pratique avec PHP. Fabien Givors Introduction à la programmation web serveur Découverte et pratique avec PHP Fabien Givors d après les cours de Philippe Renevier Gonin Université Nice Sophia-Antipolis Année universitaire 2014-2015 PHP

Plus en détail

Analyse de l introduction d anti-patrons de testabilité au cours de développement

Analyse de l introduction d anti-patrons de testabilité au cours de développement Analyse de l introduction d anti-patrons de testabilité au cours de développement Equipe VASCO MUHAMMAD RABEE SHAHEEN LYDIE DU BOUSQUET 22 Octobre 2009 Journée SEmba 1/ 26 Analyse de l introduction d anti-patrons

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

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP

Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP Christophe Joubert Séminaire VASY 2002 30 Octobre 2002 Aix les Bains Contexte du projet

Plus en détail

VIII. Interrogation de documents avec XQuery

VIII. Interrogation de documents avec XQuery VIII. Interrogation de documents avec XQuery 350 XQUERY? Est un langage d interrogation de données XML N est pas un dialecte XML Est un sur-ensemble de XPath 2.0 Utilise le même modèle de données (XDM)

Plus en détail

Programmation fonctionnelle avec OCaml

Programmation fonctionnelle avec OCaml Programmation fonctionnelle avec OCaml 1ère séance, 19 février 2015 6 séances de 1h30 de cours et 3h de TP 3 projets avec soutenance D autres transparents sont disponibles avec vidéo (intranet) Samuel

Plus en détail

Daniel DOLLE, Siemens TS

Daniel DOLLE, Siemens TS La Canarsie Line à New York, une application du Trainguard CBTC Siemens TS Daniel DOLLE, Siemens TS Cet article présente de manière synthétique les technologies qu utilise STS pour garantir le fonctionnement

Plus en détail

IK3 : Cours n 3 Gestion de projets

IK3 : Cours n 3 Gestion de projets IK3 : Cours n 3 Gestion de projets semaine du 11 octobre 2010 1 But du cours Il faut comprendre que quelque soit l ampleur d un projet, il existe des outils et des méthodes adaptés qui permettent de le

Plus en détail

Analyse,, Conception des Systèmes Informatiques

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

Plus en détail

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende Que faire en algorithmique en classe de seconde? BEGIN Que dit le programme? Algorithmique (objectifs pour le lycée) La démarche algorithmique est, depuis les origines, une composante essentielle de l

Plus en détail

Table des matières. Chapitre 1. Introduction... 13 1.1. Objectif... 13 1.2. Rappel... 15 1.3. Synthèse... 16 1.4. Bibliographie...

Table des matières. Chapitre 1. Introduction... 13 1.1. Objectif... 13 1.2. Rappel... 15 1.3. Synthèse... 16 1.4. Bibliographie... Table des matières Chapitre 1. Introduction... 13 1.1. Objectif... 13 1.2. Rappel... 15 1.3. Synthèse... 16 1.4. Bibliographie... 17 Chapitre 2. Du système au logiciel... 19 2.1. Introduction... 19 2.2.

Plus en détail

en Visual Basic Premiers pas

en Visual Basic Premiers pas V0 (16-10-2009) Licence Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr Première année DEUST 2008-09 Ce cours est porte sur la programmation en s appuyant sur le langage

Plus en détail

Industrialisation du logiciel Temps Réel Critique

Industrialisation du logiciel Temps Réel Critique Industrialisation du logiciel Temps Réel Critique Sommaire Projets opérationnels Les outils du marché utilisés et les contraintes associées CS et les méthodes CS et la R&D Conclusion RdV de l'innovation

Plus en détail

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,

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

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 5 : Structures de données linéaires Benjamin Wack 2015-2016 1 / 37 La dernière fois Logique de Hoare Dichotomie Aujourd hui Type Abstrait de Données

Plus en détail

Travaux Pratiques. Introduction à la programmation 1er Bac Sc. Géographique - 2 nd Quad- 2009-2010 TP 0

Travaux Pratiques. Introduction à la programmation 1er Bac Sc. Géographique - 2 nd Quad- 2009-2010 TP 0 Travaux Pratiques Professeur C Grégoire Chêne Introduction à la programmation 1er Bac Sc. Géographique - 2 nd Quad- 2009-2010 Pr. Peter Schlagheck Bât. B5 Physique quantique statistique allée du 6 Août

Plus en détail

Projet de Programmation Fonctionnelle

Projet de Programmation Fonctionnelle Projet de Programmation Fonctionnelle L objectif de ce projet est de concevoir, en Objective Caml, un évaluateur pour le langage mini-ml (un sous ensemble du langage Objective Caml). Votre programme devra

Plus en détail

Programmation - Introduction

Programmation - Introduction Programmation - Introduction Objectifs : Apprendre à raisonner à partir d algorithmes. Traduire ces raisonnements en programmes informatiques. Outils : Langage de programmation Python. Editeur de texte

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Automatisation de la certification formelle de systèmes critiques par instrumentation d interpréteurs abstraits

Automatisation de la certification formelle de systèmes critiques par instrumentation d interpréteurs abstraits 1 d Automatisation de la certification formelle de systèmes critiques par instrumentation d sous la direction de Michaël Périn Soutenance de Thèse de Doctorat Université de Grenoble - Laboratoire Verimag

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

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Introduction au langage C

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

Plus en détail

Rapport de Mini-Projet en ArcGIS Engine

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

Plus en détail

Vers la certification des applications Java Card TM

Vers la certification des applications Java Card TM AS CNRS Sécurité logicielle : modèles et vérification Vers la certification des applications Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 20-21 février 2003

Plus en détail