• 検索結果がありません。

提案手法の実装

ドキュメント内 JAIST Repository https://dspace.jaist.ac.jp/ (ページ 78-82)

第 6 章 評価

6.1 提案手法の実装

6

プレートが

Eclipse Plugin

として生成される.

Xtend

Xtext

で作成された

Java

の軽量言語である.

Xtext

のフレームワーク の中でも多くの箇所で用いられており,モデル変換やコードテンプレートなどモ デル駆動のために必要な機能が言語機能として実装されている.

Xtend

で記述さ れた

DSL

Java

のソースコードに変換されるため,既存の

Java

ソフトウェアと の親和性も高い.

Graphical Modeling Framework

GMF

)は,グラフィカル

DSL

を作成するた めのフレームワークである.

EMF

のメタモデルを元にグラフィカルエディタを作 成でき,入力されたモデルは

EMF

のインスタンスモデルとして利用することがで きる.

Name Version

Eclipse Modeling Tools[21] Kepler(4.3.1) SR1 Eclipse Modeling Framework[22] 1.1.1

Papyrus UML[23] 0.10.1

Xtext[24] 2.4.3

Xtend[24] 2.4.3

Graphical Modeling Framework[25] 1.7.0

6.1:

使用環境

6.1.2 2 層フィーチャメタモデルの実装

システムプロダクトラインの

2

層フィーチャモデルやハードウェアモデル,ゲー トウェイモデルのモデル定義には,Eclipse Modeling Framework(EMF)を用い た.Eclipse Modeling Framework(EMF)は

OMG

MDA

Meta Object

Facil-ity(MOF)

を元に実装されたモデル駆動開発のためのフレームワークで,メタモデ

ルの定義やモデル駆動技術のための基盤を提供する.モデル駆動のための多くの ツールが本フレームワークを元に作られている.

フィーチャモデルのメタモデルもまた

EMF

のメタメタモデルである

Ecore

を用 いて実装されている(

Ecore Feature Model)

.フィーチャモデルのメタモデルは,

Ecore Feature Model

のメタモデルを基盤として拡張を加えた.

6.1.3 ハードウェアメタモデル,ゲートウェイメタモデルの実装

ハードウェアモデルとゲートウェイモデルのメタモデル定義は

Pupyrus UML

含まれる

MARTE

プロファイルのメタモデルを元に,本研究の拡張を加えた.

6.1.4 DSL の実装

ハードウェア部品

DSL

と回路図

DSL

の言語定義は,

Xtext

を用いて定義し,言 語メタモデルとエディタを生成した.また,回路図エディタからエクスポートす るネットリストから回路図

DSL

への変換には,Rubyで作成した簡易なテキスト 変換プログラムを用いた.ハードウェア部品

DSL

からハードウェア部品モデルと 回路図

DSL

から回路図モデルへの変換は,

Xtend

にて

DSL

の言語メタモデルから ハードウェアメタモデルへの変換ルールを記述することで行った.

ブロック図

DSL

はグラフィカル

DSL

であるため,

Graphical Modeling Framework

を用いて定義を行った.ブロック図

DSL

のメタモデルは,ハードウェアメタモデル を利用する.このため,上記のような

DSL

からモデルへの変換は必要なく,

DSL

で入力した形のままモデルが作成した.

6.1.5 モデル変換の実装

ハードウェアフィーチャモデル,ハードウェア部品モデル,ブロック図モデル,

回路図モデルを結合しハードウェアモデルを得るプロセスは,

Xtend

にて定義し た.ハードウェアモデルからゲートウェイモデルへの変換工程も

Xtend

を用いて 定義した.

6.1.6 コード生成の実装

ゲートウェイモデルからゲートウェイドライバへのコード生成もまた,

Xtend

に て定義した.ゲートウェイドライバは

C

言語を想定しており,

C

言語のソースコー ドのテンプレートとヘッダファイルのためのテンプレートを作成した.

6.1.7 モデル駆動型システムプロダクトライン開発環境としての 統合

これらのモデル操作のプロセスに加え,

GUI

上からモデルファイルの選択や変 換の指示などモデルフローの操作を指示できるよう,インタフェースを

Eclipse

の ビュー

Plugin

として作成した.

Device Driver Model

プロジェクトビュー データシートDSL

ブロック図DSL 生成されたデバイスドライバモデル

uml.xml application.xmi

モデル変換フロー

データシート モデルの選択

ブロック図モデルの選択

回路図モデルの選択

統合されたハードウェアモデル 生成されたデバイスドライバモデル

6.1:

統合環境の実行画面

実装した統合環境の実行画面を図

6.1

に示す.作成した環境は大きくプロジェク トビュー.モデルの入力部

(

図中のデータシート

DSL

,ブロック図

DSL)

と出力確 認部(図中の生成されたデバイスドライバモデル),モデル変換フローに分けられ る.プロジェクトビューにはプロジェクトに含まれるモデルやファイルを表示す る.モデルの入力はデータシート

DSL,ブロック図 DSL,回路図 DSL

に応じた三 種類の

DSL

エディタを用いた.モデル変換フローでは入力したモデルを選択し,

ハードウェアモデルの統合,ゲートウェイドライバモデルへの変換,コード生成 といった各変換作業を行った.生成されたモデルは出力ビューで確認した.

ドキュメント内 JAIST Repository https://dspace.jaist.ac.jp/ (ページ 78-82)