La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Contribution à la validation des systèmes réflexifs tolérants aux fautes : stratégie de test de protocoles à métaobjets Juan Carlos Ruiz García Tolérance.

Présentations similaires


Présentation au sujet: "Contribution à la validation des systèmes réflexifs tolérants aux fautes : stratégie de test de protocoles à métaobjets Juan Carlos Ruiz García Tolérance."— Transcription de la présentation:

1 Contribution à la validation des systèmes réflexifs tolérants aux fautes : stratégie de test de protocoles à métaobjets Juan Carlos Ruiz García Tolérance aux fautes et Sûreté de Fonctionnement informatique

2 2Contexte Technologie à objets Technologie réflexive Solutions à protocole à métaobjets (MOP) Sûreté de fonctionnement Tolérance aux Fautes (TaF) Systèmes TaF à base de MOPs

3 3Contexte Technologie à objets Technologie réflexive Solutions à protocole à métaobjets (MOP) Sûreté de fonctionnement Tolérance aux Fautes (TaF) Vérification Test Systèmes TaF à base de MOPs

4 4 Systèmes à base de MOPs « Un système réflexif a la capacité dobserver et contrôler son propre comportement, état et/ou structure »

5 5 Systèmes à base de MOPs Métaniveau observation, interprétation, contrôle Niveau de base Comportement, structure et état du système « Un système réflexif a la capacité dobserver et contrôler son propre comportement, état et/ou structure »

6 6 Systèmes à base de MOPs Métaniveau observation, interprétation, contrôle Niveau de base Comportement, structure et état du système Métamodèle (modèle du niveau de base) comportementétat/structure « Un système réflexif a la capacité dobserver et contrôler son propre comportement, état et/ou structure »

7 7 Systèmes à base de MOPs Objets (entités du niveau de base) Mécanismes fonctionnels Métaobjets (entités du métaniveau) Mécanismes non-fonctionnels (Tolérance aux Fautes) Protocole à métaobjets (MOP) Réification (observation comportement) Introspection (observation structure/état) Intercession (contrôle comportement) (contrôle structure/état) « Un système réflexif a la capacité dobserver et contrôler son propre comportement, état et/ou structure »

8 8 Systèmes à base de MOPs Objets (entités du niveau de base) Mécanismes fonctionnels Métaobjets (entités du métaniveau) Mécanismes non-fonctionnels (Tolérance aux Fautes) Protocole à métaobjets (MOP) Réification (observation comportement) Introspection (observation structure/état) Intercession (contrôle comportement) (contrôle structure/état) - Notre cible de test -

9 9 Systèmes TaF à base de MOPs métaobjet Exemple: Augmentation de la disponibilité dun serveur par réplication passive Site 1 métaobjet métaobjet réplique de secours réplique primaire service 1. Invocation méthode client Site 2 Site 3

10 10 Systèmes TaF à base de MOPs métaobjet Exemple: Augmentation de la disponibilité dun serveur par réplication passive métaobjet métaobjet réplique de secours réplique primaire service 2.Réification 1. Invocation méthode client Site 1 Site 2 Site 3

11 11 Systèmes TaF à base de MOPs 4.Introspection métaobjet Exemple: Augmentation de la disponibilité dun serveur par réplication passive métaobjet métaobjet réplique de secours réplique primaire service 2.Réification 1. Invocation méthode 3.Intercession comportementale client Site 1 Site 2 Site 3

12 12 Systèmes TaF à base de MOPs 4.Introspection métaobjet Exemple: Augmentation de la disponibilité dun serveur par réplication passive 5.État observé métaobjet métaobjet réplique de secours réplique primaire service 2.Réification 1. Invocation méthode 3.Intercession comportementale client métacontrol 6.Intercession structurelle Site 1 Site 2 Site 3

13 13Plan État de lart et problématique État de lart et problématique Stratégie de test Stratégie de test Case study : the F RIENDS MOP Case study : the F RIENDS MOP Expériences et résultats Expériences et résultats Bilan, conclusions et perspectives Bilan, conclusions et perspectives

14 14Plan État de lart et problématique État de lart et problématique Stratégie de test Stratégie de test Case study : the F RIENDS MOP Case study : the F RIENDS MOP Expériences et résultats Expériences et résultats Bilan, conclusions et perspectives Bilan, conclusions et perspectives

