Computer Science and Artificial Intelligence Laboratory

Software Dependability for Proton Therapy

The Software Design Group at MIT is engaged in a collaborative project with the Burr Proton Therapy Center (BPTC) in Boston and Ion Beam Applications (IBA) of Belgium, whose purpose is to develop and evaluate ideas for improving the quality and safety of medical software. This collaboration has resulted in three ongoing projects. One involves using Alloy to perform commutativity analysis on the Automatic Beam Scheduler, revealing situations concurrency between human operators can produce unexpected results. A second involves analyzing code dependences to identify and audit code responsible for critical functions. A third involves the development of end-to-end interlocks to ensure that machine settings match prescriptions.

This work is supported by the National Science Foundation ITR Programme (Safety Mechanisms for Medical Software, Award number 0325283).

1. End-to-End Dependability Analysis

Members (Dependability)

2. Separation of Concerns in Critical Systems

Traditionally, a requirements document is structured as a long list of individual "requirements", each describing an anticipated function or user interaction. The result of this approach is that different concerns that should be separated (in the requirements and then subsequently in the design and implementation) are merged together. In a critical system, this is bad, because it makes it hard to ensure that critical concerns are addressed properly, since they are intertwined with less critical ones. We are investigating a new approach based on the identification of "subproblems", whose composition is deferred. As a case study, we are analyzing a part of the design of the proton therapy system that handles the positioning of the gantry for two distinct purposes: determining exact alignments for treatment, and establishing and recording convenient positions for imaging.

Members (Separation of Concerns)

3. Alloy Model of the Automatic Beam Scheduler

We modeled the proposed Automatic Beam Scheduler algorithm in Alloy, and analyzed the commutativity of the commands. That Alloy model is available for download. Here is a description of the files in the archive:

These files are compatible with Alloy v3. You can download current and past versions of Alloy from the Alloy website.

Members (Beam Scheduler)