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.

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

É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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Aide à la conception de Système d Information Collaboratif, support de l interopérabilité des entreprises

Aide à la conception de Système d Information Collaboratif, support de l interopérabilité des entreprises Aide à la conception de Système d Information Collaboratif, support de l interopérabilité des entreprises Jihed Touzi, Frédérick Bénaben, Hervé Pingaud Thèse soutenue au Centre de Génie Industriel - 9

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

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

É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

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

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

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D NOVA BPM «Première solution BPM intégr grée» Pierre Vignéras Bull R&D Définitions Business Process Pratiques existantes qui permettent aux personnes et systèmes de travailler ensemble Business Process

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 d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

BPEL Orchestration de Web Services

BPEL Orchestration de Web Services Orchestration de Web Services Grégory Le Bonniec gregory.lebonniec@zenika.com 26 novembre 2009 1 Zenika Conseil / Développement / Formation Localisation : Paris et Rennes Nos partenaires Mon expérience

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

Génie logiciel (Un aperçu)

Génie logiciel (Un aperçu) (Un aperçu) (sommerville 2010) Laurent Pérochon INRA URH 63122 St Genès Champanelle Laurent.perochon@clermont.inra.fr Ensemble d activités conduisant à la production d un logiciel Sur un échantillon de

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

Adaptation dynamique de l interaction multimodale dans les environnements ubiquitaires

Adaptation dynamique de l interaction multimodale dans les environnements ubiquitaires Adaptation dynamique de l interaction multimodale dans les environnements ubiquitaires Slim Ben Hassen Orange Labs Lannion, France slim.benhassen@orange.com Abstract Mariano Belaunde Orange Labs Lannion,

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

Introduction aux «Services Web»

Introduction aux «Services Web» Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre

Plus en détail

IKAN ALM et HP ALM/HP Quality Center Enterprise Pour que les Equipes de Développement, de Test et de Production se rejoignent

IKAN ALM et HP ALM/HP Quality Center Enterprise Pour que les Equipes de Développement, de Test et de Production se rejoignent IKAN ALM et HP ALM/HP Quality Center Enterprise Pour que les Equipes de Développement, de Test et de Production se rejoignent Table of contents Sommaire...3 Définition du problème...4 Solution Description...5

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

La reconquête de vos marges de manœuvre

La reconquête de vos marges de manœuvre La reconquête de vos marges de manœuvre Libérez vos applications critiques Bull ouvre de nouvelles portes à votre patrimoine applicatif. Bull LiberTP fait passer simplement vos applications transactionnelles

Plus en détail

Sécurisation des architectures traditionnelles et des SOA

Sécurisation des architectures traditionnelles et des SOA Sécurisation des architectures traditionnelles et des SOA Un livre blanc de Bull Evidian Gestion SAML des accès SSO aux applications classiques et J2EE. Max Vallot Sommaire Émergence des architectures

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

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

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration Pluquet Frédéric July, 3rd 2012 Etude de techniques efficaces de versionnement d objets pour les langages orientés

Plus en détail

Architectures logicielles pour les systèmes embarqués temps réel

Architectures logicielles pour les systèmes embarqués temps réel ETR 07 4 septembre 2007 Architectures logicielles pour les systèmes embarqués temps réel Jean-Philippe Babau, Julien DeAntoni jean-philippe.babau@insa-lyon.fr 1/31 Plan Architectures logicielles pour les

Plus en détail

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture

Plus en détail

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier Master MIDO 2ème année Spécification et Conception en UML Maude Manouvrier Spécifications initiales Analyse Conception du système Conception des classes Bibliographie Modélisation et conception orientées

Plus en détail

Modélisation Principe Autre principe

Modélisation Principe Autre principe Modélisation Principe : un modèle est une abstraction permettant de mieux comprendre un objet complexe (bâtiment, économie, atmosphère, cellule, logiciel, ). Autre principe : un petit dessin vaut mieux

Plus en détail

Document de réalisation Mise en œuvre d une infrastructure de sécurité dans une architecture orientée services

