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

Vers l intégration automatique d une politique de sécurité Or-BAC

Vers l intégration automatique d une politique de sécurité Or-BAC 315 Prépublication n 48 Fascicule n 2 Vers l intégration automatique d une politique de sécurité Or-BAC Yliès Falcone, Mohamad Jaber Vérimag & Laboratoire d Informatique de Grenoble Ylies.Falcone@imag.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

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

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

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

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

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

Use Cases. Introduction

Use Cases. Introduction Use Cases Introduction Avant d aborder la définition et la conception des UC il est bon de positionner le concept du UC au sein du processus de développement. Le Processus de développement utilisé ici

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

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

Travaux soutenus par l ANR. Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting)

Travaux soutenus par l ANR. Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting) Travaux soutenus par l ANR Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting) 03 Avril 2012 1. Test de sécurité et génération de tests à partir de modèle 2. Le projet SecurTest à DGA Maîtrise de l

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

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...

Plus en détail

Profil de protection d un logiciel d ingénierie

Profil de protection d un logiciel d ingénierie Version 1.0 moyen-terme GTCSI 11 septembre 2015 Avant-propos Dans toute la suite de ce document, l acronyme ToE (Target of Evaluation) désigne le composant qui est l objet de l évaluation. 1 Descriptif

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

Sujet 17 : Exploitation de données financières de Google Finance en C#

Sujet 17 : Exploitation de données financières de Google Finance en C# Amsellem Ari Pour le 01/06/11 Ohayon Alexandre Gueguen Tristan Sujet 17 : Exploitation de données financières de Google Finance en C# Introduction : Il convient tout d abord de signaler que le titre de

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

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

Applications Internet riches fonctionnant en mode connecté et déconnecté

Applications Internet riches fonctionnant en mode connecté et déconnecté Applications Internet riches fonctionnant en mode connecté et déconnecté Success story client : développement d applications Web avec mode déconnecté Depuis quatre ans, les applications de guichet pour

Plus en détail

Profil de protection d un pare-feu industriel

Profil de protection d un pare-feu industriel Version 1.0 court-terme GTCSI 13 juillet 2015 Avant-propos Dans toute la suite de ce document, l acronyme ToE (Target of Evaluation) désigne le composant qui est l objet de l évaluation. Les passages en

Plus en détail

INDUSTRIALISATION ET RATIONALISATION

INDUSTRIALISATION ET RATIONALISATION INDUSTRIALISATION ET RATIONALISATION A. LA PROBLEMATIQUE La mission de toute production informatique est de délivrer le service attendu par les utilisateurs. Ce service se compose de résultats de traitements

Plus en détail

Projet MVC-CD Analyse des outils JavaFX

Projet MVC-CD Analyse des outils JavaFX Projet MVC-CD Analyse des outils JavaFX Créé par M. Jaouadi, le 23 mars 205 Modifié par M. Jaouadi, le 3 mars 205 Page sur 2 Table des matières Préambule... 3 2 Les outils associés à JavaFX... 3 3 Les

Plus en détail

10 Prototypage rapide de logiciel pour les systèmes avioniques

10 Prototypage rapide de logiciel pour les systèmes avioniques Introduction Le contexte aéronautique 1 a depuis plusieurs années mis en évidence le besoin croissant de technologies de sécurité permettant d éviter des utilisations malveillantes des matériels ou services

Plus en détail

Service combinators for farming virtual machines

Service combinators for farming virtual machines Master d Informatique Fondamentale École Normale Supérieure de Lyon Sémantique du parallélisme Chantal Keller Service combinators for farming virtual machines K. Bhargavan, A. D. Gordon, I. Narasamdya

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

Management par les processus Les facteurs clés de succès. Lionel Di Maggio Master 1 MIAGE

Management par les processus Les facteurs clés de succès. Lionel Di Maggio Master 1 MIAGE Management par les processus Les facteurs clés de succès Lionel Di Maggio Master 1 MIAGE 1 1. Objectifs et définitions 2. Le retour sur investissement des démarches 3. Les éléments structurants 4. Mise

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

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement Mme BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

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

L approche Bases de données

L approche Bases de données L approche Bases de données Cours: BD. Avancées Année: 2005/2006 Par: Dr B. Belattar (Univ. Batna Algérie) I- : Mise à niveau 1 Cours: BDD. Année: 2013/2014 Ens. S. MEDILEH (Univ. El-Oued) L approche Base

Plus en détail

