171
Old-established methods in a new look: How HyPro speeds up reachability computations for hybrid systems Stefan Schupp Erika ´ Abrah´ am RWTH Aachen University, Germany FLoC/ADHS 2018, Oxford, UK

Old-established methods in a new look: How HyPro speeds up

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Old-established methods in a new look: How HyPro speeds up

Old-established methods in a new look:How HyPro speeds up reachability computations for

hybrid systems

Stefan Schupp Erika Abraham

RWTH Aachen University, Germany

FLoC/ADHS 2018, Oxford, UK

Page 2: Old-established methods in a new look: How HyPro speeds up

Hybrid systems – Example: Thermostat

onx = −0.1x + 3

x ≤ 23x = 20

offx = −0.1x

x ≥ 17

x ≥ 22

x ≤ 18

Example trajectory:

t

x

20

18

17

22

23

Set of reachable states:

t

x

20

18

17

22

23

Erika Abraham - Reachability analysis with HyPro 1 / 49

Page 3: Old-established methods in a new look: How HyPro speeds up

Hybrid systems – Example: Thermostat

onx = −0.1x + 3

x ≤ 23x = 20

offx = −0.1x

x ≥ 17

x ≥ 22

x ≤ 18

Example trajectory:

t

x

20

18

17

22

23

Set of reachable states:

t

x

20

18

17

22

23

Erika Abraham - Reachability analysis with HyPro 1 / 49

Page 4: Old-established methods in a new look: How HyPro speeds up

Hybrid systems – Example: Thermostat

onx = −0.1x + 3

x ≤ 23x = 20

offx = −0.1x

x ≥ 17

x ≥ 22

x ≤ 18

Example trajectory:

t

x

20

18

17

22

23

Set of reachable states:

t

x

20

18

17

22

23

Erika Abraham - Reachability analysis with HyPro 1 / 49

Page 5: Old-established methods in a new look: How HyPro speeds up

Reachability problem on hybrid automata

subclasses derivatives conditions bounded unbounded

reachability reachability

timed automata x = 1 x ∼ c decidable decidable

initialized

rectangular

automata

x ∈ [c1, c2]

x ∈ [c1, c2]

necessary when

x changes

decidable decidable

rectangular

automatax ∈ [c1, c2] x ∈ [c1, c2] decidable undecidable

linear hybrid

automata Ix = c x ∼ glinear decidable undecidable

linear hybrid

automata IIx = flinear x ∼ glinear undecidable undecidable

hybrid automata x = f x ∼ g undecidable undecidable

Erika Abraham - Reachability analysis with HyPro 2 / 49

Page 6: Old-established methods in a new look: How HyPro speeds up

Reachability problem on hybrid automata

subclasses derivatives conditions bounded unbounded

reachability reachability

timed automata x = 1 x ∼ c decidable decidable

initialized

rectangular

automata

x ∈ [c1, c2]

x ∈ [c1, c2]

necessary when

x changes

decidable decidable

rectangular

automatax ∈ [c1, c2] x ∈ [c1, c2] decidable undecidable

linear hybrid

automata Ix = c x ∼ glinear decidable undecidable

linear hybrid

automata IIx = flinear x ∼ glinear undecidable undecidable

hybrid automata x = f x ∼ g undecidable undecidable

Erika Abraham - Reachability analysis with HyPro 2 / 49

Page 7: Old-established methods in a new look: How HyPro speeds up

Impressive tool development for hybrid systems reachability analysis(incomplete list)HSolver [Ratschan et al., HSCC 2005]

iSAT-ODE [Eggers et al., ATVA 2008]

KeYmaera (X) [Platzer et al., IJCAR 2008]

PowerDEVS [Bergero et al., Simulation 2011]

SpaceEx [Frehse et al., CAV 2011]

S-TaLiRo [Annapureddy et al., TACAS 2011]

Ariadne [Collins et al., ADHS 2012]

HySon [Bouissou et al., RSP 2012]

Flow* [Chen et al., CAV 2013]

HyCreate [Bak et al., HSCC 2013]

HyEQ [Sanfelice et al., HSCC 2013]

NLTOOLBOX [Testylier et al., ATVA 2013]

SoapBox [Hagemann et al., ARCH 2014]

Acumen [Taha et al., IoT 2015]

C2E2 [Duggirala et al., TACAS 2015]

Cora [Althoff et al., ARCH 2015]

dReach [Kong et al, TACAS 2015]

Isabelle/HOL [Immler, TACAS 2015]

HyLAA [Bak et al., HSCC 2017]

HyPro/HyDRA [Schupp et al., NFM 2017]

Erika Abraham - Reachability analysis with HyPro 3 / 49

Page 8: Old-established methods in a new look: How HyPro speeds up

Verification techniques/tools for hybrid systems

(Rigorous/verified) simulation: Besides simulation for testing, rigorous/verifiedsimulation can be used for (bounded) reachability analysis.Some tools: Acumen, C2E2, HyEQ, HyLAA, HySon, S-TaLiRo, PowerDEVS

Source: http://www.acumen-language.org/

Erika Abraham - Reachability analysis with HyPro 4 / 49

Page 9: Old-established methods in a new look: How HyPro speeds up

Verification techniques/tools for hybrid systems

Deduction: Finding and showing invariants using theorem proving.Some tools: Ariadne, Isabelle/HOL, KeYmaera

Source: http://symbolaris.com/info/keymaera.html

Erika Abraham - Reachability analysis with HyPro 5 / 49

Page 10: Old-established methods in a new look: How HyPro speeds up

Verification techniques/tools for hybrid systems

Bounded model checking / interval arithmetic: System executions andrequirements are encoded by logical formulas; satisfiability checking tools (SMTsolvers) are used for (bounded) reachability analysis.Some tools: dReach, HSolver, iSAT-ODE

Source: http://dreal.github.io/dReach/

Erika Abraham - Reachability analysis with HyPro 6 / 49

Page 11: Old-established methods in a new look: How HyPro speeds up

Verification techniques/tools for hybrid systems

Over-approximating flowpipe construction: Iterative (bounded) forwardreachability analysis based on some over-approximative symbolic state setrepresentations.Some tools: Cora, Flow*, HyCreate, HyPro/HyDRA, NLTOOLBOX, SoapBox,SpaceEx

Erika Abraham - Reachability analysis with HyPro 7 / 49

Page 12: Old-established methods in a new look: How HyPro speeds up

State set representations

Most well-known state set representations

