Combiner test actif et surveillance pour la sécurité

Dimension: px
Commencer à balayer dès la page:

Download "Combiner test actif et surveillance pour la sécurité"

Transcription

1 31 Prépublication n 12 Fascicule n 2 Combiner test actif et surveillance pour la sécurité Yliès Falcone Vérimag & Laboratoire d Informatique de Grenoble Résumé : Nous présentons une approche pour combiner les avantages du test et de la surveillance de programme à l exécution. Nous intégrons une méthode de test avec spécification partielle dans la théorie de vérification à l exécution. Des techniques de tests sont intégrées à un environnement logiciel de surveillance. L environnement que l on obtient repose sur deux approches récentes : génération de test depuis une spécification partielle, et programmation orientée moniteur. Nous montrons comment ces techniques peuvent contribuer à une nouvelle méthode de validation que nous appelons surveillance active qui combine les avantages de la génération automatique de test et la surveillance. Mots-clés : test actif, surveillance, sécurité, cas de test abstrait, concrétisation. 1 Introduction 1 Pour répondre aux besoins de sécurité croissants des logiciels et des systèmes d information une approche largement utilisée aujourd hui est celle basée sur les politiques de sécurité. La sécurité du système est assurée via l application d un ensemble de règles et de recommandations s appliquant à divers niveaux tant physique que logique. La complexité des systèmes auxquels peut s appliquer une politique a généré beaucoup d efforts de recherche pour trouver des modèles de politique de sécurité. Mais, la validation du déploiement des politiques de sécurité reste un défi. Parmi les techniques de validation disponibles, le test et la surveillance bénéficient d une recherche active accompagnée de résultats prometteurs. Le Test est une technique de validation très populaire, restant incontournable pour valider les logiciels critiques. Son objectif est essentiellement de trouver des fautes sur l implémentation d un système, en pratiquant une suite de contrôles et d observations sur celuici. Le test du système peut se dérouler soit durant sa phase de développement, soit une 1. Ces travaux ont partiellement été réalisés dans le cadre du RNRT Politess ANR-05-RNT Yliès Falcone «Combiner test actif et surveillance pour la sécurité»

2 32 fois que la version finale est complétée. En conséquence, et même si beaucoup de travail a déjà été fait sur ce sujet, améliorer l efficacité de la phase de test tout en réduisant son coût et le temps passé reste un challenge très important soutenu par une forte demande industrielle. Récemment, nous avons développé une approche originale [1, 2] pour tester les systèmes pour lesquels uniquement des spécifications partielles étaient disponibles. Cette approche s est montrée être bien adaptée au test de politiques de sécurité. En effet, il est classique dans le domaine de la sécurité d exprimer la spécification comme un ensemble d exigences (au lieu d une spécification complète). Cette approche exprime la conformité à un ensemble d exigences spécifiées dans un formalisme basé sur des traces. La propriété globale est décidée par une combinaison de tests de propriétés élémentaires. La surveillance (monitoring) est une technique, venant de la communauté de la vérification, pour suivre le comportement d un programme à l exécution. Son objectif principal est de détecter le comportement incorrect d un programme, voire d en corriger le comportement si une faute apparaît. Des propriétés sont vérifiées pendant l exécution du programme surveillé. La spécification est généralement exprimée dans un formalisme déclarant des propriétés reliées à l histoire du programme. Pour cela, des événements pertinents sont déclarés par instrumentation du programme initial. Ensuite, des moniteurs sont synthétisés surveillant ces événements et, agissant comme un oracle, les moniteurs délivrent les verdicts. De nombreux environnements de vérification existent. Notre choix s est porté sur un environnement de surveillance qui nous semble générique, expressif, et efficace. Monitoring Oriented Programming (MOP) [3] est un paradigme de développement de logiciel dans lequel la synthèse de moniteur est automatiquement réalisée depuis une spécification donnée par l utilisateur, en utilisant la programmation orientée aspects [4]. Cet environnement est implanté dans un outil, Java-MOP [5], basé sur AspectJ. Dans cet article nous cherchons à combiner les caractéristiques du test et de la surveillance de façon mutuellement bénéfique. L objectif de cet article est d utiliser un environnement de surveillance pour mettre en œuvre du test actif. Ainsi, cette surveillance active ouvre la possibilité de surveiller des propriétés complexes dans un système tout en influençant son exécution. Cette approche essaye de combiner les avantages de la surveillance (pas de spécification complète nécessaire), et ceux du test (les séquences exécutées sont contrôlées). Travaux reliés. Plusieurs travaux sont connectés à ceux présentés dans cet article. [6] présente des résultats préliminaires pour l exécution automatique de cas de test en utilisant l analyse à l exécution et une exploration du domaine d entrée du programme. Cette approche permet de détecter des erreurs de concurrence ; Une autre direction de recherche active est autour de l expressivité de la programmation orientée aspect [4] notamment le déclenchement de «code advice» sur des événements complexes (voir [7] pour une application à la surveillance de trace) ; Dans [8], les auteurs combinent dans une même chaîne de validation vérification et test de conformité. La spécification est vérifiée par rapport à une propriété de haut niveau, en utilisant des techniques d interprétation abstraite. Ensuite, des tests symboliques sont générés depuis la spécification. Ces tests peuvent alors détecter si la spécification viole la propriété, ou si l implémentation viole la propriété, ou encore si l implémentation n est pas conforme à la spécification ; [9] montre comment des techniques de test aident à faciliter la phase de vérification. L auteur utilise un générateur de tests symboliques pour extraire des sous graphes d une spécification. En utilisant un assistant à la preuve, il est alors possible de vérifier les sous graphes et de déduire la correction du graphe complet sous hypothèses.

