• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 8
  • 3
  • 1
  • Tagged with
  • 12
  • 12
  • 8
  • 8
  • 5
  • 5
  • 5
  • 4
  • 4
  • 4
  • 3
  • 3
  • 3
  • 3
  • 3
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Reproducible research, software quality, online interfaces and publishing for image processing / Recherche reproductible, qualité logicielle, publication et interfaces en ligne pour le traitement d'image

Limare, Nicolas 21 June 2012 (has links)
Cette thèse est basée sur une étude des problèmes de reproductibilité rencontrés dans la recherche en traitement d'image. Nous avons conçu, créé et développé un journal scientifique, Image Processing On Line (IPOL), dans lequel les articles sont publiés avec une implémentation complète des algorithmes décrits, validée par les rapporteurs. Un service web de démonstration des algorithmes est joint aux articles, permettant de les tester sur données libres et de consulter l'historique des expériences précédentes. Nous proposons également une politique de droits d'auteur et licences, adaptée aux manuscrits et aux logiciels issus de la recherche, et des règles visant à guider les rapporteurs dans leur évaluation du logiciel. Le projet scientifique que constitue IPOL nous apparaît très bénéfique à la recherche en traitement d'image. L'examen détaillé des implémentations et les tests intensifs via le service web de démonstration ont permis de publier des articles de meilleure qualité. La fréquentation d'IPOL montre que ce journal est utile au-delà de la communauté de ses auteurs, qui sont globalement satisfaits de leur expérience et apprécient les avantages en terme de compréhension des algorithmes, de qualité des logiciels produits, de diffusion des travaux et d'opportunités de collaboration. Disposant de définitions claires des objets et méthodes, et d'implémentations validées, il devient possible de construire des chaînes complexes et fiables de traitement des images. / This thesis is based on a study of reproducibility issues in image processing research. We designed, created and developed a scientific journal, Image Processing On Line (IPOL), in which articles are published with a complete implementation of the algorithms described, validated by the rapporteurs. A demonstration web service is attached, allowing testing of the algorithms with freely submitted data and an archive of previous experiments. We also propose copyrights and license policy, suitable for manuscripts and research software software, and guidelines for the evaluation of software. The IPOL scientific project seems very beneficial to research in image processing. With the detailed examination of the implementations and extensive testing via the demonstration web service, we publish articles of better quality. IPOL usage shows that this journal is useful beyond the community of its authors, who are generally satisfied with their experience and appreciate the benefits in terms of understanding of the algorithms, quality of the software produced, and exposure of their works and opportunities for collaboration. With clear definitions of objects and methods, and validated implementations, complex image processing chains become possible.
2

Leveraging software product lines engineering in the construction of domain specific languages / Usage de l'ingénierie de lignes de produits pour la construction de langages dédiés