boxes (hyper-rectangles) [Moore et al., 2009]oriented rectangular hulls [Stursberg et al., 2003]convex polyhedra [Ziegler, 1995] [Chen at el, 2011]template polyhedra [Sankaranarayanan et al., 2008]orthogonal polyhedra [Bournez et al., 1999]zonotopes [Girard, 2005]ellipsoids [Kurzhanski et al., 2000]support functions [Le Guernic et al., 2009]Taylor models [Berz and Makino, 1998, 2009] [Chen et al., 2012]

Some needed set operations:

intersection union projectionlinear transformation Minkowski sumtest for membership test for emptiness

Erika Abraham - Reachability analysis with HyPro 8 / 49

Page 13: Old-established methods in a new look: How HyPro speeds up

Example state set representation: Polytopes

Halfspace: set of points x satisfying l · x ≤ z

Polyhedron: an intersection of finitely many halfspaces

Polytope: a bounded polyhedron

l1

l2

l3

l4

representation union intersection Minkowski sum

V-representation by vertices easy hard easyH-representation by facets hard easy hard

Erika Abraham - Reachability analysis with HyPro 9 / 49

Page 14: Old-established methods in a new look: How HyPro speeds up

Example state set representation: Polytopes

Halfspace: set of points x satisfying l · x ≤ z

Polyhedron: an intersection of finitely many halfspaces

Polytope: a bounded polyhedron

l1

l2

l3

l4

representation union intersection Minkowski sum

V-representation by vertices easy hard easyH-representation by facets hard easy hard

Erika Abraham - Reachability analysis with HyPro 9 / 49

Page 15: Old-established methods in a new look: How HyPro speeds up

Example state set representation: Polytopes

Halfspace: set of points x satisfying l · x ≤ z

Polyhedron: an intersection of finitely many halfspaces

Polytope: a bounded polyhedron

l1

l2

l3

l4

representation union intersection Minkowski sum

V-representation by vertices easy hard easyH-representation by facets hard easy hard

Erika Abraham - Reachability analysis with HyPro 9 / 49

Page 16: Old-established methods in a new look: How HyPro speeds up

Example state set representation: Polytopes

Halfspace: set of points x satisfying l · x ≤ z

Polyhedron: an intersection of finitely many halfspaces

Polytope: a bounded polyhedron

l1

l2

l3

l4

representation union intersection Minkowski sum

V-representation by vertices easy hard easyH-representation by facets hard easy hard

Erika Abraham - Reachability analysis with HyPro 9 / 49

Page 17: Old-established methods in a new look: How HyPro speeds up

Example state set representation: Polytopes

Halfspace: set of points x satisfying l · x ≤ z

Polyhedron: an intersection of finitely many halfspaces

Polytope: a bounded polyhedron

l1

l2

l3

l4

representation union intersection Minkowski sum

V-representation by vertices easy hard easyH-representation by facets hard easy hard

Erika Abraham - Reachability analysis with HyPro 9 / 49

Page 18: Old-established methods in a new look: How HyPro speeds up

Example state set representation: Polytopes

Halfspace: set of points x satisfying l · x ≤ z

Polyhedron: an intersection of finitely many halfspaces

Polytope: a bounded polyhedron

l1

l2

l3

l4

representation union intersection Minkowski sum

V-representation by vertices easy hard easyH-representation by facets hard easy hard

Erika Abraham - Reachability analysis with HyPro 9 / 49

Page 19: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+Bu

Over-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 20: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+Bu

Over-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

time [0, δ]

time [δ, 2δ]

time [2δ, 3δ]

P0

P1

P2

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 21: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+Bu

Over-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

time [0, δ]

time [δ, 2δ]

time [2δ, 3δ]

P0

P1

P2

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 22: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+Bu

Over-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

time [0, δ]

time [δ, 2δ]

time [2δ, 3δ]

P0

P1

P2

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 23: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 24: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 25: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!

The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 26: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!

The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 27: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!

The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 28: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!

The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 29: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!

The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax

disturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 30: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!

The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax

disturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 31: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!

The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax

disturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 32: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!

The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax

disturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 33: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!

The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 34: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!

The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 35: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 36: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax

disturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 37: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax

disturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 38: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax

disturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 39: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 40: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Time evolution

Assume: initial set X0, flow x = Ax+BuOver-approximate flowpipe segment for time [iδ, (i + 1)δ] by Pi

The first flowpipe segment:

Reminder matrix exponential: eX =∑∞

k=0X k

k!The remaining ones:

t0 δ 2δ

X0

eAδX0

conv(X0, eAδX0)

conv(X0, eAδX0 ⊕ B1)

over-approximates flowpipefor time [0, δ]

under dynamics x = Axdisturbance!

P0 = conv(X0, eAδX0 ⊕ B1⊕B2)

over-approximates flowpipefor time [0, δ]

under dynamics x = Ax+Bu

P0

eAδP0

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Axdisturbance!

P1 = eAδP0⊕B2

over-approximates flowpipefor time [δ, 2δ]

under dynamics x = Ax+Bu

Erika Abraham - Reachability analysis with HyPro 10 / 49

Page 41: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Jump successors

P0

P1

P2

P3

Erika Abraham - Reachability analysis with HyPro 11 / 49

Page 42: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Jump successors

P0

P1

P2

P3

Erika Abraham - Reachability analysis with HyPro 11 / 49

Page 43: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Jump successors

P0

P1

P2

P3

Erika Abraham - Reachability analysis with HyPro 11 / 49

Page 44: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Jump successors

P0

P1

P2

P3

Erika Abraham - Reachability analysis with HyPro 11 / 49

Page 45: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Jump successors

P0

P1

P2

P3

Erika Abraham - Reachability analysis with HyPro 11 / 49

Page 46: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Jump successors

P0

P1

P2

P3

Erika Abraham - Reachability analysis with HyPro 11 / 49

Page 47: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Example

x ∈ [0.5,0.6]y ∈ [0.1,0.2]

l0

x = x + 4yy = −4x + y

x ≥ 0

x ≥ 0.25∧ x ≤ 0.3y := 0.9y + 0.3

x := x− 0.1

0.08

0.1

0.12

0.14

0.16

0.18

0.2

0.5 0.52 0.54 0.56 0.58 0.6 0.62

Erika Abraham - Reachability analysis with HyPro 12 / 49

Page 48: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Example

x ∈ [0.5,0.6]y ∈ [0.1,0.2]

l0x = x + 4y

y = −4x + y

x ≥ 0

x ≥ 0.25∧ x ≤ 0.3y := 0.9y + 0.3

x := x− 0.1

0.08

0.1

0.12

0.14

0.16

0.18

0.2

0.5 0.52 0.54 0.56 0.58 0.6 0.62

