Requirements analysis for a product family of DNA nanodevices

DNA nanotechnology uses the information processing capabilities of nucleic acids to design self-assembling, programmable structures and devices at the nanoscale. Devices developed to date have been programmed to implement logic circuits and neural networks, capture or release specific molecules, and traverse molecular tracks and mazes. Here we investigate the use of requirements engineering methods to make DNA nanotechnology more productive, predictable, and safe. We use goal-oriented requirements modeling to identify, specify, and analyze a product family of DNA nanodevices, and we use PRISM model checking to verify both common properties across the family and properties that are specific to individual products. Challenges to doing requirements engineering in this domain include the error-prone nature of nanodevices carrying out their tasks in the probabilistic world of chemical kinetics, the fact that roughly a nanomole (a 1 followed by 14 0s) of devices are typically deployed at once, and the difficulty of specifying and achieving modularity in a realm where devices have many opportunities to interfere with each other. Nevertheless, our results show that requirements engineering is useful in DNA nanotechnology and that leveraging the similarities among nanodevices in the product family improves the modeling and analysis by supporting reuse.

[1]  Lulu Qian,et al.  A Simple DNA Gate Motif for Synthesizing Large-Scale Circuits , 2008, DNA.

[2]  A. Turberfield,et al.  A DNA-fuelled molecular machine made of DNA , 2022 .

[3]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[4]  Sebastián Uchitel,et al.  A foundation for behavioural conformance in software product line architectures , 2006, ROSATEA '06.

[5]  Nadrian C. Seeman,et al.  An Overview of Structural DNA Nanotechnology , 2007, Molecular biotechnology.

[6]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

[7]  Jehoshua Bruck,et al.  Neural network computation with DNA strand displacement cascades , 2011, Nature.

[8]  Kathi Fisler,et al.  Foundations of incremental aspect model-checking , 2007, TSEM.

[9]  Axel van Lamsweerde,et al.  Handling Obstacles in Goal-Oriented Requirements Engineering , 2000, IEEE Trans. Software Eng..

[10]  Jack H. Lutz,et al.  The Tile Assembly Model is Intrinsically Universal , 2011, 2012 IEEE 53rd Annual Symposium on Foundations of Computer Science.

[11]  Erik Winfree,et al.  On the computational power of DNA annealing and ligation , 1995, DNA Based Computers.

[12]  Stefania Gnesi,et al.  Formal Modeling for Product Families Engineering , 2008, 2008 12th International Software Product Line Conference.

[13]  Maurice H. ter Beek,et al.  Formal Description of Variability in Product Families , 2011, 2011 15th International Software Product Line Conference.

[14]  Hao Yan,et al.  DNA origami: a history and current perspective. , 2010, Current opinion in chemical biology.

[15]  Carlo Ghezzi,et al.  Run-time efficient probabilistic model checking , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[16]  Matthew R. Lakin,et al.  Modelling, Simulating and Verifying Turing-Powerful Strand Displacement Systems , 2011, DNA.

[17]  M. Komiyama,et al.  Nanomechanical DNA origami 'single-molecule beacons' directly imaged by atomic force microscopy , 2011, Nature communications.

[18]  Robert K. Brayton,et al.  Model-checking continuous-time Markov chains , 2000, TOCL.

[19]  Axel van Lamsweerde,et al.  Reasoning about partial goal satisfaction for requirements and design engineering , 2004, SIGSOFT '04/FSE-12.

[20]  Luca Cardelli,et al.  A programming language for composable DNA circuits , 2009, Journal of The Royal Society Interface.

[21]  John Kelly,et al.  Experiences Using Lightweight Formal Methods for Requirements Modeling , 1998, IEEE Trans. Software Eng..

[22]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[23]  Lloyd M. Smith Nanotechnology: Molecular robots on the move , 2010, Nature.

[24]  Axel van Lamsweerde,et al.  Requirements Engineering: From System Goals to UML Models to Software Specifications , 2009 .

[25]  Marta Z. Kwiatkowska,et al.  Stochastic Model Checking , 2007, SFM.

[26]  G. Seelig,et al.  Dynamic DNA nanotechnology using strand-displacement reactions. , 2011, Nature chemistry.

[27]  Ryan J. Kershner,et al.  Placement and orientation of individual DNA shapes on lithographically patterned surfaces. , 2009, Nature nanotechnology.

[28]  A. Finkelstein,et al.  A composite computational model of liver glucose homeostasis. II. Exploring system behaviour , 2012, Journal of The Royal Society Interface.

[29]  Jing Liu,et al.  Compositional model checking of software product lines using variation point obligations , 2010, Automated Software Engineering.

[30]  Adam H. Marblestone,et al.  Rapid prototyping of 3D DNA-origami shapes with caDNAno , 2009, Nucleic acids research.

[31]  Jack H. Lutz,et al.  Engineering and verifying requirements for programmable self-assembling nanomachines , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[32]  Zhuang Liu,et al.  Carbon nanotubes as photoacoustic molecular imaging agents in living mice. , 2008, Nature nanotechnology.

[33]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[34]  N. Seeman Nucleic acid junctions and lattices. , 1982, Journal of theoretical biology.

[35]  A. Finkelstein,et al.  A composite computational model of liver glucose homeostasis. I. Building the composite model , 2012, Journal of The Royal Society Interface.

[36]  I. Willner,et al.  Coherent activation of DNA tweezers: a "SET-RESET" logic system. , 2009, Angewandte Chemie.

[37]  Luca Cardelli,et al.  Design and analysis of DNA strand displacement devices using probabilistic model checking , 2012, Journal of The Royal Society Interface.

[38]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[39]  R. Lal,et al.  DNA zipper-based tweezers. , 2012, Langmuir : the ACS journal of surfaces and colloids.

[40]  P. Rothemund Folding DNA to create nanoscale shapes and patterns , 2006, Nature.

[41]  Robert M. Dirks,et al.  Selective cell death mediated by small conditional RNAs , 2010, Proceedings of the National Academy of Sciences.

[42]  Pierre-Yves Schobbens,et al.  Symbolic model checking of software product lines , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[43]  Pierre-Yves Schobbens,et al.  Managing evolution in software product lines: a model-checking perspective , 2012, VaMoS.

[44]  Shawn M. Douglas,et al.  A Logic-Gated Nanorobot for Targeted Transport of Molecular Payloads , 2012, Science.

[45]  David Lorge Parnas,et al.  Functional Documents for Computer Systems , 1995, Sci. Comput. Program..

[46]  Lulu Qian,et al.  Supporting Online Material Materials and Methods Figs. S1 to S6 Tables S1 to S4 References and Notes Scaling up Digital Circuit Computation with Dna Strand Displacement Cascades , 2022 .

[47]  Thomas A. Henzinger,et al.  Biology as reactivity , 2011, Commun. ACM.

[48]  Klaus Pohl,et al.  Model Checking of Domain Artifacts in Product Line Engineering , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.