Modelling, Simulating and Verifying Turing-Powerful Strand Displacement Systems

  • Matthew R. Lakin
  • Andrew Phillips
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6937)


We demonstrate how the DSD programming language can be used to design a DNA stack machine and to analyse its behaviour. Stack machines are of interest because they can efficiently simulate a Turing machine. We extend the semantics of the DSD language to support operations on DNA polymers and use our stack machine design to implement a non-trivial example: a ripple carry adder which can sum two binary numbers of arbitrary size. We use model checking to verify that the ripple carry adder executes correctly on a range of inputs. This provides the first opportunity to assess the correctness and kinetic properties of DNA strand displacement systems performing Turing-powerful symbolic computation.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Venkataraman, S., Dirks, R.M., Ueda, C.T., Pierce, N.A.: Selective cell death mediated by small conditional RNAs. Proc. Natl. Acad. Sci. U S A 107(39), 16777–16782 (2010)CrossRefGoogle Scholar
  2. 2.
    Turing, A.M.: On computable numbers, with an application to the Entscheidungsproblem. Proc. London Mathematical Society s2-42(1), 230–265 (1937)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Zhang, D.Y., Seelig, G.: Dynamic DNA nanotechnology using strand-displacement reactions. Nat. Chem. 3, 103–113 (2011)CrossRefGoogle Scholar
  4. 4.
    Qian, L., Soloveichik, D., Winfree, E.: Efficient turing-universal computation with DNA polymers. In: Sakakibara, Y., Mi, Y. (eds.) DNA 16 2010. LNCS, vol. 6518, pp. 123–140. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  5. 5.
    Phillips, A., Cardelli, L.: A programming language for composable DNA circuits. J. R. Soc. Interface 6(suppl 4), S419–S436 (2009)CrossRefGoogle Scholar
  6. 6.
    Paulevé, L., Youssef, S., Lakin, M.R., Phillips, A.: A generic abstract machine for stochastic process calculi. In: Proc. CMSB 2010, pp. 43–54. ACM, New York (2010)Google Scholar
  7. 7.
    Zhang, D.Y.: Towards domain-based sequence design for DNA strand displacement reactions. In: Sakakibara, Y., Mi, Y. (eds.) DNA 16 2010. LNCS, vol. 6518, pp. 162–175. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Gillespie, D.T.: Exact stochastic simulation of coupled chemical reactions. J. Phys. Chem. 115, 1716–1733 (2001)CrossRefGoogle Scholar
  9. 9.
    Hinton, A., Kwiatkowska, M., Norman, G., Parker, D.: PRISM: A tool for automatic verification of probabilistic systems. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 441–444. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. 10.
    Bennett, C.H.: The thermodynamics of computation—a review. Int. J. Theor. Phys. 21(12), 905–939 (1982)CrossRefGoogle Scholar
  11. 11.
    Cardelli, L., Zavattaro, G.: Turing universality of the biochemical ground form. Math. Struct. Comp. Sci. 20(1), 45–73 (2010)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Soloveichik, D., Cook, M., Winfree, E., Bruck, J.: Computation with finite stochastic chemical reaction networks. Nat. Comput. 7, 615–633 (2008)MathSciNetCrossRefMATHGoogle Scholar
  13. 13.
    Cook, M., Soloveichik, D., Winfree, E., Bruck, J.: Programmability of chemical reaction networks. In: Condon, A., Harel, D., Kok, J.N., Salomaa, A., Winfree, E. (eds.) Algorithmic Bioprocesses, pp. 543–584. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Jiang, H., Riedel, M.D., Parhi, K.K.: Synchronous sequential computation with molecular reactions. In: Design Automation Conference, San Diego, California, USA, June 5–10 (2011)Google Scholar
  15. 15.
    Rothemund, P.W.K.: A DNA and restriction enzyme implementation of Turing machines. In: Lipton, R.J., Baum, E.B. (eds.) DNA Based Computers: DIMACS Workshop, held April 4, pp. 75–120. American Mathematical Society, Providence (1996)Google Scholar
  16. 16.
    Kupferman, O., Vardi, M.Y.: An automata-theoretic approach to modular model checking. ACM T. Progr. Lang. Sys. 22(1), 87–128 (2000)CrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Matthew R. Lakin
    • 1
  • Andrew Phillips
    • 1
  1. 1.Microsoft ResearchCambridgeUK

Personalised recommendations