linear transformation

Erika Abraham - Reachability analysis with HyPro 12 / 49

Page 49: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Example

x ∈ [0.5,0.6]y ∈ [0.1,0.2]

l0x = x + 4y

y = −4x + y

x ≥ 0

x ≥ 0.25∧ x ≤ 0.3y := 0.9y + 0.3

x := x− 0.1

0.08

0.1

0.12

0.14

0.16

0.18

0.2

0.5 0.52 0.54 0.56 0.58 0.6 0.62

union

Erika Abraham - Reachability analysis with HyPro 12 / 49

Page 50: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Example

x ∈ [0.5,0.6]y ∈ [0.1,0.2]

l0x = x + 4y

y = −4x + y

x ≥ 0

x ≥ 0.25∧ x ≤ 0.3y := 0.9y + 0.3

x := x− 0.1

0.08

0.1

0.12

0.14

0.16

0.18

0.2

0.5 0.52 0.54 0.56 0.58 0.6 0.62

Minkowski sum

Erika Abraham - Reachability analysis with HyPro 12 / 49

Page 51: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Example

x ∈ [0.5,0.6]y ∈ [0.1,0.2]

l0x = x + 4y

y = −4x + y

x ≥ 0

x ≥ 0.25∧ x ≤ 0.3y := 0.9y + 0.3

x := x− 0.1

0.08

0.1

0.12

0.14

0.16

0.18

0.2

0.5 0.52 0.54 0.56 0.58 0.6 0.62

Erika Abraham - Reachability analysis with HyPro 12 / 49

Page 52: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Example

x ∈ [0.5,0.6]y ∈ [0.1,0.2]

l0x = x + 4y

y = −4x + y

x ≥ 0

x ≥ 0.25∧ x ≤ 0.3y := 0.9y + 0.3

x := x− 0.1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

Erika Abraham - Reachability analysis with HyPro 12 / 49

Page 53: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Example

x ∈ [0.5,0.6]y ∈ [0.1,0.2]

l0x = x + 4y

y = −4x + yx ≥ 0

x ≥ 0.25∧ x ≤ 0.3y := 0.9y + 0.3

x := x− 0.1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

intersection

Erika Abraham - Reachability analysis with HyPro 12 / 49

Page 54: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Example

x ∈ [0.5,0.6]y ∈ [0.1,0.2]

l0x = x + 4y

y = −4x + yx ≥ 0

x ≥ 0.25∧ x ≤ 0.3y := 0.9y + 0.3

x := x− 0.1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

linear transformation

Erika Abraham - Reachability analysis with HyPro 12 / 49

Page 55: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Example

x ∈ [0.5,0.6]y ∈ [0.1,0.2]

l0x = x + 4y

y = −4x + yx ≥ 0

x ≥ 0.25∧ x ≤ 0.3y := 0.9y + 0.3

x := x− 0.1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

linear transformation

Erika Abraham - Reachability analysis with HyPro 12 / 49

Page 56: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Example

x ∈ [0.5,0.6]y ∈ [0.1,0.2]

l0x = x + 4y

y = −4x + yx ≥ 0

x ≥ 0.25∧ x ≤ 0.3

y := 0.9y + 0.3x := x− 0.1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

intersection

Erika Abraham - Reachability analysis with HyPro 12 / 49

Page 57: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Example

x ∈ [0.5,0.6]y ∈ [0.1,0.2]

l0x = x + 4y

y = −4x + yx ≥ 0

x ≥ 0.25∧ x ≤ 0.3y := 0.9y + 0.3

x := x− 0.1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

linear transformation

Erika Abraham - Reachability analysis with HyPro 12 / 49

Page 58: Old-established methods in a new look: How HyPro speeds up

Reachability computation for LHA: Example

x ∈ [0.5,0.6]y ∈ [0.1,0.2]

l0x = x + 4y

y = −4x + yx ≥ 0

x ≥ 0.25∧ x ≤ 0.3y := 0.9y + 0.3

x := x− 0.1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

linear transformation

Erika Abraham - Reachability analysis with HyPro 12 / 49

Page 59: Old-established methods in a new look: How HyPro speeds up

Reachability analysis search tree

∅ ∅

Erika Abraham - Reachability analysis with HyPro 13 / 49

Page 60: Old-established methods in a new look: How HyPro speeds up

Reachability analysis search tree

∅ ∅

Erika Abraham - Reachability analysis with HyPro 13 / 49

Page 61: Old-established methods in a new look: How HyPro speeds up

Flow* [Chen et al., CAV 2013]

Taylor model-based approach

non-linear dynamic

adaptive refinement methods

Available at https://flowstar.org/

Image: Xin Chen

Has been used in a variety of verification tasks, e.g.

biological/medical systems (glucose control, spiking neurons, LotkaVolterra equations),

circuits (oscillators, van der Pol circuit),

mechanical systems (jet engine model)

Erika Abraham - Reachability analysis with HyPro 14 / 49

Page 62: Old-established methods in a new look: How HyPro speeds up

HyPro [Schupp et al., NFM 2017]

A free and open-source C++ library forstate set representations for the reachabilityanalysis of hybrid systems.

Available at https://github.com/hypro/hypro.

Allows the fast implementation of specialized reachability analysismethods.

Erika Abraham - Reachability analysis with HyPro 15 / 49

Page 63: Old-established methods in a new look: How HyPro speeds up

HyPro/HyDRA: Structure

dat

astr

uct

ure

s

uti

l

algorithms

repr

esen

tati

onsBox

HPolytope

VPolytope

PPL-Polytope

Zonotope

SupportFunction

Orthogonal polyhedra

Taylor model

GeometricObject

<Interface>

Hyb

rid

auto

mat

onP

oin

tH

alfs

pac

e

Converter

Plotter

Logger

Parser

Reachabilityanalysis

Optimizer

glpk SMT-RAT Z3 SoPlex

Erika Abraham - Reachability analysis with HyPro 16 / 49

Page 64: Old-established methods in a new look: How HyPro speeds up

HyPro/HyDRA: Structure

dat

astr

uct

ure

s

uti

l

algorithms

repr

esen

tati

onsBox

HPolytope

VPolytope

PPL-Polytope

Zonotope

SupportFunction

Orthogonal polyhedra

Taylor model

GeometricObject

<Interface>

Hyb

rid

auto

mat

onP

oin

tH

alfs

pac

e

Converter

Plotter

Logger

Parser

Reachabilityanalysis

Optimizer

glpk SMT-RAT Z3 SoPlex

Erika Abraham - Reachability analysis with HyPro 17 / 49

