Fractional Permissions and Non-Deterministic Evaluators in Interval Temporal Logic

We propose Interval Temporal Logic as a basis for reasoning about concurrent programs with fine-grained atomicity due to the generality it provides over reasoning with standard pre/post-state relations. To simplify the semantics of parallel composition over intervals, we use fractional permissions, which allows one to ensure that conflicting reads and writes to a variable do not occur simultaneously. Using non-deterministic evaluators over intervals, we enable reasoning about the apparent states over an interval, which may differ from the actual states in the interval. The combination of Interval Temporal Logic, non-deterministic evaluators and fractional permissions results in a generic framework for reasoning about concurrent programs with fine-grained atomicity. We use our logic to develop rely/guaranteestyle rules for decomposing a proof of a large system into proofs of its subcomponents, where fractional permissions are used to ensure that the behaviours of a program and its environment do not conflict.

[1]  Philippa Gardner,et al.  Footprints in Local Reasoning , 2009, Log. Methods Comput. Sci..

[2]  Ralph-Johan Back,et al.  Reasoning algebraically about loops , 1999, Acta Informatica.

[3]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[4]  Ian J. Hayes,et al.  Towards reasoning about teleo-reactive programs for robust real-time systems , 2008, SERENE '08.

[5]  Alan Burns,et al.  The Evolution of Real-Time Programming Revisited: Programming the Giotto Model in Ada 2005 , 2010, Ada-Europe.

[6]  Suresh Jagannathan,et al.  Relaxed-memory concurrency and verified compilation , 2011, POPL '11.

[7]  John Tang Boyland,et al.  Checking Interference with Fractional Permissions , 2003, SAS.

[8]  Brijesh Dongol,et al.  Approximating Idealised Real-Time Specifications Using Time Bands , 2011, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[9]  Ian J. Hayes,et al.  Invariants and Well-Foundedness in Program Algebra , 2010, ICTAC.

[10]  Cliff B. Jones,et al.  Comparing Models of Nondeterministic Expression Evaluation , 2011 .

[11]  Peter W. O'Hearn,et al.  Permission accounting in separation logic , 2005, POPL '05.

[12]  Cliff B. Jones,et al.  Elucidating concurrent algorithms via layers of abstraction and reification , 2011, Formal Aspects of Computing.

[13]  Colin J. Fidge,et al.  A Formal Model of Real-Time Program Compilation , 1999, ARTS.

[14]  Brijesh Dongol,et al.  Rely/Guarantee Reasoning for Teleo-reactive Programs over Multiple Time Bands , 2012, IFM.

[15]  Gidon Ernst,et al.  Interleaved Programs and Rely-Guarantee Reasoning with ITL , 2011, 2011 Eighteenth International Symposium on Temporal Representation and Reasoning.

[16]  Alan Burns,et al.  A timeband framework for modelling real-time systems , 2010, Real-Time Systems.

[17]  Brijesh Dongol,et al.  Deriving real-time action systems in a sampling logic , 2013, Sci. Comput. Program..

[18]  永田 守男,et al.  Verifying Properties of Parallel Programs : An Axiomatic Approach , 1976 .

[19]  Brijesh Dongol,et al.  Deriving Real-Time Action Systems Controllers from Multiscale System Specifications , 2012, MPC.

[20]  Cliff B. Jones,et al.  Tentative steps toward a development method for interfering programs , 1983, TOPL.

[21]  Hussein Zedan,et al.  Refining Interval Temporal Logic Specifications , 1997, ARTS.

[22]  Ben C. Moszkowski,et al.  A complete axiomatization of interval temporal logic with infinite time , 2000, Proceedings Fifteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.99CB36332).

[23]  Brijesh Dongol,et al.  Towards an Algebra for Real-Time Programs , 2012, RAMiCS.

[24]  Cliff B. Jones,et al.  A Structural Proof of the Soundness of Rely/guarantee Rules , 2007, J. Log. Comput..

[25]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[26]  Brijesh Dongol,et al.  Progress-based verification and derivation of concurrent programs , 2009 .