3 33 La suite de cet article est organisée comme suit. La section 2 présente quelques préliminaires / prérequis : une variation de la théorie du test de conformité pour traiter les spécifications partielles, et la programmation orientée moniteur. Dans la section 3 nous présentons l environnement de surveillance active. La section 4 expose une étude de cas reliée à l implémentation d une agence de voyage virtuelle. Finalement, la section 5 fournit des conclusions et les directions de recherches futures. 2 Préliminaires Une approche intéressante pour la génération automatique de test est la technique appelée test basé sur les modèles. Cette technique a été implémentée dans plusieurs outils, voir par exemple [10] pour un état de l art. Néanmoins, des limites peuvent en entraver l utilisation dans d autres domaines. Tout d abord, cette technique repose sur la disponibilité d une spécification du système, ce qui n est pas toujours le cas en pratique. De plus, lorsqu elle existe, la spécification doit être assez complète pour assurer l intérêt de la suite de test produite. Finalement, la spécification tend à ne pas englober tous les détails d implémentation, et à être restreinte à un certain niveau d abstraction. 2.1 Traiter les spécifications partielles Nous avons proposé une approche alternative à l approche classique pour produire une suite de test dédiée à la validation d exigences comportementales partielles. Dans ce cadre [2], les exigences sont exprimées par des formules logiques ϕ construites au dessus d un ensemble de prédicats abstraits P i décrivant les opérations (éventuellement non atomiques) effectuées par le système sous test (SST). Un exemple typique d une telle exigence pourrait être une politique de sécurité où les prédicats abstraits dénoteraient des opérations de haut niveau comme «l utilisateur A est authentifié» ou «le message M est corrompu». L approche repose sur la considération suivante : une connaissance parfaite des détails d implémentation est nécessaire pour produire des cas de test élémentaires Tc i capables de décider si de tels prédicats sont satisfaits ou non dans un état de l exécution du logiciel. Ainsi, l écriture de ces cas de tests dédiés devrait être laissée à la compétence des programmeurs (ou testeurs) lorsqu une spécification détaillée n est pas disponible. Toutefois, l orchestration correcte de ces cas de test basiques et la combinaison de leur résultats pour déduire la validité de la formule dans son ensemble sont plus faciles à automatiser (dépendant uniquement des opérateurs utilisés dans la formule). Cette étape peut donc être produite par un générateur automatique de test, et cette génération automatique peut même être réalisée de façon compositionnelle (sur la structure de la formule logique). Plus précisément, depuis la formule ϕ, une fonction de génération de test produits automatiquement un testeur (abstrait) AT ϕ. Ce testeur consiste en un ensemble de contrôleurs de test, un pour chaque opérateur apparaissant dans ϕ. Ainsi, AT ϕ dépend seulement de la structure de la formule ϕ. AT ϕ est ensuite instanciée utilisant les cas de test Tc i pour obtenir un testeur concret T ϕ pour la formule ϕ. L exécution de ce testeur sur l implémentation I produit le verdict final. 2.2 Monitoring Oriented Programming La programmation orientée moniteurs (Monitoring Oriented Programming [3], MOP) considère que la spécification et l implémentation doivent être unifiées. Une présentation complète de tous les aspects de MOP est hors du cadre de cet article. Nous présentons brièvement quelques uns de ces principes intéressants pour notre approche ainsi que son implémentation pour Java, Java-MOP [5].

4 34 MOP est un cadre fournissant des moyens pour générer et intégrer des moniteurs dans un programme selon une spécification fournie par l utilisateur. Une caractéristique de MOP est la séparation entre la génération et l intégration des moniteurs qui permet la personnalisation et l extension en utilisant une architecture en couches. La spécification définit des événements exprimés en termes du programme sous-jacent. Ces événements sont utilisés pour déclarer une formule dans un formalisme d expression sur les traces en logique temporelle linéaire [11], ou en expressions régulières étendues. Les moniteurs générés suivent ces événements et font avancer l évaluation correspondant à chaque formule. L intégration du moniteur est faite en regard de paramètres de portée donnés par l utilisateur qui influencent les points du programme où seront insérés les moniteurs et leur occurrences (e.g. classe ou méthode). MOP permet aussi plusieurs modes d analyses des événements, e.g. analyse centralisée ou hors-ligne de la trace. Cette génération de moniteurs customisable et générique est spécifiée en utilisant un langage de spécification dédié. 3 Un environnement de surveillance active Nous exprimons dans cette section comment nous réalisons un environnement de surveillance active en combinant les capacités de surveillance existantes en MOP avec l approche de test à partir de spécification partielles. L approche résultante mise en œuvre par cet environnement est appelée surveillance active. 3.1 Intégration de caractéristiques de test dans MOP Une première limitation de MOP et de la surveillance en général vient de son lien avec la vérification à l exécution. En effet, les événements sont restreints à des observations pures des événements dans l exécution du programme. Par exemple, un évènement peut être observé dès qu une méthode démarre ou finit son exécution. Il n y a pas de moyen de vérifier une propriété en guidant le système dans des états qui permettent d évaluer les propriétés. Ceci explique les limitations annoncées dans l introduction. En conséquence, nous avons décidé de remplacer les événements observationnels de MOP par des séquences complexes d interactions en théorie du test. De façon abstraite, il est possible de dire que dans notre environnement les notions d événements en vérification à l exécution sont remplacés par des cas de test abstraits. Utilisation d un formalisme de cas de test abstrait Les évènement traditionnels de la théorie de vérification sont remplacés par des tests. Pour permettre cela, notre framework inclut dans la spécification la possibilité d utiliser des tests concrets exprimés par exemple comme des combinaisons d appels des interfaces du SST. Ce qui est nécessaire est d exprimer facilement et de façon intuitive toutes les opérations possibles pour tester. Par exemple, on peut s attendre à utiliser de la récursivité, communication, et du parallélisme (invocation de deux interfaces indépendantes). Parmi les nombreux formalismes d expression des cas de test, on peut vouloir intégrer TTCN-3 [12] et le profil de test UML [13]. Nous avons également développé un moteur d exécution pour des cas de tests abstraits exprimés sous forme de systèmes de transitions étiquetés à entrées-sorties. Das les cas de tests abstraits, nous distinguons principalement deux types d actions. Premièrement les actions dîtes «externes» qui sont des actions où le SST est impliqué avec le testeur. Nous avons distingués parmi les actions externes, les actions qui effectue du contrôle sur le SST, les actions d observation sur le SST, et enfin les actions de contrôles où l observation est attendue (exécution synchrone bloquante pour le testeur). Deuxièmement les actions dîtes internes qui sont des actions de modifications de l état du cas de test abstrait.