15 15 Test de conformité moniteur de test entrées de test MOP (cible du test) spécification MOP du MOP oracle vérifications de conformité sorties attendues sorties observées OK !

16 16 Test de conformité moniteur de test entrées de test MOP (cible du test) objet métaobjet spécification MOP du MOP oracle vérifications de conformité sorties attendues sorties observées OK !

17 17 État de lart Vérification de MOPs :Vérification de MOPs : –Modèle WRIGTH MOP connecteur entre objets MOP connecteur entre objets Le MOP inclut le métaniveau Le MOP inclut le métaniveau –Modèle -calcul MOP connecteur entre objets et métaobjets MOP connecteur entre objets et métaobjets Le MOP doit respecter des propriétés qui peuvent (et doivent) être vérifiées indépendamment du niveau de base et du métaniveau considérés. Le MOP doit respecter des propriétés qui peuvent (et doivent) être vérifiées indépendamment du niveau de base et du métaniveau considérés. Pas de travaux sur le test des MOPs !Pas de travaux sur le test des MOPs ! MOP

18 18 État de lart Vérification de MOPs :Vérification de MOPs : –Modèle WRIGTH MOP connecteur entre objets MOP connecteur entre objets Le MOP inclut le métaniveau Le MOP inclut le métaniveau –Modèle -calcul MOP connecteur entre objets et métaobjets MOP connecteur entre objets et métaobjets Le MOP doit respecter des propriétés qui peuvent (et doivent) être vérifiées indépendamment du niveau de base et du métaniveau considérés. Le MOP doit respecter des propriétés qui peuvent (et doivent) être vérifiées indépendamment du niveau de base et du métaniveau considérés. Pas de travaux sur le test des MOPs !Pas de travaux sur le test des MOPs ! MOP

19 19Problématique Test de protocoles à métaobjets : - Méthodes - Outils 1.Quelles étapes de test à envisager ? 2.Quels objectifs à couvrir dans chaque étape ? 3.Quels environnements de test ? Test OO Test de Protocoles Test Syst. réflexifs

20 20Plan État de lart et problématique État de lart et problématique Stratégie de test Stratégie de test Case study : the F RIENDS MOP Case study : the F RIENDS MOP Expériences et résultats Expériences et résultats Bilan, conclusions et perspectives Bilan, conclusions et perspectives

21 21Plan État de lart et problématique Stratégie de test Stratégie de test – Modèle de MOP – Ordre de test – Objectifs et Environnements de test

22 22 MOP pour la TaF M AUD [Agha 93], G ARF [Garbinato 95], F RIENDS [Pérennou 97], [Killijian 00] Métaobjet Objet Observation Contrôle –Interception (Reification) création destruction interactions entre objets (entrantes et sortantes) –Obtention de létat (Introspection) –Consultation du lien objet/métaobjet –Activation (Intercession comportementale) création destruction interactions entre objets –Mise à jour de létat (Intercession structurelle) –Modification du lien objet/métaobjet

23 23 MOP pour la TaF M AUD [Agha 93], G ARF [Garbinato 95], F RIENDS [Pérennou 97], [Killijian 00] Métaobjet Objet Observation Contrôle –Interception (Reification) créationcréation destructiondestruction interactions entre objetsinteractions entre objets (entrantes et sortantes) –Obtention de létat (Introspection) –Consultation du lien objet/métaobjet –Activation (Intercession comportementale) créationcréation destructiondestruction interactions entre objetsinteractions entre objets –Mise à jour de létat (Intercession structurelle) –Modification du lien objet/métaobjet

24 24 Systèmes TaF à base de MOPs 4.Introspection métaobjet Exemple: Augmentation de la disponibilité dun serveur par réplication passive Site 1 5.État observé métaobjet métaobjet réplique de secours réplique primaire service 2.Réification 1. Invocation méthode 3.Intercession comportementale client métacontrol 6.Intercession structurelle Site 2 Site 3

25 25 métaobjet client Modèle de MOP service objet serveur comportement état/structure métacontrol intercession structurelle introspection conteneurdétat réification intercession comportementale conteneurdinvocation

26 26 métaobjet service Modèle de MOP réification intercession comportementale intercession structurelle introspection comportement état/structure objet serveur métacontrol client métaobjet conteneurdétat conteneurdinvocation

