Degree Type


Date of Award


Degree Name

Doctor of Philosophy


Computer Science


Computer Science

First Advisor

James I. Lathrop

Second Advisor

Robyn R. Lutz


The behavior of matter at the molecular level can be programmed to create nanoscale

molecular components that accomplish desired tasks. Many molecular components are developed

with intended uses that are safety-critical, such as medical applications. Ensuring the correctness

and fault tolerance of such devices is paramount. Techniques to develop robustly correct programs

have been widely studied in software systems and many devices have been constructed to aid in

the safe operation of systems. We seek to demonstrate the effectiveness of software and safety

engineering techniques in the molecular programming domain.

In this thesis, we present the design of five new devices to aid in the development of safetycritical

molecular programmed systems. We introduce a Runtime Fault Detection device (RFD)

to robustly detect faults and initiate recovery actions in response to a failed system. We present

the Concentration Monitor, a device that can detect changes, major and minor, in concentrations

in real-time and demonstrate its utility. We also describe methods for constructing chemical

reaction networks that can robustly simulate any combinational logic gate. Finally, we present

two devices to log the state of a molecular program, where the first device logs a state upon

receiving a request, and the second device ensures that the current state meets a defined validity

property before allowing a log to be taken. All devices have been formally verified using model

checking, simulations, or formal proof techniques. The methods used to construct and verify

these devices can be adapted to the design of future molecular systems to assist in ensuring

their correctness.


Copyright Owner

Samuel Jay Ellis



File Format


File Size

97 pages