© Petko Valtchev Université de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev
© Petko Valtchev Université de Montréal Février 2002 1
IFT 2251Génie Logiciel
La Modélisationdu Comportement
IFT 2251Génie Logiciel
La Modélisationdu Comportement
Hiver 2002 Petko Valtchev
© Petko Valtchev Université de Montréal Février 2002 2
ModélisationModélisation SommaireSommaire
L’activité de modélisation Le début de la modélisation La méthode d’analyse structurée
© Petko Valtchev Université de Montréal Février 2002 3
ModélisationModélisation Éléments du Modèle d’ASÉléments du Modèle d’AS
Modèle entité-association
Diagramme de flot de données
Diagrammeétat-transition
Description des données
Spécificationdes processus
(PSPEC)
Spécificationdu contrôle (CSPEC)
Dictionnairedes données
© Petko Valtchev Université de Montréal Février 2002 4
ModélisationModélisation SommaireSommaire
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)
© Petko Valtchev Université de Montréal Février 2002 5
ModélisationModélisation
Mondeextérieur ApplicationApplication
événements comportement
Modéliser le ComportementModéliser le Comportement
© Petko Valtchev Université de Montréal Février 2002 6
ModélisationModélisation Concepts de BaseConcepts 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.
© Petko Valtchev Université de Montréal Février 2002 7
ModélisationModélisation
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
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
Construire le ModèleConstruire le Modèle
NB: le même démarche s’applique au niveau processus
© Petko Valtchev Université de Montréal Février 2002 8
ModélisationModélisation Diagramme d’État-TransitionDiagramme d’État-Transition
étatétat
nouvelétat
nouvelétat
évènement à l’origine de la transition
action
Notation
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.
© Petko Valtchev Université de Montréal Février 2002 9
ModélisationModélisation
Lecturedes commandes
de l’opérateur
Copie encours
Diagnosticdu problème
Rechargementdu bac à papier
pleinInvoquer lecturedes opérations
plein et démarrage
Invoquer processusde copie
copies terminées
Invoquer lecturedes opérations
vide
Invoquer rechargementde papierbloqué
Invoquer processusde diagnostic
pas bloqué
Invoquer lecture des opérations
Diagramme E-T (exemple)Diagramme E-T (exemple)
© Petko Valtchev Université de Montréal Février 2002 10
ModélisationModélisation Contrôle dans les DFDContrô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.
© Petko Valtchev Université de Montréal Février 2002 11
ModélisationModélisation Identification du ContrôleIdentification 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) ???
1. 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.
2. Faire la liste de toutes les conditions :
• conditions d’interruption de processus,
• conditions posées sur les données.
3. Identifier dans la spécification informelle (statement of scope) toutes les informations (noms/verbes) pouvant constituer des entrées/sorties pour les CSPEC.
4. Réfléchir les omissions possibles.
1. 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.
2. Faire la liste de toutes les conditions :
• conditions d’interruption de processus,
• conditions posées sur les données.
3. Identifier dans la spécification informelle (statement of scope) toutes les informations (noms/verbes) pouvant constituer des entrées/sorties pour les CSPEC.
4. Réfléchir les omissions possibles.
© Petko Valtchev Université de Montréal Février 2002 12
ModélisationModélisation Intégration du ContrôleInté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
© Petko Valtchev Université de Montréal Février 2002 13
ModélisationModélisation Extensions de Ward & MellorExtensions 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).
© Petko Valtchev Université de Montréal Février 2002 14
ModélisationModélisation Ward & Mellor (exemple)Ward & Mellor (exemple)
ObservePH
ObservePH
MaintientPH
MaintientPH
ContrôlePH
ContrôlePH
ChangePH
ChangePH
Sourcede PH
Sourcede PH
Valeur PH Ok
On/Off
On/Off
On/Off
Contrôle valve
Contrôle valve
Arrêter
Démarrer
CSPEC:
-diag. état-transition- table d’activation de processus
…
© Petko Valtchev Université de Montréal Février 2002 15
ModélisationModélisation
• 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.
Ext. de Hatley & PirbhaiExt. de Hatley & Pirbhai
© Petko Valtchev Université de Montréal Février 2002 16
ModélisationModélisation Hatley & Pirbhai (exemple)Hatley & Pirbhai (exemple)
Lire entréede l’opérateur
Lire entréede l’opérateur
État de l’alimentation
en papier(bourrage, vide)
Démarrer/Arrêter
Alarme
PleinErreur de
reproduction
Afficherinfo
utilisateur
Afficherinfo
utilisateurDiagnostiquer
le problème
Diagnostiquerle problème
Faireles
copies
Faireles
copies
Recharger lebac à papier
Recharger lebac à papier
© Petko Valtchev Université de Montréal Février 2002 17
ModélisationModélisation SommaireSommaire
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)
© Petko Valtchev Université de Montréal Février 2002 18
ModélisationModélisation Dictionnaire des DonnéesDictionnaire des Données
• 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
« 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. »
© Petko Valtchev Université de Montréal Février 2002 19
ModélisationModélisation
Nom:
Alias: Où il estutilisé: Commentil est utilisé: Description: Format:
Le nom de base d’un élément des données,éventuellement composite.
Autres noms pour l’élément de donnée. Processus qui utilise cet élément de donnée. Le rôle de l’élément de donnée, (entrée,sortie, lieu de dépôt, etc.) Une notation pour représenter le contenude l’élément de donnée.
Information spécifique à propos du type
de donnée, ses valeurs d’initialisation, etc.
Contenu du DictionnaireContenu du Dictionnaire
© Petko Valtchev Université de Montréal Février 2002 20
ModélisationModélisation
Notation
=
+
[ ]
{ }
( ... )
* ... text ...*
n
Interprétation
est composé de
et
ou
n répétitions de
donnée optionnelle
commentaire
NotationNotation
© Petko Valtchev Université de Montréal Février 2002 21
ModélisationModélisation
Integrated
Office
Phone
System
Integrated
Office
Phone
System
Numéro de téléphone
Nom: Alias: Où/Comment utilisé: Description:
Format:
telephone number phone number, number read-phone-number (input) display-phone-number (output) analyze-long-distance-calls (input) 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*
Dans le dictionnaire :
alphanumeric data
Sortiesystème
Dictionnaire (exemple)Dictionnaire (exemple)
© Petko Valtchev Université de Montréal Février 2002 22
ModélisationModélisation
Document de spécification produit suite à l’analyse structurée
La Spécification du LogicielLa Spécification du Logiciel
• 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.
© Petko Valtchev Université de Montréal Février 2002 23
ModélisationModélisation AS, Vue d’EnsembleAS, 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.).