An automata-theoretic approach to modular model checking
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computation with finite stochastic chemical reaction networks
Natural Computing: an international journal
Turing universality of the biochemical ground form
Mathematical Structures in Computer Science
A generic abstract machine for stochastic process calculi
Proceedings of the 8th International Conference on Computational Methods in Systems Biology
Efficient turing-universal computation with DNA polymers
DNA'10 Proceedings of the 16th international conference on DNA computing and molecular programming
Towards domain-based sequence design for DNA strand displacement reactions
DNA'10 Proceedings of the 16th international conference on DNA computing and molecular programming
Synchronous sequential computation with molecular reactions
Proceedings of the 48th Design Automation Conference
PRISM: a tool for automatic verification of probabilistic systems
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Stochastic simulation of multiple process calculi for biology
Theoretical Computer Science
Logically and physically reversible natural computing: a tutorial
RC'13 Proceedings of the 5th international conference on Reversible Computation
Hi-index | 0.00 |
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.