reasoning about timed systems using boolean methods · –50– related research projectrelated...

51
Reasoning about Timed Systems Using Boolean Methods Reasoning about Timed Systems Using Boolean Methods Sanjit A. Seshia Sanjit A. Seshia EECS, UC Berkeley EECS, UC Berkeley Joint work with Joint work with Randal E. Bryant (CMU) Randal E. Bryant (CMU) Kenneth S. Stevens (Intel, now U. Utah) Kenneth S. Stevens (Intel, now U. Utah)

Upload: others

Post on 30-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

Reasoning about Timed Systems Using Boolean Methods

Reasoning about Timed Systems Using Boolean Methods

Sanjit A. SeshiaSanjit A. SeshiaEECS, UC BerkeleyEECS, UC Berkeley

Joint work withJoint work withRandal E. Bryant (CMU)Randal E. Bryant (CMU)

Kenneth S. Stevens (Intel, now U. Utah)Kenneth S. Stevens (Intel, now U. Utah)

Page 2: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 2 –

Timed SystemTimed System

A system whose correctness depends A system whose correctness depends not only on its not only on its functionalityfunctionality (what results (what results it generates), but also on its it generates), but also on its timelinesstimeliness(the time at which results are generated).(the time at which results are generated).

Page 3: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 3 –

Real-Time Embedded SystemsReal-Time Embedded Systems

Page 4: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 4 –

Self-Timed CircuitsSelf-Timed Circuits

Page 5: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 5 –

Modeling & VerificationModeling & Verification

Timed System

Verify model

Model

Page 6: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 6 –

Challenges with Timed SystemsChallenges with Timed Systems

State has 2 components:State has 2 components:–– Boolean variables (Boolean variables (VV): model discrete state): model discrete state–– RealReal--valued variables (valued variables (XX): measure real time): measure real time

InfinitelyInfinitely--many statesmany states–– Has a finite representation (regions graph)Has a finite representation (regions graph)–– But grows worse than |But grows worse than |XX| | ||XX||

–– Verification is hard!Verification is hard!

Page 7: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 7 –

Modeling & VerificationModeling & Verification

Timed System

Verify model

Model

Self-TimedCircuit

Timed Automaton

Model Checking

Page 8: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 8 –

Message of This Talk: Leverage Boolean Methods

Message of This Talk: Leverage Boolean Methods

ModelingModeling–– Use Boolean variables to model timing, where Use Boolean variables to model timing, where

possiblepossible

VerificationVerification–– Use symbolic Boolean representations and Use symbolic Boolean representations and

algorithms operating on themalgorithms operating on themBinary Decision Diagrams (Binary Decision Diagrams (BDDsBDDs), Boolean ), Boolean satisfiabilitysatisfiability solvers (SAT)solvers (SAT)

Why?Why?–– Systems have complex Boolean behavior anywaySystems have complex Boolean behavior anyway–– Great progress made in finiteGreat progress made in finite--state model state model

checking, SAT solving, etc. over last 15 yearschecking, SAT solving, etc. over last 15 years

Page 9: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 9 –

Talk OutlineTalk Outline

Motivating Problem: Verifying SelfMotivating Problem: Verifying Self--Timed Timed CircuitsCircuits

Generalized Relative TimingGeneralized Relative Timing

Circuits Circuits Timed AutomataTimed Automata

Model Checking Timed AutomataModel Checking Timed Automata

Case StudiesCase Studies

Future Directions & Related ResearchFuture Directions & Related Research

Page 10: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 10 –

Self-Timed (Asynchronous) CircuitsSelf-Timed (Asynchronous) Circuits

Many design styles useMany design styles use timing assumptionstiming assumptions

Delay Independent

Gate-levelMetric Timing

Relative Timing: Relative Timing: [Stevens et al. ASYNC[Stevens et al. ASYNC’’99, TVLSI99, TVLSI’’03]03]Circuit behavior constrained by relative orderingCircuit behavior constrained by relative orderingof signal transitionsof signal transitions

uu ↑ ≺ v ↑↑

Relative Timing

Burst Mode

Page 11: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 11 –

Relative Timing (RT) Verification Methodology: 2 StepsRelative Timing (RT) Verification Methodology: 2 Steps

