Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations &...

19
Reasoned Modelling: Combining Proof & Modelling Patterns Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University Gudmund Grov Maria Teresa Llano School of Informatics School of Mathematical & University of Edinburgh Computer Sciences Heriot-Watt University

Transcript of Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations &...

Page 1: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Reasoned Modelling:Combining Proof & Modelling Patterns

Andrew IrelandSchool of Mathematical & Computer Sciences

Heriot-Watt University

Gudmund Grov Maria Teresa LlanoSchool of Informatics School of Mathematical &University of Edinburgh Computer Sciences

Heriot-Watt University

Page 2: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Motivations & Sponsors

I While the rigour of building formal models brings significantbenefits, formal reasoning remains a major barrier to the wideracceptance of formalism within design.

I We aim to abstract away from the complexities of low-levelproof obligations, providing high-level modelling guidance –we call this reasoned modelling.

I Accessibility and productivity – allow smart designers to makebetter use of their time.

I Generic vision, using Event-B as our starting point.I EPSRC Funding: “A Cognitively Based Model of Theory

Formulation and Reformulation”I University of Edinburgh (EP/F035594)I Heriot-Watt (EP/F037058):

I Maria Teresa Llano (Research Student)I www.macs.hw.ac.uk/sear

I Imperial College (EP/F036647)

Page 3: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Overview

I Reasoning patterns via proof plans

I Proof automation

I Proof-failure analysis: proof patching & modelling guidance

I Combining proof & modelling heuristics

I Ongoing & future work

Page 4: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Proof Planning Architecture

I A technique that uses high-level proof outlines, i.e. proofplans, to automate the search for proofs.

I Automatic proof failure analysis & proof patching.

I Promotes reuse and flexibility of proof strategies.

Page 5: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

An Inductive Conjecture

I Conjecture:

∀t : list(τ). rotate(len(t), t) = t

I Rewrite rules (definitions & lemmas):

len(nil) ⇒ 0

len(X :: Y ) ⇒ s(len(Y ))

nil <> Z ⇒ Z

(X :: Y ) <> Z ⇒ X :: (Y <> Z )

rotate(0,Z ) = Z

rotate(s(X ), nil) = nil

rotate(s(X ),Y :: Z ) = rotate(X , (Z <> (Y :: nil)))

(X <> Y ) <> Z = X <> (Y <> Z )

X <> (Y :: Z ) = (X <> Y :: nil) <> Z

Page 6: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Step-case Proof

Generalized conjecture:

∀t, l : list(τ). rotate(len(t), t <> l) = l <> t

Given:

∀l ′ ∈ list(τ). rotate(len(t), t <> l ′) = l ′ <> t

Proof:

rotate(len(h :: t), h :: t <> l) = l <> h :: t

rotate(s(len(t)), h :: t <> l) = l <> h :: t

rotate(s(len(t)), h :: t <> l) = l <> h :: t

rotate(len(t), (t <> l) <> h :: nil) = l <> h :: t

rotate(len(t), t <> (l <> h :: nil)) = (l <> h :: nil) <> t

Page 7: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Rippling: A Common Pattern of Reasoning

Given:

∀l ′ ∈ list(τ). rotate(len(t), t <> l ′) = l ′ <> t

Proof:

rotate(len( h :: t↑), h :: t

↑<> blc) = blc <> h :: t

rotate( s( len(t))↑, h :: t

↑<> blc) = blc <> h :: t

rotate( s( len(t))↑, h :: t <> blc

↑) = blc <> h :: t

rotate(len(t), (t <> blc) <> h :: nil↓) = blc <> h :: t

rotate(len(t), t <>

⌊( l <> h :: nil)

↓⌋) =

⌊( l <> h :: nil)

↓⌋

<> t

Page 8: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Rippling: Reasoning about Refinement

Givens: am(t) = a ∧ from(t) = p

abal(p) = cbal(p) + sum((pending � from)−1[{p}])

Proof:

abal(p) = cbal(p) − a↑+ sum(( pending ∪ {t}

↑� from)−1[{p}])

abal(p) = cbal(p) − a↑+ sum(( (pending � from ∪ ({t}� from))

↑)−1[{p}])

abal(p) = cbal(p) − a↑+ sum( ((pending � from)−1 ∪ ({t}� from)−1)

↑[{p}])

abal(p) = cbal(p) − a↑+ sum( ((pending � from)−1[{p}] ∪ ({t}� from)−1)[{p}]

↑)

abal(p) = cbal(p) − a↑+ sum((pending � from)−1[{p}]) + sum(({t}� from)−1[{p}])

. . .

abal(p) = cbal(p) − a↑+ sum((pending � from)−1[{p}]) + a

abal(p) = cbal(p) + sum((pending � from)−1[{p}]) + a↑− a

abal = cbal(p) + sum((pending � from)−1[{p}])

Page 9: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

More Proof Patching

I Conjecture generalization: The generalization critic has alsobeen applied to the problem of loop invariant discovery –could potentially be used to suggest Event-B gluing invariants.

I Lemma discovery: The constraints of rippling have beenused to automate the discovery of missing lemmas –potentially useful in building up a theory within the context ofan Event-B model.

I Induction revision: Heuristics for selecting induction rulesmay fail – by analysing proof-failures, induction revisionpatches such failures.

I Case analysis: Failure in applying conditional rewrite rulescan be used to suggest case splits within a proof.

I Fixing faulty conjecture: Abduction has been used tosuggest ways in which non-theorems can be “usefully”transformed into theorems – abductive reasoning will play animportant role within reasoned modelling.

Page 10: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Proposed Reasoned Modelling Architecture

