Présentation du stage Laïka Moussa. 19/9/2003Présentation du stage2 Plan Présentation du cadre du stage Sujet du stage Démarche adoptée.

Slides:



Advertisements
Présentations similaires
Etudes de cas A vous de faire Bases de données DRES – B. TALON.
Advertisements

Certification à Bruxelles Élections communales de 2006.
Présentation du prototype :
La Gestion de la Configuration
Eléments pour un concept de formation en méthode législative ________________________________________ OECD / OCDE Good Governance for Development in Arab.
Module 4- Caractéristiques générales de l'évaluation
Module 8- Les étapes de la démarche d'évaluation
ENQUETE ANNUELLE DENTREPRISES DANS LE SECTEUR DU COMMERCE (EXERCICE 2004) ROYAUME DU MAROC HAUT COMMISSARIAT AU PLAN DIRECTION DE LA STATISTIQUE.
Mai 2009stage1 Stage(s) ABM. mai 2009stage2 1. Texte officiel : encadrement règlementaire du stage.
INDICATIONS METHODOLOGIQUES Classe de Première « Information et gestion »
Cours DESS Nantes 04 Décembre 2002
Sujets de mémoire Mercury Génération automatique de XML Gestion et debugging d'ontologies Un éditeur intelligent pour Mercury (sans stage) Conception d'un.
Contrôleur d’équipement
29e CONFÉRENCE INTERNATIONALE DES COMMISSAIRES À LA PROTECTION DES DONNÉES ET DE LA VIE PRIVÉE 29 th INTERNATIONAL CONFERENCE OF DATA PROTECTION AND PRIVACY.
Présentation Spécificités Générales Spécificités Produit Coup dœil dans les organisations Quattend le PDG dun responsable RH Le Rôle du responsable RH.
IGL301 Spécification et vérification des exigences [3- 0-6] (3 cr) Introduction.
Méthodes de travail pour la réussite des études universitaires
29e CONFÉRENCE INTERNATIONALE DES COMMISSAIRES À LA PROTECTION DES DONNÉES ET DE LA VIE PRIVÉE 29 th INTERNATIONAL CONFERENCE OF DATA PROTECTION AND PRIVACY.
IFT313 Introduction aux langages formels
Modèle, Méthode et Conception
Kids Club Laboratoire de recherche en TIC Technologie de léducation Departement Informatique iversité de Joensuu, Finlande Université de Joensuu, Finlande2004.
LACM UFR STAPS Reims Motion Capture.
Optimisation de la fonctionnalité d’un enrobage comestible destiné à prolonger la durée de conservation et les qualités nutritionnelles de fruits et légumes.
Algorithmique et Programmation
IGL301 - Spécification et vérification des exgiences 1 Chapitre 2 Le processus dingénierie des exigences (ref : Bray chapitre 2)
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Optimisation des systèmes de santé d’urgence
Les évaluations CE1 – CM2 Séminaire Poitiers le 2 et 3 octobre.
Création d’un Formulaire 1- Pour avoir accès à la gestion des formulaires, il faut accéder au module « Mon Site » à partir du menu principal 2 – Après.
MIR Méthodes évolutionnistes Projet Koza
Introduction Un test sur les tests Ce que n’est pas le test
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Introduction Semaine 1 Département d’informatique et de génie logiciel Édition Septembre 2009.
LA VEILLE DOCUMENTAIRE
Soutenance finale 12 mars 2004 Présenté par : Alban HERMET
Dossier bibliométrie Pôle fruits et légumes.
Social Sciences and Humanities Research Council of Canada Conseil de recherches en sciences humaines du Canada Fig. A | 1 | 12 | Conseil de recherches.
Jour 4: Management & Information System (MIS). Objectives de la session Introduire le thème MIS: définition, les différents éléments, construire le système.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Entrées et sorties par.
WORK IN PROGRESS Vers un Vademecum en matière de sélection & de recrutement neutres & non-discriminatoires.
Vers une meilleure transparence des compétences linguistiques professionnelles en Europe Towards a better transparency of vocational language skills in.
Brassard Caroline – Projet - Québec
Plan cours parole 29 Octobre 2003  1. Applications et démos (appli) voir feuilles distribués + démos  2. Fondements théoriques (theorie)  2.1 voir cours.
Présentation du démonstrateur ATLAS Projet ANR 07 TLOG
GESTION ET TRAITEMENT DES ERREURS
Université de Sherbrooke
1 Algorithmique et programmation en février - juin 2007 ORSAY.
Jeu de Librairies Virtuelles « DLL » Windows pour la réalisation de programmes informatiques.
Contexte Appel d’offre lancé par Darties
Interface Homme-machine (interaction humain-machine)
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Vérification de circuits.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
La santé au travail en Europe des employés de sites de construction, l’amélioration et le renforcement du développement de leurs compétences en Santé et.
Introduction au Génie Logiciel
IAEA Training Course on Effective and Sustainable Regulatory Control of Radiation Sources Stratégies pour un contrôle réglementaire efficace et durable.
Présentation générale du projet
Initiation à la conception des systèmes d'informations
ISO 9001:2000 DOCUMENTATION DU SYSTEME QUALITE
Conception Formelle en PVS Master 2 ISC Chef de Projet: M. Pierre Castéran Présenté par: Roland Atoui Xavier Dumas Sébastien Jardel Laurent Vendredi.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Flot de conception de.
Prénom Nom Formal Semantics Rolf Ingold Department of Informatics University of Fribourg > Formal Semantics [SP08]
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
- Exemple de détermination de tolérance de localisation
Document de spécification d’exigences Normes IEEE et 29148:2011
Consolidation de grands réseaux lexicaux
Comment faire une recherche documentaire?
Du Cahier des Charges à la Spécification Formelle ?
Principes fondamentaux et meilleures pratiques de conception de laboratoire Alger, Algérie SAND P. Sandia National Laboratories est un laboratoire.
Mise à jour Processus d’agrément. Nouvelles règles  Information sur les programmes recueillie aux 2 ans  réel processus d’amélioration continue de la.
Présentation du stage Laïka Moussa. 19/9/2003Présentation du stage2 Plan Présentation du cadre du stage Sujet du stage Démarche adoptée.
Transcription de la présentation:

