以下の設問に回答してください.回答について字数制限は特に設けませんが,要点が明確であることを期待します. なお,設問5は評価項目というよりアンケートに近いので,本ゼミ受講への熱意など自由に回答してください. 1. 身近なITサービスなどの中から分散システムで構築されているであろうものを一つ挙げ,どういった機能を分散システムで実現しているのか,またなぜ分散システムである必要があるのかを説明してください.なお,ここでの説明は自分なりに考察したものであっても,調べた結果わかったことをまとめたものでも構いません. 2. 以下の単語について調査し,それぞれ簡単にまとめてください. (2-1) 非同期システム (2-2) ビザンチン将軍問題 3. 別添に示すアプリケーションついて,以下の問いに答えてください. (3-1) Node AおよびNode Bの最終状態を (15, 15) のように記述する時,図3の状況において考えられる最終状態をすべて示してください. (3-2) (3-1)の結果を正常系 (= そうなってほしい状態) と異常系 (= そうなってほしくない状態) に分け,異常系では何が問題なのか,また正常系を維持するために必要な仕組みとその実現方法を簡単に考察してください. 4. プログラミングの経験について聞きます. (4-1) もっとも得意なプログラミング言語と,普段の主な使用用途あるいは開発したソフトウェアなどについて教えてください. (4-2) このゼミでは並行プログラミングを扱います.期間内でのゼミ目標達成のために,並行プログラミングがやりやすいGo言語の使用を想定していますが,Go言語の使用経験などは以下のどれに当てはまりますか (複数選択可). (a) 書いたことはないが勉強する機会にしたい (b) 調べながらであれば書ける (c) goroutineとチャネルの使い方がわかる (d) ライブラリのドキュメントなどがあればなにかを作ることができる/作ったことがある (e) PRを投げるなどOSS開発に参加したことがある (f) 一身上の理由でGo言語は使えないが,自分の得意なプログラミング言語でやり抜く気合いは十分にある (g) その他 (具体的に記述してください) 5. その他,意気込みなどがあれば自由に記述してください.