Model-Driven Software Development for Robotics: an overview



Similar documents
Verification by. Simulation. Verification by. Simulation. Verification by. Simulation / Model Check. Validation and Testing.

Software Development Workflow in Robotics

Entwicklung und Testen von Robotischen Anwendungen mit MATLAB und Simulink Maximilian Apfelbeck, MathWorks

Application of UML in Real-Time Embedded Systems

Improving Interoperability in Mechatronic Product Developement. Dr. Alain Biahmou, Dr. Arnulf Fröhlich, Dr. Josip Stjepandic

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

Product Development Flow Including Model- Based Design and System-Level Functional Verification

The SPES Methodology Modeling- and Analysis Techniques

Converting Models from Floating Point to Fixed Point for Production Code Generation

Automotive System and Software Architecture

A Software Development Platform for SOA

Component-based Robotics Middleware

IBM Rational systems and software solutions for the medical device industry

SysML Modelling Language explained

NEER ENGI EVALUATION OF DEVELOPMENT PROCESS AND METHODOLOGY FOR CO-MODELS. Electrical and Computer Engineering Technical Report ECE-TR-12

Introduction to Simulink & Stateflow. Coorous Mohtadi

Agile Model-Based Systems Engineering (ambse)

On Model-driven Design of Robot Software using Co-simulation

AN EVALUATION OF MODEL-BASED SOFTWARE SYNTHESIS FROM SIMULINK MODELS FOR EMBEDDED VIDEO APPLICATIONS

Model Based System Engineering (MBSE) For Accelerating Software Development Cycle

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Integrating Legacy Code / Models with Model Based Development Using Rhapsody

IBM Rational Rhapsody

A new approach to automotive electric/electronic engineering life-cycle management

Embedded Vision on FPGAs The MathWorks, Inc. 1

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Automatic ASAM MCD-3 supported test. PikeTec GmbH Dr. Jens Lüdemann

To introduce software process models To describe three generic process models and when they may be used

Development of AUTOSAR Software Components within Model-Based Design

Final Year Projects at itm. Topics 2010/2011

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig

Model-based Testing of Automotive Systems

Towards Collaborative Requirements Engineering Tool for ERP product customization

How To Develop A Telelogic Harmony/Esw Project

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

MOSILAB: Development of a Modelica based generic simulation tool supporting model structural dynamics

Tool chain (BRIDE) delivered as BRICS software distribution

Cost-effective supply chains: Optimizing product development through integrated design and sourcing

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

Graduate Co-op Students Information Manual. Department of Computer Science. Faculty of Science. University of Regina

Dal software all automazione attraverso uno sviluppo integrato multidisciplinare Decisioni Intelligenti, Macchine dedicate, Prodotti Migliori

DIPLODOCUS: An Environment for. the Hardware/Software Partitioning of. Institut Mines-Telecom. Complex Embedded Systems

Topics covered. An Introduction to Software Engineering. FAQs about software engineering Professional and ethical responsibility

Software Engineering. Software Reuse. Based on Software Engineering, 7 th Edition by Ian Sommerville

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Mastering increasing product complexity with Collaborative Systems Engineering and PLM

Frameworks of Process Improvement for Mobile Applications

Redpaper. IBM Rational Workbench for Systems and Software Engineering. Bruce Powel Douglass Mats Gothe

CMSC 435: Software Engineering Course overview. Topics covered today

System Behaviour Analysis with UML and Ptolemy. Scope and goals

Software Development Principles Applied to Graphical Model Development

Meta-Model specification V2 D

Visual Programming of Logic, Motion, and Robotics

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

Introduction to MATLAB Gergely Somlay Application Engineer

A HW/SW Codesign Methodology based on UML

Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture

How To Write A Train Control System

Component-Oriented Engineering

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Software Development with Real- Time Workshop Embedded Coder Nigel Holliday Thales Missile Electronics. Missile Electronics

Development Process Automation Experiences in Japan

