平成25年秋期試験午後問題 問6
問6 組込みシステム開発
⇱問題PDF
ネットワークを使用するインターホンの設計に関する次の記述を読んで,設問1~3に答えよ。
ネットワークを使用するインターホンの設計に関する次の記述を読んで,設問1~3に答えよ。
広告
Z社が開発したインターホンは,3台のインターホン端末(以下,端末という)をネットワークに接続して,同時に2台が互いに通話できる。通信は全てネットワークを経由して行う。端末のソフトウェアは全て同じであり,端末の識別情報などは端末ごとに設定する。
〔端末のボタン表示〕
端末にはタッチパネル付きのLCDが取り付けられ,LCDには端末A~Cについて他の端末2台のボタンが,図1のように表示されている。ボタンは色(赤,青,黄のいずれか)及び点灯状態(点灯又は点滅)によって,表示されている端末の接続状態を示す。〔端末の接続状態〕
ボタンで示された端末の接続状態を表1に示す。各端末は,ボタンで示された端末の接続状態を表1に示すボタンの色及び点灯状態で表す。 端末の接続状態の選移を図2に示す。ただし,起動直後の接続状態は待受けである。〔端末のボタン操作と通信〕
例えば,接続状態が待受けである端末Aが,端末Bを呼び出して通話するときの各端末のボタン操作と端末間の通信は,次のとおりである。
(1) 端末Aからの端末Bの呼出し
〔タスク構成〕
端末のプログラムは,制御,表示,音声処理,通信の四つのタスクから成る。各タスクは専用のメールボックスをもち,他のタスクからのメールを受信し,処理する。
(1) 制御タスク
接続状態,ボタンの色と点灯状態,及び端末間の通信を管理する。
〔端末のボタン表示〕
端末にはタッチパネル付きのLCDが取り付けられ,LCDには端末A~Cについて他の端末2台のボタンが,図1のように表示されている。ボタンは色(赤,青,黄のいずれか)及び点灯状態(点灯又は点滅)によって,表示されている端末の接続状態を示す。〔端末の接続状態〕
ボタンで示された端末の接続状態を表1に示す。各端末は,ボタンで示された端末の接続状態を表1に示すボタンの色及び点灯状態で表す。 端末の接続状態の選移を図2に示す。ただし,起動直後の接続状態は待受けである。〔端末のボタン操作と通信〕
例えば,接続状態が待受けである端末Aが,端末Bを呼び出して通話するときの各端末のボタン操作と端末間の通信は,次のとおりである。
(1) 端末Aからの端末Bの呼出し
- 利用者が端末Aの青点灯しているボタンBにタッチすると,端末Aは接続状態を応答待ちにして,端末Bに"接続要求"を送信する。
- 端末Bは"接続要求"を受信すると,自端末の接続状態を調べ,要求を受け付けられるときは,端末Aに"ACK応答"を,端末Cに"BUSY通知"をそれぞれ送信し,ボタンAを赤点滅にし,チャイム音を鳴らす。送信後,端末Bは接続状態を着呼にして,端末Aを発呼とみなす。一方,①端末Bが要求を受け付けられないときは,端末Aに"NAK応答"を送信する。
- 端末Aは"ACK応答"を受信すると,ボタンBを青点滅にし,端末Cに"BUSY通知"を送信する。送信後,端末Aは接続状態を発呼にして,端末Bを着呼とみなす。一方,端末Aは"NAK応答"を受信すると,端末Aの接続状態を待受けにする。
- 利用者が端末Aで青点滅しているボタンBにタッチすると,端末Aは端末Bに"OFF通知"を送信し,端末AのボタンBを青点灯にし,端末Cに"READY通知"を送信する。端末Aは接続状態を待受けにして,端末Bを待受けとみなす。
- 端末Bは"OFF通知"を受信すると,ボタンAを青点灯にし,端末Cに"READY通知"を送信する。端末Bは接続状態を待受けにして,端末Aを待受けとみなす。
- 利用者が端末Bで赤点滅しているボタンAにタッチすると,端末Bは端末Aに"ON通知"を送信し,端末BのボタンAを赤点灯にする。送信後,端末Bは接続状態を通話にして,端末Aを通話とみなす。
- 端末Aは"ON通知"を受信すると,端末AのボタンBを赤点灯にする。端末Aは接続状態を通話にして,端末Bを通話とみなす。
- 利用者が端末A又は端末Bの赤点灯しているボタンにタッチすると,その端末(以下,切断要求端末という)は,通話中の端末(以下,通話端末という)に"OFF通知"を送信し,切断要求端末の通話端末を示すボタンを青点灯にし,端末Cに"READY通知"を送る。切断要求端末は接続状態を待受けにして,通話端末を待受けとみなす。
- 通話端末は,"OFF通知"を受信すると,通話端末の切断要求端末を示すボタンを青点灯にし,端末Cに"READY通知"を送信する。通話端末の接続状態を待受けにして,切断要求端末を待受けとみなす。
- 端末Cは,"BUSY通知"を受信すると,自端末を通話不可にする。また,"BUSY通知"を送信した端末を示すボタンを黄点灯にし,接続状態を通話不可とみなす。
- 端末Cは,"READY通知"を受信すると,自端末を待受けにする。また,"READY通知"を送信した端末を示すボタンを青点灯にし,接続状態を待受けとみなす。
〔タスク構成〕
端末のプログラムは,制御,表示,音声処理,通信の四つのタスクから成る。各タスクは専用のメールボックスをもち,他のタスクからのメールを受信し,処理する。
(1) 制御タスク
接続状態,ボタンの色と点灯状態,及び端末間の通信を管理する。
- 表示タスクから,タッチされたボタンの情報を受信する。通信タスクから,他の端末が自端末に送った情報を受信する。
- 受信した情報に従って処理を行い,表示タスク,音声処理タスク及び通信タスクに指示を送信する。
例えば,表示タスクから,d点灯のボタンがタッチされたことを通知されると,自端末の接続状態がeのとき,通信タスクに"接続要求"送信の指示を送信する。
- 利用者がボタンにタッチしたとき,タッチされたボタンの情報を制御タスクに送信する。
- 制御タスクからボタンの設定指示を受信し,ボタンの色及び点灯状態を変更する。
- 制御タスクから通話開始指示を受信すると,音声データを相手の端末に送信するとともに,相手の端末から受信した音声データを再生する。
- 制御タスクから通話終了指示を受信すると,音声データの送受信を中止する。
- 他の端末から受信した応答などを制御タスクに送信する。制御タスクから指示を受信すると,指定された端末に応答,要求,通知のいずれかを送信する。
広告
設問1
端末のボタン操作と通信における,端末Aが端末Bを呼び出すときのイベントと通信について,(1),(2)に答えよ。
- 図2中のa~cに入れる適切なイベントを,本文中の字句を用いて答えよ。
- 本文中の下線①で,端末Bが端末Aからの接続要求を受け付けられないと判断するのはどのような場合か。30字以内で述べよ。ここで,各端末は正常に稼働しており,端末間の通信には障害が発生していないものとする。
解答例・解答の要点
- a:ACK応答受信
b:ボタンにタッチ
c:ON通知受信
- 端末Bが他の端末と通話するために接続を試みているとき (26文字)
解説
- 〔aについて〕
応答待ち状態から発呼状態に遷移するイベントが入ります。
問題文の〔端末のボタン操作と通信〕の「(1)端末Aからの端末Bの呼出し」の3つ目には、次のような記述があります。
「端末Aは"ACK応答"を受信すると、ボタンBを青点滅にし、端末Cに"BUSY通知"を送信する。送信後、端末Aは接続状態を発呼にして、端末Bを着呼とみなす」
この記述から、端末は"ACK応答"の受信によって応答待ち状態から発呼状態に遷移することがわかります。よって、[a]には「ACK応答受信」が入ります。
∴a=ACK応答受信
〔bについて〕
発呼状態から待受け状態に遷移する(戻る)イベントが入ります。
問題文の〔端末のボタン操作と通信〕の「(2)端末Aでの発呼の取り消し」の1つ目には、次のような記述があります。
「利用者が端末Aで青点滅しているボタンBにタッチすると、端末Aは端末Bに"OFF通知"を送信し、端末AのボタンBを青点灯にし、端末Cに"READY通知"を送信する。端末Aは接続状態を待受けにして、端末Bを待受けとみなす」
この記述から、発呼状態の端末Aに対してボタンB(青点滅)をタッチすると、発呼が取り消され端末Aは最終的に待受け状態になることがわかります。"OFF通知"は相手方の端末(端末B)が受信するメッセージなので、端末Aの遷移イベントとしては適切ではありません。
さらに、着呼状態から通話状態の遷移について、
「利用者が端末Bで赤点滅しているボタンAにタッチすると,(中略)。送信後,端末Bは接続状態を通話にして,端末Aを通話とみなす」
とあるので、着呼状態の端末に対してボタン(赤点滅)をタッチすると、その端末は通話状態に遷移することがわかります。
この2点から、[b]には「ボタンにタッチ」が入るとわかります。
∴b=ボタンにタッチ
〔cについて〕
発呼状態から通話状態に遷移するイベントが入ります。
問題文の〔端末のボタン操作と通信〕の「(3)端末Bでの着呼の受付」の2つ目には、次のような記述があります。
「端末Aは"ON通知"を受信すると、端末AのボタンBを赤点灯にする。端末Aは接続状態を通話にして、端末Bを通話とみなす」
この記述から、発呼状態の端末Aが"ON通知"を受信すると、最終的に通話状態になることがわかります。よって、[c]には「ON通知受信」が入ります。
∴c=ON通知受信 - 端末Bが端末Aからの"接続要求"を受け付けられず、"NAK応答"を返す場合を考えます。
端末Aが端末Bに"接続要求"を送信するのは、端末Aで青点灯のボタン"B"を押したときです。表1を見ると、ボタンが青点灯しているとき、そのボタンで示された端末の接続状態は"待受け"または"応答待ち"のいずれかであることがわかります。"待受け"は「発呼又は着呼が可能な状態」ですので端末Aからの接続要求を拒否する理由がありません。よって、"NAK応答"を返すのは端末Bが"応答待ち"のときと判断できます。
"応答待ち"は「呼び出した端末からの応答を待つ状態」です。つまり、端末Bが他の端末に"接続要求"を送信し、その応答を待っているときということになります。この場合、他の端末からの"接続要求"を受け付けられないので、端末Bは"NAK応答"を返すことになります。
∴端末Bが他の端末と通話するために接続を試みているとき
広告
設問2
〔タスク構成〕について,(1),(2)に答えよ。
- 本文中のdに入れる適切な色を答えよ。
- 本文中のeに入れる適切な接続状態を答えよ。
解答例・解答の要点
- d:青
- e:待受け
解説
- 〔dについて〕
何色点灯のボタンをタッチした時に接続要求を送信するかを考えます。
問題文の〔端末のボタン操作と通信〕の「(1)端末Aからの端末Bの呼出し」の1つ目には、次のような記述があります。
「利用者が端末Aの青点灯しているボタンBにタッチすると、端末Aは接続状態を応答待ちにして、端末Bに"接続要求"を送信する」
この記述から、接続要求を送信するのは青点灯しているボタンをタッチしたときだとわかります。よって、[d]には「青」が入ります。
∴d=青 - 〔eについて〕
接続状態が入るので表1および図2中の6種類の状態の中から答えることになります。
青点灯のボタンにタッチするときは、そのボタンが示す端末と通話したいときです。図2の状態遷移図を見ると、("応答待ち"を経て)"発呼"に遷移するのは"待受け"状態のときにボタンにタッチしたときだとわかります。よって、[e]には「待受け」が入ります。
もう一つボタンタッチイベントにより遷移するものとして"着呼"→"通話"がありますが、こちらは赤点滅のボタンにタッチしたときですので不適切です。
∴e=待受け
広告
設問3
接続状態が通話である端末で,赤点灯しているボタンを利用者がタッチしたときに,制御タスクが他のタスクに送信する指示について,(1)~(3)に答えよ。
- 表示タスクに指示するボタンの色を答えよ。
- 音声処理タスクに送信する指示を答えよ。
- 通信タスクに指示して他の端末に送信する通知を,二つ答えよ。
解答例・解答の要点
- 青
- 通話終了指示
- ①:OFF通知 ※順不同
②:READY通知 ※順不同
解説
「利用者が端末A又は端末Bの赤点灯しているボタンにタッチすると、通話中の端末(以下、通話端末という)に"OFF通知"を送信し、切断要求端末の通話端末を示すボタンを青点灯にし、端末Cに"READY通知"を送る」
この記述から、接続状態が通話である端末で、赤点灯しているボタンを利用者がタッチしたときとは、通話の切断要求をするときだとわかります。このとき、赤点灯のボタンを押した側の端末(切断要求端末)は相手方の端末(通話端末)を示すボタンを青点灯にすると説明されています。
∴青
∴通話終了指示
∴OFF通知、READY通知
広告
広告