Document de réalisation Mise en œuvre d une infrastructure de sécurité dans une architecture orientée services Document de réalisation Mise en œuvre d une infrastructure de sécurité dans une architecture orientée services Version : 0.9 Auteurs : Olivier MALGRAS Anne-Sophie TRANCHET Encadrants : Olivier PERRIN Aymen

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

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information SOA et Services Web 23 octobre 2011 1 Evolution des Systèmes d Information 2 Qu est ce qu une application répartie? Il s agit d une application découpée en plusieurs unités Chaque unité peut être placée

Plus en détail

Business Process Execution Language

Business Process Execution Language Business Process Execution Language Rapport du projet de systèmes distribués d information Markus Lindström 6 mai 2009 Motivation personnelle Le sujet que j ai retenu et présenté dans le cadre du cours

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

Un environnement de déploiement automatique pour les applications à base de composants

Un environnement de déploiement automatique pour les applications à base de composants ICSSEA 2002-7 Lestideau Un environnement de déploiement automatique pour les applications à base de composants Vincent Lestideau Adele Team Bat C LSR-IMAG, 220 rue de la chimie Domaine Universitaire, BP

Plus en détail

DTest : un Framework de Tests pour Applications Distribuées

DTest : un Framework de Tests pour Applications Distribuées Master Informatique et Télécommunication Parcours Systèmes Informatiques et Génie Logiciel DTest : un Framework de Tests pour Applications Distribuées Auteur : Lionel Duroyon Responsable du stage : M.

Plus en détail

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse THÉMATIQUES Comprendre les frameworks productifs Découvrir leurs usages Synthèse 2 LES ENJEUX DES FRAMEWORKS D ENTREPRISE EN 2012 LE CONSTAT Ressources Recrutement Flexibilité Intérêt Montée en compétence

Plus en détail

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES Dhouha Ayed, Chantal Taconet et Guy Bernard GET / INT, CNRS Samovar 9 rue Charles Fourier, 91011 Évry, France {Dhouha.Ayed, Chantal.Taconet, Guy.Bernard}@int-evry.fr

Plus en détail

Évaluation d une architecture de stockage RDF distribuée

Évaluation d une architecture de stockage RDF distribuée Évaluation d une architecture de stockage RDF distribuée Maeva Antoine 1, Françoise Baude 1, Fabrice Huet 1 1 INRIA MÉDITERRANÉE (ÉQUIPE OASIS), UNIVERSITÉ NICE SOPHIA-ANTIPOLIS, I3S CNRS prénom.nom@inria.fr

Plus en détail

WildCAT : un cadre générique pour la construction d'applications sensibles au contexte

WildCAT : un cadre générique pour la construction d'applications sensibles au contexte WildCAT : un cadre générique pour la construction d'applications sensibles au contexte Pierre-Charles David France Télécom, Recherche & Développement Réunion Adapt, Paris 2006-04-06 Plan 1 Introduction

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

Standardisation des réseaux de Petri : état de l art et enjeux futurs. Lom M. Hillah 1 et Laure Petrucci 2

Standardisation des réseaux de Petri : état de l art et enjeux futurs. Lom M. Hillah 1 et Laure Petrucci 2 Standardisation des réseaux de Petri : état de l art et enjeux futurs Lom M. Hillah 1 et Laure Petrucci 2 1 LIP6, CNRS UMR 7606 et Université Paris Ouest Nanterre La Défense Lom-Messan.Hillah@lip6.fr 2

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

SQL Parser XML Xquery : Approche de détection des injections SQL

SQL Parser XML Xquery : Approche de détection des injections SQL SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des

Plus en détail

GL - 2 2.4 Architecture logicielle

GL - 2 2.4 Architecture logicielle GL - 2 2.4 Architecture logicielle Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec Ph. Lalanda Activités logicielles Analyse : récolte des exigences Comment commencer la conception? Analyse

Plus en détail

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

Capture et modélisation de l activité utilisateur pour l évaluation d applications d analyse visuelle de données

Capture et modélisation de l activité utilisateur pour l évaluation d applications d analyse visuelle de données Capture et modélisation de l activité utilisateur pour l évaluation d applications d analyse visuelle de données Romain Vuillemot Université de Lyon, CNRS INSA-Lyon, LIRIS, UMR5205 F-69621, France romain.vuillemot@insa-lyon.fr

Plus en détail

CARTOGRAPHIE EN LIGNE ET GÉNÉRALISATION

