260 likes | 372 Views
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.
E N D
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 Processus et évènements
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
Processus de transformation • Exemple de transformation : enchaînement nominal, sans aléa Recueil de l'information en provenance des sources SAISIE Contrôle de la saisie et mise en forme pour optimiser les traitements VÉRIFICATION ET CODAGE Transformation de l'information avec ou sans l'aide d'opérateurs humains, en 1 ou N étapes. TRAITEMENT TRAITEMENT TRAITEMENT Contrôle de la cohérence des résultats COHÉRENCE DES RÉSULTATS Mise en forme pour exploitation par un autre système ou des opérateurs humains ÉDITION DÉCODAGE • NOTION DE CHAÎNE DE TRAITEMENTS QUI MET EN ÉVIDENCE LA TRANSFORMATIONPROGRESSIVE DE L'INFORMATION (Cf. ARCHITECTURE EN COUCHES)
Vecteur d'état Vecteur d'état Vecteur d'état Vecteur d'état Vecteur d'état Pilotage, contrôle, intégrité • Prise en compte des aléas C'est nécessairement un processus de type moniteur P1 PILOTE P2 P3 Agent de surveillance intégré au processus de transformation P4 Intégrité P5 Peut être effectuée en temps réel ou en temps différé selon les exigences
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 vielimitéeau 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 physiquementl'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)
a a a a a a a a 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) d 1. r1 = c d 2. r2 = b + r1 3. a = r2 c c c r1 + + + + + b b b b b r2 = = = = = = = Émissions des résultats successifs
Les événements (3/3) Pilote (Télécom) Demande de connexion du terminal TX Msg : m2, m3, …, mx Msg : m1 Activation d’une fonction f dans un des processus P • Nécessitent des canaux réservés et/ou prioritaires—>ressources fixes Intégrité Contrôle VERS LES PROCESSUS DE TRAITEMENTS Msg : mi1 la fonction fx du processus Py est défaillante
2ème partie Diagramme d’activités Diagramme de séquences
Rappel • Les 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 • UML • Notations des Statechart de D.Harel • Inté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
Exemple N°1 : Diagramme de collaboration et séquence Frontière du système Collaboration de n objets Objet 1 Objet 2 Objet 3 Objet n • • • Les acteurs (humains et/ou autres systèmes) Description textuelle ou en pseudo-langage des opérations du point de vue des acteurs Une opération de l’objet est effectuée Ligne de vie de l’objet Temps
Exemple N°2 : Diagramme d’activités Début Pas de café Pas d’eau Sélection boisson Café Eau Abandon Mettre le café dans un filtre Mettre de l’eau dans le réservoir Prendre une tasse Activités // Prendre la bouteille d’eau Mettre le filtre dans la machine Allumer la machine Activités séquentielles Préparer le café Verser le café dans la tasse Boire Fin Point de rendez-vous
3ème partie Pilotage et Contrôle des enchaînements - Notions d’états-transitions Présentation intuitive
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, …)
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
Exemple N°1 Une boite de vitesse automatique
Description d’une boite de vitesse • 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 Marche Arrêt SI vitesse = 0 AR PM AV1 AV2 10 Transitions autorisées : Représentées par des + 2 transitions Marche/Arrêt AV3
Exemple N°2 Saisie d’information à l’écran
Saisie écran d’un N° de sécurité sociale Boutons de saisie Sexe Année Mois Département N° Etat civil Marche Début de l’activation de l’écran de saisie Cas N°1 Début S Fin • 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 A Erreur M D Arrêt Fin de l’activation de l’écran de saisie EC
Saisie du N° avec contrôle pas à pas Cas N°2 Début S Err#1 Fin • 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#2 A M Err#3 Err#4 D EC Err#5
Saisie du N° à la volée Cas N°3 Début S Err#1 C Fin • 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 Si chaque champ a été saisi Err#2 A M Err#3 Err#4 D EC Err#5
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)
Tableau de bord Activation 1 Niveau 1 Activation 2 Niveau 2.1 Etats, transitions, actions caractéristiques du niveau 2.1 Niveau 2.2 Etats, transitions, actions caractéristiques du niveau 2.2 Retour 2 Retour 1