Abstraction as a unifying link for formal approaches to concurrency (2012)

Author(s): Jones CB

    Abstract: Abstraction is a crucial tool in specifying and justifying developments of systems. This observation is recognised in many different methods for developing sequential software; it also applies to some approaches to the formal development of concurrent systems although there its use is perhaps less uniform.The rely/guarantee approach to formal design has, for example, been shown to be capable of recording the design of complex concurrent software in a "top down" stepwise process that proceeds from abstract specification to code.In contrast,separation logics were -at least initially- motivated by reasoning about details of extant code.Such approaches can be thought of as "bottom up".The same "top down/bottom up" distinction can be applied to "atomicity refinement" and "linearisability".Some useful mixes of these approaches already exist and they are neither to be viewed as competitive approaches nor are they irrevocably confined by the broad categorisation.This paper reports on recent developments and presents the case for how careful use of abstractions can make it easier to marry the respective advantages of different approaches to reasoning about concurrency.

      • Legacy Date: 01/06/2012
      • Series Title: School of Computing Science Technical Report Series
      • Pages: 18
      • Institution: School of Computing Science, University of Newcastle upon Tyne
      • Publication type: Report
      • Bibliographic status: Published

      Keywords: Concurrency, formal methods, rely/guarantee thinking, separation logic, atomicity refinement, linearisability


      Professor Cliff Jones

      • Telephone: +44 191 208 8183