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.


Model Check Turing Machine Stochastic Simulation Full Adder Strand Displacement 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Soloveichik, D., Cook, M., Winfree, E., Bruck, J.: Computation with finite stochastic chemical reaction networks. Nat. Comput. 7, 615–633 (2008)MathSciNetCrossRefzbMATHGoogle 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)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

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

Personalised recommendations