5 35 Utilisation des traitants («handlers») comme correcteurs de propriétés Comme exposé précédemment, une des originalités du framework MOP est la possibilité donnée à l utilisateur de spécifier des traitants de validation et violation une fois qu un verdict pour la propriété a été évalué. Cette fonctionnalité est utilisée et customisée dans notre framework de la manière suivante. Nous autorisons tout d abord l exécution de code natif comme dans l approche MOP. Nous autorisons également l utilisation de code de correction spécifié dans un formalisme peut-être différent de celui de la spécification. On peut penser utiliser des appels d interfaces privilégiées pour corriger le comportement du SST, e.g. arrêt d un composant, appel d interface administrateur Vue d ensemble de l environnement Nous décrivons dans cette section le framework proposé en utilisant Java-MOP pour la génération de moniteur. Le processus de génération global est représenté sur la Fig. 1. Interface SST Interface SST appel interface communication interne aux composants communication entre Monitor/Test engine Spec LTL ERE... ATC Biblio Java MOP Moniteurs Generation Architecture CTA... Ordonnanceur Moteur CTA Moteur de Test execution directives tests verdicts Moniteurs events PASS FAIL Générateur Evenenments Moniteur Java Mop personnalisé Fig. 1: Vue d ensemble du processus de génération Entrées. Interface du système sous test L interface du système à tester est considérée comme une entrée. Elle contient l ensemble des variables et procédures appelables. La description du système fournie par l interface est utilisée par l outil pour générer le lien entre les cas de test abstraits et l implémentation interne des composants. Bibliothèque de cas de test abstraits La description de l architecture du SST et son interface fournissent l ensemble des actions observables et contrôlables du système. Ces points de contrôles et d observations (PCOs) sont supposés être fournis par l interface du SST. Par exemple, une variable publique observable à travers une interface est une variable dans l environnement des cas de test abstrait. Les actions de communication des cas de test abstraits sont des appels de méthodes sur les interfaces des composants du SST. L utilisateur peut composer ces observations et contrôles en regard du formalisme de cas de test abstraits. La programmation est facilitée par l abstraction fournie par l interface des composants. En conséquence, l utilisateur fournit avec cette méthode des cas de tests abstraits utilisés comme événements dans la spécification MOP étendue. Spécification MOP personnalisée <Specification> := <Header> <Body> <Header> := [logic=<logic>] <Handlers> : := <ViolationHandler> <ValidationHandler> <ViolationHandler> : := violation <HandlerHeader> {<Code>} <ValidationHandler> : := validation <HandlerHeader> {<Code>} <HandlerHeader> : := handler in <ATC-Formalism> Fig. 2: Syntaxe de la spécification MOP personnalisée.

6 36 <Body> : := [VarDeclaration]* <Event>* <Formula> <Event> : := event <EventHeader> : [{ATC-Code}] ; <EventHeader> : := [Identifier] in <ATC-Formalism> <ATC-Formalism> : := native PA TTCN <Formula> : := formula : <LogicFormula> Fig. 3: Syntaxe du corps de la spécification. Le troisième élément en entrée de la génération est l ensemble des propriétés à tester. Le format de la spécification est inspiré du format de la spécification MOP (voir Fig. 2 et 3). Néanmoins, des différences existent, notamment, elle intègre des caractéristiques de test. La spécification est toujours composée de trois parties : un entête (header), un corps (body), des traitants (handlers). Nous détaillons la syntaxe de la spécification et ses différences avec l originale dans la suite. L entête contient des informations pour la génération du moniteur et son intégration. On y trouve le formalisme pour la formule utilisée comme spécification. Pour des raisons liées au test, nous considérons uniquement les formalismes basés sur les traces : les classiques logiques temporelles linéaires du passé et du futur (LTLs), les expressions régulières étendues. Dans [2] nous avons défini une variante à trois valeurs de LTL dédiée au test avec spécifications partielles. Nous prévoyons d implémenter une génération de moniteur MOP pour cette logique. Le corps donne la définition de la propriété désirée. Il commence avec la déclaration de variables qui peuvent être utilisée dans la spécification. Les déclarations d événements suivent. Un évènement, synonyme de cas de test abstrait, est spécifié grâce à un formalisme de cas de test abstrait et son expression dans le formalisme dédié. Ensuite, la dernière et plus importante partie est celle de la déclaration de la formule dans une logique. Dans la partie handler, on spécifie les actions de la propriété que l application doit réaliser lorsque la propriété exprimée est violée ou validée. Dans l approche MOP originale, les traitants sont exprimées comme des parties de codes qui sont exécutées une fois que la propriété a été évaluée. Dans la spécification de notre framework, cette partie des traitants permet le traitement d origine de MOP et les autres modes présentés dans Architecture générée Une vue d ensemble de l architecture générée est représentée sur la droite de la Fig. 1. On peut voir que l architecture générée est composée de deux composants distincts : un moniteur Java-MOP modifié et un moteur de test. Ces deux composants communiquent en échangeant deux sortes de messages. Le moteur de test envoie les verdicts de l exécution des cas de test au moniteur Java-MOP modifié. Ces verdicts sont interprétés comme des événements du moniteur. Calculant le verdict, le moniteur peut envoyer des signaux régulant l exécution au moteur de test (responsable de l orchestration des tests). Détaillons ces deux composants. Moteur de Test Le moteur de test est composé de plusieurs sous-composants. Le moteur de cas de test abstrait (Moteur CTA) est en charge de l exécution des cas de test abstraits spécifiés comme événements dans la spécification. Il décide de l action suivante à exécuter. Nous avons développé récemment une algèbre de processus ainsi que son moteur d exécution pour exprimer les cas de test abstraits. Ce calcul a été d abord introduit dans [1] puis s est montré être une solution adaptée [2] pour les systèmes disposant uniquement de spécification partielle. L exécution des cas de tests est orchestrée par l ordonnanceur. Pour tester une formule l ensemble des séquences possibles montrant que la formule est satisfaite ou non par le SST est potentiellement infinie. D abord, considérant uniquement les événements apparaissant dans la formule et leur cas de test concrets

7 37 correspondants, il est possible de générer un premier ensemble de tests possibles. Par ailleurs, on peut vouloir mélanger dans les séquences de test des événements qui n apparaissent pas dans la formule considérée. Ces événements n influencent pas le calcul du verdict. Cependant, ils peuvent modifier le comportement interne du SST. En conséquence, l ensemble des tests possibles pour une formule spécifiée est potentiellement infini. Dans le but de construire des cas de test et suites de test pertinents l ordonnanceur peut utiliser des modèles de vulnérabilités (e.g. scénarios d attaque) comme entrée. Ces modèles, peuvent être par exemple des faiblesses de sécurité connues informées par les développeurs du SST ou des experts de sécurité. Aussi l ordonnanceur peut construire «à la volée» des cas de test dynamiques basés sur les événements observés précédemment. Selon la formule testée, et les verdicts retournés par l exécution des sous tests, il décide de l action suivante du cas de test abstrait à exécuter. Le composant architecture de cas de test abstrait (Architecture CTA) contient des informations à propos de l architecture des composants du SST et leur encodage dans les cas de test abstraits par exemple des informations sur les actions. Moniteur MOP modifié Nous modifions la génération du moniteur MOP dans le but de rendre celui-ci compatible avec les événements de tests. Une fois concrétisés les cas de test abstraits émettent des verdicts qui sont transmis au nouveau moniteur. Les verdicts des tests sont transformés en événements, i.e. entrées du moniteur. Une fois que le moniteur atteint un verdict, et selon les directives indiquées dans les handlers le moniteur décide des actions à prendre en conséquence. Par exemple le moniteur enverra des directives d exécution pour modifier les propriétés suivantes à tester. Si une faute apparaît, il peut par exemple arrêter l exécution du système. 4 Étude de cas : une agence de voyage Nous esquissons ici comment nous avons appliqué la technique présentée précédemment pour étudier la sécurité d une application d agence de voyage virtuelle nommée Travel. Cette technique permet de trouver des erreurs d implémentation et valider certaines propriétés de sécurité. 4.1 Description de Travel L idée de l application vient du projet RNRT Politess [14]. Les études dans ce projet nous ont mené à une spécification de cette application. L application Travel permet la gestion de requêtes de missions concurrentes de ses utilisateurs. Dans le but d enregistrer des requêtes de mission, un utilisateur doit détenir un compte sur l application. Chaque utilisateur possède son propre valideur (également un utilisateur de Travel) qui est l unique personne pouvant vérifier l état de la mission et faire la validation finale. Dans le cas d une absence prolongée, un utilisateur de Travel peut déléguer ses droits d accès à un autre utilisateur. La personne déléguée peut alors agir au nom de l utilisateur original. En étudiant la spécification et le descriptif initiale de cette application, nous avons développé notre propre prototype dédié à l exécution de test. Nous renvoyons à [15] pour une description complète de l application. L architecture de l application est assez simple, elle suit un schéma de type client-serveur. Nous avons implémenté l application en Java, et utilisé le mécanisme de RMI pour la communication depuis un client vers le serveur applicatif. Une partie de l interface offerte par le serveur est montrée sur la Fig Une politique de sécurité pour Travel Depuis une politique de sécurité globale [16] écrite pour Travel nous avons extrait des exigences de sécurité. Nous avons formalisé et exprimé ces exigences en utilisant les ex-

