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


講義内容

 ソフトウェアシステムは、コンピュータシステムの変化に伴い、単独のプログラムが逐次プロセスとして動く形態から、複数のプログラムが並行に動く形態へ、重みが変りつつある。
 そのようなソフトウェアの計算モデルを考えて、実際のプログラミングの基本機構について述べる。具体的には、プロセス間、スレッド間、および、オブジェクト間の通信の機構と、プログラムが移動する機構を取り上げる。
 それに先だって、ソフトウェアを開発する際の様々なプログラミングパラダイムを概観して、手続き型とオブジェクト指向を比較する。
 ソフトウェアを設計・製作するにあたって、最も基本となるツールはプログラミング言語であるが、合わせて、それぞれの言語処理上の問題点を考察する。

  1. 言語の役割とプログラミングパラダイム
  2. プロセス間通信の計算モデル(π計算モデルなど)
  3. プロセス間通信のプログラミング
  4. 移動するプログラムの基礎

教科書

   教科書として一冊にまとまったものはない。

参考書

1. Robin Milner : Communicating and Mobile System : the π-Calculus,Cambridge,1999
2. Steve Oualline (谷口 功訳) : C++ 実践プログラミング, オライリージャパン,1996.
3. Patric Niemeyer,Joshua Peck(安藤 進訳) : Java実践プログラミング,
  オライリージャパン, 1996.
4. Elliotte Rusty Harold (ユニテックス訳) : Java ネットワークプログラミング,
  オライリージャパン, 1997.
5. 竹下隆史,村山公保,荒井透,苅田幸雄著 :マスタリングTCP/IP入門編
  第2版,オーム社 , 1998.

前提とする知識(必ずしも先修条件ではない)

  基礎として,システムプログラム概論,計算機構造概論。
  関連科目として,計算理論 I ,ソフトウェア工学 I。
  C,C++あるいはJavaのプログラムを読めることが望ましい。

成績評価方法及び基準

成績評価は,授業の出席(20%),三つのレポート(30%),及び試験(50%) によって行う。