Mod - PowerPoint PPT Presentation

About This Presentation
Title:

Mod

Description:

un tat initial s0 S. la s mantique. ensemble de toutes les suites possibles de inputs ... g n re un v nement ailleurs dans la description. modifie une ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 54
Provided by: najih
Category:
Tags: ailleurs | alarme | allumer | mod

less

Transcript and Presenter's Notes

Title: Mod


1
  • 4
  • Modèles et langages

Les statecharts
2
Les diagrammes Etat/Transition
  • Les diagrammes Etat/Transition (général)
  • le modèle
  • ensemble d'états S nœuds du graphe
  • ensemble de transitions T S x I ? S arcs du
    graphe
  • ensemble d'inputs I (ou événements) étiquette de
    arcs
  • un état initial s0 ? S
  • la sémantique
  • ensemble de toutes les suites possibles de inputs
  • gt
  • ensemble de toutes les suites possibles
    d'événements
  • scénarios possibles
  • comportements possibles

3

Les diagrammes Etat/Transition - Exemple - 1
événement_1
événement_2
événement_1
événement_1
événement_2
événement_3
4

Les diagrammes Etat/Transition - Exemple - 2
5

Les diagrammes Etat/Transition - Exemple - 3
read
produce
C2
P2
C1
P1
write
consume
producteur
consommateur
write
write
0
1
2
read
read
tampon
6

Les diagrammes Etat/Transition - Exemple - 3 (bis)
7
Les diagrammes Etat/Transition
  • Les diagrammes Etat/Transition caractéristiques
  • modélisation du contrôle (de la dynamique)
  • modélisation exhaustive tous les scénarios
  • modélisation simple et lisible (et formel)
  • modélisation opérationnelle
  • équivaut à une grammaire ? interprétation /
    simulation possible
  • pas de concurrence, pas de // , pas de temps
    réel
  • besoin de structuration
  • états hiérarchiques et/ou complémentaires)
  • besoin de distinction des statuts des arcs
  • conditions / événements - externes /
    internes - ...
  • besoin d'outils de simulation

