Modélisation de systèmes dynamiques Spécifications formelles Amal El Fallah Seghrouchni

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

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Les diagrammes de modélisation

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

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

Information utiles. webpage : Google+ : digiusto/

IFT2255 : Génie logiciel

Élasticité des applications à base de services dans le Cloud

Conception des systèmes répartis

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

Utilisation des tableaux sémantiques dans les logiques de description

Le génie logiciel. maintenance de logiciels.

Les processus métiers : concepts, modèles et systèmes

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Évaluation et implémentation des langages

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Chapitre 5 : Flot maximal dans un graphe

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

CNAM - CRA Nancy 2000/2001. Génie Logiciel. Jacques Lonchamp DEUXIEME PARTIE. Les techniques de spécification.

Cours 1 : La compilation

Ordonnancement temps réel

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

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

Continuité d une fonction de plusieurs variables

Qualité du logiciel: Méthodes de test

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

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

Baccalauréat universitaire (bachelor) en mathématiques et sciences informatiques

Intelligence Artificielle Planification

Pi, poker et informatique ; une «épuisante» alliance pour des projets en mathématiques

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Université de Bangui. Modélisons en UML

UML (Paquetage) Unified Modeling Language

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

SIMULATION ORIENTEE EVENEMENTS DES MODELES HYBRIDES

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Model checking temporisé

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Raisonnement par récurrence Suites numériques

RTDS G3. Emmanuel Gaudin

Génie Logiciel. Rappels. C. Crochepeyre Génie Logiciel Rappels 1

Cours de Génie Logiciel

Management des processus opérationnels

Les apports de l informatique. Aux autres disciplines

M1 : Ingénierie du Logiciel

UML (Diagramme de classes) Unified Modeling Language

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Chapitre I : le langage UML et le processus unifié

Cours 1 : Qu est-ce que la programmation?

LE PROBLEME DU PLUS COURT CHEMIN

Annexe 6. Notions d ordonnancement.

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Nom de l application

Système binaire. Algèbre booléenne

Propriétés des options sur actions

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

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Langage SQL : créer et interroger une base

Patrons de Conception (Design Patterns)

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

Les bases de données

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Développement d un interpréteur OCL pour une machine virtuelle UML.

OASIS Date de publication

Business Process Execution Language

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

UML : DIAGRAMME D ETATS

Introduction au temps réel

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

Introduction au génie logiciel

Vérification et Validation

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Introduction à l étude des Corps Finis

16H Cours / 18H TD / 20H TP

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

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Générer du code à partir d une description de haut niveau

Cours Informatique Master STEP

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

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

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Traduction des Langages : Le Compilateur Micro Java

THÈSE. En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE. Touria CHAFQANE BEN RAHHOU

Synthèse d une conception UML temps-réel à partir de diagrammes de séquences

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

Indications pour une progression au CM1 et au CM2

Mesure d angles et trigonométrie

Programme détaillé BTS INFORMATIQUE DE GESTION DIPLÔME D ETAT. Objectifs de la formation. Les métiers. Durée de la formation

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire

La mesure de Lebesgue sur la droite réelle

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

Cours de bases de données. Philippe Rigaux

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

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

Le modèle standard, SPE (1/8)

Cours en ligne Développement Java pour le web

Transcription:

Modélisation de systèmes dynamiques Spécifications formelles Amal El Fallah Seghrouchni Amal.Elfallah@lip6.fr

Plan Carl Adam Petri Introduction Spécification d un système dynamique Spécification formelle Réseaux de Petri (C.A. Petri, 1962) Amal El Fallah Seghrouchni 2

Espace de Spécification d'un SD Espace de spécification -structuré autour de 3 axes : Axe Fonctionnel (F) Axe Structurel (S) Axe Temporel (T) Axe Structurel (F, S, T) Axe Fonctionnel Axe Temporel ou Dynamique

Aspects fonctionnels et structurels Aspect fonctionnel : «à quoi ça sert?» Exemple : le conducteur qui utilise une voiture la voit comme un objet permettant de se déplacer Aspect structurel : «quelle structure?» Exemple : le garagiste voit la voiture comme un ensemble de pièces qui interagissent et produisent un mouvement.

Remarques Il est important de savoir si l'on observe ou conçoit un système et ses sous-systèmes dans leurs aspects fonctionnels ou structurels. En effet, un système peut être étudié (ou conçu) dans son aspect structurel alors que certains des sous-systèmes qu'il contient, communs à d'autres système, ne seront approchés que d'une manière fonctionnelle (et inversement) Le garagiste peut changer les roues d'une voiture sans connaître le fonctionnement du moteur.

