Reverse exchange for concurrency and local reasoning

  • Authors:
  • Han-Hing Dang;Bernhard Möller

  • Affiliations:
  • Institut für Informatik, Universität Augsburg, Augsburg, Germany;Institut für Informatik, Universität Augsburg, Augsburg, Germany

  • Venue:
  • MPC'12 Proceedings of the 11th international conference on Mathematics of Program Construction
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Recent research has pointed out the importance of the inequational exchange law (P*Q) ; (R*S)≤(P ; R)*(Q ; S) for concurrent processes. In particular, it has been shown that this law is equivalent to validity of the concurrency rule for Hoare triples. Unfortunately, the law does not hold in the relationally based setting of algebraic separation logic. However, we show that under mild conditions the reverse inequation (P ; R)*(Q ; S)≤(P*Q) ; (R*S) still holds there. Separating conjunction * in that calculus can be interpreted as true concurrency on disjointly accessed resources. From the reverse exchange law we derive slightly restricted but still reasonably useful variants of the concurrency rule. Moreover, using a corresponding definition of locality, we obtain also a variant of the frame rule. By this, the relational setting can also be applied for modular and concurrency reasoning. Finally, we present several variations of the approach to further interpret the results.