2010 cmacs workshop on modeling biological systemsbiological systems are significantly different...
TRANSCRIPT
![Page 1: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/1.jpg)
Model checking
Christopher James Langmead
Department of Computer Science &
Lane Center for Computational Biology
Carnegie Mellon University
January 14, 2010
![Page 2: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/2.jpg)
Outline
Complex Systems
Model checking
History, Concepts, Significance
Model checking Biology?
Example: Cancer
![Page 3: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/3.jpg)
Complex Systems
Even rocket scientists make mistakesAriane 5 (1996),
floating point conversion error
Mars PathFinder (1997),
priority inversion deadlock
Mars Climate Orbiter
(1999), unit confusion
Deep Space 1,
(1999) data race
Mars Polar Lander,
(1999) Landing logic error
Spirit Mars Rover,
(2004) file system error
Mission Loss Mission Loss Mission Loss
![Page 4: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/4.jpg)
Complex Systems
Airbus A330
2009: Crash off Brazil due to inaccurate airspeed indication
… so do airplane designers
![Page 5: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/5.jpg)
Complex Systems
USS Yorktown:
1997 database overflow caused its propulsion system to fail
… and ship designers
![Page 6: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/6.jpg)
Complex Systems
… and circuit designers
Intel Pentium:
1994 FDIV bug:
execute 4195835 – 4195835 / 3145727 * 3145727
Chip returns 256, instead of zero
![Page 7: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/7.jpg)
Complex Systems
… and financial “wizards”
Remember subprime mortgages?
![Page 8: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/8.jpg)
Verification
Theoretically, we cannot know whether
a given design is free from all bugs
Because its impossible to anticipate
everything that could possibly go wrong
But, we can verify that the design
satisfies properties we specify explicitly
E.g., “does the design satisfy property 1
and property 2 and … and property n?”
![Page 9: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/9.jpg)
Formal Verification
The field of Formal Verification develops
clever techniques for computationally
determining whether a given design
satisfies a given set of properties
![Page 10: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/10.jpg)
Verification Strategies
Theorem Proving
Disadvantage: tedious and difficult
Simulation/testing
Disadvantage: modern designs are too
complicated to test exhaustively
Model checking
Advantage:
Algorithmic (i.e., automated)
Has been successful in the “real world”
Can aid in debugging designs
![Page 11: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/11.jpg)
The model checking problem
Model
Specification
Model
Checker
Yes
No, and a
counter-example
![Page 12: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/12.jpg)
The model checking problem
Model
Specification
Model
Checker
Yes
No, and a
counter-example
Specifications
are given in
temporal logic
![Page 13: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/13.jpg)
Temporal Logic
A logical notation for specifying logical
relationships in time
E.g., “event p happens before event q”
Two Types of Temporal Logics
Linear Time Logic (LTL)
Branching Time Logic
E.g., Computation Tree Logic (CTL)
![Page 14: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/14.jpg)
Linear Temporal Logic (LTL)
Temporal operators
G p “henceforth p is true”
F p “eventually p will be true” X p “p will be true next step” p U q “p is true until q is true”
An implicit path quantifier: A Á “property Á holds for all paths”
Á is „G p‟, „F p‟, „X p‟, or „p U q‟
![Page 15: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/15.jpg)
Typical LTL formulas
Liveness (something „good‟ will happen)
G F p p eventually becomes true, for all paths
Safety (nothing „bad‟ will happen) G : ( p & q)
p and q are never true at the same time
Fairness
( G F p ) ( G F q ) If p becomes true, q eventually becomes true
![Page 16: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/16.jpg)
Computation tree logic (CTL)
2 (explicit) path quantifiers
A = “for all paths”
E = “for some path”
p
p p
p p p p
p
p p
p
p
p p
A G p A F p E G p E F p
![Page 17: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/17.jpg)
Typical CTL formulas
EF(p Æ : q)
It is possible to get to a state where p holds, but q does not
AG(p ) AF q)
If p occurs, q will eventually occur
AG(AF p)
p occurs infinitely often, along all paths
AG(EF p)
It is possible to reach state a state were p holds, regardless of where you begin
![Page 18: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/18.jpg)
Model checking: Example
Traffic Light Controller
3 sensors (N,S,E)
If car present, and light red,
sensor requests a light
change
A lock controls access to
the lights
E
S
N
Can we:
Guarantee no collisions
Guarantee eventual service
![Page 19: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/19.jpg)
Specifications
Safety (no collisions)
AG (E_Go (N_Go | S_Go));
Liveness
AG ( N_Go N_Sense AF N_Go);
AG ( S_Go S_Sense AF S_Go);
AG ( E_Go E_Sense AF E_Go);
![Page 20: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/20.jpg)
CTL model checking algorithm
Example: AF p = “inevitably p”
Complexity
– linear in size of model (FSM)
– linear in size of specification formula
p
Note: corresponding LTL MC algorithm is exponential in formula size
AFpAFp
AFpAFp
![Page 21: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/21.jpg)
Counterexample
AG (E_Go (N_Go | S_Go)) is false
Ex. East and North lights on at same time...E_Go
E_Sense
NS_Lock
N_Go
N_Req
N_Sense
S_Go
S_Req
S_Sense
E_Req
1
2
3
4
5
6
7
8
9
10
time
S releases
NS lock, just
as N light
goes on.
E thus gets
lock (by
mistake), and
turns on,
while N is
still on
![Page 22: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/22.jpg)
State explosion problem
Explicit state model checkers are only
applicable to small systems
~109 states
Unfortunately, most real-world designs
have MUCH larger state spaces
![Page 23: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/23.jpg)
State explosion problem
The MC community has devised a
number of clever approaches to
(partially) dealing with this problem
Abstraction
“Symbolic” methods
“Partial order” methods
![Page 24: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/24.jpg)
Symbolic model checking
Basic idea:
Don‟t represent states explicitly. Use clever data structures or formulas to implicitly represent sets of states, and the transitions between them
Model checking can then be performed using set operations
![Page 25: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/25.jpg)
Image computation
EX p = states that can reach p in one step
EXp p
![Page 26: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/26.jpg)
Fixed point iteration
EF p = states that can reach p
S0 = pS1...Sw
![Page 27: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/27.jpg)
Model checking: History
Early 1980s: model checking invented
1990s: first commercial applications
Late 1990s/Early 2000s: first
applications to Biology
![Page 28: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/28.jpg)
Model Checking: Significance
Symbolic approaches have been used
to perform model checking on systems
with more than 10120 states
Industrial Applications
Hardware Design
Avionics
Chemical plant control
Nuclear Storage facilities
![Page 29: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/29.jpg)
Outline
Complex Systems
Model checking
History, Significance, Concepts
Model checking Biology?
Example: Cancer
![Page 30: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/30.jpg)
Model Checking for Biology?
Biological systems are significantly
different than engineered systems
Stochastic Dynamics
Larger state spaces (some are infinite-state)
Biological systems evolve in time and space
Biologists have different needs than
engineers
E.g., a biologist will often want to know the
probability of an event occuring, not simply
whether an event can occur
![Page 31: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/31.jpg)
Probabilistic model checking
There are specialized temporal logics for
reasoning about the probability a specification
is true
Ex. Pr¸½ F p
The probability that p will be true in the future is greater than, or equal to ½
Specialized model checking algorithms (e.g.,
BioLab) can be used to determine whether
the model satisfies the property
These algorithms rely on extensive simulations
and statistics
![Page 32: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/32.jpg)
Example
Cancer Modeling
Tumor development is a complex process
involving many genetic changes
These genetic changes occur over time
Are there preferred mutation sequences?
A,B,C a,b,c
a,B,C
A,b,C
A,B,c
Healthy Tumora,b,C
a,B,c
A,b,c
![Page 33: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/33.jpg)
Example: Properties
Pr¸½ :A_mut U (A_mut Æ B_mut Æ C_mut)
“The probability that mutations B and C occur before mutation A is at least ½”
A_mut Pr¸½ ( G F A_mut Æ B_mut Æ C_mut )
“If A is mutated, the probability that a tumor will develop is at least ½”
A_mut Æ D Pr·½ ( G F A_mut Æ B_mut Æ C_mut )
“If A is mutated, but we use drug D, the probability that a tumor will develop is no more than ½”
![Page 34: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/34.jpg)
This workshop
You will be modeling specific signaling
pathways in BioNetGen that are known
to be altered in many tumor types
You will be using model checking to
verify properties of the BioNetGen
models
![Page 35: 2010 CMACS Workshop on Modeling Biological SystemsBiological systems are significantly different than engineered systems Stochastic Dynamics Larger state spaces (some are infinite-state)](https://reader034.vdocuments.mx/reader034/viewer/2022042111/5e8c6e1d362ba0663e59abc5/html5/thumbnails/35.jpg)
Summary
Model checking is useful way to verify
properties of complex systems
Historically, model checking was
invented to verify properties of
engineered systems
More recently, new model checking
algorithms have been developed for
studying biological systems