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 ://www.xactium.com). 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 ://www.cs.cmu.edu/ 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 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 ://www.itea-osiris.org 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 ://www.itea-osiris.org 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

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

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

Plus en détail

Modélisation: outillage et intégration

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

Plus en détail

Introduction au développement du logiciel

Introduction au développement du logiciel Introduction au développement du logiciel Vers le génie logiciel Université de Nantes Master Miage M1 Plan 1 Introduction 2 Génie logiciel 3 Projet informatique 4 Méthode de développement 5 Qualité Bibliographie

Plus en détail

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

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

Plus en détail

Environnements de Développement

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

Plus en détail

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

Cas d étude appliqué à l ingénierie logicielle

Cas d étude appliqué à l ingénierie logicielle ypbl : une méthodologie pédagogique pour la professionnalisation d une formation Cas d étude appliqué à l ingénierie logicielle Ernesto Exposito 1,2, Anne Hernandez 2 1 CNRS ; LAAS ; 7 av. du Colonel Roche,

Plus en détail

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

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

Plus en détail

Développement de logiciel

Développement de logiciel approche formelle et approche à objets Pascal ANDRE Université de Nantes Master Miage M1 Plan Introduction Développement formel du logiciel Développement du logiciel à objets Projection Développement du

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

Une approche modèle dans la conception de systèmes sur puce hétérogènes

Une approche modèle dans la conception de systèmes sur puce hétérogènes Une approche modèle dans la conception de systèmes sur puce hétérogènes Jean-Luc Dekeyser et Lossan Bondé FETCH 07 IP dans le SoC 100% Réutilisé 80% Spécifique 60% 40% 20% 0% 1999 2002 2005 2008 2011 2014

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

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

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

Plus en détail

AADL. un langage pour la modélisation et la génération d applications. Thomas Vergnaud, thomas.vergnaud@enst.fr

AADL. un langage pour la modélisation et la génération d applications. Thomas Vergnaud, thomas.vergnaud@enst.fr AADL un langage pour la modélisation et la génération d applications, thomas.vergnaud@enst.fr Les langages de description d architecture la conception des systèmes devient complexe difficulté de compréhension

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

Conventions communes aux profils UML

Conventions communes aux profils UML Conventions communes aux profils UML Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 2.1 Date : Juin 2002 * : Les partenaires du

Plus en détail

M3301-2: Méthodologie de la production de logiciels Modélisation et construction des logiciels (C. Attiogbé) Travaux dirigés/pratiques - 2015/2016

M3301-2: Méthodologie de la production de logiciels Modélisation et construction des logiciels (C. Attiogbé) Travaux dirigés/pratiques - 2015/2016 M3301-2: Méthodologie de la production de logiciels Modélisation et construction des logiciels (C. Attiogbé) Travaux dirigés/pratiques - 2015/2016 encadrés par Christian Attiogbé, Amine Aouadhi Cahier

Plus en détail

Introduction aux Composants Logiciels

Introduction aux Composants Logiciels Introduction aux Composants Logiciels Christian Pérez LIP/INRIA Année 2010-11 Plan Introduction aux composants logiciels Pourquoi des composants logiciels Notions de composants logiciels Conclusion Survol

Plus en détail

Rapport d étude bibliographique

Rapport d étude bibliographique Rapport d étude bibliographique David SUAREZ Janvier 2011 Encadrants : Joël CHAMPEAU, Stephen CREFF Equipe : LISyC équipe IDM, ENSIETA Plan 1. Introduction... 3 2. Ingénierie Dirigée par les Modèles (IDM)...

Plus en détail

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

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

Plus en détail

Pour des architectures logicielles ouvertes et adaptables. La réflexion : pourquoi et comment?

Pour des architectures logicielles ouvertes et adaptables. La réflexion : pourquoi et comment? Pour des architectures logicielles ouvertes et adaptables. La réflexion : pourquoi et comment? P. Cointe et T. Ledoux pour l'équipe OCM (Objets, Composants, Modèles) de l'emn Contexte Aujourd'hui, la complexité

Plus en détail

Renseignements personnels

Renseignements personnels Wafa Mekki Curriculum Vitae Renseignements personnels Date et lieu de naissance: 22 Novembre 1986 à Sfax, Tunisie Nationnalité: Tunisienne Etat civil: Mariée Adresse: Route Manzel Chaker Km 5, 3013, Sfax,

Plus en détail

OpenPaaS Le réseau social d entreprise. Tâche 3.2.2 : Métamodèle support à la caractérisation des utilisateurs et des collaborations

