38 research outputs found

    A Top-Down Approach to Managing Variability in Robotics Algorithms

    Full text link
    One of the defining features of the field of robotics is its breadth and heterogeneity. Unfortunately, despite the availability of several robotics middleware services, robotics software still fails to smoothly handle at least two kinds of variability: algorithmic variability and lower-level variability. The consequence is that implementations of algorithms are hard to understand and impacted by changes to lower-level details such as the choice or configuration of sensors or actuators. Moreover, when several algorithms or algorithmic variants are available it is difficult to compare and combine them. In order to alleviate these problems we propose a top-down approach to express and implement robotics algorithms and families of algorithms so that they are both less dependent on lower-level details and easier to understand and combine. This approach goes top-down from the algorithms and shields them from lower-level details by introducing very high level abstractions atop the intermediate abstractions of robotics middleware. This approach is illustrated on 7 variants of the Bug family that were implemented using both laser and infra-red sensors.Comment: 6 pages, 5 figures, Presented at DSLRob 2013 (arXiv:cs/1312.5952

    Towards Tool Support for Design Patterns Using Program Transformations

    No full text
    Design patterns have greatly helped spreading a limited number of well-tried solutions to recurring object-oriented problems. But as new patterns are introduced at a steady rate, the concept must evolve so that tools can help programmers not to be lost, facing a host of patterns. In this paper, we propose that design patterns be systematically analyzed and reformulated to exhibit a reasoning binding solutions to precisely stated problems, given a set of mechanisms. We show on some creational patterns how these mechanisms can be described as program transformations and how an assistant tool could systematically explore the set of potential solutions induced by these transformations. This would both help the selection and the instantiation of the appropriate patterns

    Support des patrons de conception dans les outils UML

    No full text
    Les outils UML intégrant le support de l utilisation des patrons de conception doivent permettent une mise en œuvre correcte des solutions de patrons, sans remettre en cause la cohérence des modèles UML. Ils doivent permettre aussi de vérifier que les solutions des patrons appliqués résolvent réellement les problèmes de conception auxquels ces solutions sont destinées et que les contextes d application ne contrarient pas les principes de conception que ces solutions utilisent pour résoudre les problèmes. Nous nous intéressons dans cette thèse aux aspects solution et problème des patrons de conception. Nous proposons un ensemble de contraintes et de transformations permettant : i) une intégration correcte et cohérente des solutions de patrons dans les modèles UML. ii) spécifier la partie des problèmes de conception liés au couplage des patrons de conception GOF. Nous utilisons l ensemble de contraintes et de transformations obtenues sous forme d une extension au standard UML.PARIS-BIUSJ-Thèses (751052125) / SudocPARIS-BIUSJ-Mathématiques rech (751052111) / SudocSudocFranceF

    Transformations de programmes et contraintes de qualité pour améliorer l'outillage des patrons de conception

    No full text
    Les patrons de conception présentent des solutions éprouvées par des experts à des problèmes récurrents de conception. Plusieurs travaux ont essayé de traduire sous une forme exploitable automatiquement l'expertise que les patrons visent à disséminer. Toutefois en négligeant les problèmes que ces patrons résolvent et les liens qui relient ces problèmes aux solutions, le support des patrons dans les outils reste très superficiel. En effet pour représenter le savoir faire sous-jacent aux patrons, il faudrait pouvoir décrire une situation de départ problématique et construire une solution à partir de cette situation. Notre approche repose donc essentiellement sur deux propositions : 1) il est possible si le concepteur explicite les contraintes de qualité que l'application doit satisfaire, de détecter automatiquement certains problèmes de conception; 2) il est possible avec un nombre restreint de transformations de reproduire au moins en partie la solution d un grand nombre de patrons GoF.PARIS-BIUSJ-Thèses (751052125) / SudocPARIS-BIUSJ-Mathématiques rech (751052111) / SudocSudocFranceF

    Usine logicielle de composants de simulation de procédés CAPE-OPEN

    No full text
    L IFP est depuis une dizaine d'années acteur principal du développement du standard CAPE-OPEN pour l'interopérabilité de composants de simulation de procédés. Ce standard définit les interfaces que doivent implémenter les composants de simulation offerts par des fournisseurs logiciels différents pour pouvoir communiquer entre eux. La plupart des environnements commerciaux de simulation sont compatibles CAPE-OPEN, le plus souvent dans sa déclinaison Microsoft COM, parfois dans sa déclinaison CORBA, et prochainement sous une déclinaison .NET. Toutefois, même si le standard a contribué à la résolution des problèmes d interopérabilité, l architecture à base de composants qu il impose a introduit une complexité supplémentaire, difficile à maîtriser notamment par les experts métier. En effet, le développement de nouveaux composants, et la maintenance de composants existants, nécessitent des connaissances non fonctionnelles liées au standard lui-même, et à sa déclinaison intergicielle. D une part, ces composants contenant des connaissances d origines diverses, leur développement est complexe. Ceci se traduit en pratique par la nécessité de faire collaborer plusieurs experts lors du développement et la maintenance des composants. D autre part, les connaissances étant fortement couplées dans le code, ce dernier est difficile à comprendre, et donc difficile à maintenir. Ainsi, l objectif de la thèse est donc de disposer d'un système d'ingénierie logicielle capable de faciliter l adaptation d un composant vers n'importe quelle implémentation, en particulier COM ou .NET. Plus précisément, l objectif est d arriver à minimiser cette complexité, en réalisant l objectif de l Ingénierie Dirigée par les Modèles (IDM), à savoir l indépendance par rapport à la plateforme, dans un contexte particulier, de façon à permettre la génération de composants vers différents intergiciels. Afin d'atteindre cet objectif, nous proposons de nous appuyer sur les techniques de méta modélisation et de transformation de modèles. L approche proposée consiste à séparer les trois aspects nécessaires au développement de ces composants : l aspect métier, l aspect CAPE-OPEN, et l aspect intergiciel. Ces aspects sont modélisés séparément avec des langages visuels, conçus spécifiquement pour chaque aspect, et sont combinés automatiquement grâce à des mécanismes de transformation de modèles. Dans un premier temps, un état de l art des principes et des pratiques de l IDM est effectué. A travers cette étude, nous mettrons l accent sur trois questions fondamentales, à savoir comment représenter les connaissances, comment transformer les connaissances, et enfin comment réunir les pratiques dans un canevas commun supportant un processus de développement agile. A la suite de cette étude, nous proposons une approche dirigée par les modèles basée sur la modélisation dédiée des aspects, et la transformation de modèles à base de graphes. Cette approche a été implémentée pour générer la structure interne du composant, ainsi qu une partie de sa sémantique. Enfin, nous validons l approche par rapport à un ensemble de critères, certains qualitatifs et d autres formels, ainsi que par rapport à un ensemble de changements anticipés sur les aspects considérés.PARIS-BIUSJ-Mathématiques rech (751052111) / SudocSudocFranceF

    Des agents pour faciliter la modélisation des interfaces utilisateur

    No full text
    National audienceConcevoir des interfaces utilisateur à partir d’un ensemble de modèles est un problème étudié depuis de nombreuses années. Malgré cela, les interfaces pouvant être générées à partir de ces approches restent souvent très limitées. Dans cet article, nous proposons une architecture pour aider le concepteur à construire et générer une interface exécutable à partir d’un ensemble de modèles. Le principe consiste à intégrer les connaissances utilisées habituellement à la main par les concepteurs au sein d’un système multi-agents. L’outil construit à partir de cette architecture est capable d’aider le concepteur à construire les modèles de l’interface, puis de se réorganiser afin de générer automatiquement un prototype à partir d’une description même incomplète

    Resource Management and Adaptive Replication for Fault-Tolerant MAS

    No full text
    International audienc

    A software factory for the generation of CAPE-OPEN compliant Process Modelling Components

    No full text
    International audienceThe maintenance of CAPE-OPEN compliant process modelling components is a complex task. It requires accurate knowledge about three interconnected domains: the process itself, the CAPE-OPEN interfaces specification, and the middleware (COM, CORBA, and NET). Consequently, maintenance tasks require the collaboration of several experts throughout the entire component lifecycle. Tools that assist experts in performing these tasks are thus required. This paper presents a tool that embeds enough knowledge about these three aspects, to automatically generate compliant code. Our approach is a software factory that takes as inputs three separated models describing: the process modelling component, the standard specification, and the middleware. These models are combined and refined using successive model transformations, until code is generated. In order to anticipate the evolution of the three domains, transformations are expressed on stable abstractions with respect to expected changes
    corecore