Construction Formelle de Logiciels



Documents pareils
Analyse,, Conception des Systèmes Informatiques

IFT2255 : Génie logiciel

La Certification de la Sécurité des Automatismes de METEOR

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

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

Le génie logiciel. maintenance de logiciels.

Processus d Informatisation

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

INGENIERIE DES SYSTEMES INFORMATIQUES - PARCOURS : MOBILITE ET CLOUD COMPUTING

Introduction au génie logiciel

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

Conception, architecture et urbanisation des systèmes d information

Master Informatique Aix-Marseille Université

Tout au long de votre cursus Quel métier futur? Dans quel secteur d activité? En fonction de vos goûts et aptitudes et du «niveau d emploi» dans ce

Laboratoire d informatique Gaspard-Monge UMR Journée Labex Bézout- ANSES

2015 // des formations. programme. Retrouvez toutes ces informations sur enseirb-matmeca.bordeaux-inp.fr

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

4.2 Unités d enseignement du M1

Cours Gestion de projet

B : passé, présent, futur.

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

RÉSUMÉ DESCRIPTIF DE LA CERTIFICATION (FICHE RÉPERTOIRE)

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

GL Le Génie Logiciel

Certification de l assemblage de composants dans le développement de logiciels critiques

Introduction aux Bases de Données

MASTER 2 PROFESSIONNEL. Génie Logiciel, Logiciels Répartis et Embarqués

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES

Evaluation, Certification Axes de R&D en protection

ECTS CM TD TP. 1er semestre (S3)

Cours de Master Recherche

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

MASTER (LMD) MODELISATION, OPTIMISATION, COMBINATOIRE ET ALGORITHME

Introduction aux systèmes temps réel. Iulian Ober IRIT

MEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE

2. Activités et Modèles de développement en Génie Logiciel

La gestion des contraintes pour modéliser les stratégies humaines d'ordonnancement et concevoir des interfaces homme-machine ergonomiques

LICENCE : INFORMATIQUE GENERALE

Synergies entre Artisan Studio et outils PLM

Le pilotage des collaborations et l interopérabilité des systèmes d information Vers une démarche intégrée

Intelligence Artificielle et Robotique

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Le programme d examens du Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe 19 domaines du génie.

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Développement itératif, évolutif et agile

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

RTDS G3. Emmanuel Gaudin

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

Conception et Intégration de Systèmes Critiques

Université Libre de Tunis

Cours Composant 2. Qualité logicielle et spécications algébriques

L apprentissage automatique

Évaluation et implémentation des langages

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

Présentation du Master Ingénierie Informatique et du Master Science Informatique , Année 2 Université Paris-Est Marne-la-Vallée

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

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Évaluation et Certification Carlos MARTIN Responsable du Centre de Certification de la Sécurité des Technologies de l Information

L industrie financière sait elle décrire les produits qu elle traite?

Vérification formelle de la plate-forme Java Card

Rapport de certification PP/0002

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Test et Validation du Logiciel

Sujet de thèse CIFRE RESULIS / LGI2P

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Informatique Médicale & Ingénierie des Connaissances Pour la e-santé

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

IODAA. de l 1nf0rmation à la Décision par l Analyse et l Apprentissage / 21

UML (Diagramme de classes) Unified Modeling Language

Architecte Logiciel. Unité de formation 1 : Développer en s appuyant sur les modèles et les frameworks 7 semaines

Université de Bangui. Modélisons en UML

Approche de modélisation des tests de logiciels complexes par un système multi-agents

Master of Science in Engineering

Génie logiciel (Un aperçu)

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

Figure 1 : représentation des différents écarts

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Métiers d études, recherche & développement dans l industrie

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Dossier d'étude technique

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

LES MAINTENANCES EVOLUTIVES DE BASES DE DONNEES

Calculs de probabilités

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

Principe de symétrisation pour la construction d un test adaptatif

Introduction à la conception de systèmes d information

Extrait des Exploitations Pédagogiques

Formation L.M.D. en instrumentation biomédicale. Mise en œuvre dans une université scientifique et médicale : Claude Bernard Lyon I

La politique de sécurité

Business Process Execution Language

Comment se servir de cet ouvrage? Chaque chapitre présente une étape de la méthodologie

TABLE DES MATIÈRES CHAPITRE I. Les quanta s invitent

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Transcription:

Construction Formelle de Logiciels J. Christian Attiogbé Master Alma, 2012 J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 1 / 44 Enseignements : IUT de Nantes - UFR Sciences Dpt Info IUT Modélisation de donnée modélisation de la dynamique Méthode B Dpt Info UFR Sciences Construction formelle de logiciels J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 2 / 44

