Executable Formal Models in Rewriting Logic
Carolyn Talcott RTA 2015
1
Executable Formal Models in Rewriting Logic Carolyn Talcott RTA - - PowerPoint PPT Presentation
Executable Formal Models in Rewriting Logic Carolyn Talcott RTA 2015 1 Formal Executable Models For design, prototyping, analysis. To clarify ideas, squash insidious bugs early on many bugs / flaws can be found by just formalizing
1
2
3
4
5
Impact
rapid prototyping state space search
S |=Φ
model checking
Curator/model builder asking questions
6
7
8
9
10
distributed, or even mobile.
concurrent change over time / inference rules: Dual use of rewrite rules
axioms), BUT
11
12
Buy-c Buy-a change c a q $ 4 mod VENDING-MACHINE is sorts Coin Item Place Marking . subsorts Coin Item < Place < Marking .
*** empty marking
[assoc comm id: null] . *** multiset rl[buy-c]: $ => c . rl[buy-a]: $ => a q . rl[change]: q q q q => $ . endm
13
14
15
relation, theories, proofs) can be represented at the object level in a consistent way.
16
17
18
19
20
specifications.
21
language specific tools
22
Deduc&ve( program( verifier( Parser( Interpreter( Compiler( (seman&c)( Debugger( Symbolic( execu&on( Model( checker( Formal(Language(Defini&on(( (Syntax(and(Seman&cs)( TestDcase( genera&on(
23
24
25
26
sender receivers!
repair server lossy link
Active Error Recovery / Nominee based Congestion Avoidance (AER/NCA) a suite of protocols to achieve adaptive reliable multicast
each receiver in the multicast group.
loss rates and the distance to the sender. Modeling challenges:
27
Formalization started with detailed but informal use case analysis provided by the developers of AER/NCA
set to True .
executable models of resource usage
time (rewriting modulo SMT)
28
29
30
31
32
Svc sTk ServerNode App cTk ClientNode cPxy SvcMgr sPxy
RegistryNode Reg: db findSvc SvcCall LookUp Register Register Remote Messaging SvcCall
SSPTK -- a Java implementation of a secure SPTK
33
App cSTM cSPTk cAP sSP sAP Svc Lup sSTM
findService lookUp signedProxy verify
install
cSP
authenticate authenticate ckClient
create encrypted cSP install decrypt
findServiceReply SvcCall SvcCall SvcCall check SvcReply SvcReply SvcReply check descr
34
1.1 ! 1.2 1.3 1.4 Level 0 ! + + ! + ! + ! Level 1
! + ! + ! + ! Level 2
+ ! + ! + ! Level 2a
+ ! + ! Level 3
2.1 ! 2.2 2.3 2.4 Level 0 ! + + ! + ! + ! Level 1 + ! + ! + ! + ! Level 2 + !
+ ! + ! Level 2a + !
+ ! Level 3 + !
1.1 attacker sees/modifies client data 1.2 attacker replaces registered proxy (clients gets wrong service) 1.3 illegal or unauthorized service call 1.4 client imposter succeeds
Analysis with Compromised Registry
2.1 client app can get proxy to requested/ registered service (sanity check) 2.2 client app accepts proxy to attacker service 2.3 client app accepts wrong proxy 2.4 service integrity violated
35
37
Yarden and Sliwkowski, Nat. Rev. Mol. Cell Biol. 2: 127-137, 2001 Yarden and Sliwkowski, Nat. Rev. Mol. Cell Biol. 2: 127-137, 2001
Yarden and Sliwkowski, Nat. Rev. Mol. Cell Biol. 2: 127-137, 2001
Key components
Curation Inference Reasoning Little Mechanism to Big Mechanism
RKB Paper Datums Rules Executable RuleKB Explanation
Sanity Check
sort HrasSort . subsort HrasSort < RasS < BProtein .
(synonyms "GTPase HRas" "Transforming protein p21" "v-Ha-ras Harvey rat sarcoma viral oncogene homolog" "Harvey murine sarcoma virus oncogene" "H-Ras-1" "c-H-ras" "HRAS1" "RASH1" "RASH_HUMAN"))] .
(subunits Pik3cs Pik3rs) (comment "PI3 Kinase is a heterodimer of:" "a p110 catalytic subunit: Pik3ca, Pik3cb, Pik3cd or Pik3cg" "a p85 regulatory subunit: Pik3r1, Pik3r2, or Pik3r3"))] .
rl[529.Hras.irt.Egf]: < Egf : [EgfR - Yphos], EgfRC > < [gab:GabS - Yphos], EgfRC > < [hrasgef:HrasGEF - Yphos], EgfRC > < Pi3k, EgfRC > < [Shp2 - Yphos], EgfRC > < [Hras - GDP], CLi > => < Egf : [EgfR - Yphos], EgfRC > < [gab:GabS - Yphos], EgfRC > < [hrasgef:HrasGEF - Yphos], EgfRC > < Pi3k, EgfRC > < [Shp2 - Yphos], EgfRC > < [Hras - GTP], CLi > *** ~/evidence/Egf-Evidence/Hras.irt.Egf.529.txt
variable for any of several HrasGEFs (enzymes to exchange GDP for GTP)
41
xHras[tAb] GTP-association[BDPD] is increased irt Egf (5 min)
Subject Assay Change Treatment SProtein Handle Name Detection Method Treatment Times
The Elements of a Datum
source: 15574420-Fig-5a
Source PMID Figure
inhibited by: xGab1(Y627F) [substitution]
Extra Entity Mutation Type Mode
cells: VERO<xHras><xGab1> in BMLS
Environment Cells Medium Cell Mutation Cell Mutation
13 Sos1-reloc-CLi Sos1-CLc EgfR-CLm 1 5 Grb2-reloc-CLi Egf:EgfR-act-CLm Grb2-CLc Egf-Out 13 Sos1-reloc-CLi Sos1-CLc EgfR-CLm 1 5 Grb2-reloc-CLi Egf:EgfR-act-CLm Grb2-CLc Egf-Out 13 Sos1-reloc-CLi Sos1-CLc EgfR-CLm 1 5 Grb2-reloc-CLi Egf:EgfR-act-CLm Grb2-CLc Egf-Out 13 Sos1-reloc-CLi Sos1-CLc EgfR-CLm 1 5 Grb2-reloc-CLi Egf:EgfR-act-CLm Grb2-CLc Egf-Out
Sos1Dish3 Sos1Dish2 Sos1Dish1 Sos1Dish =rule1=> =rule5=> =rule13=> Ovals are occurrences -- biomolecules in locations (aka places). Dark ovals are present in the current state (marked). Squares are rules (aka transitions). Dashed edges connect components that are not changed.
a resting cell) to different treatments (Egf,Insulin,Tnfa,Tgfb, Lps (bug bit), Serum, ....)
Msk2 Creb1 Arf1
given set of goals
more than one stimulus.
47
48
49
50