Expression et usage de la variabilité dans les patrons de conception

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

Download "Expression et usage de la variabilité dans les patrons de conception"

Transcription

1 Expression et usage de la variabilité dans les patrons de conception Nicolas Arnaud Agnès Front Dominique Rieu LSR-IMAG, équipe SIGMA 681 rue de la passerelle BP Saint Martin d Hères Cedex {prenom.nom}@imag.fr [Chercheur] RÉSUMÉ. La description d un patron de conception ne se résume pas à la solution généralement semi-formelle et limitée à un diagramme de classes. L application (imitation) d un patron est certes dépendante des rubriques solutions mais bon nombre d informations utiles à cette opération sont disponibles dans d autres rubriques. Le concepteur de patrons y détaille souvent des variantes pour sa solution principale et il serait dommage de ne pas les exploiter lors du processus d imitation, d autant plus que ces variantes ont, la plupart du temps, des conséquences sur la spécification de la solution semi-formelle. Nous proposons au concepteur de patrons de représenter sa solution semi-formelle comme un mini-système à variantes dont le pilier central, exprimant la variabilité, est la vue des cas d utilisation. Ce sous-modèle est le point d entrée de notre processus d imitation puisqu on y opérera en premier lieu une sélection du jeu de variantes que l on désire «imiter». ABSTRACT. A design pattern description is much more complex than a semi-formal solution restricted to a class diagram. Applying a pattern first depends on the solution specification but a lot of useful information can be founded into other items. Overlooking variants that the pattern engineer precised about his main solution may unserve the pattern itself because, most of the time, it has an effect on the solution specification. We purpose that pattern engineer represents his solution as a variable mini-system leaded by a use case view expressing variants. This functional model fragment is the entrance point for our imitation process, where application designer will select variants to imitate. MOTS-CLÉS : patrons de conception, variabilité, processus d imitation, UML 2 KEYWORDS: design patterns, variability, imitation process, UML2.

2 1. Introduction L exigence de qualité des systèmes d information implique rigueur et continuité dans les différentes phases de développement. Il est donc crucial de capitaliser les savoirs et les savoir-faire afin de les réutiliser au cours d autres processus de développement. Nous considérons la réutilisation comme un gage de cette qualité, et particulièrement si elle met en œuvre une traçabilité modulaire des spécifications. Les patrons appliqués à l ingénierie des systèmes, sont des outils particulièrement pertinents pour ce type d approche. Un patron décrit un problème fréquemment rencontré dans un contexte ainsi que la solution consensuelle qui le résout. Dans le domaine des systèmes informatiques et pour ce qui nous intéresse dans celui de la conception de systèmes d information, on peut bien évidemment citer les patrons de conception et parmi les plus connus ceux du Gang of Four (GoF) (Gamma et al., 1995), qui nous serviront à la fois de référence et d exemple pour notre démonstration. Le processus de réutilisation d un patron, que nous appelons Imitation, permet d extraire la solution du patron et de l appliquer dans un système en construction. Cependant, il n y a pas de bonne imitation s il n y a pas de bonne spécification de la solution. Une bonne spécification est avant tout une spécification complète qui ne peut être atteinte en recourant seulement à la modélisation statique (diagrammes de classes). C est pourquoi nous pensons qu il est judicieux, à l instar d un système d information classique, de prendre en compte plusieurs aspects de la solution. Nous identifions trois vues complémentaires : la vue des cas d utilisation, la vue dynamique et la vue statique. Néanmoins, rendre sa solution semi-formelle complète sémantiquement n est pas suffisant pour retranscrire tous les apports d un patron. Dans de nombreux cas, et particulièrement pour le GoF, la description du patron est clairsemée d informations exprimant des variantes possibles de cette solution, et ceci selon tous les aspects : fonctionnels, dynamiques ou statiques. Nous proposons dans un premier temps ( 2) une spécification plus complète, sous la forme d un mini-système, des patrons de conception et y greffons par la suite un procédé d expression de la variabilité ( 3). La réutilisation des spécifications ainsi produites est mise en œuvre au sein d un processus d imitation ( 4). Le patron «Observateur» du GoF sert d illustration tout au long de l article. 2. Une première approche : un mini-système complet Le domaine de la conception des systèmes d information est riche de processus de développement (RUP, 2TUP, ) qui combinent aspects fonctionnels, dynamiques

3 et statiques. Il est naturel de proposer une approche similaire pour les mini-systèmes que sont les solutions des patrons de conception Vue des cas d utilisation : les fonctionnalités d un patron Un modèle de cas d utilisation présente les fonctionnalités du système en construction, les dépendances qui les relient et les acteurs qui les déclenchent. De ce résultat issu de l étude des besoins dépend le reste de la spécification. Si la solution d un patron apporte plusieurs fonctionnalités, nous proposons de les faire apparaître explicitement. Nous rappelons l intention du patron «Observateur» : «Définir une dépendance entre les observateurs d un même sujet telle que, quand le sujet change d état, tous ces observateurs soient informés et mis à jour» (Gamma et al., 1995). En ce qui concerne «Observateur», on peut déduire deux fonctionnalités : modifier le sujet (subject modification) et gérer les observateurs (observers management). La première consiste en la modification du sujet avec mise à jour des observateurs, la seconde traite de l ajout et de la suppression des observateurs au sujet. La figure 1 illustre la vue des cas d utilisation pour ce patron. L acteur de la vue des cas d utilisation correspond au «client» des patrons du GoF. Ce dernier spécifie les points d entrée qu il utilise pour accéder à la solution. L acteur client est donc l entité qui déclenche les fonctionnalités (cf. figure 1). Figure 1. Observateur : vue des cas d'utilisation 2.2. Vue dynamique : diagrammes de séquence UML2 Dans la rubrique Collaborations, le GoF propose un diagramme de séquence décrivant le cas d utilisation que nous avons appelé subject modification. La figure 2 présente ce diagramme de séquence. Dans ce diagramme, c est un observateur qui modifie le sujet mais, à priori, n importe quel objet pourrait en faire de même, y compris le client. Il est donc nécessaire «d étendre» ce diagramme de séquence afin de le rendre complet.

