Software for a Total Artificial Heart
Nils Brynedal Ignell
Lead software developer, Scandinavian Real Heart
Heart failure is a deadly condition affecting large amounts of people each year. Methods for heart transplantation are very sophisticated but a shortage of donors cause many patients to die while waiting for a donated heart.
Scandinavian Real Heart is developing a total artificial heart (TAH) intended to extend the patient's life until a donor heart is available. A long term goal is also to provide a total artificial heart that can be in use until the end of the patient's life.
This talk will focus on the development of the embedded software for the controller of the heart, which uses two brush-less DC motors that are powered by the controller. The software, running on two ARM microcontrollers, makes sure the heart beats with the correct heart rate and stroke volume.
To achieve this, the software uses a variety of techniques, including several PID controllers as well as a mathematical model of the motor.
In order for the software to have a high level of reliability, it is written in Ada as well as SPARK, which provides methods for statically proving key design objectives, such as proper program flow, obedience of some key functional requirements, absence of several errors such as reading uninitialized data, reading outside the bounds of arrays, unintended access of data, etc.
At this time the heart has, together with the controller and its software, been used during animal tests in living (but anesthetized) pigs and calves