Méndez Acuña, David Fernando 16 December 2016 (has links)
La complexité croissante des systèmes logiciels modernes a motivé la nécessité d'élever le niveau d'abstraction dans leur conception et mis en œuvre. L'usage des langages dédiés a émergé pour répondre à cette nécessité. Un langage dédié permet de spécifier un système logiciel à travers des concepts relatifs au domaine d'application. Cette approche a plusieurs avantages tels que la diminution des détails techniques auxquels les développeurs doivent faire face, la séparation des préoccupations et la participation des experts du domaine dans le processus de développement. Malgré les avantages fournis par l'usage des langages dédiés, cette approche présente des inconvénients qui remettent en question sa pertinence dans des projets réels de développement logiciel. L'un de ces inconvénients est le coût de la construction des langages dédiés. La définition et l'outillage de ces langages est une tâche complexe qui prend du temps et qui requiert des compétences techniques spécialisées. Le processus de développement des langages dédiés devient encore plus complexe lorsque nous prenons en compte le fait que ces langages peuvent avoir plusieurs dialectes. Dans ce contexte, un dialecte est une variante d'un langage qui introduit des différences au niveau de la syntaxe et/ou de la sémantique. Afin de réduire le coût du processus de développement des langages dédiés, les concepteurs des langages doivent réutiliser autant de définitions que possible pendant la construction des variantes. Le but est d'exploiter les définitions et l'outillage définis précédemment pour dunaire au maximum, la mis en ouvre des zéro dans la construction de langages. Afin de répondre à la question de recherche précédemment énoncée, la communauté de recherche autour de l'ingénierie des langages a proposé l'usage des lignes de produits. En conséquence, la notion de lignes de langages a récemment émergé. Une ligne de langages est une ligne de produis où les produits sont des langages. Le principal but dans les lignes de langages est la définition indépendante de morceaux de langage. Ces morceaux peuvent être combinées de manières différentes pour configurer des langages adaptés aux situations spécifiques. D'une manière similaire aux lignes de produits, les lignes de langages peuvent être construites à partir de deux approches différentes: top-down et bottom-up . Dans l'approche top-down, les lignes de langages sont conçues et mis en œuvre au travers d'un processus d'analyse du domaine où les connaissances du domaine sont utilisées pour définir un ensemble de modules de langage qui réalisent les caractéristiques de la ligne de langages. En outre, les connaissances du domaine sont aussi utilisées pour représenter la variabilité de la ligne de langages à travers des modèles bien structurés qui, en plus, servent à configurer des langages particuliers. Dans l'approche bottom-up, les lignes des langages sont construites à partir d'un ensemble de variantes des langages existant au travers de techniques d'ingénierie inverse. À partir des approches précédemment énoncées, nous proposons deux contributions : (1) Des facilités pour supporter l'approche top-down. Nous proposons une approche de modularisation des langages qui permet la décomposition des langages dédiés comme modules de langages interdépendants. En plus, nous introduisons une stratégie de modélisation pour représenter la variabilité dans une ligne de langages. (2) Techniques d'ingénierie inverse pour supporter l'approche bottom-up. Comme deuxième contribution, nous proposons une technique d'ingénierie inverse pour construire, de manière automatique, une ligne de langages à partir d'un ensemble de variantes de langages existantes. Nos contributions sont validées à travers des cas d'étude industriels. / The use of domain-specific languages (DSLs) has become a successful technique in the development of complex systems because it furnishes benefits such as abstraction, separation of concerns, and improvement of productivity. Nowadays, we can find a large variety of DSLs providing support in various domains. However, the construction of these languages is an expensive task. Language designers are intended to invest an important amount of time and effort in the definition of formal specifications and tooling for the DSLs that tackle the requirements of their companies. The construction of DSLs becomes even more challenging in multi-domain companies that provide several products. In this context, DSLs should be often adapted to diverse application scenarios, so language development projects address the construction of several variants of the same DSL. At this point, language designers face the challenge of building all the required variants by reusing, as much as possible, the commonalities existing among them. The objective is to leverage previous engineering efforts to minimize implementation from scratch. As an alternative to deal with such a challenge, recent research in software language engineering has proposed the use of product line engineering techniques to facilitate the construction of DSL variants. This led the notion of language product lines i.e., software product lines where the products are languages. Similarly to software product lines, language product lines can be built through two different approaches: top-down and bottom-up. In the top-down approach, a language product line is designed and implemented through a domain analysis process. In the bottom-up approach, the language product line is built up from a set of existing DSL variants through reverse-engineering techniques. In this thesis, we provide support for the construction of language product lines according to the two approaches mentioned before. On one hand, we propose facilities in terms of language modularization and variability management to support the top-down approach. Those facilities are accompanied with methodological insights intended to guide the domain analysis process. On the other hand, we introduce a reverse-engineering technique to support the bottom-up approach. This technique includes a mechanism to automatically recover a language modular design for the language product line as we as a strategy to synthesize a variability model that can be later used to configure concrete DSL variants. The ideas presented in this thesis are implemented in a well-engineered language workbench. This implementation facilitates the validation of our contributions in three case studies. The first case study is dedicated to validate our languages modularization approach that, as we will explain later in this document, is the backbone of any approach supporting language product lines. The second and third case studies are intended to validate our contributions on top-down and bottom-up language product lines respectively.
3

