Intégration des propriétés non fonctionnelles dans les composants de communication

Preview:

DESCRIPTION

Intégration des propriétés non fonctionnelles dans les composants de communication. Antoine Beugnard. Eveline KABORE. Exemple : Application diffusion asynchrone de messages. Communication component (diffusion protocol). Receive(). Send(). Architecture de déploiement. Sender. - PowerPoint PPT Presentation

Citation preview

JC 2005 - 06 Avril 2005

Intégration des propriétés non fonctionnelles dans les

composants de communication

Eveline KABORE Antoine Beugnard

2

Contexte

Composant de communication : implémente un service ou un protocole de communication.

Component

MiddlewareManagerSender

Site A

Manager Receiver

Site B

Architecture de déploiement

Exemple : Application diffusion asynchrone de messages

Communication component(diffusion protocol)

Send() Receive()Sender Receiver

3

Contexte

Propriétés non fonctionnelles :

Performance, sécurité, fiabilité, etc.

Comment un logiciel opère ou comment une fonctionnalité est exhibée.

Stratégies de prise en compte :

Process-oriented, product-oriented

Langages orientés aspects, Z, etc.

Outils : ProcessNFL, NFR Framework, QML, etc.

4

Objectif

Offrir au concepteur la possibilité de choisir des propriétés non fonctionnelles.

Spécifier :

Un processus d’intégration des propriétés non fonctionnelles,

Des transformations de modèles pour implémenter ce processus.

5

Plan

Intégration des propriétés non fonctionnelles

Transformations de modèle

Conclusion & perspectives

6

Intégration des propriétés non fonctionnelles

Catalogue de connaissances :

action actionId {

NF-AttributeId1[Ressource][ConditionsOfUse][KindOfEffect]…

NF-AttributeIdn[Ressource][ConditionsOfUse][KindOfEffect]}

action chiffrement {

confidentialité[Data][R][+3];performance_temps[Data][R][-1];

}

7

Intégration des propriétés non fonctionnelles

E2: Sélection des actions

E3: Transformations

Tconf1 = T2,T3,T4Tconf2 = T2,T3,T5Tconf3 = T2,T3,T6

T2 T3 T4 T5 T6T1

E1: Choix et décomposition

Security

confidentialityIntegrity Availability

Performance

Space TimeAuthorizeaccess

Identifyusers

Authenticateuser access

Validate accessagainst eligibility rules

Use P.I.N

Comparesignature

RequireAdditionalID

Useindexing

-

8

Intégration des propriétés non fonctionnelles

Mconf3

Tconf1Ma

Mconf2Mconf1

Tconf3Tconf2

confidentialité

Mconf2,Int1 Mconf2,Intj Mconf2,Intn

Tint1 Tintj Tintn

Intégrité

Mconf2,Int1,avail1

TavailkTavail1 Tavailm

Mconf2,Int1,availm

Mconf2,Int1,availk

Disponibilité

Mconf,int1,Avail1,Time

Ttime

Performance

T = Tconf3.Tint1.Tavail1.Ttime

Mconf,int1,Avail1,space

Tspace

Performance

T’ = Tconf3.Tint1.Tavailm.Ttime

9

Transformations de modèle

Spécification :

Transformation T{

Pré-conditions:

Portée: Data;conditions[Data]: Taux de lectures == Taux d’écritures;

Actions:Use indexing;

Post-conditions:

Performance minimale;[Data]: Taux de lectures == Taux d’écritures

}

10

Transformations de modèles

Transformation T’ {

Pré-conditions:

Portée: Data;conditions[Data]: Taux de lectures == Taux d’écritures;

Actions:

Tconf3.Tint1.Tavail1.Ttime;

Post-conditions:

Performance minimale, sécurité maximale; [Data]: Taux de lectures == Taux d’écritures

}

11

Conclusion & perspectives

Processus d’intégration des propriétés non fonctionnelles

Sémantiques des transformations de modèle

Perspectives :

Langages de spécification (conditions d’utilisation, transformations)

Implémentation du processus d’intégration

Expérimentation sur un cas concret : une donnée complexe partagée

Recommended