組込み教育委員会

2-3 OMG認定 組込み技術者資格試験(OCRES) 第2回

OCRES認定レベル/出題範囲

OCRESとは、組込みシステムの開発に従事する世界のアーキテクト開発者・プログラマを対象とした資格試験です。⁠OCUPファンダメンタル」の上位レベルとして、⁠OCRESインターメディエイト」⁠OCRESアドバンスト」の3段階のレベルで構成されます図1⁠。

図1 OCRES認定レベル
図1 OCRES認定レベル

今回はOCRESの出題範囲を紹介します。OCRESインターメディエイトでは、分野としては、(1)ソフトウェア工学、(2)MDA、(3)UML、(4)CORBAに分類されます表1⁠⁠。それでは、1つずつそれらの概要を紹介します。

表1 OCRES認定レベル
分野項目インターメディエイトアドバンスト
ソフトウェア工学分野設計コンセプトモジュール構造機能構造
リアルタイムOSスケジューリング
共有資源管理
タスク間通信
メモリー管理
リアルタイムOSの実際上の問題リアルタイムOSの構造と機能スケジューリングポリシー
パフォーマンス分析と評価
POSIX分散システム
コーディングの問題コード開発とパッケージ
組込み系ハイレベル言語
性能工学性能工学の重要性
要件と目的
性能モデリング
MDAMDAMDA基本概念MDA変換
MDAとシステム開発PIM-PSMパターン
MDAアプローチの実際MDAと標準
MDA基本モデル
UMLUMLプロファイル(スケジュール、性能、時間)資源モデリング性能モデリング
時間モデリングリアルタイムCORBAアプリケーション
同時性モデリングモデル処理
スケジューラビリティ・モデリング
UMLプロファイル(サービス品質(QoS⁠⁠、フォールトトレランス)QoSフレームワークQoSカタログ
QoSメタモデリングリスク・アセスメント
UML QoSプロファイルフォールトトレランス緩和策
CORBAリアルタイムCORBA静的スケジューリング動的スケジューリング
組込みCORBA(CORBA/e)オブジェクトモデルポリシーオブジェクト
IDLの文法とセマンティクスリアルタイムアーキテクチャ
ネーミングサービスイベントサービス
軽量ログサービス
一般ORB間プロトコル(GIOP)
軽量CORBAデータ配給サービスサービスコンポーネントモデル
データ配給の基本DCPS(Data-Centric Publish-Subscribe)
DLRL(Data Local Reconstruction Layer)
その他配備と構成配備と構成(Deployment and Configuration)
トランスポートフレームワーク拡張可能トランスポートフレームワーク

(1)ソフトウェア工学

ソフトウェア工学分野としては、組込みリアルタイムシステムを開発するための基盤知識から構成されています。組込みソフトウェアの開発は、要求仕様に対して、どのようなモジュールに分割して、どのように並行動作させるか、ということを設計します。モジュールへの分割に際しては、構造化設計やオブジェクト指向設計の知識が必要です。構造化設計での機能分割やオブジェクト指向での責務分割により、ソフトウェア設計の構成要素となるモジュールへと分割され、それらを構造化して表現することで設計図ができます。

また、モジュールの品質尺度として、モジュラリティやコヒージョン(モジュール強度)そしてカップリング(モジュール結合)の視点で評価することになります。OCRESでは、こられの設計コンセプトが出題されます。設計コンセプトは、すべての組込みソフトウェアエンジニアに必要な知識であると言えます。

並行動作に関しては、多くの組込みソフトウェアではリアルタイムOSが搭載されていますので、そのスケジューリング方式などの基本要素が出題されます。デッドロックに関する出題もありますので、ある特定のタイミングのときにソフトウェアがハングアップしてしまうような再現性の低いバグに悩まされている現場の方にも役に立つはずです。

このように、OCRESでは、組込みソフトウェア開発では必須となる、設計コンセプトとリアルタイムOSに関する問題が出題されます。これらを知らずして、組込みソフトウェアエンジニアは名乗れないでしょう。

続いて、今のエンジニアには欠かせない3つの分野、すなわちMDA、UML、CORBAについて簡単に紹介します。

(2)MDA

MDAはモデル駆動アーキテクチャの略です。システムを、プラットフォームに非依存なモデル(PIM)とプラットフォームに依存するモデル(PSM)に分けて開発するということが基本的なコンセプトになっています。その2つのモデルの関係や変換の概念、アーキテクチャビューなどに関する要素が出題されます。

(3)UML

UMLは、統一モデリング言語の略です。

UMLの表記法はOCRESの前段となるOCUPで出題されますので、OCRESでは主にUMLプロファイルについての出題となります。UMLプロファイルでは、スケジュールやパフォーマンスという時間的な設計の概念と、サービス品質(QoS)としての非機能要件と制約の概念が出題されます。組込みシステムでは、表面的な機能要件よりも、システムの内部的な非機能要件の作り込みが肝心となってきます。非機能要件の設計をなんとかしたいとお考えの方は、UMLプロファイルの分類が1つの思考の助けになると思います。

(4)CORBA

CORBAとは、分散オブジェクトリクエストブローカアーキテクチャの略です。ネットワーク上に分散しているリソースを、どのように定義して取り扱うのか、という技術分野です。ネットワーク技術の基礎も含めて、軽量化のしくみやリアルタイム性などへの対応の概念が出題されます。組込み装置も、スタンドアロンで動く世界から、複数の組込み装置が連動する世界へと急速に変化してきており、そのようなネットワーク分散システムを開発するときには欠かせない知識要素です。


以上のように、OCRESでは、組込みソフトウェア開発に必須なソフトウェア工学、大規模化するソフトウェアをモデリングすることで取り扱うためのMDAとUMLそして、ネットワーク処理の基本を含む分散システムへの対応のためのCORBAから構成されています。多くの組込みソフトウェアエンジニアが、OCRESに挑戦することで、組込みソフトウェア開発の知識を身につけて、それを活用することで、より工学的で元気な開発現場が増えることを期待します。

おすすめ記事

記事・ニュース一覧