diagramme tat transition l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Diagramme état-transition PowerPoint Presentation
Download Presentation
Diagramme état-transition

Loading in 2 Seconds...

play fullscreen
1 / 48

Diagramme état-transition - PowerPoint PPT Presentation


  • 294 Views
  • Uploaded on

Diagramme état-transition. (ref : Bray section 12. 6 - pages 2 66 à 2 83 et article Desharnais, J., Frappier, M., Mili, A.: State Transition Diagrams. ). Diagrammes état-transition. automate machine à états finie Mealy Moore machine à états étendue SDL statechart ROOM.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Diagramme état-transition' - vine


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
diagramme tat transition

Diagramme état-transition

(ref : Bray section 12.6- pages 266 à 283 et article Desharnais, J., Frappier, M., Mili, A.: State Transition Diagrams. )

IGL301 - Spécification et vérification des exgiences

diagrammes tat transition
Diagrammes état-transition
  • automate
  • machine à états finie
    • Mealy
    • Moore
  • machine à états étendue
    • SDL
    • statechart
    • ROOM

IGL301 - Spécification et vérification des exgiences

automate d terministe
Automate déterministe
  • structure (Q,,,q0) où
    • Q : ensemble des états
    •  : alphabet
    •  : fonction de transition définie sur Q    Q
    • q0  Q : état initial
    • peut aussi inclure l’ensemble F  Q des états finaux
  • l’automate est dit déterministe pcq  est une fonction plutôt qu’une relation

IGL301 - Spécification et vérification des exgiences

automate repr sentation graphique
Automate : représentation graphique

b

a

c

q0

q1

q2

Q = {q0, q1, q2}

 = {a, b, c}

 = {(q0,a) q1, (q1,b) q1, (q1,c) q2}

F = {q2}

IGL301 - Spécification et vérification des exgiences

automate mod lisation
Automate : modélisation
  • on s’en sert pour réprésenter les séquences d’évènements valides d’un système
  • un évèmenent peut prendre plusieurs formes
    • une entrée, une sortie, un appel de méthode, etc
  • les états sont souvent une abstraction de l’état du système
    • habituellement impossible de représenter tous les états du système avec un automate
    • founit un point de vue partiel
  • difficile de représenter le parallélisme

IGL301 - Spécification et vérification des exgiences

exercice 1
Exercice 1
  • Utilisez un automate pour spécifier le comportement d’une bibliothèque
  • Prenez en compte seulement les prêts de livres aux membres
  • Décrivez les limitations et les informations implicites

IGL301 - Spécification et vérification des exgiences

solution 1
Solution 1

créer

emprunter

q0

q1

q2

renouveler

retourner

supprimer

  • information implicite et limitations
  • point de vue d’un livre seulement
  • n’exprime pas les contraintes sur le membre
    • limite de prêt
    • n’indique pas si un membre peut emprunter plusieurs livres à la fois

IGL301 - Spécification et vérification des exgiences

exercice 2
Exercice 2
  • Ajouter les réservations à l’exercice précédent
  • Décrivez les limitations et les informations implicites

IGL301 - Spécification et vérification des exgiences

solution 2
Solution 2

annulerRés

renouveler

annulerRés

...

créer

emprunter

q0

q1

q5

q2

réserver

q3

réserver

réserver

prêterSurRes

retourner

retourner

retourner

supprimer

prêterSurRes

q4

q6

...

  • limitations et informations implicites
  • ne représente que deux réservations à la fois
  • impossible de représenter toutes les réservations
  • n’exprime pas les contraintes sur le membre :
    • l’emprunteur courant ne peut réserver son livre
    • réservations servies dans l’ordre d’arrivée, mais annulés dans n’importe quel ordre

IGL301 - Spécification et vérification des exgiences

exercice 3
Exercice 3
  • Décomposez votre spécification en plusieurs diagrammes
  • Exprimez les liens entre les diagrammes

IGL301 - Spécification et vérification des exgiences

exercice 4
Exercice 4
  • Écrivez le pseudo-code d’un programme qui traite les évènements d’une bibliothèque
    • soyez le plus précis possible;
    • faites référence au modèle de données;
    • donnez toutes les préconditions et toutes les mises-à-jour de chaque évènement

IGL301 - Spécification et vérification des exgiences

exercice 4 suite
Exercice 4 (suite)
  • traitez les évènements suivants :

creer <idLivre> <titre> <auteur> <dateAcquisition>

emprunter <idLivre> <idMembre> <dateEmprunt>

renouveler <idLivre> <dateRenouvellement>

retourner <idLivre> <dateRetour>

supprimer <idLivre>

