Les automates tats desmachines logiques Organisation - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Les automates tats desmachines logiques Organisation

Description:

Praxime, initiative pour une m thode publique. Les automates tats ... par les activit s l mentaires sont doubl es de transitions conditionnelles ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 28
Provided by: ole58
Category:

less

Transcript and Presenter's Notes

Title: Les automates tats desmachines logiques Organisation


1
Les automates à états des machines logiques
 Organisation 
 La théorie sans la pratique est inutile la
pratique sans la théorie est aveugle.  Immanuel
Kant
2
Objectif de la séquence
  • Compétence visée
  • Pré-requis
  • Pouvoir lire la notation complète du diagramme à
    états dUML

Comprendre l'intérêt des automates de MLO et être
capable de les concevoir
Durée de la séquence 1/2 h
3
Contenu de la séquence
  • Lautomate du cas dutilisation
  • La dérivation de lautomate
  • Loptimisation du comportement

4
Lautomate du cas dutilisation
1
  • Lautomate pilote le cas dutilisation
  • Il fixe la logique minimale qui contraint
    le dialogue homme-machine
  • En exprimant les contraintes dordonnancement par
    un automate, on échappe à une logique trop
    linéaire
  • Cf. stage  Modélisation amont 

5
Lautomate du cas dutilisation exemple
  • Un diagramme détats résumé
  • Pour le cas dutilisation  Déclarer un sinistre 

Début du cas
Étatrésumé
Lacteurdu casdutilisation
Fin du cas
6
Lautomate du cas dutilisation exemple (suite)
  • Le détail de lautomate pour une activité en
    cours
  • Létat  Déclaration Sinistre  dans lautomate
    du  cas dutilisation  Déclarer un sinistre 

Activités élémentaires mentionnées comme
opérationsqui réalisent (par commodité)
7
Les conditions
  • Les conditions de garde contraignent le
    déclenchement des transitions
  • Dans le modèle pragmatique, elles sont exprimées
    en langage naturel
  • Exemples tirés de lautomate du cas dutilisation
     Décrire un sinistre 
  •  Aucune opération financière autre
    qu'évaluation 
  • Sur la transition  saisir plan de
    coassurance 
  •  Famille sinistre sélectionnée 
  • Pour passer à létat  Sinistre décrit 

8
La dérivation de lautomate
2
  • Par rapport à lautomate à états utilisé
    dans le modèle pragmatique, lautomate à états
    dans le modèle logique est
  • Moins expressif
  • Réduction du formalisme
  • Plus formel
  • Exigence dexpression non ambiguë
  • Dans les termes du modèle logique

9
Lautomate du modèle logique
  • Il reprend lautomate du cas dutilisation
  • Dans sa forme et dans son contenu
  • Les états
  • Les transitions
  • Les conditions
  • Il ajoute les éléments propres à la machine
    logique
  • Les transitions de début et de fin
  •  démarrer 
  •  arrêter 
  • Il formalise les expressions
  • /

10
Le formalisme de lautomate à états
  • Dans le modèle logique
  • Pas dévénement
  • Ni déclencheur, ni émis
  • La seule communication est lappel de service
  • Pas dactivité au sein des états
  • Pas de transition automatique
  • Conditions exprimées formellement
  • Conditions de garde
  • Sur les transitions
  • Conditions détat
  • Expression formelle associée à la définition de
    létat

11
Lexpression formelle
 Exprimer formellement  signifie en
nutilisant que les termes du modèle logique
  • Pour la documentation de lautomate
  • Les conditions qui apparaissent sur les
    diagrammes détats
  • Le contenu des notes  Pseudo-code 
  • Lexpression des informations
  • À partir de lattribut  sd  de la machine
  • Par notation pointée
  • Sans déclencher dautres services logiques
  • Pas de propagation

12
Exemple 1
  • Dérivation du diagramme détats résumé
  • Pour le cas dutilisation  Déclarer un
    sinistre 
  • Atomate attaché à la MLO  MoDeclarerSinistre 

Démarragede la machine
Service logique
Renommagedes états
Arrêt dela ML
13
À retenir
  • Sur la transition
  • Le service logique est à la fois déclencheur
    et réalisateur de la transition
  • Le déclencheur est lappel du service
  • Pas dévénement
  • Sur létat
  • Les libellés détats sont réécrits avec les
    conventions
  •  Camel 
  • Pas de caractères accentués, ni de séparateurs
  • Les transitions génériques
  •  démarrer 
  •  arreter 

14
Exemple 2
  • Le détail de lautomate pour une activité en
    cours
  • Létat  DeclarationSinistre  dans lautomate de
    la MLO  MoDeclarerSinistre 

Toutes les actions permises sont indiquées
15
À retenir
  • Sur lautomate des MLO
  • Quand un service apparaît sur le diagramme
    détats,il nest activable que sur les
    transitions où il figure
  • Le concepteur doit donc rechercher toutes les
    situations dans lesquelles laction élémentaire
    est permise
  • Cela conduit à ajouter des transitions qui ont pu
    être oubliées sur lautomate du cas dutilisation
  • Quand un service nest pas pris en compte
    dans lautomate, cest quil est autorisé quel
    que soit létat de la machine

