ソフトウェア基礎論
Foundations of Software Science
講義内容
ソフトウェアシステムを設計する際に大切なことは, まず対象を簡潔にモデ
ル化し, 次に, 対象の性質を明らかにするための方法論をもつことである。
本講義では, データベース理論と形式的仕様記述法という二つの分野を取り
上げ, 重要な概念と方法論を紹介する。
- データベース理論
データベースにおける質問言語に関する理論的な事柄を説明する。
- 関係代数, 関係論理
- 一階述語質問
- 再帰質問
- 否定を含む再帰質問
- ソフトウェアの形式的仕様記述法
形式的仕様記述法の例として, 理論的整備の進んでいる代数的仕様記述法と,
その操作的意味を与える項書換え系について説明する。
- 代数的仕様記述法
- 始代数意味論
- 仕様の記述・詳細化と形式的検証
- プログラムへの変換が可能な部分クラス
- 項書換え系
- 諸定義, 停止性, 合流性, Knuth-Bendixの完備化アルゴリズム
- 項書換え系の部分クラスとしての関数型言語
教科書
なし
参考書
授業中に紹介
前提とする知識(必ずしも先修条件ではない)
- アルゴリズムとデータ構造 ( アルゴリズム概論 )
- 形式言語理論, 計算可能性 ( 計算理論 I ),
- 一階述語論理 ( 人工知能基礎論 )