Présentation du stage Laïka Moussa

19/9/2003Présentation du stage2 Plan Présentation du cadre du stage Sujet du stage Démarche adoptée

19/9/2003Présentation du stage3 Les FUNDP Le CETIC

19/9/2003Présentation du stage4 Sujet du stage Conception et réalisation d’un outil d’aide à l’apprentissage à la programmation B Destiné à des programmeurs n’ayant pas d’expérience dans le domaine des méthodes formelles Vérifier la correction des programmes saisis Extraction d’éventuels contre-exemples

19/9/2003Présentation du stage5 Point de départ Outil d’Isabelle Dony, doctorante à l’UCL Référence pour plus de détails : I.Dony and B. Le Charlier, Finding Errors with Oz, Techniques for implementing constraint programming system, Workshop held in conjunction with Cp2002, 8th international Conference on practice of constraint programming, Cornell University, Ithaca, NY, 2002

La démarche adoptée

19/9/2003Présentation du stage7 Les principales étapes… Le cahier des charges, et les décisions adoptées La formalisation Le développement

19/9/2003Présentation du stage8 Le cahier des charges

19/9/2003Présentation du stage9 Le cahier des charges - présentation - La collecte des exigences : - des utilisateurs - des concepteurs - des enseignants Comment ? Par des interviews

19/9/2003Présentation du stage10 Le cahier des charges La norme IEEE Std Les ajouts : scénarii d’exécution

Forme finale de l’outil Forme finale de l’outil

