towardssynthesisfromassume-guarantee ... · 1/16 introduction realizability synthesis from...

19
1/16 Introduction Realizability Synthesis from Contracts Future Work Towards Synthesis from Assume-Guarantee Contracts involving Infinite Theories: A Preliminary Report FormaliSE 2016 Andreas Katis 1 Andrew Gacek 2 Michael W. Whalen 1 1 Department of Computer Science and Engineering, University of Minnesota 2 Rockwell Collins Advanced Technology Center May 15, 2016

Upload: others

Post on 07-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

1/16

Introduction Realizability Synthesis from Contracts Future Work

Towards Synthesis from Assume-GuaranteeContracts involving Infinite Theories:

A Preliminary ReportFormaliSE 2016

Andreas Katis 1 Andrew Gacek 2 Michael W. Whalen 1

1Department of Computer Science and Engineering, University of Minnesota

2Rockwell Collins Advanced Technology Center

May 15, 2016

Page 2: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

2/16

Introduction Realizability Synthesis from Contracts Future Work

Outline

1 IntroductionMotivationAssume-Guarantee Contracts

2 RealizabilityDefinitionsAlgorithm

3 Synthesis from ContractsGoalAE-VAL Skolemizer for ∀∃ formulasAlgorithmImplementation

4 Future Work

Page 3: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

3/16

Introduction Realizability Synthesis from Contracts Future Work

Motivation: Solving the Architectural Analysis Problem

Critical embedded systems development

Safety properties for infinite state reactive systems

“Does there exist an implementation for the given requirements?”“Is the given specification (contract) realizable?”

Previous work: Gacek, Andrew, et al. "Towards realizability checkingof contracts using theories." NASA Formal Methods. SpringerInternational Publishing, 2015. 173-187.

Current goal: “Can we synthesize implementations from realizablerequirements?”

Page 4: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

3/16

Introduction Realizability Synthesis from Contracts Future Work

Motivation: Solving the Architectural Analysis Problem

Critical embedded systems development

Safety properties for infinite state reactive systems

“Does there exist an implementation for the given requirements?”“Is the given specification (contract) realizable?”

Previous work: Gacek, Andrew, et al. "Towards realizability checkingof contracts using theories." NASA Formal Methods. SpringerInternational Publishing, 2015. 173-187.

Current goal: “Can we synthesize implementations from realizablerequirements?”

Page 5: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

4/16

Introduction Realizability Synthesis from Contracts Future Work

Assume-Guarantee Contracts

?Assumption : Guarantee:

Assumptions A: Constraints on the component’s inputGuarantees G : Constraints on the outputIs the Contract (A,G) realizable?

YESNot realizable if we remove the assumption

Page 6: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

4/16

Introduction Realizability Synthesis from Contracts Future Work

Assume-Guarantee Contracts

?Assumption : Guarantee:

Assumptions A: Constraints on the component’s inputGuarantees G : Constraints on the outputIs the Contract (A,G) realizable? YESNot realizable if we remove the assumption

Page 7: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

5/16

Introduction Realizability Synthesis from Contracts Future Work

Definitions

Systems are defined in terms of inputs and states, ranged over byvariables i and s.A symbolic transition system is defined: (I,T )

A contract is a pair (A,G) withAssumptions A : (state × input)→ bool

Guarantees G :{GI : state → boolGT : (state × input × state)→ bool

Page 8: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

6/16

Introduction Realizability Synthesis from Contracts Future Work

Definitions

Definition (Viable)Viable(s) = ∀i .A(s, i) ⇒ ∃s ′.GT (s, i , s ′) ∧ Viable(s ′)

Definition (Realizable Contract)∃s.GI(s) ∧ Viable(s)

Definition (Synthesized Implementation)A synthesized implementation is a witness of the contract’s realizability

Page 9: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

7/16

Introduction Realizability Synthesis from Contracts Future Work

Algorithm

Definition (Finite Viability)A state s is viable for n steps, written Viablen(s) if GT can keep responding to validinputs for at least n steps.

∀i1.A(s, i1)⇒ ∃s1.GT (s, i1, s1)∧∀i2.A(s1, i2)⇒ ∃s2.GT (s1, i2, s2) ∧ . . .∧

∀in.A(sn−1, in)⇒ ∃sn.GT (sn−1, in, sn)

Definition (One-step Extension)A state s is extendable after n steps, written Extendn(s) if any valid path of length nfrom s can be extended in response to any input.

∀i1, s1, . . . , in, sn.

A(s, i1) ∧ GT (s, i1, s1) ∧ . . . ∧ A(sn−1, in) ∧ GT (sn−1, in, sn)⇒∀i .A(sn, i)⇒ ∃s ′.GT (sn, i , s ′)

Page 10: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

8/16

Introduction Realizability Synthesis from Contracts Future Work

Algorithm

Checking Algorithm: Find n such that both checks are true:

BaseCheck(n) = ∃s.GI(s) ∧ Viablen(s)

ExtendCheck(n) = ∀s.Extendn(s)

2n quantifier alternations in BaseCheckExtremely difficult SMT problemSolvers fail very quickly

Instead, use an approximation:

BaseCheck ′(n) = ∀k ≤ n.(∀s.GI(s)⇒ Extendk(s))

Page 11: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

9/16

Introduction Realizability Synthesis from Contracts Future Work

Goal

Can we effectively use our method to solve the synthesis problem?

Problem: SMT-solvers cannot be used directly (nested quantifiers)

Solution: AE-VAL: Horn-based Skolemizer for ∀∃ formulasFedyukovich, Grigory, Arie Gurfinkel, and NatashaSharygina."Automated discovery of simulation between programs."Logic for Programming, Artificial Intelligence, and Reasoning.Springer Berlin Heidelberg, 2015.

Page 12: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

10/16

Introduction Realizability Synthesis from Contracts Future Work

AE-VAL Skolemizer for ∀∃ formulas

S(~x)⇒ ∃~y .T (~x , ~y)Model Based Projection to extract Skolem relationsLinear Integer Arithmetic

Page 13: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

11/16

Introduction Realizability Synthesis from Contracts Future Work

Using AE-VAL for Synthesis

Two separate phases for BaseCheck’ and ExtendCheck

BaseCheck ′(n) = ∀k ≤ n.(∀s.GI(s)⇒ Extendk(s))

ExtendCheck(n) = ∀s.Extendn(s)

Extendn(s) =

∀i1, s1, . . . , in, sn.

A(s, i1) ∧ GT (s, i1, s1) ∧ . . . ∧ A(sn−1, in) ∧ GT (sn−1, in, sn)⇒∀i .A(sn, i)⇒ ∃s ′.GT (sn, i , s ′)

∀i1, s1, . . . , in, sn, i .A(s, i1) ∧ GT (s, i1, s1) ∧ . . .∧A(sn−1, in) ∧ GT (sn−1, in, sn) ∧ A(sn, i)⇒

∃s ′.GT (sn, i , s ′)

Page 14: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

12/16

Introduction Realizability Synthesis from Contracts Future Work

Synthesis Algorithm

assign_GI_witness_to_S;update_array_history;

// Perform bounded ’base check’ synthesisread_inputs;base_check’_1_solution;update_array_history;...read_inputs;base_check’_k_solution;update_array_history;

// Perform recurrence from ’extends’ checkwhile(1) {read_inputs;extend_check_k_solution;update_array_history;

}

1 Construct history arrays forvariables in I and S.

2 Initialize variable values (0thelement of array) using GI

3 Initialize history of length kusing BaseCheck’ Skolemrelations

4 Use ExtendCheck’s solution in arecurrence loop to define thenext-step values

Page 15: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

13/16

Introduction Realizability Synthesis from Contracts Future Work

Skolem relation example

ite([&&$defs__rising_edge~1.Mode_Control_Impl_Instance__signal$0!($Mode_Control_Impl_Instance__seconds_to_cook$0>=0)!$defs__initially_true~0.Mode_Control_Impl_Instance__result$0

], [&&$Mode_Control_Impl_Instance__is_setup$0$defs__rising_edge~1.Mode_Control_Impl_Instance__re$0!$Mode_Control_Impl_Instance__is_cooking$0$defs__rising_edge~1.Mode_Control_Impl_Instance__signal$0!$_TOTAL_COMP_HIST$0!$_SYSTEM_ASSUMP_HIST$0!$Mode_Control_Impl_Instance__is_suspended$0!$Mode_Control_Impl_Instance__is_running$0!$defs__rising_edge~0.Mode_Control_Impl_Instance__re$0!$defs__initially_true~0.Mode_Control_Impl_Instance__b$0!$defs__initially_true~0.Mode_Control_Impl_Instance__result$0!$defs__rising_edge~2.Mode_Control_Impl_Instance__re$0!$defs__rising_edge~2.Mode_Control_Impl_Instance__signal$0

], ite([&&%init$_SYS_GUARANTEE_2$0!($Mode_Control_Impl_Instance__seconds_to_cook$0>=0)!$defs__rising_edge~1.Mode_Control_Impl_Instance__signal$0!$defs__initially_true~0.Mode_Control_Impl_Instance__b$0

], ...))

This is only one of thenecessary solutions toconstruct theimplementation900 lines of codeA good intermediaterepresentation toretranslate into anytarget language

Page 16: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

14/16

Introduction Realizability Synthesis from Contracts Future Work

Implementation

OSATE + Assume Guarantee Reasoning Environment

(AGREE)

Jkind Model Checker(LUSTRE)

Translation

Requirements Development

AE-VAL

Skolem RelationExtraction

SatisfiabilityChecks

Realizability / Synthesis Algorithms

https://github.com/agacek/jkind

https://github.com/smaccm/smaccm

https://bitbucket.org/fedyukovich/ufo-gf.git

https://github.com/Z3Prover/z3

Auxiliary Tools

Page 17: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

15/16

Introduction Realizability Synthesis from Contracts Future Work

Future Work

Extend work to Linear Real Arithmetic

Improve transition relation representation

Efficient translation of Lustre data-flow programs to non-minimalFSMs

Formal verification of algorithm

Improve realizability algorithm using an inductive invariant generationapproach (Property Directed Reachability)

Possible obstacle + Research subject : Mapping infinite to equivalentfinite implementations

Page 18: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

16/16

Introduction Realizability Synthesis from Contracts Future Work

Thank You!

Page 19: TowardsSynthesisfromAssume-Guarantee ... · 1/16 Introduction Realizability Synthesis from ContractsFuture Work TowardsSynthesisfromAssume-Guarantee ContractsinvolvingInfiniteTheories:

17/16

Definition (Reachable with respect to assumptions)A state of (I,T ) is reachable with respect to A if there exists a pathstarting in an initial state and eventually reaching s such that alltransitions are satisfying the assumptions

ReachableA(s) = I(s)∨∃sprev , i . ReachableA(sprev )∧A(sprev , i)∧T (sprev , i , s)

Definition (Realization)A transition system (I,T ) is a realization of the contract (A, (GI ,GT ))when the following conditions hold

∀s. I(s)⇒ GI(s)∀s, i , s ′. ReachableA(s) ∧ A(s, i) ∧ T (s, i , s ′)⇒ GT (s, i , s ′)∃s. I(s)∀s, i . ReachableA(s) ∧ A(s, i)⇒ ∃s ′. T (s, i , s ′)