LINA : UMR 6241 / Université de Nantes - CNRS - Mines de Nantes LINA - Research Topics axe ALD: AeLoS, Ascola, GDD, GRIMM axe SAD: COD, COMBI, Contraintes/TASC, OPTI, TALN AeLoS P. André, G. Ardourel, C. Attiogbé, A. Lanoix, J-M. Mottu, M. Oussalah, D. Tamzalit + M. Ouederni + doctorants J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 3 / 44 Introduction Système informatique? Développement? Quels problèmes? Quels concepts, théories, méthodes, techniques, outils? Etat de l art? Besoins? J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 4 / 44

Présentation du module Modélisation et vérification formelles des logiciels (seule façon de pouvoir prouver la correction de logiciels) Méthode B/Atelier B/Rodin (avec la preuve de théorème) Lotos NT/CADP (avec l exploration de modèles) J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 5 / 44 Motivations Niveau MASTER Conduite de projets industriels informatiques Domaines variés, tailles variables (petites ou grandes) Projets informatiques complexes Méthodes, Techniques, Outils Méthodes d analyse, Méthodes de conception, Méthodes de développement. J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 6 / 44

Motivations (suite) Exemples de méthodes Analyse fonctionnelle (SADT par exemple), Analyse structurée (SA, SSADM), SA-RT (Temps-Réel), Entités/Associations, Merise, Axiale, JSD/JSP, Analyse Orientée Objet, OMT, UML, Architecture de logicielle (System Level), etc méthodes semi-formelles J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 7 / 44 Motivations (suite) Besoin de méthodes rigoureuses pour certains domaines : Sécurité, Certification, Coût, Maintenance ITSEC (Information Technology Security Evaluation Criteria) exigent l usage de méthodes formelles Echec (d un vol) de ARIANE!, Erreur du Pentium, etc, etc Milieux hostiles à l homme (nucléaire, chimie, marin, etc) Systèmes embarqués (véhicules, équipements, etc) Automates (domaine médical, etc) etc J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 8 / 44

Motivations Les méthodes formelles garantie de correction des logiciels, diminuent/éliminent les erreurs, les disfonctionnements, facilitent la maintenance. J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 9 / 44 Méthodes formelles : introduction Méthodes de développement des systèmes informatiques. Quelques analogies : Génie civil Architecture, plans (conception), calculs, construction (réalisation) Physique Observations, Modélisation, études sur les modèles, réalisation Informatique Analyse des besoins (observations?) Modélisation, études des modèles, réalisation du système J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 10 / 44

Généralités Différentes approches d utilisation des méthodes formelles : à postériori : On développe (programmation) puis on vérifie que le produit est correct Systèmes de preuve, systèmes de test à priori : On développe correctement le produit Méthodes de développement (raffinement, synthèse), Systèmes de preuve Plusieurs méthodes formelles (langages, systèmes de preuve, méthodes) J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 11 / 44 Généralités Approche top-down (descendant) On procède par décomposition Analyse globale (étude système, ingénierie de système) Architecture de logiciel Codage des composants Programmation ou Développement formel J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 12 / 44

Généralités Approche bottom-up (ascendant) On procède par composition de composants élémentaires. Etude des composants disponibles Composition, Réutilisation J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 13 / 44 Besoin des méthodes formelles Dans tous les cas (approches) recours au méthodes formelles pour Etude des systèmes Etude des composants Cadre formel pour le raisonnement, analyse, développement J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 14 / 44

Qu y a-t-il dans les méthodes formelles? Logique Algèbre Mathématiques discrètes Théorie des ensembles Théorie des automates Théorie des types Théorie du raffinement... J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 15 / 44 Exemples d applications industrielles avec les formalismes/méthodes Z, VDM, CSP IBM, INMOS,... CICS: Système transactionnel interactif (1983, Z) Conception de circuits, Transputer (Z, CSP) et de nombreux autres systèmes J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 16 / 44

Exemples d applications industrielles avec la méthode B (J-R. Abrial) GEC ALSTHOM, SNCF et MATRA Transport Système de controle de vitesse de train (KVS pour SNCF) Ligne A du RER - SACEM (signalisation, contrôle de vitesse) Metro de Calcutta (CTDC) Metro de Montreal(CTDC), Marseilles, Bel horizonte Météor (ligne de Métro sans conducteur) les portes pallières sur les quais Assurance vieillesse, Sécurité sociale CICS de IBM (restructuration majeure du logiciel de gestion de transaction, 800000 lignes) B et VDM dans le domaine des logiciels de finance, BULL UK J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 17 / 44 Exemples d application Système de contrôle de vitesse (Metro) acquisition de données (capteurs, détecteurs, etc), calcul /prise de décision, envois de commandes aux dispositifs physiques (ralentissement, freinage) embarquement du logiciel J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 18 / 44

