A good model of a biological cell exposes secrets of the cell's signaling mechanisms, explaining diseases and facilitating drug discovery. Modeling cells is fundamentally a programming problem - it's programming because the model is a concurrent program that simulates the cell, and it's a problem because it is hard to write a program that reproduces all experimental observations of the cell faithfully. In this talk, I will introduce solver-aided programming languages and show how they ease modeling biology as well as make programming accessible to non-programmers. Solver-aided languages come with constructs that delegate part of the programming problem to a constraint solver, which can be guided to synthesize parts of the program, localize its bugs, or act as a clairvoyant oracle. I will describe our work on synthesis of stem cell models in c. elegans and then show how our framework called Rosette can rapidly implement a solver aided language in several domains, from programming by demonstration to spatial parallel programming.
Unfortunately, ACM prohibits us from displaying non-influential references for this paper.
To see the full reference list, please visit http://dl.acm.org/citation.cfm?id=2517229.