wiki:SOCIS/2017

Version 12 (modified by Mikail Yayla, on 08/16/17 at 14:52:26) (diff)

--

European Space Agency Summer of Code in Space 2017

This page captures the students who make proposals as well as those who work on projects for RTEMS as part of ESA SOCIS 2017.

Students' Proposals

Start filling in this table for yourself as soon as possible and update as needed.

Student Completed Hello IRC Handle Proposal Title Google Docs URL
NAME Yes or No nick on #rtems Project Title Link to Google Docs for proposal (shared with mentors)
Mikail Yayla Yes myay Software-based Fault Tolerance Proposal

The columns are to be filled in as follows:

  • The Student column is for your name.
  • The Completed Hello column lets us all know whether or not you completed the require Hello World project. Based upon our experience, students who have successfully compiled and run an RTEMS application have a MUCH MUCH higher chance of success on the proposed project.
  • The IRC Handle column is your handle on IRC. RTEMS folks hang out in #rtems on freenode.net.
  • The Proposal Title should be self-explanatory.
  • The Google Docs URL is your proposal in Google Docs that can be reviewed and commented on by mentors. The proposal template should be copied and used as a baseline. This can be shared with mentors for review. Mentors can insert comments for you.

WARNING: The Google Docs version of the proposal is a WORKING copy. You MUST submit the official and final proposal using the ESA SOCIS site. If you do not submit the final proposal via the ESA SOCIS site, you cannot be considered

Students' Summer of Code Tracking Table

Students whose SOCIS project is accepted by RTEMS shall fill in a slot with their information in the following table, which helps to centralize SoC Project Management.

Student IRC Handle Project Link Repository Link Blog
NAME nick on #rtems Link to Project Wiki page Link to project's public Github repository Link to your development blog
Mikail Yayla myay TBA Github Blog

The columns are to be filled in as follows:

  • The Student column is for your name.
  • The IRC Handle column is your handle on IRC. RTEMS folks hang out in #rtems on freenode.net.
  • The Project Link is a link to the Wiki page for your project.
  • The Repository Link is a link to the github repository for your project.
  • The Blog is a link to your blog with entries about your project. It should be updated regularly during the summer.

Student Status Updates

Each student has a section below for putting in notes from the weekly IRC meetings.

Mikail

  • May 31
    • Created page and added the link to my proposal
  • June 7
    • Set up blog (two wip entries) and Github repository
    • Met with mentor Kuan, very helpful in giving me pointers on how to prepare for our project
    • Introduced my project in SOC meeting: Since hardware in space is subject to transient faults, the project's goal is to implement a fault tolerant scheduler which is based on soft-error handling techniques in the literature
    • For next week: refine proposal and add details, read the RTEMS C user manual to further familiarize with the subject matter
    • Preparing to fully involve in the project on schedule (according to SOCIS: probably 15th June)
  • June 14
    • Wrote first blog entry about the project
    • Read resources about the scheduler in rtems (papers, documentation, blogs) to learn how components of it work
    • Begin implementing the fault tolerant scheduler
  • June 21
    • What was done:
      • Updated blog about which faults the fault tolerant scheduler can protect the system from, and explained how the schedulability can still be guaranteed despite different execution versions of a task
      • read various papers and documentation on the scheduling in rtems
    • The current issues:
      • waiting for the official SoC start
    • Plans for the next week:
      • get a sufficient understanding of the scheduler infrastructure in rtems
      • finish the blog post on how the fixed priority scheduler is implemented in rtems
      • find out where exactly the ft scheduler can be implemented
  • July 5
    • found out that the fault tolerant scheduler will not be on scheduler level, but will be implemented as an application framework which coordinates different execution versions
    • in the next week I will focus on getting information about how to create this framework
    • read SIMPLEX paper as guideline, it is a similar project
  • July 12
    • What was done:
      • work on the groundwork of the fault tolerant scheduler API (basic data structures and functions needed)
    • Plans for the next week:
      • write up the detailed design as a blog post
      • read related work from Sibin Mohan and Rudolfo Pellizoni about security in real-time systems
  • July 19
    • What was done:
      • wrote up the detailed design of the FTS API
      • read related papers
    • Plans for the next week:
      • implement a working version of the fault tolerant scheduler, with a simple fault tolerance technique first
  • July 26
    • What was done:
      • finished implementing a FTS scheduler which only lets the tasks execute the error correction versions or the version without protection
    • Plans for the next week:
      • work on a test for this implementation, create tasks which use protection under a certain condition
      • add other fault tolerant techniques, SRE first
  • August 2
    • Mostly off due to exams, but I worked on the pattern-based soft-error handling approach and two blog posts
  • August 9
    • What was done:
      • Worked on the pattern-based approach to handle soft-errors. Finished two blog posts; one about how the approach is implemented and one is about how I compile the system and test the FTS.
    • Current issues
      • Most of the current code works, but there is still an issue with the iteration within the pattern. For example if the pattern is 16 bit long, the task iterates through the first "round" of the pattern correctly, but in the following rounds, it does not. At the moment I'm trying to figure out what the problem is, but it will probably be resolved if I test it carefully.
    • Plans for the next week:
      • After I have solved the problem with the pattern iteration, I will start to implement a soft-error technique that also follows the pattern, but uses error detection to execute the correction versions (SDR).
  • August 16
    • What was done:
      • This week I finished implementing the first fault tolerance technique (of four) and fixed the pattern iterator. Tasks can now follow the pattern to execute the corresponding task version. I also completed the implementation of the algorithms which generate R- or E-patterns, which guarantee that (m,k)-reqiurements hold.
    • Current issues
      • How to cleverly implement fault injection and error detection, I am collecting ideas and will meet with my mentor Kuan to discuss the implementation.
    • Plans for the next week:
      • Next week, I will work on a fault injection and fault detection mechanism, so that I can implement the fault tolerance technique which uses fault detection.

Final Report (RTEMS Fault Tolerance)

  • /

Future Works

  • /