エンベデッドシステムスペシャリスト 2014年 午前2 問22
問題文
組込みソフトウェアなどの設計にも有効な技法であって、システムをプラットフォームに依存する部分と依存しない部分とに分けてモデル化することを特徴とする技法はどれか。
選択肢
ア:CSM
イ:MDA(正解)
ウ:OMT
エ:UML
🔒 解説は解答すると表示されます
MDAのモデル分離【午前2解説】
正解の理由
イのMDA(Model Driven Architecture:モデル駆動型アーキテクチャ)は、システムの機能や構造を、特定の実行環境に依存しない部分と、依存する部分に分けてモデル化する技法です。
プラットフォームに依存しないモデルを作成した後、対象となるプラットフォームに合わせて依存するモデルへ変換します。このように、モデルを中心に設計を進めるため、組込みソフトウェアなど、複数のプラットフォームを考慮するシステムの設計にも有効です。
解法ステップ
- 設問の「プラットフォームに依存する部分と依存しない部分に分けてモデル化」に注目します。
- プラットフォームに依存しないモデルから、依存するモデルへ展開する技法を思い出します。
- この特徴に当てはまるMDAを選びます。
選択肢別の誤答解説
- ア:CSM
この設問で問われている、プラットフォーム依存の有無に基づくモデル分離を特徴とする技法ではありません。 - イ:MDA
プラットフォームに依存しないモデルと、依存するモデルを分けて扱います。設問の説明に合致します。 - ウ:OMT
オブジェクト指向の分析・設計手法です。オブジェクトを中心にシステムをモデル化しますが、プラットフォーム依存・非依存の分離を中心とする技法ではありません。 - エ:UML
システムの構造や振る舞いを図で表すためのモデリング言語です。モデルを記述するために利用できますが、プラットフォーム依存・非依存の分離を特徴とするアーキテクチャそのものではありません。
よくある誤解
- UMLとMDAを同じものと考える
UMLはモデルを表現するための言語で、MDAはモデルを中心に開発を進める考え方・枠組みです。MDAでUMLを使うことはありますが、両者は別の概念です。 - プラットフォーム非依存モデルだけで開発が完了すると考える
実際に動作させるには、対象プラットフォームに合わせたモデルや実装へ展開する必要があります。 - 組込みソフトウェア専用の技法と考える
組込みソフトウェアにも有効ですが、MDAは特定の分野に限定された技法ではありません。
補足コラム
MDAでは、モデルを役割に応じて分けて扱います。代表例は、計算機環境から独立したモデル(PIM)と、特定のプラットフォームに依存するモデル(PSM)です。PIMからPSMへの変換により、異なる実行環境への対応や、設計の再利用をしやすくできます。
FAQ
Q. PIMとPSMの違いは何ですか?
A. PIMは特定のプラットフォームに依存しないモデル、PSMは特定のプラットフォームに依存するモデルです。
A. PIMは特定のプラットフォームに依存しないモデル、PSMは特定のプラットフォームに依存するモデルです。
Q. MDAを使えば、異なるプラットフォーム向けのソフトウェアを自動で作れますか?
A. モデル変換やコード生成を自動化できる場合はありますが、変換ルールやツールの整備が必要です。常に完全自動で開発できるわけではありません。
A. モデル変換やコード生成を自動化できる場合はありますが、変換ルールやツールの整備が必要です。常に完全自動で開発できるわけではありません。
関連キーワード: MDA、PIM、PSM、プラットフォーム非依存モデル、UML

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

