You are on page 1of 145

La modlisation des Systmes

Yann Pollet Cnam Chaire d intgration des systmes

Modlisation des systmes


Pourquoi modliser? La modlisation gnrale des systmes La modlisation de systmes logiciel prpondrant
Modlisation fonctionnelle Modlisation smantique Modlisation dynamique Approches intgres Lapproche objet

Pourquoi modliser ? Modlisation


Comprendre l environnement complexit

htrognit

En gnral, un systme ne peut tre convenablement apprhend qu travers :


- diffrents niveaux - des points de vue multiples

Prescrire les exigences Investiguer le systme Construire les architectures fonctionnelle et physique Estimer les performances et la sret de fonctionnement Prvoir et valider les comportements Partager la connaissance

diffrents points de vue

pluridisciplinarit

Modles d analyse et de conception Modles analytiques Modles formels Modles cognitifs de communication

But de la modlisation des systmes


Documenter les rsultats de manire aussi formelle que possible :
Exigences spcifies pour le systme Rsultats de lanalyse fonctionnelle exigences applicables aux sous-systmes Architectures fonctionnelle et organique

Supporter lanalyse
Expression des rsultats de lanalyse fonctionnelle Aide lexhaustivit, la cohrence, la non contradiction Lien / traces entre les tapes danalyse / niveaux

Communiquer entre acteurs :


matrise duvre autres parties prenantes entre acteurs du processus dingnierie

Les niveaux d abstraction des systmes


Niveau contextuel et conceptuel Espace du problme Rfrentiel des exigences Niveau fonctionnel Espaces problme / solution Architecture fonctionnelle Niveaux technique et physique Espace de la solution Architecture technique et physique
contraintes flux entrant limites flux sortant

Le systme est vu comme une boite noire changeant des flux avec son environnement pour raliser les services attendus selon les scnarios oprationnels dfinis Le systme est vu comme une architecture de fonctions ralisant les fonctions de service

Le systme est vu comme une architecture d organes supportant l architecture fonctionnelle Les organes sont choisis

Une typologie des modles


c E

?
c

Modlesde decomprhension comprhension Modles comprendrellenvironnement environnement comprendre analyserle lesystme systme analyser dcrirepour pourpartager partagerla laconnaissance connaissance dcrire Modlesnormatifs normatifs Modles prescrireles lesexigences exigences prescrire concevoirles lesarchitectures architectures concevoir dfinirles lessolutions solutions dfinir Modlesde deprvision prvision Modles prvoiret etvalider validerles lescomportements comportements prvoir estimerles lesperformances performances estimer estimerla lafiabilit, fiabilit,la lasret sretde defonctionnement fonctionnement estimer Modlesde depilotage pilotage Modles modlesde decommande commandedu dusystme systme modles modlesde dedcision dcisiondans dansle leprojet projet modles

?
c

S ?

?c
E S

La modlisation gnrale des systmes


Les Diagrammes de Flux de Donnes, SADT, Sagace

Structure gnrale dun systme


Finalit Sphre humaine Entres Sorties

Sphre technologique

Sphre informatise

La modlisation des systmes finaliss


Systmes finaliss
Fonctionnelle Temporelle

4 hirarchies
Dcisionnelle Structurelle

volution

Finalit

phases de vie modes de fonctionnement tats / proc. continu


fonctionnement

Buts consignes systme oprant

hirarchie fonctionnelle

hirarchie de niveaux d invariance temporelle

hirarchie de pilotage

hirarchie organique

SADT/ IDEF0
Structured Analysis & Design Technique Ross 1977
Modlisation fonctionnelle Langage pour le communication Fonctions et contrles

SADT
Notation graphique dun concept trs gnral (Diagrammes de Flux de Donnes, DFD), mais aussi mthode Base de plusieurs standards dont IDEF0 (Integration Definition for Function ) du NIST (National Institute of Standards and Technology) (1993) Support pour lanalyse dun systme Primtre dapplication trs gnral : processus de production, processus dentreprise, systmes informatiss, systmes technologiques,

Modlisation fonctionnelle : SADT


Bote : activit transformatrice entrant en flux sortant
activit dfinie par un verbe flux dfinis par des substantifs (information, matire, nergie) notion de contrle :
message : information ncessaire l activit (consulte, mais non transforme) vnement dclencheur de l activit (aspect temporel) commande (aspect dcisionnel)

notion de processeur : organe (ressource, moyen, acteur)


contrles entres dmarrage type / arrt produit matire premire Produire produit fini sorties

activit

processeur

chane de production

lments de base SADT


contrles entres sorties

diagramme de contexte
A0

activit A-0
processeur
A1

Une bote est dcompose en sous-botes (3 6 ou 7) toute bote doit avoir un vnement dclencheur (contrle) une information la fois entre et contrle d une bote est note en contrle contrainte de cohrence des flux entre une bote et sa dcomposition

A2

A3 A4

A0
A21 A22

A1

A2

A23

A3

sous-diagrammes

Exemple : Terminal montique


insertion carte carte mthode authentification code bon

diagramme A0

authentifier code confidentiel l usager


A1

ancien solde nouveau solde montant traiter la compensation interbancaire retraits dj effectus transaction montant autoris A2 espces restantes mthode authentification fournir les espces espces en stock retraits insertion carte espces effectus A3 depuis n jours carte espces restantes nouveau solde code confidentiel effectuer des compensation interbancaire ancien solde retraits espces montant
A0

diagramme A-0

Exemple : Systme de conduite


arrt station capteur porte embarquer /
A1