8 38 int Identify(String Login, String Pswd) throws RemoteException ; String missionrequest(int ID, String Name, String Dest,...) ; String getinfo(int ID) throws RemoteException ; String checkmissions(int ID) throws RemoteException ; int getnbvoyage() throws RemoteException ; String cancelmission(int ID, int numvoyage) ; String validmission(int ID, int numvoyage) ; String changepswd(string oldpswd, String newpswd, int ID) ; String delegtravel(int id, String Name, String FirstName) ; String canceltravdeleg(int id, String Name, String FirstName) ; String delegvalid(int ID, String Name, String FirstName) ; String cancelvaliddeleg(int ID, String Name, String FirstName) ; String seepropositions(int ID, int numvoyage) ; String chooseagency(int ID, int numvoyage, int numagency) ; Fig. 4: Extrait simplifié de l interface de Travel. pressions régulières étendues. Pour cela, nous avons utilisé l approche compositionelle de [2] en «découpant» les propriétés et en identifiant des sous-propriétés élémentaires pour lesquelles des test élémentaires étaient implémentables. Par exemple l exigence informelle «Il est interdit pour un utilisateur de Travel de valider sa propre mission» peut être raisonnablement compris en (create_mission(t, m) validate_mission(t, m)) ou comme (create_mission(t, m) validate_mission(t, m)) [t t ] avec t, t et m désignant respectivement un voyageur et une mission. De façon similaire, nous formalisons l exigence «Un utilisateur ne peut pas agir pour un autre s il n est pas dans la liste de délégation» en ( add_delegate(t 1, t 2 ) connect(t 1, t 2 )). 4.3 Mise en œuvre de l architecture Écriture des cas de test abstraits. Nous avons écrit des cas de test pour les prédicats élémentaires apparaissant dans les formules. Les cas de test sont exprimés sous forme de systèmes de transition étiquetés et représentés en XML. Ils sont exécutés par notre moteur de cas de test abstrait. À titre d exemple, sur la Fig. 5, nous représentons une version simplifiée du cas de test correspondant au prédicat élémentaire create_mission(t, m). [token == 1]ver := inc token := Identify(login, psw) [result! = OK ]ver := fail [token! = 1]result := missionrequest(token,...) [result == OK ]ver := pass Fig. 5: Représentaiton graphique simplifiée du cas de test correspondant au prédicat create_mission(t, m). Monitoring actif de Travel. Une fois les cas de test élémentaires écrits il est possible d obtenir un ensemble cas de test correspondants à la formule que l on veut vérifier. On peut alors dériver deux sortes de cas de test, des cas de test dits validant dont le succès (verdict pass) signifie que la formule est satisfaite. Ou alors on peut dériver des cas de test infirmant la formule, i.e. des tests qui lorsqu ils réussissent montrent que la formule n est pas satisfaite. Lors de notre étude de cas nous avons dérivé les deux types de test. Premièrement, les tests validant sont dérivés directement depuis la formule. Pour sélectionner les tests à exécuter nous nous sommes aidés de «profils utilisateur» décrivant des comportements typiques. Deuxièmement nous avons dérivé des tests infirmant. Pour cela, nous avons combiné les cas de test en utilisant des schémas de vulnérabilités.

9 39 Par exemple pour la première propriété (interdisant l auto-validation), un schéma de vulnérabilité décrivant des scénarios de délégations cycliques amenant à une possible autovalidation d une mission est utilisé. Ainsi le scénario aide le moniteur lors de la phase de sélection du test. Nous construisons un test parcourant le moniteur vers un état qui viole la propriété en suivant le scénario. On a pu ainsi mettre en évidence un manque dans la vérification préliminaire lors de validation de la mission. Lors de la phase de validation, l application vérifiait uniquement que la personne qui voyage était différente de la personne qui valide. Nous avons donc mis en lumière qu il était nécessaire de vérifier également que la personne qui dépose la mission doit être différente de la personne qui la valide. 5 Conclusion et travaux futurs Cet article a présenté une modification de l environnement MOP pour lui ajouter des caractéristiques de test. Nous croyons que cette technique est assez générale pour ouvrir une nouvelle approche pour tester et surveiller des propriétés de sécurité sur une application. Cette approche, appelée surveillance active, présentée ici comme un «proof-of-concept» nous amène à la possibilité d intégrer des moniteurs complexes dans une application. Nous avons choisi le framework MOP pour sa généralité, et sa généricité, mais d autres peuvent être choisis. Nous soutenons que les extensions présentées dans notre framework suivent la même philosophie. La représentation des cas de test abstraits et leur exécution sont intégrés de façon générique. Ce travail nous semble un premier pas vers l utilisation commune de techniques héritées de deux techniques populaires de validation. Plusieurs directions de travail sont ouvertes. Tout d abord la sélection (guidée par un scénario) d un chemin dans le moniteur qui mène vers une propriété se doit d être définie formellement. Nous cherchons également à intégrer des notions pour mesurer la qualité des tests comme la couverture (exprimée par exemple en terme d appels aux interfaces). Aussi, nous prévoyons d implémenter complètement cette approche dans un outil de sécurité pour les applications. Références [1] Yliès Falcone, Jean-Claude Fernandez, Laurent Mounier, and Jean-Luc Richier. A test calculus framework applied to network security policies. In FATES/RV, [2] Yliès Falcone, Jean-Claude Fernandez, Laurent Mounier, and Jean-Luc Richier. A compositional testing framework driven by partial specifications. In TESTCOM/FATES, [3] Feng Chen, Marcelo D Amorim, and Grigore Roşu. Checking and correcting behaviors of java programs at runtime with java-mop. In Workshop on Runtime Verification (RV 05), volume 144(4) of ENTCS, [4] G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J-M. Loingtier, and J. Irwin. Aspectoriented programming. In Proceedings European Conference on Object-Oriented Programming, volume Springer-Verlag, [5] Feng Chen and Grigore Roşu. Java-mop : A monitoring oriented programming environment for java. In Proceedings of the Eleventh International Conference on Tools and Algorithms for the construction and analysis of systems (TACAS 05), volume 3440 of LNCS. Springer-Verlag, [6] C. Artho, D. Drusinsky, A. Goldberg, K. Havelund, M. Lowry, C. Pasareanu, G. Rosu, and W. Visser. Experiments with test case generation and runtime analysis, [7] P. Avgustinov, E. Bodden, E. Hajiyev, L. Hendren, O. Lhoták, O. de Moor, N. Ongkingco, D. Sereni, G. Sittampalam, J. Tibble, and M. Verbaere. Aspects for trace monitoring. In Formal Approaches to Testing Systems and Runtime Verification (FATES/RV), LNCS. Springer, [8] Vlad Rusu, Hervé Marchand, and Thierry Jéron. Automatic verification and conformance testing for validating safety properties of reactive systems. In John Fitzgerald, Andrzej Tarlecki, and Ian Hayes, editors, Formal Methods 2005 (FM05), LNCS. Springer, July 2005.