8
les statecharts
  • Les "statechart"s
  • Sur base des diagrammes d'états classiques avec
  • transitions déclenchées par des triggers qui sont
    des événements et/ou des conditions, externes ou
    internes
  • à une transition on associe un concept d'action
    si la transition a lieu l'action est exécutée
  • mécanisme de structuration hiérarchique (les
    petits états dans les grands (composition XOR)
  • mécanisme de composition orthogonale
    (composition AND)
  • accent sur le langage graphique (des
    constructeurs syntaxiques utiles)

9
les statecharts notation d'un diagramme d'état
conventionnel
trigger eventcondition/action
10
  • Exemple complet
  • le système est un moniteur qui reçoit le signal
    d'un senseur externesi le senseur est connecté
    le moniteur traite le signal, si la valeur du
    signal est en dehors d'une intervalle définie, le
    système affiche un message et lance une alarme,
    si l'opérateur ne répond pas à l'alarme dans un
    délai fixé le système arrête le monitoring et
    envoie un message.
  • l'opérateur peut ajuster l'intervalle des valeurs
    acceptables après un arrêt dû à la détection
    d'une anomalie ou après un autre arrêt volontaire
    de l'opérateur.

11
Exemple première analyse du moniteur
  • Etats
  • en attente
  • en marche pour traiter le signal
  • en réglage
  • alarme déclenchée
  • Evénements
  • externes
  • démarrer le traitement du signal lancer
  • démarrer le réglage début_réglage
  • revenir à l'état d'attente reset
  • internes
  • fin_réglage provient d'une horloge interne si
    pas de commande de réglage pendant plus de x
    secondes
  • time_out provient d'une horloge interne si
    l'alarme est déclenchée depuis plus de y secondes
    sans réaction
  • valeur_anormale provient de la comparaison de
    la valeur captée par le senseur avec les limites
    fixées par l'utilisateur

12

exemple (1)
lancer
reset
time_out
valeur_anormale
début_réglage
fin_réglage
reset
13
  • les conditions
  • un trigger de transition eventcond / action
  • condition seule cond
  • la condition est testée tant qu'on est dans
    l'état du départ de la transition, si elle est
    vraie la transition a lieu immédiatement
  • événement seul event
  • la transition a lieu immédiatement quand
    l'événement a lieu
  • événement conditionnel eventcond
  • la condition est testée à l'instant où
    l'événement a lieu, si elle est vraie la
    transition a lieu sinon pas de transition

14

exemple (2)
lancersignal_capté
reset
time_out
valeur_anormale
début_réglage
fin_réglage
reset
15

exemple (2.bis)
lancer
signal_non_capté
reset
time_out
valeur_anormale
début_réglage
fin_réglage
reset
16

exemple (2ter)
signal_non_capté
signal_capté
lancer
C
reset
valeur_anormale
début_réglage
fin_réglage
time_out
reset
17
  • les connecteurs - 1
  • un connecteur sur une transition peut être vu
    comme un faux état (état sans durée)
  • il permet de scinder une partie de l'expression
    du trigger eventcond en deux (ou plus)
  • équivalent à deux transitions (ou plus)
  • il permet de factoriser une partie commune de
    l'expression d'un trigger eventcond
  • un connecteur "condition" factorisation de
    la partie event

18
  • Les actions
  • un trigger de transition eventcond / action
  • l'action est lancée immédiatement quand la
    transition a lieu (si cette transition a lieu)
  • une action
  • génère un événement ailleurs dans la description
  • modifie une condition
  • modifie une donnée
  • décrit un autre effet ...
  • une transition peut déclencher plusieurs actions
    simultanées eventcond / action1 action2
    action3

19
Exemple.3
exemple (3)
lancersignal_capté
reset
valeur_anormale
début_réglage
fin_réglage
time_out/message_1
reset
20
Exemple.3bis
exemple (3bis)
signal_non_capté/message_2
signal_capté
lancer
C
reset
valeur_anormale
début_réglage
fin_réglage
time_out/message_1
reset
21
La décomposition hiérarchique des états
  • Décomposition hiérarchique des états
  • problème la complexité des diagrammes à partir
    d'un certain nombre d'états
  • idée un diagramme d'état peut être vu comme un
    état simple (clustering) et il sera intégré dans
    un diagramme de plus haut niveau qui, à son tour,
    peut être vu comme un état simple...
  • principe on sait qu'à un moment donné le
    système se trouve dans un seul état
  • au niveau cluster on voit tout un diagramme
    comme un état ---gt on ne voit pas dans quel état
    élémentaire il se trouve
  • au niveau diagramme détaillant cet état cluster
    --gt on voit les transitions internes dans ce
    cluster
  • questions gérer la dépendance
  • entrer dans un cluster / entrer dans ses
    composantes
  • sortir du cluster / sortir des composantes

22

exemple (4)
lancé
lancersignal_capté
reset
valeur_anormale
début_réglage
fin_réglage
time_out/message_1
23

exemple (4bis)
allumer
On
Off
éteindre
lancersignal_capté
reset
valeur_anormale
début_réglage
fin_réglage
time_out/message_1
reset
24

exemple (4ter)
On
lancersignal_capté
reset
allumer
valeur_anormale
début_réglage
fin_réglage
time_out/message_1
reset
éteindre
25
Entrer et sortir d'un état cluster
  • entrer et sortir d'un état cluster
  • Une entrée à la bordure d'un état cluster
    équivaut àune entrée à l'état marqué "entrée par
    défaut" parmi ses états composants (ses
    descendants) une entrée directe à un état
    descendant est toujours possible
  • Une sortie de la bordure du cluster provoque la
    sortie de l'état descendant dans lequel il se
    trouve quelque soit cet état une sortie
    directe d'un état descendant est toujours possible

26
La décomposition des états en état orthogonaux
  • décomposition des états en états orthogonaux
  • problème l'explosion combinatoire du nombre
    d'états à partir d'une certaine complexité du
    comportement à décrire.
  • idée identifier des parties d'un comportement
    comme des comportements (quasi-)autonomeset les
    décrire séparément par des diagrammes
    "orthogonaux"
  • principe à tout moment le système se trouve à
    un état précis de chacun de ses diagrammes
    orthogonaux
  • questions gérer la dépendance
  • actions d'un diagramme / événements d'un
    diagramme orthogonal
  • événement des différents diagrammes orthogonaux
  • gt (synchronisation)
  • ...

27

états orthogonaux décomposition AND
événement_4
Etat_X
événement_3
événement_1
événement_1
événement_2/Action_X
Etat_Y
événement_1
événement_2/Action_X
événement_3/Action_Y
28

exemple (5)
signal_non_capté/message_2
signal_capté
lancer
C
connecter
déconnecter
reset
valeur_anormale
début_réglage
fin_réglage
time_out/message_1
reset
go
stop
29

exemple (5)
signal_non_capté/message_2
signal_capté/go
lancer
C
connecter
déconnecter
reset / stop
valeur_anormale/ stop
début_réglage
fin_réglage
time_out/message_1
reset
go
stop
30
  • Synchronisation entre états orthogonaux (1)
  • actions / événements
  • Une action générée dans un étatpeut être (peut
    provoquer) un événement dans dans un état
    orthogonal
  • Une action générée dans un état peut être
    "captée" dans tous les états orthogonaux

31

exemple (5bis)
connecter
déconnecter
go
stop
32
synchronisation d'états orthogonaux
  • Synchronisation entre états orthogonaux (2)
  • états / conditions
  • être ou ne pas être dans un état peut être vu et
    utilisécomme condition dans un état orthogonal
  • in (state) / not in (state)
  • si le système est dans un état il est dans tous
    ses sous-états

