Vous êtes sur la page 1sur 26

SDL: 20 ans de

programmation base
modle

Emmanuel Gaudin
emmanuel.gaudin @ pragmadev.com

RTS 2007
Principes

MDE, MDA et MDD: Approche orient modle

PIM: Platform Independant Model

PDM: Platform Definition Model

PSM: Platform Specific Model

RTS 2007
Principes

PIM Lintrt de la dmarche est


de transformer le modle
PDM abstrait (PIM) laide de la
dfinition de la plateforme
(PDM) pour obtenir un
PSM
modle concret (PSM).

RTS 2007
PIM
Le modle abstrait doit tre indpendant de la plateforme
dimplmentation,
Le modle abstrait doit pouvoir tre traduit sur une
plateforme dimplmentation,
Pour cela on sappuie gnralement sur une machine
virtuelle qui offre:
un certain nombre de services,
une smantique suffisamment forte pour tre
expressive.

RTS 2007
SDL: Specification and Description Language

Le SDL (Specification and Description Language) est un standard


de lITU (International Telecommunication Union) manation de
lONU sous la rfrence Z.100.
Objectif est de dcrire de manire non ambigu les
protocoles de tlcommunications afin dassurer linter-
oprabilit des quipements,
Utilis par l ETSI (European Telecommunications
Standards Institute) pour dcrire les protocoles de
tlcommunications (X25, GSM, UMTS),
SDL est mis jour tous les 4 ans, on admet que la
premire version mature du langage date de 1988.

RTS 2007
SDL: Specification and Description Language

Les modles SDL sont indpendants de


limplmentation,
Le SDL dfinit une smantique forte,
Le SDL intgre des types de donnes abstraits,
Orient temps rel vnementiel,
Graphique,
Orient objet depuis sa version de 1992: SDL92.

RTS 2007
SDL: Specification and Description Language

Les modles SDL peuvent tre informels (une action


peut tre dcrite en langage naturel)
Les modles SDL peuvent tre incomplets (les
oprateurs sont dfinis lextrieur du modle)
Les modles SDL peuvent introduire une certaine forme
dindterminisme (oprateur ANY)
Les modles SDL peuvent tre formels (complet et non
ambigu)

RTS 2007
SDL: Specification and Description Language

La smantique et les services intrinsques au langage


permettent de dfinir une SDL virtual machine qui
rpond la dfinition dun Modle Indpendant de la
Plateforme (PIM).
La dfinition des interfaces des oprateurs et
limplmentation des services SDL dfinissent le
modle de la plateforme (PDM),
Il est alors possible de gnrer le modle
dimplmentation spcifique (PSM) comme par exemple
la combinaison dun langage dimplmentation (C/C++),
dun excutif temps rel (RTOS), et de drivers sur la
cible (oprateurs).

RTS 2007
Domaine dutilisation
Hormis les protocoles de Dcomposition en tches
tlcommunications, les concepts du SDL sexcutant en parallle
sont proches de ceux que lon retrouve Communication par :
dans les systmes temps rel embarqus change de messages
et en particulier sur les real Time Operating interruptions
System (RTOS) appel de fonctions
smaphores

Application
Module 1 Module 2 Module 3
Message queue

Smaphore

RTOS
driver

driver

hardware
RTS 2007
Gains du SDL
Des annes de pratique ont permis de mesurer quantitativement
les gains apports par lutilisation du SDL

Code C: 35 50 fautes par 1000 lignes


Code SDL: 8 fautes par 1000 lignes

Rduction globale du cycle de dveloppement de lordre de


35%
Rduction de prs de 50% dans la branche gauche du
cycle en V
Rduction moindre dans la branche droite du fait du
dcalage avec la ralit technique

RTS 2007
UML: Unified Modeling Language

LUML (Unified Modeling Language) standardis par l OMG (Object


Management Group).
Adapt tous types de systmes,
Graphique,
Utilis trs haut niveau d abstraction,
Informel, i.e. ncessite un autre langage pour le codage (C,
C++, Java, SDL),
Trs orient objet.