4 Figure 2. Observateur : diagramme de séquence du GoF Figure 3. Observateur : diagramme de séquence avec UML2 Les diagrammes de séquence d UML2 (OMG, 2005) apportent beaucoup d un point de vue procédural. Ainsi le parcours de tous les observateurs de l algorithme implémentant la méthode notifier (notify) peut être modélisé à l aide d un fragment

5 combiné 1 muni d une opérande de boucle (loop). Nous utilisons une frame de type référence (interaction use) et le mécanisme des portes (gate) pour référencer le diagramme de séquence de la méthode notify (SD_notify). La figure 3 illustre notre adaptation des séquences subject modification et notify avec UML2. Nous complétons la solution originale avec la méthode updatesubjectstate afin de représenter le changement d état du sujet. Ce que réalise précisément cette méthode n est pas une préoccupation de ce patron. Le concepteur qui imitera ce patron aura à sa charge de définir cette méthode mais ne pourra remettre en cause son emplacement chronologique dans la séquence setstate. Nous adoptons la même approche en ce qui concerne l état de l observateur, mis à jour dans la méthode update en utilisant sa méthode privée setobserverstate. Pour des raisons de place, nous ne présentons qu un seul diagramme de séquence de «Observateur», mais d autres sont nécessaires afin d obtenir une spécification complète Vue statique : Diagrammes de classes Les diagrammes de classes expriment la structure des entités du système ainsi que la réalisation de leurs relations. Cette structure est en partie déduite de la vue dynamique, mais le concepteur y précise des propriétés statiques, par exemple les cardinalités des associations. La plupart des solutions de patrons se résument à une vue statique, en général un diagramme de classes. Ces structures sont souvent accompagnées de notes textuelles qui apportent quelques précisions. Cela peut aller du simple commentaire à l algorithme. Dans le cas d «Observateur» l algorithme de la méthode notify est décrit à l aide d un pseudo-code. En considérant les diagrammes de séquence de la vue dynamique, nous proposons une nouvelle structure (figure 4, à droite) pour représenter la solution du patron «Observateur», dont les différences avec la solution originelle du GoF (figure 4, à gauche) sont les suivantes : Dans notre approche à mini-système, un algorithme est représenté dans la vue dynamique. C est le cas pour la méthode notify et sa note explicative devient donc redondante. Nous ne matérialisons pas l état du sujet concret car il peut être représenté de toute autre manière que par un seul attribut : plusieurs attributs, des liens avec d autres classes, une combinaison des deux, etc. Cependant nous nous devons d informer le concepteur d applications du fait qu il devra mettre en œuvre la représentation de cet état lors de son imitation. Nous proposons d utiliser une note de type «à faire» (TODO). 1 Appelé aussi «inline frame». Par la suite nous utilisons le terme «frame».

6 Nous avons ajouté à la vue dynamique une méthode privée de modification de cet état dont le contenu dépendra de la représentation choisie lors de l imitation. C est pourquoi la note «à faire» concerne l état du sujet et sa modification. Utiliser notre approche ne rend pas les solutions originales caduques. Elles restent un excellent support didactique et facilitent d autant la compréhension du patron, c est pourquoi il faut les conserver. Vue statique du GoF Vue statique du mini-système Figure 4. Observateur : vue statique 2.4. Les limites du mini-système Une approche à vues multiples permet d exprimer plus complètement la solution semi-formelle d un patron. Nous pourrions considérer que l imitation de telles solutions apporterait une meilleure qualité de réutilisation. Pourtant, il est des informations que notre mini-système ne prend toujours pas en compte, par exemple le fait que les fonctionnalités offertes par la solution d un patron soient essentielles ou facultatives. Ainsi, contrairement à l intention précisée par le GoF, le patron «Observateur» ne se borne pas à mettre en œuvre la notification des observateurs mais permet également d attacher ou de détacher ces derniers à un sujet (observers management). Cette fonctionnalité certes pratique n est pas indispensable. La solution devrait donc introduire le fait que la gestion des observateurs ne constitue qu une fonction secondaire qui peut ne pas être retenue lors de l imitation. Dans la section suivante, nous proposons d exprimer, entre autres, ce type de variabilité de la solution d un patron.

7 3. La variabilité dans les patrons 3.1. Variabilité et point de variation La variabilité est définie comme la capacité d un système à être changé, personnalisé et configuré en fonction d un contexte spécifique (Van Grup, 2000). Un point de variation est un endroit du système où il y a une variation (Czarnecki et al., 2000), c'est-à-dire où des choix vont devoir être faits afin d identifier les variantes à utiliser. Il existe plusieurs types de variabilité pour un point de variation (Bachmann et al., 2001) : les options : choix de zéro ou plusieurs variantes parmi plusieurs, les alternatives : choix de une variante parmi plusieurs, les alternatives optionnelles : choix de zéro ou une variante parmi plusieurs, les ensembles d alternatives : choix d au moins une variante parmi plusieurs. De nombreuses approches ont été proposées pour représenter la variabilité dans les spécifications : FODA (Kang et al., 1990) et ses diagrammes de «features», les cas d utilisation de (VanDerMaβen et al., 2002), les diagrammes de classes de (Clauss, 2001), les diagrammes de séquences de (Ziadi et al., 2005), etc.. Ces deux dernières approches proposent d étendre UML à l aide, entre autres, de stéréotypes. Nous utilisons également les stéréotypes mais ne considérons, pour l instant, que des variantes de type option ou alternative Un opérateur pour la variabilité fonctionnelle Les diagrammes de cas d utilisation étant la base de la construction de nos minisystèmes, nous proposons un opérateur pour l expression de leur variabilité. L opérateur de variabilité proposé est générique. Il peut en effet être utilisé pour les quatre types de variabilité présentés en 3.1. Il est toujours composé d un point de variation (<<variation>>) et de plusieurs variantes (<<variant>>). A l aide de valeurs marquées sur ces stéréotypes, on exprime les cardinalités minimale et maximale (selon le type de variabilité). Une alternative entre deux variantes s exprimera avec une cardinalité 1..1 alors qu une optionalité aura toujours une cardinalité minimale de zéro et une cardinalité maximale égale au nombre de variantes (ou options). Nous utilisons la dépendance d inclusion pour résoudre le problème de lisibilité entre variantes d un même point de variation mais de différents types : s il existe des alternatives et des options à un cas d utilisation, nous incluons à ce dernier un point de variation non fonctionnel dédié à l expression des options. La figure 5 présente la fonctionnalité A, ses deux alternatives way 1 et way 2 ainsi que deux options option 1 et option 2.

8 Options Alternative Dépendance Figure 5. Opérateur générique pour la variabilité fonctionnelle Par exemple, la spécification ci-dessus autorise les combinaisons [way1], [way1 + option1], [way2 + option1 + option2] mais interdit [way1+way2] ou encore [option1]. Si cet opérateur permet de représenter les quatre types de variabilité, sa représentation nuit à la lisibilité du diagramme et rend son usage difficile. Nous proposons d ajouter des stéréotypes de dépendance qui remplaceront avantageusement la représentation précédente. En ce qui concerne l expression des options et des alternatives, la représentation de la fonctionnalité A dans la figure 6 est équivalente à la figure 5. D autre part, en confrontant l intention d un patron la plupart des formalismes de patrons comporte une rubrique intention à la solution proposée, on constate parfois la présence de fonctionnalités principales donc obligatoires lors de l imitation, mais aussi de fonctionnalités secondaires qui, elles, ne le sont pas. Figure 6. Simplification de l'opérateur générique

9 Les fonctionnalités secondaires peuvent être représentées à l aide de notre opérateur générique car elles peuvent être considérées comme des variantes optionnelles (cardinalité 0..n parmi n) directement associées au client. On peut appliquer la même logique aux fonctionnalités principales à ceci près que ce sont des «options obligatoires» (cardinalité n..n parmi n variantes). Pour ne pas surcharger le diagramme, nous définissons de nouveaux stéréotypes d association : <<primary>> et <<secondary>>. La figure 6 est le diagramme de cas d utilisation d un patron comportant la fonctionnalité principale A et une fonctionnalité B secondaire. Le caractère variable de certaines solutions semi-formelles de patrons est généralement rendu explicite par les informations complémentaires fournies par l ingénieur de patrons à l aide d autres rubriques. Dans les patrons du GoF, la rubrique Implémentation détaille souvent des variantes purement techniques mais également des variantes conceptuelles, qui correspondent à la notion de point de variation. La fonctionnalité principale du patron «Observateur» est de permettre la modification de l état du sujet avec une mise à jour automatique et donc implicite des observateurs. Cependant il est également possible que le déclenchement de cette mise à jour soit à la charge exclusive de celui qui initie le changement d état. Les deux cas sont discutés dans la rubrique Implémentation du patron. Conformément à notre approche, nous pouvons en déduire un point de variation observers notification avec une alternative à deux variantes nommées respectivement implicit notification et explicit notification. La figure 7 illustre une spécification variable (ou à variantes) de la vue des cas d utilisation pour la solution du patron «Observateur». Figure 7. Observateur : vue à variantes des cas d'utilisation Dès lors que les cas d utilisation sont spécifiés, il faut compléter le système avec les aspects dynamiques (diagrammes de séquences) et statiques (diagrammes de classes) en prenant en compte la notion de variabilité.

10 3.3. Variabilité dynamique UML 2 permet d inclure des frames (fragments d interaction) dans d autres fragments et également d y faire référence. Nous pouvons donc inclure des sousséquences correspondant aux variantes en gardant une très bonne visibilité. Cela permet aussi de pouvoir exprimer les propriétés communes aux variantes (en général le préambule et l épilogue) au sein du point de variation lui-même. Une règle doit être respectée : tout point de variation de la vue des cas d utilisation doit, dans la vue dynamique, être représenté par au moins une frame d un diagramme de séquence. L application de cette règle est facilitée par les diagrammes de séquence d UML2 puisqu il est possible de faire correspondre une séquence à un cas d utilisation. Afin d obtenir une spécification claire, nous utilisons les stéréotypes <<variation>> et <<variant>> sur les frames relatives à un point de variation ou à une variante. En repartant des séquences du 2.2, on peut construire une partie de la vue dynamique à variantes pour le patron «Observateur». Celle-ci est illustrée dans la figure 8. On y retrouve une frame pour le point de variation (partie invariable) ainsi qu une frame par variante. La séquence de la méthode notify reste inchangée (cf. notify figure 3). Figure 8. Diagramme de séquence à variantes de observers notification

