© 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
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.
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
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
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.
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
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
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
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.
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.
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
-
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)
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”.
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).
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
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.
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
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).
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
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.
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