Autres approches formelles utilisées aujourdhui Certaines (outillées) sont industrialisées RAISE (Résultat d un projet ESPRIT) Approche algébrique + processus communicants LOTOS, SDL (Standard européen) Approche algébrique + processus communicants PVS (USA) MEC, AltaRica (Université de Bordeaux + industriels) Logiques classiques : Logique du premier ordre, Logique de Hoare, etc (Why, Cracatoa, Key - ) Logiques non classiques, logiques modales Coq, Logiques d ordre supérieur, Théorie des types J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 19 / 44 Méthodes de développement formel (résumé) Fondement des approches formelles (preuve) Interprétation de l isomorphisme de Curry-Howard : Preuve Axiomes Theoremes équiv. à Développement Specifications Programmes J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 20 / 44

Approche de construction formelle Développement de systèmes informatiques Spécification informelle (cahier de charges) Spécification [formelle] Analyse Utilisateur, développeur, spécifieur Communication, contrat Validation /utilisateur Développeur Développement (diverses méthodes) Système (logiciel+matériel) Validation/spécification Figure: Problématique du développement de système J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 21 / 44 Usage des méthodes formelles Développement de systèmes informatiques Marteau pour tuer une mouche Selon la nature des besoins Environnement professionnel compétences disponibles? Contexte industriel Délais, coûts, productivité Certification Obligations des donneurs d ordre J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 22 / 44

Développement de systèmes informatiques Quelle approche utiliser? plusieurs paramètres : Concepteur/développeur de gros systèmes Concepteur/développeur de petits systèmes maison Nature des systèmes à développer Compétences disponibles,... J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 23 / 44 Développement de systèmes informatiques Cas de la méthode B Le système développé correct par construction Initialement, Modèle d exécution séquentielle - Systèmes séquentiels Pas de non-déterminisme de comportements Systèmes autonomes et réactifs Systèmes centralisés et distribués J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 24 / 44

Développement de systèmes informatiques Cas de LOTOS Analyse et vérification du système développé Modèle d exécution séquentielle et parallèle Systèmes séquentiels et concurrents Possibilité de non-déterminisme de comportements Systèmes autonomes et réactifs Systèmes centralisés, systèmes distribués J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 25 / 44 Développement Etapes du Cycle de vie Cahier de charges (spécification informelle) système informatique Plusieurs étapes : Analyse (Analysis), Spécification, Modélisation (Specification, Modelling), Conception (Design), Implantation (Implementation) Maintenance (Maintenance) J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 26 / 44

Nature des systèmes (logiciels) : Catégories de systèmes logiciels séquentiels, parallèles (concurrents), autonomes (transformationnels), réactifs, temps-réels centralisés, répartis, embarqués, protocoles de communication... plusieurs types de systèmes J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 27 / 44 Quelques problèmes Difficultés Décrire précisément le système voulu spécification Construire correctement le logiciel développement S assurer que le logiciel construit est correct par rapport aux besoins Suivi du système J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 28 / 44

Pratique Chaque projet est déterminant Nature des systèmes complexes multifacette Plusieurs méthodes : Méthodes semi-formelles Méthodes formelles (intégrées) traitement des systèmes complexes maîtrise de plusieurs méthodes J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 29 / 44 Quelques définitions Pratique Modélisation : Hoare : A scientific theory is formalised as a mathematical model of reality, from which can be deduced or calculated the observable properties and of a well-defined class of processes in the physical world. Il y a deux principales notions de modèles (en informatique). 1 Modèle = une approximation de la réalité par une structure mathématique. Un objet O est modèle d une réalité R, si O permet de répondre aux questions que l on se pose sur R. En Mathématique, Physique,... système d équations portant sur des grandeurs (masses, énergie,...) ou des lois hypothétiques. J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 30 / 44

Pratique Quelques définitions (suite) 2 (Logique, théorie des modèles) Un modèle d une théorie T est une structure dans laquelle les axiomes de T sont valides. Une structure S est modèle d une théorie T, ou bien S satisfait T si toute formule de T est satisfaite dans S. La réalité est un modèle d une théorie! Théorie (du 1er ordre) = tout ensemble de formules logiques (du 1er ordre) dans un langage donné (précisément défini). Modèle comme interpétation d une spécification - une algèbre comme modèle d une spécification algébrique (axiomatisation). J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 31 / 44 Quelques définitions Pratique Ces deux utilisations de modèle se retrouvent dans les approches orientée modèle (ou état) et orientée propriétés. Dans le langage courant, modèle = (archétype), ce qui sert ou doit servir d objet d imitation pour reproduire quelque chose. modèle = (paradigme), modèle de déclinaison, de conjugaison, etc modèle = (référence),... J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 32 / 44