11 3.4. Variabilité statique et généricité Il ne reste plus qu à préciser les apports statiques de chaque fonctionnalité pour finaliser notre système. A ce niveau, notre proposition va s écarter de la construction classique d un système. En effet, nous suggérons de donner, pour chaque cas d utilisation spécifié, ses apports statiques au modèle de la solution. Ceci demande un effort de discrimination qui se révélera bénéfique au moment de l imitation. La structure est disséminée dans plusieurs fragments qui s assembleront pour former une vue statique classique lors de l imitation. Toute classe «impactée» par une variation ou plus généralement par une fonctionnalité sera représentée dans le fragment statique de ce cas d utilisation avec ses propriétés apportées. La plupart des propriétés statiques peuvent être déduites de la vue dynamique. La figure 9 présente les fragments statiques des cas d utilisation subject modification, observers notification, explicit notification, implicit notification et observer management. La visibilité de la méthode de notification n est pas la même selon la variante de notification choisie. En effet, pour une notification explicite, cette méthode doit être publique pour pouvoir être déclenchée de l extérieur. Ceci est d ailleurs garanti par le message du diagramme de séquence lui même. Mais, dans le cas d une notification implicite, une visibilité protégée est plus adéquate. Dans la figure 9, la visibilité de la méthode notify n est précisée qu au niveau des variantes. subject modification observers notification (<<variation>>) explicit notification (<<variant>>) implicit notification (<<variant>>) observers management Figure 9. Observateur : fragments statiques Ces fragments sont à réutiliser en l état ; il n est par exemple, pas nécessaire de préciser que notify doit rester protégée si la variante de notification implicite est choisie, elle le restera de facto. Cependant ces diagrammes de classes ne sont pas complètement figés. Comme expliqué en 2.3, lors de l imitation, le concepteur devra compléter les «trous», comme par exemple l état du sujet ou sa méthode privée

12 d affectation, ou encore le fait qu il puisse y avoir plusieurs types d observateurs concrets. D autres propriétés statiques restent également à exprimer : par exemple le fait que le concepteur pourra, lors de l imitation, définir plusieurs classes d observateurs concrets (cf. duplicable=true, figure 9). Nous proposons, pour exprimer ces propriétés de généricité, une approche que nous avons présentée dans (Arnaud et al., 2004) où nous étendons UML avec des méta-propriétés spécifiques à la généricité : par exemple, une méta-propriété booléenne (sur la métaclasse Classe) précisant si une classe peut être dupliquée au sein d une imitation (cette méta-propriété a une valeur par défaut à faux). 4. Processus d imitation La section précédente a montré comment l ingénieur de patrons pouvait préciser la variabilité et la généricité de ses solutions au sein de ce que nous appelons un modèle imitable. L objectif est maintenant de permettre au concepteur de systèmes d information d imiter un patron afin de tirer partie de cette spécification. Nous proposons au concepteur de systèmes d information un processus d imitation traçable, qui le guidera du choix du patron (et donc de son modèle imitable) à l intégration du modèle imité dans le système en construction (cf. figure 10). Ce processus est composé de deux sous-processus : le processus de réduction et le processus d application. Par manque de place, nous ne présentons par la suite que le déroulement global de ces deux processus. Figure 10. Processus d'imitation

13 4.1. Processus de réduction Le processus de réduction est constitué de deux activités. Le choix du patron à imiter consiste à sélectionner un patron dans un système de patrons. La solution du patron sélectionné est appelée un modèle imitable et consiste en un mini-système à variantes composé de trois vues. Cette activité n est pas spécifique aux concepts que nous présentons dans cet article, mais aborde une problématique beaucoup plus générale, aussi nous ne la détaillons plus ici. La réduction permet au concepteur de choisir les variantes qu il désire imiter à partir de la vue des cas d utilisation. La figure 11 illustre la réduction fonctionnelle du patron «Observateur» via la sélection de l alternative implicit notification. La partie droite représente la vue fonctionnelle du mini-système imité dans l état adaptable. Les vues dynamiques et statiques déduite de ce mini-système sont comparables aux figures 3 et 4 (partie droite) excepté le fait que tout ce qui concerne la gestion des observateurs (méthodes attach et detach) n est pas conservé. Réduction Figure 11. Construction d'un modèle imité [adaptable] pour "Observateur" 4.2. Processus d application Le processus d application est constitué de trois activités qui peuvent être exécutées de manière itérative. L adaptation permet au concepteur de renommer les propriétés et de d adapter le modèle imité [adaptable] en restant conforme aux règles de généricité. Le modèle obtenu est appelé modèle imité [adapté]. Dans la figure 12, qui présente la vue statique du modèle imité [adapté], Wind_Distribution est une imitation de Concrete_Subject. Concrete_Observer est dupliquée en HistoDiag et SectorDiag. La résolution consiste à traiter les notes TODO. Par exemple, il s agit de compléter la mise en œuvre de l état du sujet (cf. note dans la figure 4, droite). Dans la figure 12, elle a été résolue par l insertion des attributs north, south, east et west et la spécification complète de updatevalues. Par contre, la note de droite n a pas encore été résolue : les résolutions des notes TODO peuvent être réalisées à tout moment. Et certaines résolutions n auront d ailleurs lieu qu après l intégration du modèle imité à la spécification du système d information.

