Abstraction de comportements de composants logiciels à partir de code

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

Download "Abstraction de comportements de composants logiciels à partir de code"

Transcription

1 Abstraction de comportements de composants logiciels à partir de code Réduire la distance spécification-code Pascal ANDRE Dan CHIOREAN Frantisek PLASIL Jean-Claude ROYER 16 octobre Résumé et objectifs L ingénierie logicielle du composant (Component-Based Software Ingénierie - CBSE) a pris une importance croissante parmi les approches de construction du logiciel car elle met l accent sur la (ré)utilisation de composants, appelés aussi composants sur étagère (Components Off The Shelf - COTS). Ces composants provenant de développeurs tiers sont assemblés pour construire des systèmes logiciels complexes. Les composants sont des modules logiciels de taille variable (de grain plus gros que celui des objets dans la programmation à objets) qui peuvent être utilisés à la fois dès les premiers stades du développement à des niveaux d abstraction élevés (architectures logicielles, conception) et dans les niveaux plus concrets (programmes, frameworks). Les principales caractéristiques de l approche par composants sont la modularité, la généralité et la composabilité. Pour être réutilisables, les composants doivent avoir une description externe claire (interfaces riches, contrats, qualité de service des composants...). Un composant représente une unité de calcul et de stockage qui fournit principalement des services. Un service peut être décrit par une simple signature de procédure (ou de fonction) ou être un concept plus riche et structuré incluant des sous-services et des conditions complexes d utilisation. Un service offert propose une fonctionnalité alors qu un service requis est l expression d un besoin de fonctionnalité. Habituellement, un composant implante une ou plusieurs interfaces qui spécifient les interactions du composant avec son environnement (les services qu il fournit, les services qu il requiert, d éventuels contrats et protocoles d utilisation). Lorsque le concept de service devient un concept majeur pour les architectes du logiciel, l ingénierie composant devient très liée à celle des services (service oriented computing - SOC) et des services Web. La construction de logiciels à base de composants reste un domaine émergent pour la recherche tant industrielle qu académique. La plupart des propositions académiques se concentrent sur des modèles abstraits, plutôt orientés vers la conception des architectures logicielles et la vérification des propriétés comme la sûreté ou l équité. Mais il existe également quelques propositions proches LINA - FRE CNRS , rue de la Houssinière, B.P.92208, F Nantes Cedex 3, France Computer Science Research Laboratory, Universitatea BABES-BOLYAI Mihail Kogalniceanu nr. 1 RO Cluj-Napoca, Romania Distributed Systems Research Group, Charles University, Malostranske nam.25, Prague 1, Czech Republic OBASCO - EMN/INRIA LINA FRE CNRS 2729, 4, rue Alfred Kastler F Nantes cedex 3 France 1

2 des langages de programmation. Finalement quelques tentatives plus marginales tentent de faire le lien entre les deux niveaux soit par génération de code à partir des modèles soit par extraction d informations du code exécutable. D un autre côté, les propositions industrielles comme CCM, EJB, OSGI ou.net sont des évolutions des langages à objets vers des cadres plus dédiés. Ces propositions intègrent quelques préoccupations comme la persistance ou la sécurité mais fournissent des solutions trop ad-hoc. Par exemple la composition des unités n est pas toujours prise en compte, le choix du langage de programmation est très contraint, les moyens de communication sont très dépendant du contexte. Une faiblesse générale est le manque d abstraction et de généricité permettant une meilleure réutilisation des composants fabriqués. A notre avis, l absence d un vrai langage de programmation à composants se fait sentir (un langage comme ComponentJ est par exemple une surcouche de Java). En d autres termes il existe un choix large de modèles de composant qui couvrent une grande partie du cycle du logiciel mais il y a un fossé important entre la partie spécification ou modèle pour l architecture et le niveau programmation très investi par les infrastructures industrielles ou des langages à objets un peu améliorés. Le constat ci-dessus est assez courant et résulte de la difficulté à apparier des modèles formels avec des modèles plus opérationnels. Ainsi il n est pas rare de constater l absence de vérification de cohérence entre code et spécification. Une préoccupation importante est de trouver des solutions pragmatiques à ce problème. Une approche est de s inspirer de la transformation de modèles (MDA, MDE) : une conception abstraite du système est réalisée, sur laquelle des vérifications peuvent être faites, puis une traduction en code exécutable est réalisée. Cette approche que l on peut qualifier d ingénierie directe est relativement complexe de par la variété des cibles (modèles abstraits) et parce qu en théorie il faudrait prouver que la traduction est correcte. Elle offre quand même une voie tout à fait prometteuse. Quelques travaux ont déjà été fait dans ce sens, par exemple [PNPR05, PP99]. Une autre approche consiste à partir du code de composants existants et de vérifier qu ils sont conformes à certaines interfaces ou protocoles. Il s agit dans ce cas de faire une analyse du programme et d en extraire des informations qui vont être utilisées pour en vérifier la conformité avec les modèles. Cette approche que nous qualifierons de ingénierie indirecte ou rétro-ingénierie a été très peu exploré dans ce domaine ([BCM+06, PP06a]). Le problème est encore plus complexe pour les raisons suivantes : Très souvent le code source n est pas disponible pour des raisons variées (sécurité, licence, liaison distante, etc). Une raison importante est souvent que le service peut-être payant et à ce titre ne peut pas être fourni. Dans le cas d un code à objets classique la structure sous forme de composant n existe pas et peut être difficile à extraire sans restructurer l application. La masse d informations à traiter est conséquente, il faut donc pouvoir trier et sélectionner les éléments pertinents pour les abstraire et ce choix peut-être critique pour la pertinence des résultats. Il n y a pas de standard que ce soit pour les composants comme pour leur spécification. Les clients ont besoin d interagir avec les services d un composant. Ils doivent donc connaître au moins la signature des services de celui-ci. Mais cela ne suffit pas dans beaucoup de cas. Une connaissance d éventuels sous-services et du comportement dynamique, principalement des enchaînements autorisés entre les services, est indispensable. A partir de là il est envisageable de pouvoir assurer une meilleure interaction ou d éviter des utilisations incorrectes des services. Le but de ce projet est de contribuer à une meilleure maîtrise de la problématique de l ingénierie 2

3 indirecte des composants. Notre solution passe par le développement de techniques pour extraire des informations du code, des informations sur la signature des services mais aussi sur le comportement dynamique. A partir de là nous proposerons des contrôles de compatibilité entre ces informations et les modèles abstraits en vue d une certification des composants. 2 Approche du problème L essence du projet est d établir un lien entre le code des composants et une spécification plus abstraite de ceux-ci afin de vérifier la cohérence entre les deux et de certifier certaines propriétés des composants. Les avantages de l abstraction, au sens des modèles abstraits et formels, sont bien connus maintenant. Ceux qui nous concernent ici sont la possibilité de vérifier statiquement des propriétés sur le comportement dynamique des composants comme la sûreté, l équité ou la disponibilité. Pour rester dans un cadre réalisable nous proposons de restreindre le travail en tenant compte des compétences et de l expérience des partenaires : 1. Le langage des modèles sources (au niveau du code) est limité à Java. Par ailleurs, compte tenu de la complexité du problème d extraire une spécification abstraite d un composant, nous pensons que celui-ci peut-être résolu de manière satisfaisante si le code contient certains commentaires ou annotations. Ces informations doivent être placées de façon pertinente et éventuellement nous travaillerons sur un sous-ensemble du langage qui reste à préciser. 2. Les modèles cibles (au niveau spécification) sont des composants abstraits et formels inspirés des divers travaux des partenaires. Plutôt que d étudier uniquement (et classiquement) les aspects structurels des composants nous envisageons d extraire des informations comportementales du code Java. Ces informations de comportement sont liées aux caractéristiques dynamiques et fonctionnelles des composants et des services [PV02, AAA06d, PNPR05]. Ils traitent principalement des aspects divers d utilisation des services : signatures, pré-conditions, flot de contrôle en particulier. Plus généralement les comportements dynamiques décrivent l évolution dynamique des composants, des services et des connecteurs d assemblage. Les mécanismes de spécification associés s inspirent de la conception par contrat (assertions, pré-conditions, post-conditions), des spécifications algébriques, des machines à états, des expressions régulières etc. Chaque formalisme a ses avantages et ses inconvénients et il est aussi difficile de les considérer tous (que ce soit séparément ou conjointement). La spécification par contrats est une approche déclarative assez souple mais qui fournit une spécification souvent incomplète. Les spécifications algébriques, dans le cas général, sont difficiles à pratiquer pour les concepteurs du domaine et certains problèmes sont très délicats. Les machines à états et transitions ou les expressions régulières ne sont généralement pas suffisantes en cas de systèmes avec des données structurées ou complexes. Notre point de départ pour ce projet sera l expérience réalisée par le partenaire tchèque. Il a démarré l étude de la vérification de bytecode de composants Java vis-à-vis de spécification de plus haut niveau. Il s agit d un travail en cours dont les premiers résultats ont montré la faisabilité de l approche. Le langage SOFA pour la description des composants intègre un aspect de description dynamique sous la forme d expressions régulières. Cette description décrit l enchaînement des services sans les communications et les données internes. Pour vérifier qu un composant primitif écrit en Java respecte son protocole, le principe est d utiliser Java Path Finder (JPF). Cet utilitaire permet de parcourir l espace d état d un programme Java et d extraire les appels de méthodes pour 3