Pratique Exemples de théorie : La théorie des ensembles : elle est basée sur un ensemble d axiomes. Les objets de cette théorie sont appelés ensembles. La classe des ensembles est appelée univers. Les axiomes de la théorie des ensembles (de Zermelo+Fraenkel) sont les suivants: J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 33 / 44 Quelques définitions Pratique Axiome de l ensemble vide : il existe un ensemble qui ne contient aucun élément : c est l ensemble vide. Axiome d extensionalité : deux ensembles sont égaux si et seulement si ils contiennent exactement les mêmes éléments Axiome de l union : l union d ensembles est un ensemble Axiome de l ensemble des parties : les parties d un ensemble forment une partie Axiome du schéma de remplacement (Fraenkel, 1922) : Lorsqu on définit une fonction par des formules de la théorie des ensembles, alors éléments pour lesquels cette fonction vérifie une certaine propriété forment encore un ensemble. De plus, on ajoute à ces axiomes, l axiome de l infini : il existe un ordinal infini. ZFC = ZF + axiome du choix Axiome du choix : Soit une famille d ensembles disjoints, si on considère un élément de chaque ensemble de la famille, alors on en J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 34 / 44 forme un ensemble.

Pratique Quelques définitions (suite) Méthode semiformelle = Langage graphique [+ formel] (syntaxe précise et sémantique non précise) et Outils d analyse divers. Combinaison de langages/méthodes/techniques n ayant pas tous une sémantique précise. Exemples : JSD, OMT, OOX, UML J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 35 / 44 Pratique Quelques définitions (suite) Quelques définitions (suite) Méthode formelle = Langage formel (syntaxe précise et sémantique précise) et Système de preuve ou de raisonnement formel. Exemples : CCS, CSP, HOL, Z, B Développement formel = transformation systématique des spécifications en programmes en utilisant des lois prédéfinies. Exemples : Synthèse, Raffinement J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 36 / 44

Pratique Quelques définitions (suite) Quelques définitions (suite) Vérification : montrer que le système (S)est correct par rapport à des propriétés(p) S P Validation : montrer que le système est correct par rapport aux spécifications informelles S S informelle Raisonnement formel : Consiste à appliquer un système formel à une spécification. J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 37 / 44 Pratique Quelques définitions (suite) Exemples de raisonnement formel Rafinement de specification, vérification des proprétés d un système, validation par vérification, preuve de théorèmes (theorem proving), analyse d un système (représenté par machine à états) par rapport à des propriétés (model checking). = La logique est le fondement des approches formelles J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 38 / 44

Pratique Cycles de vie pendant longtemps, support méthodologique du développement du logiciel. les plus représentatifs de ces cycles de vie : Cycle en V, Cycle en cascade, Cycle de Balzer J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 39 / 44 Pratique Cycles de vie Cahier de charges 1 Spécification 2 Codes 8 7 3 Tests 6 4 Programmes 5 Maintenance Figure: Cycle de vie en cascade (Boehm 1977) J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 40 / 44

Pratique Cycles de vie Intérêts et limites des méthodes semi-formelles SADT, SA-RT, SSADM,... JSD-JSP, Merise, Axial,... OOA, OMT, UML... L analyse du problème est faite. Contribution positive même si suffisante. Le problème est dégrossi. impossible de raisonner formellement sur le système en vue. Il peut y avoir des ambiguités, des erreurs. J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 41 / 44 Pratique Cycles de vie Spécification formelle Expression dans un langage formel du quoi d un système à développer. Résultat de la phase d analyse Plusieurs formes possibles selon la nature du système On parle de langages ou formalismes de spécification formelle : Logique, Z, Langages de spécification algébriques, algèbres de processus, etc J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 42 / 44

Pratique Cycles de vie Démarche de spécification Les aspects données ou les aspects opérations? Les données d un système permettent de décrire les états du système les opérations du système permettent de décrire son fonctionnement ou son comportement par des axiomes On parle du paradigme des données et du paradigme des opérations. Il convient de distinguer les opérations exprimant le comportement d un système des opérations caractérisant les données du système. Les premières opèrent sur les données du système alors que les dernières permettent de construire et exploiter les données du système. J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 43 / 44 Pratique Cycles de vie Démarche de spécification Il y a un troisième paradigme qui semble transversal. C est le paradigme des processus (les algèbres de processus). Dans ce paradigme des processus les systèmes sont décrits par des règles ou des équations exprimant leur comportement ou leurs états. Les principales algèbres de processus à la base des autres formalismes sont : CSP (Hoare) CCS (Milner) ACP (Bergstra) J. Christian Attiogbé (Université de Nantes) Construction Formelle de Logiciels Master Alma, 2012 44 / 44