14 L intégration consiste à fusionner la spécification du modèle imité [adapté] avec celle du système d information. Un système d information est donc perçu comme un ensemble de modèles imités, mais également de spécifications originales ne provenant pas de l imitation d un patron, mais du savoir-faire du concepteur. L intégration a en partie déjà été traitée dans (Arnaud et al., 2005) où nous avons proposé deux opérateurs pour l intégration d imitations : par délégation et par fusion. Figure 12. Vue statique d un modèle imité [adapté] 5. Travaux liés Les travaux visant à améliorer la spécification des solutions des patrons afin de garantir une réutilisation plus sûre peuvent être caractérisés de différentes manières. Nous retiendrons ici trois critères d amélioration. Complétude des spécifications. Dans la plupart des travaux (Meijler et al., 1997), (Arnaud et al., 2004), seuls les aspects statiques (classes, propriétés et associations) sont pris en compte. Dans une approche comme (Albin-Amiot et al., 2001), certains apports dynamiques sont mis en œuvre, grâce à un méta-modèle plus spécifique aux patrons que UML. Par exemple, la méta-classe PDelegatingMethod (spécialisation de la méta-classe Method) est utilisée pour spécifier qu une méthode fait appel à une autre via une association donnée. Cela permet, entre autres, une certaine automatisation de la génération de code. Dans (France et al., 2004), les vues statiques (Structural Pattern Specification) et dynamiques (Interaction Pattern Specification) sont traitées conjointement, les IPS spécifiant les interactions des participants décrits dans les SPS. Contrairement à ces travaux, notre proposition manipule et adapte des spécifications complètes comportant trois types d aspects : fonctionnels, dynamiques et statiques. Expression de la variabilité. (Budinsky et al., 1996) et (Sunyé, 1999) traitent de l expression et du choix de variantes d implémentation de patron. Les apports de ces travaux peuvent être positionnés au niveau de ce que nous appelons la réduction. Si

15 l expression de la variabilité a peu été utilisée dans les travaux sur les patrons, rappelons (cf. 3.1) qu elle a par contre été utilisée dans d autres contextes tels que les lignes de produits (Ziadi et al., 2005) ou l ingénierie des besoins (Bennasri, 2005). Extension du méta-modèle d UML. Par manque de place nous n avons pas décrit les extensions d UML nécessaires pour l expression de la variabilité et des règles de généricité. Notre approche consiste à étendre UML (Arnaud et al., 2004) d une manière suffisamment générique pour être applicable à tout patron. Dans la plupart des approches (Meijler et al., 1997), (France et al., 2004), le méta-modèle d UML est étendu par des concepts spécifiques à chaque patron pris en compte. 6. Conclusion Nous proposons dans cet article un processus d imitation pour les patrons de conception tenant compte à la fois des aspects variables mais également génériques de la solution proposée par un ingénieur de patrons. Pour cela, nous donnons à ce dernier les outils de spécification nécessaires à l expression de ces propriétés au sein d un mini-système à trois vues (fonctionnelle, dynamique et statique), rendant ainsi la solution plus complète. Le modèle de la solution ainsi créé est dit «imitable». C est grâce à la vue fonctionnelle composée d un modèle des cas d utilisation, que le concepteur de systèmes d information va réduire la solution imitable en sélectionnant certaines variantes. Le mini-système obtenu est dit «adaptable». Il est ensuite appliqué au contexte de l imitation via trois actions qui permettent l adaptation des propriétés génériques de la solution (telle la duplication d une classe participante), la résolution des «trous» qui sont des parties du modèle imité exclusivement à la charge du concepteur et l intégration de cette spécification au système d information en cours de création. La spécification d un modèle imitable est une opération nécessitant un lourd investissement de la part d un ingénieur de patrons qui n a de sens que lorsqu il s agit d un patron qui va être très souvent réutilisé. Le gain se situe ensuite au niveau du concepteur de systèmes qui dispose alors d un processus de réutilisation sûr et en grande partie automatisable (transformation de modèles). Cependant, pour que les imitations ne soient pas que des spécifications figées, nous devons fournir au concepteur d application les moyens d exploiter la traçabilité mise en place. Le cas échéant, le concepteur pourra revenir sur certains de ses choix lors du processus d imitation sans pour autant remettre en cause l intégralité du travail déjà accompli. A terme, nous souhaitons instrumenter ce processus d imitation et le généraliser à des patrons de niveau analyse ou même de niveau métier.

