JC 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 Middleware ManagerSender Site A ManagerReceiver Site B Architecture de déploiement Exemple : Application diffusion asynchrone de messages Communication component (diffusion protocol) Send() Receive() SenderReceiver
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 : Process NFL, NFR Framework, QML, etc.
4 Objectif Offrir au concepteur la possibilité de choisir des propriétés non fonctionnelles. Spécifier : Un processus dinté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-AttributeId 1 [Ressource][ConditionsOfUse][KindOfEffect] … NF-AttributeId n [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,T4 Tconf2 = T2,T3,T5 Tconf3 = T2,T3,T6 T2T3T4T5T6 T1 E1: Choix et décomposition Security confidentialityIntegrityAvailability Performance SpaceTime Authorize access Identify users Authenticate user access Validate access against eligibility rules Use P.I.N Compare signature Require Additional ID Use indexing -
8 Intégration des propriétés non fonctionnelles Mconf3 Tconf1 Ma Mconf2Mconf1 Tconf3 Tconf2 confidentialité Mconf2,Int1Mconf2,IntjMconf2,Intn Tint1TintjTintn Intégrité Mconf2,Int1, avail1 Tavailk Tavail1 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 dintégration des propriétés non fonctionnelles Sémantiques des transformations de modèle Perspectives : Langages de spécification (conditions dutilisation, transformations) Implémentation du processus dintégration Expérimentation sur un cas concret : une donnée complexe partagée