Core Concepts
本論文は、公平性を持たない共有状態並列while言語に関して、完全に正しいプログラムを開発するための構文指向の形式システムを提案する。このシステムは、Owicki/Griesの並列プログラム検証手法の合成的な再定式化と理解できる。
Abstract
本論文は以下のような内容で構成されている:
動機と概要
プログラム開発、並行性、合成性、rely-/guar-条件、時間論理、合成的状態仕様、その他のアプローチなどの背景を説明する。
提案するアプローチの特徴として、補助変数の利用、オペレーショナルセマンティクス、指定プログラム、満足条件、全正しさ、論理システムなどを述べる。
形式言語の構文と意味論
一階述語論理の構文と意味論を定義する。
プログラミング言語の構文
並列while言語の構文を定義する。
オペレーショナルセマンティクス
計算、合成、分解の概念を導入し、関連する命題を示す。
仕様
仕様の構文と意味論を定義する。
補助変数
仕様ツールおよび検証ツールとしての補助変数の利用を説明する。
指定プログラム
指定プログラムの構文と満足条件を定義する。
構文演算子
順序に依存しない演算子と有限列演算子を定義する。
良基礎性
無界非決定性への対処法として良基礎性アプローチを説明する。
指定プログラムの論理
形式システムの規則を定義し、その性質を示す。
表記の簡略化
表記の簡略化手法を説明する。
12-14. 具体的な例
食事する哲学者問題、バブルソート、集合分割アルゴリズムの開発を示す。
修正システム
仕様プログラムの定義、前提、コミットメント、満足条件、分解規則などの修正を説明する。
Dekkerのアルゴリズム
Dekkerのアルゴリズムの開発を示す。
17-18. 健全性と相対的完全性
提案システムの健全性と相対的完全性を示す。
議論
様々な拡張や関連研究について議論する。