27 27 métaobjet service Modèle de MOP réification intercession comportementale intercession structurelle introspection comportement état/structure objet serveur métacontrol client métaobjet Quel ordre de test ? conteneurdétat conteneurdinvocation

28 28 Ordre de Test But : « Réduction de leffort global de test » –Ordre de test systématique et incrémental –Réutilisation de mécanismes réflexifs

29 29 métaobjet service Ordre de test - Étape 1 - réification conteneurdinvocation objet serveur client

30 30 métaobjet service Ordre de test - Étape 2 - réification intercession comportementale comportement conteneurdinvocation objet serveur client

31 31 Ordre de test - Étape 3 - métaobjet service réification intercession comportementale introspection comportement état/structure conteneurdinvocation conteneurdétat objet serveur métacontrol client métaobjet

32 32 métaobjet service Ordre de test - Étape 4 - réification intercession comportementale intercession structurelle introspection comportement état/structure conteneurdinvocation conteneurdétat objet serveur métacontrol client métaobjet

33 33 Ordre de Test 0.Création du lien dinteraction 1.Réification 2.Intercession comportementale 3.Introspection 4.Intercession structurelle 5. 5.Destruction du lien dinteraction

34 34 Ordre de Test Création du lien dinteraction Création du lien dinteraction 1.Réification 2.Intercession comportementale 3.Introspection 4.Intercession structurelle Destruction du lien dinteraction

35 35 Ordre de Test Création du lien dinteraction Création du lien dinteraction 1.Réification 2.Intercession comportementale 3.Introspection 4.Intercession structurelle Destruction du lien dinteraction Étapes Générales Étape Spécifique

36 36 Ordre de Test Création du lien dinteraction Création du lien dinteraction 1.Réification 2.Intercession comportementale 3.Introspection 4.Intercession structurelle Destruction du lien dinteraction Étapes Générales Étape Spécifique

37 37 Étape 1 Réification Objectifs de test Complétude – Toute interaction entre objets doit être systématiquement réifiée au métaniveau.Complétude – Toute interaction entre objets doit être systématiquement réifiée au métaniveau. Cohérence – Les informations réifiées doivent représenter correctement linteraction réifiée.Cohérence – Les informations réifiées doivent représenter correctement linteraction réifiée. serveur client métaobjet

38 38 Étape 1 Réification objet serveur réification métaobjet réification oracle moniteur Génération aléatoire des valeurs de sortie Comparaison8 < méthode invoquée, paramètres dentrée, paramètres dentrée, paramètres de sortie > paramètres de sortie > retour retour serveur client métaobjet exécution de méthode 1 2 méthode InvocationExecutéeNonRéifiée méthode service

39 39 Étape 2 Intercession comp. métaobjet serveur client Objectifs de test Complétude – Toute méthode réifiée doit être activable à laide des mécanismes dintercession comportementale.Complétude – Toute méthode réifiée doit être activable à laide des mécanismes dintercession comportementale. Cohérence – Les mécanismes dintercession doivent déclencher lexécution de la méthode demandée.Cohérence – Les mécanismes dintercession doivent déclencher lexécution de la méthode demandée. Encapsulation – Lactivité interne de lobjet ne doit pas être réifiée.Encapsulation – Lactivité interne de lobjet ne doit pas être réifiée.

40 40 Étape 2 Intercession comp. métaobjet oracle moniteur service intercession comportement 4 méthode 5 6 a. Les méthodes réifiées sont appliquées sur lobjet b. Les paramètres de sortie sont retournés au moniteur 1 méthode 3 méthode 2 serveur métaobjet serveur client Comparaison < méthode invoquée, paramètres dentrée, paramètres dentrée, paramètres de sortie > paramètres de sortie > retour 7 retour retour 8 a. Les méthodes réifiées sont appliquées sur lobjet b. Les paramètres de sortie sont retournés au moniteur réification

41 41 Étape 3 Introspection métaobjet serveur client Objectifs de test Complétude – Lensemble de létat de lobjet doit être observé.Complétude – Lensemble de létat de lobjet doit être observé. Cohérence – Les valeurs observées doivent être les valeurs courantes des attributs de lobjet.Cohérence – Les valeurs observées doivent être les valeurs courantes des attributs de lobjet.

42 42 Étape 3 Introspection Métaobjet réification service intercessioncomportementaleintrospection métacontrôle objet serveur moniteur comportement état/structure oracle Létat «introspecté», est-il cohérent avec celui dinitialisation? état dintrospection état dinitialisation métaobjet serveur client

