A Domain-Specific Language for Programming in the Tile Assembly Model
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.
Unable to display preview. Download preview PDF.
- 1.Becker, F.: Pictures worth a thousand tiles, a geometrical programming language for self-assembly. Theoretical Computer Science (to appear)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
- 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
- 14.Winfree, E.: Simulations of computing by self-assembly. Tech. Report CaltechCSTR:1998.22. California Institute of TechnologyGoogle 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