Research Interests

I am interested in researching self-assembling and self-organizing systems which display complexity arising from simple components and local interactions. There are many examples in the natural world of both living and non-living systems in which large numbers of small, autonomous pieces form systems that are extremely complex without any centralized control and from simple sets of rules. By studying existing systems and designing novel ones, I hope to help illuminate fundamental properties of such systems which give rise to their complex behavior, including life. Additionally, the creation of complex artificial systems which self-assemble and self-organize could help to revolutionize many areas of technology, enabling wonders such as atomically precise manufacturing and nanoscale medical devices.

Current Research

Nanoscale Self-Assembly

My current research deals with models of self-assembling DNA 'tiles' and their ability to self-assemble intricate structures and to perform computations. We work extensively with an abstract model called the Tile Assembly Model (TAM) created by Erik Winfree. We have created a wiki site at which contains a large collection of decriptions, definitions, and research results in the area. Additionally, our software simulator and tutorials for its use, along with other helpful software can be found on the Software page.

Results of my research can be found on the publications page.

Below is a brief list of some of the projects I've worked on related to self-assembly.

Past Research

Cellular Automata

Before becoming interested in self-assembly, I did research on cellular automata with Dr. Chou in the ISU Complex Computation Lab. I worked primarily with Trend, a general purpose cellular automata simulator written by Dr. Chou. Some of the work I did with it is listed below.
  • Ported Trend to C++ and wxWidgets, which is an excellent cross-platform GUI library that I highly recommend
  • Implemented full support for simulation and visualization of three-dimensional cellular automata models
  • Added support for non-deterministic models
  • Added support for automated cellular automata space analysis
  • Created a two-dimensional, self-reproducing and mutating ‘worm’ model to study evolvability of simple cellular automata replicators
  • Created a three-dimensional self-replicator with pseudo-genome encoding

Processor Architecture

While working on my M.S., I was a research assistant for Dr. Akhilesh Tyagi working on reconfigurable processor architectures. For my M.S. thesis ("An Analysis of Reconfigurable Memory Queues/Computing Units Architecture") work I modified the SUIF Compiler System and MachineSUIF extension to evaluate a proposed architecture involving reconfigurable floating point computational units acting as extensible FIFO queue register sets.