I Reasoned modelling aims to turn proof-failures into modellingsuggestions, while maintaining the benefits of proof planning.

I Crucially, the critics layer will combine proof-failure analysiswith modelling heuristics.

Page 11: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Cruise Control Example

MACHINE cruise ctrlVARIABLES brake, ccINVARIANTS inv1: cc = on ⇒ brake = offEVENTS

INITIALISATION =̂BEGIN

act1 : brake := offact2 : cc := off

END

EVENT enable cc =̂BEGIN

act1 : cc := onEND

EVENT pressbrake =̂BEGIN

act1 : brake := onEND

...END

Page 12: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Analysis of Failed Invariant Proof: pressbrake

EVENT pressbrake =̂BEGIN

act1 : brake := onEND

Given:

(cc = on ⇒ brake = off )

Goal:{brake 7→ on}(cc = on ⇒ brake = off )

(cc = on ⇒ on = off )

I Failure analysis: revise the model so that (cc = on) ⇒ falseI Modelling alternatives:

1. Add a guard of the form cc = off so as to restrict theapplicability of pressbrake.

2. Add an action of the form cc:=off so as to ensure thatbraking is not prevented by the state of cc.

3. Add cc = off as an invariant of the system.

I Modelling heuristics required in order to rank alternativemodelling suggestions, i.e. increase the productivity ofdesigners.

Page 13: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

A Priority Heuristic

I A higher priority variable should not be restricted (guard) orupdated (action) in order to achieve a change with respect toa lower priority variable.

I Priority is an example of meta-data that is supplied by thedesigner – part of their design rationale.

I Where proof-failure analysis suggests that the value of avariable should be changed within the context of a givenevent, we adopt the following heuristics:

I If the priority of the candidate variable is lower than thepriorities of all the variables updated by the event, then it isstrongly suggestive that the change should be achieved via anew action - action speculation.

I If the priority of the candidate variable is higher than thepriorities of all the variables updated by the event, then it isstrongly suggestive that the change should be achieved via anew guard - guard speculation.

Page 14: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Heuristics via Meta-data

MACHINE cruise ctrlVARIABLES brake, ccINVARIANTS inv1: cc = on ⇒ brake = off

META priority(cc) < priority(brake)

EVENTSINITIALISATION =̂

BEGINact1 : brake := offact2 : cc := off

END

EVENT enable cc =̂BEGIN

act1 : cc := onEND

EVENT pressbrake =̂BEGIN

act1 : brake := onEND

...END

Page 15: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Reasoned Modelling Critics

critic (priority action speculation)INPUTS:

PO SET POsMODEL SET {M}

PRECONDITIONS:1. ∃failed po ∈ {〈 , , ,PO〉 ∈ POs | failed proof(PO)}.

failed po = 〈M,E , /INV , (∆,X ⇒ Y ` σ(X ⇒ Y ))〉2. ∃τ ∈ sub. disjoint sub(τ, σ) ∧ provable(∆ ` (τ ∪ σ)X ⇒ false)3. priority(τ,M) < priority(σ,M)

OUTPUTS:GUIDE add action(sub2act(τ),E ,M)

1. there exists an unproven invariant PO (implication)

2. there exists a variable update that does not interfere with theexisting actions and which makes the PO provable

3. update preserves priorities specified by the designer

Page 16: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Reasoned Modelling Critics: User Guidance

MACHINE cruise ctrlVARIABLES brake, cc...EVENT pressbrake =̂BEGIN

act1 : brake := onEND

MACHINE cruise ctrlVARIABLES brake, cc...EVENT pressbrake =̂BEGIN

act1 : brake := on

act2 : cc := offEND

Note that the preconditions of the associated critic provides therationale for the generated user guidance, i.e. the basis for ahigh-level explanation.

Page 17: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Ongoing & Future Work

I More than just local analysis of proof failures, e.g. a globalanalysis of multiple failures may suggest invariantstrengthening rather than guard speculation – Abrial’s “Carson a Bridge” example, multiple failures.

I Explore alternative notions of priority, e.g. the temporalnature of system priorities.

I Investigate how established notions of design assessmentcould be used to inform guidance, e.g. reduce the risk ofpremature commitment to design decision by ranking abstractsuggestions over more concrete suggestions.

I Decision support for refinement based modelling – Teresa.

I Prototype implementation exists, i.e. REMO, aiming at Rodinplug-in

I Investigations are case study driven:I DEPLOY Project (EU ICT 214158), Michael Butler et alI www.deploy-project.eu

Page 18: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

Conclusion

I “.. one attempts to develop a program and its proofhand-in-hand, with the proof ideas leading the way!”

(Gries, ‘81)

I We also believe that modelling and proof should develophand-in-hand, but with both modelling and proof ideasleading the way ...

I ... moreover, through the use of proof-failure analysis andproof planning the complexities of low-level proof obligationscan be abstracted away, allowing the user to focus on themodelling ideas.

Page 19: Reasoned Modelling: Combining Proof & Modelling Patternsair/drafts/ai4fm-remo.pdf · Motivations & Sponsors I While the rigour of building formal models brings significant benefits,

The 3rd International Conference on Verifi ed Software: Theories, Tools and Experiments (VSTTE)August 16th-19th, 2010Heriot-Watt University, Edinburgh Campus Scotland, UK

Key submission dates:

March 29th, 2010: Conference paper submission deadline

May 21st, 2010: Workshop paper submission deadline

Keynote speakers:

Tom Ball (Microsoft Research, Redmond)

Gerwin Klein (National ICT Australia)

Matthew Parkinson (University of Cambridge)

Web link:

http://www.macs.hw.ac.uk/vstte10

Email: [email protected]

VSTTE 2010