Systèmes d Information Avancés (et répartis)

Systèmes d Information Avancés (et répartis) Systèmes d Information Avancés (et répartis) Université Lyon 1 MIAGE L. Médini, mars 2005 Plan des cours Protocole HTTP et programmation serveur Architectures réparties Objets distribués Introduction aux

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

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

Projet informatique UML-Cpp avec QT4

Projet informatique UML-Cpp avec QT4 Haute école spécialisée bernoise Haute école technique et informatique, HTI Section Electricité et système de communication Laboratoire de l informatique technique Projet informatique UML-Cpp avec QT4

Plus en détail

Ecole Nationale Supérieure des Télécommunications Les outils XML

Ecole Nationale Supérieure des Télécommunications Les outils XML Ecole Nationale Supérieure des Télécommunications Les outils XML Page 1 sur 13 SOMMAIRE 1 Introduction 3 2 Parseur XML et processeur XSLT 4 2.1 Le Parseur XML v2 4 2.1.1 Les API DOM et SAX 4 2.1.2 Le parseur

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

Contexte PPE GSB CR. Analyse. Projet réalisé :

Contexte PPE GSB CR. Analyse. Projet réalisé : Contexte PPE GSB CR Le laboratoire est issu de la fusion entre le géant américain Galaxy et le conglomérat Swiss Bourdin. Cette fusion a eu pour but de moderniser l activité de visite médicale et de réaliser

Plus en détail

Projet : Plan Assurance Qualité

Projet : Plan Assurance Qualité Projet : Document : Plan Assurance Qualité 2UP_SPEC_DEV1 VERSION 1.00 Objet Ce document a pour objectif de définir la démarche d analyse et de conception objet ainsi les activités liées. Auteur Eric PAPET

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

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

Les méthodes formelles dans le cycle de vie. Virginie Wiels ONERA/DTIM Virginie.Wiels@onera.fr

Les méthodes formelles dans le cycle de vie. Virginie Wiels ONERA/DTIM Virginie.Wiels@onera.fr Les méthodes formelles dans le cycle de vie Virginie Wiels ONERA/DTIM Virginie.Wiels@onera.fr Plan Introduction Différentes utilisations possibles Différentes techniques pour différentes propriétés à différents

Plus en détail

Automatisation des copies de systèmes SAP

Automatisation des copies de systèmes SAP Pour plus d informations sur les produits UC4 Software, visitez http://www.liftoff-consulting.com/ Automatisation des copies de systèmes SAP Introduction Le thème de la copie des systèmes SAP est une source

Plus en détail

CONSEIL STRATÉGIQUE. Services professionnels. En bref

CONSEIL STRATÉGIQUE. Services professionnels. En bref Services professionnels CONSEIL STRATÉGIQUE En bref La bonne information, au bon moment, au bon endroit par l arrimage des technologies appropriées et des meilleures pratiques. Des solutions modernes adaptées

Plus en détail

Visual Paradigm Contraintes inter-associations

Visual Paradigm Contraintes inter-associations Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor

Plus en détail

Gé nié Logiciél Livré Blanc

Gé nié Logiciél Livré Blanc Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc Xavier.Blanc@labri.fr Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer

Plus en détail

Introduction à Windows Workflow Foundation

Introduction à Windows Workflow Foundation Introduction à Windows Workflow Foundation Version 1.1 Auteur : Mathieu HOLLEBECQ Co-auteur : James RAVAILLE http://blogs.dotnet-france.com/jamesr 2 Introduction à Windows Workflow Foundation [07/01/2009]

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

La Clé informatique. Formation Access XP Aide-mémoire

La Clé informatique. Formation Access XP Aide-mémoire La Clé informatique Formation Access XP Aide-mémoire Septembre 2003 Définitions de termes Base de données : Se compare à un énorme classeur ayant plusieurs tiroirs où chacun d eux contient des informations

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

Profil de protection d une passerelle VPN industrielle

Profil de protection d une passerelle VPN industrielle Profil de protection d une passerelle industrielle Version 1.0 court-terme GTCSI 13 juillet 2015 Avant-propos Dans toute la suite de ce document, l acronyme ToE (Target of Evaluation) désigne le composant

Plus en détail

Le Bureau du vérificateur général. Vérification interne des mécanismes de contrôle interne du système financier GX

