エンベデッドシステムスペシャリスト 2021年 午後1 問02
デジタルトランスフォーメーションを用いたレストランに関する次の記述を読んで、設問1~3に答えよ。
B社は、デジタルトランスフォーメーション(DX)を用い、店舗運営の効率化及び客の待ち時間の短縮などを目的としたレストランシステム(以下、DXレストランという)を開発している。DXレストランの利用は、事前にスマートフォン(以下、スマホという)に専用アプリケーション(以下、専用アプリという)をインストールして、支払時に利用するクレジットカード番号などの会員情報を登録する必要がある。会員情報の登録を行うと、レストランの利用予約ができる。DXレストランのシステム構成を図1に、DXレストランのシステム構成要素を表1に示す。


〔開店時及び閉店時の動作概要〕
開店時及び閉店時のDXレストランの動作概要を次に示す。
① キッチン端末の開店準備ボタンが押されると、制御装置はサーバからメニュー情報を受信する。
② メニュー情報の受信後、キッチン端末の開店ボタンが押されると、入店端末での入店受付を開始する。
③ キッチン端末の閉店ボタンが押されると、入店端末での入店受付を停止する。
〔DXレストランの動作概要〕
DXレストランの会員(以下、利用者という)が、DXレストランの店舗を利用する際の動作概要を次に示す。
① 利用者が、専用アプリが起動された状態のスマホを入店端末にかざすと、予約番号、テーブル番号及び予約人数がスマホに表示される。
② 利用者はスマホに表示されたテーブル番号のテーブルに行き、テーブル端末にスマホをかざす。メニュー情報、注文及び精算に関する内容がテーブル端末に表示され、スマホとのBluetooth通信が開始される。利用者がスマホに表示されたテーブル番号以外のテーブル端末にスマホをかざした場合は、エラーがテーブル端末に表示される。
③ 利用者はテーブル端末に表示されているメニュー情報を見ながら、スマホから注文を行う。
④ 制御装置は、テーブル端末から注文内容を受信すると注文番号を付与する。注文番号、テーブル番号及び注文内容(以下、注文情報という)をキッチン端末に送信する。また、テーブルごとの注文情報の履歴管理のための、注文履歴情報を更新する。
⑤ 注文情報がキッチン端末のタッチパネルに表示されると、店舗の料理人は注文情報を確認して調理を開始する。品切れになる料理がある場合は、キッチン端末を操作して品切れ情報を制御装置に送信する。制御装置から、品切れ情報がテーブル端末全てに送信され、該当する料理の注文の受付を中止にする。また、(ア)店舗の料理人は、キッチン端末を操作して注文をキャンセルすることができる。キャンセルした場合は、テーブル端末を介して、利用者のスマホに通知される。
⑥ 制御装置は、キッチン端末から配膳ボタンが押されたことを受信すると、該当する注文情報及び配膳開始ボタンを指示端末に表示する。
⑦ 店員は、指示端末に表示された配膳開始ボタン及び着座人数を確認する。着座人数が0人でないことを確認した上で、該当する配膳開始ボタンを押してから配膳を行う。配膳完了後、店員は、配膳開始ボタンを押した後に表示された配膳完了ボタンを押す。
⑧ 利用者は、食事が終わるとスマホで精算する。
⑨ 精算完了後、制御装置は、テーブル端末のプリンタで領収書などを印刷する。また、テーブル番号、片付けの指示及び片付け完了ボタンを指示端末に表示する。
⑩ 店員は、指示端末に表示された片付けの指示及び着座人数を確認する。着座人数が0人であることを確認した上で、テーブルの片付けを行う。片付け完了後、店員は、該当する片付け完了ボタンを押す。
〔制御装置のソフトウェアの構成〕
制御装置では、リアルタイムOSを使用する。制御装置の主なタスク構成を図2に、制御装置の主なタスクの処理概要を表2に示す。

