wiki:SOCIS/2016

Version 23 (modified by Saeed Ehteshamifar, on Sep 28, 2016 at 10:03:55 PM) (diff)

--

European Space Agency Summer of Code in Space 2016

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

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)
Saeed Ehteshamifar Yes salpha RTEMS Fault tolerance: Get a fault injection tool to work with RTEMS (continuation from last year) 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 GSoC 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
Saeed Ehteshamifar salpha Wiki slingshot 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.

Saeed

  • May 27: Added the Status Updates page and added the link to my proposal.
  • Jun 08: Got up-to-date with latest project's status. Republished slingshot as a stand-alone repository. Updated the Github repository and build instructions. Going to start integrating GRINDER's function (test suite execution and storing results) into slingshot.
  • Jun 15: Prepared RTEMS development environment. Tried to redirect pc386's output to console (didn't work), used SPARC architecture instead. Thought about how to handle test case crash scenario. Updated the blog.
  • Jun 22: Off due to exams preparation.
  • Jun 29: Off due to exams preparation.
  • Jul 06: Prepared and tested Vagrant scripts to setup/build rtems and setup/build slingshot. Started changing test suite template to include a label that is moved to the next test case whenever a test case crashes.
  • Jul 13: Added parsing output of test cases execution. Added support to tolerate crashes of test cases by proceeding to the next test case and re-making the test suite. This method is NOT scalable since it involves re-making the test suite. Going to execute test cases dynamically via RTEMS libdl to cope with this issue.
  • Jul 20: Updated the blog. Executed a test suite with more than 600 test cases to test the slingshot's function in auto-skipping crashed test cases and also find out some faults that lead to failures. Read RTEMS 4.5.0 Evaluation Report (by Critical Software) to see how they cope with crash and also have a basis to compare slingshot with. Going to update Vagrant scripts, build instructions, change the test suite template, and modify slingshot to dynamically run test cases.
  • Jul 27: Updated build instructions to re-produce the work via Vagrant. Tried to use libdl01 example in test suites to make a dynamically linked (DL) application (not fruitful). Going to follow community's instructions to build it.
  • Aug 03: Tried Chris John's instructions to build a DL app via WAF build system (didn't work). Tried Pavel Pisa's instructions to build it via OMK build system (worked). Going to change the test executor to TAR all test cases and dynamically load and execute them at run-time.
  • Aug 10: Ran Pavel Pisa's appdl (sample dynamically loaded app) with his help. Wrote a DL app, with OMK to make it (worked). Manually changed test case executor to see if everything works. Going to establish a TCP connection in test case executor between RTEMS and QEMU to pass test cases names. Then changing slingshot accordingly.
  • Aug 17: Wrapped up achievements about dynamic linking: updated the blog, the wiki, and the repository with a sample DL app. Tried to build the test suite via OMK, faced an error, posted a question to the mailing list. Tried to make a network app, both network-demos and my app didn't work. Going to fix these issues and finalize the test suite template (testcase executor).
  • Aug 24: Resolved the issue of compiling C++ files via OMK with Pavel Pisa's help (changing the extension to .cc). Manually changed the test suite template to dynamically load test cases. Fixed a configuration issue of the test suite (CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS). The new problem is to combine test case object file and test setting object file into one file to dynamically load it and call the test function.
  • Aug 31: Used 'ld -r' to combine test case object and test case setting file into one object file (Pavel Pisa's suggestion). Fixed the "symbol not found" issue while calling test cases by porting the test suite and test case template to C. Progressed in writing a sample DL app via WAF and updated the blog accordingly. Faced an "unresolved externals" error and posted the question to the ML. Going to continue with WAF for integration of the process to slingshot and also add a TCP link between the test suite and slingshot to pass the test case name to run it.
  • Sep 07: Tried to make a simple network app. Faced several issues. Going to debug them and report if they're RTEMS bugs.
  • Sep 14: Struggled more with writing a network app. Posted a question to the ML on how to use the new TCP/IP stack. Started merging changes back to Slingshot: porting the template to C, using OMK Makefile, using dynamic linking to run test cases.
  • Sep 21: No luck in using networking with the new TCP/IP stack. Tried passing args to Init task via sparc-rtems-run (didn't work). Pavel Pisa sent a patch to make if_fxp work hence reverted to the old TCP/IP stack (it worked with Qemu). Going to change Slingshot's test case generation and execution process.
  • Sep 28: After Gedare Bloom's suggestion on using serial console for passing test case name, going to change Slingshot accordingly. Will update the repository with the final version (dynamic linking assisted execution), write a future work document, and update the blog with the big picture about the dynamic linking assisted execution until Oct 15.