Page 65: Old-established methods in a new look: How HyPro speeds up

HyPro: State set representations

x

y

Ix

Iy

Boxes

x

y

x

y

Convex polyhedra (H, V, PPL)

x

y

c

g0

g1

Zonotopes

x

y

Support functions

x

y

Orthogonal polyhedra

Taylor models

Source: Xin Chen

Erika Abraham - Reachability analysis with HyPro 18 / 49

Page 66: Old-established methods in a new look: How HyPro speeds up

Main functionalities of GeometricObject

Set operations:

X.affineTransformation(matrix A, vector b) AX + bX.minkowskiSum(geometricObject Y) X ⊕ YX.intersectHalfspaces(matrix A, vector b) X ∩ {y | Ay ≤ b}X.satisfiesHalfspaces(matrix A, vector b) X ∩ {y | Ay ≤ b} 6= ∅X.unite(geometricObject Y) cl(X ∪ Y )

Set utility functions:

dimension()

empty()

vertices()

project(vector<dimensions> d)

contains(point p)

conversion operationsreduction functions

Erika Abraham - Reachability analysis with HyPro 19 / 49

Page 67: Old-established methods in a new look: How HyPro speeds up

Main functionalities of GeometricObject

Set operations:

X.affineTransformation(matrix A, vector b) AX + bX.minkowskiSum(geometricObject Y) X ⊕ YX.intersectHalfspaces(matrix A, vector b) X ∩ {y | Ay ≤ b}X.satisfiesHalfspaces(matrix A, vector b) X ∩ {y | Ay ≤ b} 6= ∅X.unite(geometricObject Y) cl(X ∪ Y )

Set utility functions:

dimension()

empty()

vertices()

project(vector<dimensions> d)

contains(point p)

conversion operationsreduction functions

Erika Abraham - Reachability analysis with HyPro 19 / 49

Page 68: Old-established methods in a new look: How HyPro speeds up

HyPro/HyDRA: Structure

dat

astr

uct

ure

s

uti

l

algorithms

repr

esen

tati

onsBox

HPolytope

VPolytope

PPL-Polytope

Zonotope

SupportFunction

Orthogonal polyhedra

Taylor model

GeometricObject

<Interface>

Hyb

rid

auto

mat

onP

oin

tH

alfs

pac

e

Converter

Plotter

Logger

Parser

Reachabilityanalysis

Optimizer

glpk SMT-RAT Z3 SoPlex

Erika Abraham - Reachability analysis with HyPro 20 / 49

Page 69: Old-established methods in a new look: How HyPro speeds up

HyPro/HyDRA: Structure

dat

astr

uct

ure

s

uti

l

algorithms

repr

esen

tati

onsBox

HPolytope

VPolytope

PPL-Polytope

Zonotope

SupportFunction

Orthogonal polyhedra

Taylor model

GeometricObject

<Interface>

Hyb

rid

auto

mat

onP

oin

tH

alfs

pac

e

Converter

Plotter

Logger

Parser

Reachabilityanalysis

Optimizer

glpk SMT-RAT Z3 SoPlex

Erika Abraham - Reachability analysis with HyPro 21 / 49

Page 70: Old-established methods in a new look: How HyPro speeds up

0

2

4

6

8

10

-15 -10 -5 0 5 10

Erika Abraham - Reachability analysis with HyPro 22 / 49

Page 71: Old-established methods in a new look: How HyPro speeds up

0

2

4

6

8

10

-15 -10 -5 0 5 10

Erika Abraham - Reachability analysis with HyPro 23 / 49

Page 72: Old-established methods in a new look: How HyPro speeds up

HyPro: Linear optimization

HyPro offers different number representations:cln::cl RA, mpq class, double

Obstacles:

inexact linear optimization not suitable

exact linear optimization expensive

combined application

Computeoptimalsolutionglpk

Compute optimal solution s∗ ≥ sSMT-RAT/SoPlex/Z3

Compute optimal solutionSMT-RAT/SoPlex/Z3

Solution

Nosolution

solution s

no solution

nosolution

solution s∗

no solution

solution s∗

Erika Abraham - Reachability analysis with HyPro 24 / 49

Page 73: Old-established methods in a new look: How HyPro speeds up

Utility

Further utility functions:

datastructures for e.g. hybrid automata, point, halfspace

parser for Flow*-based syntax

gnuplot plotting interface (pdf, eps and tex)

logging

Erika Abraham - Reachability analysis with HyPro 25 / 49

Page 74: Old-established methods in a new look: How HyPro speeds up

HyPro/HyDRA: Structure

dat

astr

uct

ure

s

uti

l

algorithms

repr

esen

tati

onsBox

HPolytope

VPolytope

PPL-Polytope

Zonotope

SupportFunction

Orthogonal polyhedra

Taylor model

GeometricObject

<Interface>

Hyb

rid

auto

mat

onP

oin

tH

alfs

pac

e

Converter

Plotter

Logger

Parser

Reachabilityanalysis

Optimizer

glpk SMT-RAT Z3 SoPlex

Erika Abraham - Reachability analysis with HyPro 26 / 49

Page 75: Old-established methods in a new look: How HyPro speeds up

HyPro/HyDRA: Structure

dat

astr

uct

ure

s

uti

l

algorithms

repr

esen

tati

onsBox

HPolytope

VPolytope

PPL-Polytope

Zonotope

SupportFunction

Orthogonal polyhedra

Taylor model

GeometricObject

<Interface>

Hyb

rid

auto

mat

onP

oin

tH

alfs

pac

e

Converter

Plotter

Logger

Parser

Reachabilityanalysis

Optimizer

glpk SMT-RAT Z3 SoPlex

Erika Abraham - Reachability analysis with HyPro 27 / 49

Page 76: Old-established methods in a new look: How HyPro speeds up

HyDRA techniques

1 Counterexample-guided abstraction refinement

2 Parallelization

3 Sub-space computations

Erika Abraham - Reachability analysis with HyPro 28 / 49

Page 77: Old-established methods in a new look: How HyPro speeds up

HyDRA techniques

1 Counterexample-guided abstraction refinement

2 Parallelization

3 Sub-space computations

Erika Abraham - Reachability analysis with HyPro 29 / 49

Page 78: Old-established methods in a new look: How HyPro speeds up

Choice of state set representation

Ig

g

I

Erika Abraham - Reachability analysis with HyPro 30 / 49

Page 79: Old-established methods in a new look: How HyPro speeds up

Choice of state set representation

Ig

g

I

Erika Abraham - Reachability analysis with HyPro 30 / 49

Page 80: Old-established methods in a new look: How HyPro speeds up