設問1:DXレストランについて、(1)、(2)に答えよ。
設問1(1)
問題文を見る入店端末からスマホに送信するデータ量は、制御情報を含めて20バイトである。NFCの通信速度が424kビット/秒の場合、このデータの送信に掛かる時間は何ミリ秒か。答えは小数第3位を切り上げて、小数第2位まで求めよ。ここで、1kビット=1,000ビットとする。
模範解答
0.38
解説
解答の導き方
本文では、入店端末からスマホに送信するデータ量が制御情報を含めて20バイト、NFCの通信速度が424kビット/秒とされています。まず、データ量をビットに換算します。1バイトは8ビットなので、ビットです。
次に、通信速度をビット/秒に直します。問題文では1kビット=1,000ビットと指定されているため、ビット/秒です。
送信時間は「データ量÷通信速度」で求められます。秒で求めた値をミリ秒にするため、さらに1,000を掛けます。
小数第3位を切り上げて小数第2位まで表すと、0.37ミリ秒から0.38ミリ秒になります。
誤りやすいポイント
- バイトのまま通信速度で割らないようにします。通信速度はビット/秒なので、データ量もビットにそろえます。
- 1kビットを1,024ビットとして計算しないようにします。この問題では1kビット=1,000ビットです。
- 時間を秒で求めた後、ミリ秒に直すために1,000を掛ける必要があります。
- 指定は「小数第3位を切り上げ」です。小数第2位で四捨五入するのではなく、指定された桁で切り上げます。
FAQ
Q: 制御情報を含めたデータ量を使うのはなぜですか?
A: 実際に送信されるデータ量として、設問に示された20バイトを使うためです。制御情報を別に加える必要はありません。
A: 実際に送信されるデータ量として、設問に示された20バイトを使うためです。制御情報を別に加える必要はありません。
Q: 通信時間はなぜミリ秒に直すのですか?
A: 計算で得られる時間の単位は秒ですが、設問がミリ秒で答えるよう求めているためです。秒に1,000を掛けるとミリ秒になります。
A: 計算で得られる時間の単位は秒ですが、設問がミリ秒で答えるよう求めているためです。秒に1,000を掛けるとミリ秒になります。
Q: 「切り上げ」と「四捨五入」は同じですか?
A: 同じではありません。切り上げは指定された桁より下に値があれば上の値にし、四捨五入は指定された桁の次の数字によって上げるか下げるかを決めます。
A: 同じではありません。切り上げは指定された桁より下に値があれば上の値にし、四捨五入は指定された桁の次の数字によって上げるか下げるかを決めます。
関連キーワード: バイト、ビット、データ転送速度、単位換算、切り上げ
設問1(2)
問題文を見る本文中の下線(ア)は、店舗の料理人が品切れ情報を登録した場合でも、該当する料理の注文がキッチン端末に送信されてしまうという事象への対処方法である。当該事象は、どのような場合に発生するか。40字以内で述べよ。
模範解答
テーブル端末に品切れ情報が登録されるより前に該当する料理が注文された場合
解説
解答の導き方
-
品切れ情報が登録された後の処理を確認します。本文には、品切れ情報は「テーブル端末全てに送信され、該当する料理の注文の受付を中止にする」とあります。つまり、テーブル端末が品切れ情報を受け取ると、その料理は注文できなくなります。
-
一方、注文は利用者がスマホから行い、テーブル端末を介して制御装置に送られます。したがって、品切れ情報がテーブル端末に届く前は、端末が品切れを認識しておらず、該当する料理の注文を受け付ける可能性があります。
-
品切れ情報が登録されてから各テーブル端末に届くまでには時間差があり得ます。その間に該当する料理が注文されると、その注文はキッチン端末にも送信されてしまいます。これが、料理人が注文をキャンセルする必要が生じる場合です。
誤りやすいポイント
- 品切れ情報を登録した時点で、全てのテーブル端末が同時に品切れを認識すると思い込まないようにします。端末への情報伝達には時間差があり得ます。
- 「品切れ情報を登録した後に注文された」とだけ考えるのではなく、テーブル端末がその情報を受け取る前か後かに注目します。
- 品切れ情報を受信した後の注文受付停止と、受信前にすでに行われた注文は、別のタイミングの処理として考えます。
FAQ
Q: 品切れ情報がテーブル端末に届いた後も、該当する料理を注文できますか?
A: 本文では、品切れ情報を受信すると該当する料理の注文受付を中止するとされています。そのため、受信後は注文できません。
A: 本文では、品切れ情報を受信すると該当する料理の注文受付を中止するとされています。そのため、受信後は注文できません。
Q: 料理人が注文をキャンセルするのは、どのような注文ですか?
A: 品切れ情報がテーブル端末に届く前に受け付けられ、すでにキッチン端末へ送信された注文です。
A: 品切れ情報がテーブル端末に届く前に受け付けられ、すでにキッチン端末へ送信された注文です。
関連キーワード: 非同期通信、メッセージ伝達遅延、競合状態、状態同期
設問2:制御装置のタスクについて、(1)~(3)に答えよ。
設問2(1)
問題文を見るサーバ通信タスクとタスク間のメッセージ通信を行うタスクが三つある。表2中のタスク名で全て答えよ。
模範解答
①:入店
②:精算
③:キッチン
解説
解答の導き方
この設問では、制御装置内のどのタスクがサーバ通信タスクとメッセージをやり取りするかを、表2の処理概要から特定します。図2ではサーバ通信タスクへの矢印は省略されているため、各タスクの処理内容を見て、サーバとの通信が明記されているものを探します。
まず、入店タスクは「サーバに会員番号を送信」し、サーバから会員番号と予約人数を受信します。このため、サーバ通信タスクと連携するタスクの一つです。
次に、キッチンタスクは、開店準備を受信したときに「サーバと通信してメニュー情報を更新」します。したがって、キッチンタスクも該当します。
さらに、精算タスクは、会員情報や会計金額、決済の依頼をサーバに送信し、決済結果を受信します。また、サーバから売上要求を受信したときは、売上情報をサーバに送信します。このため、精算タスクも該当します。
一方、テーブルタスクは注文やメニュー情報を扱いますが、表2ではサーバとの通信は示されていません。図2では、メニュー情報などのメモリへの書込みも示されているため、共有データを扱うことと、サーバ通信タスクとメッセージをやり取りすることを区別します。
誤りやすいポイント
- サーバと関係するデータを扱うタスクを、すべて該当すると判断しないようにします。表2にサーバとの通信が記述されているかを確認します。
- テーブルタスクがメニュー情報を扱うことだけを根拠に、サーバ通信タスクと連携すると判断しないようにします。メニュー情報の更新はキッチンタスクがサーバと通信して行います。
- 図2でサーバ通信タスクへの矢印が省略されていても、表2の処理概要から連携するタスクを特定できます。
FAQ
Q: 図2にサーバ通信タスクへの矢印がない場合、何を根拠に判断しますか?
A: 表2の各タスクの処理概要を確認し、サーバへの送信やサーバからの受信が明記されているかを根拠にします。
A: 表2の各タスクの処理概要を確認し、サーバへの送信やサーバからの受信が明記されているかを根拠にします。
Q: メニュー情報を利用するテーブルタスクも該当しますか?
A: サーバとの通信が表2に記述されているかで判断します。テーブルタスクはメニュー情報を扱いますが、サーバと通信してメニュー情報を更新するのはキッチンタスクです。
A: サーバとの通信が表2に記述されているかで判断します。テーブルタスクはメニュー情報を扱いますが、サーバと通信してメニュー情報を更新するのはキッチンタスクです。
Q: 精算タスクは決済処理だけを確認すればよいですか?
A: 決済依頼と結果の受信に加えて、売上要求を受けて売上情報をサーバに送信する処理も、サーバとの連携を示す根拠になります。
A: 決済依頼と結果の受信に加えて、売上要求を受けて売上情報をサーバに送信する処理も、サーバとの連携を示す根拠になります。
関連キーワード: メッセージ通信、メールボックス、共有メモリ、リアルタイムOS、タスク設計
設問2(2)
問題文を見る模範解答
a:注文履歴情報
b:該当する料理
c:指示タスク
d:片付け指示
e:空席管理情報の自テーブル
解説
解答の導き方
表2の該当箇所は、注文のキャンセル、精算後の片付け指示、片付け完了後のテーブル状態の更新について問われています。それぞれ、どの情報を変更し、どのタスクへ通知するかを順に確認します。
-
注文キャンセル時の処理です。表2には「キッチンタスクから注文のキャンセルを受けると、a から b を削除し」とあります。注文のキャンセルによって取り除くのは、注文履歴に記録されているキャンセル対象の料理です。したがって、削除元は注文履歴情報、削除するものは該当する料理と分かります。
-
精算完了後の通知先と通知内容です。表2では、精算処理が完了すると領収書などの印刷指示を送った上で、c に d を通知するとあります。動作概要⑨では、精算完了後に指示端末へ片付けの指示などを表示します。また表2の指示タスクは、片付け指示を受けると指示端末にその内容を表示します。このため、通知先は指示タスク、通知内容は片付け指示です。
-
片付け完了後に空きへ戻す情報です。表2には、片付け完了の通知を受けるとeを空きに設定するとあります。テーブルタスクは、空席管理情報の自テーブルを「確保済み」に設定する処理を行います。片付け後に空席状態へ戻す対象も同じテーブルの管理情報なので、eは空席管理情報の自テーブルです。
誤りやすいポイント
- キャンセルした料理を、注文情報全体から削除すると考えないようにします。ここで削除する対象は、注文履歴情報に記録された該当する料理です。
- 精算処理を行うタスクと、片付け指示を受けて指示端末へ表示するタスクを混同しないようにします。精算完了後の片付け指示は、指示タスクへ通知されます。
- 片付け完了後に「空き」に設定するのは、テーブル番号そのものではなく、空席管理情報にある自テーブルの状態です。
FAQ
Q: 注文キャンセル時に、注文履歴情報から削除するのはなぜですか?
A: 注文履歴情報はテーブルごとの注文内容を管理する情報だからです。キャンセルされた料理を履歴から取り除くことで、以後の注文や精算の対象に残らないようにします。
A: 注文履歴情報はテーブルごとの注文内容を管理する情報だからです。キャンセルされた料理を履歴から取り除くことで、以後の注文や精算の対象に残らないようにします。
Q: 精算が完了した時点で、テーブルを空きに設定しないのはなぜですか?
A: 精算後にも片付けが必要だからです。片付け完了の通知を受けてから空席管理情報を更新することで、片付け前のテーブルを空きとして扱うことを防げます。
A: 精算後にも片付けが必要だからです。片付け完了の通知を受けてから空席管理情報を更新することで、片付け前のテーブルを空きとして扱うことを防げます。
Q: 片付け指示の通知先は、なぜ指示タスクなのですか?
A: 指示タスクは、片付け指示を受けて指示端末に表示する役割を担っているためです。
A: 指示タスクは、片付け指示を受けて指示端末に表示する役割を担っているためです。
関連キーワード: タスク間通信、状態管理、履歴管理、イベント通知、共有情報
設問2(3)
問題文を見る表2中のfに入れる適切な内容を40字以内で述べよ。
模範解答
f:メニュー情報を更新して、全てのテーブルタスクにメニュー更新を通知する
解説
解答の導き方
-
問われているのは、キッチンタスクが品切れ情報を受信した後の処理です。本文では、品切れ情報を受けた制御装置から「品切れ情報がテーブル端末全てに送信され、該当する料理の注文の受付を中止にする」と説明されています。したがって、各テーブル端末に品切れを反映させる必要があります。
-
表1では、メニュー情報に「品切れの場合は、その情報」も含まれるとされています。そのため、品切れ情報を受信したら、共有しているメニュー情報を品切れ状態に更新する必要があります。
-
表2のテーブルタスクは、「メニュー更新の通知を受けると、テーブル端末にメニュー情報を送信する」とされています。つまり、キッチンタスクがメニュー情報を更新した後、全てのテーブルタスクにメニュー更新を通知すれば、各テーブル端末へ更新後のメニュー情報が送られます。
以上から、キッチンタスクでは、メニュー情報を更新して、全てのテーブルタスクにメニュー更新を通知する処理を行います。
誤りやすいポイント
- 品切れ情報を受け取った後、テーブル端末に通知するだけで、メニュー情報自体を更新しないと考えることです。テーブルタスクは、通知を受けた後にメニュー情報を送信するため、先にメニュー情報を更新しておく必要があります。
- 品切れの料理を注文できなくする対象を、一部のテーブル端末だけと考えることです。本文ではテーブル端末全てへの送信が示されているため、全てのテーブルタスクへの通知が必要です。
- キッチン端末からテーブル端末へ直接送信する処理と考えることです。表2では、キッチンタスクがテーブルタスクへ通知し、その後、各テーブルタスクがテーブル端末へメニュー情報を送信する流れです。
FAQ
Q: メニュー更新の通知だけでは、品切れを反映できませんか?
A: 通知は更新処理を知らせるものです。テーブルタスクが送信するメニュー情報に品切れを反映するには、通知の前にメニュー情報そのものを更新する必要があります。
A: 通知は更新処理を知らせるものです。テーブルタスクが送信するメニュー情報に品切れを反映するには、通知の前にメニュー情報そのものを更新する必要があります。
Q: なぜ全てのテーブルタスクに通知するのですか?
A: テーブルごとにテーブルタスクがあり、各タスクが担当するテーブル端末へメニュー情報を送信するためです。品切れ情報を店舗内の全てのテーブル端末に反映させるには、全てのテーブルタスクへの通知が必要です。
A: テーブルごとにテーブルタスクがあり、各タスクが担当するテーブル端末へメニュー情報を送信するためです。品切れ情報を店舗内の全てのテーブル端末に反映させるには、全てのテーブルタスクへの通知が必要です。
関連キーワード: 共有メモリ、タスク間通信、イベント通知、リアルタイムOS、データ整合性
設問3:機能追加に伴うソフトウェアの変更について、(1)~(3)に答えよ。
料理の搬送を自動で行うために、料理をテーブルまで搬送するロボット(以下、ロボという)を1台導入することになった。ロボは、制御装置から搬送の指示をWi-Fiで受信し、指示されたテーブルまで自律走行できる。また、指定されたテーブルまで移動が完了したこと、料理が取り出されたこと、障害物によって移動を停止したことなどを制御装置に送信する。
ロボによる搬送動作の概要を次に示す。
① 店員は、指示端末に表示された配膳開始ボタンを確認して、料理をロボで搬送するのか、店員が配膳するのかを判断する。ロボで搬送する場合は、料理をロボに格納した上で、ロボ搬送ボタンを押す。ここで、ロボ搬送ボタンは、指示端末に新たに追加されたボタンである。ロボ搬送ボタンが押されると、制御装置を介して、テーブルまでの移動の指示がロボに送信される。
② ロボは、テーブルまでの移動の指示を受信すると、指定されたテーブルまでの移動を開始する。指定されたテーブルに到達すると、ロボは、制御装置にテーブル到達を送信する。料理受取ボタンがテーブル端末に表示される。
③ 利用者がロボから料理を取り出し、テーブル端末の料理受取ボタンを押すと、制御装置を介して、所定の位置まで戻る指示がロボに送信される。
④ ロボが料理の搬送中、障害物によって移動が困難になり停止した場合は、店員が代わりに配膳を行う。ロボが停止すると搬送エラーが指示端末に表示され、ロボの搬送キャンセルボタンが有効になる。店員がロボから料理を取り出し、ロボの搬送キャンセルボタンを押すと、ロボは搬送キャンセルを制御装置に送信し、所定の位置まで戻る。また、指示端末には該当する料理の配膳完了ボタンが表示される。店員は配膳完了後、配膳完了ボタンを押す。
制御装置のタスク変更概要を表3に示す。ここで、ロボットタスクは、新規に作成するタスクである。


