Skip to main content
A complete axiomatic semantics of spawning
Distributed Computing (1991)
  • Sigurd Meldal, San Jose State University
In modern imperative languages there are two commonly occurring ways to activate concurrently running tasks,splitting (cobegin...coend) andspawning. 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.
Publication Date
Publisher Statement
SJSU users: use the following link to login and access the article via SJSU databases
Citation Information
Sigurd Meldal. "A complete axiomatic semantics of spawning" Distributed Computing Vol. 5 Iss. 3 (1991)
Available at: