Theory and Practice of Formal Methods

Volume 9660 of the series Lecture Notes in Computer Science pp 140-154


Vats: A Safe, Reactive Storage Abstraction

  • Dave ClarkeAffiliated withDepartment of Information Technology, Uppsala University Email author 
  • , Tobias WrigstadAffiliated withDepartment of Information Technology, Uppsala University

* Final gross prices may vary according to local VAT.

Get Access


The rise of multicore computers has hastened the advent of multifarious abstractions to facilitate the construction of parallel programs. This paper presents another: the vat. A vat is like a variable, but it has various actions attached to it that can block, transform and react to changes to the vat. Vats can be combined together in various ways, linking the behaviours of the vats together, resulting in various synchronisation mechanisms. Vats are powerful enough to encode (part of) many existing mechanisms including promises, condition variables, LVars and reactive programming.