190 likes | 323 Views
Modèle formel pour la spécification et la vérification de la qualité de service. François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT. Introduction et définition des besoins. Systèmes avioniques. Caractéristiques : Systèmes soumis aux contraintes de temps
E N D
Modèle formel pour la spécification et la vérification de la qualité de service François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Systèmes avioniques • Caractéristiques : • Systèmes soumis aux contraintes de temps • Systèmes soumis à des contraintes de ressources • Prépondérance de ces systèmes : • Pilote automatique, • Systèmes de commande (freins, gouvernes, …), • Gestion des communications • grand nombre de ressources matérielles • occupation spatiale importante • Nouveaux besoins (Avionique Modulaire Intégrée) : • Diminution de l’espace occupé • Réutilisation accrue de composants • Indépendance entre le niveau applicatif et la plateforme matérielle
Systèmes avioniques • Nouveaux besoins : • Diminution de l'espace occupé Partage intensif des ressources de calcul et de communication • Réutilisation de composants Modularité et développement en systèmes ouverts • Indépendance entre l'application et la plateforme matérielle Définition d'un niveau intermédiaire de type middleware
Développement de systèmes avioniques • Fortes exigences temporelles dues à la criticité des applications avioniques • Les performances de ces systèmes sont contraintes par les ressources Le choix de ces ressources constitue une part importante du développement
Approche du problème et méthodologie de conception • Spécification du système : • Définition d'un modèle formel basé sur les notions de : • Composants (fonctions avioniques) • Ressources virtuelles offrant des services aux fonctions avioniques • Abstraction de la ressource par séparation des aspects fonctionnels et non fonctionnels : • Service offert par la ressource • Qualité de service temporelle offerte par la ressource utilisée • Conception hiérarchique d'un système par raffinements successifs des services • Vérification de la compatibilité de QdS par model checking • Automates temporisés
Définition d'une fonction • Une fonction décrit un élément applicatif du système à un niveau d'abstraction donné • Fonction avionique, • Mécanisme de gestion d'accès aux ressources, • etc … • Au sein du modèle, la fonction demande un service ainsi qu'une certaine qualité de service • Structure d'une fonction • Ensemble d’interfaces • Ensembles d’événements en sortie et en entrée de l’interface • Comportement temporisé (automate temporisé) Protocole d'interaction avec l'environnement (utilisation du service) • Comportement temporisé de la fonction • Encapsulation d'une fonction vis-à-vis de son environnement
Définition algébrique d'une fonction • Deux parties comportementales: • Comportement : automate temporisé • Protocole : automate temporisé • Le comportement global est défini par le produit synchronisé des automates: • Les ensembles d'événements In et Out sont disjoints
Caractérisation d’une ressource virtuelle • Une ressource virtuelle est caractérisée par : • Le service qu’elle fournit (partie fonctionnelle), • Les performances (partie non fonctionnelle) • Un service est défini par : • Un ensemble de points d’accès vocabulaire spécifiant les entrées et les sorties, • Un ensemble d’événements internes, • Une relation de causalité temporisée paramétrée, • Un ensemble de paramètres (caractéristiques de qualité de service). Le service est une spécification paramétrée d'une fonctionnalité d'une ressource • La qualité de service est définie par : • Un ensemble d'attributs de qualité de service, • La fonction QdSofferte (fonction totale) qui value les attributs. Représente la qualité de service offerte par la ressource virtuelle
Définition formelle d'un service • Spécification paramétrée de la partie fonctionnelle d’une ressource • Défini par : • Un ensemble de points d’accès • Un ensemble d’événements • Un ensemble de paramètres • Une spécification paramétrée spécifiant les relation temporelles entre les événements
Définition formelle de l'élément qualité de service • La qualité de service a pour rôle d'instancier les paramètres du service • La qualité de service est décrite par : • Un ensemble d’attributs de qualité de service • Une fonction QdSofferte valuant totalement les attributs de qualité de service
Spécification de services (langage de causalité temporisée) • Définition d’un langage exprimant les relations causales temporisées entre les événements • La causalité temporisée exprime le fait que " l'occurrence de a force l'occurrence de b dans un délai compris dans l'intervalle I" • Syntaxe : • Axiomatique : • Commutativité des combinateurs et • Associativité des combinateurs et • Distributivité du
Spécification de services (algèbre d'événements) • Définition d'une algèbre pour la composition d'événements permettant d'exprimer : • L'absence d'un événement sur un intervalle borné • La présence de plusieurs événements sur un intervalle Soit E un alphabet d'événements. L'algèbre d'événements est définie par :
Définition formelle de la relation demande • Associe une interface d’un composant à un point d’accès du service • Mapping entre les événements de cette interface et les événements du service synchronisation des événements • Définit un ensemble d’exigences de qualité de service • Une exigence de QdS définit ce que requiert le client vis-à-vis du service • fonct : fonction requérant un service • serv : service demandé par fonct • i : interface de fonct par laquelle l'assemblage sera réalisé • pa : point d'accès au service réalisé par i • mapping : relation associant un événement de i à un événement de pa • QdSrequise : formule logique exprimant la qualité de service requise par fonct XSL est une logique temporisée d'actions
Définition formelle de la relation réalise • Relation déclarant la réalisation d'un service par une ressource offrant la qualité de service QdS • prov : qualité de service offerte par la ressource réalisant le ou les services qui lui sont associés • serv : service Les paramètres du service sont totalement instanciés
Traduction du modèle vers les automates temporisés • Les éléments du modèle admettant une traduction vers les automates temporisés sont : • La fonction : composition parallèle des interfaces et de la composante de synchronisation • Le service • La relation de mapping : synchronisation des événements du point d'accès (service) et de l'interface (fonction) • Les exigences de qualité de service (exprimées en XSL) admettent un automate temporisé appelé automate de test.
Cohérence comportementale La cohérence est établie si la composition des automates temporisés : des services instanciés, des fonctions, est non bloquante Compatibilité de qualité de service Confrontation de la qualité de service requise et de la qualité de service offerte Effectuée au moyen de la vérification par le test Composition des automates temporisés : du service instancié, des exigences de qualité de service, de l'interface (protocole) de la fonction requérant le service Vérification que l'état falsifiant les exigences de qualité de service n'est pas atteignable Vérification
Bilan et perspectives • Le modèle défini permet de spécifier un système en faisant abstraction des choix d'implantation Indépendance entre l'application et la plateforme d'exécution • La vérification de la qualité de service permet de valider ces choix d'implantations • L'utilisation des automates temporisés autorise la vérification de propriétés globales au système • Définition du raffinement nécessaire afin de vérifier la qualité de service de bout en bout du système • Le lien entre le modèle et les techniques d'analyse paramétrée permettrait de dimensionner les ressources du système Détermination de l'espace d'état des paramètres de service satisfaisant les exigences de qualité de service et les propriétés du système