OpenPaaS Le réseau social d entreprise. Tâche 3.2.2 : Métamodèle support à la caractérisation des utilisateurs et des collaborations OpenPaaS Le réseau social d entreprise Tâche 3.2.2 : Métamodèle support à la caractérisation des utilisateurs et des collaborations Propriétés du Document Source du Document Titre du Document FSN OpenPaaS

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

Programmation paresseuse et causale des architectures orientées services

Programmation paresseuse et causale des architectures orientées services 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 2016 Programmation paresseuse

Plus en détail

Tamago: Une plateforme pour des comportements

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

Plus en détail

Groupe de travail COSMAL 27 janvier 2009

Groupe de travail COSMAL 27 janvier 2009 Des modèles aux programmes à base de composants Besoin de langages à composants Luc Fabresse École des mines de Douai Unité de Recherche Informatique et Automatique http://vst.ensm-douai.fr/research/ Groupe

Plus en détail

Spring IDE. Mise en œuvre. Eclipse

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

Plus en détail

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

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

Plus en détail

Analyse abstraite de missions sous PILOT

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

Plus en détail

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

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

Plus en détail

Une méthodologie de conception des systèmes distribués basée sur UML

Une méthodologie de conception des systèmes distribués basée sur UML Une méthodologie de conception des systèmes distribués basée sur UML Nouvelles Technologies de la Répartition (NOTERE 2005) 1 er septembre 2005 Ludovic Apvrille Pierre de Saqui-Sannes Axelle Apvrille Page

Plus en détail

Comment gagner confiance en C?

Comment gagner confiance en C? CHRONIQUE DOI:10.3166/TSI.26.1195-1200 c 2007 Lavoisier, Paris Comment gagner confiance en C? Le langage C est très utilisé dans l industrie, en particulier pour développer du logiciel embarqué. Un des

Plus en détail

Testing : A Roadmap. Mary Jean Harrold. Présentation de Olivier Tissot

Testing : A Roadmap. Mary Jean Harrold. Présentation de Olivier Tissot Testing : A Roadmap Mary Jean Harrold Présentation de Olivier Tissot Testing : A Roadmap I. L auteur II. Introduction sur les test : les enjeux, la problématique III. Les tests : roadmap IV. Conclusion

Plus en détail

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

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

Plus en détail

Vers une formalisation du métamodèle de composants Ugatze

Vers une formalisation du métamodèle de composants Ugatze Vers une formalisation du métamodèle de composants Ugatze Mourad Kmimech I,III, Mohamed Tahar Bhiri II, Philippe Aniorté I, Abdelmajid Ben Hamadou III I LIUPPA, IUT de Bayonne - Département Informatique

Plus en détail

Module Génie Logiciel à Objet

Module Génie Logiciel à Objet Module Génie Logiciel à Objet Chapitre 1 - Introduction Mohamed Bakhouya - Benoît Delahaye Université Internationale de Rabat - Université de Nantes Remerciements Pascal André Gerson Sunyé 2013 Jacques

Plus en détail

Modèle d implémentation

Modèle d implémentation Modèle d implémentation Les packages UML: Unified modeling Language Leçon 5/6-9-16/10/2008 Les packages - Modèle d implémentation - Méthodologie (RUP) Un package ou sous-système est un regroupement logique

Plus en détail

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

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

Plus en détail

Ada Diaconescu INFRES / S3. Appellation de Maître de Conférences. Mars 2010. ada.diaconescu@telecom-paristech.fr 01/03/2010

Ada Diaconescu INFRES / S3. Appellation de Maître de Conférences. Mars 2010. ada.diaconescu@telecom-paristech.fr 01/03/2010 Ada Diaconescu INFRES / S3 Appellation de Maître de Conférences Mars 2010 Parcours Études - Université Polytechnique Timisoara (1995-2000 ) Diplôme d Ingénieur en Informatique (BAC+5) Ingénieur R&D à Teltec,

Plus en détail

Ingénierie des Modèles. Transformations de Modèles

Ingénierie des Modèles. Transformations de Modèles Ingénierie des Modèles Transformations de Modèles Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Types de transformation Raffinement Projection

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon MDE Model Driven Engineering http://www.rzo.free.fr Pierre PARREND 1 Mai 2005 Sommaire MDE : principe MDE et le génie logiciel MDE et UML MDE et les Design Patterns

Plus en détail

Industrialisation du logiciel Temps Réel Critique

