Skip to main content

A Domain-Specific Language for Programming in the Tile Assembly Model

  • Conference paper
DNA Computing and Molecular Programming (DNA 2009)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5877))

Included in the following conference series:

Abstract

We introduce a domain-specific language (DSL) for creating sets of tile types for simulations of the abstract Tile Assembly Model. The language defines objects known as tile templates, which represent related groups of tiles, and a small number of basic operations on tile templates that help to eliminate the error-prone drudgery of enumerating such tile types manually or with low-level constructs of general-purpose programming languages. The language is implemented as a class library in Python (a so-called internal DSL), but is presented independently of Python or object-oriented programming, with emphasis on support for a visual editing tool for creating large sets of complex tile types.

This research was partially supported by NSF grants 0652569 and 0728806.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Becker, F.: Pictures worth a thousand tiles, a geometrical programming language for self-assembly. Theoretical Computer Science (to appear)

    Google Scholar 

  2. Blum, M.: On the size of machines. Information and Control 11(3), 257–265 (1967)

    Article  MATH  MathSciNet  Google Scholar 

  3. Chou, H.-H., Huang, W., Reggia, J.A.: The Trend cellular automata programming environment. SIMULATION: Transactions of The Society for Modeling and Simulation International 78, 59–75 (2002)

    Article  MATH  Google Scholar 

  4. Fowler, M.: Language workbenches: The killer-app for domain specific languages? (June 2005), http://martinfowler.com/articles/languageWorkbench.html

  5. Kao, M.-Y., Schweller, R.T.: Reducing tile complexity for self-assembly through temperature programming. In: Proceedings of the 17th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2006), Miami, Florida, January 2006, pp. 571–580 (2007)

    Google Scholar 

  6. Lathrop, J.I., Lutz, J.H., Summers, S.M.: Strict self-assembly of discrete Sierpinski triangles. Theoretical Computer Science 410, 384–405 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  7. Patitz, M.J.: Simulation of self-assembly in the abstract tile assembly model with ISU TAS. In: 6th Annual Conference on Foundations of Nanoscience: Self-Assembled Architectures and Devices, Snowbird, Utah, USA, April 20-24 (to appear, 2009)

    Google Scholar 

  8. Reif, J.H., Sahu, S., Yin, P.: Complexity of graph self-assembly in accretive systems and self-destructible systems. In: Carbone, A., Pierce, N.A. (eds.) DNA 2005. LNCS, vol. 3892, pp. 257–274. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Rothemund, P.W.K., Winfree, E.: The program-size complexity of self-assembled squares (extended abstract). In: STOC 2000: Proceedings of the thirty-second annual ACM Symposium on Theory of Computing, pp. 459–468. ACM, New York (2000)

    Chapter  Google Scholar 

  10. Seeman, N.C.: Nucleic-acid junctions and lattices. Journal of Theoretical Biology 99, 237–247 (1982)

    Article  Google Scholar 

  11. Soloveichik, D., Winfree, E.: Complexity of compact proofreading for self-assembled patterns. In: Carbone, A., Pierce, N.A. (eds.) DNA 2005. LNCS, vol. 3892, pp. 305–324. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  12. Soloveichik, D., Winfree, E.: Complexity of self-assembled shapes. SIAM Journal on Computing 36(6), 1544–1569 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  13. Spicher, A., Michel, O., Giavitto, J.-L.: Algorithmic self-assembly by accretion and by carving in MGS. In: Talbi, E.-G., Liardet, P., Collet, P., Lutton, E., Schoenauer, M. (eds.) EA 2005. LNCS, vol. 3871, pp. 189–200. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  14. Winfree, E.: Simulations of computing by self-assembly. Tech. Report CaltechCSTR:1998.22. California Institute of Technology

    Google Scholar 

  15. Winfree, E.: Algorithmic self-assembly of DNA. Ph.D. thesis, California Institute of Technology (June 1998)

    Google Scholar 

  16. Winfree, E., Bekbolatov, R.: Proofreading tile sets: Error correction for algorithmic self-assembly. In: Chen, J., Reif, J.H. (eds.) DNA 2003. LNCS, vol. 2943, pp. 126–144. Springer, Heidelberg (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Doty, D., Patitz, M.J. (2009). A Domain-Specific Language for Programming in the Tile Assembly Model. In: Deaton, R., Suyama, A. (eds) DNA Computing and Molecular Programming. DNA 2009. Lecture Notes in Computer Science, vol 5877. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10604-0_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10604-0_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-10603-3

  • Online ISBN: 978-3-642-10604-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics