77 research outputs found

    Une approche formelle de l'interopérabilité pour une famille de langages dédiés

    Get PDF
    In this thesis, we introduce a rigorous formally founded method to address the interoperability of a family of domain specific languages (DSLs). Our approach targets DSLs from the same business domain and consists in constructing a unifying language. The unification is obtained by using a categorical approach. For this, we use the category of algebraic specifications of each language in the family. On this category, we apply the colimit on algebraic specifications of each DSL to generate their unifying. This approach allows us to obtain a set of translators from each family member to the unifying language. Moreover, properties established in the context of a language of the family are transferred to the unifier. The approach experimented in the context of the Specware software for categorical computations and of the Isabelle proof assistant.Dans cette thèse, nous proposons une méthode rigoureuse, formellement fondée pour traiter de l'interopérabilité d'une famille de langages dédiés (DSL) issus d'un même domaine métier. A partir de la sémantique de chacun des DSL, notre démarche construit, par un calcul de co-limite sur des spécifications algébriques, un langage qui unifie les concepts de la famille. L'approche se caractérise notamment par la capacité à traduire automatiquement le code d'un DSL vers le langage unificateur. Un autre bénéfice réside dans la preuve qu'une propriété sur un langage de la famille se décline, par construction, vers l'environnement unifié. La mise en œuvre de la démarche a été outillée ; elle s'appuie principalement sur le logiciel Specware de Kestrel et l'assistant de preuve Isabelle

    Spécification et substitution de services OSGi

    Get PDF
    Software Oriented Architecture is one of the more popular and currently used architectural models. One of the essentials properties offered by this model is the loose binding between services. This property allows to indepently develop and deploy building blocks of an application. This leads to a hight mobility of the execution environment, where services can appear and disappear without a prior notivication. This paradigm brings several advantages in software designing and developpement, but there is ab big deal whis is to guaratee that applications built on top services will continue to run properly, even if the environnement is dynamic. In our work, we are interessed by one of the major problems of services communication which is services substitution. This problem is even more complex when services used are statefull. Besides, the substitution process include a look up mechanism of a compatible service, to replace the disappeared one. We work on OSGi platform and we propose an approach of services specification, in order to improve the finding of the best service for the substitution. Our contributions are then, on the first hand to provide an API based on proxies use to manage services substitutions in OSGi. On the second hand, we propose an approach of services specification based on a combined use of interface automata and CCS, to help finding the best service for the substitution.Les architectures orientées services constituent l'un des principaux modèles architecturaux couramment utilisés aujourd'hui. La propriété essentielle de ces architectures est le faible couplage entre les services. Cela permet de développer et de déployer les briques de base des applications de manière indépendante. Ceci conduit à une grande mobilité de l'environnement d'exécution où les services peuvent apparaître et disparaître à tout moment. Cependant, cette indépendance des services soulève de nombreux défis, dont l'un des principaux est de pouvoir donner le maximum de garanties sur le fait qu'une application utilisant les services développés par ailleurs s'exécutera comme prévu par ses concepteurs. Dans le cadre du présent travail, nous nous intéressons à l'une des principales raisons des problèmes de communication dans les environnements à services, qui est la substitution des services. Ce problème de substitution est encore plus complexe lorsque les services possèdent un état interne (statefull). Par ailleurs, le mécanisme de substitution implique la recherche d'un service compatible pour remplacer le disparu. Nous proposons donc un mécanisme permettant de fournir une spécification comportementale avec les services, de façon à ce qu'on puisse trouver le meilleur service possible pour la substitution. Nous travaillons sur la plate-forme OSGi qui implémente une architecture orientée services, et où aucun mécanisme de substitution n'est proposé par défaut. Notre contribution, d'une part, est une API basée sur l'utilisation des proxy, pour permettre de gérer la substitution des services sous OSGi. D'autre part, nous proposons une approche de spécification des comportements des services OSGi basée sur les automates interfaces et sur le CCS (algèbre de processus). D'un point de vue pratique, nous avons développé un cas d'étude sur OSGi, sur lequel nous avons illustré notre approche de spécification de services. Nous avons aussi implémenté une partie de notre API que nous avons testé à l'aide de quelques tests unitaires

    Modèle de coopération entre calcul formel et calcul numérique pour la simulation et l'optimisation des systèmes

    Get PDF
    Après avoir étudié les collaborations établies aujourd'hui entre différents environnements de résolution de problèmes, le manuscrit propose un modèle de conception d'un système de calcul basé sur la coopération entre calcul formel et numérique. Cette coopération entre différents sous-systèmes de calcul est de type complémentaire : les rôles sont définis a priori. Suivant une démarche orientée modèle, le modèle de coopération est spécifié en UML 2.0 selon la vue structurelle et la vue comportementale. A partir du modèle conceptuel, nous définissons les règles de transformation pour produire le modèle d'implémentation spécifique de la "plate-forme" FORTRAN 90. Au vu des résultats d'études particulières en génie des procédés - la solvatation d'acides forts, et la distillation de Rayleigh- il apparaît que la démarche de calcul coopératif proposée : apporte plus d'expressivité lors de la modélisation; incite à modéliser les systèmes physiques à l'aide de fonctions, souvent implicites; permet la réutilisation de modèles par la composition et l'assemblage de fonctions; et apporte plus de fiabilité lors de la simulation, notamment grâce au calcul précis des dérivées des modèles. ABSTRACT : After investigating state-of-the-art collaborations between various environments aimed at system resolution, this paper presents a design model for a calculation system based on the co-operation of formal and numerical calculations. This co-operation between multiple sub-systems is complementary: the roles are defined a priori. Following an object-oriented approach, the model is specified via UML 2.0, in terms of the structural and behavioural views. From the conceptual model, we define the transformation rules required to create the implementation - specific model for the FORTRAN 90 platform. From the results witnessed within specific process engineering studies - namely the solvation of strong acids and Rayleigh's distillation - it can be seen that this co-operative approach: empowers us with an improved expressivity at the modelling stage; instigates physical modelling using (often implicit) functions; allows model re-use through function aggregation and assembly; and brings a greater reliability during simulation, notably as a result of the precise calculation of derivatives of the mode

    Adaptation des composants centrée sur l'utilisation

    Get PDF
    Avec la notion de composant logiciel, la démarche de conception d'applications informatiques a vu apparaître une alternative intéressante à l'approche classique, où le développement est mené selon une approche centralisée. L'idée est en effet de permettre la construction d'applications adaptées aux besoins spécifiques de chaque utilisateur par assemblage de composants préexistants. Néanmoins, le choix de composants prédéfinis, sur étagère, pose le problème de leur adéquation à une utilisation spécifique. Dans ce contexte, la possibilité d'adapter les composants semble cruciale, si l'on souhaite rendre réellement effective l'approche de développement par assemblage de composants. Cette thèse introduit une nouvelle approche de l'adaptation de composants logiciels qui consiste à adapter le composant à ses contextes d'utilisation en se basant sur le point de vue de l'utilisateur. Nous décrivons le profil d'utilisation sous la forme d'un ensemble de triplets dont chacun spécifie les propriétés souhaitées, les réactions correspondantes à traiter dans le cas où une condition n'est pas vérifiée et les échéanciers d'évaluation des propriétés. Nous proposons aussi un service de supervision de composant (SSC) qui repose sur la surveillance de l'état des composants pour obtenir des clichés qui reflètent l'état actuel du composant et les changements récents. Nous définissons également le service de sûreté de service (SSS) qui intercepte les requêtes clientes et qui les délègue vers le composant le plus convenable, tout en gérant l'exécution du composant en fonction du profil d'usage. ABSTRACT : The concept of software component, provides an interesting alternative to the traditional way of designing data-processing applications, where the development is undertaken according to a centralized approach. The idea is indeed to allow the construction of applications adapted to the specific needs for each user by assembling preexistent components. Nevertheless, the choice of off-the-shelf components, raises the problem of their adequacy to a specific use. In this context, the ability to adapt components appears to be crucial, if one wishes to make really effective the approach of development by assembling components. This thesis introduces a new approach of the adaptation of software components which consists in adapting the component to its contexts of use centered on the point of view of the user. We describe a user profile as a set of triples, where each triple specifies the desired properties, the reactions to be run if a condition is not checked and the schedule of evaluation of properties. We propose also a service of supervision of component (SSC) which is based on the monitoring of the state of the components to obtain snapshots which reflect the current state of the component and the recent changes. We also define the service of safety of service (SSS) which intercepts the user requests and delegates them towards the most suitable component, while managing the execution of the component according to the profile of use

    Un cadre formel pour le développement orienté aspect : modélisation et vérification des interactions dues aux aspects

    Full text link
    Thèse numérisée par la Division de la gestion de documents et des archives de l'Université de Montréal

    Démarche, modèles et outils multi-agents pour l'ingénierie des collectifs cyber-physiques

    Get PDF
    We call a Collective Cyber-Physical System (CCPS), a system consisting of numerous autonomous execution units achieving tasks of control, communication, data processing or acquisition. These nodes are autonomous in decision making and they can cooperate to overcome gaps of knowledge or individual skills in goal achievement.There are many challenges in the design of these collective systems. This Habilitation thesis discusses various aspects of such a system engineering modeled according to a multi-agent approach.First, a complete CCPS design method is proposed. Its special features are discussed regarding the challenges mentioned above. Agent models and collective models suitable to constrained communications and changing environments are then proposed to facilitate the design of CCPS. Finally, a tool that enables the simulation and the deployment of hw/sw mixed collective systems is presented.These contributions have been used in several academic and industrial projects whose experience feedbacks are discussed.Nous appelons "collectif cyber-physique" un système embarqué en réseau dans lequel les nœuds ont une autonomie de décision et coopèrent spontanément afin de participer à l'accomplissement d'objectifs du système global ou de pallier des manques de connaissances ou de compétences individuelles. Ces objectifs portent notamment sur l'état de leur environnement physique. La conception de ces collectifs présente de nombreux défis. Ce mémoire d'Habilitation propose une discussion des différents aspects de l'ingénierie de ces systèmes que nous modélisons en utilisant le paradigme multi-agent. Tout d'abord, une méthode complète d'analyse et de conception est proposée. Ses différentes particularités sont discutées au regard des différents défis précédemment évoqués. Des modèles d'agent et de collectifs adaptés aux communications contraintes et aux environnements changeants sont alors proposés. Ils permettent de simplifier la conception des collectifs cyber-physiques. Enfin, un outil qui permet la simulation et le déploiement de systèmes collectifs mixtes logiciels/matériels est introduit.Ces contributions ont été éprouvées dans des projets académiques et industriels dont les retours d'expériences sont exploités dans les différentes discussions

    Interface pour le pilotage et l'analyse des robots basée sur un générateur de cinématiques

    Get PDF
    In robotics we depend on software tools during design, modeling, programming and testing. These tools are essentials, often indispensable aids for developing and operating sophisticated robotic systems. At the same time, these tools are complex and usually too difficult to be used by non specialists. For example tools used for simulation or off-line programming require significant knowledge and skill. The goal of this thesis is to provide novice users with an intuitive tool (CINEGEN) for designing, studying and controlling robot manipulators without programming. In particular the tool addresses two main problems: 1) modeling a new robot requires an significant amount of time; 2) robot tasks (motion, actions, etc.) are generally difficult for novice users to specify. CINEGEN is a novel tool for kinematic simulation of robot manipulators in a virtual environment. It is easy to use and is capable of handling generic kinematic structures. With CINEGEN the description of robots is easy to perform and enables rapid prototyping. Additionally, CINEGEN's capability for real-time interactive simulation allows novice users to quickly specify and evaluate robot tasks. A new simulation can be created very rapidly by describing the robot in a simple text based configuration file. In this file, robots are defined by the properties of each link and their relationships. Robots are defined as a tree structure from the base to the end-effector. For robots with kinematic loops, each loop is represented with two open sub-chains which are closed using a simple constraint. This same type of constraint is used to define which part of the robot must follow movements generated by input devices to the simulation. Once defined, this file is parsed by CINEGEN which automatically constructs the robot structure and its numerical kinematic model to satisfy all the constraints. Then the kinematic solver computes the robot movements regarding the user inputs and the internal constraints. This allows the user to interactively control the robot in two modes: direct kinematics (independent control of each joint) or inverse kinematics (control of the end effector). This constraint solver scheme provides the user with a unified interface to control robots without requiring thought about direct or inverse kinematics. The user interacts with the model of the robot using a virtual reality based interface. This interface gives the user a direct and intuitive means to study a robot's behavior. The virtual reality based interface implies three fundamentals needs: a visualization of 3-dimensional world, appropriate input devices and real-time simulation. The visualization of the robot in a three dimensional space allows the user to understand the robot and the world in which it moves without any symbolic representation. The design of a new haptic input device extends the use of commercial devices employed, making it easier to generate control inputs as well as to "feel" the robot response. Real-time performance (refresh at more than 25Hz) of the complete simulation (graphics as well as kinematics) is obtained via efficient numerical tools and a constraint solver dedicated to robot kinematics. In short, the project developed in this thesis answer to two principal needs: rapid prototyping and analysis of robot manipulators with general kinematic structure, an intuitive interface for teleoperation (task definition) of new robots without programming

    Méthodes et outils de la conception amont pour les systèmes et les micro-systèmes

    Get PDF
    Ce travail de thèse porte sur l'élaboration de modèles de haut-niveau de systèmes pluridisciplinaires à base d'électronique. L'objectif est de réaliser des prototypes virtuels de ces systèmes et de vérifier formellement leur comportement dès les premières étapes du cycle de conception. Grâce à une approche descendante et au formalisme HiLeS, nous réalisons des représentations hiérarchiques qui associent des réseaux de Petri à un ensemble de blocs et de canaux interagissant mutuellement. Nous avons développé l'outil HiLeS Designer pour rendre utilisable le formalisme avec plusieurs améliorations opérationnelles telles que le couplage avec un outil d'analyse de réseaux de Petri (TINA) et la compatibilité avec VHDL-AMS. Nous proposons donc, une plate-forme de conception amont autour de l'outil HiLeS Designer avec des passerelles vers TINA et VHDL-AMS. L'utilisation de cette plate-forme nous à permis d'identifier plusieurs perspectives de développement, notamment vers la conduite de projet. ABSTRACT : This work concerns the development of high-level models of multi-disciplinary systems based on electronics. The objective is to construct virtual prototypes of those systems and to verify their behavior since the early stages of the design process. Using a top-down approach and the HiLeS formalism we obtain hierarchical models that associate Petri nets and a group of blocks and channels interacting mutually. We developed HiLeS Designer, a software tool that implements the formalism with several complementary improvements such as an interface to a Petri nets analysis tool (TINA) and compatibility with VHDL-AMS. These two aspects are the base of our formal verification and virtual prototyping approach. We propose a high-level systems design platform that integrates HiLeS Designer, TINA and VHDL-AMS. Using this platform on two case studies allowed us to identify possible improvements to our project and prospective evolutions
    • …
    corecore