19/9/2003Présentation du stage12 Les principales décisions Le sous-ensemble de B analysé Les erreurs de syntaxe On fournira à cet outil une machine abstraite cohérente et son implantation. Ces fichiers seront analysés. L’utilisateur recevra des messages d’erreurs pertinents et des contre-exemples

19/9/2003Présentation du stage13 L’interface - 1/2 -

19/9/2003Présentation du stage14 L’interface - 2/2 –

19/9/2003Présentation du stage15 Avec un exemple… MACHINE machine OPERATIONS xx <-- operation(yy, xx)= PRE Préconditions THEN xx : (xx = xx*yy) % Post-conditions END IMPLEMENTATION machine_i REFINES machine OPERATIONS xx <-- operation(xx, yy)= VAR ii, res IN ii:=xx; res:=0; WHILE ii <= yy DO ii:= ii+1;res:=res+xx VAR yy-ii INV ii <= yy & res = xx* ii END xx:= res END

19/9/2003Présentation du stage16 Avec un exemple incorrect… MACHINE machine OPERATIONS xx <-- operation(yy, xx)= PRE Préconditions THEN xx : (xx = xx*yy) % Post-conditions END IMPLEMENTATION machine_i REFINES machine OPERATIONS xx <-- operation(xx, yy)= VAR ii, res IN ii:=xx; res:=0; WHILE ii <= yy DO ii:= ii+1;res:=res+xx VAR yy INV ii <= yy & res = xx* ii END xx:= res END

Conception de l’outil

19/9/2003Présentation du stage18 La formalisation Intérêts des méthodes formelles Apporte une sémantique claire et surtout non ambiguë Des descriptions précises et concises du logiciel à produire Les démonstrations de propriétés Difficultés de la mise en œuvre Quelles données modéliser, comment, … Quel traitement faire subir à ces données Comment être sûr de ne rien avoir oublié, d’être cohérent Résultats obtenus Une plus grande assurance d’avoir un logiciel sans erreurs de fond (niveau conception et codage)

19/9/2003Présentation du stage19 Obligations de preuve en B Preuve de cohérence de la machine abstraite Preuve de raffinement de chaque opération: Il faut que les préconditions de la machine abstraite impliquent les préconditions de la machine implantée Il faut que les post-conditions de la machine implantée impliquent celles de la machine abstraite

19/9/2003Présentation du stage20 Preuve de raffinement des opérations MACHINE machine OPERATIONS resultat <-- operation()= PRE Préconditions THEN Substitutions % Post-conditions END IMPLEMENTATION machine_i REFINES machine OPERATIONS resultat <-- operation()= % Préconditions Instructions % Post-conditions END

19/9/2003Présentation du stage21 Nos vérifications Les préconditions Les opérations de nos implantations n’auront pas de préconditions (préconditions toujours vraies) Les post-conditions Chercher les cas où l’on contredit la spécification Nécessite de trouver des contre-exemples, donc on cherchera l’ensemble des solutions de la formule suivante: post-conditions(op_i) et non (post-condition(op_a) )

19/9/2003Présentation du stage22 Principes utilisés L’intérêt d’utiliser la programmation par contraintes La génération des nouvelles variables La manipulation des environnements La fonction GenInstr La vérification finale

La nécessité des contraintes

19/9/2003Présentation du stage24 Recherche de contre- exemples Recherche exhaustive Domaines restreints OZ

Génération des identificateurs

19/9/2003Présentation du stage26 Nécessité de générer des variables Problèmes de masquage Exemple : a:= 0; b:= a+1; a:=b Sans génération de variables, on obtient: a=0 et b=a+1 et a =b Inconsistant… Nous voulons obtenir : a0=0 et b0=a0+1 et a1=b0

19/9/2003Présentation du stage27 Avec l’exemple… MACHINE machine OPERATIONS xx <-- operation(yy$0, xx$0)= PRE Préconditions THEN xx$1 : (xx$1 = xx$0*yy$0) % Post-conditions END IMPLEMENTATION machine_i REFINES machine OPERATIONS xx <-- operation(xx0, yy0)= VAR ii, res IN ii0:=xx0; res0:=0; WHILE ii <= yy DO ii1:= ii0+1;res1:=res0+xx0 VAR yy0-ii1 INV ii <= yy0 & res = xx0* ii END xx1:= res2 END

