IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev
Sommaire L’activité de modélisation Le début de la modélisation La méthode d’analyse structurée
Éléments du Modèle d’AS entité-association Diagramme de flot de données Diagramme état-transition Description des données Spécification des processus (PSPEC) du contrôle (CSPEC) Dictionnaire
Sommaire L’activité de modélisation Le début de la modélisation La méthode d’analyse structurée Le modèle entité-association (E-A) Les diagrammes de flot de données (DFD) Les diagrammes d’état-transition (E-T) Dictionnaire des données (DdD)
Modéliser le Comportement événements comportement Application Monde extérieur
Concepts de Base État = un ensemble de paramètres (circonstances) observables qui caractérisent le comportement d’un système à un moment donné. Ex. inactif, calcul en cours, aucun fichier ouvert (MS Word), etc. Transition d’état = le passage d’un état à un autre Ex. terminaison de session, début de calcul, etc. Événement = une occurrence qui force le système à montrer une forme de comportement prévisible Ex. interruption calcul, demande d’ouverture de session, etc. Action = processus qui se réalise ne tant que conséquence d’une transition Ex. ouverture/sauvegarde fichier (MS Word), affichage résultat, etc.
NB: le même démarche s’applique au niveau processus Construire le Modèle 1. Énumérer les différents états du système Q: Comment est-ce que le système se comporte? 2. Fixer la manière dont le système passe d’un état à un autre Q: Comment est-ce que le système change d’état? indiquer la cause (évènement) indiquer la conséquence (action) 3. Dessiner le diagramme des transitions NB: le même démarche s’applique au niveau processus
Diagramme d’État-Transition Notation état évènement à l’origine de la transition action nouvel état NB: Un diagramme d’état-transition ressemble à une machine d’état finie à la différence près qu’il n’y a pas d’état initial ni final.
Diagramme E-T (exemple) plein et démarrage Lecture des commandes de l’opérateur Invoquer processus de copie plein Invoquer lecture des opérations copies terminées Invoquer lecture des opérations Copie en cours Rechargement du bac à papier vide Invoquer rechargement de papier bloqué Invoquer processus de diagnostic Diagnostic du problème pas bloqué Invoquer lecture des opérations
Contrôle dans les DFD Souvent, il est plus naturel d’inclure des informations sur le comportement du système au niveau du modèle fonctionnel (le DFD). Pour chaque processus non primitif (quelque soit son niveau dans la décomposition hiérarchique du modèle), on peut définir une spécification du contrôle (CSPEC). Celle-ci décrit la manière d’activer les flots de données alternatifs dans la décomposition du processus en fonction des informations de contrôle (évènements externes et internes). Une CSPEC peut contenir: Un diagramme É-T, Une table état-transition, Une ou plusieurs tables de décision, Une table d’activation de processus.
Identification du Contrôle Comment identifier les événements et les autres informations de contrôle qui déterminent le comportement d’un système (dans le but de construire les CSPEC) ??? Faire la liste de toutes les sources : capteurs et périphériques dont les sorties sont lus par le système, interrupteurs activés par un opérateur. Faire la liste de toutes les conditions : conditions d’interruption de processus, conditions posées sur les données. Identifier dans la spécification informelle (statement of scope) toutes les informations (noms/verbes) pouvant constituer des entrées/sorties pour les CSPEC. Réfléchir les omissions possibles.
Intégration du Contrôle Certains système temps-réel s’articulent autour du traitement des événements et plus généralement autour des « processus de contrôle » plutôt qu’autour des flots de données. Pou ces systèmes, il devient impossible de dissocier le modèle fonctionnel du modèle de contrôle. En conséquence, un modèle fonctionnel hybride doit être constitué, intégrant les processus du contrôle. Une solution: éteindre les modèles DFD avec des éléments de contrôle. Parmi les extensions qui ont été proposées, deux seront examinées: Extensions de Ward & Mellor Extensions de Hatley & Pirbhai
Extensions de Ward & Mellor Un DFD d’après Ward & Mellor modélise simultanément le flot de contrôle et des processus de contrôle (n’apparaît pas dans les DFD classiques). Les éléments du DFD étendu sont : les flots de données et les processus classiques, représentés par des flèches et par des cercles standard. les flots de données produites en temps continu ; ils sont représentés par des flèches à tête double. les flots de contrôle sont représentés par des flèches pointillées. les processus qui ne sont destinés qu’à contrôler le système sont des processus de contrôle; ils sont représentés par des cercles en pointillés. Les processus de contrôle sont décrits par des spécifications de contrôle (CSPEC).
Ward & Mellor (exemple) Observe PH Arrêter Valeur PH Ok Démarrer Contrôle PH On/Off Source de PH Change PH On/Off CSPEC: diag. état-transition table d’activation de processus On/Off Maintient PH Contrôle valve Contrôle valve …
Ext. de Hatley & Pirbhai Un diagramme de flot de contrôle (CFD) est construit à partir d’un diagramme de flot de données (DFD). Il précise la manière dont les processus du DFD sont coordonnés. Les processus du DfD sont présents, alors que toutes les flèches indiquant les flots de données sont retirées. Le flot de contrôle est indiqué par une flèche en pointillés. Celle-ci peut être : étiquetée par l’événement ou l’information de contrôle dirigée ou issue d’un processus ou d’une CSPEC. Une spécification de contrôle est représentée par une barre verticale. Chaque barre verticale constitue une « fenêtre » sur la CSPEC. Les flèches de flot de contrôle n’indiquent pas d’activation/désactivation de processus.
Hatley & Pirbhai (exemple) État de l’alimentation en papier (bourrage, vide) Alarme Faire les copies Lire entrée de l’opérateur Démarrer/ Arrêter Afficher info utilisateur Diagnostiquer le problème Recharger le bac à papier Erreur de reproduction Plein
Sommaire L’activité de modélisation Le début de la modélisation La méthode d’analyse structurée Le modèle entité-association (E-A) Les diagrammes de flot de données (DFD) Les diagrammes d’état-transition (E-T) Le dictionnaire des données (DdD)
Dictionnaire des Données « Dictionnaire des données: décrit la designation, la structure, le contenu et l’utilisation de l’ensemble des informations manipulées par le système. » Le contenu des données que le système va recevoir, créer et/ou traiter est précisé sous la forme d’une grammaire quasi-formelle. Les informations de contrôle du système y sont également présente avec la totalité des valeurs qu’elles peuvent prendre. Le dictionnaire des données (DdD) représente un référentiel indiquant, entre autres où les données sont utilisées et comment elles sont utilisées. Il peut être rédigé manuellement, mais idéalement il est développé à l’aide d’un outil CASE
Contenu du Dictionnaire Nom: Le nom de base d’un élément des données, éventuellement composite. Alias: Autres noms pour l’élément de donnée. Où il est utilisé: Processus qui utilise cet élément de donnée. Comment il est utilisé: Le rôle de l’élément de donnée, (entrée, sortie, lieu de dépôt, etc.) Description: Une notation pour représenter le contenu de l’élément de donnée. Format: Information spécifique à propos du type de donnée, ses valeurs d’initialisation, etc.
Notation Notation Interprétation = est composé de + et [ ] ou { } [ ] ou n { } n répétitions de ( ... ) donnée optionnelle * ... text ...* commentaire
Dictionnaire (exemple) Integrated Office Phone System Numéro de téléphone Sortie système Dans le dictionnaire : Nom: telephone number Alias: phone number, number read-phone-number (input) Où/Comment utilisé: display-phone-number (output) analyze-long-distance-calls (input) Description: telephone no. = [ local extension | outside no. | 0 ] outside no. = 9 + [ service code | domestic no. ] service code = [ 211 | 411 | 611 | 911 ] domestic no. = ( ( 0 ) + area code ) + local number area code = *three numeral designator* Format: alphanumeric data
La Spécification du Logiciel Document de spécification produit suite à l’analyse structurée Intro: buts, objectifs, contexte. Modèle entité-relation. DFD (niveaux 0-n) & les PSPEC. Les CSPEC (diagrammes état-transition et tables d’activation de processus) Critères de validation. Dictionnaire des données.
AS, Vue d’Ensemble Vue des données: Modèle entité-relation. Décrit la structure des données manipulées, c’est-à-dire les éléments et les relations entre eux. Vue des traitements: Diagramme de flot de données. Représente l’ensemble des fonctions (processus) du système de façon hiérarchique: ensemble de niveaux, dans le sens du détail croissant. Décrit la circulation des données dans le système. Ne permet pas cependant de décrire le comportement du système ni le contrôle de l’activation des processus. Vue du comportement (contrôle) : CSPEC (diagramme d’état-transition, table d’activation de processus, etc.) Décrit le comportement du système et la coordination des processus (conditions d’activation d’un processus, ordre d’activation, etc.).