Software Engineering for Molecular Programmings2erc.iastate.edu/wp-content/uploads/rlutz_2014... ·...
Transcript of Software Engineering for Molecular Programmings2erc.iastate.edu/wp-content/uploads/rlutz_2014... ·...
![Page 1: Software Engineering for Molecular Programmings2erc.iastate.edu/wp-content/uploads/rlutz_2014... · Image: Science News, 2010. Neural network simulation Many of the applications will](https://reader033.fdocuments.net/reader033/viewer/2022042207/5ea9ecce08352a784206c976/html5/thumbnails/1.jpg)
Software Engineering for Molecular Programming
Robyn Lutz
[email protected] http://www.cs.iastate.edu/~rlutz Department of Computer Science
Iowa State University
S2ERC Research Center Industrial Outreach Workshop July 10, 2014
Robyn Lutz 7/10/14 1
![Page 2: Software Engineering for Molecular Programmings2erc.iastate.edu/wp-content/uploads/rlutz_2014... · Image: Science News, 2010. Neural network simulation Many of the applications will](https://reader033.fdocuments.net/reader033/viewer/2022042207/5ea9ecce08352a784206c976/html5/thumbnails/2.jpg)
2
How do we build more robust systems?
Software Safety & Reliability
Software Engineering
Requirements
Engineering
NASA
Robyn Lutz 7/10/14
![Page 3: Software Engineering for Molecular Programmings2erc.iastate.edu/wp-content/uploads/rlutz_2014... · Image: Science News, 2010. Neural network simulation Many of the applications will](https://reader033.fdocuments.net/reader033/viewer/2022042207/5ea9ecce08352a784206c976/html5/thumbnails/3.jpg)
3
Growth in Critical Systems
Pacemaker & Defibrillator
NASA-Ames Research Center NASA
MRI machine
http://www.terumo.co.th/image/medical2.jpg
http://i.cnn.net/cnn/2004/HEALTH/02/10/ dyslexia.ap/story.dyslexia.ap.jpg
Medical Infusion
Pump
Guidant
Unmanned Helicopter Space Telescope
Robyn Lutz 7/10/14
![Page 4: Software Engineering for Molecular Programmings2erc.iastate.edu/wp-content/uploads/rlutz_2014... · Image: Science News, 2010. Neural network simulation Many of the applications will](https://reader033.fdocuments.net/reader033/viewer/2022042207/5ea9ecce08352a784206c976/html5/thumbnails/4.jpg)
Molecular programming
Robyn Lutz 7/10/14 4
“Computing with soup Molecular computing: DNA is sometimes called the software of life. Now it is being used to build computers that can run inside cells.” - The Economist, 3/3/2012
![Page 5: Software Engineering for Molecular Programmings2erc.iastate.edu/wp-content/uploads/rlutz_2014... · Image: Science News, 2010. Neural network simulation Many of the applications will](https://reader033.fdocuments.net/reader033/viewer/2022042207/5ea9ecce08352a784206c976/html5/thumbnails/5.jpg)
Molecular programming (DNA nanotechnology)
Molecular programming creates and programs a wide variety of synthetic nanosystems that autonomously assemble themselves from molecular components. Programming is done by carefully choosing the molecular strands & their concentrations such that they will achieve the desired shape, structure, function or dynamic behavior.
We are interested in the software engineering of these programmed systems.
Robyn Lutz 7/10/14 5
![Page 6: Software Engineering for Molecular Programmings2erc.iastate.edu/wp-content/uploads/rlutz_2014... · Image: Science News, 2010. Neural network simulation Many of the applications will](https://reader033.fdocuments.net/reader033/viewer/2022042207/5ea9ecce08352a784206c976/html5/thumbnails/6.jpg)
We borrow ideas from nature...
• Molecular walkers
• Neural networks
Shin, J. S. & Pierce, N. A. J. Am. Chem. Soc. 126, 10834-10835 (2004).
Qian, L., Winfree, E. & Bruck, J. Nature 475, 368-372 (2011).
Robyn Lutz 7/10/14 6
Computing with DNA
Simulate digital signals with DNA logic circuits (AND, OR, NOT): Low (High)concentration/no fluorescence;
Universal “seesaw” gate implements AND, OR by varying concentration of threshold gate (Qian and Winfree, 2011)
Molecular computer: 130 DNA-strand calculates the floor of the Square Root of four-bit binary numbers
(Qian and Winfree, 2011) Science Photo Library/Alamy.
Binary Counter Barish, Schulman, Rothemund, and Winfree, PNAS 2009
Self-assembled DNA box with a controllable lid, E. S. Andersen, et al., 2009.
Molecular Robotics
Seeman (2010): DNA Spider on Origami Track
Molecular robots guided by
prescriptive landscapes, Lund, et al., 2010. Image: Science News, 2010.
Neural network simulation
Many of the applications will be safety-critical
![Page 7: Software Engineering for Molecular Programmings2erc.iastate.edu/wp-content/uploads/rlutz_2014... · Image: Science News, 2010. Neural network simulation Many of the applications will](https://reader033.fdocuments.net/reader033/viewer/2022042207/5ea9ecce08352a784206c976/html5/thumbnails/7.jpg)
Figure 1. Atomic Force Microscope images of DNA origami pliers: (a) at initiation, DNA pliers are open in the cross form, (b) upon adding SA moleculesto the solution, DNA pliers close to the parallel form, capturing the SA molecules in the pliers’ jaws; (c)at reset via addition of unset strands DNA pliersre-open, releasing SA molecules. Adapted by permission from Macmillan Publishers Ltd: ref. [12], copyright 2011.
embedded in human cells [10], [11].
The contribution of this paper is to suggest a discipline
by which requirements engineering and formal verifica-
tion can be performed on programmable, self-assemblying
nanomachines. We restrict ourselves here to discussing this
in the context of an important, recent development of one
such nanomachine, DNA origami pliers [12]. We investigate
(1) what it means to specify and validate requirements on
programmable DNA self-assemblies and (2) how we can
verify formally that a self-assembly satisfies its require-
ments. While we do not expect an off-the-shelf framework
to suffice in this domain, we take as our starting point the
identification, evaluation, specification and verification of
requirements for DNA origami pliers as a self-assembling,
programmable nanomachine, using van Lamsweerde’s goal-
oriented requirements engineering [13] and themodel check-
ing of the derived requirements using PRISM. We describe
below our use, results and adjustments of the existing
methods to better fit this new domain.
I I . REQUIREMENTS ENGINEERING
The requirements identification and domain understand-
ing for this initial work were largely artifact-driven, based on
reverse engineering requirements for the nanomachines from
papers describing experimental results. Some of us are do-
main experts, who also served as stand-ins for stakeholders.
Wegained additional insights into the domain by visits to the
wet laboratory. In identifying and refining the requirements,
our primary concern was accuracy. The creation of a goal
graph and operational model matured the requirements, led
to many revisions of domain properties and assumptions,
and surfaced additional subgoals. It also provided a way to
structure the variety of unfamiliar information that we had.
The requirements evaluation found inconsistencies in the
vocabulary used due to the interdisciplinary nature of DNA
nanotechnology and lab-specific dialects. The evaluation
also showed that the functional requirements for the pliers
nanomachine were probabilistic. The requirements speci-
fication constructed iterative versions of the goal graphs
that were increasingly precise and accurate. The plan to
formally verify the requirements led to a better informal
representation, as well. We simultaneously built a formal
state machine model in PRISM, and formalized a set of key
requirements in it. Requirements validation and verification
by simulation and model checking helped assure that these
requirements weresatisfied in themodel, asdescribed below.
The nanomachines to be built are complex, asynchronous,
probabilistic, and resource constrained. They have both
functional and nonfunctional requirements. Functional re-
quirements state what the self-assembly shall do. The most
important functional requirements are geometric, i.e., speci-
fying the shape or structure that the assembly shall achieve,
or behavioral, i.e, specifying what the assembled shape shall
do.
DNA or igami pliers. We consider a DNA origami struc-
ture that can detect the presence of a target molecule in a
solution [12]. The pliers are a nanomachine because they
open and close autonomously (i.e., change their shape)
depending upon the presence or absence of a target molecule
(in this case, SA-streptavidin tetramer) in their environment.
They thus can serveas monitors to “diagnose” whether SA is
present. A future such application might be to detect harmful
molecules within human cells. As shown in Fig. 1(a), the
DNA origami structure is programmed to assemble in the
shape of “pliers” in the open position. (Each yellow cross
pointed to by an arrow is an open pliers.) The pliers are
programmed such that, once assembled, they will capture a
particular molecule of interest by closing that molecule in
their jaws, Fig. 1(b). They should then release the molecule
when “unset strands” of DNA are added to the solution.
Observation through an atomic force microscope (AFM) of
the pliers shows whether the molecule of interest is present
in the solution.
There is a key difference between goal modeling for this
domain and for others in that we need to distinguish the
goals for the entire system from the goals for the individual
pliers. The high-level goal is to detect the target molecule.
The assigned agents to achieve this are the pliers. There
are thus a huge number of agents, roughly on the order of
a nanomole 6⇥ 1014 of them. Each of these agents has a
significant probability of failing to achieve its goal.
DNA origami pliers to detect presence of a target molecule
Robyn Lutz 7/10/14 7
![Page 8: Software Engineering for Molecular Programmings2erc.iastate.edu/wp-content/uploads/rlutz_2014... · Image: Science News, 2010. Neural network simulation Many of the applications will](https://reader033.fdocuments.net/reader033/viewer/2022042207/5ea9ecce08352a784206c976/html5/thumbnails/8.jpg)
Software engineering analysis tells you: Does the DNA system do what you want? • Modeled the behavior of DNA pliers in
solution. • Identified an unexpected failure state. • Verified by model checking that key
properties are satisfied in the model--if the ratio of targets to detectors isn’t too low or too high:
1. Achieve capture when the target molecule (SA) is present 2. Avoid false positives when SA is not present 3. Identified error state (one SA in each jaw) [ICSE’12, RE’12]
States of a DNA origami pliers
Robyn Lutz 7/10/14 8
![Page 9: Software Engineering for Molecular Programmings2erc.iastate.edu/wp-content/uploads/rlutz_2014... · Image: Science News, 2010. Neural network simulation Many of the applications will](https://reader033.fdocuments.net/reader033/viewer/2022042207/5ea9ecce08352a784206c976/html5/thumbnails/9.jpg)
Robyn Lutz 7/10/14 9
Many envisioned DNA nanosystem applications will be safety-critical (ex. bio-sensors, drug delivery) Problem:
Monitoring for when an expected event occurs in a DNA nanosystem is hard. Monitoring for the absence of an expected event is even harder.
Solution: We’ve designed a robust, molecular watchdog timer & verified that the probabilistic model works as intended. [ASE’14]
recantha.co.uk
A molecular watchdog timer
![Page 10: Software Engineering for Molecular Programmings2erc.iastate.edu/wp-content/uploads/rlutz_2014... · Image: Science News, 2010. Neural network simulation Many of the applications will](https://reader033.fdocuments.net/reader033/viewer/2022042207/5ea9ecce08352a784206c976/html5/thumbnails/10.jpg)
Q: What good is Software Engineering? A: A better way to make a new programmed system in DNA! • Provides a process for incremental goal refinement/risk
analysis • Identifies missing requirements and incorrect operating
assumptions • Predicts performance • Gives assurance that some failure modes are unlikely • Yields requirements for more robust system • Reduces number of experiments (aka tests & re-work)
needed
Robyn Lutz 7/10/14 10
Wikipedia commons
Thanks!