16 7. Bibliographie Albin-Amiot H., Guéhéneuc Y.G., «Meta-modeling Design Patterns : application to pattern detection and code synthesis», Proceedings of ECOOP Workshop on Automating Object- Oriented Software Development Methods, June Arnaud N., Front A., Rieu D., «Deux opérateurs pour l intégration d imitations de patrons», Congrès INFORSID 05, Mai Arnaud N., Front A., Rieu D., «Une approche par méta-modélisation pour l imitation des patrons», Congrès INFORSID 04, Mai Bachmann F., Bass L., «Managing variability in software architecture», ACM SIGSOFT Software Engineering Notes, Volume 26, n 3, Mai 2001 Bennasri S., Une approche intentionnelle de représentation et de réalisation de la variabilité dans un système logiciel, Thèse de doctorat, Université de Paris I, Février Budinsky, F.J., M.A. Finnie, J.M. Vlissides et P.S. Yu, «Automatic code generation from design patterns. IBM Systems Journal, 1996 Clauss M., «Generic modeling using UML extensions for variability», OOPSLA 2001, Workshop on Domain Specific Visual Languages, pages 11-18, Septembre Czarnecki K., Eisenecker U. W., Generative Programming Methods, Tools and Applications, Addison-Wesley, France R.B., Dae-Kyoo K., Sudipto G., Eunjee S., «A UML-Based Pattern Specification Technique», IEEE transactions on software engineering, vol. 30, no. 3, March 2004 Gamma E., Helm R., Johnson R., Vlissides J., Design Patterns : Element of Reusable Object- Oriented Software, Addison-Wesley professional computing series, Kang K., Cohen S., Hess J., Novak W., Peterson S., Feature-Oriented Domain Analysis (FODA) feasibility study, Technical report CMU/SEI-90-TR-21, Software Engineering Insitute, Carnegie Mellon University, Novembre 1990 Meijler T.D., Demeyer S., Engel R., «Making design patterns explicit in Face», European Software Engineering Conference, Object Management Group, «Unified Modeling Language : Superstructure», version 2.0, Août Sunyé, G., «Génération de code à l'aide de patrons de conception», Langages et Modèles à Objets - LMO'99, Villeneuve s/ mer, Van der Maβen T., Lichter H., «Modeling variability by UML use case diagrams», International Workshop on Requirements Engineering for Product Lines (REPL 02), pages AVAYA labs, Septembre Van Grup J., Variability in Software Systems, the key to software reuse, Licentiate Thesis, University of Groningem, Sweden, Ziadi T, Jézéquel J.M., «Manipulation de lignes de produits logiciels : une approche dirigée par les modèles», Ingénierie Dirigée par les Modèles (IDM 05), Mai 2005.

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

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

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

Plus en détail

Modélisation de Lignes de Produits en UML *

Modélisation de Lignes de Produits en UML * Modélisation de Lignes de Produits en UML * Tewfik ZIADI, Loïc HELOUET, Jean-Marc JEZEQUEL 2 IRISA, Campus de Beaulieu 35042 RennesCedex, France Tewfik.Ziadi@irisa.fr Loic.Helouet@irisa.fr, Jezequel@irisa.fr

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

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

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

Plus en détail

Conception, architecture et urbanisation des systèmes d information

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

Plus en détail

Chapitre I : le langage UML et le processus unifié

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

Plus en détail

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

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

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

IFT2255 : Génie logiciel

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

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

SECTION 5 BANQUE DE PROJETS

SECTION 5 BANQUE DE PROJETS SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

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

M1 : Ingénierie du Logiciel

