21
© ESROCOS Consortium 2017, all rights reserved ESROCOS SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date of project: 01-11-2016 Duration: 27 months Topic: COMPET-4-2016 Building Block a) Space Robot Control Operating System Work package: WP1200 Lead partner for this deliverable: GMV “This project has received funding from the European Union’s Horizon 2020 Research and Innovation programme under Grant Agreement No 730080.” Dissemination Level PU Public X CO-1 Confidential, restricted under conditions set out in Model Grant Agreement. Version providing the PSA will all the information required to perform its assessment. CO-2 Confidential, restricted under conditions set out in Model Grant Agreement. Version providing the PSA and the other operational grant the information required for the integration of all the building blocks and the continuity of the Strategic Research Cluster Prepared by: ESROCOS team Approved by: GMV Authorized by: Miguel Muñoz Code: ESROCOS_D1.3 Version: 2.0 Date: 23/06/17 Internal code: GMV 20181/17 V2/17

Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

© ESROCOS Consortium 2017, all rights reserved

ESROCOS

SOFTWARE REUSE FILE ESROCOS_D1.3

Due date of deliverable: 19-01-2017

Start date of project: 01-11-2016

Duration: 27 months

Topic: COMPET-4-2016 Building Block a) Space Robot Control Operating System

Work package: WP1200

Lead partner for this deliverable: GMV

“This project has received funding from the European Union’s Horizon 2020 Research and Innovation programme under Grant Agreement No 730080.”

Dissemination Level

PU Public X

CO-1 Confidential, restricted under conditions set out in Model Grant Agreement. Version providing the PSA will all the information required to perform its assessment.

CO-2 Confidential, restricted under conditions set out in Model Grant Agreement. Version providing the PSA and the other operational grant the information required for the integration of all the building blocks and the continuity of the Strategic Research Cluster

Prepared by: ESROCOS team

Approved by: GMV

Authorized by: Miguel Muñoz

Code: ESROCOS_D1.3

Version: 2.0

Date: 23/06/17

Internal code: GMV 20181/17 V2/17

Page 2: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 2 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

DOCUMENT STATUS SHEET

Version Date Pages Changes

1.0 19/01/17 30 First Version delivered for SRR

2.0 23/06/17 21 Update for PDR.

Page 3: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 3 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

TABLE OF CONTENTS

1. INTRODUCTION ................................................................................................... 5

1.1. PURPOSE ...................................................................................................... 5

1.2. SCOPE .......................................................................................................... 5

1.3. CONTENTS .................................................................................................... 5

2. REFERENCE AND APPLICABLE DOCUMENTS ............................................................. 6

2.1. APPLICABLE DOCUMENTS ............................................................................... 6

2.2. REFERENCE DOCUMENTS................................................................................ 6

3. TERMS DEFINITIONS AND ABBREVIATED TERMS ..................................................... 7

3.1. DEFINITIONS ................................................................................................ 7

3.2. ACRONYMS ................................................................................................... 7

4. SOFTWARE REUSE OVERVIEW ............................................................................... 9

5. PRESENTATION OF THE SOFTWARE INTENDED TO BE REUSED .................................10

5.1. IDENTIFICATION OF REUSED SOFTWARE ....................................................... 10

5.2. TASTE ........................................................................................................ 13

5.3. RTEMS ....................................................................................................... 13

5.4. BIP TOOLS .................................................................................................. 14

5.5. ROCK BASE-TYPES PACKAGE ........................................................................ 14

5.6. OPENCV ...................................................................................................... 14

5.7. EIGEN ........................................................................................................ 15

5.8. AIR AND HAIR ............................................................................................. 15

5.9. GR DRIVERS ............................................................................................... 15

5.10. ROCK .................................................................................................... 16

5.11. ROS ...................................................................................................... 16

5.12. VIZKIT3D .............................................................................................. 16

5.13. RVIZ ..................................................................................................... 17

5.14. GAZEBO ................................................................................................ 17

5.15. AUTOPROJ ............................................................................................. 17

5.16. SARGON PACKAGES ............................................................................... 18

6. SW REUSE REQUIREMENTS ..................................................................................19