Le Bureau du vérificateur général. Vérification interne des mécanismes de contrôle interne du système financier GX Préparé pour : Le Bureau du vérificateur général Vérification interne des mécanismes de contrôle interne du système financier GX Le 18 novembre 2009 1 Introduction KPMG s.r.l./s.e.n.c.r.l. a été chargée

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

Atelier de programmation en python

Atelier de programmation en python Atelier de programmation en python Kévin Chewie Sztern et Christophe Sagane Vermorel Contents Introduction 2 L environnement de développement 2 Démarrer l IDE............................... 2 Premiers

Plus en détail

Utilisation du logiciel OpMat Ce logiciel effectue des opérations élémentaires sur les lignes d une matrice avec des entrées rationnelles

Utilisation du logiciel OpMat Ce logiciel effectue des opérations élémentaires sur les lignes d une matrice avec des entrées rationnelles Utilisation du logiciel OpMat Ce logiciel effectue des opérations élémentaires sur les lignes d une matrice avec des entrées rationnelles Michel Bouchard, enseignant retraité, Département de mathématiques,

Plus en détail

Laboratoire SSL avec JSSE

Laboratoire SSL avec JSSE Applications et Services Internet Rapport de laboratoire IL2008 20 janvier 2008 TABLE DES MATIÈRES I Table des matières 1 Introduction 1 2 Utilisation du serveur web 1 3 Clé publique générée 1 4 Réponses

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

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

LINQ to SQL. Version 1.1

LINQ to SQL. Version 1.1 LINQ to SQL Version 1.1 2 Chapitre 03 - LINQ to SQL Sommaire 1 Introduction... 3 1.1 Rappels à propos de LINQ... 3 1.2 LINQ to SQL... 3 2 LINQ to SQL... 3 2.1 Importer des tables... 3 2.1.1 Le concepteur

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

SYSTEMES D INFORMATION & CONCEPTION de BdD

SYSTEMES D INFORMATION & CONCEPTION de BdD SYSTEMES D INFORMATION & CONCEPTION de BdD PLAN CONCEPT DE SYSTEME D INFORMATION MODELISATION D UN SYSTEME D INFORMATION MODELISATION CONCEPTUELLE : les METHODES METHODE SYSTEMIQUE METHODE OBJET L3 Informatique

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

Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait être maintenu par Microsoft jusqu en 2008.

Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait être maintenu par Microsoft jusqu en 2008. 1 CONCEPT DE BASE 1.1 Visual Basic 6 1.1.1 Pour quoi faire? VB est un langage de type RAD : «Rapid Application Development». Il permet de créer des applications rapidement grâce à une conception simple

Plus en détail

Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI

Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI Olivier Beaudoux 4 septembre 2008 1 Introduction 1.1 Propos Dans ce mini-projet, nous proposons de construire différentes briques logicielles

Plus en détail

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique Génie logiciel avec UML Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique Claude Boutet Session hiver 2008 Modélisation de systèmes Table des matières TABLE DES

Plus en détail

une SOluTION basée SuR un modèle POuR PRévOIR le TRaFIc en TemPS Réel

une SOluTION basée SuR un modèle POuR PRévOIR le TRaFIc en TemPS Réel Comment anticiper le temps réel? Une solution basée sur un modèle pour prévoir le trafic en temps réel PTV Optima est la clé pour une gestion du trafic réussie. Cette solution basée sur un modèle propose

Plus en détail

Description et illustration du processus unifié

Description et illustration du processus unifié USDP Description et illustration du processus unifié Définit un enchaînement d activités Est réalisé par un ensemble de travailleurs Avec des rôles, des métiers Avec pour objectifs de passer des besoins

Plus en détail

Informations de l'unité d'enseignement Implantation. Cursus de. Intitulé. Code. Cycle 1. Bloc 2. Quadrimestre 1. Pondération 6. Nombre de crédits 6

Informations de l'unité d'enseignement Implantation. Cursus de. Intitulé. Code. Cycle 1. Bloc 2. Quadrimestre 1. Pondération 6. Nombre de crédits 6 Informations de l'unité d'enseignement Implantation Institut Paul Lambin Cursus de Intitulé Code Bachelier en informatique de gestion Programmation Web : Avancé I2050 Cycle 1 Bloc 2 Quadrimestre 1 Pondération

Plus en détail

Transformation IT de l entreprise CLOUD ET AGILITÉ AVEC L APPROCHE PAAS