M1 : Ingénierie du Logiciel M1 : Ingénierie du Logiciel UNIVERSITE PIERRE & MARIE CURIE (PARIS VI) Examen Réparti 2eme partie 16 Mai 2013 (2 heures avec documents : tous SAUF ANNALES CORRIGEES). Barème indicatif sur 20,5 points (max

Plus en détail

Méthodologies de développement de logiciels de gestion

Méthodologies de développement de logiciels de gestion Méthodologies de développement de logiciels de gestion Chapitre 5 Traits caractéristiques des deux approches de méthodologie Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch

Plus en détail

Formula Negator, Outil de négation de formule.

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

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

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

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

UML est-il soluble dans les méthodes agiles?

UML est-il soluble dans les méthodes agiles? Pascal ROQUES Valtech Training UML est-il soluble dans les méthodes agiles? octobre 07 Résumé On entend beaucoup parler actuellement de deux approches ayant l'air fondamentalement opposées : l'approche

Plus en détail

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

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

Plus en détail

Rational Unified Process

Rational Unified Process Rational Unified Process For Christiane DAVOINE-GUHUR Société GICAB - Vannes Christiane.Davoine@CA-GICAB.fr Table des Matières 1 INTRODUCTION... 1 2 LES COMPOSANTS ET LES GRANDS PRINCIPES DU PROCESSUS...

Plus en détail

UML (Diagramme de classes) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association

Plus en détail

Présentation du Modèle de Référence pour les Bibliothèques FRBR

Présentation du Modèle de Référence pour les Bibliothèques FRBR Submitted on: 03.08.2015 Présentation du Modèle de Référence pour les Bibliothèques FRBR French translation of the original paper: Introducing the FRBR Library Reference Model. Traduit par : Mélanie Roche,

Plus en détail

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

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

Plus en détail

Conception des bases de données : Modèle Entité-Association

Conception des bases de données : Modèle Entité-Association Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir

Plus en détail

Formation : Modélisation avec UML 2.0 et Mise en pratique

Formation : Modélisation avec UML 2.0 et Mise en pratique Formation : Modélisation avec et Mise en pratique Durée : sur 4 Jours soit 28 heures ou sur 5 Jours soit 35 heures Présentation Stage UML (Unified Modeling Language) est la notation standard qui s'est

Plus en détail

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Méthodes d évolution de modèle produit dans les systèmes du type PLM Résumé de thèse étendu Méthodes d évolution de modèle produit dans les systèmes du type PLM Seyed Hamedreza IZADPANAH Table des matières 1. Introduction...2 2. Approche «Ingénierie Dirigée par les Modèles»

Plus en détail

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK ArchiMate et l architecture d entreprise Par Julien Allaire Ordre du jour Présentation du langage ArchiMate - Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK Présentation du modèle

Plus en détail

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM alain.darmon@fr.ibm.

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM alain.darmon@fr.ibm. WEB15 IBM Software for Business Process Management un offre complète et modulaire Alain DARMON consultant avant-vente BPM alain.darmon@fr.ibm.com Claude Perrin ECM Client Technical Professional Manager

Plus en détail

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012 DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter

Plus en détail

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des

Plus en détail

Cours en ligne Développement Java pour le web

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

Plus en détail

MEGA ITSM Accelerator. Guide de démarrage

MEGA ITSM Accelerator. Guide de démarrage MEGA ITSM Accelerator Guide de démarrage MEGA 2013 1ère édition (janvier 2013) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune

Plus en détail

Générer du code à partir d une description de haut niveau

Générer du code à partir d une description de haut niveau Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,

Plus en détail

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013 UML Diagramme de communication (communication diagram) 2013 Diagramme de communication (communication diagram) Utilisation / objectifs Sens Ce diagramme présente des objets, des acteurs, des liens et des

Plus en détail

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

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

Plus en détail

Cours STIM P8 TD 1 Génie Logiciel

Cours STIM P8 TD 1 Génie Logiciel Cours STIM P8 TD 1 Génie Logiciel Compléments sur UML Intervenant : Anil CASSAM CHENAI Date : 02/02/2012 Objectifs du complément Ce complément sera approfondi en parallèle de plusieurs TD/Cours. Rappels

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Le développement d'applications informatiques

Le développement d'applications informatiques Le développement d'applications informatiques Des bibliothèques de fonctions aux "design patterns" Copyright 2011-2015 Yves Marcoux 1 Sources bibliographiques Ramon, Jorge. "Preface". Ext JS 3.0 Cookbook:

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information

Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information Jacques Simonin* Philippe Picouet* Jean-Marc Jézéquel** * Telecom Bretagne/Institut

Plus en détail

Introduction du test dans la modélisation par aspects

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

Plus en détail

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

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

Plus en détail

Workflow et Service Oriented Architecture (SOA)

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

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Intégration de produits mécatroniques au sein d un système PLM

Intégration de produits mécatroniques au sein d un système PLM Intégration de produits mécatroniques au sein d un système PLM HOUSSEM ABID 1, MADY GUILLEMOT 1, DIDIER NOTERMAN 1, PHILIPPE PERNELLE 2 1 Laboratoire DISP, INSA Lyon 69100, France {houssem.abid,mady.guillmot,didier.noterman}@insa-lyon.fr

Plus en détail

Forthcoming Database

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

Plus en détail

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

GOL-502 Industrie de services. Travaux Pratique / Devoir #7 GOL-502 Industrie de services Travaux Pratique / Devoir #7 Version 2012 Modélisation à l'aide du langage UML 1) Diagramme de cas d'utilisation 2) Diagramme de classes 3) Diagramme de séquence 4) Diagramme

Plus en détail

MEGA ITSM Accelerator. Guide de Démarrage

MEGA ITSM Accelerator. Guide de Démarrage MEGA ITSM Accelerator Guide de Démarrage MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune

Plus en détail

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 5 LE MODELE ENTITE - ASSOCIATION Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous

Plus en détail

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Travail pratique #1 «Réalisation d'une plateforme de vente aux enchères électronique» À réaliser individuellement ou en équipe

Plus en détail

Editing and managing Systems engineering processes at Snecma

Editing and managing Systems engineering processes at Snecma Editing and managing Systems engineering processes at Snecma Atego workshop 2014-04-03 Ce document et les informations qu il contient sont la propriété de Ils ne doivent pas être copiés ni communiqués

Plus en détail

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

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

Plus en détail

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES BASES DE DONNÉES CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98 J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES III. LES SYSTÈMES RÉSEAU IV. LES SYSTÈMES RELATIONNELS V. LE LANGAGE

Plus en détail

Ingénierie et gestion des connaissances

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

Plus en détail

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

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM) Mineure SOA Business Process Modeling (BPM) Idir AIT SADOUNE idir.aitsadoune@supelec.fr Idir AIT SADOUNE - Plan 1 Notion de processus? 2 Modélisation des processus? 3 Langages

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services 69 Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services M. Bakhouya, J. Gaber et A. Koukam Laboratoire Systèmes et Transports SeT Université de Technologie de Belfort-Montbéliard

Plus en détail

É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

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles Laurent PY CEO, Smartesting Laurent.py@smartesting.com @py_laurent www.smartesting.com Guillaume Coquelle Testeur,

Plus en détail

Les Lignes de Produits Logiciels (Software Product Lines) Tewfik Ziadi UPMC/LIP6 tewfik.ziadi@lip6.fr

Les Lignes de Produits Logiciels (Software Product Lines) Tewfik Ziadi UPMC/LIP6 tewfik.ziadi@lip6.fr Les Lignes de Produits Logiciels (Software Product Lines) Tewfik Ziadi UPMC/LIP6 tewfik.ziadi@lip6.fr L exemple de Notepad Nous avons le code source d une application implémentant l éditeur «Notepad».