CARTOGRAPHIE EN LIGNE ET GÉNÉRALISATION CARTOGRAPHIE EN LIGNE ET GÉNÉRALISATION par Julien Gaffuri JRC IES SDI unit Via Enrico Fermi, 21027 Ispra, Italie Julien.Gaffuri@gmail.com Les cartes en ligne pourraient être améliorées par l utilisation

Plus en détail

Approche basée composition pour les applications sur une grille de cartes Java

Approche basée composition pour les applications sur une grille de cartes Java Approche basée composition pour les applications sur une grille de cartes Java Monia BEN BRAHIM 1, Feten BACCAR 1, Achraf KARRAY 1, 2, Maher BEN JEMAA 1, and Mohamed JMAIEL 1 1 Laboratoire ReDCAD, Ecole

Plus en détail

Découvrir les vulnérabilités au sein des applications Web

Découvrir les vulnérabilités au sein des applications Web Applications Web Découvrir les vulnérabilités au sein des applications Web Les vulnérabilités au sein des applications Web sont un vecteur majeur du cybercrime. En effet, selon le rapport d enquête 2012

Plus en détail

BACHELOR OF SCIENCE INFORMATICIEN-NE DE GESTION

BACHELOR OF SCIENCE INFORMATICIEN-NE DE GESTION Informatique de gestion BACHELOR OF SCIENCE HES-SO BACHELOR OF SCIENCE INFORMATICIEN-NE DE GESTION Plans d études et descriptifs des modules Filière à plein temps et à temps partiel Table des matières

Plus en détail

SITE WEB E-COMMERCE ET VENTE A DISTANCE

SITE WEB E-COMMERCE ET VENTE A DISTANCE Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : aitnasser.btissam123@gmail.com GSM : Organisme

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

Real Time Developer Studio. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

Real Time Developer Studio. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com Real Time Developer Studio Emmanuel Gaudin emmanuel.gaudin@pragmadev.com TPE Française PragmaDev Dédiée au développement d un outil de modélisation pour le développement des systèmes communicants. Bénéficiaire

Plus en détail

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager L Orchestration de Services Web avec Orchestra Goulven Le Jeune Orchestra Project Manager D1 Bull, Architecte d un Monde Ouvert : contributeur et acteur majeur de l'open Source Applications métiers Infrastructures

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

Calendrier des Formations

Calendrier des Formations Systèmes et Réseaux IPV6 980,00 HT Jan. Fév. Mar. Avr. Mai Juin Jui. Août Sept. Oct. Nov. Déc. Comprendre IPV6 et explorer les méthodes pour migrer 14-15 23-24 1-2 26-27 Configuration et Maintenance des

Plus en détail

Sécurité logicielle. École de technologie supérieure (ÉTS) MGR850 Automne 2012 Automne 2012. Yosr Jarraya. Chamseddine Talhi.

Sécurité logicielle. École de technologie supérieure (ÉTS) MGR850 Automne 2012 Automne 2012. Yosr Jarraya. Chamseddine Talhi. MGR850 Automne 2012 Automne 2012 Sécurité logicielle Yosr Jarraya Chargé de cours Chamseddine Talhi Responsable du cours École de technologie supérieure (ÉTS) 1 Plan Motivations & contexte Développement

Plus en détail

Outils d automatisation de tests d interfaces Web. David GERBAULT Ingénieurs 2000 Xposé 2010-2011

Outils d automatisation de tests d interfaces Web. David GERBAULT Ingénieurs 2000 Xposé 2010-2011 Outils d automatisation de tests d interfaces Web 1 David GERBAULT Ingénieurs 2000 Xposé 2010-2011 WEBOGRAPHIE http://seleniumhq.org/ http://www.clever-age.com/ http://watir.com/ 2 Pourquoi ce sujet? 3

Plus en détail

CORBA avec OpenORB. Samir Torki et Patrice Torguet

CORBA avec OpenORB. Samir Torki et Patrice Torguet CORBA avec OpenORB Samir Torki et Patrice Torguet 1 Présentation de CORBA CORBA (Common Object Request Broker Architecture) est un standard décrivant une architecture pour la mise en place d objets distribués.

Plus en détail

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009 SugarCubes Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués Paris, le 9 janvier, 2009 Plan 2 Les SugarCubes au dessus de J2ME Quelques résultats expérimentaux Les