Chargement dynamique par composants pour réseaux de capteurs adaptables

Malo, Alexandre January 2013 (has links)
L'utilisation des réseaux de capteurs sans fil (RCSF) croît dans plusieurs domaines, dont celui des espaces intelligents. Dans un espace intelligent, les RCSF sont utilisés puisque les noeuds qui les composent se dissimulent dans l'environnement et consomment très peu d'énergie. Pour l'installation, la maintenance et la gestion des contextes, il est nécessaire de pouvoir reprogrammer un, noeud sans avoir à le redémarrer. Ce projet de recherche vise l'amélioration de la reprogrammation des RCSF en utilisant l'ingénierie logicielle basée sur les composants (ILBC). En utilisant un cadriciel hybride de composants et un format exécutable allégé, les composants dynamiques deviennent utilisables à moindres coûts. Les résultats obtenus lors de ces travaux ont été publiés dans un article de journal. Les travaux de ce projet se divisent en deux volets. Le premier volet est l'optimisation des cadriciels dynamiques de composants. Le problème est que ces derniers demandent trop de ressources et ne sont pas envisageables pour les RCSF. Afin de diminuer la surcharge en taille de l'utilisation de composants dynamiques, un concept de cadriciel hybride de composants' est proposé. Pour valider ce concept, le cadriciel NodeCom est créé et requiert aussi peu de mémoire que Contiki. NodeCom possède un noyau minimal qui est statique alors que les autres composants peuvent être statiques ou dynamiques. Le deuxième volet est l'optimisation de la reprogrammation adaptée aux RCSF avec l'ILBC. C'est en compressant. le format de fichiers exécutable qui contint les composants que la reprogrammation est optimisée. Le chargement dynamique utilisé est accéléré et la consommation énergétique du transfert de composants est diminuée. C'est le format ELF qui est modifié pour partager les composants dynamiques. Pour réduire sa taille, plusieurs sections et symboles peuvent être supprimés en raison des contraintes imposées par l'utilisation de l'ILBC. Puisque les RCSF utilisent majoritairement des microcontrôleurs 8 bits ou 16 bits, les métadonnées 32 bits du format ELF sont converties. La résultante de ces modifications est le format de composants ComELF qui permet d'obtenir des compressions de près de 50 %. À ce format, une description des composants est finalement ajoutée pour permettre une gestion automatique du chargement dynamique.
4

L'analyse formelle de concepts : un cadre structurel pour l'étude de la variabilité de familles de logiciels / Formal concept analysis : a structural framework to study variability in software families

Carbonnel, Jessie 29 October 2018 (has links)
Des familles de logiciels similaires proviennent fréquemment de pratiques de réutilisation de clones de logiciels existants, qui sont ensuite enrichis ou dépouillés de fonctionnalités pour suivre de nouvelles exigences. Avec le temps, ces variantes se multiplient et se complexifient, et il devient difficile de les maintenir, de les faire évoluer. L’ingénierie des lignes de produits logiciels regroupe un ensemble de méthodes visant à faciliter le développement et la gestion de telles collections de logiciels similaires. Documenter la variabilité est le point central de ce paradigme ; on la représente à travers des modèles de variabilité, qui servent de supports à la grande majorité des processus propres à l’ingénierie des lignes de produits. La migration complète ou partielle de ces familles de logiciels vers des approches de type lignes de produits permet la simplification de leur exploitation. La rétro-ingénierie, la modélisation et la gestion de la variabilité sont reconnues comme une phase cruciale et ardue de cette migration. Par conséquent, de nombreuses approches ont été proposées pour étudier des descriptions de familles de logiciels dans ce but. Plusieurs d’entre elles s’appuient sur l’analyse formelle de concepts, un cadre mathématique de groupement hiérarchique qui organise un ensemble d’objets et leurs descriptions dans une structure canonique mettant naturellement en évidence leurs aspects communs et variables.Dans ce manuscrit, nous défendons l'idée que l’analyse formelle de concepts, plus qu’un outil, offre un véritable cadre structurel et réutilisable à l’étude de la variabilité des familles de produits.Dans un premier temps, nous établissons un panorama des informations sur la variabilité qui sont mises en évidence grâce à ce formalisme, et discutons de son spectre d’applicabilité. Nous étudions les points communs entre les structures conceptuelles produites par l’analyse formelle de concepts et les modèles de variabilité. Dans un second temps, nous illustrons l’utilisation originale de ces structures conceptuelles comme support à des opérations de conception et de recherche d’informations. Enfin, nous élargissons notre champ d’étude aux informations plus complexes définies par des modèles de variabilité qui ont été étendus pour en améliorer l’expressivité, et dont la rétro-ingénierie est encore peu étudiée à ce jour. Nous montrons comment certaines propriétés de l’analyse formelle de concepts permettent de généraliser son utilisation à des descriptions de variantes plus complexes, et étudions son application pour la manipulation d’attributs multivalués et de cardinalités, en complément des caractéristiques booléennes traditionnelles. Nous évaluons notre approche sur des données issues de dépôts tels que SPLOT, fork-insight et de matrices de comparaison de produits de wikipedia. / Software families often rise from reuse practices as cloning existing software products which are then enhanced or pruned to fulfill new requirements. With time, these variants grow in number and in complexity, and become more and more complex to maintain. Software product line engineering gathers a set of methods that aims at facilitating the management and development of such collections of existing variants. Documenting variability is the central point of this paradigm; This variability is represented in variability models that support a large part of software product line engineering processes.The partial or complete migration from software families to a product line approach eases their exploitation.Reverse-engineering, modeling and managing variability are known as crucial tasks of the migration: therefore, numerous methods have been proposed to study descriptions of software families for this goal.Some of them are based on formal concept analysis, a mathematical framework for hierarchical clustering which organises set of objects and their descriptions in canonical structures highlighting naturally their commonalities and variability.In this thesis, we defend that formal concept analysis, more than a tool, is a relevant structural, reusable and extensible framework to study variability of software families.First, we propose an overview of variability information which is highlighted thanks to this framework, and we discuss its scope of applicability.We study the common points between the conceptual structures of formal concept analysis and variability models.Then, we show how to use these conceptual structures to support research and modeling operations.Finally, we broaden the scope of this study to take into account more complex information about extended variability.We evaluate our method on data taken from the SPLOT repository, fork-insight and product comparison matrices from wikipedia.
5

L'Efficience Énergétique des Services dans les Systèmes Répartis Hétérogènes et Dynamiques : Application à la Maison Numérique

Druilhe, Rémi 05 December 2013 (has links) (PDF)
La maison est un environnement dans lequel de plus en plus d'équipements sont interconnectés. Cette multiplication des équipements informatiques et des services associés augmente la consommation d'énergie de la maison numérique. Pour limiter cette tendance, les équipements de l'électronique grand public contrôlent leur consommation d'énergie individuellement, indépendamment les uns des autres. Les environnements répartis offrent de nouvelles opportunités de gestion de la consommation d'énergie des équipements. Ce travail propose de mettre en place une coordination intelligente entre les équipements de façon à limiter la consommation énergétique de l'ensemble de ces équipements tout en délivrant les mêmes services. Notre approche consiste à déplacer des composants logiciels d'un équipement à l'autre afin de maximiser l'efficience énergétique de la maison numérique. Cependant, ces déplacements sont contraints à la fois par l'environnement, e.g., ressources matérielles disponibles, et par les besoins des composants logiciels, e.g., ressources matérielles requises, présence de l'utilisateur. Pour concevoir un tel système, il est nécessaire de considérer les propriétés intrinsèques à la maison numérique dont l'hétérogénéité, la dynamicité et la qualité de service. L'hétérogénéité nécessite une modélisation de chaque équipement et de chaque service suivant des critères différenciant, e.g., ressources matérielles, présence de l'utilisateur. La dynamicité requiert de modifier la répartition des composants logiciels lorsqu'un événement significatif survient, e.g., apparition d'un équipement, afin de conserver l'efficience énergétique. Enfin, la mise en place de solutions moins énergivores ne doit pas impacter la qualité de service, e.g., satisfaire les besoins en ressources matérielles des composants logiciels. Nous proposons une modélisation de ces propriétés. Ce modèle est ensuite considéré par un système décisionnel autonome. Sur l'observation d'événements significatifs, le système prend la décision de modifier la répartition des composants sur les équipements afin d'atteindre l'objectif d'efficience énergétique tout en satisfaisant à la qualité de service. L'implantation du système décisionnel est réalisée par une architecture elle-même conçue pour être efficiente énergétiquement. Le système décisionnel est considéré comme un service à part entière. Il est construit comme les autres services présents dans l'environnement, et est donc capable de se déplacer d'un équipement à un autre pour s'exécuter sur celui qui est le plus approprié en fonction du contexte. L'approche est validée au travers de son implémentation appelée HomeNap et le déroulé de scénarios de la vie courante. Les résultats obtenus montrent des gains énergétiques. Ces résultats montrent également que les gains sont fonctions des usages de la maison numérique. Enfin, ces gains s'accroissent lorsque le nombre d'équipements et de services augmente, ce qui correspond à la tendance actuellement observée.
6