Plus en détail

Introduction au Génie Logiciel

Introduction au Génie Logiciel Introduction au Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda Qu est-ce que le logiciel? programme, ensemble d instructions Caractéristiques

Plus en détail

Vérifier la qualité de vos applications logicielle de manière continue

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

Plus en détail

Utilisation de SysML pour la modélisation des réseaux de capteurs

Utilisation de SysML pour la modélisation des réseaux de capteurs Utilisation de SysML pour la modélisation des réseaux de capteurs Nicolas Belloir, Jean-Michel Bruel, Natacha Hoang, Congduc Pham Université de Pau et des pays de l Adour LIUPPA, BP 1155, F-64013 Pau Cedex

Plus en détail

Business Process Modeling (BPM)

Business Process Modeling (BPM) Business Process Modeling (BPM) Mineure SOA Cécile Hardebolle cecile.hardebolle@supelec.fr Programme 8 nov. 15 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude Architecture

Plus en détail

Approche méthodologique pour la modélisation des processus de l entreprise

Approche méthodologique pour la modélisation des processus de l entreprise Approche méthodologique pour la modélisation des processus 1 Approche méthodologique pour la modélisation des processus de l entreprise Abdennebi TALBI Professeur à l Ecole Supérieure de Technologie, Route

Plus en détail

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

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

Plus en détail

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information

Plus en détail

Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe

Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe Karima Dhouib, Sylvie Després Faiez Gargouri ISET - Sfax Tunisie, BP : 88A Elbustan ; Sfax karima.dhouib@isets.rnu.tn,

Plus en détail

Retour d expériences avec UML

Retour d expériences avec UML Retour d expériences avec UML UML pour les systèmes biologiques Marie-Hélène Moirez-Charron, UMR AGIR, équipe MAGE INRA Toulouse mailto:marie-helene.charron@toulouse.inra.fr PLAN Contexte de travail UML,

Plus en détail

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et

Plus en détail

CURRICULUM VITAE. Informations Personnelles

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

Plus en détail

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational IBM Software Group Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational Fernard Bonaguidi fernand.bonaguidi@fr.ibm.com

Plus en détail

CONCEPTION DE PROJET SIG AVEC UML

CONCEPTION DE PROJET SIG AVEC UML Bulletin de la Société géographique de Liège, 42, 2002, 19-25 CONCEPTION DE PROJET SIG AVEC UML François LAPLANCHE Résumé Avec son statut de standard, le langage UML (Unified Modelling Language) jouit

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

Prototype de canal caché dans le DNS

Prototype de canal caché dans le DNS Manuscrit auteur, publié dans "Colloque Francophone sur l Ingénierie des Protocoles (CFIP), Les Arcs : France (2008)" Prototype de canal caché dans le DNS Lucas Nussbaum et Olivier Richard Laboratoire

Plus en détail

Cours Gestion de projet

Cours Gestion de projet Cours Gestion de projet Méthodes de conduite de projet Version Date Auteur V1.8 Septembre 2007 Pascal HEYER 1 Méthodes de conduite de projet Ce document est publié sous la licence libre Creative Commons-BY-NC-SA

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Merise. Introduction

Merise. Introduction Merise Introduction MERISE:= Méthode d Etude et de Réalisation Informatique pour les Systèmes d Entreprise Méthode d Analyse et de Conception : Analyse: Etude du problème Etudier le système existant Comprendre

Plus en détail

Master Informatique Aix-Marseille Université

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

Plus en détail

RAPID 3.34 - Prenez le contrôle sur vos données

RAPID 3.34 - Prenez le contrôle sur vos données RAPID 3.34 - Prenez le contrôle sur vos données Parmi les fonctions les plus demandées par nos utilisateurs, la navigation au clavier et la possibilité de disposer de champs supplémentaires arrivent aux

Plus en détail

Créer le schéma relationnel d une base de données ACCESS

Créer le schéma relationnel d une base de données ACCESS Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...

Plus en détail

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools. 1- RAD Quelle sont les avantages que apporte la méthode RAD à l entreprise? Une méthode RAD devrait, d après son auteur, apporter trois avantages compétitifs à l entreprise : Une rapidité de développement

Plus en détail

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

Plus en détail

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

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

Plus en détail

Architectures Ouvertes pour l Adaptation des Logiciels

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

Plus en détail

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

Laboratoire 4 Développement d un système intelligent

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

Plus en détail

Principe de symétrisation pour la construction d un test adaptatif

Principe de symétrisation pour la construction d un test adaptatif Principe de symétrisation pour la construction d un test adaptatif Cécile Durot 1 & Yves Rozenholc 2 1 UFR SEGMI, Université Paris Ouest Nanterre La Défense, France, cecile.durot@gmail.com 2 Université

Plus en détail

Objectif du cours. Outline. Complexité des systèmes modernes. La modélisation et UML dans les activités du Génie Logiciel...

Objectif du cours. Outline. Complexité des systèmes modernes. La modélisation et UML dans les activités du Génie Logiciel... Objectif du cours La modélisation et UML dans les activités du Génie Logiciel... ESIR2, GL (LSI) Benoit Combemale Université de Rennes 1, ESIR & IRISA (Triskell team) Benoit.Combemale@irisa.fr Identifier

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

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

Plus en détail

Une Perspective Intentionnelle de d Information

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

Plus en détail

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

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

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail