応用情報技術者過去問題 平成29年春期 午後問7

⇄問題文と設問を画面2分割で開く⇱問題PDF

問7 組込みシステム開発

スマートウォッチに関する次の記述を読んで,設問1~3に答えよ。

 G社は,腕時計型のスマートウォッチ(以下,ウォッチという)を開発している。ウォッチは,スマートフォン(以下,フォンという)と連携して,電子メール(以下,メールという)の内容表示などを行う。ウォッチとフォンから成るシステムの構成を図1に示す。ウォッチは,フォンを経由してインターネットに接続できる。
pm07_1.png/image-size:449×71
〔ウォッチの構成〕
 ウォッチは,MPU及び日付時刻用タイマを内蔵しており,マイク,通信部,画面表示部及び音声入力スイッチを備えている。画面表示部には,タッチパネルが付随している。

〔ウォッチの機能〕
 ウォッチは,タッチパネルへのタッチとマイクへの音声入力によって,機能を切り替えることができる。ウォッチの機能を表1に示す。
pm07_2.png/image-size:514×142
〔ウォッチの動作仕様〕
 ウォッチは,利用者の操作及びフォンからの通信によって,次のとおり動作する。
  • 電源が投入されると,時計機能を実行する。
  • フォンから時計表示指示,メール受信通知,電話着信通知又は天気予報表示指示
    を受信すると,対応する表1中の機能を実行する。
  • タッチパネルへのタッチを認識すると,機能選択画面を表示する。機能選択画面では,"時計"及び"天気予報"の二つのボタンが表示される。ボタンへのタッチを認識すると,対応する表1中の機能を実行する。
  • 機能選択画面では,ボタン以外の部分へのタッチは無効である。
  • 利用者が音声入力スイッチを押すと,フォンに対して音声受付開始通知を送信し,利用者が音声入力スイッチを押し続けている間は,音声受付状態となる。音声受付状態では,音声受付画面を表示し,マイクが感知した音声を,フォンに送信する。利用者が音声入力スイッチを離すと,音声受付状態は解除される。
  • 音声受付状態では,タッチパネルへのタッチは無効である。
  • 音声受付状態で,フォンから各種通知又は指示を受信した場合は,音声受付状態は解除され,受信した通知又は指示に対応する,表1中の機能を実行する。この一連の処理の間,利用者が音声入力スイッチを離さずに押し続けていたとしても,音声受付状態は解除されたままである。再びウォッチを音声受付状態にするには,利用者は,一度,音声入力スイッチを離して,再度,押す必要がある。
〔フォンにおける音声処理〕
 フォンは,ウォッチから音声受付開始通知を受信すると,音声処理アプリケーションを起動して,ウォッチからの音声情報の受信を待つ。
 ウォッチから音声情報を受信すると,音声処理アプリケーションは,受信した音声情報を解析する。解析の結果,"時計"という音声を認識した場合には,ウォッチに時計表示指示を送信する。"天気"という音声を認識した場合には,ウォッチに天気予報表示指示を送信する。いずれの音声も認識できなかった場合には何もしない。

〔ウォッチのソフトウェア構成〕
 ウォッチは,イベントドリブンプリエンプション方式のリアルタイムOSを使用する。ウォッチのタスク構造を図2に,ウォッチのタスク一覧を表2に,ウォッチの割込みハンドラ一覧を表3に,それぞれ示す。
pm07_3.png/image-size:364×189
pm07_4.png/image-size:534×719

設問1

利用者が,ウォッチに対して"天気"と発声したのに,天気予報機能が実行されなかった。実行されなかった原因として当てはまらないものを,解答群の中から選び,記号で答えよ。
解答群
  • ウォッチが,音声を正しく取得できなかった。
  • ウォッチとフォンとの間の通信に失敗した。
  • 音声入力スイッチが押されていなかった。
  • 音声入力の途中で,利用者がウォッチのタッチパネルにタッチした。

解答入力欄

  • o:

解答例・解答の要点

  • o:

解説

問題文の説明と各選択肢を照らし合わせて、それぞれが適切かどうかを判断します。
  • 〔フォンにおける音声処理〕には、「いずれの音声も認識できなかった場合には何もしない」とあります。このことから、ウォッチが音声を正しく取得できなかった場合は、天気予報機能が実行されないことがわかります。
    よって、「ア」は天気予報機能が実行されなかった原因として当てはまります。
  • 問題文の図1から、ウォッチとフォンは近距離無線通信を行っていることがわかります。さらに、問題文の表1の天気予報には「天気予報情報を表示する。天気予報情報は,フォンから送信される」とあります。これらのことから、ウォッチとフォンとの間の通信に失敗した場合は、ウォッチの天気予報機能が実行されないことがわかります。
    よって、「イ」は天気予報機能が実行されなかった原因として当てはまります。
  • 〔ウォッチの動作仕様〕には、「利用者が音声入力スイッチを押すと,フォンに対して音声受付開始通知を送信し,利用者が音声入力スイッチを押し続けている間は,音声受付状態となる」とあります。このことから、発声時に音声入力スイッチが押されていなかった場合は、音声がウォッチに受理されないため天気予報機能が実行されないことがわかります。
    よって、「ウ」は天気予報機能が実行されなかった原因として当てはまります。
  • 〔ウォッチの動作仕様〕には、「音声受付状態では,タッチパネルへのタッチは無効である」とあります。このことから、音声入力の途中で利用者がウォッチのタッチパネルにタッチした場合であっても、タッチパネルへのタッチは無効なので、天気予報機能が実行されるはずだとわかります。
    よって、「エ」は天気予報機能が実行されなかった原因として当てはまりません。
∴エ:音声入力の途中で、利用者がウォッチのタッチパネルにタッチした。

設問2

音声入力タスクが音声情報に書き込むデータの,1秒間のデータサイズは何kバイトになるか。答えは小数第1位を切り上げて,整数で答えよ。ここで,1kバイト=1,000バイトとする。

解答入力欄

  • o:kバイト

解答例・解答の要点

  • o:16

解説

表2の音声入力に、「音声情報書込処理では,入力された音声を,サンプリング周波数8kHz,量子化ビット数16ビット,チャネル数1チャネルのデータとして,音声情報に書き込む」とあります。この情報を元に以下の式でデータサイズを計算します。

 1秒間当たりのデータサイズ[バイト]=チャネル数×サンプリング周波数[Hz]×量子化ビット数[バイト]

この設問では、チャネル数=1、サンプリング周波数は「8kHz=8,000Hz」、量子化ビット数は「16ビット=2バイト」です。これを式に当てはめると、

 1×8,000Hz×2バイト=16,000バイト
=16kバイト

となります。

∴16(kバイト)

設問3

ウォッチのソフトウェアについて,(1)~(3)に答えよ。
  • 図2中のadに入れる適切なタスク名を答えよ。
  • 割込みマスクに関する次の記述中のefに入れる適切な字句を答えよ。

     割込みハンドラとメインタスクは,どちらもタッチ操作割込みのマスクを操作している。これは,例えば,ウォッチがフォンからメール受信通知を受信した直後に,利用者がウォッチのタッチパネルにタッチした場合の不都合を避けるためである。その不都合とは,eを表示した後,利用者が表示されたeを確認する前に,画面がfに切り替わってしまうことである。
  • タスクの動作に関する次の記述中のgに入れる適切な字句を答えよ。また,次の記述中の,"意図しない現象"とはどのような現象か。15字以内で述べよ。

     画面表示タスクが画面の更新を行っているときに,画面作成タスクが動作を開始すると,意図しない現象が発生した。この問題を解決するために,画面表示タスクが画面の更新を行っているときに,画面作成タスクが動作を開始しないように,それぞれのタスクのgを,適切に設定した。

解答入力欄

    • a:
    • b:
    • c:
    • d:
    • e:
    • f:
    • g:
    • 現象:

解答例・解答の要点

    • a:画面入力
    • b:画面表示
    • c:音声入力
    • d:画面作成
    • e:メールの内容
    • f:機能選択画面
    • g:優先度
    • 現象:複数画面が混在表示される (12文字)
  • 解説

    • aについて〕
      図2の矢印より、aはメイン画面にメッセージを送信していますが、他のタスクからメッセージを受信していないことがわかります。
      さらに表2の"画面入力"タスクの処理概要は、「タッチを認識した箇所の座標情報を,メインタスクに通知する」であることがわかります。また、他のタスクの説明を読んでも"画面入力"にメッセージを送信するものはありません。すなわち、"画面入力"タスクはメイン画面にメッセージを送信しますが、他のタスクからメッセージを受信しないということです。

      bdのタスクはどれもメインタスク等からのメッセージを受信しているので、「画面入力」が入るのはaしかありません。

      a=画面入力

      bについて〕
      図2の破線の矢印はメモリへの書込み又は読込みを示しているので、bはメモリから画面情報を読出すことがわかります。表2からこの処理を行うタスクを探すと、"画面表示"の処理概要に「画面情報を基に,画面の更新を行う」とあるので、bには「画面表示」が入ります。また、メインタスクへの通知がないという点からもbが画面表示であるとわかります。

      b=画面表示

      cについて〕
      図2より、cはメモリに音声情報の書込みをすることがわかります。表2からこの処理を行うタスクを探すと、"音声入力"の処理概要の2つ目に「音声情報書込処理では,入力された音声を,…,音声情報に書き込む」とあります。
      よって、cには「音声入力」が入ります。

      c=音声入力

      dについて〕
      図2より、dはメモリに画面情報の書込みをすることがわかります。表2からこの処理を行うタスクを探すと、"画面作成"の処理概要に「メインタスクから受けた情報を基に,表示画面を作成し,画面情報に書き込む」とあります。
      よって、dには「画面作成」が入ります。

      d=画面作成

    • ウォッチがフォンからメール受信通知を受信した直後に、利用者がウォッチのタッチパネルをタッチした場合を想像します。
      〔ウォッチの動作仕様〕から、ウォッチがフォンからメール受信通知を受信した場合は、受信したメールの内容をウォッチに表示することがわかります。また、タッチパネルをタッチした場合は、機能選択画面を表示します。

      これらのことから、何の対策も講じていなければ、ウォッチがフォンからメール受信通知を受信した直後に、利用者がウォッチのタッチパネルをタッチをすると、受信したメールの内容を確認する前に機能選択画面に切り替わってしまうことがわかります。本問のウォッチでは、これを避けるために、各割込みハンドラの起動時にタッチ操作割込みをマスク(受付無効に)し、メインタスクが適切なタイミングで解除する仕様になっています。

      よって、eには「メールの内容」、fには「機能選択画面」が入ります。

      e=メールの内容
       f=機能選択画面

    • 表2より、画面表示タスクは「画面情報の内容を基に、画面の更新を行う」ことがわかります。また、画面作成タスクは「メインタスクから受けた情報を基に、表示画面を作成し、画面情報に書き込む」とあり、画面情報を更新します。

      画面表示タスクと画面作成タスクは並行して実行されるため、画面表示タスクを実行中に画面作成タスクが動作すると、画面表示タスクは、画面作成タスクによって書込み中のメモリから画面情報を読み出すことになります。このときメモリには更新前と更新後の画面情報が混在することになるので、ウォッチの画面には複数画面が混在表示されることになります。

      この問題を解決するためには、それぞれのタスクに優先度を付けて、画面表示タスクを実行中に画面作成タスクを動作しないようにする必要があります。これらのことから、gは「優先度」、"現象"は「複数画面が混在表示される」が適切です。

      g=優先度
       現象:複数画面が混在表示される
    問7成績

    平成29年春期 午後問題一覧

    問1 問2 問3 問4 問5 問6 問7 問8 問9 問10 問11 採点講評
    © 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

    Pagetop