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

<Webinarのサンプルを開く> <モデル表示画面、左にフィーチャー、右にファミリーモデルを配置>

N/A
N/A
Protected

Academic year: 2021

シェア "<Webinarのサンプルを開く> <モデル表示画面、左にフィーチャー、右にファミリーモデルを配置>"

Copied!
20
0
0

読み込み中.... (全文を見る)

全文

(1)

デモ概説書

1.

目的 ... 1

2.

pure:variants の使用準備 ... 1

3.

プロジェクトの作成 ... 2

4.

モデルの表示と製品バリアントの生成 ... 4

5.

フィーチャーとファミリーの関連付け ... 8

6.

ソースコード内のフラグの管理 ... 13

7.

メイクファイルに受け渡すファイル名の処理 ... 17

(2)

1. 目的 この資料では、気象監視システムのサンプルを用いて、pure::variants のモデリング環境とバライアビ リティー/バリアント管理機能の使い方を説明しています。 pure::variants を用いて製品ファミリーの、 バリアントとバライアビリティーを分類し、管理することで、体系的に資産を再利用して、効率良く開発 し、メンテナンスができるようになります。 また弊社 pure::variants 製品情報サイトにある以下の動画デモは、同じサンプルを用いていますので、 ご覧いただくことで、評価を効率的に行っていただけるかと思います。 pure::variants 製品情報 http://www.fuji-setsu.co.jp/products/purevariants/index.html 基本操作と概念 http://www.fuji-setsu.co.jp/demo/pure_variants.html フラグの管理と make ファイル http://www.fuji-setsu.co.jp/demo/pure_variants_make.html 2. pure:variants の準備 ① Eclipse の日本語化について。

・言語パックEclipseのアップデートマネージャー(Help → Install New Software)からインストールでき ます。以下のURLをUpdate Siteとして登録して接続し、日本語化言語パックを選択してインストールし てください。

http://archive.eclipse.org/technology/babel/update-site/R0.9.0/helios

インストール終了後、Eclipseを再起動するとEclipseの各種メニューが日本語化されます(ただし、 pure::variantsやいくつかのメニューは日本語化されません)。

(3)

② プロジェクトのコピー

“purevariants_demo.zip” を解凍し、“WSC++”と“Webinar Finished”ディレクトリを、C:\[ワ ークスペースフォルダの場所] 以下にコピーします。

zip ファイルは、http://www.fuji-setsu.co.jp/files/purevariants_demo.zip からダウンロードし て下さい。

③ コンパイラ環境のインストール

Windows 上で実行可能なフリーの GNU C コンパイラ環境である MinGW とそれを実行するためのコン ソール環境である Msys をインストールしてください。

これらのプログラムは、SourceForge の

http://sourceforge.net/project/showfiles.php?group_id=2435

からダウンロード出来ます。

Automated MinGW Installer の MinGW-x.x.x

MSYS Base SYSTEM->Current Release の MSYS-x.x.x.exe ※x.x.x は共にバージョン番号 をダウンロードしてください。 インストールに関する情報は、 http://www.mingw.org/download.shtml を、ご参照ください。 3. プロジェクトの作成 通常、プロジェクトは新規に作成しますが、ここでは、既存のプロジェクトをインポートする方法をと ります。以下の手順で、プロジェクトをインポートできます。 ① ファイル->インポートメニューで、インポートウィザードを表示させます。Variant Projects 表 示のコンテキストメニューでも表示可能です。

(4)

③ “ルート・ディレクトリーの選択”に、C:\[ワークスペースフォルダの場所]\を設定します。“参照” ボタンでファイル選択ダイアログによる指定が可能です。

④ プロジェクトに WSC++と Webinar Finished が表示され、チェックボックがスチェックされているこ とを確認し、終了ボタンをクリックします。

(5)

4. モデルの表示と製品バリアントの生成

① WebinarFinished プロジェクトの WebinarFeatures.xfm をダブルクリックすることで、フィーチャー モデルが表示されます。このモデルには、製品ファミリーの各機能や、それらの関係が階層構造で登 録されています。各モデルエレメントの左の“+”マークをクリックする事で下位の階層を表示でき ます。このモデルでは、温度を測定する Temperature 機能と、風速を測定する Wind Speed 機能があ り、それぞれが複数の表示単位を持つことが分かります。