How Product Development Organizations can Achieve Long- Term Cost Savings Using Model-Based Systems Engineering (MBSE)

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Trends in Embedded Software Engineering

(Refer Slide Time: 01:52)

6. European SystemC Users Group Meeting

ATV Data Link Simulator: A Development based on a CCSDS Layers Framework

Architecture Design & Sequence Diagram. Week 7

Design-Simulation-Optimization Package for a Generic 6-DOF Manipulator with a Spherical Wrist

Model Based Software Development for DDG 1000 Advanced Gun System

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

The Software Development Process

Software Engineering. Objectives. Designing, building and maintaining large software systems

Safety Driven Design with UML and STPA M. Rejzek, S. Krauss, Ch. Hilbes. Fourth STAMP Workshop, March 23-26, 2015, MIT Boston

Service Oriented Architecture for Agricultural Vehicles

Efficient and Faster PLC Software Development Process for Automotive industry. Demetrio Cortese IVECO Embedded Software Design

Systems Engineering Tools Integration and Interoperability using OSLC in the SPRINT project

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Making model-based development a reality: The development of NEC Electronics' automotive system development environment in conjunction with MATLAB

OROCOS, the open source reference when it comes to real-time and control

Introduction to Software Engineering. Adopted from Software Engineering, by Ian Sommerville

Robot Control MRobot

Design a medical application for Android platform using model-driven development approach

How To Test Automatically

MDE Adoption in Industry: Challenges and Success Criteria

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring For the 1 st Quiz

Applying 4+1 View Architecture with UML 2. White Paper

MathWorks Products and Prices North America Academic March 2013

A Management Tool for Component-Based Real-Time Supervision and Control Systems

Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1

Transcription:

Model-Driven Software Development for Robotics: an overview IEEE-ICRA2011 Workshop on Software Development and Integration in Robotics Jan F. Broenink, Maarten M. Bezemer Control Engineering, University of Twente, The Netherlands

Contents Introduction Context: Robots and software Model-driven design From both worlds Approach Categorization of the tools The overview Highlights from each category Conclusion Compatibility and reuse via components MD SD for Robotics: an overview 2

Context, MD SD, Motivation Model-driven design: models of Embedded control software Behavior of the robot mechanism The combination is relevant Early integration of models Early testing: virtual prototyping Simulation / Co-simulation Systematic design steps => SW for Robots can really be engineered Integration phase better supported MD SD for Robotics: an overview 3

Embedded Control Systems Essential Properties Embedded Control Software Dynamic behavior of the physical system essential for SW Real-time constraints with low-latency requirement Dependability: Safety, Reliability Layered Software structure Model-driven Design Heterogeneous modeling Multiple Models of Computation Multiple Modeling formalisms MD SD for Robotics: an overview 4

Models & Views Continuous time / Discrete time Dynamic behavior & control Block diagrams / Bond graphs / FEM models Signal processing Discrete event Software framework Process / Block diagrams, UML diagrams, Signal processing Construction Mechanical Structure Kinematics Many different types, different Models of Computation (MoC): Translation not always effective, Co-operation easier MD SD for Robotics: an overview 5

Early Integration Approach Heterogeneous models Simulation as verification means Modeling Start from overall model Refine more detail Basis for model repository Combine models of parts Bottom up Co-simulation Benefit More effective way of working MD SD for Robotics: an overview 6

Co-design using models (MDD) Way of Working Abstraction Hierarchy Split into Subsystems Cope with complexity Model-driven design Design Space Exploration Aspect models Make choices Limit solution space Step-wise refinement Add detail Lower abstraction Implementation Realization Concurrent design trajectory Early Integration where possible MD SD for Robotics: an overview 7

Concurrent Design Flow Concurrently: Software, Electronics, Mechanics 1. Architecture and Dynamic behavior 2. Model-based control law design 3. Software: co-sim, and real-time sim 4. First-time right realization MD SD for Robotics: an overview 8

