skip to main content
extended-abstract

Contract-Based Verification of Timing Enforcers: [Extended Abstract]

Published:10 May 2017Publication History
Skip Abstract Section

Abstract

A timing enforcer not only allocates CPU cycles to threads but also uses timers to enforce time budgets. An approach for verifying safety properties of timing enforcers at the source code level is presented. We assume that the enforcer is implemented as a set of entry functions that are executed atomically on critical system-level events, such as arrival and departure of periodic jobs. The key idea is to express the safety property as an invariant, and prove that it is inductive across all the entry functions. The approach is validated by proving correctness of the enforcement of CPU cycle budgets for tasks by a mixed-criticality scheduler called zsrm that is implemented in C. The inductiveness of the necessary zsrm invariants is proved by expressing them as function contracts using the acsl specification language, and verifying the contracts using the frama-c tool.

References

  1. M. Abadi and L. Lamport. An Old-Fashioned Recipe for Real-Time. TOPLAS, 16(5), 1994.Google ScholarGoogle Scholar
  2. ACSL website. http://frama-c.com/acsl.html.Google ScholarGoogle Scholar
  3. AdaCore. Ada 2012: Contracts and Aspects, 2012. http://www.adacore.com/uploads/technical-papers/Ada2012 Rationale Chp1 contracts and aspects.pdf.Google ScholarGoogle Scholar
  4. E. Cohen, M. Dahlweid, M. A. Hillebrand, D. Leinenbach, M. Moskal, T. Santen, W. Schulte, and S. Tobies. VCC: A Practical System for Verifying Concurrent C. In Proc. of TPHOLs, 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. de Niz, K. Lakshmanan, and R. Rajkumar. On the Scheduling of Mixed-Criticality Real-Time Task Sets. In Proc. of RTSS, 2009.Google ScholarGoogle Scholar
  6. Frama-C website. http://frama-c.com.Google ScholarGoogle Scholar
  7. C. Hoare. An axiomatic basis for computer programming. CACM, 12(10), 1969. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. G. Klein, K. Elphinstone, G. Heiser, J. Andronick, D. Cock, P. Derrin, D. Elkaduwe, K. Engelhardt, R. Kolanski, M. Norrish, T. Sewell, H. Tuch, and S. Winwood. seL4: formal verification of an OS kernel. In Proc. of SOSP, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. C. L. Liu and J. W. Layland. Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. JACM, 20(1), 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Tschannen, C. A. Furia, M. Nordio, and N. Polikarpova. AutoProof: Auto-Active Functional Verification of Object-Oriented Programs. In Proc. Of TACAS, 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

(auto-classified)
  1. Contract-Based Verification of Timing Enforcers: [Extended Abstract]

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!