(6)

② 同様に WebinarFamily.ccfm をダブルクリックすることで、ファミリーモデルが表示されます。この モデルは、製品ファミリーのクラス、オブジェクト、関数、変数、ドキュメントなどのコンポーネン トで構成され、これらの相互接続や制限、条件なども含みます。フィーチャーモデル同様階層構造に なっており、下位の階層を表示させることが可能です。ここには、実際のソースコードやメイクファ イルなどへのリンクが登録されていることが分かります。これら2つのモデル間にはリンクがはられ ており、製品ファミリーの変動要素が一貫して管理されています。

(7)

③ Webinar Finished プロジェクトの WebinarConfig コンフィグレーションスペースに、バリアントデ ィスクリプションモデル(VDM)が登録されています。その中の WebinarConfig.vdm をダブルクリッ クしてモデルを開きます。このモデルで単一製品のフィーチャーの組み合わせを選択できます。ここ では、摂氏の温度表示とノットの風速表示が選択されています。 ④ Transform Model ボタンをクリックする事で、選択されたフィーチャーに対応した、ファミリーモデ ルのコンポーネントが抽出されます。この例では、C:\[ワークスペースフォルダの場所]\Webinar Finished\Output\WSC++ディレクトリ以下に、ソースファイルとメイクファイルが生成されます。

(8)

出力先にファイルが存在する場合は、上書きの確認ダイアログが表示されます。通常、“はい”で先 へ進めます。 ↓ ファイル生成の終了ダイアログです。“OK”ボタンで先へ進めます。 ⑤ 生成されたソースファイルを実際にビルドします。スタート->すべてのプログラム->MinGW-> MSYS->msys を実行し、MinGW の実行コンソールを開きます。 ⑥ コンソールで上記のソースディレクトリに移動し、make を実行することで製品(ws.exe)がビルド されます。ws.exe を実行することで、温度と風力が計測されるアプリの動作が確認できます。CTRL+C でアプリケーションを終了します。

(9)

5. フィーチャーとファミリーの関連付け ① フィーチャーモデルの Temperature を選択すると、右端の Relation 表示に関連付けられたコンポー ネントが表示されます。ここでは、子フィーチャーとして°Cと°Fが、親フィーチャーとして WebinarFeatures が設定されていることが分かります。また、ps:classTemperature ファミリーエレ メントが、このフィーチャーを参照していることも分かります。 ② このフィーチャーのコンテキストメニューからプロパティを選択することで、詳細な設定を確認する ことが出来ます。°Cのプロパティを表示させて Relations タブを選択すると、American/British フィーチャーに対して、ps:confilicts リレーションが設定されています。これら2つのフィーチャ ーが同時に選択できない制約を表すリレーション設定です。

(10)

③ フィーチャーモデルの下の Graph タブで、グラフィカルに表示することも可能です。

④ ファミリー・モデルには、資産コードとして、気圧計のアプリ(psclass:Pressure)が存在していま すが、フィーチャーモデル側には、まだ登録されていません。そこで、これをフィーチャーモデルに 登録します。

(11)

⑤ WebinarFeature のコンテキストメニューで New->Feature を選択して、ウィザードを表示させます。

⑥ uniqueName として AirPressure、VisibleName として気圧計を設定します。VariationType には、 必ず選択の Mandatory、選択可能の Optional、どれか1つだけ選択の Alternative、1つ以上を必ず 選択の Or、がありますが、ここでは、温度や風速と同様に、1つ以上を必ず選択の OR を設定します。

(12)

⑦ 追加したフィーチャーと、ファミリーモデル上のコンポーネント間のリンクをはります。ファミリー モデルの Pressure のコンテキストメニューで Properties を選択します。プロパティダイアログで Restrictions タブを選んで、Restriction の1列目をクリックし、右端のアイコンをクリックします。 ⑧ テキスト領域に文字が設定されていればそれを消去し、CTRL+SPACE を実行します。設定可能な項目 のリストが表示されますので、先程フィーチャーモデルに登録した、気圧計をダブルクリックします。 OKボタンで2つのダイアログを閉じます。

(13)

⑨ VDM を表示すると新たに気圧計が選択できるようになっています。ここで下図のように各フィーチャ ーを設定し、Transform を実行することで、新たな製品のソースコードが生成されます。