Ingénierie de l'interaction multimodale en entrée<br />Approche à composants ICARE

Bouchet, Jullien 07 December 2006 (has links) (PDF)
Depuis les travaux fondateurs de R. Bolt « Mets ça là » combinant la voix et le geste, les modalités<br />d'interaction se sont multipliées, diversifiées et améliorées. Les récents paradigmes d'interaction<br />comme les interfaces tangibles incarnées ou la réalité augmentée, couplés aux progrès des systèmes<br />de localisation, à la miniaturisation des dispositifs, à la qualité des réseaux sans fils, à l'amélioration de<br />la reconnaissance de la parole ou de gestes ouvrent un vaste champ de possibilités d'interaction pour<br />les systèmes multimodaux. Dans ce contexte, et bien que de nombreux systèmes multimodaux soient<br />disponibles, leur développement et leur maintien restent encore des tâches difficiles, notamment<br />par manque de réutilisabilité de l'existant. Ce travail de thèse aborde ce problème de conception et<br />de développement pour la multimodalité en entrée (de l'utilisateur vers le système informatique).<br />Nous décrivons un modèle conceptuel de la multimodalité qui organise dans un canevas unificateur<br />les modalités et leurs formes de combinaison. Basé sur ce modèle, nous définissons une approche<br />générique à composants logiciels, notée ICARE, facilitant et accélérant la conception, le développement<br />et le maintien des interfaces multimodales. Nous démontrons l'apport de cette approche par l'outil<br />ICARE qui est une opérationnalisation de notre approche à composants. Un éditeur graphique est fourni,<br />simplifiant la phase d'assemblage des composants et générant automatiquement le code correspondant<br />à l'interaction multimodale. Cinq systèmes multimodaux aux caractéristiques distinctes (systèmes de<br />réalité augmentée, de virtualité augmentée et mobiles) ont été développés avec l'outil ICARE.
7

Identification d'algorithmes cryptographiques dans du code natif / Identification of cryptographic algorithms in binary programs