10 40 [9] Vlad Rusu. Verification using test generation techniques. In FME 02 : Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right, pages , London, UK, Springer-Verlag. [10] Alan Hartman. Model based test generation tools survey. Technical report, AGEDIS Consortium, [11] Zohar Manna and Amir Pnueli. Temporal verification of reactive systems : safety. Springer-Verlag New York, Inc., New York, NY, USA, [12] ETSI s official TTCN-3 home page, http ://www.ttcn-3.org. [13] Alexandra Cavarra. The UML testing profile - an overview. Technical report, AGEDIS Consortium, [14] Rnrt Politess, http ://www.rnrt-politess.info. [15] Yliés Falcone and Laurent Mounier. A travel agency application dedicated to the case studies of test generation and policy enforcement techniques. Technical Report TR , Verimag Research Report, [16] Diala Abi Haidar. A global security policy for the Travel agency application. Technical report, France Telecom R&D, Politess Project, 2006.

Analyse abstraite de missions sous PILOT

Analyse abstraite de missions sous PILOT Analyse abstraite de missions sous PILOT Damien Massé EA 3883, Université de Bretagne Occidentale, Brest damien.masse@univ-brest.fr Résumé Nous étudions la possibilité de réaliser un analyseur par interprétation

Plus en détail

Eléments de modélisation pour le test de politiques

Eléments de modélisation pour le test de politiques Eléments de modélisation pour le test de politiques de sécurité V. Darmaillacq, JC. Fernandez, R. Groz, L. Mounier, JL. Richier Laboratoires LSR et VERIMAG - Institut IMAG - Grenoble CRISIS 2005 - Vendredi

Plus en détail

Étude et mise en œuvre de techniques de validation à l exécution

Étude et mise en œuvre de techniques de validation à l exécution UNIVERSITÉ JOSEPH FOURIER GRENOBLE I THÈSE pour l obtention du grade de DOCTEUR DE L UNIVERSITÉ JOSEPH FOURIER Spécialité : Informatique préparée au laboratoire Vérimag dans le cadre de l École Doctorale

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Formula Negator, Outil de négation de formule.

Formula Negator, Outil de négation de formule. Formula Negator, Outil de négation de formule. Aymerick Savary 1,2, Mathieu Lassale 1,2, Jean-Louis Lanet 1 et Marc Frappier 2 1 Université de Limoges 2 Université de Sherbrooke Résumé. Cet article présente

Plus en détail

Méthodes de test. Mihaela Sighireanu

Méthodes de test. Mihaela Sighireanu UFR d Informatique Paris 7, LIAFA, 175 rue Chevaleret, Bureau 6A7 http://www.liafa.jussieu.fr/ sighirea/cours/methtest/ Partie I 1 Propriétés 2 Un peu de génie logiciel de test 3 Eléments Problèmes Point

Plus en détail

Langage dédié pour le pilotage de solveurs de contraintes

Langage dédié pour le pilotage de solveurs de contraintes LABORATOIRE D INFORMATIQUE DE NANTES-ATLANTIQUE UMR 6241 ÉCOLE DOCTORALE STIM, N. 503 «Sciences et technologies de l information et des mathématiques» Sujet de thèse pour 2010 Langage dédié pour le pilotage

Plus en détail

Introduction à LINQ. Chapitre 1. Qu est-ce que LINQ?

Introduction à LINQ. Chapitre 1. Qu est-ce que LINQ? Chapitre 1 Introduction à LINQ En surfant sur le Web, vous trouverez différentes descriptions de LINQ (Language Integrated Query), et parmi elles : LINQ est un modèle de programmation uniforme de n importe

Plus en détail

Curriculum Vitae 1 er février 2008

Curriculum Vitae 1 er février 2008 Curriculum Vitae 1 er février 2008 Informations générales Cédric MEUTER Nationalité belge Né à La Louvière, le 16 novembre 1979 Adresse personnelle : Adresse professionnelle : Ave Général Bernheim, 57

Plus en détail

RAPPORT DE STAGE «FAIRE RESPECTER UNE PROPRIÉTÉ EXPRIMÉE SOUS FORME D AUTOMATE TEMPORISÉ»

RAPPORT DE STAGE «FAIRE RESPECTER UNE PROPRIÉTÉ EXPRIMÉE SOUS FORME D AUTOMATE TEMPORISÉ» Université Joseph Fourier Département Licence Sciences & Technologie RAPPORT DE STAGE «FAIRE RESPECTER UNE PROPRIÉTÉ EXPRIMÉE SOUS FORME D AUTOMATE TEMPORISÉ» VISAN Vlad Laboratoire d accueil : Verimag

Plus en détail

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence

Plus en détail

Université Paris Diderot Master 1 II. Théorie et pratique de la concurrence

