17 research outputs found

    Migration de lois de contrĂ´le d'un environnement de simulation vers un cadre d'application robotique

    Get PDF
    Le prototypage rapide de contrôleur (PRC) est largement utilisé dans le milieu de la recherche pour sa facilité d'utilisation. L'utilisation d'un cadre d'application robotique (CAR) apporte une grande flexibilité mais demande un investissement important pour la programmation, ce qui n'est pas toujours souhaitable dans l'univers de la recherche. Combiner les deux stratégies en faisant migrer des lois de contrôle d'un environnement de PRC vers un CAR permet d'accélérer le processus de développement tout en conservant une grande flexibilité. Ce mémoire propose un protocole de migration qui permet cette combinaison. Le développement de ce protocole, son guide d'utilisation ainsi que son évaluation sont présentés dans ce document. Un exemple d'utilisation du protocole de migration est illustré à l'aide de la migration d'un contrôleur à couple précalculé pour un robot planaire à deux degrés de liberté. Cette migration est effectuée à partir d'un environnement de PRC composé de la chaîne d'outils Matlab / Simulink / RTW. Le contrôleur généré est encapsulé dans une bibliothèque partagée puis intégré au CAR Microb. La bibliothèque partagée peut être générée pour Windows XP ou pour QNX. Les résultats obtenus montrent que le processus de migration est viable et prometteur

    Localisation interne et en contexte des logiciels commerciaux et libres

    No full text
    We propose a novel approach that allows in context localization of most commercial and open source software. Currently, the translation of textual resources of software (technical documents, online help, strings of the user interface, etc.) is entrusted only to professional translators. This makes the localization process long, expensive and sometimes of poor quality because professional translators have no knowledge about the context of use of the software. This current workflow seems impossible to apply for most under-resourced languages for reasons of cost, and quite often scarcity or even lack of professional translators. Our proposal aims at involving end users in the localization process in an efficient and dynamic way: while using an application (in context), users knowing the source language of the software (Often but not always English) could modify strings of the user interface presented by the application in their current context. So, users could translate in context buttons, menus, labels, tabpage, etc. or improve translations proposed by machine translation (MT) or translation memory (TM) systems. To implement this new paradigm, we modify the code as little as possible, very locally and in the same way for all software. Hence our localization method is internal. The implementation of such approach of localization required integration of a translation workflow built with SECTra_w. Thus, we have a new tripartite process of localization which parties are: the user, the software editor and the collaborative SECTra_w Web site. We have experimented our approach on Notepad-plus-plus and on Vuze, two open source applications.Nous proposons une méthode novatrice pour permettre la localisation en contexte de la majorité des logiciels commerciaux et libres, ceux programmés en Java et en C++/C#. Actuellement, la traduction des documents techniques ainsi que celle des éléments d'interface des logiciels commerciaux est confiée uniquement à des professionnels, ce qui allonge le processus de traduction, le rend coûteux, et quelquefois aboutit à une mauvaise qualité car les traducteurs professionnels n'ont pas accès au contexte d'utilisation des éléments textuels. Dès que l'on sort du petit ensemble des quelques langues les mieux dotées, et que lon veut localiser un logiciel pour des " langues peu dotées ", ce processus n'est plus viable pour des raisons de coût et surtout de rareté, de cherté, ou d'absence de traducteurs professionnels. Notre méthode consiste à faire participer de façon efficace et dynamique les bêta-testeurs et les utilisateurs finals au processus de localisation : pendant qu'ils utilisent l'application, les utilisateurs connaissant la langue originale du logiciel (souvent mais pas toujours l'anglais) peuvent intervenir sur les éléments textuels d'interface que l'application leur présente dans leur contexte d'utilisation courant. Ils peuvent ainsi traduire en contexte les boutons, les menus, les étiquettes, les onglets, etc., ou améliorer la traduction proposée par des systèmes de traduction automatique (TA) ou des mémoires de traductions (MT). Afin de mettre en place ce nouveau paradigme, nous avons besoin d'intervenir très localement sur le code source du logiciel : il s'agit donc aussi d'un paradigme de localisation interne. La mise en place d'une telle approche de localisation a nécessité l'intégration d'un gestionnaire de flot de traductions " SECTra_w ". Ainsi, nous avons un nouveau processus de localisation tripartite dont les trois parties sont l'utilisateur, l'éditeur du logiciel et le site collaboratif SECTra_w. Nous avons effectué une expérimentation complète du nouveau processus de localisation sur deux logiciels libres à code source ouvert : Notepad-plus-plus et Vuze

    Développement d'un logiciel de calcul par éléments finis fondé sur les formes différentielles

    Get PDF
    Introduction à la modélisation orientée objet et au C++ -- Une brève présentation de la conception orientée objet -- Présentation du langage C++ -- Étude préliminaire -- Présentation du code élément fini du laboratoire : LCMFlot -- Une (très) courte présentation de la méthode des éléments finis -- Analyse du code élément fini de LCMFlot -- Description mathématique de la méthode des éléments finis

    Approche pour la définition d'applications web riches multiplateforme

    Get PDF
    Les termes client Web riche ou interface riche sont utilisés pour désigner l'interface utilisateur d'une application Web qui comprend des fonctionnalités et des méthodes d'interactions similaires à celles des interfaces utilisateurs conventionnelles. Un client Web riche assure une part du traitement de l'application. Cela peut aller de la validation de saisies jusqu'à la prise en charge complète des interactions avec l'utilisateur. Il doit donc être doté d'une certaine intelligence, c'est-à-dire que du code, décrivant son comportement ainsi qu'une part de la logique d'affaire de l'application, doit pouvoir y être exécuté. L'utilisation de méthodes d'interactions avancées (comme le glisser-déplacer, la saisie semi-automatique ou l'utilisation de contrôles « widgets ») implique aussi des capacités de traitement plus poussées que pour les clients Web standards. Il existe une multitude de technologies pouvant êtres utilisées pour le développement d'un client Web riche. Le principal problème relié à cette situation est que les projets basés sur une technologie de présentation deviennent dépendants de cette dernière. Un changement de technologie implique alors la perte des investissements relatifs au développement de la partie client. Le fait d'avoir à supporter plusieurs plateformes de présentation implique aussi généralement d'avoir à maintenir plusieurs versions distinctes du client de l'application. Ces travaux couvrent les approches existantes et la conceptualisation d'une nouvelle approche permettant de définir, indépendamment d'une technologie de présentation, le volet client d'une application. Celle-ci a été expérimentée à l'intérieur de trois projets concrets présentés sous forme d'étude de cas. Une revue des plateformes d'exécution contemporaines pour les clients Web riches y est effectuée, suivi d'un état de l'art couvrant les méthodes existantes pour la définition d'interfaces utilisateur. Les travaux s'intéressant à la définition d'interfaces utilisateurs à l'aide de dialectes XML sont également couverts, de même que les architectures couramment utilisées pour la définition d'un client Web riche. Les résultats obtenus à l'intérieur des études de cas auront permis de montrer la faisabilité de l'approche ainsi que de mesurer certains avantages de celle-ci selon différents critères de qualité

    Télémanipulation synchrone et commande d'instruments physiques dans le cadre d'un laboratoire virtuel

    Get PDF
    Dans la grande vague de virtualité qui déferle sur notre réalité, un nouveau venu vient enrichir l'entreprise virtuelle, c'est le Laboratoire Virtuel. Ce dernier permet de manipuler, par les réseaux informatiques, des équipements scientifiques pour la réalisation d'expériences à distance. Les étudiants auront alors plus facilement accès à ces nouveaux moyens d'apprentissage, ils peuvent contrôler des équipements, à l'aide d'un micro-ordinateur relié au réseau pour réaliser, en temps réel et à distance, des séances de laboratoire à partir de leur domicile. Ces nouveaux types d'environnements d'apprentissage offrent des ressources et des outils permettant d'atteindre des objectifs d'apprentissage comparables à ceux qui sont visés par les laboratoires réels, c'est-à-dire en présentiel. Mon projet de maîtrise, qui représente une partie d'un projet d'envergure sur les laboratoires virtuels, consiste à éclaircir l'idée du laboratoire virtuel en général, à la mise au point de méthodes permettant d'utiliser à distance un ensemble de matériels ou d'instruments de mesure et à explorer un ensemble d'outils qui peuvent être employés dans la mise en oeuvre de laboratoires virtuels. Dans ce mémoire, nous présenterons les éléments du laboratoire virtuel avec leurs définitions et leurs rôles. Nous ferons aussi une étude sur la technique de communications entre un micro-ordinateur et des instruments physiques ainsi que les outils nécessaires. Nous montrerons l'accès à distance d'un moteur à courant continu et d'un système simulant des procédés permettant un contrôle de débit, de pression ou de niveau

    Définition et implémentation d'un modèle causal d'exécution temps-réel distribuée

    No full text
    Co-encadrement de la thèse : Bruno SteuxThis work is part of the AROS project. Its goal is to define a fast prototyping tool for dynamic and distributed real-time applications, mostly for automotive industry and robotic. Two distinct methods are normally used to develop distributed real-time applications. The first one -the time triggered approach- is based on worst execution time analysis, whereby time sharing for the various tasks of an application is statically defined. This approach offers considerable safety but the time analysis is sometimes difficult to process. The second one -the priority scheduling approach- is based on ascribing a priority level to each task, which will then allow the system to define an execution order, based on the events is has received. This second approach is more flexible and easier to implement but is less safe and cannot ensure that the application behaves predictably. The structure of the AROS applications being dynamic, the time-triggered approach is irrelevant as it requires a static analysis that cannot be conducted. The priority scheduling approach is also irrelevant because of the non predictable behaviour. We propose an approach based on causal events scheduling inspired by distributed event simulators scheduling techniques. While comparatively easy to use for application designers, this new approach produces applications with a perfectly predictable behaviour. Two main obstacles must be overcome: the real time synchronisation of the execution engine and compliance with real-time constraints.Ces travaux s'inscrivent dans le cadre du projet AROS (Automotive Robust Operating Services). Il a pour objectif de proposer un outil de prototypage rapide d'applications dynamiques distribuées temps-réel, principalement dans le domaine de l'automobile et de la robotique. Les applications distribuées temps-réel sont traditionnellement développées selon deux approches. La première, l'ordonnancement temporel, est basée sur l'analyse du pire temps d'exécution (worst execution time). Un partage du temps entre les différentes tâches de l'application est établi de façon statique. Cette technique offre une grande sureté de fonctionnement au prix d'une analyse temporelle parfois difficile à mener. La seconde, l'ordonnancement par priorité, est basée sur l'attribution à chaque tâche d'un niveau de priorité qui permet d'établir l'ordre d'exécution en fonction des évènements reçus par le système. Cette seconde technique, plus souple à mettre en œuvre, offre moins de garanties et conduit à un comportement non déterministe de l'application. La structure des applications AROS étant dynamique, l'approche temporelle est exclue car elle demande une analyse statique qu'il est impossible de produire. L'approche basée sur les priorités d'exécution est également exclue à cause de son non déterminisme comportemental. Nous proposons une approche basée sur un ordonnancement évènementiel causal inspirée des techniques d'ordonnancement des simulateurs évènementiels distribués. Tout en étant relativement simple à utiliser pour le concepteur d'application, cette technique produit des applications dont le comportement est parfaitement déterministe. Deux principales difficultés sont à surmonter : la synchronisation en temps-réel du moteur d'exécution et le respect des contraintes temps-réel

    Étalonnage de la sûreté de fonctionnement des systèmes d’exploitation – Spécifications et mise en oeuvre

    Get PDF
    Les développeurs des systèmes informatiques, y compris critiques, font souvent appel à des systèmes d’exploitation sur étagère. Cependant, un mauvais fonctionnement d’un système d’exploitation peut avoir un fort impact sur la sûreté de fonctionnement du système global, d’où la nécessité de trouver des moyens efficaces pour caractériser sa sûreté de fonctionnement. Dans cette thèse, nous étudions l’étalonnage de la sûreté de fonctionnement des systèmes d’exploitation par rapport aux comportements défectueux de l’application. Nous spécifions les propriétés qu’un étalon de sûreté de fonctionnement doit satisfaire. Après, nous spécifions les mesures et la mise en oeuvre des trois étalons destinés à comparer la sûreté de fonctionnement de différents systèmes d’exploitation. Ensuite, nous développons les prototypes des trois étalons. Ces prototypes servent à comparer les différents systèmes d’exploitation des familles Windows et Linux, et pour montrer la satisfaction des propriétés identifiées. ABSTRACT : System developers are increasingly resorting to off-the-shelf operating systems, even in critical application domains. Any malfunction of the operating system may have a strong impact on the dependability of the global system. Therefore, it is important to make available information about the operating systems dependability. In our work, we aim to specify dependability benchmarks to characterize the operating systems with respect to the faulty behavior of the application. We specify three benchmarks intended for comparing the dependability of operating systems belonging to different families. We specify the set of measures and the procedures to be followed after defining the set of properties that a dependability benchmark should satisfy. After, we present implemented prototypes of these benchmarks. They are used to compare the dependability of operating systems belonging to Windows and Linux, and to show that our benchmarks satisfy the identified properties
    corecore