dbarquer

info vitesse capteurs voie capteur obstacle arrt urgence

ouverture / fermeture porte signal sonore dpart consigne vitesse cde acclration cde freinage conduire alarme estimation position A2

diagramme A0
arrt consigne station vitesse tat porte info vitesse capteurs voie capteurs obstacles arrt urgence
A3

informer usager

message

transporter
A0

ouverture / fermeture porte signal sonore cde acclration cde freinage diagramme alarme message

A-0

Exemple : Systme de conduite (2)


dpart consigne vitesse vitesse info vitesse
A21

acqurir vitesse

capteurs voie

estimer position
A22

estimation position

capteur obstacle capteur porte arrt urgence

commander acclration
A23

cde acclration freinage urgence alarme

fin acclration rguler vitesse


A24

cde freinage

diagramme A2

dbut freinage commander arrt


A25

Exemple : dvelopper un systme


diagramme A0

diagramme composants log plans du projet A-0 signature mthodes et matriel


contrat de dv. disponibles cahier des charges proposition interviews systme existant

dvelopper un systme
A0

dossier de spec syst dossier ss-syst et interfaces dossier d intgration dossier de validation systme valid

Lapproche SAGACE
JM Pnalva, CEA (1994)
Une mthode d analyse et de conception systmique

SAGACE
Une approche systmique gnrale, mise au point au CEA Une grille danalyse + un langage graphique de modlisation + une dmarche danalyse Peu utilise dans la ralit industrielle. Grille danalyse dun systme utilisable indpendamment de tout langage de modlisation ou de toute mthode Applicable aux systmes complexes : humain + technologie + informatique

Approche globale de la modlisation


S
niveaux d invariance temporelle
tats / proc. continu

volution

phases de vie modes de fonctionnement

fonctionnement

action 1 fonctions

vision fonctions constituantes enchanement des fonctionnelle correspondant aux activits pour raliser
visions du systme

fonctionnement 2 processus

volution scnarios
enchanement des modes de fonctionnement

activits lmentaires les fonctions de service

vision organique vision oprationnelle (dcisionnelle)

4 sous-systme oprant
organes ralisant les fonctions

5 sous-systme de commande
organes de mise en uvre des activits

6 sous-systme auxiliaire
organes assurant les changements de configuration

conduite
consignes de rgulation des fonctions

gestion

9 anticipation

adaptation des dcisions d ordre activits (transition stratgique (changement de mode des phases de de fonctionnement) fonctionnement)

Exemple : atelier automatis de production


action vision fonctionnelle vision organique 1 2 fonctionnement 3 volution

procd
4

processus
5 systme de 6

programme de production

machines de production conduite

contrlecommande
8

systme d ordonnancement

7 vision oprationnelle (dcisionnelle)

supervision

ordonnancement d atelier

entre (M, E, I)

processus

Syntaxe
sortie (M, E, I) information information de commande de rsultat conditions de dmarrage

Processus fonctions, activits, ou modes (vision fonctionnelle) organes (vision organique) tches dcisionnelles (vision dcisionnelles)
flux entrant (M, E, I)

transition entre processus


condition (IC)

processus
propagation (M, E, I) flux sortant (M, E, I)

processus vnement
(IR) vnement (IR) transition condition (IC)

processus
rtroaction (M, E, I)

processus
vnement (IR)

diagramme de flux

diagramme de transition

Exemple du systme de transport


position vhicule (M) fonctions oprantes et fonctions de conduite position porte 4 organes (M) effecteurs, capteurs, logiciel arrt de contrle d urgence (I) 7 nergie lois de rgulation lectrique (E) 1 2 programme d enchanement 3 scnarios d exploitation organes auxiliaires dcisions d exploitation position vhicule (M) position porte (M) information usager (I)

5 organe de commande du processus 8 dcisions d opration

temps de transport scurit des passagers

prcision des arrts

Diagramme de contexte Ex : Systme = sous-systme oprant (vhicule, voie, infrastructure) + soussystme de commande

contraintes et attentes

Voie et infrastructure

La modlisation des Systmes a Logiciel Prpondrant


Introduction

Niveaux et points de vue


Point de vue contextuel
S

Comment le systme Point de vue volue dynamique Point de vue fonctionnel Ce que fait le systme Architecture organique Point de vue smantique Les informations quil manipule Validation rciproque des modles Intgration entre les modles

La vision contextuelle, ou vision fonctionnelle externe


Les cas d utilisation

Les Cas d Utilisation (Use Cases)


Vision contextuelle du systme :
Services concourant la finalit Unit dinteraction usager - systme Acteurs externes et types dinteractions Premier niveau de structuration des services

Use Cases : formaliss par Ivar Jacobson Destins l expression du besoin Centrs sur les utilisateurs Formalisme trs simple Servent galement la conception des tests de validation

Concepts de base
ACTEUR
reprsente un rle jou par une personne ou une chose qui interagit avec le systme mais qui lui est extrieure est caractris par un nom qui exprime son rle une mme personne physique peut tre modlise par plusieurs acteurs un acteur reprsenter plusieurs personnes physiques

ou

Usager <<actor>>

CAS D UTILISATION unit fonctionnelle de service cohrente assure par un


systme ou une classe correspond un certain type dinteraction entre le systme et les acteurs doivent tre vus comme des classes dont les instances sont des scnarios

Autre Systme

Consulter solde compte

Paquetage

Exemple
Nature de l interaction

Distributeur de billets
Consulter solde compte

regroupe des lments de modlisation