Lestringant, Pierre 12 December 2017 (has links)
Cette thèse traite de la conception de méthodes automatisées ou semi-automatisées pour détecter et identifier des algorithmes cryptographiques dans des programmes compilés en langage machine. La première méthode proposée a pour but l'identification de primitives symétriques. L'implémentation en langage machine d'une primitive symétrique, assimilée à une suite d'instructions, est représentée par un graphe. Sous cette forme, le code est modifié à l'aide de règles de réécriture tout en préservant une certaine notion de sémantique lors d'une phase dite de normalisation. L'objectif est de faire émerger des expressions communes à différentes implémentations d'une même primitive. Ces expressions servent alors de base à la création de signatures efficaces. La recherche de ces signatures s'effectue à l'aide d'un algorithme énumérant les isomorphismes de sous-graphe. La seconde méthode, conçue en complément de la première, produit une représentation synthétique facilitant l'identification des modes opératoires. Cette représentation se définit comme le plus petit sous-graphe préservant les distances entre des sous-ensembles de nœuds précédemment identifiés comme étant les paramètres d'entrée et de sortie des primitives impliquées. / This thesis is about the design of automatic or semi-automatic methods to detect and identify cryptographic algorithms inside programs compiled into machine code. Two methods are presented. The objective of the first method is to identify cryptographic primitives. A machine code implementation of a cryptographic primitive, regarded as a sequence of instructions, is represented by a graph structure. During a normalization phase, a set of rewrite rules is used to modify this graph representation while preserving a specific notion of semantics. The goal is to converge towards expressions which are shared across several implementations of the same primitive. We use these expressions as a basis to create efficient signatures. A subgraph isomorphism enumeration algorithm is used to search for signatures. The second method is built on top of the first one. It produces a synthetic representation designed to help in the identification of modes of operation. This synthetic representation is defined as the smallest subgraph which preserve distances between sets of vertices previously identified as the input and output parameters of the primitives involved within the mode of operation.
8

Enterprise context-awareness : empowering service users and developers / La contextualisation en entreprise : mettre en avant utilisateurs et développeurs

Chihani, Bachir 05 December 2013 (has links)
Les applications contextuelles doivent gérer un flux contenu de contexte selon une logique approprié. Les travaux de recherche en contextualisation se limitent à proposer des plateformes de développement proposant des mécanismes d’adaptation prédéfinie. Cette thèse se propose d’étende l’état de l’art en proposant des nouveaux concepts formant la fondation pour la création d’application contextuelles en adoptant des principes de l’ingénierie logicielle et une décomposition fonctionnelle. Aussi, cela permet l’intégration de comportements contextualisés à des applications non initialement conçus pour cela. La thèse propose une autre manière centrée-contexte permettant de séparer la représentation du contexte de son interprétation, offrant encore plus de flexibilité à la gestion de contexte. Les propositions sont analysées aux lumières d’étude de cas et de simulations. Le résultat de la thèse est l’introduction de nouvelle approche de création d’applications contextuelles qui met en avant le développeur mais aussi l’utilisateur / Context-aware applications must manage a continuous stream of context according to dedicated business logic. Research was limited on proposing frameworks and platforms that have predefined behavior toward applications. This thesis attempts to extend background works by proposing new concepts serving as foundation for a flexible approach for building context-aware applications. The thesis examines the state of the art of context-aware computing, then adopts well-established software design principles and a functional decomposition for designing a reference model for context management enabling seamless integration of context-awareness into applications. Also, the thesis studies the use of context in common applications and proposes a context-centric modeling approach which allows the creation of a graph-based representation where entities are connected to each other through links representing context. Furthermore, the context graph decouples the presentation and the semantics of context, leaving each application to manage the appropriate semantic for their context data. Case studies are conducted for the evaluation of the proposed system in terms of its support for the creation of applications enhanced with context-awareness. A simulation study is performed to analyze the performance properties of the proposed system. The result of this thesis is the introduction of a novel approach for supporting the creation of context-aware applications that supports the integration of context-awareness to existing applications. It empowers developers as well as users to participate in the creation process, thereby reducing usability issues
9

A model-driven framework development methodology for robotic systems / Une méthodologie de développement de structure logicielle orientée modèle pour les systèmes robotiques