Université Paris Diderot Master 1 II. Théorie et pratique de la concurrence Université Paris Diderot Master 1 II Théorie et pratique de la concurrence Partiel du 30 avril 2009 Durée : 1h30. Tous les documents sont autorisés. Le barème est indicatif. Question 1 : Soit le programme

Plus en détail

Étude et mise en œuvre de techniques de validation à l exécution

Étude et mise en œuvre de techniques de validation à l exécution UNIVERSITÉ JOSEPH FOURIER GRENOBLE I THÈSE pour l obtention du grade de DOCTEUR DE L UNIVERSITÉ JOSEPH FOURIER Spécialité : Informatique préparée au laboratoire Vérimag dans le cadre de l École Doctorale

Plus en détail

Outil SANTE: Détection d erreurs par analyse statique et test structurel des programmes C

Outil SANTE: Détection d erreurs par analyse statique et test structurel des programmes C Outil SANTE: Détection d erreurs par analyse statique et test structurel des programmes C Omar Chebaro LIFC, Université de Franche-Comté, 25030 Besançon France CEA, LIST, Laboratoire Sûreté des Logiciels,

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

Analyse de la démographie des objets dans les systèmes Java temps-réel

Analyse de la démographie des objets dans les systèmes Java temps-réel Analyse de la démographie des objets dans les systèmes Java temps-réel Nicolas BERTHIER Laboratoire VERIMAG Responsables du stage : Christophe RIPPERT et Guillaume SALAGNAC le 29 septembre 26 1 Introduction

Plus en détail

Conception et Développement Orientés Objets Cours 1 : Introduction. 2 Les paradigmes de programmation. 3 Les concepts de la programmation objet

Conception et Développement Orientés Objets Cours 1 : Introduction. 2 Les paradigmes de programmation. 3 Les concepts de la programmation objet CNAM UV 19357 Année 2003-2004 David Delahaye David.Delahaye@cnam.fr Conception et Développement Orientés Objets Cours 1 : Introduction 1 Présentation de la valeur Ce cours s adresse à toute personne ayant

Plus en détail

Vérifier la qualité de vos applications logicielle de manière continue

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

Plus en détail

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

Concevoir des applications Web avec UML

Concevoir des applications Web avec UML Concevoir des applications Web avec UML Jim Conallen Éditions Eyrolles ISBN : 2-212-09172-9 2000 1 Introduction Objectifs du livre Le sujet de ce livre est le développement des applications web. Ce n est

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Utilisation de l'outil GATeL pour l'évaluation des tests de logiciels critiques à l'irsn

Utilisation de l'outil GATeL pour l'évaluation des tests de logiciels critiques à l'irsn Journée SEE "Certification et méthodes formelles" Utilisation de l'outil GATeL pour l'évaluation des tests de logiciels critiques à l'irsn ONERA Toulouse, 3 février 2004 Jean Gassino (jean.gassino@irsn.fr).

Plus en détail

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

Plus en détail

Spring IDE. Mise en œuvre. Eclipse

Spring IDE. Mise en œuvre. Eclipse A Spring IDE Bien que Spring mette à disposition d intéressants mécanismes afin d améliorer l architecture des applications Java EE en se fondant sur l injection de dépendances et la programmation orientée

Plus en détail

Modélisation: outillage et intégration

Modélisation: outillage et intégration Modélisation: outillage et intégration Emmanuel Gaudin emmanuel.gaudin@pragmadev.com Un réel besoin Le logiciel double tous les deux ans. Le volume final rend extrêmement difficile de garantir le niveau

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

FlexIS: vers un système d intégration d information flexible

FlexIS: vers un système d intégration d information flexible FlexIS: vers un système d intégration d information flexible P. Colomb 1, et H. Jaudoin 2 1 LIMOS - CNRS UMR 6158, Université Blaise Pascal, France email: colomb@isima.fr LIMOS, 24 Avenue des Landais,

Plus en détail

Sémantique formelle et synthèse de client pour services Web

Sémantique formelle et synthèse de client pour services Web Sémantique formelle et synthèse de client pour services Web Séminaire «Services Web» 24 Janvier 2006 sylvain.rampacek@univ-reims.fr CReSTIC LAMSADE Plan Introduction Services Web Description de la plate-forme

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Présentation de la plateforme d analyse linguistique médiévale

Présentation de la plateforme d analyse linguistique médiévale Présentation de la plateforme d analyse linguistique médiévale 1. Introduction Tout au long de ce document, notre projet sera présenté à travers la méthodologie suivie pour développer la plateforme d analyse

Plus en détail

Conception d Applications Réparties

Conception d Applications Réparties Jean-François Roos LIFL - équipe GOAL- bâtiment M3 Extension - bureau 206 -Jean-Francois.Roos@lifl.fr 1 Objectifs du Cours Appréhender la conception d applications réparties motivations et concepts architectures

Plus en détail

Spécification du profil UML d assemblage cible EJB (version 1)

Spécification du profil UML d assemblage cible EJB (version 1) Spécification du profil UML d assemblage cible EJB (version 1) Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti) Référence : Livrable 2.2 Date : 31 mai 2002

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

TP10 Modélisation, simulation et vérification du «Priority Inheritance Protocol» en Kind2

TP10 Modélisation, simulation et vérification du «Priority Inheritance Protocol» en Kind2 École normale supérieure Année 2014-2015 Systèmes et réseaux TP10 Modélisation, simulation et vérification du «Priority Inheritance Protocol» en Kind2 1 Plan En suivant l exemple de Jahier, Halbwachs et

Plus en détail

Release Notes POM v5

Release Notes POM v5 Release Notes POM v5 POM Monitoring http://www.pom-monitoring.com Ce document est strictement réservé à l usage de la société POM Monitoring. Il ne peut être diffusé ou transféré sans l autorisation écrite

Plus en détail

Une extension pour RDF/RDFS utilisant des relations procédurales

Une extension pour RDF/RDFS utilisant des relations procédurales Une extension pour RDF/RDFS utilisant des relations procédurales Jean-François Baget * * INRIA Sophia-Antipolis & LIRMM(CNRS - UM2) LIRMM, 161 rue Ada, 34392 Montpellier Cedex 5 baget@lirmm.fr RÉSUMÉ.

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Automatisation de la certification formelle de systèmes critiques par instrumentation d interpréteurs abstraits

Automatisation de la certification formelle de systèmes critiques par instrumentation d interpréteurs abstraits 1 d Automatisation de la certification formelle de systèmes critiques par instrumentation d sous la direction de Michaël Périn Soutenance de Thèse de Doctorat Université de Grenoble - Laboratoire Verimag

Plus en détail

gcaddy Suite Description du produit

gcaddy Suite Description du produit gcaddy Suite Description du produit Version 1.0 www.gweb.be @ info@gweb.be TVA : BE-863.684.238 SNCI : 143-0617856-67 1 / 8 1 Description de gcaddy gcaddy est le module E-commerce de Gweb. Il se présente

