ハードウェ ア 選択モデル
ソ フト ウェ ア 選択モデル 制約された ソフトウェア
フ ィー チャモデル ソ フト ウェ ア
フ ィー チャモデル
ハードウェ ア フ ィー チャモデル
導 出
導 制約 出
1
依存
高性能 MCU
MCU 通信
低性能
MCU Blueto
USB oth 高性能
MCU MCU 通信
低性能
MCU Blueto
USB oth 高性能
MCU MCU 通信
低性能
MCU Blueto
USB oth 高性能MCU
MCU 通信
低性能
MCU Blueto
USB oth 高性能MCU
MCU 通信
低性能
MCU Blueto
USB oth 依存 依存
ソ フト ウェ ア プ ロダ クト
ハードウェ ア プ ロダ クト 製造
製造
2
3
4
5 6
7
1
図
5.2: 2
層フィーチャモデルを用いた製品導出のプロセス図
5.2
に4.2.1
で示した2
層フィーチャモデルを用いた製品導出のプロセスを再 掲する.導出されたハードウェア選択モデルから,制約されたソフトウェアフィーチャモ デルの導出方法について,具体的に説明する.
ハードウェ ア 選択モデル
制約された ソフトウェア フ ィー チャモデル ソ フト ウェ ア
フ ィー チャモデル
制約
依存
高性能 MCU
MCU 通信
低性能
MCU Blueto
USB oth 高性能
MCU MCU 通信
低性能
MCU Blueto
USB oth 高性能MCU
MCU 通信
低性能
MCU Blueto
USB oth 依存 依存
導 出
高性能
MCU Blueto
USB oth 高性能
MCU Blueto
USB oth 依存関係を逆に辿り , 選択なく さ れていない ハードウェ アフィー チャ へ依存関係を持つ
ソ フト ウェ アフィー チャ を除 外す る
依存関係を持つ
ハードウェ アフィー チャ を抽 出す る.
図
5.3:
制約されたソフトウェアフィーチャモデルの導出図
5.3
にハードウェア選択モデルと依存関係から制約されたソフトウェアフィー チャモデルを導出するプロセスを示す.まず,ハードウェアフィーチャモデルのすべてのハードウェアフィーチャのうち ソフトウェアフィーチャからの依存関係を持つハードウェアフィーチャを抽出す る.次にハードウェア選択モデルで選ばれていないハードウェアフィーチャの依 存関係を逆に辿り,依存関係を持つソフトウェアフィーチャを除外する.
この際,ソフトウェアフィーチャが子要素を持つ場合は,子要素もすべて除外 する.
5.2 ゲートウェイドライバ導出
5.2.1 ゲートウェイドライバの導出プロセス
2
ゲートウェ イ ド ライ バ
ハードウェ ア プ ロダ クト ソ フト ウェ ア プ ロダ クト ハードウェ ア構成管 理
ハードウェ ア 部品
モ デル ハード
ウェア モ デル ハードウェ ア部
品情報
ハードウェ ア構 成情報
ゲートウェ イドライ バ導 出 参照
HW製造 ハードウェ
ア 部品 モ デル ハードウェ
ア 部品 モ デル ハードウェ
ア 部品 モ デル
回路図 モ デル ブ ロッ ク図
モ デル ハードウェ ア
フ ィー チャモデル
ハードウェ ア 選択モデル 選
択
合成
ブ ロッ ク図 回路図 MCU データ シ ート デバイス データシー ト
ゲート ウェイ モ デル データ
シ ート DSL データ シ ート DSL
T T
変 換
変 換 入
力
入 力
ネット リ スト
ブ ロッ ク 図DSL
回路図 DSL T 入 G
力
入 力
変 換
変 出 換
力
3 4
5 6
7 8 9
変 換
変 換 1 2
ハードウェ ア メ タモ デル
ゲートウェ イ メ タモ デル instanceOf instanceOf
図
5.4:
ゲートウェイドライバの導出プロセス図
5.4
にゲートウェイドライバの導出プロセスの詳細図を示す.図内の小さな○数字に沿って説明する.
⃝ 1
,⃝ 2 :
本手法を適用するために必要なメタモデをあらかじめ定義してお く.ハードウェアメタモデルを定義するために,どのようなハードウェア情報が 必要か分析を行ったが,それについては5.2.2
に説明する.定義したメタモデルに ついては5.2.3
で説明する.⃝ 3 , 4 ⃝ , 5 ⃝ , 6 ⃝ :
ゲートウェイドライバ導出に必要なハードウェアの情報 をDSL
を使って入力する.データシート等の情報と,ハードウェアモデルでは表 現形式に乖離があるので,まずデータシート等での表現に近い形式を持ったDSL
を使って入力を行い,それを変換してハードウェアモデルを得る.DSL
について の詳細は5.2.4
で説明する.⃝ 7 : DSL
から変換された複数のモデルとハードウェア選択モデルを用いて,そのハードウェア選択モデルに対応したゲートウェイドライバの導出に必要なハー
ドウェア情報をすべて含んだハードウェアモデルを合成する.合成方法について は
5.2.5
で説明する.⃝ 8 :
合成されたハードウェアモデルを変換してゲートウェイモデルを得る.変 換方法については5.2.6
で説明する.⃝ 9 :
変換されたゲートウェイモデルからコード生成を行い,ゲートウェイドラ イバを生成する.コード生成についても5.2.6
で説明する.5.2.2 ハードウェア情報の選択
本研究では,入力するハードウェア情報として,MCUとデバイスのデータシー ト,ブロック図,回路図を想定している.
4.3.2
で述べたように,ハードウェアは多 様であるため対象をある程度限定することによって形式化を行う.典型的なハー ドウェアを対象にそのデータシートの分析を行い,ハードウェアモデルのメタモ デルを決定する.5.2.2.1 MCU
データシートの情報以下に対象とするハードウェアの典型例として
Atmel
社のMCU
であるAtmega328
のデータシートのアウトラインを示す.このデータシートは典型的な内容を含ん でいるのでこれを例に分析内容を説明する.行頭に*がついた項目は,ハードウェア情報のうちソフトウェア開発に関係する 情報で,ハードウェアモデルとして扱う情報である.また