7 resultados para Automatic model transformation systems
em Université de Montréal, Canada
Resumo:
Cette thèse a pour but d’améliorer l’automatisation dans l’ingénierie dirigée par les modèles (MDE pour Model Driven Engineering). MDE est un paradigme qui promet de réduire la complexité du logiciel par l’utilisation intensive de modèles et des transformations automatiques entre modèles (TM). D’une façon simplifiée, dans la vision du MDE, les spécialistes utilisent plusieurs modèles pour représenter un logiciel, et ils produisent le code source en transformant automatiquement ces modèles. Conséquemment, l’automatisation est un facteur clé et un principe fondateur de MDE. En plus des TM, d’autres activités ont besoin d’automatisation, e.g. la définition des langages de modélisation et la migration de logiciels. Dans ce contexte, la contribution principale de cette thèse est de proposer une approche générale pour améliorer l’automatisation du MDE. Notre approche est basée sur la recherche méta-heuristique guidée par les exemples. Nous appliquons cette approche sur deux problèmes importants de MDE, (1) la transformation des modèles et (2) la définition précise de langages de modélisation. Pour le premier problème, nous distinguons entre la transformation dans le contexte de la migration et les transformations générales entre modèles. Dans le cas de la migration, nous proposons une méthode de regroupement logiciel (Software Clustering) basée sur une méta-heuristique guidée par des exemples de regroupement. De la même façon, pour les transformations générales, nous apprenons des transformations entre modèles en utilisant un algorithme de programmation génétique qui s’inspire des exemples des transformations passées. Pour la définition précise de langages de modélisation, nous proposons une méthode basée sur une recherche méta-heuristique, qui dérive des règles de bonne formation pour les méta-modèles, avec l’objectif de bien discriminer entre modèles valides et invalides. Les études empiriques que nous avons menées, montrent que les approches proposées obtiennent des bons résultats tant quantitatifs que qualitatifs. Ceux-ci nous permettent de conclure que l’amélioration de l’automatisation du MDE en utilisant des méthodes de recherche méta-heuristique et des exemples peut contribuer à l’adoption plus large de MDE dans l’industrie à là venir.
Resumo:
La recherche en génie logiciel a depuis longtemps tenté de mieux comprendre le processus de développement logiciel, minimalement, pour en reproduire les bonnes pratiques, et idéalement, pour pouvoir le mécaniser. On peut identifier deux approches majeures pour caractériser le processus. La première approche, dite transformationnelle, perçoit le processus comme une séquence de transformations préservant certaines propriétés des données à l’entrée. Cette idée a été récemment reprise par l’architecture dirigée par les modèles de l’OMG. La deuxième approche consiste à répertorier et à codifier des solutions éprouvées à des problèmes récurrents. Les recherches sur les styles architecturaux, les patrons de conception, ou les cadres d’applications s’inscrivent dans cette approche. Notre travail de recherche reconnaît la complémentarité des deux approches, notamment pour l’étape de conception: dans le cadre du développement dirigé par les modèles, nous percevons l’étape de conception comme l’application de patrons de solutions aux modèles reçus en entrée. Il est coutume de définir l’étape de conception en termes de conception architecturale, et conception détaillée. La conception architecturale se préoccupe d’organiser un logiciel en composants répondant à un ensemble d’exigences non-fonctionnelles, alors que la conception détaillée se préoccupe, en quelque sorte, du contenu de ces composants. La conception architecturale s’appuie sur des styles architecturaux qui sont des principes d’organisation permettant d’optimiser certaines qualités, alors que la conception détaillée s’appuie sur des patrons de conception pour attribuer les responsabilités aux classes. Les styles architecturaux et les patrons de conception sont des artefacts qui codifient des solutions éprouvées à des problèmes récurrents de conception. Alors que ces artefacts sont bien documentés, la décision de les appliquer reste essentiellement manuelle. De plus, les outils proposés n’offrent pas un support adéquat pour les appliquer à des modèles existants. Dans cette thèse, nous nous attaquons à la conception détaillée, et plus particulièrement, à la transformation de modèles par application de patrons de conception, en partie parce que les patrons de conception sont moins complexes, et en partie parce que l’implémentation des styles architecturaux passe souvent par les patrons de conception. Ainsi, nous proposons une approche pour représenter et appliquer les patrons de conception. Notre approche se base sur la représentation explicite des problèmes résolus par ces patrons. En effet, la représentation explicite du problème résolu par un patron permet : (1) de mieux comprendre le patron, (2) de reconnaître l’opportunité d’appliquer le patron en détectant une instance de la représentation du problème dans les modèles du système considéré, et (3) d’automatiser l’application du patron en la représentant, de façon déclarative, par une transformation d’une instance du problème en une instance de la solution. Pour vérifier et valider notre approche, nous l’avons utilisée pour représenter et appliquer différents patrons de conception et nous avons effectué des tests pratiques sur des modèles générés à partir de logiciels libres.
Resumo:
Le présent mémoire a pour objet les formes, les caractéristiques et les défis de la gouvernance des déchets électroniques. L’auteure explore les impactes socioéconomiques et environnementales de divers types d’instruments conçus pour mitiger les risques à la santé humaine et à l’environnement que présentent les produits électroniques en fin de vie, notamment: les traités multilatéraux qui visent à prohiber le transfert des déchets hasardeux au pays en développement, les législations régionales, nationales et provinciales mettant en vigueur des systèmes de recyclage obligatoire des déchets électroniques, ainsi que d’autres initiatives, publics et privées, basées sur le principe de la responsabilité élargie des producteurs (REP). L’objectif de ce travail est de comprendre comment les acteurs impliqués dans le commerce de l’équipement électronique peuvent modeler les systèmes de production, d’usage et du traitement fin de vie des technologies contemporaines pour que ces dernières puissent continuer à faire élever les standards de vie et à avancer le développement des communautés humaines, en respectant simultanément le principe international de l’équité globale, l’environnement naturel et la qualité de vie des générations futures.
Resumo:
L’ingénierie dirigée par les modèles (IDM) est un paradigme d’ingénierie du logiciel bien établi, qui préconise l’utilisation de modèles comme artéfacts de premier ordre dans les activités de développement et de maintenance du logiciel. La manipulation de plusieurs modèles durant le cycle de vie du logiciel motive l’usage de transformations de modèles (TM) afin d’automatiser les opérations de génération et de mise à jour des modèles lorsque cela est possible. L’écriture de transformations de modèles demeure cependant une tâche ardue, qui requiert à la fois beaucoup de connaissances et d’efforts, remettant ainsi en question les avantages apportés par l’IDM. Afin de faire face à cette problématique, de nombreux travaux de recherche se sont intéressés à l’automatisation des TM. L’apprentissage de transformations de modèles par l’exemple (TMPE) constitue, à cet égard, une approche prometteuse. La TMPE a pour objectif d’apprendre des programmes de transformation de modèles à partir d’un ensemble de paires de modèles sources et cibles fournis en guise d’exemples. Dans ce travail, nous proposons un processus d’apprentissage de transformations de modèles par l’exemple. Ce dernier vise à apprendre des transformations de modèles complexes en s’attaquant à trois exigences constatées, à savoir, l’exploration du contexte dans le modèle source, la vérification de valeurs d’attributs sources et la dérivation d’attributs cibles complexes. Nous validons notre approche de manière expérimentale sur 7 cas de transformations de modèles. Trois des sept transformations apprises permettent d’obtenir des modèles cibles parfaits. De plus, une précision et un rappel supérieurs à 90% sont enregistrés au niveau des modèles cibles obtenus par les quatre transformations restantes.
Resumo:
Un atout majeur des organisations consiste en leur capacité à créer et exploiter l’information et les connaissances, capacité déterminée entre autres par les comportements informationnels. Chargés de décisions stratégiques, tactiques et opérationnelles, les cadres intermédiaires sont au cœur du processus de création des connaissances, et leurs comportements informationnels doivent être soutenus par des systèmes d’information. Toutefois, leurs comportements informationnels sont peu documentés. La présente recherche porte sur la modélisation des comportements informationnels de cadres intermédiaires d’une organisation municipale. Plus spécifiquement, elle examine comment ces cadres répondent à leurs besoins d’information courante dans le contexte de leurs activités de gestion, c’est-à-dire dans leur environnement d’utilisation d’information. L’étude répond aux questions de recherche suivantes : (1) Quelles sont les situations problématiques auxquelles font face les cadres intermédiaires municipaux ? (2) Quels sont les besoins informationnels exprimés par les cadres intermédiaires municipaux lors de situations problématiques ? (3) Quelles sont les sources d’information qui soutiennent les comportements informationnels des cadres intermédiaires municipaux ? Cette recherche descriptive s’inscrit dans une approche qualitative. Les 21 cadres intermédiaires ayant participé à l’étude proviennent de deux arrondissements d’une municipalité québécoise fusionnée en 2002. Les modes de collecte de données sont l’entrevue en profondeur en personne et l’observation directe auprès de ces cadres, et la collecte de documentation pertinente. L’incident critique est utilisé comme technique de collecte de données et comme unité d’analyse. Les données recueillies font l’objet d’une analyse de contenu qualitative basée sur la théorisation ancrée. Les résultats indiquent que les rôles de gestion proposés dans les écrits pour les cadres supérieurs s’appliquent aussi aux cadres intermédiaires, bien que le rôle conseil ressorte comme étant particulier à ces derniers. Ceux-ci ont des responsabilités de gestion aux trois niveaux d’intervention opérationnel, tactique et stratégique, bien qu’ils œuvrent davantage au plan tactique. Les situations problématiques dont ils sont chargés s’inscrivent dans l’environnement d’utilisation d’information constitué des composantes suivantes : leurs rôles et responsabilités de gestion et le contexte organisationnel propre à une municipalité en transformation. Les cadres intermédiaires ont eu à traiter davantage de situations nouvelles que récurrentes, caractérisées par des sujets portant principalement sur les ressources matérielles et immobilières ou sur des aspects d’intérêt juridique, réglementaire et normatif. Ils ont surtout manifesté des besoins pour de l’information de nature processuelle et contextuelle. Pour y répondre, ils ont consulté davantage de sources verbales que documentaires, même si le nombre de ces dernières reste élevé, et ont préféré utiliser des sources d’information internes. Au plan théorique, le modèle de comportement informationnel proposé pour les cadres intermédiaires municipaux enrichit les principales composantes du modèle général d’utilisation de l’information (Choo, 1998) et du modèle d’environnement d’utilisation d’information (Taylor, 1986, 1991). L’étude permet aussi de préciser les concepts d’« utilisateur » et d’« utilisation de l’information ». Au plan pratique, la recherche permet d’aider à la conception de systèmes de repérage d’information adaptés aux besoins des cadres intermédiaires municipaux, et aide à évaluer l’apport des systèmes d’information archivistiques à la gestion de la mémoire organisationnelle.
Resumo:
La transformation de modèles consiste à transformer un modèle source en un modèle cible conformément à des méta-modèles source et cible. Nous distinguons deux types de transformations. La première est exogène où les méta-modèles source et cible représentent des formalismes différents et où tous les éléments du modèle source sont transformés. Quand elle concerne un même formalisme, la transformation est endogène. Ce type de transformation nécessite généralement deux étapes : l’identification des éléments du modèle source à transformer, puis la transformation de ces éléments. Dans le cadre de cette thèse, nous proposons trois principales contributions liées à ces problèmes de transformation. La première contribution est l’automatisation des transformations des modèles. Nous proposons de considérer le problème de transformation comme un problème d'optimisation combinatoire où un modèle cible peut être automatiquement généré à partir d'un nombre réduit d'exemples de transformations. Cette première contribution peut être appliquée aux transformations exogènes ou endogènes (après la détection des éléments à transformer). La deuxième contribution est liée à la transformation endogène où les éléments à transformer du modèle source doivent être détectés. Nous proposons une approche pour la détection des défauts de conception comme étape préalable au refactoring. Cette approche est inspirée du principe de la détection des virus par le système immunitaire humain, appelée sélection négative. L’idée consiste à utiliser de bonnes pratiques d’implémentation pour détecter les parties du code à risque. La troisième contribution vise à tester un mécanisme de transformation en utilisant une fonction oracle pour détecter les erreurs. Nous avons adapté le mécanisme de sélection négative qui consiste à considérer comme une erreur toute déviation entre les traces de transformation à évaluer et une base d’exemples contenant des traces de transformation de bonne qualité. La fonction oracle calcule cette dissimilarité et les erreurs sont ordonnées selon ce score. Les différentes contributions ont été évaluées sur d’importants projets et les résultats obtenus montrent leurs efficacités.
Resumo:
Mémoire numérisé par la Direction des bibliothèques de l'Université de Montréal.