Transformation IT de l entreprise CLOUD ET AGILITÉ AVEC L APPROCHE PAAS Transformation IT de l entreprise CLOUD ET AGILITÉ AVEC L APPROCHE PAAS Les, solutions D éjà 33 % des décideurs de DSI assurent privilégier des hybrides dans leurs entreprises. Dans un contexte où le «Cloud

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

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues 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

Plus en détail

PROJET D INTEGRATION DE DEVELOPPEMENT

PROJET D INTEGRATION DE DEVELOPPEMENT MINISTERE DE LA COMMUNAUTE FRANCAISE ADMINISTRATION GENERALE DE L ENSEIGNEMENT ET DE LA RECHERCHE SCIENTIFIQUE ENSEIGNEMENT DE PROMOTION SOCIALE DE REGIME 1 DOSSIER PEDAGOGIQUE UNITE DE FORMATION PROJET

Plus en détail

6. Des objets bien conçus

6. Des objets bien conçus Conception objet en Java avec BlueJ une approche interactive 6. Des objets bien conçus David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Conception objet en Java avec

Plus en détail

Transformation IT de l entreprise COMMENT PROTÉGER VOS DONNÉES ET APPLICATIONS À L ÈRE DE LA MOBILITÉ?

Transformation IT de l entreprise COMMENT PROTÉGER VOS DONNÉES ET APPLICATIONS À L ÈRE DE LA MOBILITÉ? Transformation IT de l entreprise COMMENT PROTÉGER VOS DONNÉES ET APPLICATIONS À L ÈRE DE LA MOBILITÉ? L a montée en puissance des fuites de données en tout genre et l explosion des volumes de données

Plus en détail

Modélisation objet Le langage UML

Modélisation objet Le langage UML Modélisation objet Le langage UML Brahim HAMID La base de contrôle Robot Zone à explorer brahim.hamid@irit.fr brahim.hamid@univ-tlse2.fr http://mass-cara.univ-tlse2.fr/~brahimou/ens/uml 1 Les méthodes

Plus en détail

Sujet de veille technologique : Les langages de développement et leurs évolutions

Sujet de veille technologique : Les langages de développement et leurs évolutions 2014 Sujet de veille technologique : Les langages de développement et leurs évolutions Charly Rivière IIA SOMMAIRE : SOMMAIRE :... 0 1. Pourquoi ce sujet?... 2 2. Qu est-ce qu un langage de développement...

Plus en détail

DECHARGEMENT ET CHARGEMENT MASSIF DES DONNEES

DECHARGEMENT ET CHARGEMENT MASSIF DES DONNEES DECHARGEMENT ET CHARGEMENT MASSIF DES DONNEES 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

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

Programmation orientée objet et technologies Web

Programmation orientée objet et technologies Web Programmation orientée objet et technologies Web LEA.3N, version 2012 Information : (514) 376-1620, poste 7388 Programme de formation Type de sanction Attestation d études collégiales permettant de cumuler

Plus en détail

Conception et Implémentation

Conception et Implémentation I. INTRODUCTION Dans ce chapitre on va définir la conception de notre site web dynamique et nous expliquons les étapes de réalisation, les outils utilisés et l interface principale ainsi que les différentes

Plus en détail

PRIMVER Population 2.0.2 Manuel d utilisation 2.0 22-04-2015

PRIMVER Population 2.0.2 Manuel d utilisation 2.0 22-04-2015 Produit : Service : Version du service : Type de document : Révision du document : Date du document : PRIMVER Population 2.0.2 2.0 22-04-2015 Historique Révision Description Ecrit par Date 1.0 Version

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

DEMARCHE OU PROCESSUS LOGICIEL

DEMARCHE OU PROCESSUS LOGICIEL DEMARCHE OU PROCESSUS LOGICIEL PROCESSUS LOGICIEL Définition Un processus définit une séquence d étapes, en partie ordonnées, qui concourent à l obtention d un système logiciel ou à l évolution d un système

Plus en détail

EDUGRAF. L éditeur nouvelle génération. de GRAFCET. Version : 1.0. Edition Août 2012 EduLabo

EDUGRAF. L éditeur nouvelle génération. de GRAFCET. Version : 1.0. Edition Août 2012 EduLabo EDUGRAF L éditeur nouvelle génération de GRAFCET Version : 1.0 Compatible : Win XP, Vista, 7 Mise à jour automatique Grafcet avec : o Divergence convergence OU, o Divergence convergence ET, o Temporisateurs,

Plus en détail

Le.NET Compact Framework Windows Mobile

