39
Introduction aux automates Principes et exemples Pascal Andr ´ e IRIN Universit ´ e de Nantes 2 rue de la Houssini ` ere ; B.P. 92208 44322 Nantes Cedex 03 [email protected] Introduction aux automates – p.1/38

Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Introduction aux automatesPrincipes et exemples

Pascal Andre

IRIN

Universite de Nantes

2 rue de la Houssiniere ; B.P. 92208

44322 Nantes Cedex 03

[email protected]

Introduction aux automates – p.1/38

Page 2: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

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

Page 3: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

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

Page 4: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

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 unensemble non vide (les états),

: (K � �

) � K larelation 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 ensembled’états, un ensemble de transitions, une fonction d’origineet une fonction de destination. Ces deux fonctions délivrentun état à partir d’une transition. Un système de transitionétiqueté associe une étiquette à chaque transition.

Introduction aux automates – p.4/38

Page 5: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Les notions de base

Définition 1.3 (Chemin, Trace)Un chemin est une suite acceptable de transitions. Latrace d’un chemin est la suite des entrées qui lui sontassociées.

Bon nombre de propriétés des systèmes de transitions sontexprimées sur les traces (en utilisant des expressionsrégulières par exemple).

Introduction aux automates – p.5/38

Page 6: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

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 sansnécessiter l’occurrence d’une entrée. L’automate est alorsforcé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

Page 7: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Les notions de base

finalinit int

initial intermédiaire final

Représentation d’états No 1

initial intermédiaire final

init int final

état 2

initial intermédiaire final

début

intinit

initial intermédiaire

Représentation de transition

int

état 1label

label

Représentation d’états No 3 [Arn92]

Représentation d’états No 2 [ASU91]

Représentation d’états No 4 (OMT)[RBP+91]

Introduction aux automates – p.7/38

Page 8: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

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 devientune 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

Page 9: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

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

Page 10: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Les propriétés

1. Propriétés propres aux automatesfinidéterministeminimaléquivalence

2. Propriétés liées à la dynamique des systèmesAccessibilitéRéinitialisabilitéVivacitéBlocageFamine, Equité

Introduction aux automates – p.10/38

Page 11: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Les propriétés

Expression des propriétés

Logique des prédicats

Logiques temporelles

Algorithmes

etc.

Introduction aux automates – p.11/38

Page 12: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

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

Page 13: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Modélisation de base

Etats, transitions

vide 1_val

empiler

dépiler

empiler

dépiler

empiler

dépiler2_val . . .

Figure 2 : Automate de la pile non bornée

1. Pour dépiler i.e. effectuer une transition étiquetée pardpiler, il faut avoir empilé auparavant i.e. être passépar une transition empiler.

2. Les empilements et dépilements se font dans un ordreabsolument quelconque tant que la propriété 1 estvérifiée.

Introduction aux automates – p.13/38

Page 14: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Modélisation de base

Les deux propriétés précédentes (1) et (2) sont facilementdé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 pasde savoir ce que contient la pile, ni quel est l’élément ausommet de cette pile. Tout ceci n’est pas grave, tant que lebut est de montrer l’évolution de la pile dans le temps : soncomportement dynamique.

Introduction aux automates – p.14/38

Page 15: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Modélisation de base

Le problème majeur de cette pile est qu’elle possède uneinfinité d’états. Une réponse consiste à borner le nombred’états (le nombre d’emplacements de la pile).

vide 1_val

empiler

dépiler

empiler

dépiler

empiler

dépiler2_val 3_val

Figure 3 : Automate de pile bornée à trois emplacements

Introduction aux automates – p.15/38

Page 16: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Modélisation de base

Un autre problème est que nous ne connaissons pas lanature des éléments empilés. Une réponse consiste àenrichir le vocabulaire d’entrée en ajoutant pour toutes lesvaleurs possibles d’entiers val l’entrée empiler(val).

vide

dépiler(2)dépiler(1)

empiler(1) empiler(2)

dépiler(1)dépiler(2)

21

12

empiler(2) empiler(1)

1

2

Figure 4 : Automate de pile bornée d’entiers à deuxemplacements

Introduction aux automates – p.16/38

Page 17: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Modélisation de base

La figure précédente illustre cette méthode pour deuxentiers. C’est la méthode utilisée par de nombreux outilspour vérifier les propriétés d’une spécification (modelchecking). Il est évident que l’utilisation de paramètres detype simples, comme les entiers naturels, engendre uneexplosion combinatoire du nombre d’états et de transitions.Une solution proposée est la vérification symbolique demodèles (symbolic model checking).

Introduction aux automates – p.17/38

Page 18: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Modélisation de base

Limites

Explosion combinatoire du nombre de transitions pourdes valeurs différentes (exemple de la pile à deuxemplacements) : explosion verticale.

Explosion combinatoire du nombre d’états pour de grossystèmes : explosion horizontale.

Pauvreté (relative) de la description :GardesTypage des entréesExpressions de sorties (traitements, événements)Informations d’état

Gérer la concurrence, gérer la complexité : composerdes automates, hiérarchiser les états Introduction aux automates – p.18/38

Page 19: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

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

Page 20: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions

Entrée générique

videdépilerdépiler

2_val 3_val . . .1_valdépiler

empiler(x : int) empiler(x : int) empiler(x : int)

Figure 5 : Automate de pile avec transition générique nonbornée

Introduction aux automates – p.20/38

Page 21: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions

Une garde est un prédicat associé à une transition. Unetransition est dite passante si la garde associée estinstanciée à vrai dans l’état source.

vide

empiler(x : int)

N_val

empiler(x : int)

[hauteur>1] dépiler[hauteur=1]dépiler

Figure 6 : Automate de pile non bornée avec gardes

Introduction aux automates – p.21/38

Page 22: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions

Fonction de sortie

NomEtat

do: activité événement (paramètres) / actionentry/ actionexit/ action

evt_e/ action1

evt_i/ action_i

Etat_1

Etat_2

/action_vUML

^evt_émis(param)

NomEtat

Generate Evt_id1 : Evt_description1(param)Generate Evt_id2 : Evt_description2(param)

Evt_id i : Evt_description i(param)NumEtat.

SHLAER & MELLOR

Introduction aux automates – p.22/38

Page 23: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

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 descanaux de communications. Ordre possible.

états et transitions - UML. Les événements sont émisvers 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

Page 24: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

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 desautomates (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

Page 25: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions - composition

Produit libre

videvide, 2,vide1,vide

empiler_1 empiler_1

dépiler_1dépiler_1

empiler_2dépiler_2

empiler_2dépiler_2

empiler_2dépiler_2

empiler_2dépiler_2

empiler_2dépiler_2

empiler_2dépiler_2

1,1vide,1

empiler_1

dépiler_1 dépiler_1

empiler_1

2,1

empiler_1

dépiler_1 dépiler_1vide,2 1,2 2,2

empiler_1

Introduction aux automates – p.25/38

Page 26: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions - composition

Produit cartésien

videvide, 2,vide

vide,2

1,1

2,2

dépiler_2empiler_1

empiler_2empiler_1

dépiler_1dépiler_2

dépiler_2empiler_1

dépiler_1

empiler_2

empiler_2empiler_1

dépiler_2dépiler_1

empiler_2dépiler_1

Introduction aux automates – p.26/38

Page 27: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions - composition

Produit synchronisé 1/3

Pilebornéeà deuxplaces

Pilebornéeà deuxplacesdépiler

empiler

décale

dépiler

empiler

Bi-pile série

empiler

Figure 7 : Piles en série

Introduction aux automates – p.27/38

Page 28: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions - composition

Produit synchronisé 2/3

Le vecteur de synchronisation s’écrit :

empiler :< empiler �>

decaler :< depiler empiler>

depiler :< � depiler>

Introduction aux automates – p.28/38

Page 29: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions - composition

Produit synchronisé 3/3

videvide, 2,vide

1,1vide,1

dépiler_2

dépiler_2

dépiler_2empiler_2dépiler_1

dépiler_2empiler_2dépiler_1

dépiler_2

dépiler_2

empiler_2dépiler_1

empiler_2dépiler_1

1,vide

empiler_1 empiler_1

empiler_1 empiler_1

2,1

empiler_1

vide,2 1,2 2,2

empiler_1

Introduction aux automates – p.29/38

Page 30: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions - communication

Liaison 1/2

Emetteur Récepteur Commentaire1 1 liaison bi-point1 n liaison multi-point ou diffusionn 1 ou n liaison multiplexée

Introduction aux automates – p.30/38

Page 31: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions - communication

Liaison 2/2

...transitionsgardes...

transitionsgardes...

2

1

1,n

1,n

émetteur

récepteur

0,n

0,n

paramètres

émetteur

mode

récepteur

états

AUTOMATE

états

0,n

0,n

communique

mode, param

AUTOMATE COMMUNICATION

adresse_a

adresse_a

num_com

Figure 8 : Représentation E/A de la communication

Introduction aux automates – p.31/38

Page 32: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

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 desortie)

Introduction aux automates – p.32/38

Page 33: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions - hiérarchisation

Statecharts de Harel

Un état contient un ou plusieurs automates.

Super-état, super-transition.

Factorisation.

Introduction aux automates – p.33/38

Page 34: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions - hiérarchisation

Hiérarchique séquentiel

augmenter

diminuer

augmenter

diminuer

augmenter

diminuerPremière Deuxième

passerPM

Pointmort

Marchearrière

passerMA

passerPM

Troisième Quatrième

Marche avant

Transmission

passerP

Figure 9 : Automate hiérarchique de la boîte de vitesse

Introduction aux automates – p.34/38

Page 35: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions - hiérarchisation

Hiérarchique séquentiel

démarrage

stoppé

monter

pallier Montée

EnFonctionnement

arrivéearrêtarrêt

H*

reprisestop

initinit

reprise

Figure 10 : Automate hiérarchique d’un ascenseurIntroduction aux automates – p.35/38

Page 36: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Extensions - hiérarchisation

Hiérarchique concurrent

vide 1_val 2_val

empiler empiler

décaler/dépiler décaler/dépiler

vide 1_val 2_val

décaler/empiler décaler/empiler

dépiler dépiler

AutomateDeContrôleDeLaBi-Pile

pile_bornée_1

pile_bornée_2

Figure 11 : Automate hiérarchique de la bi-pileIntroduction aux automates – p.36/38

Page 37: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Démarche de modélisation

1. Approche ascendante = composition

2. Approche descendante = hiérarchisation

Introduction aux automates – p.37/38

Page 38: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

Bibliographie sommaire

[AV01] Pascal André and Alain Vailly. Conception de Systèmesd’Information, Panorama des méthodes et destechniques, volume 1 of Collection Technosup. EditionsEllipses, 2001. ISBN 2-7298-0479-X.

Introduction aux automates – p.38/38

Page 39: Introduction aux automatespagesperso.lina.univ-nantes.fr/~andre-p/download/coursAutom.pdf · Hiérarchique séquentiel augmenter diminuer augmenter diminuer augmenter diminuer Première

References

[AV01] Pascal Andre and Alain Vailly. Conception de

Systemes d’Information, Panorama des methodes et

des techniques, volume 1 of Collection Technosup.

Editions Ellipses, 2001. ISBN 2-7298-0479-X.

38-1