• Aucun résultat trouvé

CHAPITRE 03: UN PROFIL UML POUR LE MMSA

1. Exemple illustratif : un système de vidéosurveillance

La surveillance biométrique se réfère aux technologies de mesure et d’analyse de caractéristiques physiques et/ou comportementales par l’authentification ou l’identification. Des exemples de caractéristiques physiques sont les empreintes digitales, les empreintes rétiniennes, la reconnaissance faciale, alors que les caractéristiques comportementales concernent la signature manuscrite, la voix ou l’écriture. Toutes les caractéristiques du comportement biométrique sont pourvues d’un élément physiologique. La surveillance biométrique est relativement nouvelle, et en cours de développement.

Les fonctions principales dans un système de surveillance sont la vérification et l’identification. La vérification permet de déterminer si une personne est bien celle qu’elle prétend être (l’identité d’une personne peut être vérifiée si son information biométrique est sur une carte ou une base de données). Alors que l’identification est utilisée pour identifier la personne (l’information extraite est comparée avec une information sauvegardée dans une base de données).

Page 107

Pour illustrer notre stratégie de projection, nous prenons un système de surveillance automatique, qui contient des caméras de surveillance, un système d’information et des appareils d’alerte. Nous disposons des composants logiciels suivants:

- Un composant d’acquisition vidéo (fournit la vidéo sous format MPEG) - Un composant d’amélioration des images (requiert/fournit des images PNG) - Un composant de détection de visage (requiert/fournit des images PNG)

- Un composant de reconnaissance de visage (requiert des images BMP/fournit du texte) - Un composant d’interrogation de BD multimédia (fournit des images BMP)

- Un composant de gestion d’alarme (fournit un son WAVE)

La figure 3.6 décrit le système de surveillance en MMSA et les figures 3.7 à 3.10 montrent la représentation de ce même système après l’application du profil UML proposé.

Class Configuration Monitoring { Class Component Acquisition {

Properties { data-type = video; data-format =MPEG;} Constraints {max-persons=1;}

Interface {Connection-Mode : synchronous ; Ports provide{provide_MPEG;} Services provide {acquisition-video;} } }

Class Component Preparation {

Properties {data-type = image; data-format =PNG;} Interface {Connection-Mode : synchronous ; Ports provide{ProvImage _PNG;} Ports request{ReqImage_PNG;} Services provide { treatment -image;} } }

Class Component Treatment {

Properties { data-type = image; data-format =PNG;} Interface {Connection-Mode : synchronous ; Ports provide {ProvImage _PNG;} Ports request{ReqImage_PNG;} Services provide { treatment -image;} } }

Class Component Alarm {

Properties { data-type = sound; data-format =WAVE;} Interface {Connection-Mode : synchronous ; Ports request {ReqText_OL;}

Ports provide{ProvSound_WAVE;} Services provide { treatment -image;} } }

Class Component Recognition {

Properties { data-type = image; data-format =BMP;} Interface {Connection-Mode : synchronous ;

Services provide {image_analyze, images_comparaison;} Ports provide{ReqImage_BMP_1; ReqImage_BMP_2;} Ports request{ ProvText_OL;} }

}

Class Component SGBDImage {

Properties { data-type = image; data-format =BMP;} Interface {Connection-Mode : synchronous ; Services provide {image_analyze;}

Page 108

Ports provide{ReqImage_BMP; } Ports request{ ProvImage_BMP;} } }

Class Component DataBase {

Properties { data-type = image; data-format =BMP;} Interface {Connection-Mode : synchronous ; Services provide {image_provide} Ports provide{ReqImage_BMP; } } }

Class Text-Connector connector1{

Properties {flow = data} Glue { //simple case of a glue Communication {Com_Service} Adaptation service {}

QoS {}}

Interface { Connection-Mode : synchronous Roles_Required {ProvText.OL}

Roles_Provide { ReqText.OL}}

Service {Connection} }

}

Class V-I-Connector connector2{

Properties {flow = data} Glue { //simple case of a glue Communication {Com_Service} Adaptation service {MpegToJpeg} QoS {resolution}}

Interface { Connection-Mode : synchronous Roles_Required {ProvVideo.Mpeg}

Roles_Provide { ReqImage.Jpeg }}

Service {connection, adaptation} }

}