Acteur secondaire <<actor>>

SI Banque

visualise dbite Retirer de l agent Mettre en marche / arrter Ravitailler le coffre


Le technicien teint le distributeur avant de ravitailler le coffre

Client

Acteur personne ou systme externe l origine d une interaction avec le systmes


On ne peut retirer de l argent que dans la limite du stock

Technicien
Cas d utilisation objectif du systme motiv par un besoin

Liens entre cas d utilisation


Communication exprime le fait que l acteur participe la ralisation d un cas d utilisation . C est la seule relation qui peut exister entre un acteur et un cas d utilisation Gnralisation Extends Une relation de gnralisation strotype extends du cas d utilisation A vers le cas d utilisation B signifie quun scnario du cas d utilisation B peut contenir le comportement spcifi par A. Les comportements spcifis par diffrentes extensions d un cas d utilisation gnral peuvent se produire dans un mme scnario
Enseignement

<<Extends>>

Enseignement par correspondance

Gnralisation Uses Une relation de gnralisation strotype uses du cas d utilisation A vers le cas d utilisation B signifie quun scnario du cas d utilisation A intgrera aussi le comportement spcifi par B.
Travaux dirigs

<<Uses>>

Enseignement

Exemple : le GAB
Services offerts : 1. distribution d argent tout porteur de carte de crdit (carte Visa, ou carte de la banque) via un lecteur de carte et un distributeur de billets 2. consultation de solde de compte, dpt en espces et dpt de chques pour les clients porteurs d une carte de la banque 3. il est ncessaire de recharger de temps autre le distributeur

Exemple : diagramme de contexte statique du GAB


0..1 1..1 <<actor>>

SA Visa Porteur de CB

GAB
0..1 1..1

Client de la banque

<<actor>> 0..1

SI Banque
Porteur de CB

Note : Porteur de CB et
Client de la banque sont mutuellement exclusifs

Oprateur de maintenance
Client de la banque

Exemple : Ralisation du diagramme de cas d utilisation


<<actor>>

SI Banque
Porteur de CB Visa <<actor>> Retirer de l argent

SA Visa

Consulter un solde

Recharger le distributeur

Client de la banque

Dposer du liquide

Rcuprer les cartes avales

Oprateur de maintenance

Dposer des chques

Rcuprer les chques dposs

Cas d utilisation et scnarios


Un scnario est une srie d vnements ordonns dans le temps, simulant une excution particulire du systme Pour chaque cas d utilisation, il existe un ou plusieurs scnarios dont la description permet d expliciter le comportement du systme pour une situation donne. tlphoner
Appelant Appel communication directe ligne occupe sans rponse communication par rpondeur ligne en drangement etc...

Exemple de scnario (retirer espces)

Liens entre cas dutilisation


Exemple : Un systme dagence de voyage : Relation extends
Rserver voyage <<extends>> Rserver voyage par tlphone Rserver voyage par Internet

Cas dutilisation : exemple


<<includes>> Virement Client distant <<extends>>

Identification

Virement par internet

Virement au guichet

Client au guichet

Lanalyse du systme
Les modlisations smantique, fonctionnelle, et dynamique

Niveaux et points de vue


Point de vue contextuel
S

Comment le systme Point de vue volue dynamique Point de vue fonctionnel Ce que fait le systme = les transformations Architecture organique Point de vue smantique Les informations quil manipule Validation rciproque des modles Besoin dintgration entre les modles

Systmes informatiss
Besoin en modlisation des aspects fonctionnels et dynamiques Les flux informationnels traits par les fonctions vhiculent les donnes reprsentatives du problme Besoin en modlisation des donnes et de leur relations : contexte smantique du problme Approche de modlisation des systmes d information selon trois points de vue, et diffrents niveaux d abstraction

Modlisation smantique
Le modle Entit-Association (Chen, 1977) Les diagrammes de Classes

Modle smantique
Comment volue le systme

Dynamique volution

E-A Smantique structure


Le Le monde monde du du problme, problme, ce ce que que traite traite le le problme problme

Fonctions les donnes


Ce que fait le systme

Le modle Entit-Association
Introduit initialement dans le domaine des Bases de Donnes pour la phase de conception Diagramme de base dans les mthodes de conception des Systmes dInformation (Ex : MCD de MERISE) Modlisation des entits du domaine et des informations internes au systme Ne reprsente que laspect donnes Chaque mthode a introduit sa notation propre

Le modle Entit-Association
modle entit-association de Chen Les entits : types d objets qui apparaissent pertinents pour modliser le problme (ex : substantifs du cahier des charges) regroupes en classes d entits, et possdant des attributs Les associations : relations de sens entre les entits, avec des cardinalits Relations de spcialisation ( plus spcifique /gnrique que ) Diverses notations ( EA , , classes UML )
article
rfrence dsignation

objets du problme relations entre les objets

Rseaux smantiques

est stock dans


0, N quantit 1, N

magasin
localisation capacit

Cardinalits
Prcise les nombres min et max possibles d occurrences mises en relation 4 cardinalits
E1 Association E2

n1 n2
Nombre min. d entits E1 associes une entit E2 Nombre max. d entits E1 associes une entit E2

m1

m2
Nombre max. d entits E2 associes une entit E1

Nombre min. d entits E2 associes une entit E1

n : signifie plusieurs (0, 1 ou n) 0 n : plusieurs (0, 1, ...) 1 n : au moins 1 (1, n) 1 1 : exactement 1

Exemples 0 1 : 0 ou 1 1 2 : 1 ou 2 0 2 : 0, 1 ou 2

