The Role of Environmental Assumptions in Failures of DNA Nanosystems

Many failures arise from complex and imperfectly understood interactions of a computational system with aspects of the environment in which it operates. By environment we mean the computational system's broader context, also called the problem world. In this work, we propose a new analysis technique called failure frames, a variation of Jackson's problem frames, to identify and model classes of environmental assumptions whose violation is known from experience to have prevented the requirements from being satisfied. We use instances of failure frames, called failure diagrams, to make explicit in the requirements model the environmental assumptions that contributed to past failures. Developers want to reuse such knowledge of past failures to prevent failures in similar, new systems. We show that failure frames and failure diagrams can capture environmental assumptions that developers need to check in order to prevent recurrence of certain failures in similar application areas. The new failure frame approach that we describe arose from our work in molecular programming of DNA nanosystems. Inaccurate assumptions about the environment are a source of many failures in DNA nanosystems and can be extremely challenging to resolve. We describe the structure of a failure catalog for DNA nanosystems that we have prototyped for use by molecular programmers. We hypothesize that the failure frame approach and catalog can be broadly useful for reducing failure recurrence in other large, distributed applications with autonomous or nondeterministic behavior that must operate in uncertain environments.

[1]  Jack H. Lutz,et al.  Automated requirements analysis for a molecular watchdog timer , 2014, ASE.

[2]  Kishor S. Trivedi,et al.  An empirical investigation of fault repairs and mitigations in space mission system software , 2013, 2013 43rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).

[3]  Robyn R. Lutz,et al.  Mining Requirements Knowledge from Operational Experience , 2013, Managing Requirements Knowledge.

[4]  Common Attack Pattern Enumeration and Classification — CAPEC TM A Community Knowledge Resource for Building Secure Software , 2013 .

[5]  Jack H. Lutz,et al.  Requirements analysis for a product family of DNA nanodevices , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[6]  John Knight,et al.  Fundamentals of Dependable Computing for Software Engineers , 2012 .

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

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

[9]  Mark Bathe,et al.  A primer to scaffolded DNA origami , 2011, Nature Methods.

[10]  G. Zuccheri,et al.  DNA nanotechnology : methods and protocols , 2011 .

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

[12]  Axel van Lamsweerde From Worlds to Machines , 2009 .

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

[14]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[15]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

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

[17]  J. Reason Human error: models and management , 2000, BMJ : British Medical Journal.

[18]  Axel van Lamsweerde,et al.  Integrating obstacles in goal-driven requirements engineering , 1998, Proceedings of the 20th International Conference on Software Engineering.

[19]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[20]  Peter Neumann,et al.  Safeware: System Safety and Computers , 1995, SOEN.

[21]  Michael A. Jackson,et al.  Software requirements and specifications - a lexicon of practice, principles and prejudices , 1995 .