43 43 Étape 4 Intercession struct. métaobjet serveur client Objectifs de test Complétude – Lensemble de létat de lobjet doit pouvoir être mis à jour depuis le métaobjet.Complétude – Lensemble de létat de lobjet doit pouvoir être mis à jour depuis le métaobjet. Cohérence – Les valeurs de mise à jour utilisées doivent être celles fournies par le métaobjet.Cohérence – Les valeurs de mise à jour utilisées doivent être celles fournies par le métaobjet.

44 44 Étape 4 Intercession struct. moniteur intercessioncomportementaleintrospection comportement état/structure intercessionstructurelle Métaobjet réification service objet serveur oracle 21 Initialisation de létat de lobjet 3 4 état initialisation métacontrôle métaobjet serveur client

45 45 Étape 4 Intercession struct. moniteur intercessioncomportementaleintrospection comportement état/structure intercessionstructurelle Métaobjet réification service objet serveur oracle 2,61,5 Modification de létat de lobjet 3,7 8 état initialisation Létat résultant de lintercession, est-il cohérent avec celui dinitialisation? 10 état intercession 119métacontrôle métaobjet serveur client

46 46 Ordre de Test Création du lien dinteraction Création du lien dinteraction 1.Réification 2.Intercession comportementale 3.Introspection 4.Intercession structurelle Destruction du lien dinteraction Étapes Générales Étape Spécifique

47 47 Ordre de Test Création du lien dinteraction Création du lien dinteraction 1.Réification 2.Intercession comportementale 3.Introspection 4.Intercession structurelle Destruction du lien dinteraction Étapes Générales Étape Spécifique

48 48Plan État de lart et problématique État de lart et problématique Stratégie de test Stratégie de test Case study : the F RIENDS MOP Case study : the F RIENDS MOP Expériences et résultats Expériences et résultats Bilan, conclusions et perspectives Bilan, conclusions et perspectives

49 49 État de lart et problématique État de lart et problématique Stratégie de test Stratégie de test Case study : the F RIENDS MOP Case study : the F RIENDS MOP Expériences et résultats Bilan, conclusions et prospectives Plan – MOP implementation and architecture – Testing the MOP generation / instantiation / destruction

50 50 The F RIENDS MOP A MOP for the development of fault-tolerant CORBA applicationsA MOP for the development of fault-tolerant CORBA applications CORBA service implementation Application programmer CORBA-orientedFT-mechanism Fault tolerance programmer source code analysis and transformation Metaprogram ( MOP implementation ) MOP instance CORBA service implementation MOP programmer Open Compiler (compile-time reflection) CORBA metaobject CORBA object MOP instance instantiation Testing the metaprogram

51 51 A CORBA application CORBA service implementation serverstub client Service Service interobjectcommunications site 1 site 2

52 52 A F RIENDS CORBA application MOP instance CORBA service implementation CORBA-orientedFT-mechanism server stub client Service MetaStub MetaServer MetaServer ReifiedStub Service metastub metaserver MOFactory ReifiedServer intermetaobjectcommunications ORB OFactory site 1 site 2 Testing the creation and destruction of the O-MO interaction link

53 53 Test Order Specific Step MOP generation (testing the metaprogram) MOP generation (testing the metaprogram) MOP instantiation (O-MO link creation) 1.Reification 2.Behavioral intercession 3.Introspection 4.Structural intercession MOP destruction (O-MO link destruction)

54 54 Test Order Specific Step MOP generation (testing the metaprogram) MOP generation (testing the metaprogram) MOP instantiation (O-MO link creation) 1.Reification 2.Behavioral intercession 3.Introspection 4.Structural intercession MOP destruction (O-MO link destruction) MOP generation (testing the metaprogram)

55 55 Testing the metaprogram servercode Open Compiler (OpenC++) non-reflective code 1.Code filtering rules Metaprogram : set of code analysis and transformation rules Error messages stub code

56 56 Testing the metaprogram servercode Open Compiler (OpenC++) non-reflective code 1.Code filtering rules 2.Data container generation rules Metaprogram : set of code analysis and transformation rules Error messages stub code CORBA Interface Repository