Cardinalits. Exemples
article
rfrence dsignation

est stock dans 1n


quantit

magasin 0 n localisation
capacit

besoin
identifiant texte

exigence 1n dfinit 0 1 identifiant


texte

client
nom adresse

banque 1n est client 11 compte


numro compte type solde

0 n identifiant
nom

Cardinalits des associations


La CARDINALITE ( ou MULTIPLICITE) d une association est le nombre d instances mises en jeu pour une classe dans le lien avec chaque instance de l autre classe On prcise gnralement la cardinalit minimum et la cardinalit maximum 1..1 : exactement 1 mari >
Homme
0..1 0..1 possde > 1 < affect 1..* < gouverne all 1 1 4

Femme Roue

0..* : 0, 1 ou n
Manager Ministre

Automobile Projet Administrs

0..1 : optionnel 1..4 : spcifi numriquement all : toutes les instances de la classe

Modle EA du GAB

Projet d ingnierie systme

Contraintes de spcialisation
Avion

Motorisation

ContexteUtilisation

{inclusif}
AvionReaction AvionHelice AvionMilitaire AvionCivil

Personne

{exclusif}
Language de programmation

Homme

Femme

{incomplet}
Pascal C++ Java COBOL

La modlisation fonctionnelle
Les mthodes SADT et SA

SADT
Application de SADT aux systmes informatiss en gnrale et logiciels en particulier Modlisation des aspects fonctionnels par les Actigrammes, avec flux de donnes Les flux de donnes peuvent se dcomposer progressivement par drivation Introduction des Datagrammes pour centrer une reprsentation sur la structuration des donnes Note :
Pas de smantique de contrle vnementiel Peu de lien avec les entits de larchitecture logicielle

Ex : Terminal montique
carte mthode authentification code bon retraits effectus depuis n jours

diagramme A0

authentifier code confidentiel l usager


A1

ancien solde montant

traiter la transaction
A2

nouveau solde Requte de dbit compte montant servir

mthode authentification retraits carte effectus espces en stock depuis n jours nouveau solde code confidentiel effectuer des Requte de dbit compte ancien solde retraits espces montant
A0

A3

fournir les espces

espces

diagramme A-0

SADT : Actigrammes et Datagrammes


informations de contrle informations en entre activit de contrle activit productrice

activit

informations en sorties

donnes

activit utilisatrice

processeur

organe mmoire ou lien de communication

Actigramme
vrifier les exigences cahier des charges faire l analyse des exigences rfrentiel des exigences conflit d exigences

Datagramme

faire l analyse fonctionnelle faire la synthse faire l analyse systme

compromis d exigences

Exemple de Datagramme

Modlisation fonctionnelle L analyse structure


SA (Structured Analysis) E. Yourdon et T. De Marco (1978)

L analyse structure
source
flux 1 flux 3

puits

processus P
flux 2

source

flux 4

puits

Diagramme de contexte
stockage de donnes flux 1

Processus Terminateur Stockage de donnes Flux de donnes

processus flux P1 flux 2 processus P2

flux

flux 3 processus flux 4 P3

Diagramme de flux de donnes (DFD) du processus P

Diagramme de contexte d un GAB

DFD d un GAB

Approche SA : synthse
Rpond l analyse fonctionnelle en dcomposant les fonctions et en mettant en vidence les flux d information dclaration de stock de donnes et dictionnaire de donnes rcapitule l ensemble des informations en prenant en compte la smantique liaison possible avec le modle entit-association bien adapt la modlisation des changes d information dans les Systmes d Information approche qui ne peut tre utilise seule pour les systmes de conduite temps rel (pas d aspects temporels et dynamiques) extension SART

Modlisation dynamique
Automates tats finis, Statecharts, Rseaux de Ptri

Modle dynamique
Comment volue le systme

Dynamique commande, volution squencement,

vnements, transitions entre tats et modes de fonctionnement

E-A Smantique structure les informations


Le Le monde monde du du problme, problme, ce ce que que traite traite le le problme problme

Fonctions les transformations


Ce que fait le systme

Les Automates Etats finis


Introduits dans le monde des systmes automatiss pour modliser les systmes e/s et temps discrets Extrmement utilis dans le monde du logiciel Approche classique, trs naturelle et intuitive

Reprsentation dynamique des systmes


donnes d entre Systme transformationnel donnes de sortie boite noire vnement raction Systme purement ractif

Systmes transformationnels

Systmes purement ractifs


ragit des vnements extrieurs en fonction de son tat reprsentation par un diagramme tat transition

cactus noir

dlivre un flux de sortie en fonction d un flux d entres analysable par dcomposition fonctionnelle vnements E1 Qi Qj ractions R1 E2 Qk R2 E3 Qm temps R3

Qi

E1 R1

Qj

E2 R2

Qk

E3

R3 Qm

vnement -ractions donnes d entre Systme mixte

Systmes mixtes (ex : temps rel)


systmes la fois transformationnels et ractifs complexe : ensemble de squences donnes comportement d activit transformatrices de flux, d vnements, de sortie d actions, de conditions associes des contraintes temporelles ne se reprsente pas facilement dans une approche structure

Automates Etats Finis


E(t)

Systme

S (t+t)

Systmes squentiels Automates finis : 2 hypothses : causalit : S (t+t) ne dpend que de E(t) et de l histoire antrieure t finitude : l histoire antrieure est rsume par un tat qui ne prend qu un ensemble fini de valeurs

F
E(t) Q(t) t S(t+t)