6.1. QUALIFICATION AND DELTA QUALIFICATION .................................................. 19

6.2. DELTA QUALIFICATION STATUS .................................................................... 19

6.2.1. General Requirements ....................................................................... 19

6.2.2. TASTE Framework............................................................................. 19

6.2.3. AIR Hypervisor ................................................................................. 20

6.2.4. GR Drivers ....................................................................................... 20

Page 4: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 4 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

LIST OF TABLES AND FIGURES

Table 2-1. Applicable documents ........................................................................... 6

Table 2-2. Reference documents ........................................................................... 6

Table 3-1. Definitions ........................................................................................... 7

Table 3-2. Acronyms ............................................................................................ 7

Table 5-1. ESROCOS software components ............................................................ 11

Table 6-1. Design requirements related to qualification ........................................... 19

Table 6-2. Driver qualification requirements ........................................................... 20

Figure 5-1. Development of a robot control application with ESROCOS ...................... 10

Page 5: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 5 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

1. INTRODUCTION

1.1. PURPOSE

The PERASPERA OG1 activity is devoted to the design of a Robot Control Operating

Software (RCOS) that can provide adequate features and performance with space-grade

Reliability, Availability, Maintainability and Safety (RAMS) properties. The goal of the

ESROCOS project is to provide an open source framework which can assist in the

development of flight software for space robots. By providing an open standard which

can be used by research labs and industry, it is expected that the Technology Readiness

Level (TRL) can be raised more efficiently, and vendor lock-in through proprietary

environments can be reduced. Current state-of-the-art robotic frameworks are already

addressing some of these key aspects, but mostly fail to deliver the degree of quality

expected in the space environment. In the industrial robotics world, manufacturers of

robots realise their RCOS by complementing commercial real-time operating systems,

with proprietary libraries implementing the extra functions.

1.2. SCOPE

In this document, we identify existing SW assets that can be used to cover part of the

requirements of the ESROCOS product documented in [AD.5].

1.3. CONTENTS

This document contains the following sections:

Section 1. Introduction.

Section 2. Reference and Applicable Documents: lists of documents that are key to

the structure and contents of this document.

Section 3. Terms Definitions and Abbreviated Terms: list of terms and definitions

that harmonize the nomenclature used providing the clarifications for the correct

understanding of the terms.

Section 4. Software Reuse Overview: describes the reasons for software reuse in the

project.

Section 5. Presentation of the Software Intended to be Reused: presents the

software packages that will be reused in ESROCOS.

Section 6. SW Reuse Requirements: specific requirements for the reuse of software.

Page 6: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 6 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

2. REFERENCE AND APPLICABLE DOCUMENTS

2.1. APPLICABLE DOCUMENTS

The following is the set of documents that are applicable:

Ref. Title Date

[AD.1] PERASPERA: D3.1 Compendium of SRC

Activities (for call 1)

[AD.2] Guidelines for strategic research cluster on space robotics technologies horizon 2020 space call 2016

[AD.3] ESROCOS EUROPEAN SPACE ROBOTICS CONTROL AND OPERATING

SYSTEM HORIZON 2020

Proposal: PART B

[AD.4] ESROCOS D1.1 Technology Review issue 1.0 19/01/17

[AD.5] ESROCOS D1.2 System Requirements issue 1.1 23/06/17

[AD.6] ESROCOS D2.2 Preliminary Design Document issue 1.0 23/06/17

Table 2-1. Applicable documents

2.2. REFERENCE DOCUMENTS

The following is the set of documents referenced:

Ref. Title Date

[RD. 1] G. Visentin, “The case for an RCOS at ESA”, ASTRA 2015 – RCOS forum 2015

[RD. 2] Robot Operating System: http://www.ros.org/ 2015

[RD. 3] Robot Construction Kit: http://rock-robotics.org 2015

[RD. 4] TASTE Website: http://taste.tuxfamily.org/wiki/index.php?title=Main_Page -

[RD. 5] Behaviour, Interaction, Priority (BIP) http://wwwverimag.imag.fr/Rigorous-Design-of-Component-Based.html

-