1.1. Check circuit functionality Check circuit functionality under timing under timing assumptionsassumptions

Search the constrained state spaceSearch the constrained state spaceModel checkingModel checking

2.2. Verify timing assumptions themselvesVerify timing assumptions themselvesSize circuit path delays appropriatelySize circuit path delays appropriatelyStatic timing analysisStatic timing analysis

Page 12: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 12 –

Pros and Cons of RTPros and Cons of RT

Advantages:Advantages:++ Applies to many design stylesApplies to many design styles++ Incremental addition of timing constraintsIncremental addition of timing constraints++ No conservatively set minNo conservatively set min--max delaysmax delays

Disadvantages:Disadvantages:–– Cannot express metric timingCannot express metric timing–– More work to be done on verification More work to be done on verification

Scaling upScaling upValidating timing constraints themselvesValidating timing constraints themselves

Page 13: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 13 –

Our ContributionsOur Contributions

Generalized RTGeneralized RT–– Can express some metric timingCan express some metric timing

Applied Fully Symbolic Verification TechniquesApplied Fully Symbolic Verification Techniques–– Model circuits using timed automataModel circuits using timed automata

Metric timing modeled using realMetric timing modeled using real--valued variablesvalued variablesNonNon--metric with Booleansmetric with Booleans

Performed Case Performed Case SudiesSudies–– Including Global STP circuit Including Global STP circuit (published version of (published version of

PentiumPentium--4 ALU 4 ALU cktckt.).)

[Seshia, Stevens, & Bryant, ASYNC[Seshia, Stevens, & Bryant, ASYNC’’05]05]

Page 14: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 14 –

Talk OutlineTalk Outline

Motivating Problem: Verifying SelfMotivating Problem: Verifying Self--Timed Timed CircuitsCircuits

Generalized Relative TimingGeneralized Relative Timing

Circuits Circuits Timed AutomataTimed Automata

Model Checking Timed AutomataModel Checking Timed Automata

Case StudiesCase Studies

Future Directions & Related ResearchFuture Directions & Related Research

Page 15: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 15 –

Generalizing Relative TimingGeneralizing Relative Timing

Delay Independent

Gate-levelMetric Timing

Relative Timing

Burst Mode

Page 16: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 16 –

Circuit ModelCircuit Model

Variables (signals): Variables (signals): v1, v2, …, vn

Events (signal transitions): Events (signal transitions): ei is is vi ↑ oror vi

Rules Rules –– EEii ((v1, v2, …, vn ) ) eeii

Timing ConstraintsTiming Constraints

Page 17: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 17 –

Generalized Relative Timing (GRT) ConstraintGeneralized Relative Timing (GRT) Constraint

ΔΔ((eeii, , eejj)) : Time between : Time between eejj and previous and previous occurrence of occurrence of eeii

Form of GRT constraint:Form of GRT constraint:ΔΔ((eeii, , eejj) ) ·· ΔΔ((eeii’’, , eekk) + ) + dd

eejjeeii

eekkeeii eeii’’ eejj

Page 18: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 18 –

Special Case: Common Point-of-Divergence (PoD)Special Case: Common Point-of-Divergence (PoD)

PoDPoD constraint:constraint:ΔΔ((eeii , , eejj) ) ·· ΔΔ((eeii , , eekk) )

Written as:Written as:eeii →→ eejj ≺≺ eekk

An RT constraint traced back to its sourceAn RT constraint traced back to its source

eekkeeii eejj

Page 19: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 19 –

Example: Point-of-Divergence (PoD) ConstraintExample: Point-of-Divergence (PoD) Constraint

↑↑

cc →→ acac ≺≺ bb

↑↑

Page 20: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 20 –

Example: Metric Timing Example: Metric Timing

ΔΔ((data_indata_in↑, , data_in_auxdata_in_aux↑)) ·· ΔΔ((enableenable↑, , triggertrigger↑))

Page 21: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 21 –

Do We Need Metric Timing?Do We Need Metric Timing?

Useful for Useful for modular specificationmodular specification of timing constraintsof timing constraintsAlso when delays are explicitly usedAlso when delays are explicitly used

Page 22: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 22 –

