intégration des propriétés non fonctionnelles dans les composants de communication
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 PresentationTRANSCRIPT
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