16
La réécriture des conditions
  • Les conditions sont reformulées dans les termes
    du modèle logique
  • Exemples tirés de lautomate du cas dutilisation
     Décrire un sinistre 
  •  Aucune opération financière autre
    qu'évaluation 
  • Sur la transition  saisir plan de
    coassurance 
  • ?  FamilleSinistreSelectionnee
    non(InfoDecrireSinistre.sinistre.cdFamilleSinistre
    .estVide()) 
  •  Famille sinistre sélectionnée 
  • Pour passer à létat  Sinistre décrit 
  • ?  NoSinistreAttribue non(InfoDecrireSinistre
    .sinistre.noSinistre.estVide()) 

17
Les conditions détats
  • Tout état dun automate à états doit être
    documenté
  • Il possède une définition
  • Note  Description 
  • Sur létat correspondant dans le modèle
    pragmatique
  • Sa description comprend les conditions
  • Même note, en langage naturel
  • La condition détat est réécrite en termes
    logiques
  • Dans lautomate du modèle logique

18
Les conditions détats exemple
  • Cas dutilisation  Relier les sinistres 
  • État  Connexion identifiée 
  • Contenu de la note  Description 
  •  Un groupe de connexité est identifié (N de
    groupe de connexité). 
  • Machine  MoRelierSinistres 
  • État  ConnexionIdentfiee 
  • Contenu de la note  Pseudo-code 
  •  conditionsEtat non(sd.connexite.estVide()) 
  • Précision
  • Il sagit dune condition sur le dialogue, pas
    sur linformation  métier 
  • Dans lexemple cest différent de létat
     Relié  sur le sinistre

19
Loptimisation du comportement
3
  • Pour améliorer le fonctionnement des machines
    logiques  Organisation 
  • Pour augmenter le confort dutilisation offert
    par le système

20
Rappels
  • La MLO sert le dialogue homme-machine
  • Elle est sollicitée par la strate
     Présentation 
  • Les IHM
  • Elle fournit la matière pour exécuter un cas
    dutilisation
  • Lautomate contrôle le dialogue
  • Il assure le respect dune logique
    dordonnancement minimale
  • Le cas dutilisation se confond avec la
     transaction fonctionnelle 
  • Un même cas dutilisation permet la réalisation
    de plusieurs types d  actes de gestion 

21
Les pistes damélioration
  • On souhaite améliorer le fonctionnement des MLO
  • La MLO se configure pour le traitement dun flux
  • Flux reçu de la strate  Présentation 
  • Service  demarrer  sur la transition initiale
  • Le contenu de ce flux dépend de lavancement
    dans le cas dutilisation
  • Il se sagit pas de rejouer toutes les actions
    élémentaires pour se positionner sur le bon état
  • En interprétant le contenu du flux, la machine
    doit se positionner elle-même dans létat
    approprié
  • De plus, on peut envisager de doter la MLO
    dune mémoire pour permettre à lutilisateur
    de reprendre un travail interrompu

22
Loptimisation
  • La solution passe par un enrichissement de
    lautomate de MLO
  • Les transitions déclenchées par les activités
    élémentaires sont doublées de transitions
    conditionnelles
  • Les conditions portent sur le contenu de
    linformation disponible
  • Le flux reçu par la MLO
  • La vérification de ces conditions déclenche la
    transition
  • En UML  When ( lt condition gt ) 
  • Le plus souvent, ces conditions reprennent
    la définition de létat darrivée

23
Le problème sur un exemple
  • Sur lautomate de  MoDeclarerSinistre 
  • Condition détat pour  CirconstancesSaisies 
  • La date de déclaration doit être saisie
  • Ceci sobtient par la première activation du
    service  saisirCirconstancesSinistre 

Transition réflexive pour permettre la saisie
dans létat
Transition  normale 
Condition détat
24
La solution la transition doptimisation
  • Quand la machine est sollicitée de nouveau
  • Pour la continuation du dialogue
  • Après échange avec le strate  Présentation 
  • Au sein du même dialogue
  • Après reprise du dialogue
  • Après interruption

Mot réservé du pseudo-code Amos désigne la
condition de létat destinataire
Mot réservé en UML la vérification de la
condition déclenche la transition
Transition doptimisation
25
Conclusion sur loptimisation
  • Grâce aux conditions doptimisation, la MLO se
    repositionne dans létat le plus avancé
  • Par interprétation du flux quelle reçoit
  • Si la MLO dispose dun support de masse pour
    stocker les flux
  • Le système senrichit dune possibilité de
    reprise sur des dialogues interrompus

26
Récapitulatif des acquis
  • Rappel de la compétence visée
  • Notions clefs de cette séquence
  • Lautomate sur les cas dutilisation
  • Lautomate sur les MLO
  • Les restrictions de notation liées aux automates
    du modèle logique
  • Les transitions doptimisation


Comprendre l'intérêt des automates de MLO et être
capable de les concevoir
Compétence Performance
27
Gamme opératoire
  • Tâches du concepteur
  • Analyse de lautomate du modèle pragmatique
  • Si lautomate à états du cas dutilisation
    nexiste pas
  • Soit, le dialogue na pas de contrainte
    dordonnancement
  • Soit, il faut construire lautomate à partir de
    spécifications fonctionnelles informelles
  • Formalisation des états de lautomate
  • Formalisation des conditions de transition
  • Vérification des services de réalisation des
    transitions
  • Toutes les transitions sont-elles pourvues dun
    service qui les réalise ?


Compétence Performance
Write a Comment
User Comments (0)
About PowerShow.com