inscrire <idMembre> <nom> <telephone> <limitePret>

désinscrire <idMembre>

reserver <idReservation> <idLivre> <idMembre><dateReservation>

preterSurRes <idReservation> <dateEmprunt>

annulerRes <idReservation>

afficherPrets

IGL301 - Spécification et vérification des exgiences

exercice 5
Exercice 5
  • Décrivez les liens entre vos automates et votre pseudo-code pour la bibliothèque
    • indiquez à quel état du système correspond un état de l’automate
    • indiquez le lien entre les préconditions des évènements et le pseudo-code
    • indiquez les forces et les limitations de la notation d’automate

IGL301 - Spécification et vérification des exgiences

solution 5
Solution 5
  • limitations des automates
    • les paramètres d’entrée et de sortie des évènements ne sont pas explicites
    • difficile de représenter entièrement l’espace du système
    • difficile de donner toutes les préconditions
    • ne donne pas les messages d’erreurs
    • comment déterminer si un programme satisfait un automate???

IGL301 - Spécification et vérification des exgiences

exercice 6
Exercice 6
  • Spécifiez à l’aide d’un automate le comportement d’un système téléphonique de base (POTS)
    • décrochez
    • composer un numéro
    • répondre à un appel
  • identifiez bien les entrées et les sorties

IGL301 - Spécification et vérification des exgiences

exercice 6 suite
Exercice 6 (suite)
  • faire le modèle conceptuel de données du POTS
  • faire le diagramme de classe du POTS
  • faire les cas d’utilisation du POTS
  • quels liens y a-t-il entre ces diagrammes

IGL301 - Spécification et vérification des exgiences

exercice 7
Exercice 7
  • Définissez la notion d’équivalence de deux automates

IGL301 - Spécification et vérification des exgiences

machine tats finie
Machine à états finie
  • proposé par Mealy et Moore (séparément)
    • Mealy : sortie associée à une transition
    • Moore : sortie associée à un état
  • distingue entre les entrées et les sorties
    • sur réception d’une entrée, une sortie est produite
  • distinction avec automate
    • automate ne distingue pas entrée et sortie
    • on identifie dans le texte accompagnant l’automate la nature d’un évènement (entrée ou sortie)

IGL301 - Spécification et vérification des exgiences

machine tats de mealy
Machine à états de Mealy

IGL301 - Spécification et vérification des exgiences

machine de mealy convention
Machine de Mealy : convention
  • transition s1 --- i / o --> s2:
    • si l’entrée i est reçue alors que le système est dans l’état s1, la sortie o est produite et le nouvel état du système est s2
    • i est aussi appelé le déclencheur (trigger)
  •   O : sortie inintéressante, ou absente
  • si une entrée est reçue et qu’aucune transition n’est définie pour cette entrée, il ne se passe rien (l’entrée est ignorée)

IGL301 - Spécification et vérification des exgiences

exercice
Exercice
  • Spécifier une pile avec une machine de Mealy

IGL301 - Spécification et vérification des exgiences

machine mealy exemple d une pile
Machine Mealy : exemple d’une pile

état initial

IGL301 - Spécification et vérification des exgiences

caract ristiques d une machine de mealy
Caractéristiques d’une machine de Mealy
  • non hiérarchique
  • un état dénote l’état complet du système
  • le système est dans un seul état à la fois
  • une transition est atomique; elle ne peut être décomposée

IGL301 - Spécification et vérification des exgiences

s quence d finitions
Séquence : définitions
  • S* dénote l’ensemble de toutes les séquences (incluant la séquence vide ) formées à partir d’éléments de S
  • S+ dénote l’ensemble de toutes les séquences non vides formées à partir d’éléments de S
  • S* = S+  {}
  • on dénote par t1t2 la concaténation des séquence t1 et t2

IGL301 - Spécification et vérification des exgiences

machine de mealy s mantique
Machine de Mealy : sémantique

IGL301 - Spécification et vérification des exgiences

diagramme tat transition g n ralis
Diagramme état-transition généralisé
  • plusieurs notations utilisées
    • SDL
    • Statechart
    • ROOM
    • ad hoc (ex: celle du livre)

IGL301 - Spécification et vérification des exgiences

std exemple d un guichet bancaire
STD : exemple d’un guichet bancaire

comment déterminer good ou bad?

Quel est l’état initial?

action

trigger

état

IGL301 - Spécification et vérification des exgiences

std exemple d une pile uml
STD : exemple d’une pile (UML)

IGL301 - Spécification et vérification des exgiences

slide29
SDL
  • SDL - Specification and Description Language
  • norme CCITT

