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 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

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

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

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

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

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

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

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

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

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

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

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

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

Projet Informatique. Philippe Collet. Licence 3 Informatique S5 2014-2015. http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415

Projet Informatique. Philippe Collet. Licence 3 Informatique S5 2014-2015. http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415 Projet Informatique Philippe Collet Licence 3 Informatique S5 2014-2015 http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415 Réalisation d'un développement de taille conséquente? r Firefox? Ph.

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

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

En 2000 l OMG propose une approche nommée MDA Model Driven Architecture, S appuyant sur le standard UML pour

En 2000 l OMG propose une approche nommée MDA Model Driven Architecture, S appuyant sur le standard UML pour MDA (Model Driven Architecture) Ingénierie logicielle guidée par les modèles S.N Historique: En 2000 l OMG propose une approche nommée MDA Model Driven Architecture, S appuyant sur le standard UML pour

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

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Architecture Doctorant: Directeurs de thèse: Bechir ZALILA

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

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

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

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

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

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

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

Introduction aux automates

Introduction aux automates Introduction aux automates Principes et exemples Pascal André IRIN Université de Nantes 2 rue de la Houssinière ; B.P. 92208 44322 Nantes Cedex 03 Pascal.Andre@irin.univ-nantes.fr Introduction aux automates

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

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

Administration de composants logiciels : application aux systèmes sans fil

Administration de composants logiciels : application aux systèmes sans fil Administration de composants logiciels : application aux systèmes sans fil Fabien Romeo LIUPPA Université de Pau et des Pays de l Adour F-64000 Pau, France +33 5 59 40 76 52 fabien.romeo@univ-pau.fr RESUME

Plus en détail

Le génie logiciel. maintenance de logiciels.

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

Plus en détail

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

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

Mise en œuvre des serveurs d application

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

Plus en détail

Use Cases. Introduction

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

Plus en détail

MI3/GL Cours de Génie Logiciel Programmation Orientée Objet (Avancée)

MI3/GL Cours de Génie Logiciel Programmation Orientée Objet (Avancée) MI3/GL Cours de Génie Logiciel Programmation Orientée Objet (Avancée) Daniel Le Berre CRIL-CNRS FRE 2499, Université d Artois, Lens, FRANCE {leberre}@cril.univ-artois.fr 4 novembre 2004 MI3GL 2004/2005

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

Technologie SAFE* X3 - Outils et Développement. Développement, Fonction de base 2 e partie 3 jours. Web Services. 2 jours

Technologie SAFE* X3 - Outils et Développement. Développement, Fonction de base 2 e partie 3 jours. Web Services. 2 jours - Vous êtes consultant, chef de projets, acteur clé au sein de votre entreprise et vous intervenez en phase de déploiement ou de paramétrage d un logiciel Sage, Optez pour les formations «Produits» : Nous

Plus en détail

L approche Bases de données

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

Plus en détail

Les expériences d ERNI dans l univers du management, des processus et des technologies. Experience N 52. Mars 2012 Pas à pas vers de bonnes exigences

Les expériences d ERNI dans l univers du management, des processus et des technologies. Experience N 52. Mars 2012 Pas à pas vers de bonnes exigences Les expériences d ERNI dans l univers du management, des processus et des technologies Experience N 52 Mars 2012 OutsourcINg Pas à pas vers de bonnes exigences Outsourcing 10 11 Pas à pas vers de bonnes

Plus en détail

Entraînement au concours ACM-ICPC

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

Plus en détail

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

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

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

Plus en détail

Module : Méthodes et Spécifications Formelles (Approche orientée modèle) Christian Attiogbé UFR Sciences Nantes Dpt. Informatique

Module : Méthodes et Spécifications Formelles (Approche orientée modèle) Christian Attiogbé UFR Sciences Nantes Dpt. Informatique Méthodes formelles 1 Module : Méthodes et Spécifications Formelles (Approche orientée modèle) Slide 1 Christian Attiogbé UFR Sciences Nantes Dpt. Informatique Christian.Attiogbe@univ-nantes.fr maj. janvier

Plus en détail

Description et illustration du processus unifié

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

Plus en détail

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR

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

Plus en détail

Projet : Plan Assurance Qualité

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

Plus en détail

Évaluation et implémentation des langages

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

Plus en détail

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

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

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

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

Plus en détail