Plus en détail

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2. Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2. Le test aux limites 3. Méthode 2.1. Pré-requis 2.2. Préparation des

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

AVATAR. Un profil SysML temps réel outillé

AVATAR. Un profil SysML temps réel outillé AVATAR Un profil SysML temps réel outillé Ludovic Apvrille, Pierre de Saqui-Sannes ludovic.apvrille@telecom-paristech.fr pdss@isae.fr SysML France, 6 décembre 2010 Agenda De TURTLE à AVATAR Le langage

Plus en détail

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales D 1.3.2 Rapport d analyse Auteurs: Johann Luethi, Laurent Opprecht, Patrick Roth

Plus en détail

ACI Sécurité ALIDECS:

ACI Sécurité ALIDECS: ACI Sécurité ALIDECS: Langages et Atelier Integrés pour le Développement de Composants Embarqués Sûrs Réunion de démarrage LIP6, 21 et 22 octobre 2004 Marc Pouzet 1 Page web http://www-verimag.imag.fr/synchrone/alidecs/

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Développement de greffons Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure Centre d enseignement

Plus en détail

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année Java RMI Programmation des applications réparties Olivier Flauzac URCA Master EEAMI-Informatique première année Olivier Flauzac (URCA) PAR : Java RMI MSTIC-INFO 1 1 / 30 1 RMI 2 Architecture 3 Développement

Plus en détail

Reporting Services - Administration

Reporting Services - Administration Reporting Services - Administration Comment administrer SQL Server Reporting Services Cet article a pour but de présenter comment gérer le serveur depuis le "portail" de Reporting Services. Nous verrons

Plus en détail

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services 69 Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services M. Bakhouya, J. Gaber et A. Koukam Laboratoire Systèmes et Transports SeT Université de Technologie de Belfort-Montbéliard

Plus en détail

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011 Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Tamago: Une plateforme pour des comportements

Tamago: Une plateforme pour des comportements Tamago: Une plateforme pour des comportements d agent sûre Séminaire DESIR Hakim Belhaouari Encadrant: Frederic Peschanski Laboratoire d Informatique de Paris 6 & UMPC Paris Universitas Equipe SMA 18 février

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 7 : RMI Nom(s) : Groupe : Date : Objectifs : savoir créer des applications client-serveur mettant en jeu des machines

Plus en détail

Authentifications à W4 Engine en.net (SSO)

Authentifications à W4 Engine en.net (SSO) Note technique W4 Engine Authentifications à W4 Engine en.net (SSO) Cette note technique a pour but d expliquer le mécanisme de fonctionnement de la connexion des utilisateurs à W4 Engine, notamment lorsque

Plus en détail

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service 10 tâches d administration simplifiées grâce à Windows Server 2008 R2 Faire plus avec moins. C est l obsession depuis plusieurs années de tous les administrateurs de serveurs mais cette quête prend encore

Plus en détail

Techniques et outils de test pour les logiciels réactifs synchrones

Techniques et outils de test pour les logiciels réactifs synchrones Journées Systèmes et Logiciels Critiques Institut IMAG ; 14-16 nombre 2000 Techniques et outils de test pour les logiciels réactifs synchrones Farid Ouabdesselam 1 Méthodes de test : classification générale

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

Supervision des réseaux et services pair à pair

Supervision des réseaux et services pair à pair Supervision des réseaux et services pair à pair Présentation des travaux de Thèse Guillaume Doyen LORIA - Université Henri Poincaré pour l obtention du Doctorat en Informatique de l université Henri Poincaré

Plus en détail

TP Compilation Analyse lexicale

TP Compilation Analyse lexicale TP Compilation Analyse lexicale Eric Ramat ramat@lisic.univ-littoral.fr 9 mai 2014 Durée : 6 heures 1 Introduction Le but de cet TP est de vous donner les bases nécessaires afin de pouvoir écrire votre

Plus en détail

Automatisation de l administration système

Automatisation de l administration système Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications

Plus en détail

Construire des plug-ins pour SAS Management Console SAS 9.1

Construire des plug-ins pour SAS Management Console SAS 9.1 Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION

Plus en détail

Groupe Eyrolles, 2001, 2003, 2004, ISBN : 2-212-11480-X

Groupe Eyrolles, 2001, 2003, 2004, ISBN : 2-212-11480-X Groupe Eyrolles, 2001, 2003, 2004, ISBN : 2-212-11480-X Chapitre 6 Exercices corrigés et conseils méthodologiques Mots-clés Activité continue/finie Transition automatique Contexte statique Événements «after»

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

Plus en détail

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

Plus en détail

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas être considérés

Plus en détail

Introduction ASP.NET

Introduction ASP.NET 1 Sommaire Introduction... 1 1 Framework... 2 1.1 Général (.NET)... 2 1.2 ASP.NET... 2 2 Prérequis... 2 3 Présentation des bases d un projet ASP.NET... 3 3.1 Création d un projet... 3 3.2 Site Web : Les

Plus en détail

Approche dirigée par les modèles pour la spécification, la vérification formelle et la mise en œuvre des services Web composés

Approche dirigée par les modèles pour la spécification, la vérification formelle et la mise en œuvre des services Web composés Approche dirigée par les modèles pour la spécification, la vérification formelle et la mise en œuvre des services Web composés Christophe Dumez Laboratoire Systèmes et Transports (SeT) Université de Technologie

Plus en détail

Projet de développement. Introduction à Eclipse. Philippe Collet. Licence 3 MIAGE S6 2013-2014

Projet de développement. Introduction à Eclipse. Philippe Collet. Licence 3 MIAGE S6 2013-2014 Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2013-2014 http://miageprojet2.unice.fr/user:philippecollet/projet_de_d%c3%a9veloppement_2013-2014 Plan r Eclipse : Introduction

Plus en détail

Programmation orientée domaine pour les services télécoms: Concepts, DSL et outillage

Programmation orientée domaine pour les services télécoms: Concepts, DSL et outillage Programmation orientée domaine pour les services télécoms: Concepts, DSL et outillage Areski Flissi Gilles Vanwormhoudt LIFL/CNRS (UMR 8022) Institut TELECOM 59655 Villeneuve d Ascq 59655 Villeneuve d

Plus en détail

Gestion de contenu. Gestion de contenu ou Bibliothèque numérique?

Gestion de contenu. Gestion de contenu ou Bibliothèque numérique? Gestion de contenu ou Bibliothèque numérique? Exposé de Anne de Baenst-Vandenbroucke adb@info.fundp.ac.be À l attention des chercheurs du projet AGORA/BIB_VI CITA - Institut d Informatique FUNDP Table

