77,287 research outputs found

    Code Generator Composition for Model-Driven Engineering of Robotics Component & Connector Systems

    Full text link
    Engineering software for robotics applications requires multidomain and application-specific solutions. Model-driven engineering and modeling language integration provide means for developing specialized, yet reusable models of robotics software architectures. Code generators transform these platform independent models into executable code specific to robotic platforms. Generative software engineering for multidomain applications requires not only the integration of modeling languages but also the integration of validation mechanisms and code generators. In this paper we sketch a conceptual model for code generator composition and show an instantiation of this model in the MontiArc- Automaton framework. MontiArcAutomaton allows modeling software architectures as component and connector models with different component behavior modeling languages. Effective means for code generator integration are a necessity for the post hoc integration of applicationspecific languages in model-based robotics software engineering.Comment: 12 pages, 4 figures, In: Proceedings of the 1st International Workshop on Model-Driven Robot Software Engineering (MORSE 2014), York, Great Britain, Volume 1319 of CEUR Workshop Proceedings, 201

    V3CMM: a 3-view component meta-model for model-driven robotic software development

    Get PDF
    There are many voices in the robotics community demanding a qualitative improvement in the robotics software development process and tools, in order to increase product flexibility, adaptability, and overall quality, while reducing its cost and time-to-market. This article describes a first step towards a model-driven approach to robotics software development, based on the definition of highly reusable and platform-independent component-based design models. The proposed approach revolves around the V3CMM modeling language and the definition of different model transformations for deriving both special purpose models (e.g., models suited for analysis or simulation purposes) and lower-level design models, in which platform-specific and application-dependent details can be progressively included. The article describes the tool-chain implemented to support the different stages of the proposed MDE process, including (1) the definition of component-based architectural models, defined using the V3CMM platform-independent modeling language, (2) the automatic transformation of the V3CMM component-based models into equivalent object-oriented designs, described in terms of the UML standard, and (3) the transformation of the UML models into an the Ada 2005 object-oriented programming language. In order to show the feasibility and the benefits of the proposal, a simple (yet complete) case study regarding the design of a Cartesian robot is presented.This research has been funded by the Spanish CICYT Project EXPLORE (ref. TIN2009-08572), the Fundación Séneca Regional Project COMPAS-R (ref. 11994/PI/09), and the Spanish Research Network on Model-Driven Software Development (ref. TIN2008-00889-E)

    A Model-Driven Engineering Approach for ROS using Ontological Semantics

    Full text link
    This paper presents a novel ontology-driven software engineering approach for the development of industrial robotics control software. It introduces the ReApp architecture that synthesizes model-driven engineering with semantic technologies to facilitate the development and reuse of ROS-based components and applications. In ReApp, we show how different ontological classification systems for hardware, software, and capabilities help developers in discovering suitable software components for their tasks and in applying them correctly. The proposed model-driven tooling enables developers to work at higher abstraction levels and fosters automatic code generation. It is underpinned by ontologies to minimize discontinuities in the development workflow, with an integrated development environment presenting a seamless interface to the user. First results show the viability and synergy of the selected approach when searching for or developing software with reuse in mind.Comment: Presented at DSLRob 2015 (arXiv:1601.00877), Stefan Zander, Georg Heppner, Georg Neugschwandtner, Ramez Awad, Marc Essinger and Nadia Ahmed: A Model-Driven Engineering Approach for ROS using Ontological Semantic

    SOTER: A Runtime Assurance Framework for Programming Safe Robotics Systems

    Full text link
    The recent drive towards achieving greater autonomy and intelligence in robotics has led to high levels of complexity. Autonomous robots increasingly depend on third party off-the-shelf components and complex machine-learning techniques. This trend makes it challenging to provide strong design-time certification of correct operation. To address these challenges, we present SOTER, a robotics programming framework with two key components: (1) a programming language for implementing and testing high-level reactive robotics software and (2) an integrated runtime assurance (RTA) system that helps enable the use of uncertified components, while still providing safety guarantees. SOTER provides language primitives to declaratively construct a RTA module consisting of an advanced, high-performance controller (uncertified), a safe, lower-performance controller (certified), and the desired safety specification. The framework provides a formal guarantee that a well-formed RTA module always satisfies the safety specification, without completely sacrificing performance by using higher performance uncertified components whenever safe. SOTER allows the complex robotics software stack to be constructed as a composition of RTA modules, where each uncertified component is protected using a RTA module. To demonstrate the efficacy of our framework, we consider a real-world case-study of building a safe drone surveillance system. Our experiments both in simulation and on actual drones show that the SOTER-enabled RTA ensures the safety of the system, including when untrusted third-party components have bugs or deviate from the desired behavior
    corecore