RTS 2007
Pas de spcificit temps rel UML

UML 1 trop gnrique pour tre un PIM,

Pas de reprsentation UML des concepts temps rel


classiques: tches, smaphore, message, timer

Pas de smantique,

Pas de types de donnes,

UML 2 permet de dfinir un profil pour un domaine


dapplication utilisable pour modliser un PIM.

RTS 2007
Compatibilit UML

Il nexiste pas de profil UML 2.0 standard pour le temps rel,

Les profils UML 2.0 ne sont pas compatibles,

LITU est en cours de dfinition dun profil UML 2.0 standard


pour les tlcommunications bas sur le SDL,

SDL est ou sera un profil UML 2.0 standard pour les


tlcommunications.

RTS 2007
Positionnement des langages

Analyse UML
UML UML
UML

SDL
SDL
Spcification
SDL-RT
SDL
SDL
CC
Conception C++
C++ Java
Java CC C++
C++

Temps Temps
IHM Web Tlcoms
rel rel

RTS 2007
SDL-RT

SDL-RT
Permet de gnraliser lutilisation de SDL toutes les
applications temps rel sappuyant sur un RTOS,
Lisible et bas sur un format de stockage textuel
normalis (XML),
Propos lITU pour intgration dans le SDL,
Est un profil UML pour les applications temps rel.

RTS 2007
Diagramme de classe UML et SDL-RT

Relations
entre les
classes
passives
et
actives

RTS 2007
Diagramme darchitecture SDL, UML, et SDL-RT

Architecture
et
Communication

RTS 2007
Diagramme de comportement SDL et SDL-RT

Vues
Comportement
et
Donnes

Process A

RTS 2007
Extension temps rel: SDL-RT
Autre exemple
de
comportement

Prise de
smaphore
Le timer
claque
Dmarrage dun
timer
Le smaphore
est libr

Etat
intermdiaire

RTS 2007
Diagramme de dploiement: UML et SDL-RT

Vue
dploiement
physique

RTS 2007
Orientation objet - exemple
myPackage myGate
[Input 1, State 1
Input 2]
myGate
Input 1 Input 2
State 1
[Input 1]

Action 1 Action 2
Input 1 INHERITS MySuperClass;

Action 1
State 1
= State 2 State 3

State 2
An instance of MyClass
Input 2

MySuperClass
Action 2

myGate State 3
[Input 2]

MyClass

RTS 2007
Orientation objet exemple suite

Linstance de la classe sintgre dans larchitecture du systme

USE myPackage;

Process A:
MyClass
canal3
canal4
Process B myGate
canal1
[Signal3] [Signal1, [Signal8] [Input 1,
Signal2] Input 2]

RTS 2007
SDL-RT MSC: une vue dynamique
SDL-RT Message Sequence Chart
Les lignes verticales
reprsentent une tche,
lenvironnement ou un
smaphore,
Les flches reprsentent des
changes de messages, une
manipulation de smaphore ou
de timer.
Utilisations en amont et en aval:
Spcification dynamique sous
forme de scnario
Trace dexcution

RTS 2007
RTDS: les langages supports

Analyse UML

Spcification SDL-RT
SDL
Z.100
C
Conception
C++

RTS 2007
Conclusion
SDL permet le dveloppement bas modles depuis plus de
20 ans dans le domaine des tlcommunications
SDL-RT largit le domaine toutes les applications temps rel
sappuyant sur un RTOS
Les profils UML 2.0 ne sont pas compatibles
Il nexiste pas de profil UML 2.0 standard pour le temps rel
LITU est en cours de dfinition dun profil UML 2.0 standard
pour les tlcommunications bas sur le SDL
SDL est ou sera un profil UML 2.0 standard pour les
tlcommunications

RTS 2007
SDL Forum Paris Septembre 2007

System Design Languages

Tutorial

Expriences industrielles

Recherche sur la modlisation

http://www.pragmadev.com/sdl07

RTS 2007

Vous aimerez peut-être aussi