Semantics, verification and design of concurrent programs using atomic actions
In this thesis we investigate the semantics and the design of con- current programs using atomic actions. On the semantic side, we define and compare two semantics for atomic actions: one which characterises atomic actions in terms of the executions they may give rise to and one which characterises atomic actions in terms of the effect relations associated with them. We also give a relational semantics for "backtrack" programs which are claimed to be, in effect, simple concurrent programs. We also study the semantic independence of programs. On the design side, we present the design and proof of a few small but substantial concurrent programs.