19/9/2003Présentation du stage28 Les environnements Un environnement de génération des variables, qui contient l’historique de toutes les variables générées, afin de ne pas avoir de problèmes de masquage Un environnement d’évaluation des variables

Les différents types de contraintes

19/9/2003Présentation du stage30 Les contraintes dues au respect de la spécification MACHINE machine OPERATIONS resultat <-- operation()= PRE Préconditions THEN Substitutions % Post-conditions END IMPLEMENTATION machine_i REFINES machine OPERATIONS resultat <-- operation()= PRE Préconditions THEN Instructions % Post-conditions END

19/9/2003Présentation du stage31 Contraintes de spécification « Traduction en contraintes » des différents changements ayant eu lieu sur les variables. Ces contraintes sont toujours vraies

19/9/2003Présentation du stage32 Avec l’exemple… MACHINE machine OPERATIONS xx <-- operation(yy, xx)= PRE Préconditions THEN xx : (xx = xx*yy) % Post-conditions END IMPLEMENTATION machine_i REFINES machine OPERATIONS xx <-- operation(xx, yy)= VAR ii, res IN ii:=xx; res:=0; WHILE ii <= yy DO ii:= ii+1;res:=res+xx VAR yy-ii INV ii <= yy & res = xx* ii END xx:= res END

19/9/2003Présentation du stage33 Avec la machine abstraite… MACHINE machine OPERATIONS xx <-- operation(yy$0, xx$0)= PRE Préconditions THEN xx$1 : (xx$1 = xx$0*yy$0) % Post-conditions END Cspec_a = (xx$1 = xx$0*yy$0)

19/9/2003Présentation du stage34 Contraintes de correction Contraintes permettant de s’assurer que le code est bien écrit Ces contraintes peuvent être fausses

19/9/2003Présentation du stage35 Avec la machine abstraite… Pour la machine abstraite, la contrainte de correction est: C_corr_absraite = true

19/9/2003Présentation du stage36 Avec l’implémentation… C_correction_concretes = ii0 ii0 <= yy0 & res0 = xx0* ii0 & ii0 ii0 <= yy0 & res1 = xx0* ii1 & ii0 yy0-ii1 < yy0-ii0 IMPLEMENTATION machine_i REFINES machine OPERATIONS xx <-- operation(xx0, yy0)= VAR ii, res IN ii0:= 1; res0:=xx0; WHILE ii < yy DO ii1:= ii0+1;res1:=res0+xx0 VAR yy0-ii INV ii <= yy0 & res = xx0* ii END xx1:= res2 END

19/9/2003Présentation du stage37 Profil de la fonction GenInstr GenIntsr : Instr * C * Sigma * Sigma C * C * Sigma * Sigma

19/9/2003Présentation du stage38 skip

19/9/2003Présentation du stage39 Devient_egal

19/9/2003Présentation du stage40 Assert

19/9/2003Présentation du stage41 Séquence: notations

19/9/2003Présentation du stage42 Séquence : équation

19/9/2003Présentation du stage43 Les contraintes de lien Il faut faire le lien entre les variables de chaque machine Ici, avec l’exemple, on a : C_lien = ( xx1 = xx$1 & yy0 = yy$0)

19/9/2003Présentation du stage44 La vérification finale On lance la vérification suivante : C_lien & C_spec_concretes & non (C_correction_concrete ou C_spec_abstraites)

19/9/2003Présentation du stage45 Etat d’avancement du stage Terminer l’implantation Liens avec l’interface graphique

19/9/2003Présentation du stage46 Résultats - Evolutions futures Dès que la phase d’implantation sera finie : une base stable Dans le futur : un outil moins restrictif, tant au niveau du langage analysé que de la forme des modules

Merci….