[RD. 6] “A Verifiable and Correct-by-Construction Controller for Robot Functional Levels”, Bensalem et al, Journal of Software Engineering for Robotics, September 2011

2011

[RD. 7] ASN.1 Website: http://www.itu.int/en/ITU-T/asn1/Pages/asn1_project.aspx -

[RD. 8] AADL Website: http://www.aadl.info/aadl/currentsite/ -

[RD. 9] “TASTE: An open-source tool-chain for embedded system and software development”, Maxime Perrotin, Eric Conquet, Julien Delange, Thanassis Tsiodras

2012

[RD. 10] M. Perrotin, E. Conquet, J. Delande, A. Schiele, T. Tsiodras, “TASTE: A real-time software engineering tool-chain Overview, status, and future”

2011

[RD. 11] Perrotin, M., Conquet, E., Dissaux, P., Tsiodras, T., Hugues, H. : The TASTE Toolset: turning human designed heterogeneous systems into computer built homogeneous software, ERTS’2010, Toulouse (2010)

2010

[RD. 12] European Cooperation for Space Standardization. Space Engineering – Software. ECSS-E-ST-40C, 6-Mar-2009.

6-Mar-2009

[RD. 13] European Cooperation for Space Standardization. Space product assurance – Software product assurance. ECSS-Q-ST-80C, 6-Mar-2009.

6-Mar-2009

[RD. 14] DO-330 - Software Tool Qualification Considerations. 13-Dec-2011

[RD. 15] SonarQube: www.sonarqube.org -

Table 2-2. Reference documents

Page 7: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 7 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

3. TERMS DEFINITIONS AND ABBREVIATED TERMS

3.1. DEFINITIONS

Concepts and terms used in this document and needing a definition are included in the

following table:

Table 3-1. Definitions

Concept / Term Definition

- -

3.2. ACRONYMS

Acronyms used in this document and needing a definition are included in the following

table:

Table 3-2. Acronyms

Acronym Definition

AADL Architecture Analysis and Design Language

AD Applicable Document

AIR ARINC 653 Interface in RTEMS

ARINC Aeronautical Radio, Incorporated

ASN.1 Abstract Syntax Notation One

ASSERT Automated proof-based System and Software Engineering for Real-Time applications

BIP Behaviour, Interaction, Priority

BSD Berkeley Standard Distribution

CAN Controller Area Network

ECSS European Cooperation on Space Standardization

ESA European Space Agency

ESROCOS European Space Robot Control Operating System

FDIR Failure Detection, Isolation and Recovery

GPL General Public License

GR Gaisler Research (currently Cobham Gaisler)

GUI Graphical User Interface

HAIR Hypervisor emulator based on AIR

HW Hardware

IP Intellectual Property

LGPL Lesser General Public License

MISRA Motor Industry Software Reliability Association

MPL2 Mozilla Public License 2

OBCP On-Board Control Procedure

OG Operational Grant

PC Personal Computer

PDR Preliminary Design Review

PSA Programme Support Activity

PUS Packet Utilization Standard

RAMS Reliability, Availability, Maintainability and Safety

RCOS Robot Control Operating System

RD Reference Document

Page 8: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 8 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

Acronym Definition

RDEV RCOS Development Environment

ROCK Robot Construction Kit

ROS Robot Operating System

RTEMS Real-Time Executive for Multiprocessor Systems

RTOS Real-Time Operating System

SARGON Space Automation and Robotics General Controller

SDL Specification and Description Language

SMC Statistical Model Checker

SPARC Scalable Processor Architecture

SRC Strategic Research Cluster

SRR System Requirements Review

SW Software

TASTE The ASSERT Set of Tools for Engineering

TBC To Be Confirmed

TC Telecommand

TM Telemetry

TRL Technology Readiness Level

URDF Unified Robot Description Format

URL Uniform Resource Locator

Page 9: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 9 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

4. SOFTWARE REUSE OVERVIEW

The ESROCOS activity is devoted to the design of a Robot Control Operating Software

(RCOS) based on existing open-source software and on the TASTE toolset, with special

care on its RAMS characteristics. In the activity, we shall analyse in depth the

requirements for an RCOS and what is needed to complement the current TASTE