Vues complémentaires du système Fonctionnelle, Structurelle et Temporelle La complexité des systèmes oblige à étudier chacune de ces vues indépendamment des 2 autres. Exemples de méthode sur chacun des axes : - l axe Fonctionnel : SA (Structured Analysis) - Les diagrammes associés illustrent les fonctions du système - l axe Structurel : E/R (Entités/Relations) - Le modèle E/R illustre les données du système - l axe Temporel : - Réseaux de Petri, automates temporisés, Statecharts, Diagrammes Etats/transitions, etc. Ces formalismes permettent de décrire des modèles pour spécifier et analyser la dynamique (comportement) du système Amal El Fallah Seghrouchni 6

Exemple : Axes de modélisation Objet Modèle objet De quoi est fait le système? propriétés attributs méthodes classes relations entre classes La dynamique des objets dans le temps quand? Modèle fonctionnel Que fait le système et comment? Algorithmes Modèle dynamique Amal El Fallah Seghrouchni 7

Application aux méthodes OO Analyse Orientée Objet Structure Objet, attribut, identifiant, relation statique entre objet définition des objets ayant un cycle de vie Utilisation des structures dans les processus Fonction Définition des comportements fonctionnels processus effectués par l objet Dynamique : comportement, cycle de vie Etats, événements internes ou externes à l objet 8

Analyse OO - Définition des objets A chaque cycle de vie d une entité du monde réel correspondent des états de l objet du modèle d analyse A chaque événement du monde réel correspond un événement agissant sur les objets du modèle d analyse A chaque modification des entités du monde réel correspond un processus activé dans un état des objets du modèle d analyse Amal El Fallah Seghrouchni 9

Exemple Entité/Relation Entité : Représente un ensemble, une collection, des objets du monde réel qui joue un rôle dans le système à étudier. Une entité peut être décrit par plusieurs attributs Relation : représente un ensemble de liens ou associations entre les entités Client # code_client adresse... 0..N Vendeur # code_vendeur nom adresse... 0..N Commande Date

Problème de cohérence... Questions Comment arriver à des spécifications cohérentes entre elles sur les 3 axes? Besoin de méthodes Une méthode est un processus opératoire formel Elle définit un ordre logique dans lequel les tâches doivent être réalisées pour atteindre un but défini Elle spécifie l inventaire, la nature et le contenu des tâches ainsi que l ordre d exécution et les résultats escomptés de la tâche. Amal El Fallah Seghrouchni 11

Méthodes semi-formelles Une méthode semi-formelle Un langage (parfois graphique) + syntaxe précise + sémantique non précise (ou inexistante) Divers outils d analyse Exemple : SADT, SA-RT, Merise, OMT, UML Elles sont utiles pour défraîchir le problème En particulier en phase d analyse Impossibilité de raisonner formellement sur le système à concevoir Ne permettent pas la preuve.

Méthodes formelles Une méthode formelle Un langage formel : syntaxe précise + sémantique précise (spécifications formelles) Système de preuve ou de raisonnement formel Il existe différents types de méthodes formelles la classification repose sur les spécifications formelles sousjacentes

Classification des méthodes formelles Spécifications orientées propriétés description des données dans un langage permettant d énoncer les propriétés attendues du système : logique logique temporelle types abstraits algébriques

Classification des méthodes formelles Spécifications orientées modèles construction d un système à partir d objets fondamentaux pré-établis Réseaux de Petri (systèmes concurrents, communicants et distribués) Algèbre de processus : CCS, CSP, Pi-calcul, calcul des «ambients», etc.

Classification des méthodes formelles Méthodes hybrides VDM, Z, B (systèmes séquentiels) : théorie des ensembles et système pré-, post-conditions très utilisées dans l industrie (malgré leur manque de définitions formelles) LOTOS (Language of Temporal Ordering) Algèbre de processus et types abstraits algébriques Réseaux de Petri Algébriques Réseaux de Petri et types abstraits algébriques

Intérêt : développement formel Principe : transformation systématique des spécifications en programme Ces transformations utilisent des lois prédéfinies Vérification : s assurer que le système est correct par rapport à des propriétés Validation : s assurer que le système est correct par rapport aux spécifications Raisonnement formel : appliquer un système formel à une spécification

