The Austin Protocol Compiler
Tommy M. McGuire, Mohamed G. GoudaBooks.org participates in affiliate programs including Bookshop.org and the Amazon Services LLC Associates Program. We may earn a commission from qualifying purchases made through links on this page, at no additional cost to you.
Overview
The TAP notation uses two types of semantics: an abstract semantics for prool verifiers and a concrete semantics for prool implementers. The Austin Prool Compiler illustrates that two types of semantics of TAP are equivalent. Thus, the correctness of TAP specification of some prool, that is established based on the abstract semantics of TAP, is maintained when this specification is implemented based on concrete semantics of TAP. The equivalence suggests the following for developing a correct implementation of a prool:
1. Specify the prool using the TAP notation.
2. Verify the correctness of the specification based on the abstract semantics of TAP.
3. Implement the specification based on the concrete semantics of TAP.
For step 3, this book introduces the Austin Prool Compiler (APC) that takes as input, a TAP specification of some prool, and produces as output C-code that implements this prool based on the concrete semantics of TAP.