implementation for covering all needed RCOS functionalities.

The goal of ESROCOS is to advance in the direction of having a space-qualified RCOS

system and associated RDEV tools that, while taking advantage of the massive heritage

of Open-Source Robot Controller Software (thereby supporting modularity, having an

open-standard implementation and building on a large community of users), are also

developed following Space Software standards and as such can offer adequate RAMS

attributes to industrial and space users. Such space-qualified RCOS will allow reducing

cost of future software developments for space robotics missions, as it will enable re-

using already verified SW building blocks in successive robotics mission, in contrast of

the current situation where RCOS have been built for scratch for each robotic mission.

The ESROCOS RCOS and RDEV is built around the Assert Set of Tools for Engineering

(TASTE) [RD. 9][RD. 9][RD. 9][RD. 9][RD. 9][RD. 9][RD. 9][RD. 10][RD. 11]. This framework is

the outcome of the European ASSERT project, and aims at providing a complete

functional tool- chain for safety-critical system development, from the specifications to

the certification/validation.

One of the main tasks to be performed in ESROCOS is to identify the needs and

requirements that would be needed to complement the TASTE tool-chain for the

development of robotic systems.

In the requirements document [AD.5] a list of requirements for the RCOS and RDEV has

been elaborated. Some of these requirements will be fulfilled by reusing existing

software tools. This document details the software that has been identified for potential

reuse to fulfil the ESROCOS RCOS and RDEV requirements.

Page 10: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 10 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

5. PRESENTATION OF THE SOFTWARE INTENDED TO BE REUSED

5.1. IDENTIFICATION OF REUSED SOFTWARE

The development workflow supported by the ESROCOS framework, outlined in the

ESROCOS Preliminary Design Document [AD.6], is summarized in Figure 5-1. Starting

from the requirements of the framework [AD.5], an analysis has been performed to

determine the combination of existing and newly-developed software that will fulfil the

required capability. Existing software will need to be integrated and, in many cases,

improved and documented to reach the desired quality level.

Figure 5-1. Development of a robot control application with ESROCOS

The components of the ESROCOS framework are defined according to the activities

supported by the framework and shown in the figure. The Table 5-1 enumerates the

components of the ESROCOS framework, classifying them in different dimensions.

The components of the ESROCOS framework are firstly classified in terms of their usage

environment:

Robot Control Operating System (RCOS) components: they are used at application

execution time (e.g., operating system, middleware, runtime services or libraries).

RCOS Development Environment (RDEV) components: they are tools used at

development time (e.g., model editors, code generators or data visualizers).

Many components of the framework reflect this duality. For instance, the kinematic

chains modelling software is a modelling tool (RDEV) that generates code that is

integrated in the application (RCOS).

The components of ESROCOS are also classified according to their scope into laboratory

and space quality components. Laboratory components are intended for use in non-

critical systems and run on a regular Linux workstation. Space quality components are

tools or libraries targeted for critical systems, and are developed to a higher level of

quality, and are in line with ECSS standards.

Page 11: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 11 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

Finally, the ESROCOS framework combines existing and newly developed components.

Three categories are established:

New development: the component is fully developed within the project.

Extension and integration of existing SW: an existing software component is

extended with new capabilities or significantly reworked to fulfil the requirements of

ESROCOS, and integrated into the framework.

Integration of existing SW: an existing software component, possibly from a third

party, is integrated in ESROCOS with minor or no modification.

The Software Reuse File focuses in the two last types of component.

The Table 5-1 enumerates the components of the ESROCOS framework according to

these classifications and lists the software products reused in each component, which

will be documented in this document.

Table 5-1. ESROCOS software components

Component

RC

OS

RD

EV

Lab

Sp

ace Description Scope of the

work Reused Software

Robot modelling tools

X X X X Solvers for all possible

kinematics and dynamics transformations of lumped parameter robot chains are generated from formal and semantically validable models.

New development

-

TASTE X X X X Framework for model-driven SW development of real-time

systems. The main components are:

- Orchestrator

- ASN.1 compiler

- Ocarina

- Editors

- PolyORB-HI (middleware)

- HW library

- SDL tools