Le.NET Compact Framework Windows Mobile Le.NET Compact Framework Windows Mobile HEROGUEL Quentin 2 Le.NET Compact Framework Windows Mobile Sommaire 1 Le.NET Compact Framework... 3 1.1 Vue d ensemble rapide de l architecture du.net Compact Framework...

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

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

Manuel de transmission des rapports des établissements de paiement

Manuel de transmission des rapports des établissements de paiement Rapports réglementaires Manuel de transmission des rapports des établissements de paiement Version 1.1 Ne pas communiquer ou reproduire sans autorisation de la Bourse de Luxembourg Référence : ManuUtil_EFile_Transmission_ReportingEDP_FR.doc

Plus en détail

Design Patterns. Pourquoi utiliser des patterns? Pourquoi utiliser des patterns? Les patterns vue de loin. D où viennent les design patterns?

Design Patterns. Pourquoi utiliser des patterns? Pourquoi utiliser des patterns? Les patterns vue de loin. D où viennent les design patterns? Noël NOVELLI ; Université de la Méditerranée ; LIF et Département d Informatique Case 901 ; 163 avenue de Luminy 13 288 MARSEILLE cedex 9 Design Patterns D où viennent les design patterns? D où viennent

Plus en détail

Entraînement au concours ACM-ICPC

Entraînement au concours ACM-ICPC Entraînement au concours ACM-ICPC Concours ACM-ICPC : format et stratégies Page 1 / 16 Plan Présentation Stratégies de base Page 2 / 16 Qu est-ce que c est? ACM-ICPC : International Collegiate Programming

Plus en détail

TABLEAU DE BORD : SYSTEME D INFORMATION ET OUTIL DE PILOTAGE DE LA PERFOMANCE

TABLEAU DE BORD : SYSTEME D INFORMATION ET OUTIL DE PILOTAGE DE LA PERFOMANCE TABLEAU DE BORD : SYSTEME D INFORMATION ET OUTIL DE PILOTAGE DE LA PERFOMANCE INTRODUCTION GENERALE La situation concurrentielle des dernières années a confronté les entreprises à des problèmes économiques.

Plus en détail

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452 EXTENSION de Microsoft Dynamics CRM 2013 Réf FR 80452 Durée : 3 jours A propos de ce cours : Ce cours offre une information interactive et détaillée sur le développement d extensions pour Microsoft Dynamics

Plus en détail

OASIS est une fabrique à bien commun via l utilisation des applications proposées sur son store.

OASIS est une fabrique à bien commun via l utilisation des applications proposées sur son store. Guide Utilisateur 1.1 Présentation d OASIS OASIS est une fabrique à bien commun via l utilisation des applications proposées sur son store. Grâce à OASIS, vous serez capable d acheter ou de choisir des

Plus en détail

Design patterns par la pratique

Design patterns par la pratique Alan SHALLOWAY James TROTT Design patterns par la pratique Groupe Eyrolles, 2002 ISBN : 2-212-11139 Table des matières Préface.................................................... XV SECTION I Introduction

Plus en détail

Site de l Assainissement et de

Site de l Assainissement et de Site de l Assainissement et de la Protection des Sols Inscription et gestion du profil utilisateur Aide Date 18/08/2015 Version 1.01 Auteur M. Semer INSCRIPTION ET GESTION DU PROFIL UTILISATEUR AIDE 2/15

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

Georgieva Diana Bourgouin Adrien Licence 3 ~ Faculté des Sciences et des Techniques UML ~ Bibliothèque. Projet UML.

Georgieva Diana Bourgouin Adrien Licence 3 ~ Faculté des Sciences et des Techniques UML ~ Bibliothèque. Projet UML. Projet UML Cas Bibliothèque Page 1 sur 35 S6 ~ 2008-2009 Sommaire I. Introduction 3 II. Modélisation A. Cas d utilisation 1. Première approche 4-6 2. Cas d utilisation avant la modélisation des diagrammes

Plus en détail

Un peu d'organisation. Conception et Programmation par Objets HLIN406. Sommaire. Pourquoi vous parler de conception par objets? Notion de modélisation

Un peu d'organisation. Conception et Programmation par Objets HLIN406. Sommaire. Pourquoi vous parler de conception par objets? Notion de modélisation Un peu d'organisation Conception et Programmation par Objets HLIN406 Marianne Huchard, Clémentine Nebut LIRMM / Université de Montpellier 2 Premières semaines Contrôle des connaissances Supports 2015 Sommaire

Plus en détail