G
S(t+t) = F[E(t), Q(t)] Q(t+t) = G[E(t), Q(t)]

choix produit 3 fournit produit reoit 3 1 2 3 reoit 1 reoit reoit 1 1 attente reoit 2 reoit 2 fournit 2 4 produit 4 choix produit 4 fournit choix produit 3 produit 3 + rend 1

Distributeur automatique de produits

Les Automates tats finis

Automates tats finis


Tout systme purement ractif peut tre modlis par un automate tats finis Deux modles de comportement possibles :
tat 1
laction actionest est l associeau aunouvel nouvel associe vnement 1 tat tataprs aprs transition transition tat 2 nouveaux nouveaux vnementspris prisen en vnements action 1 compteseulement seulement compte unefois foisle le vnement 2 une traitementtermin termin traitement laction actionest est l associela la associe transition vnement 1 transition nouveaux action 1 nouveaux vnementspris prisen en vnements tat 2 compteds dspassage passage compte dansle lenouvel nouveltat tat dans laconcurrence concurrence vnement 1 la possibleddactions actions possible action 2 estpas pasmodlise modlise nnest

tat 1

tat 3 action 2

tat 3

Machine de Moore

Machine de Mealy

Liaison avec l aspect fonctionnel


niveaux temporels
modesde defonctionnement fonctionnement modes scnariod denchanement enchanement scnario desactivits activits des processusde de processus fonctionnement fonctionnement squencementou ou squencement paralllisationd dactivits activits paralllisation continu continu activitsrgules, rgules, activits quilibrageavec avec quilibrage environnement llenvironnement tat 1 tat 1

activits 1
vnement 1
activation des activits de l tat 2

mode 1
actions de reconfiguration tat 2 processus mode 2 du mode 2

vnement 1

tat 2

activits

rgulation des 2 activits de l tat 2

vnement 1
activation des activits de l tat 3

tat 3

activits 3 processus de fonctionnement

mode 3

vnement 1 action 2 tat 3 processus

du mode 3

modes de fonctionnement

Exemple : analyse des tats


mise en fonctionnement

attente en station

Dfinition du du diagramme diagramme Dfinition d tat tat global global partir partir de de d scnarios oprationnels oprationnels scnarios

dlai coul fermer porte

fermeture porte
porte ferme acclrer

porte bloque

acclration
vitesse atteinte rguler vitesse

conduite v constante
proximit station freiner

freinage
station ouvrir porte

Matrice tat-transition
tats attente en fermeture acclration conduite v porte constante vnements station dlai coul porte ferme porte bloque vitesse atteinte proximit station station
fermer porte fermetu re porte

freinage

?
acclrer acclr ation fermetu re porte

? ? ?
rguler vitesse conduit e v cte

? ? ? ?
freiner freinage

? ? ? ? ?
ouvrir porteattente station

? ? ? ? ?

? ? ?

? ?

GAB : diagramme des tats

Les Statecharts
Harel (87)

Les Statecharts
Fortes limitations des diagrammes tats-transitions : croissance exponentielle des tats il devient impossible de reprsenter le systme complet relative indpendance de diffrentes parties d un diagramme embotement de diffrents niveaux de dtail (Ex: phases, modes, ) besoin de structuration et de hirarchisation (modularit)
AD BD BE C

A C

D E
AE

Partie 1 du systme = + si A ou B, Partie 2 3 tats, 4 transitions = 2 tats, 2 transitions

Systme global= 5 tats, 11 transitions ! Quelle transition de C vers A?

Principes des Statecharts de Harel


Extension des diagrammes tats-transitions avec trois nouveaux concepts :
hirarchisation (profondeur) regroupements d tats dans des super-tats (OU exclusif) orthogonalit paralllisme de processus (ET) expression de synchronisation et de dpendance entre diagrammes parallles

Les concepts : hirarchisation


Embotement hirarchique dtats (raffinement) Etat = OU exclusif dEtats
A
b c c a b a b a

Niveau 0 C
a c a

B E

D F
c Niveau 1 Niveau 1

E = A OUex B F = C OUex D

A
c c

E
a a b b

dbut et fin dans chaque sous-automate

Les Statecharts : reprsentation de la profondeur


mode dgrad mode dmarrage
panne

mode dmarrage mode arrt chauffage

mode dgrad
panne

mode arrt

mode marche

mlange

traitement

Mode marche mode dgrad mode dmarrage


panne panne panne

chauffage

mode arrt

mlange

traitement

Automate global quivalent

Les concepts : paralllisation


Orthogonalit de diagrammes, dmultiplication des tats produit cartsien dtats, ET de processus Synchronisation : besoin de communications entre diagrammes
AOffOff AAtOff MOffOff MAtOff COffOff

Avion
Systme gnral Sous-systme radar Missile

CAtOff COnOff

AOnOff

MOnOff

Croisire Manoeuvre A terre

Off Attente On

Off Tir Accroch


AOffAc

27 tats Automate quivalent

Les Statecharts : orthogonalits de sous -processus


Synchronisation et concurrence
la transition chaud entrane deux changements d tats

Dpendance
la transition arrt n est possible que si le processus A est dans l tat fonct.

Exemple de Statecharts

Exemple de Statechart : le GAB

Standardisation UML
Diagrammes dtats UML (Statecharts) Modlisation de la dynamique dun systme complet, dun sous-systme, ou dun objet une transition reprsente un passage suppos instantan d un tat vers un autre deux tats prdfinis : tat initial et tat final Notations :

