SDSI-Cubic向けデータベース連携プラグイン(以下、DB連携プラグイン)は、SDSI-Cubicで使用するSysMLモデル、SDSI-Cubic向け各種設定ファイル・計算結果、RTコンポーネントリソースを共通データベースに登録し、作成した成果物をチーム間で共有するためのツールです。
図 1‑1 SDSI-Cubic向けデータベース連携プラグイン画面
DB連携プラグインの動作に必要な環境は以下のとおりです。
表 1 動作環境一覧
No. |
環境 |
備考 |
1 |
注意:Java1.5(5.0)では動作しません。 |
|
2 |
Eclipse本体 |
|
3 |
共通データベース |
ここではDB連携プラグインで使用するH2データベースのインストール方法および起動方法について説明します。
H2データベースのホームページ(http://www.h2database.com/html/main.html)より、インストーラーをダウンロードします。
図 2‑1 Windows版インストーラーのダウンロード
ダウンロードが完了したら、インストーラーを実行します。
図 2‑2 Windows版のインストール(その1)
図 2‑3 Windows版のインストール(その2)
以上でWindows版のインストールは完了です。
※H2データベースをWindowsサービスとして起動する場合、H2データベースをインストールしたフォルダ内に存在する\service\ 1_install_service.batを実行する必要があります。
※H2データベースは、インストール先のディレクトリに、ログファイルを出力します。このため、ファイル書き込み権限があるディレクトリにインストールを行ってください。
H2データベースをダウンロードし、インストーラーを起動しインストールします。
図 2‑4 Linux版のダウンロード
上記ファイルのダウンロードが完了したら、解凍先ディレクトリに移動し、/tmpディレクトリにあるzipファイルを解凍します。
$ cd {解凍先ディレクトリ}
$ unzip /tmp/h2*.zip
H2データベースのインストールを行ったらH2Consoleを起動します。
●Windows版
「スタート」メニューより、「H2」→「H2 Console」
●Linux版
$ cd {解凍先ディレクトリ}/h2/bin
$ java –cp h2*.jar org..h2.tools.Server
ブラウザで「http://localhost:8082/」にアクセスすると、図2-5の画面が表示されます。
図 2‑5 H2Consoleの表示
データベースを作成する場合、表示されたH2Consoleの画面において、以下の設定、操作を行います。
1. Generic H2(Server)を選択
2. 作成するH2DBのURLを入力
これらの設定を行った後、接続テストをクリックすることで、指定したURLにデータベースが作成されます。
※データベース名には「SDSIDB」を指定してください。
DBに他のコンピュータからの接続を許可する場合は、以下の設定を行います。
図 2‑6 ログイン画面(設定)
設定をクリックすると、以下の画面が表示されます。
図 2‑7設定画面
「他のコンピュータからの接続を許可」を選択し、保存をクリックします。
また、起動時のパラメータに”-tcpAllowOthers
–webAllowOthers”を追加することで、同様の設定が可能となっています。
(Windowsの場合)
・メニューから起動している場合は、
{H2DBをインストールしたフォルダ}\bin\h2w.batの中身を、以下のように修正します。赤字が追加する箇所になります。
@start javaw
-cp "h2{バージョン番号}.jar;%H2DRIVERS%;%CLASSPATH%"
org.h2.tools.Console -tcpAllowOthers -webAllowOthers
%*
・Windowsサービスとして起動している場合は、{H2DBをインストールしたフォルダ}\service\wrapper.confファイルの中身を、以下のように修正します。赤字が追加する箇所になります。
# Application parameters. Add parameters as needed starting from 1
wrapper.app.parameter.1=org.h2.tools.Server
wrapper.app.parameter.2=-tcp
wrapper.app.parameter.3=-web
wrapper.app.parameter.4=-tcpAllowOthers
wrapper.app.parameter.5=-webAllowOthers
(Ubuntuの場合)
・起動パラメータに”-tcpAllowOthers –webAllowOthers”を追加して起動します。
$ java –cp h2*.jar org..h2.tools.Server -tcpAllowOthers –webAllowOthers
データベースの作成後、ログイン画面からH2システムにログインし、使用するテーブルを作成します。
図 2‑8 ログイン画面
1. ユーザ名「sa」を入力
2. パスワードは無し
これらの設定を行った後に、「接続」をクリックするとログインし、以下の画面が表示されます。
図 2‑9 SQL画面
図 2‑9 SQL画面のSQLエリアに、create_table_SDSI.sqlの中身をコピーして貼り付けるか、以下の内容を入力して「実行」ボタンクリックをします。
-- モデル create table T_SDSI_CUBIC ( MODEL_ID IDENTITY NOT NULL, MODEL_NAME VARCHAR(100) NOT NULL, MODEL_FLAG BOOLEAN NOT NULL, MODEL_DATA BLOB, SDSI_FLAG BOOLEAN NOT NULL, SDSI_DATA
BLOB,
RTC_FLAG BOOLEAN NOT NULL,
RTC_SOUCE BLOB,
CREATION_DATE TIMESTAMP NOT NULL,
UPDATE_DATE TIMESTAMP NOT NULL,
CREATOR VARCHAR(100),
CONSTRAINT PK_T_MODEL_IMAGE PRIMARY KEY (
MODEL_ID ) ); -- モデルコメント create table T_COMMENT (
MODEL_ID BIGINT NOT NULL,
COMMENT_ID INT NOT NULL,
COMMENT VARCHAR(1000),
CONSTRAINT PK_T_COMMENT PRIMARY KEY (
MODEL_ID,
COMMENT_ID ),
CONSTRAINT FK_COMMENT_01 FOREIGN KEY (MODEL_ID)
REFERENCES T_SDSI_CUBIC
(MODEL_ID) );
この操作により、テーブルが作成され、一覧に追加されます。
図 2‑10 テーブル一覧
データベースを停止する場合には、【設定】画面で「シャットダウン」をクリックします。
図 2‑11設定画面
※H2システムをサービスとして起動している場合には、
{H2DBをインストールしたフォルダ}\service\ 4_stop_service.bat
を実行してもデータベースの停止が行えます。
H2システムにログイン後、SQLエリアに、create_user.sqlの中身を貼り付けるか、以下の内容を入力して「実行」ボタンクリックをします。
CREATE USER $username PASSWORD '$password ';
※$username、$passwordは任意のユーザ名、パスワードを設定することが可能です。
※DB連携プラグインのデフォルト設定は、ユーザ名:sdsi、パスワードsdsiとなっています。もしもこれ以外のユーザ名、パスワードを設定したい場合には、DB連携プラグインの設定値を変更してください。
ユーザの追加に成功すると一覧に追加されます。
図 2‑12 ユーザ一覧
※既存ユーザのパスワードを変更したい場合には、以下のSQLを実行してください。
alter user $username set password ‘$password’;
次に、追加したユーザに作成した表の加、更新、削除の権限を付与します。grant_user.sql内のusernameの部分を書き換えてSQLエリアに貼り付けるか、以下の内容を入力して「実行」ボタンをクリックします。
grant select,insert,update,delete
on T_SDSI_CUBIC to sdsi; grant select,insert,update,delete
on T_COMMENT to sdsi;
※作成した表を削除したい場合には、droptables.sql内のusernameの部分を書き換えてSQLエリアに貼り付けるか、以下の内容を入力して「実行」ボタンをクリックします。
drop table T_COMMENT; drop table T_SDSI_CUBIC;
※SQLをコマンドラインから実行する場合は、以下のコマンドを実行します。
$ java -cp h2*.jar org.h2.tools.RunScript -url "jdbc:h2:tcp://localhost/SDSIDB" -user sa
-script XXXXX.sql
上記コマンドを実行時に、H2データベースが作成されていない場合には、自動でデータベースの作成が行われます。
DB連携プラグインはEclipseプラグインの形式で実装されています。このため、Eclipse本体をまずインストールする必要があります。動作環境を参照の上、これらをダウンロードします。
Eclipseのインストールは解凍するだけです。また、Eclipseのプラグインは解凍後、Eclipseフォルダ内に上書きするだけです。
DB連携プラグインのインストールは以下のプラグインをeclipse/pluginsフォルダに配置するだけで完了です。
・DB連携プラグイン(jp.ac.osaka_u.casi.SDSI_Cubic.DB_X.X.X.jar)
DB連携プラグインを起動するためには、まずEclipseを起動します。
Eclipsが正常に起動した後、上部メニューの「ウィンドウ」から「パースペクティブのカスタマイズ」を選択します。
図 3‑1 パースペクティブのカスタマイズ
【パースペクティブのカスタマイズ】画面にて、「コマンド」タブを選択し、「使用可能なコマンド・グループ」中の「SDSI_Cubic DB Actions」をチェックします。
図 3‑2 DB連携アクションの有効化 図 3‑3 DB連携プラグイン起動ボタン
上記のアクションの設定を行うと、画面情報のツールバー上にDB連携プラグインを起動するためのボタンが追加されます。
上記の起動ボタンをクリックすると、以下のメイン画面が表示されます。
図 4‑1 DB連携プラグイン メイン画面
既存のSysMLモデル情報、SDSI-Cubic関連ファイル、RTC関連ファイルをデータベースに登録する場合には、メイン画面の「新規作成」ボタンをクリックし、【新規登録】画面を開きます。
図 4‑2 新規登録画面
新規登録画面にて、各種情報の設定を行います。
・名称:登録するモデルの名称です。省略不可です。
・対象モデル:登録対象のSysMLモデルファイルを指定してください。
・SDSIディレクトリ:登録対象のSDSI-Cubic関連ファイルが存在するディレクトリを指定してください。
・RTCディレクトリ:登録対象のRTC関連ファイルが存在するディレクトリを指定してください。
・作成者:新規登録を行うユーザの名前を入力してください。
※現状バージョンでは、SysMLモデルファイルはEnterpriseArchitectのみ対応しています。
※SDSIディレクトリおよびRTCディレクトリで指定された内容は、対象ディレクトリ内の要素を全て圧縮し、データベースに登録します。
※入力された内容は、「OK」ボタンをクリックしたタイミングでDBに登録されます。
登録済みのモデル情報の内容を変更する場合には、変更対象の要素を選択した状態で、「更新」ボタンをクリックし、【更新】画面を表示します。
図 4‑3 更新画面
【更新】画面にて、修正したい内容を再設定し、「OK」ボタンをクリックします。
※「対象モデル」「SDSIディレクトリ」「RTCディレクトリ」の入力エリアについては、選択したデータに、SysMLモデルファイル、SDSI関連ファイル、RTC関連ファイルがそれぞれ登録されている場合に、文字列が表示されます。上記エリアが空白で表示されている場合は、該当するデータが登録されていないことを表します。
※入力された内容は、「OK」ボタンをクリックしたタイミングでDBに登録されます。
登録済みのモデル情報を削除する場合には、削除対象の要素を一覧画面内で選択した状態で「削除」ボタンをクリックします。
図 4‑4 モデル情報の削除
登録したモデル情報には、コメントを登録することができます。登録されたコメントは、モデルデータの検索に使用することが可能です。
登録済みモデル情報にコメントを追加する場合には、追加対象の要素を一覧画面で選択した状態で、「コメント」ボタンをクリックし、【コメント】画面を表示します。
図 4‑5 コメントの登録
各データには、複数個のコメントを登録することが可能です。
※入力したコメントは【コメント】画面の「OK」ボタンをクリックしたタイミングで、データベースに登録されます。
データベースに登録さらたモデル情報の中から、条件に合致するモデルを検索する機能です。
メイン画面上部に検索条件を入力し、「検索」ボタンをクリックすると、入力された条件に合致するデータのみが表示されます。
図 4‑6 モデル情報の検索
※検索条件の「名称」「登録者」「コメント」については、前方一致(入力した内容で始まるデータ)で検索を行い、複数の検索条件が設定されている場合には、アンド検索(全ての条件を満たす)を実行します。
データベースに登録されているモデルを再利用する場合は、対象データを一覧画面で選択し、「エクスポート」ボタンをクリックし、【エクスポート画面】を表示します。
図 4‑7 エクスポート画面
【エクスポート画面】では、取得するモデルデータの内容(SysMLモデル、SDSI関連ファイル、RTC関連ファイル)を選択すると共に、出力先のディレクトリを指定します。そして、「OK」ボタンをクリックすると指定したデータを取得します。
※【エクスポート画面】の「出力対象」欄は、指定したモデルデータが含まれる情報部分のみが有効化されて表示されます。
※各データは以下の形式で出力先ディレクトリに出力されます。
SysMLモデル:<出力先ディレクトリ>\<モデル名>.eap
SDSI-Cubic:<出力先ディレクトリ>\SDSI\<モデル登録時のディレクトリ名>
RTC:<出力先ディレクトリ>\RTC\<モデル登録時のディレクトリ名>
設定画面では、接続先データベースに関連した情報を設定することが可能です。
上部メニュー中の「ウィンドウ」→「設定」→「SDSI-Cubic DB情報設定」を選択して表示します。
図 5-1 設定画面
各設定項目の内容は以下のとおりです。
項目 |
説明 |
Driver |
データベースに接続するために使用するドライバを指定します。デフォルト設定は「org.h2.Driver」です。 |
Host |
接続対象のデータベースが動作しているホストの情報を設定します。デフォルト設定は「localhost」です。データベースが他のマシン(サーバなど)上で動作している場合には、対象マシンの情報を設定してください。 |
DataBase |
接続対象のデータベースの名称を設定します。デフォルト設定は「SDSIDB」です。データベース作成時に別の名前を設定した場合には、設定名に合わせて修正してください。 |
Port |
接続対象のデータベースが動作しているホストのポート番号を設定します。デフォルト設定は「9092」です。 |
Login ID |
データベースに接続する際に使用するユーザ名を設定します。デフォルト設定は「sdsi」です。ユーザ作成時に別のユーザ名で作成した場合には、修正してください。 |
Login Password |
データベースに接続する際に使用するパスワードを設定します。デフォルト設定は「sdsi」です。別のパスワードを設定した場合には、修正してください。 |