averist an algorithmic verifier for stability averist
play

AVERIST: An Algorithmic VERifier for STability AVERIST ARCHITECTURE - PowerPoint PPT Presentation

AVERIST: An Algorithmic VERifier for STability AVERIST ARCHITECTURE AVERIST architecture Linear PSS expressions AVERIST State-space partition Weighted ABSTRACTION MODEL-CHECKING Graph analysis graph Graph construction Counterexample


  1. AVERIST: An Algorithmic VERifier for STability

  2. AVERIST ARCHITECTURE

  3. AVERIST architecture Linear PSS expressions AVERIST State-space partition Weighted ABSTRACTION MODEL-CHECKING Graph analysis graph Graph construction Counterexample Stable

  4. Model-checking 1 2 1 2 H stable 2 1 1 3 1 1 2 1 Abstract counterexample 2 1 2 1 1

  5. Interactive dialog

  6. ANALYSIS RESULTS

  7. Stable PSS y quad 1 quad 2 x quad 3 quad 4

  8. Stable PSS Polyhedral switched system AVERIST STABILITY ANSWER = Stable Linear expressions x=0, y=0

  9. Unstable PSS - Blow-up y quad 1 quad 2 x quad 3 quad 4

  10. Unstable PSS Polyhedral switched system AVERIST STABILITY ANSWER = Unstable (blow-up) Linear expressions x=0, y=0

  11. Unstable PSS - Counterexample y quad 1 quad 2 x quad 3 quad 4

  12. Unstable PSS - Counterexample Polyhedral switched system AVERIST STABILITY ANSWER = Abstract counterexample [('quad2', 'Constraint_System {x1==0, -x0>0}’), ('quad3', 'Constraint_System {x0==0, -x1>0}’), ('quad1', 'Constraint_System {x1==0, x0>0}’), ('quad1', 'Constraint_System {x0==0, x1>0}’), Linear expressions ('quad2', 'Constraint_System {x1==0, -x0>0}')] x=0, y=0

  13. DEPENDENCIES

  14. Parma Polyhedra Library - PPL x = Variable(0) 1 y = Variable(1) 2 P = NNC Polyhedron(2,’universe’) 3 P.add constraint(y>0) 4 P.add constraint(x-y>0) 5 x − y = 0 y P x

  15. Parma Polyhedra Library - PPL x = Variable(0) y = Variable(1) P = NNC Polyhedron(2,’universe’) P.add constraint(x>0) P.add constraint(x-y>0) x − y = 0 y P x

  16. GNU Linear Programming Kit - GLPK sage: P.maximize(1*x) x − y = 0 {'bounded': True, y 'generator': point(2/1, 1/1), 'maximum': True, 'sup_d': 1, 'sup_n': 2} P x sage: P.maximize(1*y) 0 2 1 {'bounded': True, 'generator': closure_point(2/1, 2/1), 'maximum': False, 'sup_d': 1, 'sup_n': 2} 'sup_n' : Integer. The numerator of the supremum value. • 'sup_d' : Non-zero integer. The denominator of the supremum value. • 'maximum' : Boolean. True if and only if the supremum is also the maximum value. • 'generator' : a Generator . A point or closure point where expr reaches its supremum value. •

  17. NetworkX import networkx as nx G=nx.DiGraph() G.add nodes from([1,2,3,4]) G.add weighted edges from([(1,2,1), (2,3,1),(3,4,1),(4,1,1),(2,1,1.2)]) negative cycle = greater than one edge cycle(G) 1 1 1 4 2 1.2 3 1 1 greater_than_one_edge_cycle() uses a modified Bellman-Ford algorithm in order to consider the product of weights instead the sum of them.

  18. HYBRIDIZATION SLIDES

  19. Hybridization • Hybrid system with linear dynamics is transformed into a hybrid system with polyhedral dynamics. • Lyapunov (asymptotic) stability is preserved.

  20. Hybridization • Hybrid system with linear dynamics is transformed into a hybrid system with polyhedral dynamics. • Lyapunov (asymptotic) stability is preserved.

  21. Hybridization • Hybrid system with linear dynamics is transformed into a hybrid system with polyhedral dynamics. • Lyapunov (asymptotic) stability is preserved.

Recommend


More recommend