Transitions
Spcification de transition : 3 parties optionnelles Nom-vnement [garde] / Action evt [cond] / Act Etat1 Etat2 vnements :
externes : changes entre objets internes : mis et reus au sein du mme objet

4 types d vnements :
appel : invocation synchrone d un objet temporisation satisfaction de condition

un transition peut ne pas avoir d vnement associ (dclenche lors dune fin d activit, tat
fugitif)

Exemple
Diagramme d tats d une classe Police d assurance
Abandonne Refus client Dlai expir Demande client (rsiliation) En souscription Signature client En cours Trop de sinistres Rsilie

Demande client Demande client (suspension) (fin suspension) Dlai expir Date fin Demande client suspension (rsiliation) Suspendue

Transitions (2)
Garde ou condition :
Une transaction peut tre conditionnelle la condition porte sur des informations accessibles de l objet : paramtres, attributs les gardes doivent tre mutuellement exclusives
En cours Sinistre [nombreSinistres = 5] Rsilie

Sinistre [nombreSinistres < 5]

PoliceAssurance
- nombreSinistres +signer() +faireDemande(motif) +dclarerSinistre()

Les traitements
Actions figurant dans un tat : dclenches par :
l entre dans l tat (Entry)
Ex : l entre dans l tat En cours , dition du contrat sert factoriser un action associe plusieurs transitions menant l tat la sortie de l tat (Exit) Ex : en sortie de l tat Suspendue , notification l assur
En souscription Entry / dition

Suspendue Exit / notification

une transition interne (laissant l objet dans le mme tat) (On event)
Ex : relancer client dans l tat En souscription une semaine avant le dlai d expiration

En souscription On event DlaiProche / relancer

Les activits
Une activit est une action qui dure ou se rpte elle ne peut tre attache qu un tat (et non une transition) syntaxe analogue celle d une action avec mention d vnement remplac par le mot cl do l activit dure tant que l objet est dans l tat concern elle n est interrompue que par des transitions internes et ne s arrte qu la sortie de l tat on peut faire rfrence un traitement dtaill dans la suite de l analyse
Ex :
En activit Do / effectuer mission Systme

Les traitements : exemple


Classe Commande
En prparation Entry / choisir un fournisseur Entry / dterminer quantit commander Entry / calculer montant On event nouveau tarif / calculer montant On event nouveau besoin / Mettre jour la commande Exit / enregistrer la date d expiration Exit / Envoyer la commande Do : publier dtail commande

expdition

En attente

Commande

Hirarchie des tats


Difficult de construction de diagramme pour des traitements complexes dcomposition d un super-tat en plusieurs sous-tats
Ex : Etat En activit d un employ dcompos en sous-tats en fonction et en congs
En activit
En fonction En congs

chaque sous-tat hrite de la description du super-tat smantique des Statecharts de Harel mcanisme de gnralisation / spcialisation compar celui des classes introduction d un tat not H qui dsigne le dernier tat visit

Hirarchie d tat : exemple


En activit
Lustrage reprise En attente Lavage arrt d urgence dlai (2 mn) dlai (2 mn) arrt d urgence dlai (4 mn)

dlai (2 mn)

schage

Agrgation d tat
L agrgation dtat est la composition dtats partir de plusieurs autres tats
Etat courant Situation Etat Civil dcd naissance mort clibataire mort mort divorc endormissement rveil mariage divorce remariage remariage mari dcs conjoint veuf veill mort Etat de veille endormi

Une agrgation dtats traduit gnralement un amalgame de classes...


Individu biologique

Individu de l'tat civil

Communications
Communication entre objets ou sous-systmes : envoi d vnements entre les automates correspondants concept trs gnral : appel de mthode, interruption, vnement dans une application temps rel, ... notation d une action : ^cible.vnement(Arguments) syntaxe complte d une transition :
vnement(arguments) [garde] / action^cible.vnement(arguments)
Tlviseur
bascul Attente bascul Arrt

Tlcommande
Bouton Enfonc ^Tlviseur.bascul Attente

Statecharts
Utiliss dans la mthode Statemate en liaison avec un modle fonctionnel repris dans les mthodes d analyse par objets telles qu OMT et dans la notation unifie UML pour reprsenter la dynamique dun systme ou la dynamique interne des objets

Les rseaux de Ptri

Rseaux de Ptri
Modlisation formelle exprimant la synchronisation d activits d automates parallles base conceptuelle ayant inspir les modlisations temporelle de plusieurs mthodes (RDD, Merise, ) Un rseau rseau est est constitu constitu :: Un
de deplaces places de detransitions transitions d darcs arcsvalus valus(valeur (valeur1 1par pardfaut) dfaut)
arcsd dincidence incidenceavant avant arcs arcsd dincidence incidenceaprs aprs arcs

P1
1 transition 4 valuations 2 t1

P2

d dun unmarquage marquage::nombre nombrede de

jetonscontenus contenusdans dansles lesplaces places jetons

P3

volution du marquage
La dynamique du rseau s exprime par l volution du marquage une transition est franchissable si le nombre de marques dans les places amonts est suprieur ou gal aux valuations des arcs d incidence avant correspondant ajoute au marquage des places aval les valuations correspondantes des arcs d incidence aprs le fait qu une transition soit franchissable n implique pas qu elle soit franchie
P1 P2 P1 P2

franchissement de t1
1 4
P3

t1

retrait d une marque P1 retrait de 2 marques P2 ajout de 4 marques P3

t1
4
P3

Possibilits d expression des rseaux de Ptri


condition ET
OU slection