- RTEMS

Extension and integration of existing SW

TASTE

RTEMS

BIP compiler X X Compiler tool for generating C++ code from BIP models.

Extension and

integration of existing SW

BIP Compiler

BIP engine

X

X

Runtime for executing C++

code generated from BIP models.

Extension and

integration of existing SW

BIP Engine

TASTE2BIP X X Generation of BIP models from TASTE models.

New development.

-

SMC-BIP X X Statistical model-checker for BIP models.

Extension and integration of existing SW

SMC-BIP

Base robotics data types

X X X Elementary data types for robotics applications.

Extension and

integration of existing SW

ROCK base-types package

OpenCV X X Computer vision library. Integration of existing SW

OpenCV

Eigen X X Linear algebra library. Integration of existing SW

Eigen

Transformer X X X Library to support component developers with geometric transformations.

New development

-

Page 12: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 12 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

Component

RC

OS

RD

EV

Lab

Sp

ace Description Scope of the

work Reused Software

Stream aligner X X X Library to support component developers with temporal alignment of time-stamped data streams.

New development

-

PUS services X X X Implementation of the

following PUS services in TASTE: - TC verification - Housekeeping TM - Event management - Function management - Time management - Connection test - Timeline-based scheduling - OBCP - Parameter management - File management

New development

-

AIR X X ARINC-653 hypervisor. Extension and

integration of existing SW

AIR

HAIR X X AIR emulator and tools Extension and

integration of existing SW

HAIR

CAN bus driver X X Driver for the GR CAN controller for RTEMS

Extension and

integration of existing SW

GR driver

Ethernet driver X X Driver for the GR Ethernet controller for RTEMS

Extension and integration of existing SW

GR driver

SpaceWire driver

X X Driver for the GR SpaceWire controller for RTEMS

Extension and

integration of existing SW

GR driver

EtherCAT driver X X Support for EtherCAT in RTEMS, TASTE, AIR.

New development

-

Data logger X X Tool for logging data from TASTE components

New development

-

vizkit3d X X 3D data visualization Integration of existing SW

vizkit3d (part of ROCK)

RViz X X Data and image visualization.

Integration of existing SW

RViz

Gazebo X X Robot simulator. Integration of existing SW

Gazebo

PUS console X X GUI application to show PUS

communication in the control PC.

New development

-

Middleware bridges

X X X Tools and libraries to support

a runtime bridge between TASTE and the ROS/ROCK environments.

New development

ROCK

ROS

Framework import tools

X X Tools and libraries to support the importing of components from ROS/ROCK frameworks into ESROCOS.

Extension and integration of existing SW, new development

rock2taste, asn1_types, asn1_types_support, task_adaptor (SARGON)

Framework export tools

X X Tools and libraries to support

the exporting of components from the ESROCOS framework to ROS/ROCK.

Extension and

integration of existing SW, new development

taste2rock (SARGON)

Page 13: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 13 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

Component

RC

OS

RD

EV

Lab

Sp

ace Description Scope of the

work Reused Software

Autoproj X X Software package management and build tool.

Integration of existing SW

autoproj (part of ROCK)

ESROCOS

development scripts

X X Collection of development

tools for setting up/editing projects in the ESROCOS environment.

Extension and

integration of existing SW

SARGON buildconf scripts for autoproj

5.2. TASTE

SW package name: TASTE

Current Version: Rolling release

License and restrictions: Open source, except certain components; all components freely available

URL http://taste.tuxfamily.org/

Purpose and rationale for its use

A framework for model-driven software development sponsored by ESA, with ISAE and Ellidiss as partners. Provides the foundation of software modelling in ESROCOS. See [RD. 9], [RD. 10] and [RD. 11].

Domain of usage

Development tools (RDEV), including code generators that target the both Lab and Space-quality environments.

Reuse considerations

Documentation and tests are available, although the framework is composed by a collection of tools not all of which are verified to the same extent.

In the frame of ESROCOS, TASTE will be extended and improved to prepare for future qualification.

5.3. RTEMS

SW package name: RTEMS

Current Version: 4.8 or 4.10

License and restrictions: RTEMS license (GPL), other open-source licenses for particular components