Verifying Generalized Relative Timing ConstraintsVerifying Generalized Relative Timing Constraints

Use static timing analysis to compute minUse static timing analysis to compute min--max max path delayspath delays

To verify:To verify:ΔΔ((eeii, , eejj) ) ·· ΔΔ((eeii’’, , eekk) + ) + dd

We verify that:We verify that:maxmax--delay( delay( eeii ÃÃ eejj ) ) ·· minmin--delay( delay( eeii’’ ÃÃ eekk ) + ) + dd

Page 23: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 23 –

Talk OutlineTalk Outline

Motivating Problem: Verifying SelfMotivating Problem: Verifying Self--Timed Timed CircuitsCircuits

Generalized Relative TimingGeneralized Relative Timing

Circuits Circuits Timed AutomataTimed Automata

Model Checking Timed AutomataModel Checking Timed Automata

Case StudiesCase Studies

Future Directions & Related ResearchFuture Directions & Related Research

Page 24: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 24 –

Modeling Timed CircuitsModeling Timed Circuits

Need to model:Need to model:RulesRules ((““BooleanBoolean”” behavior) and behavior) and TimingTiming

Our formalism:Our formalism: Timed Automata Timed Automata [[AlurAlur & Dill, & Dill, ’’90] 90] –– Generalization of finite automataGeneralization of finite automata–– State variables:State variables:

Boolean (circuit signals) Boolean (circuit signals) RealReal--valued timers or valued timers or ““clocksclocks”” (impose timing (impose timing constraints) constraints)

–– Operations: (1) compare with constant, (2) reset to zeroOperations: (1) compare with constant, (2) reset to zeroWe model nonWe model non--metric timing with Booleansmetric timing with Booleans

Page 25: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 25 –

Enforcing Timing with BooleansEnforcing Timing with Booleans

↑↑

cc →→ acac ≺≺ bb

↑↑

1.1.cc sets a bit

2.2.acac resets it

3.3.b b cannot occur while the bit is set

Page 26: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 26 –

Enforcing Timing with Timer VariablesEnforcing Timing with Timer VariablesΔΔ((data_indata_in↑, , data_in_auxdata_in_aux↑)) ·· ΔΔ((enableenable↑, , triggertrigger↑))

Page 27: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 27 –

•• data_indata_in sets x1 to 0

•• data_in_aux data_in_aux must occur while x1 · c

•• enable enable sets x2 to 0

•• trigger trigger can only occur if x2 ≥ c

c determined just as in other metric timing styles

Enforcing Timing with Timer VariablesEnforcing Timing with Timer VariablesΔΔ((data_indata_in↑, , data_in_auxdata_in_aux↑)) ·· ΔΔ((enableenable↑, , triggertrigger↑))

Page 28: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 28 –

Booleans vs. TimersBooleans vs. Timers

Most timing constraints tend to be Most timing constraints tend to be PoDPoD

So few realSo few real--valued timer variables used in valued timer variables used in practicepractice

Page 29: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 29 –

Talk OutlineTalk Outline

Motivating Problem: Verifying SelfMotivating Problem: Verifying Self--Timed Timed CircuitsCircuits

Generalized Relative TimingGeneralized Relative Timing

Circuits Circuits Timed AutomataTimed Automata

Model Checking Timed AutomataModel Checking Timed Automata

Case StudiesCase Studies

Future Directions & Related ResearchFuture Directions & Related Research

Page 30: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 30 –

StateState

Boolean part: assignment to signalsBoolean part: assignment to signals

RealReal--valued part: relation between timersvalued part: relation between timers

v1 = 0, v2 = 1, v3 = 0, . . .

x1 ≥ 0 ∧ x2 ≥ 0 ∧ x1 ≥ x2

x1

x2

symbolic representation

Page 31: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 31 –

Symbolic Model Checking of Timed AutomataSymbolic Model Checking of Timed Automata

,

,

,

, ,

,

. . . . . .

Examples: ATACS [Myers et al.], Kronos [Yovine, Maler, et al.], Uppaal [Larsen, Yi, et al.], …

Page 32: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 32 –

Fully Symbolic Model CheckingFully Symbolic Model Checking