(14)

⑩ MSYSコンソールで再度ビルドを行い、プログラムを実行することで、気圧の計測が追加されてい ることが確認できます。

6. ソースコード内のフラグの管理

① ファミリーモデルで管理されている資産コードは、このサンプルの場合はVariant Project ウィンド ウ の WSC++ プ ロ ジ ェ ク ト の 配 下 に あ り ま す 。 例 え ば 、 温 度 計 の ソ ー ス は Sensors - > Temperature.cc として登録されていて、Open with ->テキストエディタでソースを表示出来ます。

(15)

③ ファミリーモデル の WSC++-> ps:variable:CPPFLAGS_TEMP のコンテキストメニューで、 Tree Layout->Show All を選択すると、設定の詳細が表示されるようになります。

(16)

⑥ このコンパイラオプションは、ps:makefile: config.mk の中で、変数 CPPFLAGS を介して config.mk に代入されるように設定されています。それらの設定の結果として、makefile 内でコンパイラオプ ションとして指定されます。

(17)

⑧ これは、ps:variable:CPPFLAGS_TEMP の TemperatureF をダブルクリックすると、Relations に°Fフ ィーチャーが表示されることでも確認できます。

(18)

⑨ 実際に作成された Config.mk は、Variant Projects の Webinar Finished->Output->WSC++->config.mk のコンテキストメニューで、Open With->テキストエディタを選択することで、表示できます。 ⑩ 7. メイクファイルに受け渡すファイル名の処理 ① また、pure::variants は、VDM を変換して生成したソースファイルから、コンパイルするべきファイ ルリストを抽出し、Makefile へ受け渡すこともできます。

② Transformation の設定は、Configuration Space を使って行います。Variant Projects で Webinar Finished プロジェクト->WebinarConfig のコンテキストメニューで、プロパティを選択します。

(19)

③ プロパティダイアログで Configuration Space を選択し、Input-Output タブを選択します。ここで は、Input としてソースファイルのあるディレクトリ、Output として VDM を変換して生成されるフ ァイルの出力先が指定されています。Transform Model を実行すると、この設定に基づいて、必要な ファイルがコピーされます。

④ Transformation Configuration タブをクリックすると、Transform Model 実行時に行う動作の規定が 確認できます。“Convert to transformer action list”でコピーするファイルのリストを作成し、 “Execute transformer action list”でそれらのファイルを実際にコピーし、“Makefile”でファイ ルリストを基に Makefile を作成しています。

(20)

ることで、Makefile 作成の詳細な設定が確認できます。Makefile のファイル名は、out のパラメー タで config.mk と指定されており、先程、Input-Output の Output で指定したディレクトリに作成 されます。ここでは、設定が目的ではないので、キャンセルをクリックします。

⑥ Variant Projects の Webinar Finished プロジェクト->Output->WSC++->Makefile のコンテキストメ ニューで、Open With->テキストエディタを選択することで、生成された Makefile を確認できます。 このファイル内で、以下の様に config.mk がインクルードされており、コンパイラにソースファイル のリストが引き渡されるようになっています。

富士設備工業株式会社 電子機器事業部

参照

関連したドキュメント

ZoomのHP https://zoom.us にアクセスし、画面右上の「サインアップは無料です」をクリッ

回転に対応したアプリを表示中に本機の向きを変えると、 が表 示されます。 をタップすると、縦画面/横画面に切り替わりま

ホーム > 政策について > 分野別の政策一覧 > 健康・医療 > 食品 > 輸入食品監視業務 >

ホーム >政策について >分野別の政策一覧 >福祉・介護 >介護・高齢者福祉

Joshi; Existence and nonexistence of solutions of sublinear problems with prescribed num- ber of zeros on exterior domains, Electronic Journal of Differential Equations, 2017 No..

< >内は、30cm角 角穴1ヶ所に必要量 セメント:2.5(5)<9>kg以上 砂 :4.5(9)<16>l以上 砂利 :6 (12)<21> l

① Google Chromeを開き,画面右上の「Google Chromeの設定」ボタンから,「その他のツール」→ 「閲覧履歴を消去」の順に選択してください。.

印刷物をみた。右側を開けるのか,左側を開け