33
synchronisation d'états orthogonaux
  • Synchronisation entre états orthogonaux (3)
  • états / événements
  • l'entrée et la sortie d'un état peuvent être vues
    et utilisées comme événements dans un état
    orthogonal
  • en(state) entered (state) / ex(state)
    exited (state)
  • si le système entre dans un état S, il déclenche
    en(S) mais aussi en(AS) pour tout état AS qui est
    ancêtre de A dans lequel il ne se trouvait pas
    quand S est rentré
  • si le système sort d'un état S, il déclenche
    ex(S) mais aussi ex(AS) pour tout état AS qui est
    ancêtre de A dans lequel il ne se trouve pas
    après la transition S

34
Exemple.6
exemple (6)
in(Déconnecté)/message_2
in(Connecté)/go
lancer
connecter
C
déconnecter
reset / stop
valeur_anormale/ stop
début_réglage
fin_réglage
en(Traitement)
time_out/message_1
reset
ex(Traitement)
35
  • l'orthogonalité multi niveaux
  • la découpe (AND)
  • peut s'effectuer à plusieurs niveaux imbriqués

36
Exemple.6bis
exemple (6bis)
in(Déconnecté)/message_2
in(Connecté)/go
lancer
connecter
C
déconnecter
reset / stop
Connecté
valeur_anormale/ stop
début_réglage
fin_réglage
time_out/message_1
in(Traitement)
reset
ex(Traitement)
en marche
calcul
échantillonnage
37
  • Factorisation et connecteurs
  • C-connecteurs conditions
  • conditions mutuellement exclusives (sinon
    non-déterminisme)

Evc1
c1
Ev
C
c2
Evc2
38
  • factorisation et connecteurs
  • S-connecteurs switch connectors
    (factorisation des événements)

démarrer_une_commande
lancer
reset
S
début_réglage
Revient à nommer un nouveau événement pour
l'utiliser plus tard
39
  • factorisation et connecteurs
  • généralisation les connecteurs de jonctions
  • principe
  • répartir les événements/condition et actions sur
    un graphe
  • un seul chemin est parcouru
  • le temps de parcours est toujours nul

E1/A1
E1 E2 /A1A2
E2/A2
40

factorisation et connecteurs
reset
reset
reset
41

factorisation et connecteurs
reset/stop
valeur_anormale/ stop
/stop
reset
valeur_anormale
42

factorisation et orthogonalité
E1/A1
E
E2/A2
le déclencheur est E1 et E2 et E3
43

factorisation et orthogonalité
entrée en Et1 mais aussi Et3
44

factorisation et orthogonalité

E
je sors si je suis en Et4 et Et5 et que E arrive
45

factorisation et orthogonalité
je sors aussi de Et3 ou de Et5
46
Entrée et sauvegarde de l'histoire
  • l'histoire et sa sauvegarde
  • problème
  • quand un état "cluster" est quitté on oublie tout
    ce qui s'est passé si on re-rentre on doit
    prendre l'état initial. Or, on souhaite parfois
    retrouver un état "cluster" là ou l'a quitté
  • idée
  • indiquer à un état "cluster" de se rappeler le
    dernier état visité
  • une notation supplémentaire pour une entrée
    'avec souvenance'
  • question
  • gestion d'une entrée standard et d'une entrée
    avec souvenance
  • quid des états imbriqués ? gt distinction
    historique superficielle à une couche H
    historique profond à tous les niveaux H

47

exemple (7)
connecter
déconnecter
H
in(Traitement)
ex(Traitement)
48

exemple (8)
connecter
déconnecter
H
rapide
lent
49
les réseaux de Petri
  • Réseaux de Petri
  • modélisation principalement du contrôle
  • - modélisation asynchrone et non déterministe
  • concurrence - inter-blocage (deadlock) - famine
    (starvation)
  • le modèle
  • ensemble de places P (premier type de nœuds)
  • ensemble de transitions T (second type de nœuds)
  • ensemble d'arcs reliant places à transition ou
    l'inverse A P x T U T x P
  • un marquage des places M M P ? Int
  • un entier (nombre de jetons) associé à chaque
    place
  • règles
  • une transition t peut avoir lieu (enabled) si le
    nombre de jetons de chaque place entrante est gt 0
  • si une transition est effectuée un jeton est
    retiré de chaque place entrante et un jeton est
    ajouté à chaque place sortante

50
Réseau de Petri processus concurrents parallèles
1
t0
0
cobegin
0
0
0
t3
t2
t1
0
0
0
coend
0
51
Réseau de Petri exemple ?
deadlock
52
Réseau de Petri exemple ?
exclusion mutuelle
53
Réseau de Petri exemple producteur/consommateur/
buffer
Write a Comment
User Comments (0)
About PowerShow.com