4 les transmettre au contrôleur de protocole qui vérifie que leur ordonnancement est conforme au protocole. Mais JPF ne peut traverser qu un programme Java complet et la génération d un environnement Java pour exécuter le composant est rapidement trop complexe à gérer. Nous prévoyons donc de reprendre cette approche et à la fois de la contraindre (filtrage du code Java) et de la généraliser (à des modèles de spécification plus riches). Nous espérons bénéficier de l expérience de l équipe OBASCO qui a conduit des expérimentations de génération de code Java à partir de protocoles. Certains mécanismes peuvent être réutilisés pour aider à la génération de l environnement d exécution des composants. Nous pensons aussi réutiliser l approche mise en œuvre avec Kmelia par l équipe COLOSS à la fois pour enrichir le modèle de spécification et reprendre les outils d analyse de propriétés pour faire des vérifications. Nous pensons aussi nous baser sur une collaboration de ces deux équipes autour des aspects concurrents (CEAOP) et de Kmelia pour traiter du problème plus spécifique de la concurrence des protocoles de comportement Nous souhaitons aussi étendre l approche précédente pour prendre en compte des données et des assertions. Nous envisageons ainsi d avoir une approche compatible avec le langage Object Constraint Language (OCL), un des domaines de compétence du partenaire roumain. OCL est un langage fonctionnel, standard de l OMG, pour la navigation dans les modèles UML et permettant l expression d assertions pour les méthodes. Il existe également des extensions d OCL supportant la spécification des actions, par exemple l outil Xactium (http :// Une préoccupation qui nous guide est d utiliser des langages assez proches de ceux couramment pratiqués dans l industrie, OCL, expression régulière et systèmes de transitions en font partie. Un autre intérêt d OCL est son indépendance vis-à-vis du langage de programmation, contrairement aux autres approches par contrats telles que JML ou Eiffel. L introduction dans l approche précédente d un sous-ensemble d OCL n est pas une tâche triviale mais les partenaires disposent de compétences complémentaires dans ce domaine. En résumé, le partenaire tchèque a mis au point un langage de composant (SOFA) et une première approche pour vérifier la compatibilité du code avec le protocole. Les partenaires français ont conduit plusieurs expériences dans le domaine de la génération de code Java, de langages de composants formels (Kmelia) et de moyens de vérifications. Le partenaire roumain a une grande expérience d OCL et de sa sémantique opérationnelle au travers de l implémentation d un outil dédié à ce langage. 3 Travaux connexes Nous situons ici les travaux des équipes vis-à-vis des travaux existants. 3.1 Etat de l art Beaucoup de travaux ont été consacrés à la construction de vérificateurs de modèles (model checker pour vérifier automatiquement les logiciels, à la fois sous forme de code et de modèles abstraits. Par exemple SMV [SMV] et SPIN [SPIN] sont des outils répandus pour vérifier des modèles décrits dans un langage spécifique (e.g. Promela pour SPIN). Ces outils sont adaptés tant à la vérification de systèmes modélisés à hauts niveaux d abstraction lors de la conception que celle des protocoles de bas niveaux. Néanmoins vérifier le code réel nécessite des traductions dans des langages spécialisés qui ont une sémantique différente de celle des langages de programmation. 4

5 Bien qu il existe des travaux attestant de la faisabilité de cette approche (e.g. [Eis05]), la voie la plus prometteuse est d utiliser des vérificateurs de modèles spécifiques à la vérification de code (code source, bytecode ou code binaire), tels que Bandera [CDH+00], MAGIC [CCG+04], SLAM [BR02], SATABS [CKS+04], ou Java PathFinder [JPF]. Ces outils analysent le code pour des protiétés prédéfinies et la violation d assertions (contrats). Certains vérifient même les erreurs de débordement dans un tableau ou la sûreté de référence des pointeurs. Malgré leur puissance, ces outils manquent de base pour la vérification des composants logiciels, qui possède de nombreuses particularités. La première est qu un composant n est pas un système fermé et sa vérification nécessite de prendre en compte l environnement du composant obtenu lors de l assemblage des composants (statique ou dynamique). La seconde est que la correction d un composant n est pas définie uniquement à partir de l usage correct de constructions de base du langage de programmation (pointeurs par exemple) mais aussi de l évolution dynamique et des règles de composition à haut niveau d abstraction. On doit donc s assurer que non seulement le composant ne doit pas «planter» à cause de violation d assertions ou de déréférencement de pointeurs mais que son comportement vis-à-vis des autres composants est celui attendu. La liste des travaux similaires n est pas si longue dans le cadre des particularités de la vérification des composants. Les travaux les plus proches sont ceux du projet SLAM qui vise à vérifier les pilotes du noyau de Windows. Du fait que les pilotes du noyau sont un système ouvert, SLAM cible de nombreux problèmes similaires à ceux de la vérification de composants. MAGIC est un autre projet proche dont le but est de vérifier du code C vis-à-vis de spécifications sous forme de machines à états. L outil est basé sur une approche compositionnelle, c est-à-dire qu il décompose un système conséquent en plusieurs procédures écrites en langage C et vérifie chaque procédure indépendamment. Plus précisément, l outil est capable de vérifier qu une machine à état (LTS) est une abstraction sûre d une procédure C en se basant sur le concept «abstraire-vérifier-raffiner» [CGJ+00]. Enfin, la plateforme VERCORS [BCM+06] est un outil d analyse de propriétés de sûreté et de sécurité d applications distribuées. L outil est basé sur une méthode de génération de systèmes de transitions synchronisés à partir d une analyse statique de code source (Java/ProActive). Comme dans Kmelia, l objectif est d intégrer des outils existants plutôt que de les développer. De manière générale plusieurs projets s attaquent à des problèmes similaires, mais la vérification de modèles et l analyse de composants logiciels avec toutes ses spécificités nécessite des approches personnalisées se basant sur une définition claire de la problématique et un fondement formel. En ce sens, ce projet vise à réunir des équipes de recherche concernées pour débattre sur la thématique, identifier les problèmes clés et poser les bases d une solution implantable. [CKS+04] Edmund M. Clarke, Dalien Kroening, Natasha Sharygina, and Karen Yorav. Predicate Abstraction of ANSI C Programs using SAT. In Formal Methods in System Design (FMSD), pages , vol. 25, [BR02] Thomas Ball and Sriram K. Rajamani. The SLAM Project : Debugging System Software via Static Analysis. In POPL 2002, ACM, Jan [BCM+06] Tomas Barros, Ludovic Henrio and Eric Madelaine. Model-Checking Distributed Components : The Vercors Platform. In Proceedings of Formal Aspects of Component Software (FACS 06), Prague, Czech Republic, September 20-22, 2006, ENTCS, Sep [PP06a] Pavel Parizek and Frantisek Plasil. Modeling Environment for Component Model Checking from Hierarchical Architecture. In Proceedings of Formal Aspects of Component Software (FACS 06), Prague, Czech Republic, September 20-22, 2006, ENTCS, Sep

6 [CDH+00] James C. Corbett, Matthew B. Dwyer, John Hatcliff, Shawn Laubach, Corina S. Pasareanu, Robby, and Hongjun Zheng. Bandera : Extracting Finite-state Models from Java Source Code. In ICSE 2000, pages [CCG+04] Sagar Chaki, Edmund M. Clarke, Alex Groce, Somesh Jha, and Helmut Veith. Modular Verification of Software Components in C. In IEEE Transactions on Software Engineering, 30(6), June [CGJ+00] Edmund M. Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith. Counterexampleguided abstraction refinement. In Computer Aided Verification, pages , [Eis05] Cindy Eisner. Formal verification of software source code through semi-automatic modeling. In Software and System Modeling, 4(1) : 14 31, [JPF] Java PathFinder, http ://javapathfinder.sourceforge.net. [PNPR05] Sebastian Pavel, Jacques Noyé, Pascal Poizat, and Jean-Claude Royer. A java implementation of a component model with explicit symbolic protocols. In Proceedings of the 4th International Workshop on Software Composition (SC 05), volume 3628 of Lecture Notes in Computer Science, pages Springer-Verlag, [PP99] Radek Pospisil and Frantisek Plasil. Describing the Functionality of EJB using the Behavior Protocols. In Week of Doctoral Students (WDS 99), [PV02] Frantisek Plasil and Stanislav Visnovsky. Behavior protocols for software components. IEEE Trans. Softw. Eng., 28(11) : , [SPIN] Spin Model Checker, http ://spinroot.com. [SMV] Carnegie Mellon University : Symbolic Model Verifier, http :// modelcheck/smv.html. 3.2 Nantes L équipe COLOSS à Nantes a une expérience dans le domaine des méthodes formelles, du développement à objet et de l approche composants. Les activités de recherche de l équipe COLOSS se situent entre la recherche fondamentale et leurs applications. Nous explorons les approches formelles (celles basées sur des fondements mathématiques) d aide à l analyse et au développement du logiciel : (a) Spécification multiformalisme et analyse formelle multifacette de systèmes, (b) Spécification, vérification et validation des composants et des architectures logicielles. Cette dernière problématique concerne plus spécifiquement le projet de collaboration. Le but est d assurer la correction des composants utilisés et des compositions de ceux-ci dans le cadre de construction de systèmes informatiques complexes. Nous avons proposé un modèle à composants basés sur les services, appelé Kmelia. Puis nous avons étudié la composabilité des composants dans les assemblages et mené des expérimentations avec la boîte à outils Lotos CADP et l outil de vérification de modèles MEC pour la vérification comportementale de cette propriété. Nous avons développé un prototype de boîte à outils (COSTO : COmponent Study TOolbox) pour valider nos expérimentations ; il intègre actuellement plusieurs modules : un éditeur textuel, un éditeur graphique, un compilateur Kmelia, un vérificateur de correction d architecture, des outils de traduction vers les processus Lotos et les spécifications MEC. Les perspectives concernent la formalisation des protocoles avec traitement de la récursivité, le traitement des assertions des services et les liens entre spécification et code des composants. 6

7 L équipe OBASCO de l Ecole des Mines de Nantes développe des concepts et des logiciels pour la programmation par aspects et par composants. Nous avons une expérience dans l utilisation des protocoles pour la description des composants logiciels. Nous nous sommes focalisés sur des descriptions plus expressives que les classiques systèmes étiquetés, en particulier nous avons utilisé des systèmes de transitions symboliques (STS), i.e. des protocoles avec des données et des gardes. Nous avons posé les principes d un langage d architecture avec des communications synchrones et asynchrones, des STS, des composants hiérarchiques et une colle complexe pour les synchronisations. Un autre volet de notre travail concerne la vérification de propriétés dans les systèmes à composants munis de STS. Nous avons des premiers résultats qui nous permettent d abstraire certains systèmes de composants avec des données. Nous avons également montré comment générer du code Java de telle sorte que les composants communiquent conformément aux protocoles. Finalement nous avons analysé les langages d aspects au travers de la modification des protocoles des composants. Une question que nous n avons pas abordée est celle de la compatibilité entre le code Java et les protocoles. Nous sommes donc intéressés à étendre l expérience réalisée avec SOFA pour introduire des données, des paramètres et des gardes. De plus nous envisageons d étudier l intégration de ces techniques avec une analyse statique des propriétés des aspects de modification des protocoles. 3.3 Prague Entre autres projets comme l évaluation de performance, le groupe DSRG travaille principalement sur le modèle à composants SOFA et la spécification comportementale. Le modèle à composants SOFA est un support de base pour d autres recherches relatives aux composants logiciels telles que la génération automatique de connecteurs et la gestion de composants dynamiques. La partie de la recherche liée aux comportements vise à améliorer les langages de description architecturale des modèles à composants (en particulier SOFA et Fractal) avec des spécifications comportementales de haut niveau (d abstraction) les protocoles comportementaux. Le formalisme des protocoles comportementaux a une syntaxe similaire à celle des algèbres de processus. Elle s en distingue par la définition de séquences valides d appels de méthodes sur toutes les interfaces de composants. Elle est orientée traces en ce sens que deux protocoles sont équivalents s ils observent la même séquence d appels de méthodes. Les protocoles comportementaux spécifient des séquences régulières (au sens des expressions régulières). L avantage principal se trouve dans la syntaxe compréhensible spécifiquement conçue pour la spécification des protocoles comportementaux de composants. Les protocoles de comportement peuvent être utilisés pour vérifier formellement la correction des communications des composants deux à deux dans une hiérarchie de composants à l aide d un outil de contrôle. Les travaux récents les plus proches de ce projet portent sur la vérification des protocoles comportementaux vis-à-vis du bytecode de composants implantés en Java. Dans ce contexte, l outil de vérification de modèles Java Path Finder (JPF) de la NASA est couplé au vérificateur de protocoles de comportement (PC). Lors du processus de vérification, JPF informe le contrôleur PC chaque fois qu une méthode est invoquée (ou qu un résultat de méthode est envoyé) ou qu un retour arrière se produit. Ainsi le contrôleur PC peut vérifier que les enchaînements sont corrects vis vis du protocole. Du fait que l outil JPF traverse le programme Java complet, la génération d un environnement pour le composant reste un point à résoudre. De nombreux autres aspects sont à approfondir, qui donnent de la matière à étudier dans le cadre de ce projet. 7

8 3.4 Cluj Le laboratoire de recherche en informatique (UBB-LCI) est une unité du département d informatique de la faculté de Mathématiques et Informatique fondée à Cluj en La thématique principale est relative à la technologie objet, que ce soit au niveau de la modélisation, des méthodes et des langages. Les produits principaux conçus et développées dans le laboratoire jusqu ici étaient l environnement mfoops et les outils ROCASE et OCLE. Le laboratoire a participé au projet de recherche européen IST NEPTUNE et son équipe a obtenu des résultats reconnus dans des domaines comme la vérification de modèles UML. Dans la continuité du projet européen et en se basant sur les résultats obtenus, le LCI a conçu et implanté OCLE, un outil des plus complets actuellement autour d OCL. Le groupe LCI poursuit activement ses travaux dans les domaines mentionnés ci-dessus, avec un intérêt particulier pour les répertoires basés sur le modèle MOF de l OMG, l utilisation d OCL à tous les niveaux de l architecture de modèles l OMG, l extension d OCL pour la sémantique des actions et des transformations, l amélioration du code et l application de la démarche MDE (Model Driven Architecture). Dans le cadre du projet, le groupe UBB-LCI souhaite apporter son expérience dans la définition d éléments contractuels et de données dans la description des interfaces de composants et dans la vérification de cohérence entre ces éléments et le code Java du programme. 4 Description de la coopération Les quatre équipes ont des connaissances et des approches a priori complémentaires sur le thème abordé par le projet (cf. section 2). L objectif est donc d affiner la confrontation des idées et de faire évoluer les techniques pour les intégrer à l embryon de proposition existant. 4.1 Perspectives Le principal impact du projet est d établir les principes de la cohérence entre code et spécification des composants et du support de la rétro-ingénierie (domaine et co-domaine). Ces principes s accompagneront de techniques d abstraction de code et de vérification comportementale à base de code. Les modèles de spécification de composants devront être étendus en utilisant notamment OCL pour prendre en compte les gardes et les mécanismes d assertions de l approche contractuelle. L expérimentation sera menée sur des programmes (code) existant. Une perspective intéressante est d abstraire le code des composants de plateformes reconnues (telles que.net, EJB, CORBA, OSGI ou Fractal) ou celui d implantation de Web services vers des modèles plus abstraits, du monde académique (tels que WRIGHT, ACME, SOFA, Kmelia...). Ce travail peut servir de support de comparaison entre modèles et de banc de test pour la rétro ingénierie. A plus long terme, une autre perspective sera de développer une plateforme implantant les principes dégagés dans le projet : le passage de la «théorie» de la rétro-ingénierie vers la pratique dans le contexte des composants logiciels. Les partenaires envisagent d intégrer leurs approches pour que l abstraction s adapte à divers modèles de spécification. L intérêt principal est de réutiliser les plateformes existantes pour la spécification et la vérification de composants logiciels. Le champ de la rétro-ingénierie peut aussi tirer parti de ce projet en ce sens que les applications orientées objet pourraient être analysées en vue d une migration dans les technologies à base de composants. 8

9 4.2 Participants France Nantes COLOSS Pascal André, Maître de Conférence (Assistant Professor) Gilles Ardourel, Maître de Conférence (Assistant Professor) Christian Attiogbé, Maître de Conférence (Assistant Professor) Cédric Stoquer, Doctorant (PhD-Student) New Master Student (later PhD Student) OBASCO Jean-Claude Royer, Professeur (Full Professor) Mario Südholt, Maître Assistant (Assistant Professor) Jacques Noyé, Maître Assistant (Assistant Professor) Fabricio de Alexandria Fernandes, Doctorant (PhD Student) Czech Republic Prague Frantisek Plasil, Professor Jiri Adamek, Researcher Jan Kofron, Ph.D. Student Pavel Parizek, Ph.D. Student Tomas Poch, Ph.D. Student Ondrej Sery, Ph.D. Student Romania Cluj Dan Chiorean, Senior Lecturer Vladiela Petraşcu, PhD-Student Dragoş Petraşcu, PhD-Student 4.3 Planification du projet Le projet est établi sur deux ans. Le calendrier prévisionnel est le suivant : Première année : Détermination du contexte du projet et notamment des limites imposées au code Java à abstraire (concepts et idiomes). Etablir les principes de l abstraction comportementale du code Java et la cible en terme de modèles à composants (Kmelia, SOFA et STS). Expérimentations sur du code existant. Etude et proposition d un patron d annotation de composants EJB pour faciliter la rétroingénierie. Intégration de la vérification des gardes dans les modèles de spécification en utilisant OCL (et OCLE). Documentation, rapports de recherche et préparation de l atelier de travail (workshop). Deuxième année : Affinement et classification des principes et techniques de rétro-ingénierie. Etude de la vérification des assertions dans les modèles de spécification en utilisant OCL. Rétro-ingénierie de code EJB vers des spécifications réalisées en JML ou OCL. Expérimentation sur des études de cas plus larges. Documentation, rapports de recherche et préparation des ateliers de travail. 9

10 4.4 Moyens demandés Les laboratoires des équipes concernées participent au financement du projet par l accueil des chercheurs étrangers (mise à disposition de bureaux équipés, de documentations et d ordinateurs munis de logiciels), le financement et l équipement des étudiants participant au projet (bourses, bureaux, matériels, documentations, etc.), le financement et l équipement des chercheurs participant au projet, une participation à l organisation des workshops (secrétariat, imprimerie, subventions, etc.). Des moyens sont demandés pour réaliser ce projet qui implique une forte coopération internationale entre la France, la République Tchèque et la Roumanie. Nous organisons un premier atelier de travail (workshop) courant 2007 pour échanger plus précisément les points de vue, les techniques et les expériences propres des différentes approches et pour mettre au point les cas d étude. Ces ateliers se répètent une fois l an et permettent des échanges en directs et donc plus réactifs. Ils permettent aussi de contrôler la progression du projet et de définir de nouvelles balises. Plusieurs visites intermédiaires sont prévues, selon les financements disponibles, pour contribuer au développement des techniques et à l expérimentation des études de cas, elles permettent aussi de se concentrer sur la diffusion et la publication par des périodes intensives qui mobilisent les efforts des acteurs. En particulier en fin de seconde année, nous prévoyons un workshop international sur la thématique du projet lors de la réunion finale de projet. Les ateliers sont planifiés ainsi : Date Lieu juin 2007 Prague Project Workshop mars 2008 Nantes Project Workshop septembre 2008 Cluj International Workshop Nous avons planifié les visites de deux personnes par équipe participante pour chaque atelier. Rappelons que les visites intermédiaires se feront selon les moyens annuels disponibles. Visites de partenaires en République Tchèque Nom But Date Durée Coûts (Euros) P. André Workshop juin semaine G. Ardourel Workshop juin semaine J.C. Royer Workshop juin semaine J. Noyé Workshop juin semaine D. Chiorean Workshop juin semaine V. Petraşcu Workshop juin semaine total XX-Nantes courte visite juin semaine - XX-Cluj courte visite juin semaine - total 2008?? Voyage/Intendance 10

11 Visites de partenaires en France Nom But Date Durée Coûts (Euros) J. Kofron courte visite juillet semaine - XX-Cluj courte visite juillet semaine - total 2007?? F. Plasil Workshop mars semaine O. Sery Workshop mars semaine T. Poch Workshop mars semaine V. Petraşcu Workshop mars semaine D. Petraşcu Workshop mars semaine total Voyage/Intendance Visites de partenaires en Roumanie Nom But Date Durée Coûts (Euros) T. Poch courte visite septembre semaine - XX-Nantes courte visite septembre semaine - total 2007?? C. Attiogbé International Workshop septembre semaine G. Ardourel International Workshop septembre semaine M. Sudölt International Workshop septembre semaine F. Fernandes International Workshop septembre semaine F. Plasil International Workshop septembre semaine O. Sery International Workshop septembre semaine total Voyage/Intendance Organisation du Workshop international Nous budgétisons environ 1900 euros pour soutenir l organisation du Workshop international. 5 Collaboration entre les groupes de recherche Le laboratoire de Nantes a eu par le passé une collaboration en 1991 avec le laboratoire (naissant) d informatique de l université BABES-BOLYAI de Cluj, qui consistait en des échanges (visites) et des publications communes. Il y a aussi eu une collaboration entre Prague et Cluj en , concernant l utilisation de OCL pour spécifier le comportement. Suite à cette collaboration, un étudiant de Prague - Jiri Samek - a rédigé un mémoire de master. Une collaboration informelle a débuté récemment entre l équipe COLOSS de Nantes et celle de Prague, qui porte sur un sujet connexe à ce projet. Elle pourra être étendue à d autres sujets d intérêt commun autour du développement à composants. 11

12 6 Formation par la recherche Ce projet sert de support à des étudiants français, tchèques et roumains, comme le montre le tableau des participants et des visites. Ce projet contribue à leur thèse. Quelques éléments sont donnés ci-après. Fabricio de Alexandria est un doctorant du groupe OBASCO. Son sujet de thèse est de définir et implanter un modèle à composants avec des protocoles et divers modes de communication. Il doit aussi étudier les moyens et techniques de vérification. Une question importante est celle de la compatibilité. Celle des composants a déjà été abordée dans des travaux existants mais la compatibilité entre le code fonctionnel et les systèmes symboliques reste un problème ouvert. Tous les participants doctorants du partenaire tchèque travaillent sur la spécification de comportements des composants et sur leur vérification. En ce sens, le projet fournit un support de recherche. Dans sa thèse intitulée The Formal-Descriptive Relation in Software Engineering, Dragoş Petraşcu de Cluj, étudie l adéquation de différents formalismes de spécification de composants conception par contrats, langages algébriques, statecharts. Les avantages attendus de la transformation d un modèle d une plateforme indépendante (PIM) vers une plateforme spécifique (PSM et ici le code) seront analysés et un format d annotation sera proposé pour permettre la rétro-ingénierie. Vladiela Petraşcu étudiera les relations entre spécifications formelles de composants et réutilisation. Notons que travailler sur un projet international contribue à la fois à la recherche elle-même mais aussi à enrichir leur vue générale sur le sujet par confrontation d idées et de points de vue. 7 Impact Industriel Le logiciel au comportement aléatoire est proscrit pour les systèmes (critiques) déployés dans les différentes branches d activité économiques ou industrielles. Il est fortement souhaitable de détecter de tels comportements lors du développement du logiciel et non en exploitation. Du fait que les systèmes constitués de composants issus de bibliothèques variées (composants «sur l étagère» ou COTS) ou plus généralement les systèmes modulaires ont pris une part prépondérante dans les activités de génie logiciel, les solutions pour les rendre plus fiables sont devenues une préoccupation majeure des acteurs de l industrie du logiciel. Par conséquent, disposer des outils d analyse permettant de vérifier la conformité des protocoles des composants dans les architectures a un impact industriel significatif. De tels outils peuvent par exemple être intégrés à des environnements de développement tels que.net (de Microsoft) or Enterprise JavaBeans (de Sun) ou Fractal (de France Telecom) pour assurer la qualité (et en particulier l absence de comportements aléatoires ou bloquants, la sûreté,...) des composants et des systèmes. Le partenaire tchèque a une expérience sur ce sujet avec l extension de Fractal à la spécification de comportements dynamiques. Dans le projet Component Reliability Extension (CRE) financé par France Telecom R&D le formalisme des protocoles comportementaux a été incorporé dans le langage de description d architecture Fractal. Cela permet de vérifier la compatibilité des composants (la correction des communications). La vérification de compatibilité peut être calculée soit statiquement lors de la conception, soit dynamiquement à l exécution. La première méthode est utilisée pour vérifier statiquement les architectures de composants avant leur déploiement ou même leur implantation. La seconde méthode est utilisée dans les cas où il est difficile ou impossible de le vérifier à la conception (e.g. changements dynamiques d architecture et évolution de composants). 12

13 Les buts de ce projet furent atteints avec succès et les résultats furent évalués sur une étude de cas non triviale, montrant ainsi la faisabilité de l approche. Ceci suggère un intérêt significatif de la part des industriels pour cette thématique. 8 Liste des principales publications des cinq dernières années 8.1 Nantes COLOSS [AA05] Pascal André and Gilles Ardourel. Domain Based Verification for UML Models. In Ludwik Kuzniarz, Gianna Reggio, Jean-Louis Sourrouille, and Miroslaw Staron, editors, Workshop on Consistency in Model Driven Engineering C@Mode 05, pages 47 62, November [AAA + 05a] Pascal André, Gilles Ardourel, Christian Attiogbé, Henri Habrias, and Cédric Stoquer. Vérification de conformité des interactions entre composants. In Philippe Collet and Philippe Lahire, editors, LMO Workshop (Objets, Composants et Modèles), OCM 05, Berne, Suisse, January [AAA05b] Pascal André, Gilles Ardourel, and Christian Attiogbé. Behavioural Verification of Service Composition. In ICSOC Workshop on Engineering Service Compositions, WESC 05, pages 77 84, Amsterdam, The Netherlands, IBM Research Report RC [AAA06a] Pascal André, Gilles Ardourel, and Christian Attiogbé. Coordination and Adaptation for Hierarchical Components and Services. In Third International ECOOP Workshop on Coordination and Adaptation Techniquesfor Software Entities (WCAT 06), pages 15 23, [AAA06b] Pascal André, Gilles Ardourel, and Christian Attiogbé. Spécification d architectures logicielles en Kmelia : hiérarchie de connexion et composition. In 1ère Conférence Francophone sur les Architectures Logicielles, pages Hermès Sciences Publications - Lavoisier, [AAA06c] Pascal André, Gilles Ardourel, and Christian Attiogbé. Vérification d assemblage de composants logiciels Expérimentations avec MEC. In 6e conférence francophone de MOdélisation et SIMulation, MOSIM 2006, pages , Rabat, Maroc, April Lavoisier. [AAA06d] Christian Attiogbé, Pascal André, and Gilles Ardourel. Checking Component Composability. In 5th International Symposium on Software Composition, volume 4089 of Lecture Notes in Computer Science. Springer Verlag, [AH04] Gilles Ardourel and Marianne Huchard. Class-Based Visibility from an MDA Perspective : From Access Graphs to Eiffel Code. Journal of Object Technology, November [Att04] Christian Attiogbé. A Mechanically Proved Development Combining B Abstract Systems and Spin. In 4th International Conference on Quality Software, QSIC 04, pages 42 49, Braunschweig, Germany, septembre IEEE Computer Society Press. [Att05a] Christian Attiogbé. Analyzing the Readers/Writers System Using the B Theorem Prover. GESTS International Transaction on Computer Science and Engineering, 7(1) :87 98, [Att05b] Christian Attiogbé. Practical Combination of Theorem Proving and Model Checking for the Multi-facet Analysis. In 31st Annual Conference on Current Trends in Theory and Practice of Informatics, SOFSEM 05, pages 1 10, Liptovsky Jan, Slovakia, Slovak Society for Computer Science. 13

14 [Att06a] Christian Attiogbé. Multi-Process Systems Analysis using Event B : Application to Group Communication Systems. In Eighth International Conference on Formal Engineering Methods (ICFEM 06), Lecture Notes in Computer Science, Macau, China, November Springer Verlag. à paraître. [Att06b] Christian Attiogbé. Tool-Assisted Multi-Facet Analysis of Formal Specifications (Using Alelier- B and ProB). In IASTED Conf. on Software Engineering, pages 85 90, Innsbruck, Austria, February IASTED/ACTA Press. [AV01a] Pascal André and Alain Vailly. Conception de systèmes d information - Panorama des méthodes et des techniques, volume 1 of Collection Technosup. Editions Ellipses, [AV01b] Pascal André and Alain Vailly. Spécification des logiciels - Deux exemples de pratiques récentes : Z et UML, volume 2 of Collection Technosup. Editions Ellipses, [SA04] Gwen Salaün and Christian Attiogbé. MIAOw : a Method to Integrate a Process Algebra with Formal Data. Informatica, 28(2) : , OBASCO [BN04] Gustavo Bobeff and Jacques Noyé. Component specialization. In ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM 04), pages 39 50, Verona, Italy, August ACM Press. [BSV + 06] Luis Daniel Benavides Navarro, Mario Südholt, Wim Vanderperren, Bruno De Fraine, and Davy Suvée. Explicitly distributed AOP using AWED. In Aspect-Oriented Software Development (AOSD), pages ACM Press, March [BSVV06] Luis Daniel Benavides Navarro, Mario Südholt, Wim Vanderperren, and Bart Verheecke. Modularization of distributed web services using Aspects With Explicit Distribution (AWED). In Proceedings of the 8th International Symposium on Distributed Objects and Applications (DOA 06)., London, UK, November Springer-Verlag. [CMT04] Denis Caromel, Luis Mateu, and Éric Tanter. Sequential object monitors. In Martin Odersky, editor, ECOOP Object-Oriented Programming,18th European Conference, volume 3086 of Lecture Notes in Computer Science, pages , Oslo, Norway, June Springer- Verlag. [DFS04a] Rémi Douence, Pascal Fradet, and Mario Südholt. Composition, Reuse and Interaction Analysis of Stateful Aspects. In Aspect-Oriented Software Development (AOSD), pages ACM, ACM Press, March [DFS04b] Rémi Douence, Pascal Fradet, and Mario Südholt. Trace-based aspects. In Mehmet Aksit, Siobhán Clarke, Tzilla Elrad, and Robert E. Filman, editors, Aspect-Oriented Software Development, pages Addison-Wesley, [DLNS06] Rémi Douence, Didier Le Botlan, Jacques Noyé, and Mario Südholt. Concurrent aspects. In Generative Programming and Component Engineering (GPCE). ACM Press, October [MPR04] Olivier Maréchal, Pascal Poizat, and Jean-Claude Royer. Checking Asynchronously Communicating Components Using Symbolic Transition Systems. In D. C. Schmidt R. Meersman, Z. Tari and al., editors, On The Move to Meaningful Internet Systems 2004 : Coopis, DOA, and ODBASE, volume 3291 of Lecture Notes in Computer Science, pages Springer- Verlag,

