組込み教育委員会

6-2 トロン技術者認定試験(TRON) 第1回

はじめに

トロン技術者認定試験は、T-KernelやITRONなどの組込みリアルタイムOSを使いこなし、実際に組込みリアルタイムシステムのソフトウェアを開発する能力がどの程度あるかを認定するための試験制度です。

2008年9月28日(日)には、第2回の「トロン技術者認定試験」が開催されます。ここでは、トロン技術者認定試験の概要や背景、例題などについて紹介したいと思います。

技術者が足りない

日本では労働力人口の減少、学生の理科離れや学力低下などがあいまって、企業間での優秀な人材の獲得競争は熾烈さを増しています。最近では部署単位での技術者の引き抜きさえあるそうです。

組込み業界も例外ではありません。経済産業省の統計によると、組込みソフトウェア技術者の数は約23.5万人ですが、不足している技術者数は約9.9万人です。この技術者不足を補うため、組込みソフトウェア開発の多くが国内外に委託されています。しかし、委託先の技術力を計測するメトリックが用意されていないため、品質面でのトラブルが多く発生しています。

こうした問題を解決するため、T-Engineフォーラムでは、トロン技術者認定試験の制度を創設しました。

トロン技術者認定試験の目的

本試験の目的は大きく分けて次の3つです。

  • (1)技術者個人の技術力を客観的に評価するための尺度を提供し、委託先の技術力を正確に評価できるようにして、トラブルを未然に防止する
  • (2)技術者個人の技術力を具体的な業務の受注につなげることで、技術力向上のモチベーションを与える
  • (3)技術力を正当に評価し、ポータブルな資格とすることで、組込みソフトウェア技術者の社会的地位の向上に役立てる

なお、客観的に示された技術力は、就職や転職の際に用いる共通の尺度としても利用できます。

試験概要

本試験は、特定の資格の合否判定ではなく、スコアによって定量的に技術力を認定します。経験を積んで技術力が向上するごとに受験すれば、継続的にスコアを上げることができることでしょう。出題範囲は幅広く表1⁠、日々の業務から得た知識や経験がハイスコアにつながるようになっています。試験時間は90分で、100点満点。マークシート方式で実施され、出題は2つの区分で構成されます表2⁠。

表1 トロン技術者認定試験の出題範囲
大領域内容
組込みリアルタイムの基礎組込みシステムの特徴、リアルタイムシステムの特徴、タスク管理基礎、タスクスケジューリングの基礎、割込み処理基礎、同期・通信基礎、記憶管理基礎、時間管理基礎、RTOS基礎、ソフトウェアアーキテクチャ基礎、ハードウェアアーキテクチャ基礎 ほか
組込みソフトウェア開発の基礎開発環境基礎、組込み開発基礎、プログラミング言語基礎、データ構造とアルゴリズム基礎、デバッグ基礎、ソフトウェア工学基礎、信頼性基礎・テスト・検証手法 ほか
トロンアーキテクチャの基本概念「オープン」の概念、ゆるやかな標準化、T-Engine, T-Kernel の意義、サービスコールやエラーコードのネーミングコンベンション ほか
ハードウェア分野T-Engine、μT-Engine ほか
RTOS分野(ITRON、T-Kernel、μT-Kernel)トロン仕様の概念、タスクモデル・タスク管理機能、同期・通信機能、時間管理機能、メモリプール管理機能、アドレス管理機能、省電力機能、デバイス管理機能、デバッグサポート機能、標準デバイスドライバ、個別デバイスドライバ ほか
ミドルウェア(T-Kernel/Standard Extension、TCP/IP ほか)コンピュータネットワークの基礎概念、ファイルの基礎概念、プロセスの基礎概念、T-Kernel/Standard Extension(TKSE)の概略、TKSEプロセスモデル、TKSE同期・通信機能、TKSEファイル管理、TKSEイベント管理、TKSE応用、ITRON TCP/IP API 仕様 ほか
マルチプロセッサマルチプロセッサ・マルチコア技術の概略、AMP T-Kernel、SMP T-Kernel ほか
その他ソフトウェアライセンス、法令、ビジネスモデル、組込みリアルタイム分野の教育トレーニング、標準化 ほか

表2 出題区分
区分内容
第1区分組込みリアルタイムシステム開発の基礎知識を問う問題
  • 配点は60点(各3点×20問)
  • 1問あたり2~3分程度で解答できる選択問題
第2区分具体的なソフトウェアの開発知識に関する問題
  • 配点は40点(各8点×5問)
  • 1問あたり5分程度で解答できるプログラミングや計算の問題

例題

以下は、模擬試験の第1区分で出題された問題とほぼ同じ問題です。挑戦してみてください。

【問】T-Kernelのスケジューリングの説明として、正しいものを以下の中から1つ選べ。

  • [1⁠⁠ タスクの優先度はタスクの生成時に指定し、実行中に変更することはできない。
  • [2⁠⁠ より高い優先度を持つタスクが実行可能な状態にある限り、それより優先度の低いタスクはまったく実行されない。
  • [3⁠⁠ 同じ優先度を持つタスクの優先順位はラウンドロビン方式である。
  • [4⁠⁠ 待ち状態が解除されたタスクは、そのタスクと同じ優先度を持つタスクの中で最高の優先順位を持つ。

選択肢[1]は、後半が間違いです。実行中はtk_chg_priシステムコールによって優先度を変更できます。選択肢[2]は正しい説明です。TSS(Time Sharing System)に慣れていると奇妙に感じるかもしれませんが、リアルタイム性が要求されるシステムでは、このような優先度ベースのスケジューリングのほうが適しています。選択肢[3]は、T-Kernelとしては間違いです。T-Kernel/Standard Extensionの絶対優先度グループのスケジューリング方式がこのようになっています。選択肢[4]は、間違いです。同じ優先度を持つタスク間ではFCFS(First Come First Served)方式になっています。

※答えは[2]です。

本例題は、T-KernelやオITRONにおけるスケジューリングの基本について確認しています。組込み技術者としては必須の知識ですが、試験勉強によってではなく開発経験を積むことで自然と身につく知識です。

受験の申し込みなど

トロン技術者認定試験の詳細と受験手続きは公式Webサイトで確認できます。

英語のTOEICやTOEFLなどの試験は、点数でどの程度の能力があるかを客観的に表示できる資格のため、大学院入試や就職・転職時の履歴書で利用されています。本試験は、組込みプログラム開発能力に関して、このような個人のためのポータブルな資格を確立することを目指しています。みなさんもぜひ活用してください。また、ソフト開発の受発注業務における、コスト計算や品質管理にもぜひ活用していただきたいと思います。

おすすめ記事

記事・ニュース一覧