ソフトウェアシステム論   Software Systems


◇ 担当教員:渡邉 勝正(わたなべ かつまさ)
◇ 単位数:2  ◇ 開講時期:U期 月曜3時限・水曜1時限 ◇ 講義室:L2
◇ 講義目的:
並行計算モデルと通信の計算モデルを基礎にして、複数のプログラムが安全に協調して働くソフトウェアシステムを、手続き指向およびオブジェクト指向により設計して、構成できるようにする。
◇ 講義内容:
コンピュータシステムの変化に伴い、ソフトウェアシステムは、単独のプログラムによる逐次プロセスの形態から、複数のプログラムによる並行プロセスの形態へ、さらには、分散環境で移動する形態へ重みが変ってきている。
それに適したソフトウェアの計算モデルを基にして、実際のプログラミングの基本機構について学ぶ。具体的には、プロセス間、スレッド間、および、オブジェクト間の通信の機構と、プログラムが移動する機構を学ぶ。
ソフトウェアを設計・創作するにあたって、最も基本となるツールはプログラミング言語である。それを支援する言語処理上の問題と、オペレーティングシステムの役割を合わせて考察する。
1.設計における言語の役割と、ソフトウェアのテストの問題  
2.並行計算モデルとプロセス間通信の計算モデル (π計算モデル)
3.関数を起動する機構と、遠隔の関数の起動
4.マルチタスクにおけるプロセス間の通信と同期のプログラミング
5.移動するプログラムの基本機構
◇ 教科書 :
教科書として一冊にまとまったものはない。
◇ 参考書 :
1.Robin Milner : Communicating and Mobile System: theπ-Calculus, Cambridge, 1999. (CD10||169)
2.W. Richard Stevens : Inter‐process communications : Unix Network
Programming, Volume−2, Prentice Hall, 1999. (言語設計学)
3.Charles W. Kann : Creating Components : Object Oriented,
Concurrent, and Distributed computing in Java, Auerbach Publication,2003. (言語設計学)
◇ 受講要件:
C、C++ あるいは Javaのプログラムを読めることが望ましい。
基礎としてシステムプログラム概論、計算機構造概論、専門科目として計算理論 I、ソフトウェア工学 Iなどと関連している。
◇ 成績評価:
試験(70%)および課題レポート(30%)により評価する。