15 [NS06] Dong Ha Nguyen and Mario Südholt. VPA-based aspects : better support for AOP over protocols. In 4th IEEE International Conference on Software Engineering and Formal Methods (SEFM 06). IEEE Computer Society Press, September [PNPR05] Sebastian Pavel, Jacques Noyé, Pascal Poizat, and Jean-Claude Royer. Java implementation of a component model with explicit symbolic protocols. In Thomas Gschwind, Uwe Assman, and Oscar Nierstrasz, editors, International Workshop on Software Composition (SC), volume 3628 of Lecture Notes in Computer Science, pages Springer-Verlag, April Short paper. [PNR04] Sebastian Pavel, Jacques Noyé, and Jean-Claude Royer. Dynamic configuration of software product lines in archjava. In Robert L. Nord, editor, Software Product Lines : Third International Conference, volume 3154 of Lecture Notes in Computer Science, pages , Boston, MA, USA, September Springer-Verlag Heidelberg. [PRRR03] Liang Peng, Annya Romanczuk-Réquilé, and Jean-Claude Royer. A Translation of UML Components into Formal Specifications. In Theo D Hondt, editor, TOOLS East Europe 2002, pages Kluwer Academic Publishers, [PRS04] Pascal Poizat, Jean-Claude Royer, and Gwen Salaün. Formal Methods for Component Description, Coordination and Adaptation. In Proceedings of the ECOOP Workshop on Coordination and Adaptation Techniques for Software Entities (WCAT 04), Oslo, Norway, June [PRS06] Pascal Poizat, Jean-Claude Royer, and Gwen Salaün. Bounded analysis and decomposition for behavioural description of components. In Springer-Verlag, editor, Proceedings of FMOODS, volume 4037 of Lecture Notes in Computer Science, pages 33 47, [Roy03a] Jean-Claude Royer. The GAT approach to specify mixed systems. Informatica, 27(1) :89 103, [Roy03b] Jean-Claude Royer. Temporal Logic Verifications for UML : the Vending Machine Example. RSTI - L objet, 9(4) :73 92, [Roy04a] Jean-Claude Royer. A Framework for the GAT Temporal Logic. In ISCA, editor, Proceedings of the 13th International Conference on Intelligent and Adaptive Systems and Software Engineering (IASSE 04), pages , Nice, France, July [Roy04b] Jean-Claude Royer. Checking class schema usefulness. Journal of Object Technology (JOT), 3(1) : , January [RTN04] Leonardo Rodriguez, Éric Tanter, and Jacques Noyé. Supporting dynamic crosscutting with partial behavioral reflection : a case study. pages 48 58, [RX03] Jean-Claude Royer and Michael Xu. Analysing mailboxes of asynchronous communicating components. In D. C. Schmidt R. Meersman, Z. Tari and al., editors, On The Move to Meaningful Internet Systems 2003 : CoopIS, DOA, and ODBASE, volume 2888 of Lecture Notes in Computer Science, pages , Catania, Sicily (Italy), October Springer- Verlag. [Süd05] Mario Südholt. A model of components with non-regular protocols. In Thomas Gschwind, Uwe Assman, and Oscar Nierstrasz, editors, International Workshop on Software Composition (SC), volume 3628 of Lecture Notes in Computer Science, pages Springer-Verlag, April [TN05] Éric Tanter and Jacques Noyé. A Versatile Kernel for Multi-Language AOP. In Robert Glück and Michael Lowry, editors, Generative Programming and Component Engineering (GPCE), 15

