Introduction aux automates



Documents pareils
Les diagrammes de modélisation

Université de La Rochelle. Réseaux TD n 6

Conception des systèmes répartis

Théorie des Langages

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

UML : DIAGRAMME D ETATS

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Traduction des Langages : Le Compilateur Micro Java

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Acquisition et conditionnement de l information Les capteurs

Fonctions de la couche physique

UML (Paquetage) Unified Modeling Language

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)

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

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

TD 1 - Transmission en bande de passe

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


Cours de Génie Logiciel

TEPZZ A_T EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 ( ) G06K 19/077 (2006.

MODE D EMPLOI. Station météo avec senseur extérieur sans fil WS-1100

Chapitre VI- La validation de la composition.

Chapitre 2 : Systèmes radio mobiles et concepts cellulaires

Fonctions de plusieurs variables

Systèmes de communications numériques 2

GPA770 Microélectronique appliquée Exercices série A

PAUL CORREIA 6 e édition

Représentation des Nombres

Communications numériques

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Chapitre 11 : Le Multicast sur IP

COMMUNICATION PC/MINITEL

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

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

Structure d un programme

Systèmes et algorithmes répartis

Extrait des Exploitations Pédagogiques

Initiation à la Programmation en Logique avec SISCtus Prolog

Projet Active Object

Organigramme / Algorigramme Dossier élève 1 SI

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

Cours de Programmation Impérative: Zones de mémoires et pointeurs

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

chapitre 4 Nombres de Catalan

Machines virtuelles Cours 1 : Introduction

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

LES TYPES DE DONNÉES DU LANGAGE PASCAL

SAP BusinessObjects Web Intelligence (WebI) BI 4

Introduction aux Machines Virtuelles avec VMKit

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

Quatrième partie IV. Test. Test 15 février / 71

Recherche dans un tableau

Modélisation et Simulation

Equations cartésiennes d une droite

Transmission d informations sur le réseau électrique

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

Les processus légers : threads. Système L3, /31

SEANCE 4 : MECANIQUE THEOREMES FONDAMENTAUX

Chapitre I La fonction transmission

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Mesures d antennes en TNT

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Format de l avis d efficience

BI2 : Un profil UML pour les Indicateurs Décisionnels

CHALLENGE FORMULA CLASSIC

Transmissions série et parallèle

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Master d'informatique 1ère année Réseaux et protocoles. Couche physique

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

Algorithmique des Systèmes Répartis Protocoles de Communications

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

FLEX 3. Applications Internet riches avec Flash ActionScript 3, MXML et Flex Builder. Aurélien Vannieuwenhuyze

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

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

AIDE à l utilisation du cédérom «L athlétisme à l école» Niveau Primaire SOMMAIRE

Programmation linéaire

T101, serveur de temps haute précision

Exercices INF5171 : série #3 (Automne 2012)

Styler un document sous OpenOffice 4.0

Programmation assembleur : aperçu

hager Logiciel PC pour configurateur Radio Tebis TX 100 Manuel d utilisation 6T7266

I. TRANSMISSION DE DONNEES

Les algorithmes de base du graphisme

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

Les structures de données. Rajae El Ouazzani

Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2

Continuité et dérivabilité d une fonction

Programmation Orientée Objet

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

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

LE PROBLEME DU PLUS COURT CHEMIN

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

I. Descriptif de l offre. L offre Sage 100 Entreprise Edition Entreprise

Cours A7 : Temps Réel

Network musical jammin

Téléinformatique. Chapitre V : La couche liaison de données dans Internet. ESEN Université De La Manouba

Model checking temporisé

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Transcription:

Introduction aux automates Principes et exemples Pascal André IRIN Université de Nantes 2 rue de la Houssinière ; B.P. 92208 44322 Nantes Cedex 03 Pascal.Andre@irin.univ-nantes.fr Introduction aux automates p.1/38

Plan de l exposé 1. Les notions de base 2. Les propriétés 3. Modélisation de base 4. Extensions Introduction aux automates p.2/38

Plan de l exposé 1. Les notions de base 2. Les propriétés 3. Modélisation de base 4. Extensions Introduction aux automates p.3/38

Les notions de base Machine à états et variante [AV01] Définition 1.1 (Automate) Un automate est un quadruplet M = (, K,, K ) où (l alphabet d entrée) est un ensemble non vide, K est un ensemble non vide (les états), : (K ) K la relation de transition, K K l ensemble des états initiaux. Définition 1.2 (système de transitions) Un système de transitions est défini par un ensemble d états, un ensemble de transitions, une fonction d origine et une fonction de destination. Ces deux fonctions délivrent un état à partir d une transition. Un système de transition étiqueté associe une étiquette à chaque transition. Introduction aux automates p.4/38

Les notions de base Définition 1.3 (Chemin, Trace) Un chemin est une suite acceptable de transitions. La trace d un chemin est la suite des entrées qui lui sont associées. Bon nombre de propriétés des systèmes de transitions sont exprimées sur les traces (en utilisant des expressions régulières par exemple). Introduction aux automates p.5/38

Les notions de base Définition 1.4 (entrée vide) Une entrée vide, notée, est parfois ajoutée à. Elle représente l absence d étiquette sur la transition. Une transition étiquetée par est franchissable sans nécessiter l occurrence d une entrée. L automate est alors forcément non-déterministe. Les entrées peuvent être classées en internes/externes. Ceci correspond à une notion de visibilité ou d observabilité dans les traces. Introduction aux automates p.6/38

Les notions de base Représentation d états No 1 init int final initial intermédiaire final Représentation d états No 2 [ASU91] début init int final initial intermédiaire final Représentation d états No 3 [Arn92] init int initial intermédiaire Représentation d états No 4 (OMT)[RBP+91] int initial intermédiaire final Représentation de transition label état 1 label état 2 Introduction aux automates p.7/38

Les notions de base Différentes sortes d automates 1. Avec/sans états finaux 2. Avec/sans gardes, paramètres pour les entrées 3. Avec/sans fonction de sortie 4. Déterministe ou pas : la relation de transition devient une fonction 5. Typage des entrées, des sorties, des états 6. Composition et hiérarchisation des automates 7. Prise en compte du temps Introduction aux automates p.8/38

Plan de l exposé 1. Les notions de base 2. Les propriétés 3. Modélisation de base 4. Extensions Introduction aux automates p.9/38

Les propriétés 1. Propriétés propres aux automates fini déterministe minimal équivalence 2. Propriétés liées à la dynamique des systèmes Accessibilité Réinitialisabilité Vivacité Blocage Famine, Equité Introduction aux automates p.10/38

Les propriétés Expression des propriétés Logique des prédicats Logiques temporelles Algorithmes etc. Introduction aux automates p.11/38

Plan de l exposé 1. Les notions de base 2. Les propriétés 3. Modélisation de base 4. Extensions Introduction aux automates p.12/38

Modélisation de base Etats, transitions vide empiler 1_val dépiler empiler empiler dépiler 2_val... dépiler Figure 2 : Automate de la pile non bornée 1. Pour dépiler i.e. effectuer une transition étiquetée par dpiler, il faut avoir empilé auparavant i.e. être passé par une transition empiler. 2. Les empilements et dépilements se font dans un ordre absolument quelconque tant que la propriété 1 est vérifiée. Introduction aux automates p.13/38

Modélisation de base Les deux propriétés précédentes (1) et (2) sont facilement démontrables par une analyse des traces de cet automate. Ce que nous ne démontrons pas, c est que l élément dépilé est le dernier élément empilé. Cet automate ne permet pas de savoir ce que contient la pile, ni quel est l élément au sommet de cette pile. Tout ceci n est pas grave, tant que le but est de montrer l évolution de la pile dans le temps : son comportement dynamique. Introduction aux automates p.14/38

Modélisation de base Le problème majeur de cette pile est qu elle possède une infinité d états. Une réponse consiste à borner le nombre d états (le nombre d emplacements de la pile). empiler empiler empiler vide 1_val 2_val 3_val dépiler dépiler dépiler Figure 3 : Automate de pile bornée à trois emplacements Introduction aux automates p.15/38

Modélisation de base Un autre problème est que nous ne connaissons pas la nature des éléments empilés. Une réponse consiste à enrichir le vocabulaire d entrée en ajoutant pour toutes les valeurs possibles d entiers val l entrée empiler(val). empiler(1) empiler(2) dépiler(1) 1 dépiler(2) 21 vide empiler(2) empiler(1) dépiler(2) dépiler(1) Figure 4 : Automate de pile bornée d entiers à deux emplacements 2 12 Introduction aux automates p.16/38

Modélisation de base La figure précédente illustre cette méthode pour deux entiers. C est la méthode utilisée par de nombreux outils pour vérifier les propriétés d une spécification (model checking). Il est évident que l utilisation de paramètres de type simples, comme les entiers naturels, engendre une explosion combinatoire du nombre d états et de transitions. Une solution proposée est la vérification symbolique de modèles (symbolic model checking). Introduction aux automates p.17/38

Modélisation de base Limites Explosion combinatoire du nombre de transitions pour des valeurs différentes (exemple de la pile à deux emplacements) : explosion verticale. Explosion combinatoire du nombre d états pour de gros systèmes : explosion horizontale. Pauvreté (relative) de la description : Gardes Typage des entrées Expressions de sorties (traitements, événements) Informations d état Gérer la concurrence, gérer la complexité : composer des automates, hiérarchiser les états Introduction aux automates p.18/38

Plan de l exposé 1. Les notions de base 2. Les propriétés 3. Modélisation de base 4. Extensions Introduction aux automates p.19/38

Extensions vide Entrée générique empiler(x : int) empiler(x : int) empiler(x : int) dépiler 1_val dépiler 2_val 3_val... dépiler Figure 5 : Automate de pile avec transition générique non bornée Introduction aux automates p.20/38

Extensions Une garde est un prédicat associé à une transition. Une transition est dite passante si la garde associée est instanciée à vrai dans l état source. empiler(x : int) empiler(x : int) vide N_val [hauteur=1]dépiler [hauteur>1] dépiler Figure 6 : Automate de pile non bornée avec gardes Introduction aux automates p.21/38

Extensions Fonction de sortie SHLAER & MELLOR NumEtat. NomEtat Evt_id i : Evt_description i(param) Generate Evt_id1 : Evt_description1(param) Generate Evt_id2 : Evt_description2(param) UML NomEtat /action_v Etat_1 do: activité entry/ action exit/ action evt_i/ action_i événement (paramètres) / action ^evt_émis(param) Etat_2 evt_e/ action1 Introduction aux automates p.22/38

Extensions La fonction de sortie peut être associée aux : états - SHLAER & MELLOR. Les événements sont émis vers le système. Pas d ordre dans les émissions. transitions - SDL. Les événements sont émis vers des canaux de communications. Ordre possible. états et transitions - UML. Les événements sont émis vers des objets dont la classe est précisée. Pas d ordre. actions - activités. 1. Communication bipoint, diffusion 2. Synchronisation 3. Interne / externe Introduction aux automates p.23/38

Extensions Etats 1. Un état représente une étape dans le cycle de contrôle. Interprétation usuelle. 2. Un état est un processus. Activités 3. Un état est un automate. Structuration hiérarchique des automates (détails). 4. Un état résulte d un produit d automates concurrents (détails). 5. Un état est un ensemble de valeurs. Introduction aux automates p.24/38

Extensions - composition Produit libre empiler_1 empiler_1 vide, vide dépiler_1 1,vide dépiler_1 2,vide empiler_2 dépiler_2 empiler_2 dépiler_2 empiler_2 dépiler_2 empiler_1 empiler_1 vide,1 dépiler_1 1,1 dépiler_1 2,1 empiler_2 dépiler_2 empiler_2 dépiler_2 empiler_2 dépiler_2 empiler_1 empiler_1 vide,2 1,2 2,2 dépiler_1 dépiler_1 Introduction aux automates p.25/38

Extensions - composition Produit cartésien vide, vide 2,vide dépiler_1 dépiler_2 empiler_1 empiler_2 dépiler_2 empiler_1 empiler_2 dépiler_1 1,1 empiler_1 dépiler_2 empiler_2 empiler_1 dépiler_1 empiler_2 dépiler_2 dépiler_1 vide,2 2,2 Introduction aux automates p.26/38

Extensions - composition Produit synchronisé 1/3 Bi-pile série empiler décale dépiler empiler Pile bornée à deux places empiler dépiler Pile bornée à deux places Figure 7 : Piles en série Introduction aux automates p.27/38

Extensions - composition Produit synchronisé 2/3 Le vecteur de synchronisation s écrit : empiler :< empiler > décaler :< dépiler empiler> dépiler :< dépiler> Introduction aux automates p.28/38

Extensions - composition Produit synchronisé 3/3 empiler_1 empiler_1 vide, vide 1,vide 2,vide dépiler_2 dépiler_1 empiler_2 dépiler_2 dépiler_1 empiler_2 dépiler_2 empiler_1 empiler_1 vide,1 1,1 2,1 dépiler_2 dépiler_1 empiler_2 dépiler_2 dépiler_1 empiler_2 dépiler_2 empiler_1 empiler_1 vide,2 1,2 2,2 Introduction aux automates p.29/38

Extensions - communication Liaison 1/2 Emetteur Récepteur Commentaire 1 1 liaison bi-point 1 n liaison multi-point ou diffusion n 1 ou n liaison multiplexée Introduction aux automates p.30/38

Extensions - communication Liaison 2/2 AUTOMATE 0,n émetteur 1 adresse_a états transitions gardes... 0,n communique mode, param récepteur 2 AUTOMATE adresse_a états transitions gardes... 0,n 0,n émetteur récepteur 1,n 1,n COMMUNICATION num_com paramètres mode... Figure 8 : Représentation E/A de la communication Introduction aux automates p.31/38

Extensions - communication 1. Mode de communication (a) Synchrone. (b) Asynchrone. 2. Identification des automates. 3. Passage de paramètres (cf fonctions d entrée et de sortie) Introduction aux automates p.32/38

Extensions - hiérarchisation Statecharts de Harel Un état contient un ou plusieurs automates. Super-état, super-transition. Factorisation. Introduction aux automates p.33/38

Extensions - hiérarchisation Hiérarchique séquentiel Transmission Point mort passerma passerpm Marche arrière passerp passerpm Marche avant Première augmenter diminuer Deuxième augmenter diminuer Troisième augmenter diminuer Quatrième Figure 9 : Automate hiérarchique de la boîte de vitesse Introduction aux automates p.34/38

Extensions - hiérarchisation Hiérarchique séquentiel EnFonctionnement démarrage init init monter pallier Montée arrêt arrêt arrivée H* reprise stop reprise stoppé Figure 10 : Automate hiérarchique d un ascenseur Introduction aux automates p.35/38

Extensions - hiérarchisation Hiérarchique concurrent AutomateDeContrôleDeLaBi-Pile pile_bornée_1 empiler empiler vide 1_val 2_val pile_bornée_2 décaler/dépiler décaler/empiler décaler/dépiler décaler/empiler vide 1_val 2_val dépiler dépiler Figure 11 : Automate hiérarchique de la bi-pile Introduction aux automates p.36/38

Démarche de modélisation 1. Approche ascendante = composition 2. Approche descendante = hiérarchisation Introduction aux automates p.37/38

Bibliographie sommaire [AV01] Pascal André and Alain Vailly. Conception de Systèmes d Information, Panorama des méthodes et des techniques, volume 1 of Collection Technosup. Editions Ellipses, 2001. ISBN 2-7298-0479-X. Introduction aux automates p.38/38

References [AV01] Pascal André and Alain Vailly. Conception de Systèmes d Information, Panorama des méthodes et des techniques, volume 1 of Collection Technosup. Editions Ellipses, 2001. ISBN 2-7298-0479-X. 38-1