More ¡Abstrac,on ¡ Laurent ¡Voisin, ¡Systerel ¡ 2-6 July 2012, Dagstuhl AI Meets Formal Software Development 1
About ¡Systerel ¡ • So6ware ¡development ¡ – Embedded ¡ – Safety-‑cri,cal ¡ – Real-‑Time ¡ • System ¡design, ¡safety ¡evalua,on, ¡tools ¡ • Formal ¡Methods: ¡B, ¡Event-‑B, ¡Tecla, ¡Scade,… ¡ • Data ¡valida,on ¡ 2-6 July 2012, Dagstuhl AI Meets Formal Software Development 2
Stepwise ¡Refinement ¡ • Concepts ¡are ¡introduced ¡gradually ¡ • Complexity ¡is ¡sliced ¡down ¡in ¡small ¡pieces ¡ • Makes ¡a ¡model ¡easier ¡to ¡grasp ¡ • And ¡easier ¡to ¡prove ¡ Instead ¡of ¡a ¡gigan,c ¡proof ¡ several ¡small ¡proofs ¡ that ¡can ¡be ¡automated ¡ 2-6 July 2012, Dagstuhl AI Meets Formal Software Development 3
But ¡refinement ¡is ¡not ¡enough ¡ When ¡you ¡want ¡to ¡work ¡with ¡large ¡models, ¡ you ¡need ¡more ¡than ¡refinement ¡ 2-6 July 2012, Dagstuhl AI Meets Formal Software Development 4
A ¡modelling ¡example ¡ • Interlocking ¡system ¡ – First ¡itera,on ¡in ¡2007 ¡ – Second ¡itera,on ¡in ¡2010 ¡ – Third ¡itera,on ¡in ¡2012 ¡ • What ¡we ¡learned… ¡ – Extract ¡complicated ¡data-‑structures ¡ – together ¡with ¡rules ¡for ¡reasoning ¡on ¡them ¡ 2-6 July 2012, Dagstuhl AI Meets Formal Software Development 5
The ¡language ¡is ¡important ¡ • Level ¡of ¡discourse ¡ • Having ¡the ¡right ¡tool ¡(i.e., ¡language) ¡ • Mathema,cians ¡have ¡known ¡this ¡for ¡centuries ¡ • Hence ¡an ¡extensible ¡mathema,cal ¡language ¡ • AI ¡could ¡help ¡detec,ng ¡that ¡a ¡model ¡is ¡not ¡at ¡ the ¡right ¡level ¡(esp. ¡for ¡beginners) ¡ 2-6 July 2012, Dagstuhl AI Meets Formal Software Development 6
Don’t ¡Repeat ¡Yourself ¡ • Already ¡detected ¡in ¡classical ¡B ¡ • Modelling ¡paXerns ¡ • Solu,on: ¡Generate ¡models ¡+ ¡proof ¡tac,cs ¡ • In ¡event-‑B, ¡generic ¡instan,a,on ¡of ¡paXerns ¡ • Proved ¡once, ¡used ¡several ¡,mes ¡ 2-6 July 2012, Dagstuhl AI Meets Formal Software Development 7
Link ¡with ¡AI ¡ • Refinement ¡plan: ¡ • From ¡a ¡failed ¡invariant ¡proof, ¡ • Based ¡on ¡paXern ¡recogni,on ¡ • Suggest ¡a ¡correc,on ¡to ¡the ¡model ¡ • Suggest ¡a ¡paXern ¡instan,a,on ¡instead ¡ 2-6 July 2012, Dagstuhl AI Meets Formal Software Development 8
Conclusion ¡ • Theories ¡+ ¡PaXerns ¡ • higher-‑level ¡building ¡blocks ¡ • like ¡a ¡programming ¡language ¡library ¡ • AI ¡could ¡help ¡finding ¡when ¡a ¡library ¡should ¡be ¡ used ¡instead ¡of ¡inlined ¡in ¡a ¡model ¡ 2-6 July 2012, Dagstuhl AI Meets Formal Software Development 9
Ques,ons ¡? ¡ 2-6 July 2012, Dagstuhl AI Meets Formal Software Development 10
Recommend
More recommend