57 57 Testing the metaprogram servercode Open Compiler (OpenC++) non-reflective code reflective code MOP 1.Code filtering rules 2.Data container generation rules 3.Reflective code generation rules server code Metaprogram : set of code analysis and transformation rules Error messages stub code CORBA Interface Repository MOP stub code

58 58 Reflective code generation rules 5 Oracle Does the generated code conform to the code specified for the MOP? Open compiler MOP code 4 metaprogram behavioral reflection behavioral reflection Code for reification & behavioral intercession Code for reification & behavioral intercession structural reflection structural reflection Code for saving & restoring object states Code for saving & restoring object states objet-metaobjet link objet-metaobjet link Code for handling the objet-metaobjet link Code for handling the objet-metaobjet link classes with different method signatures classes with different types of attributes classes with methods & attributes

59 59 Reflective code generation rules - Oracle verifications - class a{ public: public: int foo(){ int foo(){ // foos body // foos body } private: private: int foo2() { int foo2() { //foo2s body //foo2s body }}; class a{ public: public: int foo(){ int foo(){ //reification code //reification code } int Wrapped_foo(){ int Wrapped_foo(){ // foos body // foos body } int Execute_fooBody(){ int Execute_fooBody(){ return Wrapped_foo() return Wrapped_foo() } private: private: int foo2() { int foo2() { //foo2s body //foo2s body }}; behavioral reflection behavioral reflection Implemented using method wrapping Implemented using method wrapping metaprogram Oracle Does the generated code conform to the code specified for the MOP?

60 60 Reflective code generation rules - Oracle verifications - class a{ public: public: int foo(){ int foo(){ // foos body // foos body } private: private: int foo2() { int foo2() { //foo2s body //foo2s body }}; class a{ public: public: int foo(){ int foo(){ //reification code //reification code } int Wrapped_foo(){ int Wrapped_foo(){ // foos body // foos body } int Execute_fooBody(){ int Execute_fooBody(){ return Wrapped_foo() return Wrapped_foo() } private: private: int foo2() { int foo2() { //foo2s body //foo2s body }}; behavioral reflection behavioral reflection Implemented using method wrapping Implemented using method wrapping metaprogram Oracle Does the generated code conform to the code specified for the MOP?

61 61 Reflective code generation rules - Oracle verifications - Oracle Does the generated code conform to the code specified for the MOP? class a{ public: public: int foo(){ int foo(){ // foos body // foos body } private: private: int foo2() { int foo2() { //foo2s body //foo2s body }}; class a{ public: public: int foo(){ int foo(){ //reification code //reification code } int Wrapped_foo(){ int Wrapped_foo(){ // foos body // foos body } int Execute_fooBody(){ int Execute_fooBody(){ return Wrapped_foo() return Wrapped_foo() } private: private: int foo2() { int foo2() { //foo2s body //foo2s body }}; behavioral reflection behavioral reflection Implemented using method wrapping Implemented using method wrapping metaprogram

62 62 Test Order Specific Step MOP generation (testing the metaprogram) MOP generation (testing the metaprogram) MOP instantiation (O-MO link creation) 1.Reification 2.Behavioral intercession 3.Introspection 4.Structural intercession MOP destruction (O-MO link destruction)

63 63 Test Order Specific Step MOP generation (testing the metaprogram) MOP generation (testing the metaprogram) MOP instantiation (O-MO link creation) 1.Reification 2.Behavioral intercession 3.Introspection 4.Structural intercession MOP destruction (O-MO link destruction) MOP instantiation (O-MO link creation)

64 64 MOP instantiation Test goals Unicity – Each object must be linked to one and only one metaobject.Unicity – Each object must be linked to one and only one metaobject. Interaction – Objects and metaobjects can only interact if their respective identifiers are correctly exchanged during the instantiation process.Interaction – Objects and metaobjects can only interact if their respective identifiers are correctly exchanged during the instantiation process.

65 65 MOP instantiation OFactory MOFactory testdriver oracle metaobject 1 Service 2object

66 66Plan État de lart et problématique État de lart et problématique Stratégie de test Stratégie de test Case study : the F RIENDS MOP Case study : the F RIENDS MOP Expériences et résultats Expériences et résultats Bilan, conclusions et perspectives Bilan, conclusions et perspectives

67 67 Vue fonctionnelle du banc de test classes dentrée Test du métaprogramme Règles de filtrage de codeRègles de filtrage de code Règles de génération des conteneursRègles de génération des conteneurs Règles de génération des mécanismes réflexifsRègles de génération des mécanismes réflexifs outillage danalyse de code outillage de génération de code Création du lien dinteraction du MOP Test des mécanismes du MOP mise en œuvre des environnements de test Destruction du lien dinteraction du MOP RéificationRéification Intercession comportementaleIntercession comportementale IntrospectionIntrospection Intercession structurelleIntercession structurelle

68 68 Banc de Test testeur Métaprogramme FRIENDS référentiel dinterfaces CORBA implémentation réflexive dun objet CORBA conteneurs dinvocation et détat compilateur standard (C++) serveurréflexif mandataire réflexif stubsquelette interface IDL implémentation du serveur compilateur IDL

69 69 Banc de Test testeur Paramètres pour la génération dimplémentations dobjets CORBA stubsquelette interface IDL implémentation du serveur compilateur IDL Métaprogramme FRIENDS référentiel dinterfaces CORBA implémentation réflexive dun objet CORBA conteneurs dinvocation et détat compilateur standard (C++) serveurréflexif mandataire réflexif générateur dobjets CORBA outillage pour le test du métaprogramme métaobjet moniteur de test oracle objet environnements de test

70 70 interface Universal_Driver{ RetValue Invoke(in string serviceName, RetValue Invoke(in string serviceName, in string operationName, inout ListOfArguments arguments) raises (DriverException); raises (DriverException);}; Moniteur de test générique Interface IDL du Moniteur référentiel dinterfaces CORBA description de linterface du serveur description de lopération à invoquer service de noms nom du service référence CORBA argument 1 argument 2 argument n référence de lobjet description de lopération valeur de retour générateur de valeurs aléatoires valeur type Création dynamique de requêtes CORBA (interface DII) Création dynamique de requêtes CORBA (interface DII) Interopérabilité langage-plate-forme Interopérabilité langage-plate-forme Composant réutilisable dans dautres contextes Composant réutilisable dans dautres contextes Universal_Driver

71 71 Cas de test (1) Réification et Intercession comportementale Interface vide Méthode sans arguments Pour chaque type considéré ( T ) : – Variation du mode de passage – Variation du nombre darguments – Variation du niveau dencapsulation – Héritage de méthodes Cas précédant avec plusieurs types en même temps Types Simples: long, short, … chaînes de caractères, références CORBA classes Type complexes: structures, tableaux séquences Cas de Test

72 72 Types Simples: long, short, … chaînes de caractères, références CORBA classes Type complexes: structures, tableaux séquences Cas de test (1) Réification et Intercession comportementale Interface vide Méthode sans arguments Pour chaque type considéré ( T ) : – Variation du mode de passage – Variation du nombre darguments – Variation du niveau dencapsulation – Héritage de méthodes Cas précédant avec plusieurs types en même temps interface shortParameters{ short shortReturn(); short shortReturn(); void shortIn(in short arg); void shortOut(out short arg); void shortInOut(inout short arg); }; Cas de Test – Variation du mode de passage

73 73 Cas de test (2) Cas de Test Interface vide Pour chaque type considéré ( T ) : – Un attribut dans une classe – Plusieurs attributs par classe – Héritage – Association / Agrégation Cas précédant avec plusieurs types en même temps Introspection et Intercession structurelle Types Simples: long, short, … chaînes de caractères, références CORBA classes Type complexes: structures, tableaux séquences

74 74 Cas de test (2) interface shortAtt{ attribute short shortAtt1; }; interface longAtt : shortAtt{ attribute long longAtt1; }; Interface vide Pour chaque type considéré ( T ) : – Un attribut dans une classe – Plusieurs attributs par classe – Héritage – Association / Agrégation Cas précédant avec plusieurs types en même temps Introspection et Intercession structurelle – Héritage Cas de Test Types Simples: long, short, … chaînes de caractères, références CORBA classes Type complexes: structures, tableaux séquences

75 75 Génération des cas de test Méthode de génération aléatoire probabiliste : test statistique Méthode de génération aléatoire probabiliste : test statistique 532 serveurs différents 532 serveurs différents 189 interfaces pour le test des mécanismes de réification et dintercession comportementale 189 interfaces pour le test des mécanismes de réification et dintercession comportementale 197 interfaces pour le test des mécanismes dintrospection et dintercession structurelle 197 interfaces pour le test des mécanismes dintrospection et dintercession structurelle 156 interfaces contenant à la fois des méthodes et des attributs 156 interfaces contenant à la fois des méthodes et des attributs 24 méthodes en moyenne par interface 24 méthodes en moyenne par interface Plus dun million dinvocations de méthode effectuées par le moniteur de test lors des expériences Plus dun million dinvocations de méthode effectuées par le moniteur de test lors des expériences

76 76 Exemples de fautes identifiées Absence dinitialisation des attributs Introspection Confusion entre méthode publique C++ et méthode IDL Métaprogramme Plusieurs métaobjets par objet Création du lien Réification identique de méthodes différentes Réification Violation du besoin dencapsulation Intercession comp. Formatage incorrect du conteneur détat Intercession struct. Le métaobjet survit à lobjet Destruction du lien ProblèmeÉtape test incrémental spécification conceptionimplémentation

77 77 Exemples de fautes identifiées Absence dinitialisation des attributs Introspection Confusion entre méthode publique C++ et méthode IDL Métaprogramme Plusieurs métaobjets par objet Création du lien Réification identique de méthodes différentes Réification Violation du besoin dencapsulation Intercession comp. Formatage incorrect du conteneur détat Intercession struct. Le métaobjet survit à lobjet Destruction du lien ProblèmeÉtape test incrémental Problèmes facilement résolus car identifiés pendant le développement du MOP

78 78Plan Stratégie de test Stratégie de test Case study : the F RIENDS MOP Case study : the F RIENDS MOP Expériences et résultats Expériences et résultats Bilan, conclusions et perspectives Bilan, conclusions et perspectives

79 79Bilan Analyse des mécanismes réflexifs des MOPs en vue du testAnalyse des mécanismes réflexifs des MOPs en vue du test Stratégie de test générale et incrémentale (Ordre, objectifs et environnements de test)Stratégie de test générale et incrémentale (Ordre, objectifs et environnements de test) Faisabilité et efficacité de lapproche (Le MOP de F RIENDS comme cas détude)Faisabilité et efficacité de lapproche (Le MOP de F RIENDS comme cas détude) Développement dun banc de test réutilisableDéveloppement dun banc de test réutilisable

80 80Conclusions Intégration du test dans le développement des MOPsIntégration du test dans le développement des MOPs –Complémentarité de points de vue durant la phase danalyse (travail préparatoire au test) –Conception en vue de la testabilité Intérêt de la séparation de mécanismes vis-à-vis du test :Intérêt de la séparation de mécanismes vis-à-vis du test : –Les MOPs peuvent (et doivent) être testés en isolation –Test dintégration de mécanismes plus simple

81 81 Autres cibles potentielles RéificationRéification Intercession comportementaleIntercession comportementale IntrospectionIntrospection Intercession structurelleIntercession structurelle - Intercepteurs de CORBA - Supervision et gestion de systèmes à objet : () - Supervision et gestion de systèmes à objet : ( Systèmes multimédia, QoS ) - Sérialisation dobjets () - Sérialisation dobjets ( Java, FT-CORBA ) - Perception des environnements dexécution ( ) - Perception des environnements dexécution ( Systèmes conscients de leur contexte )

82 82Perspectives Définition de critères de test fonctionnels et structurels pour le choix des entrées de testDéfinition de critères de test fonctionnels et structurels pour le choix des entrées de test Application de la stratégie de test à dautres systèmes proposant des mécanismes réflexifs similairesApplication de la stratégie de test à dautres systèmes proposant des mécanismes réflexifs similaires Mécanismes dinterception de CORBA et de sérialisation des applications suivant la norme FT-CORBA Prise en compte dautres types de mécanismes réflexifs ( )Prise en compte dautres types de mécanismes réflexifs ( propres aux systèmes mobiles, multimédia … ) Test de métaprogramme Vers le test de systèmes programmés par aspects ?Test de métaprogramme Vers le test de systèmes programmés par aspects ?

83 Contribution à la validation des systèmes réflexifs tolérants aux fautes : stratégie de test de protocoles à métaobjets Juan Carlos Ruiz García Tolérance aux fautes et Sûreté de Fonctionnement informatique


Télécharger ppt "Contribution à la validation des systèmes réflexifs tolérants aux fautes : stratégie de test de protocoles à métaobjets Juan Carlos Ruiz García Tolérance."

Présentations similaires


Annonces Google