Choice of state set representation

Ig

g

I

Erika Abraham - Reachability analysis with HyPro 30 / 49

Page 81: Old-established methods in a new look: How HyPro speeds up

Choice of state set representation

Ig

g

I

Erika Abraham - Reachability analysis with HyPro 30 / 49

Page 82: Old-established methods in a new look: How HyPro speeds up

Time step length

Discretize time horizon T into N time segments:

P ′0

P ′1

P ′2

P ′3

P0

P1

N = 2

N = 4

Erika Abraham - Reachability analysis with HyPro 31 / 49

Page 83: Old-established methods in a new look: How HyPro speeds up

Time step length

Discretize time horizon T into N time segments:

P ′0

P ′1

P ′2

P ′3

P0

P1

N = 2

N = 4

Erika Abraham - Reachability analysis with HyPro 31 / 49

Page 84: Old-established methods in a new look: How HyPro speeds up

Discrete successors: Aggregation & clustering

No aggregation/clustering

guardn0 τ0

n1

τ1

n2

τ2

n3

τ3

n4

τ4

n5

τ5

n6

τ6

e e e e e e

Clustering

guardn0 τ0

n1

τ1

n2

τ2

e e

Aggregation

guardn0 τ0

n1

τ1

e

Erika Abraham - Reachability analysis with HyPro 32 / 49

Page 85: Old-established methods in a new look: How HyPro speeds up

Analysis parameters

Parameters such as

state set representation,

time step size δ,

aggregation/clustering,

. . .

influence precision as well as computational effort.

Too precise → might not terminate within acceptable timeToo coarse → might fail to show safety

Idea of dynamic configurations:Use ”coarse” configurations for fast analysis.Use more ”precise” configurations to falsify spurious counterexamples.

Some tools use adaptive methods, but they are hard-wired and restrictedto certain parameters.

Erika Abraham - Reachability analysis with HyPro 33 / 49

Page 86: Old-established methods in a new look: How HyPro speeds up

Analysis parameters

Parameters such as

state set representation,

time step size δ,

aggregation/clustering,

. . .

influence precision as well as computational effort.

Too precise → might not terminate within acceptable timeToo coarse → might fail to show safety

Idea of dynamic configurations:Use ”coarse” configurations for fast analysis.Use more ”precise” configurations to falsify spurious counterexamples.

Some tools use adaptive methods, but they are hard-wired and restrictedto certain parameters.

Erika Abraham - Reachability analysis with HyPro 33 / 49

Page 87: Old-established methods in a new look: How HyPro speeds up

Analysis parameters

Parameters such as

state set representation,

time step size δ,

aggregation/clustering,

. . .

influence precision as well as computational effort.

Too precise → might not terminate within acceptable timeToo coarse → might fail to show safety

Idea of dynamic configurations:Use ”coarse” configurations for fast analysis.Use more ”precise” configurations to falsify spurious counterexamples.

Some tools use adaptive methods, but they are hard-wired and restrictedto certain parameters.

Erika Abraham - Reachability analysis with HyPro 33 / 49

Page 88: Old-established methods in a new look: How HyPro speeds up

Analysis parameters

Parameters such as

state set representation,

time step size δ,

aggregation/clustering,

. . .

influence precision as well as computational effort.

Too precise → might not terminate within acceptable timeToo coarse → might fail to show safety

Idea of dynamic configurations:Use ”coarse” configurations for fast analysis.Use more ”precise” configurations to falsify spurious counterexamples.

Some tools use adaptive methods, but they are hard-wired and restrictedto certain parameters.

Erika Abraham - Reachability analysis with HyPro 33 / 49

Page 89: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0conf0

boxδ = 0.1

aggregation

conf1conf1

support functionδ = 0.1

aggregation

conf2conf2

support functionδ = 0.001

aggregation

Erika Abraham - Reachability analysis with HyPro 34 / 49

Page 90: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

Erika Abraham - Reachability analysis with HyPro 34 / 49

Page 91: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

Erika Abraham - Reachability analysis with HyPro 34 / 49

Page 92: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

Erika Abraham - Reachability analysis with HyPro 34 / 49

Page 93: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

B C

Erika Abraham - Reachability analysis with HyPro 34 / 49

Page 94: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

B C

D

Erika Abraham - Reachability analysis with HyPro 34 / 49

Page 95: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

B C

D

X

Erika Abraham - Reachability analysis with HyPro 34 / 49

Page 96: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

B C

D

XE F

Erika Abraham - Reachability analysis with HyPro 34 / 49

Page 97: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

B C

D

XE F

G

Erika Abraham - Reachability analysis with HyPro 34 / 49

Page 98: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

B C

D

XE F

G

XErika Abraham - Reachability analysis with HyPro 34 / 49

Page 99: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

B C

D

XE F

G

XErika Abraham - Reachability analysis with HyPro 34 / 49

Page 100: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

B C

D

XE F

X

G

XErika Abraham - Reachability analysis with HyPro 34 / 49

Page 101: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

B C

D

XE F

X

G

XErika Abraham - Reachability analysis with HyPro 34 / 49

Page 102: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

B C

D

XE F

HG

XErika Abraham - Reachability analysis with HyPro 34 / 49

Page 103: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

B C

D

XE F

H

XG

XErika Abraham - Reachability analysis with HyPro 34 / 49

Page 104: Old-established methods in a new look: How HyPro speeds up

HyDRA’s CEGAR approach

Strategy: Finite sequence of parameter configurations

conf0

conf0

boxδ = 0.1

aggregation

conf1

conf1

support functionδ = 0.1

aggregation

conf2

conf2

support functionδ = 0.001

aggregation

A

B C

D

XE F

H

XG

X

A

B C

D

XE F

H

XG

X

eB , [tB , t′B ] eC , [tC , t

′C ]

eD , [tD , t′D ]eE , [tE , t

′E ] eF , [tF , t

′F ]

eG , [tG , t′G ] eH , [tH , t

′H ]

Erika Abraham - Reachability analysis with HyPro 34 / 49

Page 105: Old-established methods in a new look: How HyPro speeds up

Dynamic search tree structure

No aggregation/clustering

A0

B0

e, [t1, t2]

A0 A1

B0 B1 C1

e, [t1, t2]

e, [t′1, t′2] e, [t′2, t

′3]

refine A

Time interval: Flowpipe:

[t1

]t2

t

[t1

[t′1

[]t′2

]t′3

]t2

t

guardB0

B1

C1

Reuse and refine transition timing information.

Erika Abraham - Reachability analysis with HyPro 35 / 49

Page 106: Old-established methods in a new look: How HyPro speeds up

