GSoC/2015/Ideas

Introduction

The proposals below were submitted to GSOC 2015 but not accepted. we'll try again next year!

Contents

  1. ERIKA Enterprise and Xen
  2. HR conformance for multi-core platforms
  3. Hartstone benchmark suite for Erika Enterprise
  4. Support for the new STM32 boards such as Nucleo

Ideas

  1. ERIKA Enterprise and Xen

    Introduction: Modern cars, as well as aircrafts, are equipped not only with more and more complex control systems, but also with increasingly advanced user interfaces and infotainment systems. When both software components run on a single, multi-core board, extra precautions must be taken to ensure that safety-critical and non-safety-critical components are isolated from each other. To this purpose Evidence Srl, in collaboration with the University of Modena and Reggio Emilia, recently proposed [1] a double-OS system, running on a dual-core ARM platform and using the Xen hypervisor [2] to run, in two isolated domains, (1) the automotive-grade ERIKA Enterprise OS, a small-footprint real-time OS suitable for safety-critical control tasks, and (2) a fully-featured Linux OS, which is then able to support any complex user interface or multimedia service. To actualize such a setup, the ERIKA Enterprise RTOS has been modified to be able to run as a Xen domU, while Linux has been; the current state of the implementation also includes support for a basic, safe communication mechanism between the two operating systems, based on the Xen hypervisor's memory sharing facilities (grant references) and maskable inter-domain interrupts (event channels).

    [1] CloudOpen Europe 2014 talk abstract: http://sched.co/1yGeyU6

    [2] http://www.xenproject.org/

     

    Brief explanation:  As ERIKA Enterprise is now only able to run as domU, the proposed solution cannot provide any guarantees about its boot times. Also, a Xen dom0 is allowed access to all I/O memory ranges and to any domU's addressing space, therefore a malfunctioning Linux dom0 can still affect the execution of the safety-critical software component. The goal of this project is to port ERIKA Enterprise to be able to execute as dom0 and to implement in an ERIKA task an essential subset of the xl toolstack's functionalities so that it is able to interact with the hypervisor's facilities to boot and manage a Linux domU.

     

    Expected results: Erika Enterprise release for Xen as dom0.

     

    Knowledge prerequisites: C programming, Xen knowledge, Embedded System software development experience.

     

    Mentor: Prof. Paolo Valente and Arianna Avanzini from Università degli Studi di Modena e Reggio Emilia UNIMORE (Italy).

     

  2. HR conformance for multi-core platforms

    Motivation:  As The fast evolution of embedded computing systems is demanding for novel methodologies for managing software complexity and simplifying the analysis of software components that run on the same platform and share common resources. For instance, in the automotive domain, the continuous demand of new functions increased the number of electronic control units (ECUs) up to a limit that is hard to manage, for space, weight, and energy constraints. As a result, the current industrial trend is to integrate multiple functions into the same ECU, thus saving space weight, and power consumption. For certification and safety reasons, proper operating system mechanisms have to be adopted to isolate the behaviour of the different software components that coexist on the same platform. An efficient and flexible scheduling technique to achieve temporal isolation among different software modules is resource reservation. According to this method, the available CPU bandwidth is partitioned among the different modules through a temporal budget enforcement mechanism which ensures that computational activities executing within different partitions do not interfere with each others. The HR conformance class of Erika Enterprise implements the support for hard real-time scheduling of independently developed software components, proving a virtual processor abstraction implemented through resource reservation.

     

    Brief Explanation: The goal of this activity consists in extending the HR conformance class to support multi-core platforms. Multiple challenging aspects have to be addressed in this activity, such as the RTOS configuration, resource sharing (i.e., multi-core mutexes), task synchronization and design methodologies for software components.

     

    Expected results: ERIKA Enterprise release with updated kernel support.

     

    Knowledge prerequisites: C Programming, RTOS, embedded systems, and knowledge of the new multi-cor4e hardware platforms available for the automotive market.

     

    Mentor: Mauro Marinoni at ReTiS Lab of Scuola Superiore Sant'Anna of Pisa (Italy) and Paolo Gai at Evidence Srl.

     

  3. Hartstone benchmark suite for Erika Enterprise

    Motivation: Time-sensitive applications are quite common in the embedded systems domain, including automotive systems, defense systems, and industrial control applications. Nowadays, the developers can select among several RTOSs to develop their application. To reduce the time-to-market and the total cost of the system, the development tools and, in particular, the RTOS have to be carefully selected. The RTOS selection should be based on different key factors. Some of them regard licensing cost and available documentation, some others concern memory occupation and timing metrics such as task context switch time, preemption time, interrupt latency and so on. A common solution to evaluate a computing systems in terms of timing metrics is the use of benchmark programs. The Hartstone benchmark suite has been proposed to test the performance of a system in handling real-time applications. The test applications defined by Hartstone have been developed in ADA and, more recently, the Hartstone Periodic Harmonic (PH) test applications have also been developed in C++ for the Miosix Kernel.

     

    Brief Explanation: The purpose of this activity is to develop the Hartstone benchmark suite for Erika Enterprise in order to provide a test bench useful to compare Erika and similar RTOS available in the market..

     

    Expected results: Perfomance analysis with Hartstone benchmark suite for Erika Enterprise.

     

    Knowledge prerequisites: C Programming, RTOS and embedded systems.

     

    Mentor: PhD Gianluca Franchino at ReTiS Lab of Scuola Superiore Sant'Anna of Pisa (Italy)

     

  4. Support for the new STM32 Boards such as Nucleo

    Introduction:  Erika Enterprise does not only offer suppoprt for modern Automotive platform, but also supports a set of low-cost hardware coming from the Makers space, such as Arduino, STM32F4Discovery, and others. Support for these boards is quite important for the community, as it offers opportunity for students to learn the basis of low-level embedded programming, and offers the possibility for newbyes to have a quick start on the ERIKA operating system.

     

    Brief explanation:  We propose the writing of a new board support package for one of the low-cost boards available on the market. One of them could be the STM32F4 Nucleo. We expect as a result the support for the most used peripherals, with comprehensive documentation on the ERIKA Wiki pages, as well as a set of examples on the usage of the board with common skins...

     

    Expected results: Erika Enterprise board support for the STM32F4 Nucleo board, wiki documentatio, examples.

     

    Knowledge prerequisites: C programming, Embedded System software and RTOS development experience.

     

    Mentor: Mauro Marinoni at ReTiS Lab of the Scuola Superiore S. Anna.