Google Summer of Code


The SOFA consortium is taking part in the Google Summer of Code 2018!

Google Summer of Code is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3 month programming project during their break from school.

Two students accepted for the GSoC with SOFA!

Selected projects

SOFA + Pulse


The objective of this project is to create an open-source plugin for SOFA building an interface with the open-source library Pulse platform. This engine provides comprehensive models for the human physiology. Both API are very close to each other: C++, Cmake, a core library with optional plugins. The integration will be helped with two mentors: one from the SOFA community and another one from the Pulse community.This project will therefore bring a new open-source technology to drive medical education, research, and innovation.


Hugo Talbot

Communication plugin improvement


The purpose of this project is to improve the communication plugin by adding more protocols in it such as vrpn, serial bus communication, and also improve the way it works. This plugin has an abstract base to run and implement different protocols asynchronously to the main sofa-framework thread. In a near future it has to be the default base for communicating with SOFA.

The motivation is to prevent multiple outdated network/protocol communication plugins and group all of them in a single abstract plugin.
The objective is to improve the communication plugin, add protocols such as vrpn, serial bus, etc.


Erwan Douaille

Other project(s)

Emscriptening Sofa


SOFA is an open-source framework to simulate in real-time a wide range of object behaviors in complex contacts situations. The kind of situation that are common in medical simulation, robot interacting with soft material and soft-robotics.

We now would like to be able to execute SOFA in the browser to promote the development of simulation based web-based applications. As SOFA a implemented in C++ this is not straightforward.

The purpose of this GSOC is to adapt the core of the SOFA simulation framework so that it can be compiled with Emscripten. Emscripten is a compiler that takes C/C++ code and compiles it to efficient subsets of JavaScript as asm.js and webassembly.



Desirable skills

C++, webassembly, asm.js,


Damien Marchal

Back to Top