Architects Community. Augmenter la productivité de vos développements JEE grâce à l approche orientée modèles DSM. Bertrand Florat Architecte JEE

Architects Community. Augmenter la productivité de vos développements JEE grâce à l approche orientée modèles DSM. Bertrand Florat Architecte JEE Architects Community Augmenter la productivité de vos développements JEE grâce à l approche orientée modèles DSM Bertrand Florat Architecte JEE 29 janvier 2008 Déroulement de la discussion L inertie du

Plus en détail

Le Répertoire National des Certifications Professionnelles (RNCP) Résumé descriptif de la certification

Le Répertoire National des Certifications Professionnelles (RNCP) Résumé descriptif de la certification 1 sur 8 26/09/2013 16:49 Le Répertoire National des Certifications Professionnelles (RNCP) Résumé descriptif de la certification Intitulé Licence : Licence Sciences, technologies, santé mention Informatique

Plus en détail

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

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

Plus en détail

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

Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations

Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations Journées GDR GPL Transformations de modèles et de programmes 18 janvier 2008

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

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

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

Plus en détail

Projet de recherche dans le cadre d une convention CIFRE. Dossier N 2013-1926

Projet de recherche dans le cadre d une convention CIFRE. Dossier N 2013-1926 Projet de recherche dans le cadre d une convention CIFRE Dossier N 2013-1926 Contact : philippe.rauffet@univ-ubs.fr, Alain.BIGNON@segula.fr Apports de techniques de vérifications par simulation dans une

Plus en détail

Le génie Logiciel (suite)

Le génie Logiciel (suite) Le génie Logiciel (suite) Lors du cours précédent, on a étudié différents cycles de vie, dont la cascade, ou la spirale. Analyse des besoins L analyse des besoins est une étape menant à l élaboration de

Plus en détail

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

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

Plus en détail

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation Clues from other disciplines (from E. Gamma) Patrons de conception («Design Patterns») ESIR2, GL (LSI) Benoit Combemale Université de Rennes 1, ESIR & IRISA (Triskell team) Benoit.Combemale@irisa.fr Inspiré

Plus en détail

Brique B.D.L : Gestion de Projet Logiciel. Editeur graphique d aide à la description d une architecture logicielle. Revue de Planification

Brique B.D.L : Gestion de Projet Logiciel. Editeur graphique d aide à la description d une architecture logicielle. Revue de Planification Brique B.D.L : Gestion de Projet Logiciel Editeur graphique d aide à la description d une architecture logicielle Revue de Planification Yann Barthélémy Audran Le Baron Olivier Jennes Pierrick Lerey Alexandre

Plus en détail

Département d'informatique, Université Laval, IFT-63677 SBC V&V : VÉRIFICATION ET VALIDATION DES SBC

Département d'informatique, Université Laval, IFT-63677 SBC V&V : VÉRIFICATION ET VALIDATION DES SBC Assurance qualité logicielle Logiciel conventionnel SBC Fiabilité Facilité d'entretien Facilité des modifications Principales causes d erreur Absence de spécification, manque de conformité (1) Erreurs

Plus en détail

Apport des Méthodes formelles pour la certification du Falcon 7X Division DÉFENSE

Apport des Méthodes formelles pour la certification du Falcon 7X Division DÉFENSE Apport des Méthodes formelles pour la certification du Falcon 7X février 04 1 Les analyses Sdf utilisées dans le cadre d une certification aéronautique civile; un processus précis et réglementé Normes

Plus en détail

Validation de systèmes intégrant des COTS : comment accommoder les inconnues sur la qualification des COTS dans le processus de validation?

Validation de systèmes intégrant des COTS : comment accommoder les inconnues sur la qualification des COTS dans le processus de validation? Validation de systèmes intégrant des COTS : comment accommoder les inconnues sur la qualification des COTS dans le processus de validation? L I S EDF Electricité de France technicatome THOMSON-CSF Philippe

Plus en détail

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

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

Plus en détail

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

Conclusions et Perspectives

Conclusions et Perspectives 8 Conclusions et Perspectives Ce chapitre conclut la thèse en donnant un bilan du travail effectué et les perspectives envisageables au terme de cette recherche. Nous rappelons tout d abord les principales

Plus en détail

Restructuration de composants logiciels

Restructuration de composants logiciels Restructuration de composants logiciels Une approche d adaptation structurelle pour les composants logiciels basée sur la refactorisation de code orientéobjet Gautier Bastide *,** * Ecole des Mines de