URL http://rtems.org/

Purpose and rationale for its use

RTOS commonly used by ESA. The 4.8 version (more precisely, a subset) has been qualified for usage in space systems. RTEMS is integrated in TASTE (however, TASTE uses the RTEMS-POSIX interface, which is not part of the qualified subset).

Domain of usage

RTOS for the SPARC platform (LEON processor), i.e., space-quality environment.

Reuse considerations

Mature software with sufficient documentation and tests. It will be used “as is”.

Page 14: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 14 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

5.4. BIP TOOLS

SW package name: BIP Tools: BIP Compiler, BIP Engine and SMC-BIP

Current Version: 2015.04-RC7

License and restrictions: Open-source

URL http://www-verimag.imag.fr/New-BIP-tools.html

Purpose and rationale for its use

Enable the analysis of application behaviour using simulation and statistical model checking. See [RD.

6].

Domain of usage

Development tools supporting the analysis of space-quality applications.

Reuse considerations

None (development tools, supporting the verification process but not essential to it).

5.5. ROCK BASE-TYPES PACKAGE

SW package name: ROCK base-types

Current Version: “stable” branch

License and restrictions: GPL

URL https://github.com/rock-core/base-types

Purpose and rationale for its use

Common robotics data types in ASN.1 will be derived from this package. Part of ROCK (see section 5.10).

Domain of usage

Used as foundation for the ASN.1 type definitions. In addition, it is a dependency of some lab-quality tools.

Reuse considerations

None (lab-quality level).

5.6. OPENCV

SW package name: OpenCV

Current Version: 3.2

License and restrictions: BSD

URL http://opencv.org/

Purpose and rationale for its use

Image processing in laboratory applications.

Domain of usage

Runtime library for laboratory applications. Also, a dependency of some laboratory tools.

Reuse considerations

None (lab-quality level).

Page 15: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 15 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

5.7. EIGEN

SW package name: Eigen

Current Version: 3.3

License and restrictions: MPL2, BSD and LGPL

URL http://eigen.tuxfamily.org/

Purpose and rationale for its use

C++ linear algebra template library.

Domain of usage

Runtime library for laboratory applications. Also, a dependency of some laboratory tools.

Reuse considerations

None (lab-quality level).

5.8. AIR AND HAIR

SW package name: AIR/HAIR

Current Version: AIR II

License and restrictions: GPL

URL http://www.gmv.com/en/Products/air/

Purpose and rationale for its use

AIR is a hypervisor that enables Time and Space Partitioning of the applications. HAIR is a hypervisor

emulator used for development purposes.

Domain of usage

AIR is intended for running space-quality applications. HAIR is a development tool.

Reuse considerations

AIR has been developed following ECSS standards under ESA projects. It has been designed, tested and documented according to the needs of the space-quality level.

The modifications and extensions of AIR in the context of ESROCOS will comply with the same verification requirements of the original software.

5.9. GR DRIVERS

SW package name: Cobham Gaisler drivers for RTEMS (CAN, Ethernet, SpaceWire)

Current Version: RTEMS 4.10

License and restrictions: RTEMS license

URL http://www.gaisler.com/

Purpose and rationale for its use

Cobham Gaisler provides drivers for several IP cores as part of RTEMS (see section 5.3). These drivers will be integrated in AIR and TASTE for usage in the ESROCOS framework.

Domain of usage

To be used at runtime for space-quality applications.

Reuse considerations

Page 16: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 16 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

The drivers to be reused will prepared for qualification as category C software in the context of the ESROCOS project. This will require the verification and validation of the software according to the ECSS standards [RD. 12][RD. 13].

5.10. ROCK

SW package name: ROCK

Current Version: “stable” branch

License and restrictions: GPL, LGPL

URL http://rock-robotics.org/stable/

Purpose and rationale for its use

The ESROCOS framework will provide interoperability with ROCK to take advantage of the tools (e.g. vizkit3d, see section 5.12) and existing code bases in the laboratory domain.

Domain of usage

Development and runtime tools for laboratory applications.

Reuse considerations

None (lab-quality level).

5.11. ROS

SW package name: ROS