Raisonnement formel Exemples : Raffinement de spécification Vérification des propriétés d un système Validation par vérification Preuve de théorèmes Analyse d un système (représenté par une machine à états) par rapport à des propriétés (Model checking)

Spécification formelle orientée modèles Les réseaux de Petri Amal El Fallah Seghrouchni 19

Spécifications formelles au moyen de RdP Principe : Données -> états Construction d un modèle du système Définition des propriétés du système Raisonnement sur le fonctionnement du système Outils utilisés : mathématiques, logiques Intérêt : Modélisation Propriétés d un modèle RdP Vérification des propriétés

Modélisation RdP Quels systèmes? Discrets, Dynamiques et concurrents Système Modélisation Modèle Réseaux de Petri Révision Analyse Propriétés du modèle

Exemple Boucle : le robot R ne cesse de prendre et de déposer des cubes Définir les événements et les conditions du système.

Concepts de base : événements Evénements Actions se déroulant dans le système Déclenchement d un événement dépend de l état du système Un état du système peut être décrit comme un ensemble de conditions Exemples un cube arrive (e1) le robot saisit le cube (e2) le robot dépose le cube (e3)

Concepts de base : Conditions Conditions ou états du système Une condition est un prédicat ou une description d un état du système Une condition est vraie ou fausse Exemples Le robot est au repos (c1) Un cube est en attente (c2) Un cube est en cours de déplacement (c3) Le cube a été déposé (c4)

Concepts de base Déclenchement, pré-condition, post-condition Les conditions nécessaires au déclenchement d un événement sont les pré-conditions de l événement Le déclenchement d un événement valide les postconditions et peut invalider les pré-conditions de l événement

Modélisation du système Condition : place robot est au repos (c1) cube est en attente (c2) cube est en cours de déplacement (c3) cube a été déposé (c4) Jeton = condition vraie Evénement : transition un cube arrive (e1) le robot saisit le cube (e2) le robot dépose le cube (e3) e1 c2 e2 e3 c3 c4 c1 Boucle : le robot ne cesse de prendre et de déposer le cube

Condition de tir d une transition Non franchissable Franchissable Amal El Fallah Seghrouchni 27

Déclenchement, franchissement ou tir d une transition Franchissement Lors du franchissement, les jetons correspondants sont consommés des places en entrée. Après franchissement, les jetons sont produits dans les places en sortie en fonction de l évaluation des arcs Le nombre de jetons produits et celui des jetons consommés sont indépendants!! Franchissement Amal El Fallah Seghrouchni 28

Ressources Modélisation des ressources d un système : Plusieurs jetons Jetons indiscernables Ressources consommées et produites par le franchissement de transitions (événements du système)

Valuation des arcs Par défaut, la valuation de l arc est 1 Nombre de jetons consommés (pré) Nombre de jetons produits (post) 2 Franchissement Exemple : 2 cubes et un robot qui va déposer l un sur l autre Amal El Fallah Seghrouchni 30

Parallélisme ou concurrence T1 P1 P2 P3 P4 T2 Amal El Fallah Seghrouchni 31

Synchronisation : Rendez-vous P1 P2 T2 P3 P4 Amal El Fallah Seghrouchni 32

Synchronisation : Sémaphore P1 P2 T1 T2 Sémaphore Amal El Fallah Seghrouchni 33

Partage de ressources T1 T4 T2 T2 Exclusion Amal El Fallah Seghrouchni 34

Principales propriétés des RdP Modèle simulable hiver printemps automne été Amal El Fallah Seghrouchni 35

Principales propriétés des RdP Extensions de ce modèle offrant différents niveaux d abstraction et des raffinements successifs (ex. Réseaux de Petri Recursifs) hiver printemps automne été Amal El Fallah Seghrouchni 36

Principales propriétés des RdP Modèle offrant la composition (ex. transition commune) P1 P3 T1 T2 T2 T3 P2 P4 T1 P1 T2 P3 T3 Amal El Fallah Seghrouchni P2 P4 37

Formalisme Un réseau de Petri est un quadruplet R = (P, T, Pré, Post) où : P: ensemble des places T: ensemble des transitions Incidence avant : Pré : PxT IN Incidence arrière : Post : PxT IN

Représentation matricielle matrice d incidence avant P1 T2 P2 T1 T3 Valuations des arcs entrants P3 T4 P4 Pré T1 T2 T3 T4 P1 1 P2 1 P3 1 P4 1 Amal El Fallah Seghrouchni 39