Class Image-Connector connector3{

Properties {flow = data, size, resolution, color } Glue {

Communication {Com_Service} Adaptation service {JpegToPng}

QoS {resolution, compression, transparency}} Interface { Connection-Mode : synchronous Roles_Required { ProvImage.JPEG}

Roles_Provide { ReqImage.PNG}}

Service {connection, adaptation} }

}

Class Image-Connector connector4 {

Properties {flow = data, size, resolution, color } Glue {

Communication {Com_Service} Adaptation service {PngToBmp} QoS {transparency}}

Interface { Connection-Mode : synchronous Roles_Required { ProvImage.PNG}

Roles_Provide { ReqImage.BMP}}

Service {connection, adaptation} }

}

Class Image-Connector connector5 {

Properties {flow = data, size, resolution, color } Glue {

Communication { } Adaptation service { } QoS {}}

Interface { Connection-Mode : synchronous Roles_Required {ProvImage.PNG}

Page 109

Figure 3.6. Système de surveillance en MMSA

1.1. Diagramme fonctionnel de l’application

Acquisition Preparation Treatment Recognition of face

SGBDImage Alarm

BDImages

Figure 3.7. Description du système de surveillance en UML 2.0

1.2. Application du profil UML MMSA

La figure 3.7 montre le diagramme de composants de notre exemple, décrit en UML 2.0. Cette modélisation ne permet pas la détection de l'hétérogénéité entre les différents composants.

Etape 1:

Dans cette étape nous représentons le système de surveillance avec la spécification des types d’E/S de chaque composant de l’architecture

Pré-configuration

Service {connection } }

}

Class Image-Connector connector6 {

………

Interface { Connection-Mode : synchronous

Roles_Required { ProvImage.BMP}

Roles_Provide { ReqImage. BMP}}

Service {connection } } }

Instance Monitoring {

Instances { CP1 : Acquisition; CP2 : Preparation; CP3 : Treatment; CP4 : Alarm; CP5 : Recognition; CP6 : SGBDImage; CP7 : DataBase; CN1 : Connector1; CA1: Connector2, CA2: Connector3; …}

Attachment {

CP1toCA1; CA1toCA2; CA2toCP2 ;…} }

Page 110 Out_BD «MMSAComponent» Recognition «MMSAComponent» SGBDImage «MMSAComponent» Alarm «MMSAComponent» Treatment «MMSAComponent» Preparation «MMSAComponent» Acquisition «MMSAComponent» BDImage In_Acq Out_Acq In_Pre Out_Pre In_Ttt Out_Ttt In_Rec1 In_Rec2 Out_Rec In_Dec Out_Dec Oun_SGBD In_SGBD

Figure 3.8. Pré-configuration du système Etape 2:

Dans cette étape, nous utilisons les notations du profil que nous avons définies. Ces notations nous permettent de localiser et de détecter (cf. figure 3.9) les points d’hétérogénéité (type et format des données) des composants de l’architecture.

Typage, formatage des interfaces et détection d’hétérogénéités

«MMSAComponent» Alarm «MMSAComponent» BDImage «MMSAComponent» SGBDImage «MMSAComponent» Recognition «MMSAComponent» Treatment «MMSAComponent» Preparation «MMSAComponent» Acquisition

Figure 3.9. Utilisation des composants du profil Etape 3:

Dans cette étape, nous intégrons les connecteurs entre composants en tenant compte des hétérogénéités détectées.

Intégration des connecteurs

Page 111 «MMSAConnector» PNGToBMP «MMSAComponent» Reconnaissance «MMSAConnector» PNGToBMP «MMSAComponent» Alarm «MMSAComponent» BDImage «MMSAComponent» SGBDImage «MMSAConnector» «MMSAConnector» «MMSAComponent» Treatment «MMSAConnector» «MMSAComponent» Preparation «MMSAConnector»

VideoToImage «MMSAComponent» Acquisition

«MMSAConnector»

JPEGtoPNG

Figure 3.10. Intégration des connecteurs de l’UML-profil

Après cette présentation d’un exemple avec MMSA, la section suivante présente le développement du profil MMSA dans Rational Software Modeler (http://www.ibm.com/developerworks/RSM