Symbolically represent sets of signal assignments with corresponding relations between timers

v1 ∨ v2∧

x1 ≥ 0 ∧ x2 ≥ 0 ∧ x1 ≥ x2

.

.

.

,

Page 33: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 33 –

Our Approach to Fully Symbolic Model CheckingOur Approach to Fully Symbolic Model Checking [Seshia & Bryant, CAV[Seshia & Bryant, CAV’’03]03]

Based on algorithm given by Based on algorithm given by HenzingerHenzinger et al.et al.(1994)(1994)

Core model checking operationsCore model checking operations–– Image computation Image computation

Quantifier elimination in quantified difference logicQuantifier elimination in quantified difference logic–– Termination check Termination check

Satisfiability checking of difference logicSatisfiability checking of difference logic

Our Approach: Use Boolean encodingsOur Approach: Use Boolean encodings–– Quantified difference logic Quantified difference logic

Quantified Boolean logicQuantified Boolean logic–– Difference logic Difference logic Boolean logicBoolean logic–– Use Use BDDsBDDs, SAT solvers, SAT solvers

Page 34: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 34 –

Example: Termination CheckExample: Termination Check

Have we seen all reachable states of the Have we seen all reachable states of the systems?systems?

SatisfiabilitySatisfiability solving in Difference Logicsolving in Difference Logic

?

Page 35: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 35 –

Solving Difference Logic via SATSolving Difference Logic via SAT

x ≥ y ∧ y ≥ z ∧ z ≥ x+1

e1 ∧ e2 ⇒ ¬e3

∧Overall Boolean Encoding

Transitivity Constraint

e1

y ≥ z

z ≥ x+1

x ≥ y

e2

e3

e1 ∧ e2 ∧ e3

Page 36: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 36 –

A More Realistic SituationA More Realistic Situation

∧¬

.

.

.

x ≥ y

y ≥ z

z ≥ x+1

x ≥ y ∧ y ≥ z ∧ z ≥ x+1 ∧ . . . is a term in the SOP (DNF)

Page 37: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 37 –

Talk OutlineTalk Outline

Motivating Problem: Verifying SelfMotivating Problem: Verifying Self--Timed Timed CircuitsCircuits

Generalized Relative TimingGeneralized Relative Timing

Circuits Circuits Timed AutomataTimed Automata

Model Checking Timed AutomataModel Checking Timed Automata

Case StudiesCase Studies

Future Directions & Related ResearchFuture Directions & Related Research

Page 38: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 38 –

Case StudiesCase Studies

Global STP CircuitGlobal STP Circuit–– SelfSelf--resetting domino resetting domino cktckt. in Pentium. in Pentium--4 ALU4 ALU–– Analyzed published Analyzed published cktckt. . [Hinton et al., JSSC[Hinton et al., JSSC’’01]01]

GasPGasP FIFO Control FIFO Control [Sutherland & Fairbanks, ASYNC[Sutherland & Fairbanks, ASYNC’’01]01]

STAPL LeftSTAPL Left--Right Buffer Right Buffer [[NystromNystrom & Martin, & Martin, ’’02]02]

STARI STARI [[GreenstreetGreenstreet, , ’’93]93]

Page 39: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 39 –

Footed and Unfooted Domino InvertersFooted and Unfooted Domino Inverters

Page 40: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 40 –

Global STP Circuit (simplest version at gate-level)Global STP Circuit (simplest version at gate-level)

ck

out

↑↑ ↑ ↑↑

↑res

Page 41: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 41 –

Global STP Circuit: Sample ConstraintGlobal STP Circuit: Sample Constraint

ck

out

↑↑ ↑ ↑↑

↑res

ck

res

ckck →→ ckck ≺≺ resres↑ ↑

Page 42: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 42 –

Global STP Circuit: An ErrorGlobal STP Circuit: An Error

ck

out

rs

We want: red < blue7 transitions < 5 transitions

Page 43: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 43 –

Comparison with ATACSComparison with ATACS

Model checking for absence of shortModel checking for absence of short--circuitscircuits

CircuitCircuit Number Number of Signalsof Signals

Time for our model checker, Time for our model checker, TMV (in sec.)TMV (in sec.)

