ここ
からダウンロードできるプログラムは,
「食事をとる哲学者の問題」と言われる問題をJavaで作成したものである.
その概要は以下のとおりである.
数人の哲学者が円形テーブルを囲み食事をとろうとしている.
それぞのれ哲学者の間には1本のフォークがおかれている.
哲学者は,自分の左右におかれているフォークが2本そろわないと
食事をとることができないことになっている.
このような哲学者とフォークの振る舞いを(プログラム等で)表現してみる.
問題
-
本プログラムの説明をせよ.説明内容は,
少なくとも以下の内容を含むこと.
- 実行方法と,その意味を説明せよ.
- それぞれのクラスが何を表現しており,
その中のメソッド,属性(主なもの)が何を意味しているのかを説明せよ.
-
哲学者 3人の場合のインスタンスの関係を図示し,
その構造と振る舞いを図を用いて説明すること.
- 図の表現形式としては既存の表記法でも我流のものでもかまわない.
- Linux利用の場合は,
Dia
等,Windowsの場合は,ペイント程度でかまわない.
- 図の保存形式は,よく知られたものが望ましい.
gif, bmp, PostScript 等.
- 問題世界の要素(哲学者,手,フォーク等)を,
プログラム内の要素(クラス,メソッド,属性など)として
表現している訳であるが,
問題世界の要素と,プログラム内の要素の対応が適切であると思う部分を
指摘し,その理由を説明せよ.
- 逆に不適切であると思う部分を指摘し,その理由を説明せよ.
- 本問題の本質的な問題点を指摘せよ.
問題点があるとは限らない.
- 本プログラムの問題点を指摘せよ.
問題点があるとは限らない.
- レポートは,
Zip等のアーカイブ形式で
受け付けシステム
に提出せよ.
- 〆切: 4/30 午後1時.
-
提出ページはここ
- 質問などは
学科電子掲示板に出してくれると助かります,他の受講生諸君の参考にも
なりますし.
- 終了後のコメント
$Id: index.html,v 1.3 2001-04-22 19:08:07+09 kaiya Exp kaiya $