Plus en détail

Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes

Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes 303 Schedae, 2007 Prépublication n 46 Fascicule n 2 Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes Samya Sagar, Mohamed Ben Ahmed Laboratoire

Plus en détail

Adaptation dynamique de services

Adaptation dynamique de services Adaptation dynamique de services Marcel CREMENE Univ. de Cluj Napoca Michel RIVEILL Univ. de Nice Sophia Antipolis Christian MARTEL Univ. de Savoie Objectif : Nous souhaitons pouvoir modifier l architecture

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

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

Etude de cas PLM. Patrice TORGUET IRIT Université Paul Sabatier

Etude de cas PLM. Patrice TORGUET IRIT Université Paul Sabatier Etude de cas PLM Patrice TORGUET IRIT Université Paul Sabatier Plan Exemple PLM Répartition avec Sockets Répartition avec RMI Répartition avec CORBA Répartition avec JMS Répartition avec Java EE Améliorations

Plus en détail

Vers une infrastructure pour l'intégration des espaces institutionnels et personnels pour l'apprentissage

Vers une infrastructure pour l'intégration des espaces institutionnels et personnels pour l'apprentissage Vers une infrastructure pour l'intégration des espaces institutionnels et personnels pour l'apprentissage Yvan Peter USTL, LIFL, F-59655 Villeneuve d'ascq, France Yvan.Peter@univ-lille1.fr Sabine Leroy

Plus en détail

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

Plus en détail

Industrialisation des développements Spring dans Eclipse

Industrialisation des développements Spring dans Eclipse C Industrialisation des développements Spring dans Eclipse L objectif de cette annexe est de décrire comment mettre en œuvre une approche dirigée par les modèles afin d industrialiser les développements

Plus en détail

Programme du cycle ingénieur Cnam spécialité informatique par l alternance Année 2015-2016

Programme du cycle ingénieur Cnam spécialité informatique par l alternance Année 2015-2016 Programme du cycle ingénieur Cnam spécialité informatique par l alternance Année 2015-2016 Ingénieur en Informatique en Contrat de Professionnalisation - Année I1 RSX102 Technologies pour les applications

Plus en détail

L industrie financière sait elle décrire les produits qu elle traite?

L industrie financière sait elle décrire les produits qu elle traite? L industrie financière sait elle décrire les produits qu elle traite? De la nécessité d une représentation formelle des contrats financiers pour améliorer la gestion et la régulation des opérations de

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

Dataflows scientifiques : introduction, langage et architecture d exd

Dataflows scientifiques : introduction, langage et architecture d exd Dataflows scientifiques : introduction, langage et architecture d exd exécution Centre de Données de Strasbourg 26 mars 2004 Jean-Pierre.Matsumoto@inria.fr Projet Smis - Inria Rocquencourt Contexte Chaînes

Plus en détail

Génie logiciel avancé

Génie logiciel avancé Université Paris-Sud L3 MIAGE apprentissage Année 2014-2015 Génie logiciel avancé Introduction Delphine Longuet delphine.longuet@lri.fr Logiciel : définitions Ensemble d'entités nécessaires au fonctionnement

Plus en détail

IBM Tivoli Monitoring, version 6.1

IBM Tivoli Monitoring, version 6.1 Superviser et administrer à partir d une unique console l ensemble de vos ressources, plates-formes et applications. IBM Tivoli Monitoring, version 6.1 Points forts! Surveillez de façon proactive les éléments

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) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX 3 Network Shutdown Module Network

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

OpenESB Libre, standard, outillé, documenté et supporté

OpenESB Libre, standard, outillé, documenté et supporté OpenESB Libre, standard, outillé, documenté et supporté Alexis Moussine-Pouchkine Sun Microsystems, Inc. Constat Les projets d'intégration sont mono-éditeur Est-ce viable à long terme? Quel(s) Standard(s)

Plus en détail

Le test automatisé des applications web modernes

Le test automatisé des applications web modernes Le test automatisé des applications web modernes Résumé : Aujourd hui, les applications Web sont développées au moyen de différentes technologies AJAX et Web 2.0. Des outils nouveaux et puissants offrent

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Architecture distribuée

Architecture distribuée Architecture distribuée Conception et développement d algorithmes distribués pour le moteur Baboukweb Jean-Christophe DALLEAU Département de Mathématiques et Informatique Université de La Réunion 26 juin

Plus en détail