Intern in the Flight Software Section
Internship Opportunity in the Directorate of Technology, Engineering and Quality.
Location
Noordwijk |
Our team and mission
This position is based at the European Space Research and Technology Centre (ESTEC) - Noordwijk, Netherlands
This post is placed in the Flight Software Section which provides expert technical support for the development and functional verification & validation of the on-board software for all missions & satellites at ESA, i.e. space science, human and robotic exploration, Earth observation, Connectivity and Secure Communications, navigation, space transportation, space engineering and technology, operations and space safety. The section is contributing to the success of ESA missions such as Rosetta, Galileo, Juice, Earth observation Copernicus missions, meteorological missions and many others.
The section is also responsible to define, initiate and manage technology research and development (R&D) activities in its field of expertise to ensure that future missions are using state-of-the-art technologies in an efficient way to guarantee the quality necessary for space systems and to enable increased functionality in a properly verified way (covering subjects such as SW verification and validation methods & processes, modern SW architectures & frameworks, new generation processors, Model Based Engineering, …).
The section also participates actively in standardization activities, by influencing the evolution of the different applicable standards and by ensuring their proper application in ESA projects.
Candidates interested are encouraged to visit the ESA website: http://www.esa.int
Field(s) of activity for the internship
You can choose between the following topics:
1) Topic 1: RISC-V in space - Porting and validation of SW building blocks (operating system, hypervisors and mathematical library)
Processors based on the RISC-V architecture are gaining strong interest in the space domain with already ongoing developments for multi-core processors based on RISC-V (e.g. NOEL-V, GR765). Those processors will need to be supported by software ecosystems, i.e. software development environments, simulators as well as off-the-shelf available building blocks like operating systems, hypervisors and mathematical libraries.
In the frame of this activity you will be contributing to the porting and validation of essential software building blocks for future space missions, using existing and to be developed tools, and the definition of any future activities in this domain.
2) Topic 2: Verification & Validation of multicore based systems and Real-Time Operating Systems
The trend in embedded systems used in the space domain goes to the use of multicore processors. The introduction of this multicore architecture requires the introduction of new verification and validation methods, as well as the use of particular real-time operating systems and hypervisors.
Within this topic, you will contribute to the definition of verification & validation activities using multicore systems, and also to the definition/modification/profiling of the SW architecture used on top of them (e.g. real-time operating systems & hypervisors).
3) Topic 3: Embedded real-time Linux
Linux has already been successfully used in a number of spacecraft missions. There are several mechanisms to increase its real-time performance and security.
If you choose this task, you will assist in configuration and characterization of a Linux kernel with PREEMPT_RT patch.
Specifically: you will help setting up ECSS-compliant development environment; you will contribute to the configuration of the Linux kernel and the root filesystem; you will install the system on an on-board computer in our Avionics Lab; you will characterize its real-time performance; and you will help preparing a demonstration flight software running on Linux.
4) Topic 4: Novel SW V&V tools and methodologies
A large part of the time and resources spent developing software in the space domain is dedicated to its validation and verification. The increasing complexity of the software and hardware (new architectures, multicore processors, etc.) used in space requires to explore new ways and methods to validation and verify software.
The objective of this internship will be to evaluate tools for our verification & validation activities (e.g. by benchmarking different static analysis tools), and participate in the evaluation of new methodologies (e.g. mutation testing, fuzz testing, etc.).
The learning objectives of the internship are:
- Becoming familiar with hardware and software architectures used to implement the software on boardESA’s spacecraft;
- Becoming familiar with the software development life cycle;
- Becoming familiar with ECSS standards, in particular those applicable to the software domain;
- Gaining an understanding of spacecraft systems engineering.
The candidates are encouraged to highlight the topic for which they have the most background in their cover letter.
Behavioural competencies
Result Orientation
Operational Efficiency
Fostering Cooperation
Relationship Management
Continuous Improvement
Forward Thinking
For more information, please refer to ESA Core Behavioural Competencies guidebook
Education
You must be a university student, preferably in your final or second-to-last year of a university course at Master’s level and you need to remain enrolled at your University for the entire duration of the internship.
Additional requirements
The working languages of the Agency are English and French. A good knowledge of one of these is required. Knowledge of another Member State language would be an asset.
Additional Requirements:
Topic 1
Knowledge and background in real-time embedded software development, real-time operating systems (e.g. RTEMS), Time and Space Partitioning (TSP) and RISC-V instruction set architecture and associated tool chains are an asset.
Topic 2
Knowledge and background in real-time embedded software development, real-time operating systems (e.g. RTEMS, VxWorks, real-time Linux, …), Time and Space Partitioning (TSP) are considered an asset.
Topic 3
Experience with Linux kernel configuration, YOCTO, U-Boot and general embedded software development; and knowledge of at least one of the three architectures SPARC / ARMv7-A / RISC-V are considered an asset.
Topic 4
Experience in using software verification tools (e.g. static code analysis, code reviews, …) and researching in novel software verification & validation methodologies (e.g. model based testing, fuzz testing, mutation testing, metamorphic testing, …) are considered an asset.
Other information
ESA is an equal opportunity employer, committed to achieving diversity within the workforce and creating an inclusive working environment. We therefore welcome applications from all qualified candidates irrespective of gender, sexual orientation, ethnicity, beliefs, age, disability or other characteristics. Applications from women are encouraged.
At the Agency we value diversity, and we welcome people with disabilities. Whenever possible, we seek to accommodate individuals with disabilities by providing the necessary support at the workplace. The Human Resources Department can also provide assistance during the recruitment process. If you would like to discuss this further, please contact us via email at contact.human.resources@esa.int.
Please note that applications are only considered from nationals of one of the following States: Austria, Belgium, the Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Luxembourg, the Netherlands, Norway, Poland, Portugal, Romania, Spain, Sweden, Switzerland, and the United Kingdom. Nationals from Latvia, Lithuania, Slovakia and Slovenia, as Associate Member States, or Canada as a Cooperating State, can apply as well as those from Bulgaria, Croatia and Cyprus as European Cooperating States (ECS).