16 volume 3676 of Lecture Notes in Computer Science, pages , Tallinn, Estonia, September/October Springer-Verlag. [TNCC03] Éric Tanter, Jacques Noyé, Denis Caromel, and Pierre Cointe. Partial behavioral reflection : Spatial and temporal selection of reification. In Ron Crocker and Guy L. Steele, Jr., editors, Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA 2003), pages 27 46, Anaheim, California, USA, October ACM Press. 8.2 Prague [AP05] Jiri Adamek and Frantisek Plasil. Component Composition Errors and Update Atomicity : Static Analysis. Journal of Software Maintenance and Evolution : Research and Practice, 17(5) : , DOI : /smr.321, Online ISSN : , Print ISSN : X, Sep [MPK05] Martin Mach, Frantisek Plasil, and Jan Kofron. Behavior Protocol Verification : Fighting State Explosion. International Journal of Computer and Information Science, 6(1) :22 30, ACIS, ISSN , Mar [PM03] Frantisek Plasil and Vladimir Mencl. Getting "Whole Picture" Behavior in a Use Case Model. Transactions of the SDPS : Journal of Integrated Design and Process Science, 7(4) :63 79, Dec 2003, ISSN , publisher : Society for Design and Process Science, Grandview, Texas, Dec [PV02] Frantisek Plasil and Stanislav Visnovsky. Behavior Protocols for Software Components. IEEE Transactions on Software Engineering, 28(11) : , Nov [HP06] Petr Hnetynka and Frantisek Plasil. Dynamic Reconfiguration and Access to Services in Hierarchical Component Models. In Proceedings of CBSE 2006, Vasteras near Stockholm, Sweden, LNCS 4063, ISBN , ISSN , pages , (C) Springer-Verlag, Jun [PH04] Frantisek Plasil and Viliam Holub. Exceptions in Component Interaction Protocols - a necessity. Architecting Systems with Trustworthy Components : International Seminar, LNCS Volume 3938, (C) Springer-Verlag, ISBN , DOI / , Dec [PP06a] Pavel Parizek and Frantisek Plasil. Modeling Environment for Component Model Checking from Hierarchical Architecture. In Proceedings of Formal Aspects of Component Software (FACS 06), Prague, Czech Republic, septembre 20-22, 2006, ENTCS, Sep [Ada06] Jiri Adamek. Addressing Unbounded Parallelism in Verification of Software Components. In Proceedings of the Seventh ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD 2006), Las Vegas, Nevada, USA, published by IEEE Computer Society, Jun [PPK06] Pavel Parizek, Frantisek Plasil, and Jan Kofron. Model Checking of Software Components : Combining Java PathFinder and Behavior Protocol Model Checker. In Proceedings of 30th IEEE/NASA Software Engineering Workshop (SEW-30), Columbia, MD, USA, April 25-27, 2006, IEEE Computer Society Press, Apr [PP06b] Pavel Parizek and Frantisek Plasil. Specification and Generation of Environment for Model Checking of Software Components. In Proceedings of Formal Foundations of Embedded Soft- 16