Dynamic search tree structure

No aggregation/clustering – reduce time step length

A0

B0

e, [t1, t2]

A0 A1

B0 B1 C1

e, [t1, t2]

e, [t′1, t′2] e, [t′2, t

′3]

refine A

Time interval: Flowpipe:

[t1

]t2

t

[t1

[t′1

[]t′2

]t′3

]t2

t

guardB0

B1

C1

Reuse and refine transition timing information.

Erika Abraham - Reachability analysis with HyPro 35 / 49

Page 107: Old-established methods in a new look: How HyPro speeds up

Dynamic search tree structure

No aggregation/clustering – reduce time step length

A0

B0

e, [t1, t2]

A0 A1

B0 B1 C1

e, [t1, t2]

e, [t′1, t′2] e, [t′2, t

′3]

refine A

Time interval: Flowpipe:

[t1

]t2

t

[t1

[t′1

[]t′2

]t′3

]t2

tguard

B0

B1

C1

Reuse and refine transition timing information.

Erika Abraham - Reachability analysis with HyPro 35 / 49

Page 108: Old-established methods in a new look: How HyPro speeds up

Dynamic search tree structure

No aggregation/clustering – reduce time step length

A0

B0

e, [t1, t2]

A0 A1

B0 B1 C1

e, [t1, t2]

e, [t′1, t′2] e, [t′2, t

′3]

refine A

Time interval: Flowpipe:

[t1

]t2

t

[t1

[t′1

[]t′2

]t′3

]t2

tguard

B0

B1

C1

Reuse and refine transition timing information.

Erika Abraham - Reachability analysis with HyPro 35 / 49

Page 109: Old-established methods in a new look: How HyPro speeds up

Dynamic search tree structure

No aggregation/clustering – reduce time step length

A0

B0

e, [t1, t2]

A0 A1

B0 B1 C1

e, [t1, t2]

e, [t′1, t′2] e, [t′2, t

′3]

refine A

Time interval: Flowpipe:

[t1

]t2

t

[t1

[t′1

[]t′2

]t′3

]t2

tguard

B0

B1

C1

Reuse and refine transition timing information.

Erika Abraham - Reachability analysis with HyPro 35 / 49

Page 110: Old-established methods in a new look: How HyPro speeds up

Example computation

stay in l0

jump to l1

guard: jump to l1

unsafe states

success l0

fail l1

fail l1

initial states l0

success l1

Erika Abraham - Reachability analysis with HyPro 36 / 49

Page 111: Old-established methods in a new look: How HyPro speeds up

Example computation

stay in l0

jump to l1

guard: jump to l1

unsafe states

success l0

fail l1

fail l1

initial states l0

success l1

Erika Abraham - Reachability analysis with HyPro 36 / 49

Page 112: Old-established methods in a new look: How HyPro speeds up

Example computation

stay in l0

jump to l1

guard: jump to l1

unsafe states

success l0

fail l1

fail l1

initial states l0

success l1

Erika Abraham - Reachability analysis with HyPro 36 / 49

Page 113: Old-established methods in a new look: How HyPro speeds up

HyDRA techniques

1 Counterexample-guided abstraction refinement

2 Parallelization

3 Sub-space computations

Erika Abraham - Reachability analysis with HyPro 37 / 49

Page 114: Old-established methods in a new look: How HyPro speeds up

Parallel CEGAR

�master worker

init

create initial tasks

dispatch workers

all idle? join workers

exit

try: get task

got task?

report idle

join? terminate

report working

computereachability

queue bal.queue bal.

global queues

global queues

enqueue

local queueslocal queues

dequeue enq.

deq.

enqueue

enqueue

dequeue

Ï

±

Ï

Ï

±

start workers

±

Queues: (1) non-refinement (2) refinement

Tasks: node, refinement level, symbolic path

Synchronization on global queues.Synchronization on nodes for refinements.Use balanced local and global queues.

Erika Abraham - Reachability analysis with HyPro 38 / 49

Page 115: Old-established methods in a new look: How HyPro speeds up

Parallel CEGAR

�master worker

init

create initial tasks

dispatch workers

all idle? join workers

exit

try: get task

got task?

report idle

join? terminate

report working

computereachability

queue bal.queue bal.

global queues

global queues

enqueue

local queueslocal queues

dequeue enq.

deq.

enqueue

enqueue

dequeue

Ï

±

Ï

Ï

±

start workers

±

Queues: (1) non-refinement (2) refinement

Tasks: node, refinement level, symbolic path

Synchronization on global queues.Synchronization on nodes for refinements.Use balanced local and global queues.

Erika Abraham - Reachability analysis with HyPro 38 / 49

Page 116: Old-established methods in a new look: How HyPro speeds up

Parallel CEGAR

�master worker

init

create initial tasks

dispatch workers

all idle? join workers

exit

try: get task

got task?

report idle

join? terminate

report working

computereachability

queue bal.queue bal.

global queues

global queues

enqueue

local queueslocal queues

dequeue enq.

deq.

enqueue

enqueue

dequeue

Ï

±

Ï

Ï

±

start workers

±

Queues: (1) non-refinement (2) refinement

Tasks: node, refinement level, symbolic path

Synchronization on global queues.Synchronization on nodes for refinements.Use balanced local and global queues.

Erika Abraham - Reachability analysis with HyPro 38 / 49

Page 117: Old-established methods in a new look: How HyPro speeds up

Parallel CEGAR

�master worker

init

create initial tasks

dispatch workers

all idle? join workers

exit

try: get task

got task?

report idle

join? terminate

report working

computereachability

queue bal.queue bal.

global queues

global queues

enqueue

local queueslocal queues

dequeue enq.

deq.

enqueue

enqueue

dequeue

Ï

±

Ï

Ï

±

start workers

±

Queues: (1) non-refinement (2) refinement

Tasks: node, refinement level, symbolic path

Synchronization on global queues.

Synchronization on nodes for refinements.Use balanced local and global queues.

Erika Abraham - Reachability analysis with HyPro 38 / 49

Page 118: Old-established methods in a new look: How HyPro speeds up

Parallel CEGAR

�master worker

init

create initial tasks

dispatch workers

all idle? join workers

exit

try: get task

got task?

report idle

join? terminate

report working

computereachability

queue bal.queue bal.

global queues

global queues

enqueue

local queueslocal queues

dequeue enq.

deq.

enqueue

enqueue

dequeue

Ï

±

Ï

Ï

±

start workers

±

Queues: (1) non-refinement (2) refinement

Tasks: node, refinement level, symbolic path

Synchronization on global queues.Synchronization on nodes for refinements.Use balanced local and global queues.