Global Global STPSTP 2828

6060

3030

66.3266.32

GasPGasP--10 10 stagesstages 26.1026.10

STAPLSTAPL--3 3 stagesstages 278.05 278.05

ATACS did not finish within 3600 sec. on any

Page 44: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 44 –

Comparison with ATACS on STARIComparison with ATACS on STARI

Page 45: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 45 –

Related WorkRelated Work

ModelingModeling–– GateGate--level Metric Timinglevel Metric Timing

Timed Petri Nets, TEL, Timed Petri Nets, TEL, …… [Myers, [Myers, YonedaYoneda, et al.], et al.]Timed AutomataTimed Automata--based based [[MalerMaler, , PnueliPnueli, et al.], et al.]

–– Chain Constraints Chain Constraints [[NegulescuNegulescu & & PeetersPeeters]]–– Relative Timing Relative Timing [Stevens et al.][Stevens et al.]

Lazy transition systemsLazy transition systems [Pena et al.][Pena et al.]–– Symbolic Gate Delays Symbolic Gate Delays [[ClarisoClariso & & CortadellaCortadella]]

VerificationVerification–– For circuits, mostly restricted to just symbolic For circuits, mostly restricted to just symbolic

techniques techniques [e.g., ATACS][e.g., ATACS]

Page 46: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 46 –

Talk OutlineTalk Outline

Motivating Problem: Verifying SelfMotivating Problem: Verifying Self--Timed Timed CircuitsCircuits

Generalized Relative TimingGeneralized Relative Timing

Circuits Circuits Timed AutomataTimed Automata

Model Checking Timed AutomataModel Checking Timed Automata

Case StudiesCase Studies

Future Directions & Related ResearchFuture Directions & Related Research

Page 47: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 47 –

SummarySummary

Leverage Boolean Methods for Timed SystemsLeverage Boolean Methods for Timed Systems–– Modeling: Modeling: generalized relative timinggeneralized relative timing–– Verification: Verification: fully symbolic model checkingfully symbolic model checking

Using Using BDDsBDDs, SAT, SAT

Demonstrated Application: Modeling and Demonstrated Application: Modeling and Verifying SelfVerifying Self--Timed Circuits Timed Circuits

Page 48: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 48 –

Future Directions: Model GenerationFuture Directions: Model Generation

Timed System

Model

Needs to be automated

Main Challenge: Automatic generation of timing constraints

Idea: Machine learning from simulated runs (successful and failing)

Page 49: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 49 –

Future Directions: New ApplicationsFuture Directions: New Applications

Distributed RealDistributed Real--time Embedded Systemstime Embedded Systems–– E.g., sensor networksE.g., sensor networks–– Operate asynchronouslyOperate asynchronously–– Lots of concurrencyLots of concurrency–– Timeliness importantTimeliness important

Will generalized relative timing work for this Will generalized relative timing work for this application?application?

Page 50: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 50 –

Related Research ProjectRelated Research Project

UCLIDUCLID–– Modeling & Verifying InfiniteModeling & Verifying Infinite--State SystemsState Systems–– Focus: Integer arithmetic, Data Structures (arrays, Focus: Integer arithmetic, Data Structures (arrays,

memories, queues, etc.), Bitmemories, queues, etc.), Bit--vector operations,vector operations,……–– Applications: Program verification, Processor Applications: Program verification, Processor

verification, Analyzing security propertiesverification, Analyzing security propertiesE.g., detecting if a piece of code exhibits malicious E.g., detecting if a piece of code exhibits malicious behavior (worm/virus)behavior (worm/virus)

Also based on Boolean MethodsAlso based on Boolean Methods–– Problems in firstProblems in first--order logic translated to SATorder logic translated to SAT

Programming Systems seminar, Oct. 24 Programming Systems seminar, Oct. 24 ’’0505

Page 51: Reasoning about Timed Systems Using Boolean Methods · –50– Related Research ProjectRelated Research Project UCLID – Modeling & Verifying Infinite-State Systems – Focus: Integer

– 51 –

Thank you !

More information atMore information athttp://http://www.eecs.berkeley.edu/~sseshia/research.htmlwww.eecs.berkeley.edu/~sseshia/research.html