Upload
shona
View
43
Download
0
Embed Size (px)
DESCRIPTION
CONCEPTION DES LOGICIELS : Chapitre 4. Modèles dynamiques Pilotage et Contrôle des enchaînements. Plan du chapitre. Processus et évènements Diagramme d’activités - Diagramme de séquences Pilotage et Contrôle des enchaînements - Notions d’états-transitions. 1 ère partie. - PowerPoint PPT Presentation
Citation preview
J.Printz / CNAM - CMSL / Conception des logiciels - Modèles dynamiques / Vers. 5.0 Page 1
CONCEPTION DES LOGICIELS : Chapitre 4
Modèles dynamiquesPilotage et Contrôle des enchaînements
C E N T R E D E
M A I T R I S E D E S
S Y S T E M E S E T
D U L O G I C I E L
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 2
Plan du chapitre
• Processus et évènements• Diagramme d’activités - Diagramme de séquences• Pilotage et Contrôle des enchaînements - Notions
d’états-transitions
J.Printz / CNAM - CMSL / Conception des logiciels - Modèles dynamiques / Vers. 5.0 Page 3
1ère partie
Processus et évènements
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 4
Processus et évènements
Les 2 types de processus• Transformation• Réaction
Pilotage / contrôle / régulation moniteurs d’enchaînements Généralement assuré par les différents moniteurs du système d’exploitation et/ou de
la plate-forme d’exécution Intégrité / sécurité / surveillance des ressources system management, capacity
planning Fortement dépendant de la finalité du système (sûreté de fonctionnement)
Les événements• Ce qui affecte les éléments essentiels du système et nécessite généralement
une réaction immédiate Événements externes
Information prioritaire Événements internes (« homéostasie »)
Saturation des ressources ; États incohérents ; Défaillances et pannes
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 5
TRAITEMENTTRAITEMENT
Processus de transformation
Exemple de transformation : enchaînement nominal, sans aléa
SAISIE
VÉRIFICATIONET
CODAGE
TRAITEMENT
COHÉRENCEDES
RÉSULTATS
ÉDITIONDÉCODAGE
Recueil de l'informationen provenance des sources
Contrôle de la saisieet mise en forme pouroptimiser les traitements Transformation de
l'information avec ou sansl'aide d'opérateurs humains,en 1 ou N étapes.
Contrôle de la cohérencedes résultats
• NOTION DE CHAÎNE DE TRAITEMENTS QUI MET EN ÉVIDENCE LA TRANSFORMATION PROGRESSIVE DE L'INFORMATION (Cf. ARCHITECTURE EN COUCHES)
Mise en forme pourexploitation par unautre système ou desopérateurs humains
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 6
Pilotage, contrôle, intégrité
Intégrité
P2
P1PILOTE
Peut être effectuée en temps réel ou en temps différé selon les exigences
C'est nécessairement unprocessus de typemoniteur
Vecteur d'état
Prise en compte des aléas
P3
P5
P4
Agent de surveillance intégré au processus de transformation
Vecteur d'état
Vecteur d'état
Vecteur d'état
Vecteur d'état
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 7
Les événements (1/3)
Définition Éléments du réel qui affectent fonctionnellement le système
Localisés dans l’espace et dans le temps Durée de vie limitée
au delà d'une certaine durée, si l'événement n'a pas été pris en compte, il est considéré comme perdu intégrité, risques
Le système évolue en fonction du mode de traitement des événements Hors temps réel En temps réel : temps réflexe / temps réfléchi
Remarques : Certains évènements affectent physiquement l'intégrité et la mission du
système (e.g. perte d'un équipement essentiel, etc.) ; Ils nécessitent un traitement spécifiquefonctions de intégrité/contrôle system management, capacity planning, administration système, sécurité, gestion technique centralisée)
Aspects combinatoires : n évènements arrivant dans un ordre quelconque n! (factorielle n configurations)
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 8
Les événements (2/3)
L'ordre d’arrivée des évènements est une contrainte fondamentale (notion d’ordonnancement) Économiser les ressources Logique de traitement
Événements : e1 , e2 , e3 , … , ei , … À trier selon le critère de stockage
Stockage : A1 A2 … Aj … An
Sens de parcours de l'élément de stockage minimiser les I/Os
Événements : a = b + c d Saisie d’une expression arithmétique sur une calculette (structure arborescente)
=a a a a a a a
= = = = = =b b b b b+ + + +
c c c
d
+r1
r2
a
1. r1 = c d2. r2 = b + r13. a = r2
Émissions des résultats successifs
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 9
Les événements (3/3)
IntégritéContrôle VERS LES
PROCESSUSDE TRAITEMENTS
Demande de connexion du terminal TX
la fonction fx du processus Py est défaillante
• Nécessitent des canaux réservés et/ou prioritaires—>ressources fixes
Pilote(Télécom)Msg : m1
Msg : m2, m3, …, mx
Msg : mi1
Activation d’une fonction f dans un des
processus P
J.Printz / CNAM - CMSL / Conception des logiciels - Modèles dynamiques / Vers. 5.0 Page 10
2ème partie
Diagramme d’activitésDiagramme de séquences
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 11
RappelLes modèles dynamiques sont présents dans toutes les
méthodologies usuelles• MERISE
Tentative avortée d’emploi des réseaux de Petri
• SADT / SART
• OMT
• UMLNotations des Statechart de D.HarelIntégration probable du langage SDL
Tous les diagrammes décrivant les modèles sont des représentations plus ou moins visuelles et/ou graphiques d’automates à états finis
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 12
Exemple N°1 : Diagramme de collaboration et séquence
Objet 1 Objet 2 Objet nObjet 3 • • •
Frontière du système
Les acteurs (humains et/ou autres systèmes)
Ligne de vie de l’objet Une opération de l’objet est effectuée
Collaboration de n objets
Temps
Description textuelle ou en pseudo-langage
des opérations du point de vue des acteurs
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 13
Exemple N°2 : Diagramme d’activités
Sélection boisson
Mettre le café dans un filtre
Mettre de l’eau dans le réservoir
Prendre une tasse
Mettre le filtre dans la machine
Café
Allumer la machine
Préparer le café
Verser le café dans la tasse
Boire
Pas de café
Prendre la bouteille d’eau
Eau
Pas d’eauDébut
Fin
Point de rendez-vous
Activités séquentielles
Act
ivit
és //
Abandon
J.Printz / CNAM - CMSL / Conception des logiciels - Modèles dynamiques / Vers. 5.0 Page 14
3ème partie
Pilotage et Contrôle des enchaînements - Notions
d’états-transitions Présentation intuitive
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 15
Définitions et termes usuels (1/2)
Comportement• Description des interactions du système avec son
environnement Enchaînement des opérations Durée des opérations Surveillance des opérations
Événements• Modifications de l’environnement nécessitant une
notification au système pour que ce dernier s’adapte Événements externes Événements internes (i.e. interruptions, time-out, défaillances, …)
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 16
Définitions et termes usuels (2/2)
État• Une configuration possible du système déterminée par
des valeurs particulières des variables du système considérées comme caractéristiques du système
Notion de vecteur d’état et de combinatoire d’états
Transition entre états• Parmi les différents états du système, les transitions
caractérisent les enchaînements possibles Action
• Traitements à effectuer Sur un état du système (à l’entrée ou à la sortie de l’état) Sur une transition
J.Printz / CNAM - CMSL / Conception des logiciels - Modèles dynamiques / Vers. 5.0 Page 17
Exemple N°1
Une boite de vitesse automatique
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 18
Description d’une boite de vitesse
AR PM
AV3
AV2
AV1
Marche
5 états :
• Point morts PM
• Marche avant 1 AV1
• Marche avant 2 AV2
• Marche avant 3 AV3
• Marche arrière AR
+ 2états Marche/Arrêt
10 Transitions autorisées :
Représentées par des
+ 2 transitions Marche/Arrêt
Arrêt
SI vitesse = 0
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 19
Représentation matricielle
Ligne Colonne
M PM AR AV1 AV2 AV3 A
M
PM
AR
AV1
AV2
AV3
A
J.Printz / CNAM - CMSL / Conception des logiciels - Modèles dynamiques / Vers. 5.0 Page 20
Exemple N°2
Saisie d’information à l’écran
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 21
Saisie écran d’un N° de sécurité sociale
Sexe Année Mois Département N° Etat civilBoutons de saisie
Début
Erreur
S
A
M
D
EC
Fin
Cas N°1
La saisie des information se fait dans l’ordre S/A/M/D/EC.
Toute erreur provoque une réinitialisation du processus de saisie.
• 8 états
• 12 transitions
Marche
Arrêt
Début de l’activation de l’écran de saisie
Fin de l’activation de l’écran de saisie
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 22
Saisie du N° avec contrôle pas à pas
Début S
A
M
D
EC
Fin
Cas N°2
La saisie des information se fait dans l’ordre S/A/M/D/EC.
Les erreurs associées à un champ de saisie sont contrôlées immédiatement.
Tous les messages sont spécifiques.
• 12 états
• 16 transitions
Err#1
Err#2
Err#3
Err#4
Err#5
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 23
Saisie du N° à la volée
Début S
A
M
D
EC
Fin
Cas N°3
La saisie des information se fait dans un ordre S/A/M/D/EC quelconque.
Les erreurs associées à un champ de saisie sont contrôlées immédiatement.
Tous les messages sont spécifiques.
Le processus se termine quand tous les champs sont saisis
• 13 états
• 22 transitions
La souplesse d’emploi se traduit par :
• Plus d’états
• Plus de transitions entre états
Err#1
Err#2
Err#3
Err#4
Err#5
C
Si chaque champ a été saisi
J.Printz / CNAM - CMSL / Conception des logiciels - Modèles dynamiques / Vers. 5.0 Page 24
Notion de hiérarchieétats-transitions
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 25
Objectifs
Eviter de surcharger les diagrammes avec des informations inutiles dans le contexte opérationnel
Même principe de structuration que la programmation structurée et/ou les hiérarchies de la programmation objet
Respect des règles de l’ergonomie si l’actionneur est un opérateur humain
7 boutons par diagramme/écran (Cf. mémoire court terme)
J.Printz / CNAM - CMSL / Conception des logiciels – Modèles dynamiques / Vers. 5.0 Page 26
Tableau de bordActivation 1Activation 1
Etats, transitions, actions caractéristiques du niveau 2.1
Etats, transitions, actions caractéristiques du niveau 2.2
Activation 2Activation 2
Niveau 1
Niveau 2.1
Niveau 2.2
Retour 2Retour 2
Retour 1Retour 1