Chapitre 12.6 Diag Etat Trans

Embed Size (px)

Citation preview

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    1/48

    IGL301 - 1

    Diagramme tat-transition

    (ref : Bray section 12.6 - pages

    266 283 et article Desharnais,., !rappier, "., "ili, #.: $tate%ransition Diagrams. &

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    2/48

    IGL301 - 2

    Diagrammes tat-transition

    ' atomate' machine tats finie

    ) "ealy) "oore

    ' machine tats ten*e

    ) $D+) statechart) "

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    3/48

    IGL301 - 3

    #tomate *terministe

    ' strctre (,,,/0& o) : ensemle *es tats

    : alphaet : fonction *e transition *finie sr

    ) /0 : tat initial

    ) pet assi inclre lensemle !

    *es tatsfina4

    ' latomate est *it dterministepc/ est nefonction plt5t /ne relation

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    4/48

    IGL301 - 4

    #tomate : reprsentation

    graphi/e

    /0 /1 /2a

    c

    7/0, /1, /2

    7a, , c 7(/0,a&/1, (/1,&/1, (/1,c&/2

    ! 7/2

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    5/48

    IGL301 - 5

    #tomate : mo*lisation

    ' on sen sert por rprsenter les s/ences*9nements 9ali*es *n systme

    ' n 9menent pet pren*re plsiers formes) ne entre, ne sortie, n appel *e mtho*e, etc' les tats sont so9ent ne astraction *e ltat

    * systme

    ) haitellement impossile *e reprsenter tos lestats * systme a9ec n atomate) fonit n point *e 9e partiel

    ' *ifficile *e reprsenter le paralllisme

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    6/48

    IGL301 - 6

    ;4ercice 1

    '

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    7/48

    IGL301 - 7

    $oltion 1

    /0 /1crer emprnter

    /2 reno9eler

    retorner

    information implicite et limitations'point *e 9e *n li9re selement'ne4prime pas les contraintes sr le memre

    'limite *e pr?t'nin*i/e pas si n memre pet emprnter plsiers li9res la fois

    spprimer

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    8/48

    IGL301 -

    ;4ercice 2

    ' #@oter les rser9ations le4erciceprc*ent

    ' Dcri9e= les limitations et lesinformations implicites

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    9/48

    IGL301 - !

    $oltion 2

    /0 /1crer emprnter

    /2

    reno9eler

    retorner

    /3rser9er

    /A

    retornerpr?ter

    $res

    /rser9er

    /6

    retorner

    pr?ter$res

    limitations et informations implicites'ne reprsente /e *e4 rser9ations la fois

    'impossile *e reprsenter totes les rser9ations'ne4prime pas les contraintes sr le memre :

    'lemprnter corant ne pet rser9er son li9re'rser9ations ser9ies *ans lor*re *arri9e, mais annls *ans nimporte/el or*re

    rser9er

    annlers annlers

    """

    """

    spprimer

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    10/48

    IGL301 - 10

    ;4ercice 3

    ' Dcompose= 9otre spcification enplsiers *iagrammes

    ' ;4prime= les liens entre les*iagrammes

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    11/48

    IGL301 - 11

    ;4ercice A

    ' Ccri9e= le pse*o-co*e *nprogramme /i traite les 9nements

    *ne ilioth/e) soye= le pls prcis possile

    ) faites rfrence a mo*le *e *onnes

    ) *onne= totes les prcon*itions et totesles mises--@or *e cha/e 9nement

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    12/48

    IGL301 - 12

    ;4ercice A (site&

    ' traite= les 9nements si9ants :creer

    emprunter

    renouveler

    retourner

    supprimer

    inscrire

    dsinscrire

    reserver

    preterSurRes

    annulerRes

    afficherPrets

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    13/48

    IGL301 - 13

    ;4ercice

    ' Dcri9e= les liens entre 9os atomateset 9otre pse*o-co*e por la

    ilioth/e) in*i/e= /el tat * systmecorrespon* n tat *e latomate

    ) in*i/e= le lien entre les prcon*itions *es

    9nements et le pse*o-co*e) in*i/e= les forces et les limitations *e la

    notation *atomate

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    14/48

    IGL301 - 14

    $oltion

    ' limitations *es atomates) les paramtres *entre et *e sortie *es

    9nements ne sont pas e4plicites) *ifficile *e reprsenter entirement

    lespace * systme) *ifficile *e *onner totes les prcon*itions

    ) ne *onne pas les messages *errers) comment *terminer si n programme

    satisfait n atomateEEE

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    15/48

    IGL301 - 15

    ;4ercice 6

    ' $pcifie= lai*e *n atomate lecomportement *n systme

    tlphoni/e *e ase (>%$&) *croche=

    ) composer n nmro

    ) rpon*re n appel' i*entifie= ien les entres et les sorties

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    16/48

    IGL301 - 16

    ;4ercice 6 (site&

    ' faire le mo*le conceptel *e *onnes* >%$

    ' faire le *iagramme *e classe * >%$' faire les cas *tilisation * >%$

    ' /els liens y a-t-il entre ces*iagrammes

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    17/48

    IGL301 - 17

    ;4ercice F

    ' Dfinisse= la notion */i9alence *e*e4 atomates

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    18/48

    IGL301 - 1

    "achine tats finie

    ' propos par "ealy et "oore (sparment&) "ealy : sortie associe ne transition

    ) "oore : sortie associe n tat' *istinge entre les entres et les sorties) sr rception *ne entre, ne sortie est pro*ite

    ' *istinction a9ec atomate

    ) atomate ne *istinge pas entre et sortie) on i*entifie *ans le te4te accompagnant latomate

    la natre *n 9nement (entre o sortie&

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    19/48

    IGL301 - 1!

    "achine tats *e "ealy

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    20/48

    IGL301 - 20

    "achine *e "ealy :

    con9ention' transition s1 --- i G o --H s2:

    ) si lentre i est reIe alors /e le systme est

    *ans ltat s1, la sortie o est pro*ite et le no9eltat * systme est s2

    ) i est assi appel le *clencher (trigger&

    : sortie inintressante, o asente

    ' si ne entre est reIe et /acnetransition nest *finie por cette entre, il nese passe rien (lentre est ignore&

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    21/48

    IGL301 - 21

    ;4ercice

    ' $pcifier ne pile a9ec ne machine *e"ealy

    " hi " l l

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    22/48

    IGL301 - 22

    "achine "ealy : e4emple*ne pile

    tat initial

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    23/48

    IGL301 - 23

    Jaractristi/es *ne

    machine *e "ealy' non hirarchi/e

    ' n tat *note ltat complet *

    systme' le systme est *ans n sel tat la

    fois

    ' ne transition est atomi/e elle ne pet?tre *compose

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    24/48

    IGL301 - 24

    $/ence : *finitions

    ' $K *note lensemle *e totes less/ences (inclant la s/ence 9i*e &formes partir *lments *e $

    ' $L *note lensemle *e totes less/ences non 9i*es formes partir*lments *e $

    ' $K $L 7' on *note par t1t2 la concatnation *ess/ence t1 et t2

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    25/48

    IGL301 - 25

    "achine *e "ealy :

    smanti/e

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    26/48

    IGL301 - 26

    Diagramme tat-transition

    gnralis' plsiers notations tilises

    ) $D+

    ) $tatechart) "

    ) a* hoc (e4: celle * li9re&

    $%D l * i h t

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    27/48

    IGL301 - 27

    $%D : e4emple *n gichetancaire comment

    *terminergoo* oa*E

    el est

    ltatinitialE

    trigger

    action

    tat

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    28/48

    IGL301 - 2

    $%D : e4emple *ne pile

    (

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    29/48

    IGL301 - 2!

    $D+

    ' $D+ - $pecification an* Description+angage

    ' norme JJM%%

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    30/48

    IGL301 - 30

    $D+State

    Transition

    Trigger

    Response(action with output)

    Action (no output)

    Decision

    or

    or

    Message

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    31/48

    IGL301 - 31

    $D+ - Nichet ancaire

    Awaitcard

    AwaitPIN

    Display

    "Re-try"

    Display

    "nter card"

    !ect card

    Await

    aountDispense

    cash

    Aount

    entered

    #st

    try

    $

    %N

    &ardentry

    'oodPIN

    (ad

    PIN

    Press

    ND

    Display

    "nter card"

    Retain card

    Display"nter PIN"

    Display

    "select

    aount"

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    32/48

    IGL301 - 32

    $D+ - Joncrrence

    n traitpointill*note nen9oi *emessage

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    33/48

    IGL301 - 33

    $D+ - %emporisater (timer&

    Ti"er #

    # secs

    Ti"er #

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    34/48

    IGL301 - 34

    $D+ - ;4emple temporisater

    $D+ e4emple alarme

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    35/48

    IGL301 - 35

    $D+ - e4emple alarmeincen*ie

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    36/48

    IGL301 - 36

    ;4ercice 8

    ' $pcifier le comportement *n li9rea9ec $D+

    ' prene= en compte les pr?ts, lesrser9ations et les retar*s

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    37/48

    IGL301 - 37

    $tatechart

    ' machine tats hierarchi/e

    ' concrrence

    ' actions associes a4 transitions et a4tats

    ' con*ition associe a4 transitions

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    38/48

    IGL301 - 3

    statechart - notation

    trigger #g$ard% &

    action

    1

    state '

    2

    state (

    )ad *I+ #1stattept%2

    aait

    *I+

    1

    aait card

    entr.

    card

    entered

    )ad *I+ #2nd attept%&

    e/ect cardgood *I+ etc"

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    39/48

    IGL301 - 3!

    $tatechart - tat hirarchi/e

    1

    2

    1"2

    1"1

    1

    2

    3

    4

    2

    5

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    40/48

    IGL301 - 40

    $tatechart - hirarchisation

    3

    2

    1

    4

    3

    4 2

    3

    2

    1

    4

    3

    2

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    41/48

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    42/48

    IGL301 - 42

    $tatechart - hirarchisation

    cass

    editing

    )oat

    editing

    race

    editing

    series

    editing

    entr.

    editing

    res$ts

    editing

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    43/48

    IGL301 - 43

    $tatechart - hirarchisation

    ces *e4notations sont/i9alentes

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    44/48

    IGL301 - 44

    $tatechart - hirarchisation

    cass

    editing

    )oat

    editing

    race

    editing

    series

    editing

    entr.

    editingres$ts

    editing

    cass-)$tton series-)$tton race-)$tton

    res$ts-)$tton

    )oat-)$tton entr.-)$tton

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    45/48

    IGL301 - 45

    $tatechart - concrrence

    aait I

    signa

    aait 2nd

    I signa

    10 sec,aait 2nd

    soe signa

    aait soe

    signa

    aar off

    aar on

    ve-ve

    aar

    signa reset

    soe

    signa tie-o$t

    soe

    signa&

    send

    aar

    signa

    ve&

    send

    aar

    signa

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    46/48

    IGL301 - 46

    ;4ercice O

    ' Donne= n statechart por le systme*e gichet ancaire

    ' Donne= n statechart por le >%$

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    47/48

    IGL301 - 47

    %>A - partie M' $pcifie= lai*e *n statechart n for micro-on*e ayant les

    caractristi/es si9antes) trois ni9ea4 *e tempratre (loP, me*im, high&) timer (chronomtre&) *efrost (3 tapes *e *re gale : la premire high, la *e4ime me*im

    et la *ernire loP&) programmation @s/ 3 tapes o ltilisater pet spcifier la tempratre

    et la *re

    ) *finisse= les toches appropries et ralistes por permettre ltilisater*tiliser ces fonctions) par soci *e simplicit, ne spcifie= pas laffichage lcran spcifie=

    selement les actions *e contr5le por llment chaffant et les alarmessonores (fin *e cisson o fin *n timer, par e4emple&

    ) *cri9e= le traitement *es actions sos forme *e pse*o-co*e /an* cela estncessaire

    ) *clare= les 9ariales *tat /e 9os tilise= *ans les actions

  • 7/25/2019 Chapitre 12.6 Diag Etat Trans

    48/48

    %>A - partie MM

    '