17 ware and Component-Based Software Architectures (FESCA 2006), Vienna, Austria, mars 26, 2006, ENTCS, Mar [Pla05] Frantisek Plasil. Enhancing Component Specification by Behavior Description - the SOFA Experience. In Proceedings of the 4th International Symposium on Information and Communication Technologies (WISICT 2005), January 3rd-6th, 2005, Cape Town, South Africa, A volume in the ACM international conference proceedings series, published by Computer Science Press, Trinity College Dublin, Ireland, ISBN X, pages , Jan [AP04a] Jiri Adamek and Frantisek Plasil. Partial Bindings of Components - any Harm? In Proceedings of APSEC 2004, IEEE Computer Society, ISBN , ISSN , pages , Nov [AP04b] Jiri Adamek and Frantisek Plasil. Erroneous Architecture is a Relative Concept. In Proceedings of Software Engineering and Applications (SEA) conference, Cambridge, MA, USA, published by ACTA Press, ISBN X, ISSN , pages , Nov [MPA05] Vladimir Mencl, Frantisek Plasil, and Jiri Adamek. Behavior Assembly and Composition of Use Cases - UML 2.0 Perspective. In Proceedings of the Software Engineering (SE) 2005 conference, Feb , 2005, Innsbruck, Austria, ISBN , ISSN , pages , ACTA Press, Feb Cluj [BCC + 05] Thomas Baar, Dan Chiorean, Alexandre Correa, Martin Gogolla, Heinrich Hussmann, Octavian Patrascoiu, Peter Schmitt, and Jos Warmer. Tool Support for OCL and Related Formalisms - Needs and Trends. Springer LNCS 3844, 2005, pages 1-9. [CBC04] Dan Chiorean, Maria Bortes, and Dyan Corutiu. Object Constraint Language Environment, a Tool Supporting Teaching and learning UML, OCL, Metamodeling, Abstraction and Design by Contract. in Proceedings of Eight Workshop on Pedagogies and Tools for Teaching and Learning Object Oriented Concepts - online at : [CBC05a] Dan Chiorean, Maria Bortes, and Dyan Corutiu. Proposals for a Widespread Use of OCL. in Proceedings of the MoDELS 05 Conference Workshop on Tool Support for OCL and Related Formalisms - Needs and Trends, Montego Bay, Jamaica, October 4, Technical Report LGL-REPORT online at : [CBC05b] Dan Chiorean, Maria Bortes, and Dyan Corutiu. Semantic Validation of XML Data, a Metamodeling Approach. in Proceedings of 3rd Nordic Workshop on UML and Software Modeling pages ISBN , ISSN , [CC01] Dan Chiorean and Dragos Cojocari. Implementation of OCL Support in UML CASE Tools the ROCASE Experience; Objectives, Proposals, Perspectives. in Proceedings of the Conference Information Systems Modelling - ISM 01, ISBN , pages [CC02] Dan Chiorean and A. Carcu et al. A Framework for Checking UML models - The UBB OCL evaluator. in Springer LNCS Object-Oriented Technology - ECOOP 2002 Workshops and Posters, pages

18 [CB03] Dan Chiorean and Cristian Botiza et al. Ensuring UML models consistency using the OCL Environment - in the The OCL Industry standard or scientific playground? Workshop proceedings, online at : [Chi01] Dan Chiorean. Using OCL Beyond Specification. in Lecture Notes in Informatics 7 - Practical UML-Based Rigorous Development Methods - Countering or Integrating the extremists , ISSN , pages [Chi04a] Dan Chiorean et al. Ensuring UML model consistency using the OCL environment. Electronic Notes in Theoretical Computer Science - ENTCS/102, 2004, pages , urlhttp ://dx.doi.org/ /j.entcs [Chi04b] Dan Chiorean et al. Good practices for creating correct, clear and efficient OCL specifications. in Proceedings of 2nd Nordic Workshop on the Unified Modeling Languages pages ISBN , ISSN , [Chi02] Dan Chiorean et al. UML Model Checking. Studia Univ. Babes-Bolyai, Informatica, Volume XLVII, Number 1, pages [Chi04c] Dan Chiorean et al. UML/OCL tools - Objectives, Requirements, State of the Art - The OCLE Experience. in Proceedings of 11th Nordic Workshop on Programming and Software Development Tools and Techniques pages ISBN X, ISSN , [KMDR + 06] Mira Kajko-Mattsson, Arie van Deursen, Rupert Reiger, Gerardo Canfora, Tuomas Ihme, Torsten Engel, Dan Chiorean, Meir M. Lehman, and Josef Wernke. Model of Maintainability - Suggestion for Future Research. in Proceedings of the International Conference on Software Engineering Research and Practice - SERP Las Vegas, Nevada, USA - CSREA Press 2006 pages

19 9 Curriculum Vitae des Participants Les CV des participants sont présentés dans l ordre alphabétique et par laboratoire. 10 DSRG, Charles University A Curriculum Vitae : Jiri Adamek Research Scientist, Distributed Systems Research Group, Department of Software Engineering, Faculty of Mathematics and Physics, Charles University, Prague, Czech Republic. Research Assistant, Institute of Computer Science, Academy of Sciences of the Czech Republic. Education 2006 Ph.D. in Computer Science, Department of Software Engineering, Faculty of Mathematics and Physics, Charles University, Prague 2001 Mgr. (MS equivalent) in Computer Science, Charles University, Prague Projects SOFA SOFtware Appliances, http ://sofa.objectweb.org/, supported by the Grant Agency of the Czech Republic, hosteb by ObjecWEB OSMOSE Open Source Middleware for Open Systems in Europe, supported by European Commission, hosted by ObjectWEB Component Reliability Extension (CRE) to the Fractal Component Model, a joint project of France Telecom R&D and the Institute of Computer Science of the Academy of Sciences of the Czech Republic B Curriculum Vitae : Jan Kofron Full-time Ph.D. student, Faculty of Mathematics and Physics, Charles University, Prague. Education 2005 RNDr. in Software Systems, Faculty of Mathematics and Physics, Charles University, Prague 2003 Mgr. (MS equivalent) in Computer Science, Charles University, Prague Projects SOFA SOFtware Appliances, http ://sofa.objectweb.org/, supported by the Grant Agency of the Czech Republic, hosteb by ObjecWEB OSMOSE Open Source Middleware for Open Systems in Europe C Curriculum Vitae : Pavel Parizek Full-time Ph.D. student, Faculty of Mathematics and Physics, Charles University, Prague. Education 2005 Mgr. (MS equivalent) in Computer Science, Charles University, Prague 19

20 Projects ITEA/OSIRIS Open source platform and infrastructure for run-time integration of services, http :// Component Reliability Extension (CRE) to the Fractal Component Model, a joint project of France Telecom R&D and the Institute of Computer Science of the Academy of Sciences of the Czech Republic D Curriculum Vitae : Frantisek Plasil Full Professor, Chair, Department of Software Engineering, Faculty of Mathematics and Physics, Charles University, Prague. Education 2000 Full Professor in Computer Science, Faculty of Mathematics and Physics, Charles University, Prague 1984 Associate Professor in Computer Science, Czech University of Technology, Prague 1978 Ph.D. in Computer Science, Czech University of Technology, Prague 1965 M.Sc. in Computer Science, Czech University of Technology, Prague Studies of Electrical Engineering at the Czech University of Technology, Prague, Czechoslovakia Employment 2002 (two semesters) Visiting Professor, University of New Hampshire, Department of Computer Science, Durham, NH, USA (two semesters) Visiting Associate Professor, Wayne State University, Department of Computer Science, Detroit, USA Since 1995 Researcher, Czech Academy of Sciences, Institute of Computer Science, Prague, Czech Republic (spring semester) Associate Professor, Masaryk University, Faculty of Informatics, Department of Computer Systems and Communications, Brno, Czech Republic (one semester/year) Visiting Professor. Forschungsinstitut fuer Mikroprocessortechnik, University of Linz, Austria Visiting Associate Professor. University of Denver, Dept. of Math. and Computer Sci., USA Visiting Assistant Professor. University of Denver, Dept. of Math. and Computer Sci., USA Projects SOFA 2.0 New version of the SOFA component model ITEA/OSIRIS Open source platform and infrastructure for run-time integration of services, http :// Behavior protocols in Fractal Extending the Fractal component model and its Julia implementation with support for behavior protocols Procasor Deriving behavior specifications from textual use cases Middleware Benchmarking Methodology for middleware benchmarking 20

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

CURRICULUM VITAE. Informations Personnelles

CURRICULUM VITAE. Informations Personnelles CURRICULUM VITAE Informations Personnelles NOM: BOURAS PRENOM : Zine-Eddine STRUCTURE DE RATTACHEMENT: Département de Mathématiques et d Informatique Ecole Préparatoire aux Sciences et Techniques Annaba

Plus en détail

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* La démarche MDA Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 1.1-5 Date : Mai 2002 * : Les partenaires du projet ACCORD sont CNAM,

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Formula Negator, Outil de négation de formule.

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

Plus en détail

Liste de conférences et revues Thème Com A

Liste de conférences et revues Thème Com A Liste de conférences et revues Thème Com A April 11th, 2007 Ci-dessous, la synthèse des listes de publications fournies par les projets. Il faut noter que ACES/CEPAGE/OASIS/ n ont pas répondu et ne sont

Plus en détail

Introduction du test dans la modélisation par aspects

Introduction du test dans la modélisation par aspects Introduction du test dans la modélisation par aspects Jacques Klein 1 Benoit Baudry 1 Olivier Barais 1 Andrew Jackson 2 1 IRISA/INRIA Rennes Université de Rennes 1 Campus Universitaire de Beaulieu F-35042

Plus en détail