Current Version: Indigo Igloo or Kinetic Kame (TBC)

License and restrictions: BSD

URL http://www.ros.org/

Purpose and rationale for its use

The ESROCOS framework will provide interoperability with ROS to take advantage of the tools (e.g. RViz, see section 5.13) and existing code bases in the laboratory domain.

Domain of usage

Development and runtime tools for laboratory applications.

Reuse considerations

None (lab-quality level).

5.12. VIZKIT3D

SW package name: vizkit3d

Current Version: “stable” branch

License and restrictions: LGPL

URL https://github.com/rock-core/gui-vizkit3d

Purpose and rationale for its use

3D visualization library to support the development of robotic applications. Part of ROCK (see section

5.10).

Domain of usage

Runtime library for laboratory applications.

Page 17: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 17 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

Reuse considerations

None (lab-quality level).

5.13. RVIZ

SW package name: RViz

Current Version: Synchronized with ROS

License and restrictions: BSD

URL http://wiki.ros.org/rviz

Purpose and rationale for its use

Image and 3D visualization library to support the development of robotic applications.

Domain of usage

Runtime library for laboratory applications.

Reuse considerations

None (lab-quality level).

5.14. GAZEBO

SW package name: Gazebo

Current Version: 7.1 or 8.0 (TBC), synchronized with ROS

License and restrictions: BSD

URL http://gazebosim.org/

Purpose and rationale for its use

Image and 3D visualization library to support the development of robotic applications.

Domain of usage

Runtime library for laboratory applications.

Reuse considerations

None (lab-quality level).

5.15. AUTOPROJ

SW package name: autoproj

Current Version: v2

License and restrictions: LGPLv3

URL https://github.com/rock-core/autoproj

Purpose and rationale for its use

A build and dependency management system, it will be used to manage the ESROCOS framework installation and it will be made available for user applications. Part of ROCK (see section 5.10).

Domain of usage

Development tool for both lab- and space-quality applications.

Reuse considerations

Page 18: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 18 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

None (development tool).

5.16. SARGON PACKAGES

SW package name: SARGON

Current Version: “master” branch

License and restrictions: Relevant packages will be open-sourced in agreement with ESA

URL https://sargon-project.eu/

Purpose and rationale for its use

SARGON is a precursor to the ESROCOS project funded by ESA. Several software packages developed

in SARGON will be extended and reused in ESROCOS:

- asn1-types and asn1-types-support: common robotics data types, based on ROCK’s base-types (see section 5.5) and support functions

- task_adaptor: supports the porting of ROCK software components to TASTE

- rock2taste: supports the porting of ROCK software components to TASTE

- taste2rock: supports the exporting of ROCK components from TASTE models

- taste-vizkit3d: integrates the vizkit3d tool in TASTE models

- buildconf scripts: support the building of TASTE components with autoproj (see sections 5.2 and 5.15)

Domain of usage

The asn1-types package contains ASN.1 type definitions that are compiled using TASTE and used in both lab- and space-quality applications. The types themselves are data, rather than software.

The asn1-types-support package contains utility and conversion functions. These will be used in lab-quality applications only, to interface with external software and tools. Utility functions for use in

space-quality systems will be developed from scratch in the context of ESROCOS.

rock2taste, taste2rock and taste-vizkit3d are development tools targeting the lab-quality environment.

The buildconf scripts are also development tools.

Reuse considerations

None (packages to be reused do not target space-quality applications).

Page 19: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 19 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

6. SW REUSE REQUIREMENTS

6.1. QUALIFICATION AND DELTA QUALIFICATION

This section covers the level of qualification to be reached for the different SW products.

The software planned to be reused in a space quality environment is of SW criticality D

currently, but it could be upgraded to C. Three such components have been identified:

The TASTE framework (§ 5.2)

The AIR hypervisor (§ 5.8)

The device drivers (§ 5.9)

The actual qualification of these reused software products will not be performed in the

frame of the project.

6.2. DELTA QUALIFICATION STATUS

6.2.1. GENERAL REQUIREMENTS

The ESROCOS user requirements documented in [AD.5] include several design

requirements that establish how the software should be developed and tested in order

