Designing correct, robust DNA devices is difficult because of the many possibilities for unwanted interference between molecules in the system. DNA strand displacement has been proposed as a design paradigm for DNA devices, and the DSD programming language has been developed as a means of formally programming and analysing these devices to check for unwanted interference.
We demonstrate, for the first time, the use of formal verification techniques, in particular model checking and probabilistic model checking, to analyse the correctness, reliability and performance of DNA devices during the design phase. We use the probabilistic model checker PRISM, in combination with the DSD language, to design and debug DNA strand displacement components and to investigate their kinetics. We show how our techniques can be used to identify design flaws and to evaluate the merits of contrasting design decisions, even on devices comprising relatively few inputs. We then demonstrate the use of these components to construct a DNA strand displacement device for approximate majority voting. Finally, we discuss some of the challenges and possible directions for applying these methods to more complex designs.
Marta Kwiatkowska is Professor of Computing Systems and Fellow of Trinity College, University of Oxford. She was elected to Academia Europea and received a prestigious ERC Advanced Grant VERIWARE "From software verification to everyware verification", 2010-15.
Kwiatkowska's research is concerned with modelling and verification techniques for probabilistic systems, with application to engineered and biological systems. She spearheaded the development of probabilistic and quantitative methods in verification on the international scene. Her work on the theory to practice transfer of probabilistic model checking was recognised by invitations to speak at the LICS 2003 and ESEC/FSE 2007 conferences. She led the development of the PRISM model checker (www.prismmodelchecker.org), the leading software tool in the area and widely used for research and teaching.
Applications of probabilistic model checking have spanned communication and security protocols, nanotechnology designs, power management and systems biology. Her research is currently supported by £3.7m of grant funding from EPSRC, EU, DARPA, Oxford Martin School and Microsoft Research.
Kwiatkowska serves on editorial board of IEEE Transactions on Software Engineering, Philosophical Transactions of the Royal Society A and Science of Computer Programming, and has lectured at several summer schools, including ESSLLI and the Marktoberdorf Summer School.