ソフトウェアを設計する際に大切なことは,まず目的に応じて対象をモデル化し,対象の性質を明らかにするための方法論をもつことである。理論的考察は方法論の確立に重要である。このような観点に立った理論的アプローチとして,本講義前半では,構文解析,言語処理の基礎的概念である文脈自由言語を取り上げ,基本的な事項を紹介する。後半では,分散システムを構築するためのソフトウェア技術であるミドルウェアについて解説する。

(1)文脈自由言語
1. 文脈自由文法(定義,チョムスキー標準形等)
2. プッシュダウンオートマトン
3. 文脈自由言語の性質(閉包性,パンピングレンマ等)
4. 決定性文脈自由言語
(4.は時間的に余裕があれば,講義する)

(2)分散システムとミドルウェア
    分散システムを構築するためのミドルウェアについて解説し,ミドルウェアの 例としてモバイルエージェントや分散オブジェクト,P2P技術などについて紹 介する。 1.分散システム
2.分散オブジェクト
3.モバイルエージェント
4.P2P技術

(1) エフィーム・キンバー,カール・スミス著,筧・杉原訳 :
計算論への入門,ピアソン・エデュケーション,2002.
(2) 特になし

(1)授業中に紹介する
(2)A.S. Tanenbaum and M. v. Steen: Distributed Systems, Prentice Hall

(必ずしも先修条件ではない) 
(1)形式言語理論,計算可能性 (計算理論I) 
(2)計算機ネットワーク,階層プロトコル(情報ネットワーク論I) 

(1)については試験(50%)を実施し,(2)については数回のレポート (50%)の提出を求める.合計点により成績を評価する。

1回目あるいは2回目の授業の際に,受講希望者は受講の登録をして下さい。