Plus en détail

Systèmes d information

Systèmes d information 11 Systèmes Cette famille rassemble des métiers dont la finalité est de concevoir, développer, exploiter et entretenir des solutions (logicielles et matérielles) répondant aux besoins collectifs et individuels

Plus en détail

Visual Paradigm Contraintes inter-associations

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

Plus en détail

Rédaction du Document de Spécifications Logiciel

Rédaction du Document de Spécifications Logiciel Rédaction du Document de Spécifications Logiciel Instruction Générale Qualité Version : 1.1 Nombre de pages : 12 Référence : referentiel_qualite/dsl.plan_type.doc UV UMLP Département ASI INSA-ROUEN BP

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

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

Modélisation objet Le langage UML

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

Plus en détail

SYSTEMES D INFORMATION & CONCEPTION de BdD

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

Plus en détail

Introduction à la programmation

Introduction à la programmation Chapitre 2 Introduction à la programmation Nous avons vu, dans le chapitre précédent, ce qu est un algorithme et un certain nombre de façons pour exécuter les algorithmes à la main. Nous allons voir, dans

Plus en détail

Aperçu rapide des méthodes formelles

Aperçu rapide des méthodes formelles Méthodes formelles 1 Aperçu rapide des méthodes formelles Christian Attiogbé Faculté des sciences Université de Nantes Christian.Attiogbe@univ-nantes.fr Méthodes formelles 2 Développement de logiciels

Plus en détail

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

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

Plus en détail

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

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

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES DÉCOUVREZ DES POSSIBILITÉS ILLIMITÉES GRÂCE A L INTÉGRATION À DES SYSTÈMES D ENTREPRISE EXISTANTS FONCTIONNALITÉS Connectivité des systèmes

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

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription Présentée par Leila Abidi Sous la direction de Mohamed Jemni & Christophe Cérin Plan Contexte Problématique Objectifs

Plus en détail

Développement de logiciels par objets avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I

Développement de logiciels par objets avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I 1 Développement de logiciels par objets avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I Campus de Beaulieu F-35042 Rennes Cedex Tel : +33 299 847 192 Fax : +33 299 842

Plus en détail

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

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

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

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

Plus en détail

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM) LA BOITE A OUTILS DE L ACHETEUR DE BPM Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM) La boîte à outils de l acheteur de solution BPM -

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Approche organisationnelle basée sur le paradigme agent pour la synthèse & la réutilisation des connaissances en ingénierie collaborative

Approche organisationnelle basée sur le paradigme agent pour la synthèse & la réutilisation des connaissances en ingénierie collaborative Approche organisationnelle basée sur le paradigme agent pour la synthèse & la réutilisation des connaissances en ingénierie collaborative Hind Darwich, doctorante en thèse CIFRE au sein de la société TDC

Plus en détail

Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005

Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005 Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005 Rappel : Tout méta-modèle ou profil doit être commenté! 1 Question de compréhension du cours barème indicatif : 5 points Q : Lorsque l on

Plus en détail

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

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

Plus en détail

développement logiciel dirigé

développement logiciel dirigé Nouvelles technologies de développement logiciel dirigé par les modèles PauWare Research Group Netfective Technology Le développement logiciel, une industrie immature Première «industrie» dans le monde

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

Catalogue de Pattern pour le CSCW

Catalogue de Pattern pour le CSCW Catalogue de Pattern pour le CSCW La création d application dans le cadre du CSCW (Computer Supported Cooperative Work), ou TCAO en français (Travail collaboratif assisté par ordinateur) a donné lieu à

Plus en détail

Analyse et vérification automatique de systèmes asynchrones. Hubert Garavel INRIA / VASY http://www.inrialpes.fr/vasy

Analyse et vérification automatique de systèmes asynchrones. Hubert Garavel INRIA / VASY http://www.inrialpes.fr/vasy 1 Analyse et vérification automatique de systèmes asynchrones Hubert Garavel INRIA / VASY http://www.inrialpes.fr/vasy 2 Systèmes asynchrones P2 P1 P4 P5 P3 Caractéristiques : différents processus / tâches

Plus en détail

Programmation orientée objet et technologies Web

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

Plus en détail

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018 UFR d Informatique FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018 Objectif L UFR d informatique propose au niveau du master, deux spécialités sous la mention informatique

Plus en détail