Représentation matricielle matrice d incidence arrière P1 T2 P2 Valuations des arcs sortants T1 T3 Post T1 T2 T3 T4 P3 T4 P4 P1 1 P2 1 P3 1 P4 1 Amal El Fallah Seghrouchni 40

Marquage du réseau Le marquage d un RdP est son état Μ : P IN Il donne pour chaque place son marquage, i.e. le nombre de jetons qu elle contient. Le marquage initial d un réseau est M 0 P1 P2 2 P3 M 0 P1 P2 P3 2 1 0 P1 P2 T. P3 Après le franchissement de T M 1 P1 P2 P3 0 0 1

Sémantique Une transition t est franchissable ssi : p P, M(p) Pré (p,t) Le franchissement de t à partir du marquage M produit le marquage M tel que : M = M - Pré(.,t) + Post(.,t) p P, M (p) = M(p) - Pré(p,t) + Post(p,t)

Sémantique Marquage M accessible à partir de M s il existe une séquence s de transitions (t 1,.., t n ): t 1 t 2 t n M M 1, M 1 M 2 M n-1 M M s M S = (t1, t2,.., tn)

Graphe des marquages accessibles P2 T1 T3 T1 (1 0 0) T2 P1 T2 P3 T1 (1 1 0) T2 (0 1 1) T3 T1 (1 2 0) T2 (0 2 1) T3 (0 0 1) (1 3 0) (0 3 1) (0 1 1)

Propriétés des RdP Propriétés relatives à l état Le nombre de jetons circulant est-il borné? Un réseau marqué est borné si toutes ses places sont bornées Une place est k-bornée si pour tout marquage accessible à partir du marquage initial M0, M(p) K

Propriétés relatives à l activité Le réseau ou une partie du RdP peut toujours évoluer? Un réseau est quasi-vivant si toutes ses transitions le sont Une transition est quasi-vivante si elle peut être franchie au moins une fois (Il existe au moins une évolution du marquage qui permet de la franchir) Un réseau est vivant si toutes ses transitions le sont Une transition est vivante si elle peut être franchie au moins une fois quelque soit l évolution du marquage

Exemple T1 T2 T1 T2 T3 T3 Amal El Fallah Seghrouchni 47

Absence de blocage Le réseau a toujours la possibilité d évoluer (plus faible que la vivacité) Marquage puits et réseau sans blocage Un marquage puits est un marquage à partir duquel aucune transition n est franchissable Un réseau marqué est sans blocage si aucun de ses marquages accessibles n'est un marquage puits Remarque Un réseau peut être sans blocage même si aucune de ses transitions n'est vivante

Interblocage Processus 1 Processus 2 Ressource 1 Ressource 2 Amal El Fallah Seghrouchni 49

Réseaux de Petri Vérification des propriétés

Graphe des marquages Construction du GMA Graphe fini : cas idéal car toutes les propriétés peuvent être déduites simplement Graphe infini : les propriétés ne peuvent être déduites : on construit le graphe de couverture

Exemple client - serveur Deux clients et un serveur

Extension : RdP Colorés Toujours 2 clients et un serveur Les jetons peuvent être différentiés (<1>, <2> pour les clients, ou «classique» pour le serveur)

Modèle Coloré du Client Serveur <1> <2>

Arcs inhibiteurs Arc inhibiteur Un arc inhibiteur de valuation n est validé si la place de départ de l'arc n'a pas n jetons. Cas particulier : arc de valuation 1, si la place d'entrée est vide de toute marque, alors la transition franchissable

Validation d un arc inhibiteur Le franchissement de la transition à laquelle aboutit un arc inhibiteur ne peut se faire que si l'arc inhibiteur est lui même validé. L'opération de franchissement n'a alors aucune incidence sur le marquage de la place de départ de l'arc inhibiteur. Pour un arc inhibiteur de poids '1', la place qui est vide reste vide. Les RdP avec arcs inhibiteurs ne se prêtent pas à la validation formelle!!

Autres extensions RdP Temporisés Transition franchissable dans un certain intervalle de temps RdP Récursifs Les transitions sont typées et la sémantique de leur franchissement dépend du type de transition Transition élémentaire : franchissement ordinaire Transition de fin : franchissement ferme le réseau courant Transition abstraite : raffinement par un sous-réseau marqué