Roadmap

The technical roadmap of SOFA is voted by Consortium members during the bi-annual Scientific and Technical Committee (STC). Information regarding the governance of the SOFA Consortium is available on our presentation page.

Do not hesitate to freely register for the next STC. Upcoming STC#8 will take place in Paris during the SOFA week from 20-22nd November 2019.

Freely join STC#8

objectives

Roadmap topics

Latest STC (STC#7) took place the 20-22nd May 2019 in Sophia-Antipolis.
During this meeting, the committee voted the following roadmap:

SofaPython

  • CMake: cannot have sofapython- legacy and sofapython3
  • CMake: make it an external package
  • Scene creation API + loader + external python3 (easy)

    • memory leak on PythonScriptController (current sofapython)
    • add, create, getdata, setdata
    • add tests and docs
    • integrate gtest
  • Data access API (1 remaining hard question)
  • Overridable component (1 remaining hard question)
  • potentials problems
  • override getattr/setattr
  • object not yet in scene graphs
  • explore metaclass idea

SofaQtQuick

  • Modeling features (GL)
  • Bugfixes, refactoring, perfs & tests
  • Component states, DDG graph, etc.. (Data Update)
  • Asset store, asset previews, UX aspects
  • Merge SofaDefrost/SofaQtQuick changes in sofa-framework/SofaQtQuick

Topologies

  • Remove the old pipeline: topology events visitor / handleTopologyChange methods
  • Transform TopologicalMapping into TopologicalEngines
  • Complete list of component that handle topology change and test them: #810
  • Add doc on topology change
  • Add doc on how my component can handle topology change

Multithreading

  • Parallelize deformable object solver algorithms
  • Convert SofaCuda plugin components to Cuda task async system

More projects

Besides the main roadmap tasks, a lot of projects are going to evolve in the next 6 months. Please find the details of their objectives in the STC#7 Report below.

  • User Experience
    The whole community is working on making SOFA user experience better and better.
  • Sofa Launcher
    A solution to run multiple simulations on a grid of computers.
  • SparseMatrices & Solvers
    Updating the way matrices are stored and handled in SOFA was already discussed at the previous STC. At this STC#7, Ryadh (post-doc at Mimesis, Inria Strasbourg) and Federico Spadoni (freelance SOFA) discussed how solvers could be accelerated using model decomposition coupled with multithreading. On this project, the matrix format could also be revisited.
  • Simplified collision-constraint pipeline
    For several months, Hadrien and Omar (Mimesis, Inria Strasbourg) are working on a simplified pipeline to compute collision detection and response. This work is done for now in a plugin and could be publicly proposed.
  • High Order Topologies
    Within the Epione team (Inria Sophia-Antipolis), Herve Delingette and his team are working on model the cardiac electrophysiology. To do so, they are also focusing on high-order topologies as support of interpolation of physical models.
  • Flexible
    Several developers within the community (MJ Barrow or Gaetan Desrues) are interested in working again on the Flexible project. Flexible principle is to distinguish the physical model and the space integration.
  • DSL approach
    Work on online/runtime generation of SOFA multiphysics components (as in FreeFEM/Fenics)

Read the full STC#7 report

Read reports of previous STC

Back to Top