boucle

ET paralllisme

squence

fin ET fin OU

rendez-vous

Possibilits d expression des rseaux de Ptri (2)


Processus 1 Processus 2

exclusion mutuelle

synchronisation

Possibilits d expression des rseaux de Ptri (3)

Processus producteur

Processus consommateur

Exemples d interprtation des places et des transitions


Place amont activit amont tat amont prconditions ressources ncessaires Transition condition de fin vnement et action atomique associe activit activit Place aval activit aval tat aval postconditions ressources libres

Modles conceptuels de traitement de Merise

Association :
des synchronisations aux transitions des fonctions (oprations) aux places des vnements (internes ou externes) aux marques des propositions logiques aux conditions de marquage

Rseaux de Ptri. Synthse


une reprsentation matricielle des rseaux de Ptri permet (sous certains hypothses) des validations formelles (atteignabilit d un marquage ou d une transition, garantie d interblocage, bornage du nombre de marques dans une place, ) approches drives dans les diagrammes reprsentatifs de modles comportementaux de diffrentes mthodes peu utiliss en tant que tels en analyse de systmes (complexit des diagrammes dans les cas rels)

Lintgration des points de vue : la modlisation comportementale


SA-RT EFFBD et Activits

Modle comportemental
Comment volue le systme

Dynamique commande, volution squencement,

vnements, transitions entre tats et modes de fonctionnement

Comportemental
Comment se comporte le systme

E-A Smantique structure les informations


Le Le monde monde du du problme, problme, ce ce que que traite traite le le problme problme

Fonctions les transformations


Ce que fait le systme

Le besoin
Besoin dintgration entre les aspects fonctionnel, smantique et dynamique Certaines approches proposent des liens fonctions information, et fonction contrle Besoin de modliser de manire intgre fonctions et dynamique du systme

Approche des modles comportementaux


SA-RT
dcomposition fonctionnelle, flux de donnes

EFFBD, diagrammes dactivit


flux de donnes

modle fonctionnel

association

dcomposition en comportements

flux de contrle

Squences, paralllisme des activits

modle dynamique Approches systmes temps rels

L approche SA-RT
Extension de SA aux systmes temps rel Version de Hatley et Pirbhai

L analyse structure (rappel)


source
flux 1 flux 3

puits

processus P
flux 2

source

flux 4

puits

Diagramme de contexte
stockage de donnes flux 1

Processus Terminateur Stockage de donnes Flux de donnes

processus flux P1 flux 2 processus P2

flux

flux 3 processus flux 4 P3

Diagramme de flux de donnes (DFD) du processus P

L approche SA-RT (2)


But : intgrer laspect fonctionnel (DFD) et la dynamique dactivation des fonctions (contrle)
donnes en entre Modle fonctionnel donnes en sortie

Contrles internes

Activations, synchronisations

contrles en entre

Modle de contrle

contrles en sortie

L approche SA-RT
Ide : complter la dcomposition fonctionnelle de l analyse structure (SA) par une modlisation de la dynamique
flux de donnes

tat processus
flux de donnes vnement action

tat
vnement action C-spec vnement flux de contrle

tat
vnement action

flux de donnes

processus

vnement flux de contrle C.spec

flux de donnes

Diagramme SA-RT
Processus dcomposs en sous-diagrammes Diagrammes :
n sous-processus 0 ou 1 spcification de contrle (C-Spec) Cohrence diagramme - sous-diagramme

Processus lmentaire (fonction) pseudo-code C-Spec formules logiques ou automate dtats


A C

P
B

Flots et activateurs
Flot de donnes Flot de contrle Data condition
P P
Dclenchement implicite de P par le flux de donne entrant Le flot de contrle entrant doit se retrouver dans le sousdiagramme associ P Le flot de contrle est gnr par le code de P Le processus lmentaire P est dclench/modul par un activateur Un activateur peut prendre 5 valeurs : Enable, Disable, Trigger, Suspend, Resume

Activateur

SA-RT : diagramme de contexte du GAB

SA-RT : Exemple du GAB

Spcification du contrle
action P2 activateurs vers processus valider code P3 P5 obtenir fournir montant espces demander code demander montant demander montant fournir espces fournir espces

1 1 1
temps de rponse

entre vnement sortie vnement

code illisible < 2 sec banque insrer carte carte carte affich numro demande < 2 sec nant montant affich montant validation carte retirer carte < 15 sec affich montant

SART : extension aux entres sorties

SART : architecture logique

SART : architecture physique

SART
Une des mthodes les plus labores pour l analyse des systmes temps rels Intgration de la modlisation fonctionnelle et la modlisation dynamique Une des premires mthodes permettant un passage logique de l architecture fonctionnelle l architecture technique Concepts volus repris par diffrentes mthodes (RDD, Statemate, )

Les EFFBD
Extended Functional Flow Block Diagrams (Mthodes CORE et RDD)

Les EFFBD
Modlisation directe de comportements Reprsentation de la synchronisation temporelle entre fonctions avec expression de la squentialit et du paralllisme (flux de contrle avec AND et OR) flux de donnes entre fonctions
T1 T2

Action 1
AND donne T3

Action 2
T4 AND

Action 4

Action 3

Exemple : la mthode CORE


Reprsentation du contexte

Reprsentation du contexte par EFFBD

CORE : interactions avec l extrieur

CORE : dcomposition fonctionnelle

RDD
Dcomposition comportementale directe inspiration directe des rseaux de Ptri la dcomposition peut tre continue jusqu obtention de fonctions sans comportement temporel tats