Ramaswamy, Arunkumar 05 September 2017 (has links)
La plupart des applications robotiques, telles que les véhicules autonomes, sont développées à partir d’une page blanche avec quelques rares réutilisations de conceptions ou de codes issus d’anciens projets équivalents. Qui plus est, les systèmes robotiques deviennent de plus en plus critiques, dans la mesure où ils sont déployés dans des environnements peu structurés, et centrés sur l’humain. Ces systèmes à fort contenu logiciel qui utilisent des composants distribués et hétérogènes interagissent dans un environnement dynamique, et incertain. Or, il s’agit là d’étapes indispensables pour la mise en place de méthodes d’évaluation extensibles, ainsi que pour permettre la réutilisation de composants logiciels pré-existants. Le développement de structures logicielles et d’outils de conception d’architectures, orientés pour la robotique, coûte cher en termes de temps et d’effort, et l’absence d’une approche systématique pourrait conduire à la production de conceptions adhoc, peu flexibles et peu réutilisables. Faire de la meta-structure de l’architecture un point de convergence offre de nouvelles possibilités en termes d’interopérabilité, et de partage de la connaissance, au sein des communautés dédiées à la mise en place d’architectures et de structures. Nous suivons cette direction, en proposant un modèle commun, et en fournissant une approche méthodologique systématique aidant à spécifier les différents aspects du développement d’architectures logicielles, et leurs relations au sein d’une structure partagée. / Most innovative applications having robotic capabilities like self-driving cars are developed from scratch with little reuse of design or code artifacts from previous similar projects. As a result, work at times is duplicated adding time and economic costs. Absence of integrated tools is the real barrier that exists between early adopters of standardization efforts and early majority of research and industrial community. These software intensive systems are composed of distributed, heterogeneous software components interacting in a highly dynamic, uncertain environment. However, no significant systematic software development process is followed in robotics research. The process of developing robotic software frameworks and tools for designing robotic architectures is expensive both in terms of time and effort, and absence of systematic approach may result in ad hoc designs that are not flexible and reusable. Making architecture meta-framework a point of conformance opens new possibilities for interoperability and knowledge sharing in the architecture and framework communities. We tried to make a step in this direction by proposing a common model and by providing a systematic methodological approach that helps in specifying different aspects of software architecture development and their interplay in a framework.
10

Automatically correcting syntactic and semantic errors in ATL transformations using multi-objective optimization

VaraminyBahnemiry, Zahra 12 1900 (has links)
L’ingénierie dirigée par les modèles (EDM) est un paradigme de développement logiciel qui promeut l’utilisation de modèles en tant qu’artefacts de première plan et de processus automatisés pour en dériver d’autres artefacts tels que le code, la documentation et les cas de test. La transformation de modèle est un élément important de l’EDM puisqu’elle permet de manipuler les représentations abstraites que sont les modèles. Les transformations de modèles, comme d’autres programmes, sont sujettes à la fois à des erreurs syntaxiques et sémantiques. La correction de ces erreurs est difficile et chronophage, car les transformations dépendent du langage de transformation comme ATL et des langages de modélisation dans lesquels sont exprimés les modèles en entrée et en sortie. Les travaux existants sur la réparation des transformations ciblent les erreurs syntaxiques ou sémantiques, une erreur à la fois, et définissent manuellement des patrons de correctifs. L’objectif principal de notre recherche est de proposer un cadre générique pour corriger automatiquement de multiples erreurs syntaxiques et sémantiques. Afin d’atteindre cet objectif, nous reformulons la réparation des transformations de modèles comme un problème d’optimisation multiobjectif et le résolvons au moyen d’algorithmes évolutionnaires. Pour adapter le cadre aux deux catégories d’erreurs, nous utilisons différents types d’objectifs et des stratégies sophistiquées pour guider l’exploration de l’espace des solutions. / Model-driven engineering (MDE) is a software development paradigm that promotes the use of models as first-class artifacts and automated processes to derive other artefacts from them such as code, documentation and test cases. Model transformation is an important element of MDE since it allows to manipulate the abstract representations that are models. Model transformations, as other programs are subjects to both syntactic and semantic errors. Fixing those errors is difficult and time consuming as the transformations depend on the transformation language such as ATL, and modeling languages in which input and output models are expressed. Existing work on transformation repair targets either syntactic or semantic errors, one error at a time, and define patch templates manually. The main goal of our research is to propose a generic framework to fix multiple syntactic and semantic errors automatically. In order to achieve this goal, we reformulate the repair of model transformations as a multi-objective optimization problem and solve it by means of evolutionary algorithms. To adapt the framework to the two categories of errors, we use different types of objectives and sophisticated strategies to guide the search.

Page generated in 0.4929 seconds