Extensions à la formation. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Extensions à la formation. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan Extensions à la formation Diagramme de timing FinEpreuve SautBarrière CourseAvantBarrière SautMur {>2 et 10 et 2 et 10 et

Plus en détail

Une méthode d apprentissage pour la composition de services web

Une méthode d apprentissage pour la composition de services web Une méthode d apprentissage pour la composition de services web Soufiene Lajmi * Chirine Ghedira ** Khaled Ghedira * * Laboratoire SOIE (ENSI) University of Manouba, Manouba 2010, Tunisia Soufiene.lajmi@ensi.rnu.tn,

Plus en détail

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P EUROCOPTER SAS Groupe EADS Marignane Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P Titre Domaine

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

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

Environnement logiciel basé sur les modèles pour la conception collaborative de produit

Environnement logiciel basé sur les modèles pour la conception collaborative de produit Environnement logiciel basé sur les modèles pour la conception collaborative de produit Mehdi Iraqi-Houssaini Laboratoire LSIS-INSM 2 cours des Arts et Métiers 13100 Aix-en-Provence, France RÉSUMÉ. Le

Plus en détail

Synergies entre Artisan Studio et outils PLM

Synergies entre Artisan Studio et outils PLM SysML France 13 Novembre 2012 William Boyer-Vidal Regional Sales Manager Southern Europe Synergies entre Artisan Studio et outils PLM 2012 2012 Atego. Atego. 1 Challenges & Tendances Complexité des produits

Plus en détail

Programmer des applications réparties

Programmer des applications réparties LABORATOIRE D INFORMATIQUE DE NANTES-ATLANTIQUE UMR 6241 ÉCOLE DOCTORALE STIM, N. 503 «Sciences et technologies de l information et des mathématiques» Sujet de thèse pour 2013 Programmer des applications

Plus en détail

Introduction au génie logiciel

Introduction au génie logiciel Introduction au génie logiciel Guillaume Laurent ENSMM 2007 G. Laurent (ENSMM) Introduction au génie logiciel 2007 1 / 36 Plan du cours 1 Problématique du génie logiciel 2 Méthodes de développement logiciel

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

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

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com RTDS G3 Emmanuel Gaudin emmanuel.gaudin@pragmadev.com PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,

Plus en détail

Développement d un interpréteur OCL pour une machine virtuelle UML.

Développement d un interpréteur OCL pour une machine virtuelle UML. ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

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

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

Plus en détail

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de itemis France 2009 All rights reserved 1 Itemis en quelques mots Spécialisé dans l

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

Le génie logiciel. maintenance de logiciels.

Le génie logiciel. maintenance de logiciels. Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction

Plus en détail

Prise en compte des ressources dans les composants logiciels parallèles

Prise en compte des ressources dans les composants logiciels parallèles Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations

Plus en détail

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Problématiques de recherche. Figure Research Agenda for service-oriented computing Problématiques de recherche 90 Figure Research Agenda for service-oriented computing Conférences dans le domaine ICWS (International Conference on Web Services) Web services specifications and enhancements

Plus en détail

Sujet de thèse CIFRE RESULIS / LGI2P

Sujet de thèse CIFRE RESULIS / LGI2P Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Sujet de thèse CIFRE RESULIS / LGI2P Titre Domaine De l ingénierie des besoins à l ingénierie des exigences

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

Forthcoming Database

Forthcoming Database DISS.ETH NO. 15802 Forthcoming Database A Framework Approach for Data Visualization Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of

Plus en détail

Nathalie REY DIPLOMES UNIVERSITAIRES

Nathalie REY DIPLOMES UNIVERSITAIRES Nathalie REY Fonction (depuis septembre 1999) : Maître de Conférences en Sciences Economiques Université Paris 13, Sorbonne Paris Cité CEPN, UMR 7234 U.F.R. Sciences Économiques et de Gestion, Bureau J308

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

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

Plus en détail

ISO/CEI 19770-1. Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité

ISO/CEI 19770-1. Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité NORME INTERNATIONALE ISO/CEI 19770-1 Deuxième édition 2012-06-15 Technologies de l information Gestion des actifs logiciels Partie 1: Procédés et évaluation progressive de la conformité Information technology

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

Offre de thèse. Co-encadrant de thèse : HENRY Sébastien Coordonnées électroniques : Sébastien.Henry@univ-lyon1.fr Laboratoire : DISP (www.disp-lab.

Offre de thèse. Co-encadrant de thèse : HENRY Sébastien Coordonnées électroniques : Sébastien.Henry@univ-lyon1.fr Laboratoire : DISP (www.disp-lab. Offre de thèse 1. Profil recherché Issu d une formation d ingénieur ou d un master, le candidat disposera idéalement des compétences dans les domaines suivants : Pilotage des systèmes de production. Systèmes

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

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

Ingénierie des Modèles. Méta-modélisation

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

Curriculum Vitae. Informations générales

Curriculum Vitae. Informations générales Sandy CAMPART Maître de conférences de sciences économiques Membre permanent du CREM (UMR CNRS 6211) Directeur délégué à la formation continue de l IUP Banque Assurance de Caen Responsable de la licence

Plus en détail

Infrastructure PLM pour la capitalisation et la réutilisation de données en conception mécanique

Infrastructure PLM pour la capitalisation et la réutilisation de données en conception mécanique Infrastructure PLM pour la capitalisation et la réutilisation de données en conception mécanique Guillaume Ducellier 1, Benoit Eynard 1, Emmanuel Caillaud 2 1 Université de Technologie de Troyes 12 rue

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

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

Architectures Ouvertes pour l Adaptation des Logiciels

Architectures Ouvertes pour l Adaptation des Logiciels Architectures Ouvertes pour l Adaptation des Logiciels Frédéric Duclos 1, Jacky Estublier 2, Rémy Sanlaville 1 Published in review Génie Logiciel And proceedings ICSSEA, Paris 2001 1 Dassault Systèmes

Plus en détail

Laboratoire 4 Développement d un système intelligent

Laboratoire 4 Développement d un système intelligent DÉPARTEMENT DE GÉNIE LOGICIEL ET DES TI LOG770 - SYSTÈMES INTELLIGENTS ÉTÉ 2012 Laboratoire 4 Développement d un système intelligent 1 Introduction Ce quatrième et dernier laboratoire porte sur le développement

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

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

Plan de cours ADM 992C Page 1. École des sciences de la gestion Département de management et technologie Université du Québec à Montréal

Plan de cours ADM 992C Page 1. École des sciences de la gestion Département de management et technologie Université du Québec à Montréal Plan de cours ADM 992C Page 1 École des sciences de la gestion Département de management et technologie Université du Québec à Montréal ADM-992C LES TECHNOLOGIES D'AIDE À LA PRISE DE DÉCISION DANS LES

Plus en détail

Une architecture conceptuelle pour le déploiement d applications à grande échelle

Une architecture conceptuelle pour le déploiement d applications à grande échelle Une architecture conceptuelle pour le déploiement d applications à grande échelle Noëlle Merle Noureddine Belkhatir Equipe Adèle, LSR IMAG 220, rue de la chimie Domaine Universitaire BP 53 38041 Grenoble

Plus en détail

Dafoe Présentation de la plate-forme UIMA

Dafoe Présentation de la plate-forme UIMA Laboratoire d Informatique de l université Paris-Nord (UMR CNRS 7030) Institut Galilée - Université Paris-Nord 99, avenue Jean-Baptiste Clément 93430 Villetaneuse, France 11 juillet 2007 Plates-formes

Plus en détail

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

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

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

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

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

Ingénierie et gestion des connaissances

Ingénierie et gestion des connaissances Master Web Intelligence ICM Option Informatique Ingénierie et gestion des connaissances Philippe BEAUNE Philippe.Beaune@emse.fr 18 novembre 2008 Passer en revue quelques idées fondatrices de l ingénierie

Plus en détail

Elasticité logicielle pour optimiser l empreinte énergétique

Elasticité logicielle pour optimiser l empreinte énergétique Ecole des Mines de Nantes Elasticité logicielle pour optimiser l empreinte énergétique Thomas Ledoux (équipe Ascola, INRIA-EMN, LINA) direction des études décembre 2010 page 1 Relation logiciel empreinte

Plus en détail

Architecture à base de composants pour le déploiement adaptatif des applications multicomposants

Architecture à base de composants pour le déploiement adaptatif des applications multicomposants Architecture à base de composants pour le déploiement adaptatif des applications multicomposants Dhouha Ayed, Chantal Taconet, et Guy Bernard GET / INT, CNRS Samovar 5157 9 rue Charles Fourier 91011 Évry,

Plus en détail

AGROBASE : un système de gestion de données expérimentales

AGROBASE : un système de gestion de données expérimentales AGROBASE : un système de gestion de données expérimentales Daniel Wallach, Jean-Pierre RELLIER To cite this version: Daniel Wallach, Jean-Pierre RELLIER. AGROBASE : un système de gestion de données expérimentales.

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France Conférence IDC Gouvernance IT - Paris 6 Avril 2011 Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France 2011 IBM Corporation Quels sont les ingrédients

Plus en détail

Évaluation des logiciels et autres réalisations

Évaluation des logiciels et autres réalisations DOCUMENT D ANALYSE DE LA COMMISSION D ÉVALUATION DE L INRIA Évaluation des logiciels et autres réalisations Préparé par David Margery, Jean-Pierre Merlet, Cordelia Schmid, Agnès Sulem, Paul Zimmermann

Plus en détail

Workflow et Service Oriented Architecture (SOA)

Workflow et Service Oriented Architecture (SOA) White Paper Workflow et Service Oriented Architecture (SOA) Présentation Cet article offre une approche pragmatique de la SOA et du workflow à travers des problématiques d'entreprises, une méthodologie

Plus en détail

Stage Ingénieur en développement logiciel/modélisation 3D

Stage Ingénieur en développement logiciel/modélisation 3D Ingénieur en développement logiciel/modélisation 3D Schlumberger recrute un(e) stagiaire ingénieur en modélisation 3D pour la plate-forme Petrel. Vous serez intégré(e) au sein d une équipe innovante, Petrel

Plus en détail

Prof. PhD Mathias J. Rossi

Prof. PhD Mathias J. Rossi Prof. PhD Mathias J. Rossi Contact Professor, PhD Firstname Mathias Jacques Family Name Rossi Adresse School of Business Administration Fribourg Ch. du Musée 4 City 1700 Fribourg Country Switzerland Phone

Plus en détail

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION THÈSE N O 2388 (2001) PRÉSENTÉE AU DÉPARTEMENT D'INFORMATIQUE ÉCOLE POLYTECHNIQUE FÉDÉRALE

Plus en détail

GL - 2 2.2 Processus de développement Cycles de vie

GL - 2 2.2 Processus de développement Cycles de vie GL - 2 2.2 Processus de développement Cycles de vie Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, Ph. Lalanda, I. Parissis, Y. Ledru 1 Plan Introduction Modèles en cascade

Plus en détail

ED STIC - Proposition de Sujets de Thèse. pour la campagne d'allocation de thèses 2013

ED STIC - Proposition de Sujets de Thèse. pour la campagne d'allocation de thèses 2013 ED STIC - Proposition de Sujets de Thèse pour la campagne d'allocation de thèses 2013 Axe Sophi@Stic : Titre du sujet : aucun Composition de systèmes d information dirigée par les modèles : une démarche

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

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

Une Perspective Intentionnelle de d Information

Une Perspective Intentionnelle de d Information Une Perspective Intentionnelle de l Ingénierienierie des Systèmes d Information Colette Rolland Université Paris1 Panthéon Sorbonne Université de Genève Résumé Capturer les parties pertinentes du réel

Plus en détail

Industrial Phd Progam

Industrial Phd Progam Industrial Phd Progam Catalan Government: Legislation: DOGC ECO/2114/2012 Modification: DOGC ECO/2443/2012 Next: Summary and proposal examples. Main dates March 2013: Call for industrial Phd projects grants.

Plus en détail

DotNet. Plan. Les outils de développement

DotNet. Plan. Les outils de développement DotNet Les outils de développement Version 1.03 du 16/10/2006 par Jacky Renno Plan La machine virtuelle Le kit de développement Le kit de langage Le Visual Studio.NET Le serveur web IIS 6.0 Le modeleur

Plus en détail

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES Département Informatique UFR Sciences 2 Boulevard Lavoisier 49045 Angers Cedex 01 Auteur : Jean-Michel Richer Email : jean-michel.richer@univ-angers.fr

Plus en détail

Jean-Marc Langé. Gestion de processus métier : la place du BPM dans une architecture d entreprise

Jean-Marc Langé. Gestion de processus métier : la place du BPM dans une architecture d entreprise Jean-Marc Langé Gestion de processus métier : la place du BPM dans une architecture d entreprise Au menu: Processus métier: les producteurs de valeur Le cycle BPM BPM et dynamicité Un apercu des nouveautés

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Mines Nantes 20/05/2014. Institut Mines-Telecom : a national network 12 Engineering Graduate schools & 1 Business school. 2 Institut Mines-Télécom

Mines Nantes 20/05/2014. Institut Mines-Telecom : a national network 12 Engineering Graduate schools & 1 Business school. 2 Institut Mines-Télécom Mines Nantes Graduate School of Engineering FRANCE bernard.lemoult@mines-nantes.fr Institut Mines-Telecom : a national network 12 Engineering Graduate schools & 1 Business school 13 000 students 3 900

Plus en détail

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

Plus en détail

Master Informatique Aix-Marseille Université

Master Informatique Aix-Marseille Université Aix-Marseille Université http://masterinfo.univ-mrs.fr/ Département Informatique et Interactions UFR Sciences Laboratoire d Informatique Fondamentale Laboratoire des Sciences de l Information et des Systèmes

Plus en détail

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: sylvie.servigne@insa-lyon.fr 1. Introduction

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement distribué Éric Leclercq Département IEM / Laboratoire LE2i Septembre 2014

Plus en détail

Vers une adaptabilité dynamique des architectures orientées services

Vers une adaptabilité dynamique des architectures orientées services Vers une adaptabilité dynamique des architectures orientées services une approche basée sur la programmation par aspect et les algèbres de processus. Mehdi Ben Hmida, Serge Haddad Laboratoire LAMSADE (CNRS)

Plus en détail

Bourses d excellence pour les masters orientés vers la recherche

Bourses d excellence pour les masters orientés vers la recherche Masters de Mathématiques à l'université Lille 1 Mathématiques Ingénierie Mathématique Mathématiques et Finances Bourses d excellence pour les masters orientés vers la recherche Mathématiques appliquées

Plus en détail

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008 THÈSE En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE ET DE L UNIVERSITÉ DE SFAX Délivré par l Université Toulouse III - Paul Sabatier et la Faculté des Sciences Économiques et de Gestion

Plus en détail

Université Abou-Bekr Belkaid Tlemcen Faculté des Sciences Economiques et de Gestion. BENBOUZIANE Mohamed

Université Abou-Bekr Belkaid Tlemcen Faculté des Sciences Economiques et de Gestion. BENBOUZIANE Mohamed Université Abou-Bekr Belkaid Tlemcen Faculté des Sciences Economiques et de Gestion CV BENBOUZIANE Mohamed Nom : BENBOUZIANE Prénom : Mohamed Date et Lieu de Naissance : 04/ 12/ 1963 à Honaine Tlemcen-

Plus en détail

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR MASTER SCIENCES, TECHNOLOGIES, SANTE/STAPS MATHEMATIQUES ET SCIENCES POUR L INGENIEUR Informatique www.univ-littoral.fr OBJECTIFS DE LA FORMATION Le master Informatique se compose de deux parcours et se

Plus en détail

Utilisation de l ingénierie des modèles pour la conception collaborative de produits mécaniques

Utilisation de l ingénierie des modèles pour la conception collaborative de produits mécaniques Utilisation de l ingénierie des modèles pour la conception collaborative de produits mécaniques Mathias Kleiner Laboratoire des Sciences de l Information et des Systèmes (LSIS) - UMR CNRS 7296 Projet Ingenierie

Plus en détail

Pascal Forget 2310, Avenue Notre-Dame Québec, (Québec) Canada, G2E 3G5 Tél. (418) 380-8767 Fax (418) 656-7415 pascal.forget@cirrelt.

Pascal Forget 2310, Avenue Notre-Dame Québec, (Québec) Canada, G2E 3G5 Tél. (418) 380-8767 Fax (418) 656-7415 pascal.forget@cirrelt. Pascal Forget 2310, Avenue Notre-Dame Québec, (Québec) Canada, G2E 3G5 Tél. (418) 380-8767 Fax (418) 656-7415 pascal.forget@cirrelt.ca FORMATION Doctorat, génie mécanique Université Laval, Québec, Canada

Plus en détail

Grenoble Institute of Technology Esisar department. Speaker : Laurent.Lefevre@grenoble-inp.fr

Grenoble Institute of Technology Esisar department. Speaker : Laurent.Lefevre@grenoble-inp.fr Grenoble Institute of Technology Esisar department Speaker : Laurent.Lefevre@grenoble-inp.fr Grenoble INP 6 Departments organized along the European standard «Bachelor, Master, Doctorate» Ense3 Energy,

Plus en détail

Copyright protected. Use is for Single Users only via a VHP Approved License. For information and printed versions please see www.vanharen.

Copyright protected. Use is for Single Users only via a VHP Approved License. For information and printed versions please see www.vanharen. TOGAF VERSION 9.1 GUIDE DE POCHE The Open Group Publications available from Van Haren Publishing The TOGAF Series: TOGAF Version 9.1 TOGAF Version 9.1 A Pocket Guide TOGAF 9 Foundation Study Guide, 3rd

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

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de

Plus en détail

UNIVERSITE SIDI MOHAMED BEN ABDELLAH ECOLE SUPERIEURE DE TECHNOLOGIE

UNIVERSITE SIDI MOHAMED BEN ABDELLAH ECOLE SUPERIEURE DE TECHNOLOGIE UNIVERSITE SIDI MOHAMED BEN ABDELLAH ECOLE SUPERIEURE DE TECHNOLOGIE Route d'imouzzer - BP 47 - FES Téléphone 05 35 60 05 84/85/86 Télécopie 05 35 60 05 88 BORDEREAU DES PRIX - DETAIL ESTIMATIF 0 DEPENSES

Plus en détail

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi Thèse High Performance by Exploiting Information Locality through Reverse Computing Présentée et soutenue publiquement le 21 décembre 2011 par Mouad Bahi pour l obtention du Doctorat de l université Paris-Sud

Plus en détail

GRIDKIT: Pluggable Overlay Networks for Grid Computing

GRIDKIT: Pluggable Overlay Networks for Grid Computing GRIDKIT: Pluggable Overlay Networks for Grid Computing Paul Grace, Geoff Coulson, Gordon Blair, Laurent Mathy, Wai Kit Yeung, Wei Cai, David Duce, Chris Cooper Computing Department, Lascaster University

Plus en détail

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail