CONCEPTION DES LOGICIELS : Chapitre 4

26
J.Printz / CNAM - CMSL / Conception des logiciels - Modèles dynamiques / Vers. 5.0 Page 1 CONCEPTION DES LOGICIELS : Chapitre 4 Modèles dynamiques Pilotage et Contrôle des enchaînements C E N T R E D E M A IT R IS E D ES S YS TE M E S E T D U LO G IC IE L

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

Transcript of CONCEPTION DES LOGICIELS : Chapitre 4

Page 1: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 2: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 3: CONCEPTION DES LOGICIELS : Chapitre 4

J.Printz / CNAM - CMSL / Conception des logiciels - Modèles dynamiques / Vers. 5.0 Page 3

1ère partie

Processus et évènements

Page 4: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 5: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 6: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 7: CONCEPTION DES LOGICIELS : Chapitre 4

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)

Page 8: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 9: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 10: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 11: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 12: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 13: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 14: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 15: CONCEPTION DES LOGICIELS : Chapitre 4

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, …)

Page 16: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 17: CONCEPTION DES LOGICIELS : Chapitre 4

J.Printz / CNAM - CMSL / Conception des logiciels - Modèles dynamiques / Vers. 5.0 Page 17

Exemple N°1

Une boite de vitesse automatique

Page 18: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 19: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 20: CONCEPTION DES LOGICIELS : Chapitre 4

J.Printz / CNAM - CMSL / Conception des logiciels - Modèles dynamiques / Vers. 5.0 Page 20

Exemple N°2

Saisie d’information à l’écran

Page 21: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 22: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 23: CONCEPTION DES LOGICIELS : Chapitre 4

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

Page 24: CONCEPTION DES LOGICIELS : Chapitre 4

J.Printz / CNAM - CMSL / Conception des logiciels - Modèles dynamiques / Vers. 5.0 Page 24

Notion de hiérarchieétats-transitions

Page 25: CONCEPTION DES LOGICIELS : Chapitre 4

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)

Page 26: CONCEPTION DES LOGICIELS : Chapitre 4

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