+ : alternative & : concurrence

Diagramme comportementale du GAB

Modlisations comportementales : synthse


RDD bien adapte aux besoins de la dmarche d ingnierie systme globale (et aux scnarios gnraux des systmes temps rel) SART plus adquat pour raffiner les spcifications de dtail de sous-systmes temps rel L intgration entre modle comportementale et modle smantique consiste vrifier que les donnes transformes par les fonctions (dcomposition fonctionnelle) et que la smantique des tats (analyse dynamique) sont bien dfinies dans le modle structurel

Les diagrammes d Activits UML

Objectifs des diagrammes d Activits


Modlisation d un ensemble d activits synchronises Modlisation : du comportement global du systme ou d un soussystme dans son contexte dun cas d utilisation d un traitement (mthode d objet) Principales notions :
Action et activit Transitions nuds de dcision flux d objets couloirs d activits

Actions et activits
Action
opration lmentaire, ininteruptible
Action

Activit
dcompose en actions peut tre interrompue reprsente par un autre diagramme

Activit
Action1 Action2 E1
do: activit

Attente
pas d activit, attente d vnements

Activit

Activit termine

E2

Transitions
Action Action

relient les actions / activits (flot de contrle) dclenches par des vnements : fin de l activit prcdente (transition automatique)
objet dans un certain tat satisfaction d une condition

une transition peut tre assortie d une condition de garde (bloque la transaction tant qu elle n est pas vrifie)
Prparation de la commande

[fin de journe]

Envoi de la commande

Nuds de dcision
une transition entrante et plusieurs transitions sortantes expression logique (garde) sur chaque transition sortante les gardes doivent tre exclusives (flot non indtermin) et couvrir toutes les possibilits (flot non gel) itrations ralises comme dans un organigramme ou avec l oprateur *

Contrler le produit reu

[produit bon]

[else]

Stocker le produit

Renvoyer le produit

Concurrence et synchronisation
Barre de synchronisation : indique le paralllisme
sparation de deux flots de contrle (fork) rendez-vous (join)
Demande de crdit

Recherche catalogue

Evaluation risque client

Slection produit

Affichage rponse

Diffrents cas de transitions


Commencer Mesurer Pression
[pas assez gonfl] [trop gonfl]

Continuer

Gonfler

Dgonfler

tablir communication

Passer table

Servir repas

Emettre

Recevoir

Manger

Exemple (1)
Programmer Vol Rserver

Affrter avion

Nommer quipage

Prendre rservation
[rservations insuffisantes] [rservations termines]

Annuler Vol

Dbuter embarquement

Objets
Il est possible de faire apparatre les objets dans un diagramme d activit on peut reprsenter la ligne de vie des objets (comme dans un diagramme de squence) on peut indiquer les crations, destructions, changement d tats ou de valeurs d attributs

Couloirs d activits
Introduction des acteurs responsables de chaque activit

Flux dobjets (Object Flows)


CompagnieAerienne
Programmer Vol
Vol [programm]

Passager

Pilote

Enregistrer Passager
Billet

Rserver

Prparer Vol

Affrter avion

Avion [vide]

Embarquer Vrifier Avion


Avion [prt dcoller]

Piloter

Synthse des concepts

Modlisation par Objets


Analyse par Objets La notation UML

Les trois modles de base


Comment volue le systme
D

Dynamique volution Analyse dynamique


modle tats transitions
S F

Modles de Comportemental comportementComment se comporte le Analyse par objets Rseaux smantiques


modle entitassociation systme

Analyse structure
modle de flux de donnes

Smantique structure
Le monde du problme, ce que traite le problme

Fonctions
Ce que fait le systme

Modliser en fonctions ou en objets


Rendun unservice servicede detransformation transformation Rend deflux. flux. de sparationdu duflux fluxtransform transformet etde de sparation vnementdclencheur dclencheur llvnement Rendun unservice serviceidentifi identifipar parune une Rend requte requte

La fonction

L objet

Lesystme systmeest estdcompos dcomposen en Le fonctionstransformatrices transformatricesde deflux flux fonctions

Lesystme systmeest estdcompos dcomposen enobjets objets Le cooprants cooprants

L objet informatique
identification Attributs
S1 S2
interfaces des services

associations

Concepts Concepts
Classe//instance instance Classe encapsulation encapsulation hritage hritage agrgation agrgation rfrencesentre entreobjets objets rfrences
identification Attributs Services (mthodes)

Services (mthodes)

Modlisation par objets


Dans les approches de modlisations comportementales, il reste une dichotomie entre analyse fonctionnelle / dynamique et smantique modlisation en objets : dcomposition directe du domaine du problme en objets:
qui rendent des services l environnement et aux autres objets (aspect fonctionnel) qui contiennent de la donne (aspect smantique) qui peuvent avoir leur propre tat et leur propre cycle de vie (aspect dynamique)
identification Attributs

smantique

fonctionnel

Services (mthodes)

dynamique interne

Modlisation par objets (2)


la dcomposition d un domaine en objets est une dcomposition naturelle incluant les aspects fonctionnels et dynamique la dcomposition comportementale l intrieur des objets peut tre modlise par les techniques existantes (Statecharts, )
Objet 2 Attributs Services (mthodes) Objet 2 Attributs Services (mthodes) Services (mthodes)

smantique
Objet 1 Attributs

dynamique interne
Objet 3 Attributs Services (mthodes)

Fonctionnel + dynamique = comportemental

pas de vision du comportement global

Modliser en objet : le GAB

You might also like