A complete axiomatic semantics of spawning

  • Authors:
  • Sigurd Meldal

  • Affiliations:
  • Department of Informatics, University of Bergen, N-5020 Bergen, Norway

  • Venue:
  • Distributed Computing
  • Year:
  • 1991

Quantified Score

Hi-index 0.00

Visualization

Abstract

In modern imperative languages there are two commonly occurring ways to activate concurrently running tasks, splitting (cobegin... coend) and spawning. The programming language Ada makes use of both forms of task activation. We present a formal system for verifying partial correctness specifications of Ada tasks activated by spawning. The system is based upon a view of tasks as histories of events. We show how the mindset of splitting may be applicable when developing a formal system for reasoning about spawning. The resultant proof system is compositional, and a robust extension of partial correctness proof systems for sequential constructs. A transition model is given for spawning, and the proof system is proven complete in the sense of Cook [10] relative to this model, under certain reasonable assumptions. The specific proof rules given apply to a subset of Ada without real-time and distributed termination. Our approach to task verification applies to other imperative languages besides Ada, and the essential parts of our methodology are applicable to other formal systems besides those based on partial correctness reasoning.