Industrialisation du logiciel Temps Réel Critique Industrialisation du logiciel Temps Réel Critique Sommaire Projets opérationnels Les outils du marché utilisés et les contraintes associées CS et les méthodes CS et la R&D Conclusion RdV de l'innovation

Plus en détail

Résultats des projets CARROLL. Bilan et perspectives. Ingénierie logicielle orientée modèle MDD

Résultats des projets CARROLL. Bilan et perspectives. Ingénierie logicielle orientée modèle MDD Résultats des projets CARROLL Bilan et perspectives Ingénierie logicielle orientée modèle MDD Serge Salicki, THALES Workshop CARROLL 23 septembre 2005 THALES et le MDE Le MDE est dans la strategie de THALES

Plus en détail

ADELFE : Atelier de développement de logiciels à fonctionnalité émergente

ADELFE : Atelier de développement de logiciels à fonctionnalité émergente ADELFE : Atelier de développement de logiciels à fonctionnalité émergente Gauthier Picard*, Carole Bernon*, Valérie Camps**, Marie- Pierre Gleizes* * Institut de Recherche en Informatique de Toulouse Université

Plus en détail

Modélisation Principe Autre principe

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

Plus en détail

Ingénierie Dirigée par les Modèles IDM

Ingénierie Dirigée par les Modèles IDM Ingénierie Dirigée par les Modèles Pierre Laforcade Master EIAH 2007 Présentation personnelle Statut Enseignements Lieu : IUT de Laval Matières : modélisation objet en UML, programmation objet, JavaEE/EJB,...

Plus en détail

Architecture Logicielle

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

Plus en détail

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

Modèles de composants

Modèles de composants Master 2 Recherche Informatique Université de Bretagne Occidentale 2008-2009 Modèles de composants Nassima Saididj Encadrant : M. Beugnard 29 janvier 2009 1 Résumé L ingénierie des composants est une discipline

Plus en détail

Ingénierie des Modèles. Introduction Générale

Ingénierie des Modèles. Introduction Générale Ingénierie des Modèles Introduction Générale 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

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

DREW : Un outil Internet pour créer des situations d apprentissage coopérant

DREW : Un outil Internet pour créer des situations d apprentissage coopérant 109 DREW : Un outil Internet pour créer des situations d apprentissage coopérant Annie Corbel*, Philippe Jaillon*, Xavier Serpaggi*, Michael Baker**, Mathieu Quignard**, Kristine Lund**, Arnaud Séjourné**

Plus en détail

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

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

Plus en détail

Techniques de Développement

Techniques de Développement Techniques de Développement Quelques définitions relatives au développement de logiciel Sébastien Faucou Université de Nantes (IUT de Nantes, département Informatique) Licence Professionnelle Systèmes

Plus en détail

Ingénierie d entreprise et de système d information dirigée par les modèles : quels usages?

Ingénierie d entreprise et de système d information dirigée par les modèles : quels usages? Ingénierie d entreprise et de système d information dirigée par les modèles : quels usages? Hervé Panetto, Xavier Boucher, Pierre-Alain Millet To cite this version: Hervé Panetto, Xavier Boucher, Pierre-Alain

Plus en détail

Adaptation dynamique de services

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

Plus en détail

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

Méthodologie de Développement Objet

Méthodologie de Développement Objet 1/47 Méthodologie de Développement Objet Troisième partie : Ingénierie des Modèles Christine Solnon INSA de Lyon - 4IF 2014-2015 2/47 Introduction Automatiser la production de logiciels? Saint Graal du

Plus en détail

Système tutoriel intelligent pour l apprentissage de travail procédural et collaboratif

Système tutoriel intelligent pour l apprentissage de travail procédural et collaboratif Système tutoriel intelligent pour l apprentissage de travail procédural et collaboratif Cédric Buche buche@enib.fr Pierre De Loor deloor@enib.fr Ronan Querrec querrec@enib.fr Laboratoire d Ingénierie Informatique

Plus en détail

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

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

Plus en détail

Concepts et langages du cadre RM-ODP de l'iso pour analyser et articuler les pratiques de projets libres de système de formation

