2. When People Think of
Programming Languages…
Do you study PHP? JavaScript?
What language
should I learn?
I’m not a programmer,
so your work probably
doesn’t apply to me.
3. What Programming Languages
Research Is Really About
Programming languages provide
logical frameworks for reasoning
about complex systems.
• Reasoning about software systems
helps us make them faster and more
correct.
• Reasoning about other systems can
help us with understanding.
4. Complex System of Interest:
Cellular Signaling
• Important:
Understanding
cell signaling
would help with
curing disease!
• Difficult:
Existing models
are difficult to
scale and
understand.
5. State of the Art Modelling
Approaches
Systems of
differential
equations
Boolean networks
and Petri nets
6. Problems with Existing
Approaches
• Limited scaling. With differential
equations, for instance, need a different
equation for each interaction.
• Need the whole picture. People don’t
just sit down and tweak differential
equations until they are right.
• Gap between model and intuition.
Equations look nothing like what is in
biologists’ heads. This is an obstacle in
creating models!
8. + @ (0.8)
+ @ (0.5)
Solution: Model Mechanism
Using Rule-Based Programs
Mechanistic Kappa rules
+ @ (0.2)
Initial mixture One step Final state
9. Kappa Advantages
• Rules are patterns. Model does not need
to enumerate all possible interactions, and
we can build up the model piece by piece.
• Programs have structure. Can use
structure to analyze programs for
properties such as reachability, and for
reducing models.
• Programs have precise semantics.
Can get sound guarantees from model
analyses.
10. Two Ways to “Run” Kappa
Programs
Simulation to
approximate
differential semantics
Analyzing rule
structure via program
analysis
Continuous-time
stochastic Monte Carlo
simulation allows
investigation of runtime
behavior.
Determine properties
such as reachability, rule
symmetries, and model
coarse-graining.
12. The Dream of Big Mechanism
+ @ (0.8)
+ @ (0.5)
+ @ (0.2)
︙
Requires precise
mechanistic
reasoning!
13. Obstacle: Natural Language is
Ambiguous
NLP
Hypothesis: Can use logical
deduction to navigate this space.
Scientific
literature
and
databases
Imprecision of
natural language
+ @ (0.8)
+ @ (0.5)
+ @ (0.2)
︙
14. Running Non-Biology
Example
Billy has a
sibling.
Billy has a
sister.
Billy’s Family Tree
Billy’s
father
Billy’s
mother
Billy
Billy’s
sibling
Billy’s
sister
15. Using Domain Facts to Clean
up Model
Billy’s Family Tree
Billy’s
father
Billy’s
mother
Billy
Billy’s
sister
Domain fact: A
sister is a kind
of sibling.
Specificity
Hierarchy
sibling
sister
Family
member type
Gendered
family member
type
16. Things Get Harder with
Implication
Billy’s Family Tree, if
we trust the neighbor
Billy’s
father
Billy’s
mother
Billy
Billy’s
sibling
Billy’s
sister
If we trust the
neighbor, Billy
has a sibling.
If we trust the
neighbor, Billy
has a sister.
17. Deducible Facts
Facts from
literature
∀𝑎. ℎ𝑎𝑠(𝑎, 𝑠𝑖𝑠𝑡𝑒𝑟) ⇒ ℎ𝑎𝑠(𝑎, 𝑠𝑖𝑏𝑙𝑖𝑛𝑔)
𝑡𝑟𝑢𝑠𝑡 𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑟 ⇒ ℎ𝑎𝑠(𝐵𝑖𝑙𝑙𝑦, 𝑠𝑖𝑏𝑙𝑖𝑛𝑔)
Domain
fact
𝑡𝑟𝑢𝑠𝑡 𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑟 ⇒ ℎ𝑎𝑠(𝐵𝑖𝑙𝑙𝑦, 𝑠𝑖𝑏𝑙𝑖𝑛𝑔)
Deducible
fact
Fact 𝑓 is deducible (and thus redundant) if
¬𝑓 is inconsistent with previous facts.
18. What About Specificity and
Implication?
If we trust the
neighbor, Billy has a
sibling.
If we trust anybody,
Billy has a sibling.
19. Relative Fact Specificity as
Subtyping
Subtyping Atomic Statements
∀𝑎1, 𝑎2. 𝑔𝑒𝑛𝑑𝑒𝑟𝑒𝑑𝐹𝑎𝑚𝑖𝑙𝑦𝑀𝑒𝑚𝑏𝑒𝑟(𝑎1) <: 𝑓𝑎𝑚𝑖𝑙𝑦𝑀𝑒𝑚𝑏𝑒𝑟 𝑎2
Subtyping Implications
𝑝𝑠 ⇒ 𝑞 𝑠 <: 𝑝𝑡 ⇒ 𝑞𝑡
Subtyping symbol
𝑡𝑟𝑢𝑠𝑡 𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑟 ⇒ ℎ𝑎𝑠 𝐵𝑖𝑙𝑙𝑦, 𝑠𝑖𝑠𝑡𝑒𝑟 <: 𝑡𝑟𝑢𝑠𝑡 𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑟 ⇒ ℎ𝑎𝑠(𝐵𝑖𝑙𝑙𝑦, 𝑠𝑖𝑏𝑙𝑖𝑛𝑔)
𝑡𝑟𝑢𝑠𝑡 𝑎𝑛𝑦𝑏𝑜𝑑𝑦 ⇒ ℎ𝑎𝑠 𝐵𝑖𝑙𝑙𝑦, 𝑠𝑖𝑏𝑙𝑖𝑛𝑔 <: 𝑡𝑟𝑢𝑠𝑡 𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑟 ⇒ ℎ𝑎𝑠(𝐵𝑖𝑙𝑙𝑦, 𝑠𝑖𝑏𝑙𝑖𝑛𝑔)
Want 𝑝𝑠 ⇒ 𝑞 𝑠 to be
consistent with any
set of formulas 𝑝𝑡 ⇒ 𝑞𝑡
is consistent with.
𝑝𝑡 <: 𝑝𝑠
𝑝𝑡 ⊢ 𝑞 𝑠 <: 𝑞𝑡
20. Domain Facts in Biology
Phosphorylation
implies activity
A activates B
A phosphorylates B
Can determine
these are
redundant, where
“A phosphorylates
B” is the more
specific
statement.
21. Hierarchy of Specificity
If C or D are
present, A
phosphorylates B
If C or D are
present, A
activates B
If C is present, A
phosphorylates B
22. Translating Statements to
Graph Logic
A phosphorylates B
Phosphorylation
implies activity
A activates B
〈𝐺, 𝛼〉
Set of allowable graphs
Iota rules [Husson & Krivine]
Actions over graphs
preconditions postconditions
24. Reasoning Goals
JeanYang/September2016
Nuggets Processed
• LRP5/6 is phosphorylated by CK1-alpha and GSK3-
beta.
• When phosphorylated, LRP5/6 can bind Axin.
Biological Intuition to Check Against
If LRP5/6 is next to Axin, then it is likely to have been
phosphorylated by CK1-alpha and GSK3-beta.
Currently working on:
1. Ways to represent facts about underlying biochemistry.
2. Ways to represent causal relationships.
3. Layer of probabilistic reasoning.
25. Causality in Kappa
+ @ (0.5)
+ @ (0.2)
1
2
1
2
In Kappa, the rule structure allows us to
talk about causal relationships called
stories.
Ongoing work: story generation; relative
frequencies of different stories.
26. The Grand Plan
+ @ (0.8)
+ @ (0.5)
+ @ (0.2)
︙
Space of
possible models
Rule-based models
Experiments,
diagnoses,
and
discoveries
Analyses
involving rule
structures and
rates
27. Reasoning is Useful to
Domains Other Than Biology!
Other fun application domains:
• Interactive games and digital
humanities
• Strange hardware architectures
• 3D knitting
28. Main Takeaways
• Programming languages research is
not so much about programming as it
is reasoning in principled ways
about complex systems.
• The structure of rule-based models
allows us to ask questions we could not
ask before.
• Using a rule-based modelling language
with precise operational semantics
allows us to do all sorts of analyses.