組込み教育委員会

1-2 組込み技術者試験制度(ETEC) 第1回

この記事を読むのに必要な時間:およそ 2 分

組込みソフトウェア技術者の登竜門,クラス2試験とは?

(社)組込みシステム技術協会(JASA)はトロン協会,T-Engineフォーラムと共同で組込み技術者試験制度(ETEC:Embedded Technology Engineer Certification。イーテックと呼びます)を2006年6月に創設しました。そして同年11月にJASA組込みソフトウェア技術者試験クラス2は開始されました。現在の受験者プロファイルは主に企業で働く人が中心で開発経験5年までの人が64%を超え,10年までが80%です(2007年3月末現在)。

これまで組込みソフトウェア技術者向けの試験がなかったので,企業での反応は非常によく,社内昇格制度にも活用され始めています。

概要

試験はクラス2試験(エントリレベル)とクラス1試験(ミドルレベル)から成り,ETSSのソフトウェアエンジニアに必要な技術・知識を確認するための試験です。クラス1試験は後日,リリースの予定です。組込みソフトウェア技術者試験は合否ではなく,スコア(点数)方式を採用し,学習の到達度判定,技術者評価に広く活用できます。

  • 試験名称:JASA組込みソフトウェア技術者試験クラス2(ETEC-SW2)
  • 試験時間:90分(守秘義務契約,アンケート含む)
  • 出題形式:多肢選択式(4肢択一)
  • 出題内容:技術要素,開発技術,管理技術
  • 点数範囲:800点満点(グレードをA,B,Cで標記)
  • 証明書類:受験後,1ヶ月以内に受験者へ送付

出題範囲は技術者として“最低限”持っていてほしい知識

クラス2試験の出題範囲は組込み業界の大手メーカー,組込みソリューション会社が組込みソフトウェア人材モデルとしてスキル項目を策定しました。組込みスキル標準(ETSS)にも第1階層と第2階層で合わせています表1~3)。

表1 技術要素

第1階層第2階層第3階層スキル項目
プラットフォームプロセッサプロセッサコアMPU,バス,レジスタセット,RISC,CISC,DSP,GPU,MMU,省電力制御,パイプライン,スーパスカラなど
プロセッサ周辺割り込み,タイマ/カウンタ,DMA,WDT,キャッシュなど
メモリROM,RAM,Flashメモリ,メモリインタリーブ,デュアルポートメモリなど
基本ソフトウェアブートROM化,ブートローディング,スタートアップルーチンなど
カーネルタスク,共有ルーチン,システムコールサービス,同期,排他制御,デッドロックなど
支援機能デバッグ機能ICE,JTAG,ソフトデバッガ,オシロスコープ,ロジアナ,ログ収集/解析など

表2 開発技術

第1階層第2階層第3階層スキル項目
ソフトウェア詳細設計ソフトウェアの詳細設計設計手法分割,モジュール化,隠蔽化,フローチャート,タイミングチャート,UML,状態遷移図,設計ツールなど
信頼性設計,実時間設計QoS,誤り検出など
ソフトウェアの詳細設計レビューレビューレビュー手法など
ソフトウェアコード作成とテストプログラムの作成とプログラムテスト項目の抽出プログラミングC言語に関すること,コーディング規約,MISRA-C,プログラミング技術,チューニング技術,クロス開発,オブジェクトモジュール,静的解析ツール,カバレッジ,同値分割など
コードレユーとプログラムテスト項目のデザインレビューレビューレビュー手法など
プログラムテストの実施プログラムテストカバレッジ,同値分割,ホワイトボックステスト,ドライバ,スタブ,自動化テスト,テストツールなど
ソフトウェア結合ソフトウェア結合テスト仕様の設計と実施テスト環境設計/構築,テストツールの選定,直交表,カバレッジ,自動化テストなど

表3 管理技術

第1階層第2階層第3階層スキル項目
プロジェクトマネジメント品質マネジメント計測品質特性,ソフトウェアメトリクスなど
開発プロセスマネジメント構成管理・変更管理目的構成管理の目的など

JASAのWebサイトでは試験対策に役立つ参考書籍や組込み技術教育コースなどを紹介しています。さらにETECメルマガ登録サービスもあり,最新情報やプレゼント,キャンペーン情報をお届けしています。ぜひ,受験の参考にしてください。

キャンペーン情報

学生・教職員の方はアカデミックチャレンジプログラムが用意されています。

まずはトライしてみましょう

田辺皓正

専用のWebサイトでも模擬問題(スキルチェックミニテスト内)を提供していますが,以下の2問はJASAからの新作模擬問題です。

模擬問題(1)

CPUの割込み処理に関連して,ベクタテーブルの機能を表すものはどれか。

  1. 割込み処理プログラムの実行開始アドレスと実行終了アドレスを記憶している。
  2. 割込み処理プログラムへの分岐命令を記憶している。
  3. 割込み処理プログラムの実行開始アドレスを記憶している。
  4. 元の処理に復帰できるように,割込み処理に先だって,プログラムカウンタやレジスタの内容を記憶しておく。
【解答と解説】正解:c

割込み要求が発生し,対応する割込み処理プログラムへ移行する方式には2種類ある。1つはそれぞれの割込み要求に対する処理プログラムへのジャンプ命令を,特定のメモリアドレスに格納しておくことである。もう1つは,特定のメモリアドレス(ベクタテーブルと呼ぶ)に,ジャンプ命令ではなく,割込み処理プログラムの開始アドレスを格納しておき,間接的に処理プラグラムへ移行する方式である。選択肢dは,スタック領域の説明である。

模擬問題(2)

マルチプログラミング環境におけるプリエンプションに関する説明で,正しいものはどれか。

  1. タスク実行中に,そのタスクの待ち状態が発生して,スリープ状態になることを指す。
  2. 実行中のタスクが実行権を返却するまでOSがタスクをスイッチすることができない状態を指す。
  3. 実行中のタスクがイベントフラグに対して,フラグ制御関数を使用して1にセットすることを指す。
  4. タスク実行中に割込みが発生すると,実行可能状態であるタスクのうち,最も高い優先度のタスクが実行権を得ることを指す。
【解答と解説】正解:d

あるタスクが別のタスクによって実行が中断されることをプリエンプション(横取り)されるという。タスク実行中に割込みが発生した際に,実行可能状態であるタスクのうちで,最も高い優先度のタスクが実行権を得る方式である。この方式では,時間的制約が厳しいタスクに高い優先度を割り当てることにより,システムのリアルタイム性を高めることができる。選択肢bは,ノンプリエンプション方式の説明である。

著者プロフィール

近森満(ちかもりみつる)

社団法人組込みシステム技術協会ETEC運営事務局。(株)サートプロ 代表取締役。


田辺皓正(たなべこうせい)

社団法人組込みシステム技術協会 主任研究員。

コメント

コメントの記入