Towards Certification of Network Calculus
Marc Boyer, Lo¨ ıc Fejoz, Etienne Mabille, Stephan Merz Dagstuhl seminar 15182, April 2015
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 1 / 20
Towards Certification of Network Calculus Marc Boyer, Lo c Fejoz, - - PowerPoint PPT Presentation
Towards Certification of Network Calculus Marc Boyer, Lo c Fejoz, Etienne Mabille, Stephan Merz Dagstuhl seminar 15182, April 2015 Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 1 / 20 Contents
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 1 / 20
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 2 / 20
◮ have a solid theory for system design:
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 3 / 20
◮ have a solid theory for system design:
◮ implemented in working prototype:
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 3 / 20
◮ have a solid theory for system design:
◮ implemented in working prototype:
◮ apply it to the next Airbus design:
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 3 / 20
◮ have a solid theory for system design:
◮ implemented in working prototype:
◮ apply it to the next Airbus design:
◮ make sure your theory works in all border cases ◮ correctness of implementation: process-based quality assurance ◮ specification, documentation, tests, . . . Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 3 / 20
◮ have a solid theory for system design:
◮ implemented in working prototype:
◮ apply it to the next Airbus design:
◮ make sure your theory works in all border cases ◮ correctness of implementation: process-based quality assurance ◮ specification, documentation, tests, . . .
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 3 / 20
◮ solver provides a trace that can be checked independently ◮ verifying a solution is simpler than proving the implementation ◮ trusted code base shifts from solver to checker ◮ solver software can evolve without being requalified Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 4 / 20
◮ solver provides a trace that can be checked independently ◮ verifying a solution is simpler than proving the implementation ◮ trusted code base shifts from solver to checker ◮ solver software can evolve without being requalified
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 4 / 20
◮ solver provides a trace that can be checked independently ◮ verifying a solution is simpler than proving the implementation ◮ trusted code base shifts from solver to checker ◮ solver software can evolve without being requalified
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 4 / 20
◮ regulated application domains: avionics, trains, cars (?) ◮ heterogeneous VLSI designs (NoC): errors are costly
◮ algebraic theory for computing memory and delay bounds ◮ industrial / academic tool sets (Rockwell Collins ConfGen) ◮ widely used, e.g. for designing AFDX backbone of Airbus A380
◮ explore suitability of result certification approach ◮ provide a path towards complementing standard tool qualification Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 5 / 20
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 6 / 20
◮ F(t) : amount of data transmitted up to time t ◮ non-decreasing function
◮ actual flows are usually unknown, but consider upper bounds
◮ pointwise minimum ⊓, addition +, ordering ≤ ◮ further operations on flows
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 7 / 20
F G
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 8 / 20
F G F * G
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 8 / 20
◮ βR,T(t) = if t ≤ T then 0 else R(t − T) ◮ γr,b(t) = if t ≤ 0 then 0 else rt + b
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 9 / 20
◮ βR,T(t) = if t ≤ T then 0 else R(t − T) ◮ γr,b(t) = if t ≤ 0 then 0 else rt + b
◮ closed-form formulas for computing (de)convolution etc. Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 9 / 20
◮ horizontal distance measures worst delay ◮ vertical distance measure buffer use Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 10 / 20
◮ horizontal distance measures worst delay ◮ vertical distance measure buffer use
◮ upper bound on the rate of arrival of new data
◮ equivalent formulation:
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 10 / 20
◮ total relation S where (F, G) ∈ S implies G ≤ F ◮ S has service curve β if F ∗ β ≤ G whenever (F, G) ∈ S Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 11 / 20
◮ total relation S where (F, G) ∈ S implies G ≤ F ◮ S has service curve β if F ∗ β ≤ G whenever (F, G) ∈ S
◮ assume given input arrival curve α and service curve β ◮ the following formulas are valid arrival curves for the output
◮ choice based on shape of curves and effort of computation Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 11 / 20
◮ total relation S where (F, G) ∈ S implies G ≤ F ◮ S has service curve β if F ∗ β ≤ G whenever (F, G) ∈ S
◮ assume given input arrival curve α and service curve β ◮ the following formulas are valid arrival curves for the output
◮ choice based on shape of curves and effort of computation
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 11 / 20
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 12 / 20
◮ primitive: bool, functions, idx ◮ ML-style polymorphism: type variables ◮ typedef constructs a new type from a characteristic predicate ◮ derived constructions for pairs, (co-)algebraic data types etc.
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 13 / 20
◮ primitive: bool, functions, idx ◮ ML-style polymorphism: type variables ◮ typedef constructs a new type from a characteristic predicate ◮ derived constructions for pairs, (co-)algebraic data types etc.
◮ collect types satisfying certain properties (`
◮ locales describe common algebraic structures: groups, monoids, . . . ◮ allows reuse of theorems for instances of type classes Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 13 / 20
◮ primitive: equality, implication, λ-abstraction, THE ◮ examples of derived connectives
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 14 / 20
◮ primitive: equality, implication, λ-abstraction, THE ◮ examples of derived connectives
◮ introduce new operator in terms of existing ones
◮ machinery for introducing recursive definitions ◮ introduce fix-point definitions and derive induction principles ◮ powerful heuristics for proving termination (or left to user) Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 14 / 20
◮ abstract ML type thm : constructors apply single proof rules ◮ creation of theorems restricted to small kernel ◮ users avoid writing axioms, ensuring preservation of consistency Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 15 / 20
◮ abstract ML type thm : constructors apply single proof rules ◮ creation of theorems restricted to small kernel ◮ users avoid writing axioms, ensuring preservation of consistency
◮ built-in, parameterizable provers (tableau, rewriting, . . . ) ◮ resulting proofs are certified by kernel functions ◮ sledgehammer: interface to state-of-the-art automatic provers Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 15 / 20
◮ abstract ML type thm : constructors apply single proof rules ◮ creation of theorems restricted to small kernel ◮ users avoid writing axioms, ensuring preservation of consistency
◮ built-in, parameterizable provers (tableau, rewriting, . . . ) ◮ resulting proofs are certified by kernel functions ◮ sledgehammer: interface to state-of-the-art automatic provers
◮ standard library for common mathematical constructs ◮ Archive of Formal Proofs: user-contributed developments Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 15 / 20
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 16 / 20
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 17 / 20
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 17 / 20
◮ make library theorems available for Network Calculus ◮ simplifies subsequent reasoning about introduced entities
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 18 / 20
◮ input flow has arrival curve γr,b where b = MFS, r = MFS
◮ switches have service curves βRi,θi where Ri equals bandwidth Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 19 / 20
◮ input flow has arrival curve γr,b where b = MFS, r = MFS
◮ switches have service curves βRi,θi where Ri equals bandwidth
◮ delay at switch 1:
◮ arrival curve mid:
5 , 41602 5 ◮ delay at switch 2:
5 , 41602 5 , βR2,θ2) = 42102
◮ overall delay:
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 19 / 20
◮ input flow has arrival curve γr,b where b = MFS, r = MFS
◮ switches have service curves βRi,θi where Ri equals bandwidth
λ → ∀
=
Isabelle
β α
H O L
◮ delay at switch 1:
◮ arrival curve mid:
5 , 41602 5 ◮ delay at switch 2:
5 , 41602 5 , βR2,θ2) = 42102
◮ overall delay:
Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 19 / 20
◮ developed in 8 months (Java analyzer + Isabelle checker) ◮ restricted to simple classes of functions
◮ overly pessimistic results (2 times larger bounds) ◮ checking time: 8h ⇒ bottleneck: real-number computations
◮ decouple computation and checking of correctness ◮ preserve IP of tool vendors vs. open-source, shared checkers ◮ should simplify certification (CC, DO-178C)
◮ support for more interesting classes of functions ◮ complete formal proofs of Network Calculus theorems ◮ integrate into state-of-the-art tool Boyer, Fejoz, Mabille, Merz Towards Certification of Network Calculus Dagstuhl 2015 20 / 20