Improving infrastructure and development practice for collaboration
Like most academic labs, the Musculoskeletal Mechanics Group at Imperial College London writes a lot of custom code. The Imperial College Lower Limb Model (ICLLM) is the product of some of this. It is a C- and Matlab-based musculoskeletal modelling software package that is currently being used and further developed as part of the Medical Engineering Solutions in Osteoarthritis Centre of Excellence, funded by the Wellcome Trust and the EPSRC. It allows the prediction of subject-specific muscle and joint forces at the hip, knee, and ankle by employing motion data obtained through gait analysis techniques. These outputs may be used to assess disease progression, or evaluate both surgical and non-surgical treatment strategies.
The transient nature of students and staff in academia has meant that the development of the ICLLM has been driven by several different students and researchers. Most of the group are engineers and have not been formally trained in best practices for ensuring the various components of the ICLLM are sustainable. There was a clear need for a strategy on how to contain the code, and strategies for ensuring easy further development. In addition, it was acknowledged that documentation and coding practices required improvement.
As a huge amount of time and money has gone into generating this code, the group acknowledged it was time to develop a long-term strategy for sustainability, and therefore submitted an application to the Software Sustainability Institute via the Open Call for projects.
The Institute worked with the group to technically assess the ICLLM and their development processes and policies, and is now assisting the group to move development to a revision control system. The Osteoartiritis Centre of Excellence aims to tackle big problems, and this project will help ensure their code continues to be useful and sustainable in the long term.