000 05154nam a22004935i 4500
001 978-3-031-01797-1
003 DE-He213
005 20240730163720.0
007 cr nn 008mamaa
008 220601s2011 sz | s |||| 0|eng d
020 _a9783031017971
_9978-3-031-01797-1
024 7 _a10.1007/978-3-031-01797-1
_2doi
050 4 _aQA1-939
072 7 _aPB
_2bicssc
072 7 _aMAT000000
_2bisacsh
072 7 _aPB
_2thema
082 0 4 _a510
_223
100 1 _aChang, Jessica.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
_980147
245 1 0 _aStoring Clocked Programs Inside DNA
_h[electronic resource] :
_bA Simplifying Framework for Nanocomputing /
_cby Jessica Chang, Dennis Shasha.
250 _a1st ed. 2011.
264 1 _aCham :
_bSpringer International Publishing :
_bImprint: Springer,
_c2011.
300 _aVIII, 68 p.
_bonline resource.
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
347 _atext file
_bPDF
_2rda
490 1 _aSynthesis Lectures on Computer Science,
_x1932-1686
505 0 _aIntroduction -- Notation -- A Topological Description of DNA Computing -- Machines and Motifs -- Experiment: Storing Clocked Programs in DNA -- A Clocked DNA Programming Language.
520 _aIn the history of modern computation, large mechanical calculators preceded computers. A person would sit there punching keys according to a procedure and a number would eventually appear. Once calculators became fast enough, it became obvious that the critical path was the punching rather than the calculation itself. That is what made the stored program concept vital to further progress. Once the instructions were stored in the machine, the entire computation could run at the speed of the machine. This book shows how to do the same thing for DNA computing. Rather than asking a robot or a person to pour in specific strands at different times in order to cause a DNA computation to occur (by analogy to a person punching numbers and operations into a mechanical calculator), the DNA instructions are stored within the solution and guide the entire computation. We show how to store straight line programs, conditionals, loops, and a rudimentary form of subroutines. To achieve this goal, the book proposes a complete language for describing the intrinsic topology of DNA complexes and nanomachines, along with the dynamics of such a system. We then describe dynamic behavior using a set of basic transitions, which operate on a small neighborhood within a complex in a well-defined way. These transitions can be formalized as purely syntactical functions of the string representations. Building on that foundation, the book proposes a novel machine motif which constitutes an instruction stack, allowing for the clocked release of an arbitrary sequence of DNA instruction or data strands. The clock mechanism is built of special strands of DNA called ""tick"" and ""tock."" Each time a ""tick"" and ""tock"" enter a DNA solution, a strand is released from an instruction stack (by analogy to the way in which as a clock cycle in an electronic computer causes a new instruction to enter a processing unit). As long as there remain strands on the stack, the next cycle will release a new instruction strand. Regardless of the actual strand or component to be released at any particular clock step, the ""tick"" and ""tock"" fuel strands remain the same, thus shifting the burden of work away from the end user of a machine and easing operation. Pre-loaded stacks enable the concept of a stored program to be realized as a physical DNA mechanism. A conceptual example is given of such a stack operating a walker device. The stack allows for a user to operate such a clocked walker by means of simple repetition of adding two fuel types, in contrast to the previous mechanism of adding a unique fuel -- at least 12 different types of strands -- for each step of the mechanism. We demonstrate by a series of experiments conducted in Ned Seeman's lab that it is possible to ""initialize"" a clocked stored program DNA machine. We end the book with a discussion of the design features of a programming language for clocked DNA programming. There is a lot left to do. Table of Contents:Introduction / Notation / A Topological Description of DNA Computing / Machines and Motifs / Experiment: Storing Clocked Programs in DNA / A Clocked DNA Programming Language.
650 0 _aMathematics.
_911584
650 0 _aComputer science.
_99832
650 1 4 _aMathematics.
_911584
650 2 4 _aComputer Science.
_99832
700 1 _aShasha, Dennis.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
_980148
710 2 _aSpringerLink (Online service)
_980149
773 0 _tSpringer Nature eBook
776 0 8 _iPrinted edition:
_z9783031006692
776 0 8 _iPrinted edition:
_z9783031029257
830 0 _aSynthesis Lectures on Computer Science,
_x1932-1686
_980150
856 4 0 _uhttps://doi.org/10.1007/978-3-031-01797-1
912 _aZDB-2-SXSC
942 _cEBK
999 _c84906
_d84906