to allow for its future qualification. The Table 6-1 lists these requirements.

Table 6-1. Design requirements related to qualification

User Requirement

Description

UR-19 The RCOS Target (Hi-rel and Space quality) shall be implemented using either Ada or C or a subset of C++ suitable for real-time applications.

DR-20-3 The ESROCOS system shall provide means for completing the information on the tests in order to record: …

DR-20-7 If C++ language is used on ESROCOS for safety critical functions, MISRA

C++:2008 rules along with the ISO/IEC 14882:2003 C++ standard shall be applied.

The delta developments of reusable software components that are candidate for future

qualification shall comply with these requirements.

6.2.2. TASTE FRAMEWORK

The ESROCOS project includes some updates to improve its maturity in preparation for

future qualification. These updates affect mainly the following components:

The PolyORB-HI/C runtime, i.e., the middleware that is embedded in critical

applications produced with TASTE

The Ocarina AADL tool, in charge of analysing the AADL models built in TASTE and

generating code

Note that Ocarina is a tool that may be used in the development of critical software.

Software tools may be subject to different qualification requirements than on-board

software, e.g., the DO-330 specification [RD. 14].

The PolyORB-HI/C runtime will be improved to achieve higher maturity. The code base

will be updated with the ability to run SonarQube [RD. 15] on generated code in order

to automate code coverage, code quality metrics, style warnings, etc. The existing test

Page 20: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 20 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

suite will be leveraged and extended, when necessary, to improve the testing and code

quality metrics, and the code base will be improved by fixing the defects detected.

In addition, a qualification kit will be prepared for Ocarina following DO-330 guidelines.

The set of qualification activities will be aligned with space best practice and

requirements for the targeted systems, and will only cover the space-relevant activities,

such as:

The definition of Ocarina tools operational requirements

Update of the build procedure to achieve reproducible builds and tests in a controlled

environment that meets ESROCOS baseline

Addition of static analysis tools to evaluate quality of the code produced, the

coverage achieved during tests so as to meet expected quality levels for both space

and lab settings.

6.2.3. AIR HYPERVISOR

The AIR hypervisor was initially developed following ECSS processes and based on the

RTEMS version 4.8, qualified for flight by Edisoft with ESA funding and covering a

subset of the entire RTEMS system.

At present, work is ongoing to qualify a newer version of RTEMS. In order to prepare for

this upgrade of the RTEMS qualified version, and to align with TASTE, the AIR

hypervisor will be updated and aligned with RTEMS 4.10 by the ESROCOS project.

The modification and extension of AIR will update the existing documentation, code

base and validation tests following the ECSS standards [RD. 12][RD. 13] to ensure that

the hypervisor can be qualified to criticality level C in the future.

6.2.4. GR DRIVERS

The ESROCOS project will integrate a set of RTEMS drivers developed by Cobham

Gaisler in TASTE and AIR. These drivers are not part of the qualified distribution of

RTEMS 4.8. In consequence, in order to use these drivers in critical software, it is

necessary to qualify them.

The ESROCOS system requirements specification documented in [AD.5] includes a

number requirements specifically for the qualification of reused software drivers. These

requirements are given in

Table 6-2. Driver qualification requirements

ID Requirement

DRV-R14 The validation process of CAN and EtherCAT device drives shall ensure the defined and

executed test shall reach at least an 80% statement and branches coverage.

DRV-R15 The CAN and EtherCAT product metrics shall be adhere the specification set by ECSS-E-ST-40 and ECSS-Q-ST-80 standards.

DRV-R16 The CAN and EtherCAT shall produce the documentation and the test evidence following the process set by ECSS-E-ST-40 and ECSS-Q-ST-80 standards.

Page 21: Software Reuse File - News · SOFTWARE REUSE FILE ESROCOS_D1.3 Due date of deliverable: 19-01-2017 Start date ... Guidelines for strategic research cluster on space robotics technologies

Code: ESROCOS_D1.3

Date: 23/06/17

Version: 2.0

Page: 21 of 21

ESROCOS © ESROCOS Consortium 2017, all rights reserved Software Reuse File

END OF DOCUMENT