Molecular programming is an emerging nanotechnology that uses the information-processing capabilities of DNA and other biomolecules to create and control very small devices. Scientists in this area are developing more complex and sophisticated devices every year. Molecular programming will soon move beyond basic science to promising real-world applications ranging from targeted drug-delivery in humans to smart materials that are compatible with living tissue. This project is developing new methods for designing dependability into systems of molecular programs and reasoning about their behavior. This research will make molecular programming more productive, dependable, and safe. The investigators are training a diverse and successful group of researchers and educators in molecular programming, and the project will develop methods for constructing assurance cases that future applications will need in order to be certified for real-world use.
The design and verification of molecular programs face three major challenges. These are the complexity and randomness of the programs themselves, the complexity and randomness of the environments in which they will operate, and the safety-critical nature of many of their envisioned applications. This project is addressing these challenges by building complex molecular programs as systems of simpler molecular programs that use biochemical signals to communicate with one another and by adapting dependability methods from software engineering to the design and verification of these systems. Most of the project's fundamental science lies in this adaption to a chemical world that is far more capricious than the highly engineered silicon platforms on which traditional software operates.
This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.