設問3(1)
問題文を見る店員がロボ搬送ボタンを押して、ロボによる搬送が開始されるのはどのような条件を満足したときか。35字以内で述べよ。
模範解答
着座人数が1人以上で、かつ、ロボに料理が格納されている場合
解説
解答の導き方
この設問では、ロボ搬送ボタンを押した後、実際にロボが搬送を開始するために必要な条件を確認します。条件は、表3にある指示タスクとロボットタスクの処理をつなげて考えます。
まず、指示タスクはロボ搬送を受信するとロボットタスクに搬送指示を通知します。ただし、「着座人数が0人の場合は、1人以上になるまで待ってから搬送指示を通知する」とあります。したがって、搬送指示が通知される時点で、着座人数は1人以上である必要があります。
次に、ロボットタスクは搬送指示を受けても、常にロボへ指示を送るわけではありません。「料理がロボに格納されていれば、ロボに搬送指示を送信する」とあるため、ロボに料理が格納されていることも必要です。
この二つを合わせると、搬送開始には、着座人数が1人以上であり、かつロボに料理が格納されていることが必要だと分かります。
誤りやすいポイント
- ロボ搬送ボタンを押しただけで搬送が始まると考えないようにします。ボタンを押した後も、指示タスクとロボットタスクで条件が確認されます。
- 料理がロボに格納されていることだけでは不十分です。着座人数が0人なら、着座人数が1人以上になるまで搬送指示は通知されません。
- 着座人数が1人以上であることだけでも不十分です。ロボに料理が格納されていなければ、ロボへの搬送指示は送信されません。
FAQ
Q: 着座人数が0人で、料理がロボに格納されている場合はどうなりますか。
A: 着座人数が1人以上になるまで、指示タスクは搬送指示の通知を待ちます。
A: 着座人数が1人以上になるまで、指示タスクは搬送指示の通知を待ちます。
Q: 着座人数が1人以上でも、料理がロボに格納されていなければ搬送は始まりますか。
A: 始まりません。ロボットタスクは、料理がロボに格納されている場合にロボへ搬送指示を送信します。
A: 始まりません。ロボットタスクは、料理がロボに格納されている場合にロボへ搬送指示を送信します。
Q: 条件はどちらか一方を満たせばよいのですか。
A: いいえ。着座人数と料理の格納状態の両方を満たす必要があります。
A: いいえ。着座人数と料理の格納状態の両方を満たす必要があります。
関連キーワード: タスク間通信、状態管理、条件判定、イベント処理
設問3(2)
問題文を見る表3中のgに入れる適切な内容を、30字以内で答えよ。
模範解答
g:注文履歴情報の該当する料理を配膳済みに更新する
解説
解答の導き方
-
問われているのは、テーブル端末で料理受取が操作された後に、テーブルタスクが行う処理です。表3では、料理受取を受信すると、まずロボットタスクに通知するとあります。
-
料理受取は、利用者がロボから料理を取り出したことを示す操作です。つまり、その料理の配膳が完了したことを確認できるタイミングです。
-
表2では、配膳完了の通知を受けたテーブルタスクが、注文履歴情報の該当する料理を配膳済みに更新します。したがって、料理受取を受信したときにも、対応する料理の注文履歴を配膳済みに更新する処理が必要です。ロボットタスクへの通知はロボを戻すための処理であり、注文履歴の更新はテーブルタスクが担います。
誤りやすいポイント
- ロボットタスクへの通知だけを書いて終わらないようにします。設問は、通知の後にテーブルタスクが行う処理も含めて問うています。
- 料理受取を、精算や注文の受付完了と混同しないようにします。この操作が示すのは、料理が利用者に渡ったことです。
- 注文履歴情報全体ではなく、受け取られた該当する料理の状態を更新します。
FAQ
Q: なぜ料理受取を配膳完了として扱うのですか?
A: 利用者が料理を取り出したことを示す操作なので、その料理がテーブルに届けられたと判断できるためです。
A: 利用者が料理を取り出したことを示す操作なので、その料理がテーブルに届けられたと判断できるためです。
Q: ロボットタスクが注文履歴情報を更新するのではないのですか?
A: ロボットタスクはロボとの通信や移動指示を担当します。注文履歴情報の管理は、表2で注文履歴情報を扱うテーブルタスクの役割です。
A: ロボットタスクはロボとの通信や移動指示を担当します。注文履歴情報の管理は、表2で注文履歴情報を扱うテーブルタスクの役割です。
Q: ロボの搬送が失敗した場合も、料理受取で配膳済みにするのですか?
A: 搬送が失敗した場合は店員が配膳し、配膳完了の操作を行います。どちらの方法でも、料理が届けられたことを確認した後に配膳済みに更新します。
A: 搬送が失敗した場合は店員が配膳し、配膳完了の操作を行います。どちらの方法でも、料理が届けられたことを確認した後に配膳済みに更新します。
関連キーワード: 状態管理、タスク間通信、イベント通知、データ整合性
設問3(3)
問題文を見る表3中のhに入れる適切な内容を、20字以内で答えよ。
模範解答
h:指示端末に配膳完了ボタンを表示する
解説
解答の導き方
-
表3で問われているのは、ロボットタスクから「搬送のキャンセル」を受けたとき、指示タスクが搬送エラーを解除した後に行う処理です。
-
本文の動作概要では、ロボが障害物で停止した場合、店員がロボから料理を取り出して代わりに配膳します。その後、店員がロボの搬送キャンセルボタンを押すと、指示端末に該当する料理の「配膳完了ボタン」が表示され、店員は配膳を終えてからそのボタンを押します。つまり、搬送キャンセルは料理の注文自体を取り消す操作ではなく、ロボによる搬送をやめて店員による配膳に切り替える操作です。
-
配膳完了ボタンを押すと、既存の処理では指示タスクから該当するテーブルタスクへ配膳完了が通知されます。テーブルタスクは、その料理を注文履歴情報上で配膳済みに更新します。そのため、搬送エラーを解除するだけでなく、店員が配膳を完了したことを入力できるよう、指示端末に配膳完了ボタンを表示する処理が必要です。
誤りやすいポイント
- 「搬送キャンセル」を、料理の注文そのもののキャンセルと混同しないようにします。ここで取り消すのはロボによる搬送です。
- 搬送エラーを解除するだけでは、店員が代わりに配膳したことを記録できません。配膳完了を入力するためのボタン表示も必要です。
- ロボの搬送キャンセル後に、利用者が操作するテーブル端末ではなく、店員が操作する指示端末にボタンを表示します。
FAQ
Q: ロボの搬送をキャンセルしたのに、なぜ配膳完了ボタンを表示するのですか?
A: ロボによる搬送は中止しますが、料理は店員が代わりに配膳するためです。配膳後に完了を入力できるようにします。
A: ロボによる搬送は中止しますが、料理は店員が代わりに配膳するためです。配膳後に完了を入力できるようにします。
Q: 配膳完了ボタンを押すと、どの処理につながりますか?
A: 指示タスクから該当するテーブルタスクへ配膳完了が通知され、注文履歴情報が配膳済みに更新されます。
A: 指示タスクから該当するテーブルタスクへ配膳完了が通知され、注文履歴情報が配膳済みに更新されます。
Q: 搬送エラーの解除だけでは不十分なのはなぜですか?
A: エラー表示を消すだけでは、料理の配膳が完了したかどうかを記録できないためです。
A: エラー表示を消すだけでは、料理の配膳が完了したかどうかを記録できないためです。
関連キーワード: タスク間通信、イベント通知、状態遷移、注文履歴管理