IGL301 - Spécification et vérification des exgiences

slide30
SDL

Message

State

Transition

Trigger

or

Response

or

(action with output)

Action

(no output)

Decision

IGL301 - Spécification et vérification des exgiences

sdl guichet bancaire
SDL - Guichet bancaire

IGL301 - Spécification et vérification des exgiences

sdl concurrence
SDL - Concurrence

un trait pointillé dénote un envoi de message

IGL301 - Spécification et vérification des exgiences

sdl temporisateur timer
SDL - Temporisateur (timer)

Timer 1

10 secs

Timer 1

IGL301 - Spécification et vérification des exgiences

sdl exemple temporisateur
SDL - Exemple temporisateur

IGL301 - Spécification et vérification des exgiences

sdl exemple alarme incendie
SDL - exemple alarme incendie

IGL301 - Spécification et vérification des exgiences

exercice 8
Exercice 8
  • Spécifier le comportement d’un livre avec SDL
  • prenez en compte les prêts, les réservations et les retards

IGL301 - Spécification et vérification des exgiences

statechart
Statechart
  • machine à états hierarchique
  • concurrence
  • actions associées aux transitions et aux états
  • condition associée aux transitions

IGL301 - Spécification et vérification des exgiences

statechart notation

1

state A

2

await PIN

2

state B

1

await card entry

statechart - notation

trigger (guard) / action

card entered

bad PIN (1st attempt)

etc.

bad PIN (2nd attempt)/

eject card

good PIN

IGL301 - Spécification et vérification des exgiences

statechart tat hi rarchique

1

2

1.2

1.1

Statechart - état hiérarchique

T1

T5

T2

T3

T4

T2

IGL301 - Spécification et vérification des exgiences

statechart hi rarchisation

T4

T4

T3

T3

T4

T2

T2

3

2

1

3

2

1

Statechart - hiérarchisation

IGL301 - Spécification et vérification des exgiences

statechart historique

1

1.2

1.1

2

T2

H

T3

T4

Statechart - historique

IGL301 - Spécification et vérification des exgiences

statechart hi rarchisation42

class

editing

boat

editing

race

editing

series

editing

results

editing

entry

editing

Statechart - hiérarchisation

IGL301 - Spécification et vérification des exgiences

statechart hi rarchisation43
Statechart - hiérarchisation

ces deux notations sont équivalentes

IGL301 - Spécification et vérification des exgiences

statechart hi rarchisation44

class

editing

boat

editing

race

editing

series

editing

results

editing

entry

editing

class-button

series-button

race-button

results-button

boat-button

entry-button

Statechart - hiérarchisation

IGL301 - Spécification et vérification des exgiences

statechart concurrence

await IR signal

await 2nd

IR signal

alarm off

alarm on

< 10 sec,

await 2nd smoke signal

await smoke signal

Statechart - concurrence

smoke

signal/

send alarm signal

smoke

signal

+ve/

send alarm signal

alarm signal

+ve

time-out

reset

-ve

IGL301 - Spécification et vérification des exgiences

exercice 9
Exercice 9
  • Donnez un statechart pour le système de guichet bancaire
  • Donnez un statechart pour le POTS

IGL301 - Spécification et vérification des exgiences

tp4 partie i
TP4 - partie I
  • Spécifiez à l’aide d’un statechart un four micro-onde ayant les caractéristiques suivantes
    • trois niveaux de température (low, medium, high)
    • timer (chronomètre)
    • defrost (3 étapes de durée égale : la première à high, la deuxième à medium et la dernière à low)
    • programmation jusqu’à 3 étapes où l’utilisateur peut spécifier la température et la durée
    • définissez les touches appropriées et réalistes pour permettre à l’utilisateur d’utiliser ces fonctions
    • par souci de simplicité, ne spécifiez pas l’affichage à l’écran; spécifiez seulement les actions de contrôle pour l’élément chauffant et les alarmes sonores (fin de cuisson ou fin d’un timer, par exemple)
    • décrivez le traitement des actions sous forme de pseudo-code quand cela est nécessaire
    • déclarez les variables d’état que vous utilisez dans les actions

IGL301 - Spécification et vérification des exgiences

tp4 partie ii
TP4 - partie II
  • Utilisez un statechart pour spécifier un aspect de votre projet de session
  • Décrivez le problème sous forme textuelle et donnez le statechart
  • La taille du problème doit être similaire à celle du micro-onde
  • Soyez suffisamment précis pour qu’un observateur externe (comme moi) qui ne connait pas du tout le problème puisse interpréter votre spécification sans ambiguïté

IGL301 - Spécification et vérification des exgiences