Plus en détail

Composition de Services Web

Composition de Services Web Composition de Services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri 127

Plus en détail

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Compilation séparée ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Modularité GCC : 4 millions de lignes de code Noyau

Plus en détail

PLAN PROJET. Binôme ou monôme (B/M): M. : abdlhaqmilan@gmail.com GSM : 00212640108250. : Gestion d'une agence de location de voiture.

PLAN PROJET. Binôme ou monôme (B/M): M. : abdlhaqmilan@gmail.com GSM : 00212640108250. : Gestion d'une agence de location de voiture. Développement d une application JAVA EE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AZRAGUE Abdelhaq Email : abdlhaqmilan@gmail.com GSM : 00212640108250 Organisme Scolaire : Gestion d'une agence

Plus en détail

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages AntLR - Générateur d analyseurs Claude Moulin Université de Technologie de Compiègne Printemps 2015 Sommaire 1 Introduction 2 AntLR ANTLR : ANother Tool for Language Recognition URL

Plus en détail

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform IBM Software Group Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform Thierry Bourrier, Techical Consultant thierry.bourrier@fr.ibm.com L Architecture

Plus en détail

Projet ROSES Programme MDCO Edition 2007. Livrable no D1.2 Architecture d un Système ROSES centralisé

Projet ROSES Programme MDCO Edition 2007. Livrable no D1.2 Architecture d un Système ROSES centralisé Projet ROSES Programme MDCO Edition 2007 Livrable no D1.2 Architecture d un Système ROSES centralisé Identification Acronyme du projet Numéro d'identification de l'acte attributif ROSES ANR-07-MDCO-011-01

Plus en détail

G en om3: Building middleware-independent robotic components. Comparaison de middleware: YARP, MS Robotics Dev Studio, URBI, OpenRTM-aist, ROS

G en om3: Building middleware-independent robotic components. Comparaison de middleware: YARP, MS Robotics Dev Studio, URBI, OpenRTM-aist, ROS G en om3: Building middleware-independent robotic components Comparaison de middleware: YARP, MS Robotics Dev Studio, URBI, OpenRTM-aist, ROS Pablo Rauzy 15 février 2011 Table des matières 1 G en om3 :

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

ModSecurity. Cible de sécurité CSPN Version 0.96

ModSecurity. Cible de sécurité CSPN Version 0.96 Cible de sécurité CSPN Version 0.96 TABLE DES MATIERES 1 IDENTIFICATION... 3 1.1 IDENTIFICATION DE LA CIBLE DE SECURITE... 3 1.2 IDENTIFICATION DU PRODUIT... 3 2 ARGUMENTAIRE (DESCRIPTION) DU PRODUIT...

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

SDL: 20 ans de programmation basée modèle

SDL: 20 ans de programmation basée modèle SDL: 20 ans de programmation basée modèle Emmanuel Gaudin emmanuel.gaudin @ pragmadev.com Principes MDE, MDA et MDD: Approche orienté modèle PIM: Platform Independant Model PDM: Platform Definition Model

Plus en détail

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire FICHE PRODUIT Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire BENEFICES Des projets réussis dans les délais et les budgets La bonne donnée disponible au

Plus en détail

Aperçu général sur la technologie des Workflows

Aperçu général sur la technologie des Workflows Aperçu général sur la technologie des Workflows Zakaria Maamar Groupe Interfonctionnement Section Technologie des systèmes d'information Centre de recherches pour la défense Valcartier 2459 boul. Pie-XI

Plus en détail

Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs

Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs CGI Group Inc. 2013 Agenda 1 2 3 4 5 6 7 Problématiques et enjeux Solutions et fonctionnalités Concepts Exécution et rapport

Plus en détail

CAPE: Context-Aware Agile Business Process Engine

CAPE: Context-Aware Agile Business Process Engine CAPE: Context-Aware Agile Business Process Engine Irina Rychkova, Manuele Kirsch Pinheiro, Bénédicte Le Grand To cite this version: Irina Rychkova, Manuele Kirsch Pinheiro, Bénédicte Le Grand. CAPE: Context-Aware

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

Plus en détail

ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE INFORMATIQUE

ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE INFORMATIQUE ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE INFORMATIQUE LOG2410 Conception logicielle Solutionnaire examen final Automne 2008 Documentation : Aucune Calculatrice : Aucune Date : 13 décembre 2008

Plus en détail

Patrons de conception prouvés

Patrons de conception prouvés Patrons de conception prouvés Thierry Lecomte 1 Dominique Méry 2 Dominique Cansell 2 (1) ClearSy, 320, avenue Archimède, Les Pléiades 3 Bât A 13857 Aix en Provence, France. (2) Loria, Université Henri

Plus en détail

RRABBIDS, un système de détection d intrusion pour les applications Ruby on Rails

RRABBIDS, un système de détection d intrusion pour les applications Ruby on Rails RRABBIDS, un système de détection d intrusion pour les applications Ruby on Rails Romaric Ludinard, Loïc Le Hennaff, and Eric Totel SUPELEC, Rennes, France, first name.last name@supelec.fr Résumé RRABBIDS

Plus en détail

Vérification Formelle des Aspects de Cohérence d un Workflow net

Vérification Formelle des Aspects de Cohérence d un Workflow net Vérification Formelle des Aspects de Cohérence d un Workflow net Abdallah Missaoui Ecole Nationale d Ingénieurs de Tunis BP. 37 Le Belvédère, 1002 Tunis, Tunisia abdallah.missaoui@enit.rnu.tn Zohra Sbaï

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

LES TONTONS FLEXEURS

LES TONTONS FLEXEURS LES TONTONS FLEXEURS LES TONTONS FLEXEURS Engagez vous qu ils disaient http://groups.adobe.com/group/504 LES TONTONS FLEXEURS Et choisissez le menu de notre prochain rendez-vous - Workflow Designer Flash

Plus en détail

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit. Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide

Plus en détail

Application de gestion d une bibliothèque municipale

Application de gestion d une bibliothèque municipale Application de gestion d une bibliothèque municipale Réalisé par : TARIK NASRAOUI NAMEZ MOHAMED 08/03/ Cadre réservé à l encadrant : Code d identification du Candidat : Nom des Validateurs Commentaires

Plus en détail

GÉNIE LOGICIEL (SOFTWARE ENGINEERING)

GÉNIE LOGICIEL (SOFTWARE ENGINEERING) GÉNIE LOGICIEL (SOFTWARE ENGINEERING) 5ÈME PARTIE UML (UNIFIED MODELING LANGUAGE) Faculté des Sciences et Techniques http://labh-curien.univ-st-etienne.fr/~fj/gl Francois.Jacquenet@univ-st-etienne.fr Plan

Plus en détail