Implication for tools Different nature of models Relevant modeling approaches be covered So, not necessary everything on previous slide Co-operating tools that cover it One simulation model / Co-simulation of more models Iterative design Support for hierarchical models Model administration / management Also for experiments and simulation results MDD from different / both worlds Application-specific versus Generic MDD with different completeness Complete tool, chain of tools / filters, library, framework MD SD for Robotics: an overview 9

Approach: A categorization of tools Generic Design tools from Control / Mechatronics Matlab, Simmechanics, Labview Generic Design tools / approaches from Software Engineering Mostly UML / SysML based IBM Rational Rhapsody, and Rose Multidisciplinary model-based design tools Dynamics and control in one tool 20-sim, Simulink Co-operating model-based design tools Co-simulation is used, combining different models of computation PtolemyII, DESTECS Generic / Specific robot software design tools Mostly for a specific brand of robots SmartSoft MD SD for Robotics: an overview 10

Generic from Control / Mechatronics Matlab, Simmechanics Market leader as control engineering and signal processing tool Tool specifics Signal level Mix model and experiment Lot of toolboxes For Robot SW Algorithm -> code Dedicated HW MD SD for Robotics: an overview 11

Generic from Control / Mechatronics Labview Emerged from measurement company Tool Specifics Testing, Rtsim Only graphs For Robot SW Dedicated HW Various HIL sim MD SD for Robotics: an overview 12

Generic from Control / Mechatronics Labview Emerged from measurement company Tool Specifics Testing, Rtsim Only graphs For Robot SW Dedicated HW Various HIL sim Control Unit MD SD for Robotics: an overview 13

Generic from Software Engineering Mostly UML / SysML based IBM: Rhapsody, Rose Eclipse: GEF, MDF Rhapsody UML IDE for real-time software Animation facilities For Robot SW Code gen -> framework Adaptable Quite heavy MD SD for Robotics: an overview 14

Multidisciplinary MBD design tools Dynamics and control in one tool 20-sim, Simulink, Modelica 20sim Physics based Mix types Robot models Simulation Animation For Robot SW Code gen templates MD SD for Robotics: an overview 15

Co-operating co-modeling Co-operating model-based design tools Co-simulation: combining different models of computation PtolemyII, DESTECS PtolemyII Research tool Dedicated drawing symbols DESTECS Research tool Starting phase 20sim + Overture (VMD++) MD SD for Robotics: an overview 16

Co-operating co-modeling: PtolemyII Synchronous Dataflow Director Loop Controller Encoder Motion Profiles Sync. from previous unit Select Ready Setpoints Magnet Sync. to next unit Sensor State Machine MD SD for Robotics: an overview 17

Dedicated robot software tools Generic / Specific robot software design tools Specific for a specific brand of robots So, not open, not usable for other robots Often not adaptable See ICRA-2010 workshop on Robot Control Architectures: How to Modify and Enhance Commercial Controllers SmartSoft Communication patterns as core of the robot component model Code-driven to real model-driven Strict component-based approach separates concerns: Algorithms / middleware (see presentation later today) MD SD for Robotics: an overview 18

Frameworks / libraries etc Quite a few are around YARP, RoboFrame, OROCOS, ROS OROCOS Component: ports are categorized Supports hard-real time Separating normal activity from configuration Can use other frameworks like ROS ROS Willow Garage Open source framework for service robots Oriented from SW engineering Very active, also here at ICRA MD SD for Robotics: an overview 19

Conclusion Demands for tools is diverse Different contexts -> different goals / questions -> Different models -> different tools Trends Towards model-driven design (and thus support) From document-based; From code-based; From model-based Towards components to support reusability Tools can interface to each other Better: need to interface, i.e. be compatible End users can choose the best tool they like Models / Software solutions as components To effectively reuse existing results To follow / stimulate new developments MD SD for Robotics: an overview 20

Model-Driven Software Development for Robotics: an overview IEEE-ICRA2011 Workshop on Software Development and Integration in Robotics Jan F. Broenink, Maarten M. Bezemer Control Engineering, University of Twente, The Netherlands