Concepts et langages du cadre RM-ODP de l'iso pour analyser et articuler les pratiques de projets libres de système de formation Concepts et langages du cadre RM-ODP de l'iso pour analyser et articuler les pratiques de projets libres de système de formation Système de formation fédérant trois projets du logiciel libre (Moodle, OpenGLM

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

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

Représentation graphique de scénarios pédagogiques abstraits : expérimentation entre IMS-LD et UML

Représentation graphique de scénarios pédagogiques abstraits : expérimentation entre IMS-LD et UML Session 3. Système de production et de gestion de contenu Représentation graphique de scénarios pédagogiques abstraits : expérimentation entre IMS-LD et UML Pierre Laforcade MCF 27 pierre.laforcade@lium.univ-lemans.fr

Plus en détail

INFORMATIQUE. Licence 3 e année (L3) & Master (M1-M2) Centre d Etudes Suisse Romande Formation universitaire

INFORMATIQUE. Licence 3 e année (L3) & Master (M1-M2) Centre d Etudes Suisse Romande Formation universitaire Centre d Etudes Suisse Romande Formation universitaire INFORMATIQUE Licence 3 e année (L3) & Master (M1-M2) En collaboration avec l Université de Franche-Comté CTU de Besançon Unidistance 2 GÉNÉRALITÉS

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 46 NFP111 Systèmes et Applications Réparties Cours 2 - Les appels de procédure distants (Partie 1) Claude Duvallet Université du Havre UFR Sciences et Techniques

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

SONDY : une plateforme open-source d analyse et de fouille pour les réseaux sociaux en ligne

SONDY : une plateforme open-source d analyse et de fouille pour les réseaux sociaux en ligne SONDY : une plateforme open-source d analyse et de fouille pour les réseaux sociaux en ligne Adrien GUILLE, C. Favre, Djamel Abdelkader Zighed To cite this version: Adrien GUILLE, C. Favre, Djamel Abdelkader

Plus en détail

Pour une programmation par aspects expressive, bien définie et correcte

Pour une programmation par aspects expressive, bien définie et correcte Pour une programmation par aspects expressive, bien définie et correcte Mario Südholt Projet OBASCO Habilitation à diriger des recherches 11 juillet 2007 ECOLE DES MINES DE NANTES Mario Südholt (OBASCO)

Plus en détail

Patrons de conception prouvés

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

Plus en détail

Le génie logiciel et l IDM : une approche unificatrice par les modèles

Le génie logiciel et l IDM : une approche unificatrice par les modèles Chapitre 3 Le génie logiciel et l IDM : une approche unificatrice par les modèles 3.1. Introduction Ce chapitre a pour objectif de mettre en évidence le rôle unificateur de l ingénierie des modèles (IDM)

Plus en détail

VETESS: IDM, Test et SysML

VETESS: IDM, Test et SysML VETESS: IDM, Test et SysML Frédéric Fondement 1, Pierre-Alain Muller 1, Brice Wittmann 1, Fabrice Ambert 2, Fabrice Bouquet 2, Jonathan Lasalle 2, Émilie Oudot 2, Fabien Peureux 2, Bruno Legeard 3, Marc

Plus en détail

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

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

Plus en détail

Nouvelle méthode de spécification et de vérification de systèmes temps réel sur puce

Nouvelle méthode de spécification et de vérification de systèmes temps réel sur puce SETIT 2007 4 rth International Conference: Sciences of Electronic, Technologies of Information and Telecommunications March 25-29, 2007 TUNISIA Nouvelle méthode de spécification et de vérification de systèmes

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

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

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

Plus en détail

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

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

Plus en détail

Correspondances sémantiques entre des modèles de services, de composants et d agents

Correspondances sémantiques entre des modèles de services, de composants et d agents Correspondances sémantiques entre des modèles de services, de composants et d agents Nour Alhouda Aboud LIUPPA / Université de Pau B.P. 1155 64013 PAU CEDEX, France Nouralhouda.Aboud@univpau.fr Eric Gouardères

Plus en détail

AVATAR. Un profil SysML temps réel outillé

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

Plus en détail

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

Service de réconciliation pour la synchronisation de copies

Service de réconciliation pour la synchronisation de copies Service de réconciliation pour la synchronisation de copies L. Chateigner, S. Chabridon, N. Sabri et G. Bernard CNRS UMR SAMOVAR 01-03 juin 2004 Plan Service de réconciliation pour la synchronisation de

Plus en détail

Concevoir des applications Web avec UML

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

Plus en détail

SensorBean : Un modèle à composants pour les services basés capteurs

SensorBean : Un modèle à composants pour les services basés capteurs RENPAR 16 / CFSE 4 / SympAAA 2005 / Journées Composants Le Croisic, France, 5 au 8 avril 2005 SensorBean : Un modèle à composants pour les services basés capteurs Mikael Desertot, Cristina Marin, Didier

Plus en détail

Réponse à la campagne Postes d accueil 2006 Consolidation des Standards implémentés dans ProActive : OSGi, JMX, Fractal GCM

Réponse à la campagne Postes d accueil 2006 Consolidation des Standards implémentés dans ProActive : OSGi, JMX, Fractal GCM Réponse à la campagne Postes d accueil 2006 Consolidation des Standards implémentés dans ProActive : OSGi, JMX, Fractal GCM Projet OASIS, INRIA Sophia-Antipolis Février 2006 Le logiciel ProActive est diffusé

Plus en détail

Analyse qualitative et quantitative des Systèmes Automatisés de Production

Analyse qualitative et quantitative des Systèmes Automatisés de Production Analyse qualitative et quantitative des Systèmes Automatisés de Production Jean-Luc Cojan Laboratoire LISyC Université de Bretagne Occidentale Encadrants : M. Philippe Le Parc M. Loïc Plassart M. Franck

Plus en détail

IBM Cognos TM1. Fiche Produit. Aperçu

IBM Cognos TM1. Fiche Produit. Aperçu Fiche Produit IBM Cognos TM1 Aperçu Cycles de planification raccourcis de 75 % et reporting ramené à quelques minutes au lieu de plusieurs jours Solution entièrement prise en charge et gérée par le département

Plus en détail

Brevet de technicien supérieur Conception et Réalisation en Chaudronnerie Industrielle

Brevet de technicien supérieur Conception et Réalisation en Chaudronnerie Industrielle Brevet de technicien supérieur Conception et Réalisation en Chaudronnerie Industrielle ACTIVITÉS ET TÂCHES PROFESSIONNELLES Les activités professionnelles décrites ci-après, déclinées à partir des fonctions

Plus en détail

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming THÈSE N O 5007 (2011) PRÉSENTÉE le 20 mai 2011 À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS LABORATOIRE DE MÉTHODES DE PROGRAMMATION

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

Modélisation des Interfaces Multidisciplinaires pour la Conception de Systèmes Mécatroniques

Modélisation des Interfaces Multidisciplinaires pour la Conception de Systèmes Mécatroniques 20 èmes journées STP du GdR MACS Jeudi 5 et Vendredi 6 février 2015 Modélisation des Interfaces Multidisciplinaires pour la Conception de Systèmes Mécatroniques Chen Zheng, Julien Le Duigou, Matthieu Bricogne,

Plus en détail

Analyse statique de SCADE par interprétation abstraite

Analyse statique de SCADE par interprétation abstraite Analyse statique de SCADE par interprétation abstraite soutenance de stage Alex AUVOLAT ANSYS-Esterel Technologies sous l encadrement de Jean-Louis Colaço Juin-Juillet 2014 1/33 Introduction SCADE : programmation

Plus en détail

Adaptation sémantique de documents SMIL

Adaptation sémantique de documents SMIL Adaptation sémantique de documents SMIL Sébastien Laborie Jérôme Euzenat Nabil Layaïda INRIA Rhône-Alpes - 655 Avenue de l Europe - 38334 St Ismier Cedex {Sebastien.Laborie;Jerome.Euzenat;Nabil.Layaida}@inrialpes.fr

Plus en détail

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges c Copyleft 2006, ELSE Team 18 avril 2006 Table des matières 1 Introduction 2 2 Présentation du projet 3 2.1 Une distribution Évolulable..................

Plus en détail

Rational Unified Process

Rational Unified Process Rational Unified Process Hafedh Mili Rational Unified Process 1. Principes de base 2. Les phases 3. Les activités (workflows) Copyright Hafedh Mili 2005 2 1 Rational Unified Process Processus de développement

Plus en détail

IFT2251 Introduction au génie logiciel Plan de cours. 2. Description du cours et objectifs généraux

IFT2251 Introduction au génie logiciel Plan de cours. 2. Description du cours et objectifs généraux IFT2251 Introduction au génie logiciel Plan de cours Été 2008 Yann-Gaël Guéhéneuc 1. Introduction Les exigences et les attentes à l égard de la qualité logicielle sont de plus en plus grandes. La taille

Plus en détail

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

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

Plus en détail

Projet Omega : Un profil UML et un outil pour la modélisation et la validation de systèmes temps réel

Projet Omega : Un profil UML et un outil pour la modélisation et la validation de systèmes temps réel 1. Introduction Projet Omega : Un profil UML et un outil pour la modélisation et la validation de systèmes temps réel Iulian Ober 1, Ileana Ober 2, Susanne Graf 1 et David Lesens 3 1 VERIMAG, Grenoble

Plus en détail

ACI Sécurité ALIDECS:

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

Plus en détail