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/guarantee-style 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]  Brijesh Dongol,et al.  Towards an Algebra for Real-Time Programs , 2012, RAMiCS.

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

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

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

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

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

[7]  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).

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

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

[10]  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.

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

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

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

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

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

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

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

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