Erika Abraham - Reachability analysis with HyPro 38 / 49

Page 119: Old-established methods in a new look: How HyPro speeds up

Parallel CEGAR

�master worker

init

create initial tasks

dispatch workers

all idle? join workers

exit

try: get task

got task?

report idle

join? terminate

report working

computereachability

queue bal.queue bal.

global queues

global queues

enqueue

local queueslocal queues

dequeue enq.

deq.

enqueue

enqueue

dequeue

Ï

±

Ï

Ï

±

start workers

±

Queues: (1) non-refinement (2) refinement

Tasks: node, refinement level, symbolic path

Synchronization on global queues.Synchronization on nodes for refinements.Use balanced local and global queues.

Erika Abraham - Reachability analysis with HyPro 38 / 49

Page 120: Old-established methods in a new look: How HyPro speeds up

Parallel CEGAR

�master worker

init

create initial tasks

dispatch workers

all idle? join workers

exit

try: get task

got task?

report idle

join? terminate

report working

computereachability

queue bal.queue bal.

global queues

global queues

enqueue

local queueslocal queues

dequeue enq.

deq.

enqueue

enqueue

dequeue

Ï

±

Ï

Ï

±

start workers

±

Queues: (1) non-refinement (2) refinement

Tasks: node, refinement level, symbolic path

Synchronization on global queues.

Synchronization on nodes for refinements.

Use balanced local and global queues.

Erika Abraham - Reachability analysis with HyPro 38 / 49

Page 121: Old-established methods in a new look: How HyPro speeds up

Parallel CEGAR

�master worker

init

create initial tasks

dispatch workers

all idle? join workers

exit

try: get task

got task?

report idle

join? terminate

report working

computereachability

queue bal.queue bal.

global queues

global queues

enqueue

local queueslocal queues

dequeue enq.

deq.

enqueue

enqueue

dequeue

Ï

±

Ï

Ï

±

start workers

±

Queues: (1) non-refinement (2) refinement

Tasks: node, refinement level, symbolic path

Synchronization on global queues.Synchronization on nodes for refinements.Use balanced local and global queues.

Erika Abraham - Reachability analysis with HyPro 38 / 49

Page 122: Old-established methods in a new look: How HyPro speeds up

Parallel CEGAR

�master worker

init

create initial tasks

dispatch workers

all idle? join workers

exit

try: get task

got task?

report idle

join? terminate

report working

computereachability

queue bal.queue bal.

global queues

global queues

enqueue

local queueslocal queues

dequeue enq.

deq.

enqueue

enqueue

dequeue

Ï

±

Ï

Ï

±

start workers

±

Queues: (1) non-refinement (2) refinement

Tasks: node, refinement level, symbolic path

Synchronization on global queues.Synchronization on nodes for refinements.

Use balanced local and global queues.

Erika Abraham - Reachability analysis with HyPro 38 / 49

Page 123: Old-established methods in a new look: How HyPro speeds up

Parallel CEGAR

�master worker

init

create initial tasks

dispatch workers

all idle? join workers

exit

try: get task

got task?

report idle

join? terminate

report working

computereachability

queue bal.

queue bal.

global queues

global queues

enqueue

local queues

local queues

dequeue enq.

deq.

enqueue

enqueue

dequeue

Ï

±

Ï

Ï

±

start workers

±

Queues: (1) non-refinement (2) refinement

Tasks: node, refinement level, symbolic path

Synchronization on global queues.Synchronization on nodes for refinements.

Use balanced local and global queues.

Erika Abraham - Reachability analysis with HyPro 38 / 49

Page 124: Old-established methods in a new look: How HyPro speeds up

Parallel CEGAR

�master worker

init

create initial tasks

dispatch workers

all idle? join workers

exit

try: get task

got task?

report idle

join? terminate

report working

computereachability

queue bal.

queue bal.

global queues

global queues

enqueue

local queues

local queues

dequeue enq.

deq.

enqueue

enqueue

dequeue

Ï

±

Ï

Ï

±

start workers

±

Queues: (1) non-refinement (2) refinement

Tasks: node, refinement level, symbolic path

Synchronization on global queues.Synchronization on nodes for refinements.Use balanced local and global queues.

Erika Abraham - Reachability analysis with HyPro 38 / 49

Page 125: Old-established methods in a new look: How HyPro speeds up

HyDRA techniques

1 Counterexample-guided abstraction refinement

2 Parallelization

3 Sub-space computations

Erika Abraham - Reachability analysis with HyPro 39 / 49

Page 126: Old-established methods in a new look: How HyPro speeds up

HyPro application: Sub-space computations

Motivation: PLC-controlled plantsHigh-dimensional models

Relevant number of discrete variablesClocks for cycle synchronisation

Idea:

Partition variable set sub-spacesCompute reachability in sub-spacesSynchronise on time

Usual:

time [0, 0]

time [0, δ]

time [δ, 2δ]

time [2δ, 3δ]

Wanted:

Erika Abraham - Reachability analysis with HyPro 40 / 49

Page 127: Old-established methods in a new look: How HyPro speeds up

HyPro application: Sub-space computations

Motivation: PLC-controlled plantsHigh-dimensional modelsRelevant number of discrete variablesClocks for cycle synchronisation

Idea:

Partition variable set sub-spacesCompute reachability in sub-spacesSynchronise on time

Usual:

time [0, 0]

time [0, δ]

time [δ, 2δ]

time [2δ, 3δ]

Wanted:

Erika Abraham - Reachability analysis with HyPro 40 / 49

Page 128: Old-established methods in a new look: How HyPro speeds up

HyPro application: Sub-space computations

Motivation: PLC-controlled plantsHigh-dimensional modelsRelevant number of discrete variablesClocks for cycle synchronisation

Idea:

Partition variable set sub-spacesCompute reachability in sub-spacesSynchronise on time

Usual:

time [0, 0]

time [0, δ]

time [δ, 2δ]

time [2δ, 3δ]

Wanted:

Erika Abraham - Reachability analysis with HyPro 40 / 49

Page 129: Old-established methods in a new look: How HyPro speeds up

3. Sub-space computations

Usual:

time [0, 0]

time [0, δ]

time [δ, 2δ]

time [2δ, 3δ]

Wanted:

Partition the variable set into syntactically independent subsets.

(x , y) = A · (x , y)T + B · u

x = Ax · xT + Bx · u y = Ay · yT + By · u∧

Inv

Inv x Inv y∧

guard

guardx guardy∧

reset

resetx resety∧

Erika Abraham - Reachability analysis with HyPro 41 / 49

Page 130: Old-established methods in a new look: How HyPro speeds up

3. Sub-space computations

Usual:

time [0, 0]

time [0, δ]

time [δ, 2δ]

time [2δ, 3δ]

Wanted:

Partition the variable set into syntactically independent subsets.

(x , y) = A · (x , y)T + B · u

x = Ax · xT + Bx · u y = Ay · yT + By · u∧

Inv

Inv x Inv y∧

guard

guardx guardy∧

reset

resetx resety∧

Erika Abraham - Reachability analysis with HyPro 41 / 49

Page 131: Old-established methods in a new look: How HyPro speeds up

Discrete variables

x

y

x = 0y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 42 / 49

Page 132: Old-established methods in a new look: How HyPro speeds up

Discrete variables

x

y

x = 0y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 42 / 49

Page 133: Old-established methods in a new look: How HyPro speeds up

Discrete variables

x

y

x = 0y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 42 / 49

Page 134: Old-established methods in a new look: How HyPro speeds up

Discrete variables

x

y

x = 0y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 42 / 49

Page 135: Old-established methods in a new look: How HyPro speeds up

Discrete variables

x

y

x = 0y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 42 / 49

Page 136: Old-established methods in a new look: How HyPro speeds up

Discrete variables

x

y

x = 0y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 42 / 49

Page 137: Old-established methods in a new look: How HyPro speeds up

Discrete variables

x

y

x = 0y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 42 / 49

Page 138: Old-established methods in a new look: How HyPro speeds up

Discrete variables

x

y

x = 0y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 42 / 49

Page 139: Old-established methods in a new look: How HyPro speeds up

Discrete variables

x

y

x = 0y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 42 / 49

Page 140: Old-established methods in a new look: How HyPro speeds up

Discrete variables

x

y

x = 0y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 42 / 49

Page 141: Old-established methods in a new look: How HyPro speeds up

Discrete variables

x

y

x = 0y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 42 / 49

Page 142: Old-established methods in a new look: How HyPro speeds up

Discrete variables

x

y

x = 0y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 42 / 49

Page 143: Old-established methods in a new look: How HyPro speeds up

Representation: Boxes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 43 / 49

Page 144: Old-established methods in a new look: How HyPro speeds up

Representation: Boxes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 43 / 49

Page 145: Old-established methods in a new look: How HyPro speeds up

Representation: Boxes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 43 / 49

Page 146: Old-established methods in a new look: How HyPro speeds up

Representation: Boxes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 43 / 49

Page 147: Old-established methods in a new look: How HyPro speeds up

Representation: Boxes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 43 / 49

Page 148: Old-established methods in a new look: How HyPro speeds up

Representation: Boxes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 43 / 49

Page 149: Old-established methods in a new look: How HyPro speeds up

Representation: Boxes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 43 / 49

Page 150: Old-established methods in a new look: How HyPro speeds up

Representation: Boxes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 43 / 49

Page 151: Old-established methods in a new look: How HyPro speeds up

Representation: Boxes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 43 / 49

Page 152: Old-established methods in a new look: How HyPro speeds up

Representation: Boxes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 43 / 49

Page 153: Old-established methods in a new look: How HyPro speeds up

Representation: Boxes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 43 / 49

Page 154: Old-established methods in a new look: How HyPro speeds up

Representation: Boxes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 43 / 49

Page 155: Old-established methods in a new look: How HyPro speeds up

Representation: Polytopes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 44 / 49

Page 156: Old-established methods in a new look: How HyPro speeds up

Representation: Polytopes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 44 / 49

Page 157: Old-established methods in a new look: How HyPro speeds up

Representation: Polytopes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 44 / 49

Page 158: Old-established methods in a new look: How HyPro speeds up

Representation: Polytopes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 44 / 49

Page 159: Old-established methods in a new look: How HyPro speeds up

Representation: Polytopes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 44 / 49

Page 160: Old-established methods in a new look: How HyPro speeds up

Representation: Polytopes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 44 / 49

Page 161: Old-established methods in a new look: How HyPro speeds up

Representation: Polytopes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 44 / 49

Page 162: Old-established methods in a new look: How HyPro speeds up

Representation: Polytopes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 44 / 49

Page 163: Old-established methods in a new look: How HyPro speeds up

Representation: Polytopes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 44 / 49

Page 164: Old-established methods in a new look: How HyPro speeds up

Representation: Polytopes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 44 / 49

Page 165: Old-established methods in a new look: How HyPro speeds up

Representation: Polytopes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 44 / 49

Page 166: Old-established methods in a new look: How HyPro speeds up

Representation: Polytopes

x

y

x = 1y = 1

2.5 ≤ y ≤ 2.8

Erika Abraham - Reachability analysis with HyPro 44 / 49

Page 167: Old-established methods in a new look: How HyPro speeds up

Pros and cons

+ Reduced computational effort

+ Subspace-local configurations are possible

+ Even subspace-local reachability analysis algorithms are possible

- Additional over-approximation

Erika Abraham - Reachability analysis with HyPro 45 / 49

Page 168: Old-established methods in a new look: How HyPro speeds up

Leaking tank example

6

8

10

12

14

0 5 10 15 20 25 30 35 40

x

t

HyPro clock + restHyPro original

Erika Abraham - Reachability analysis with HyPro 46 / 49

Page 169: Old-established methods in a new look: How HyPro speeds up

Conclusion

HyPro: open-source programming library

Available at https://github.com/hypro/hypro

State set representations for the implementation of hybrid systemsreachability analysis algorithms

Exact as well as inexact number representations

Flexibility to deviate from standard methods

HyDRA: HyPro-based reachability analysisCounterexample-guided abstraction refinementParallelizationSub-space computations

Erika Abraham - Reachability analysis with HyPro 47 / 49

Page 170: Old-established methods in a new look: How HyPro speeds up

HyPro benchmark collection [NFM’15]

http://ths.rwth-aachen.de/research/projects/hypro/

benchmarks-of-continuous-and-hybrid-systems/

Erika Abraham - Reachability analysis with HyPro 48 / 49

Page 171: Old-established methods in a new look: How HyPro speeds up

Further challenges

State set representation: context-sensitive approaches, non-convexrepresentations, under-approximation

Precision: automated dynamic error reduction

Large uncertainties / initial sets

Zeno behaviour

Unbounded verification: efficient fixed-point recognition

More expressive models: non-convex invariants, urgenttransitions/locations, communication, random behaviour, hierarchicalmodels

Counterexamples

Compositionality

Standard input language, more benchmarks, competitions

Erika Abraham - Reachability analysis with HyPro 49 / 49