(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023076222
(43)【公開日】2023-06-01
(54)【発明の名称】モデル変換装置、モデル等価性検証装置、モデル変換方法、およびモデル変換プログラム
(51)【国際特許分類】
G06F 8/76 20180101AFI20230525BHJP
【FI】
G06F8/76
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021189515
(22)【出願日】2021-11-22
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】塩崎 祐輔
(72)【発明者】
【氏名】西川 嘉一
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376BB03
5B376BC07
5B376BC25
(57)【要約】
【課題】コンピュータモデリング環境の異なるモデルへの高精度な自動変換を可能とする。
【解決手段】モデル変換装置10は、導出部30Aと、生成部30Bと、を備える。導出部30Aは、モデルベースシステムズエンジニアリングの第1コンピュータモデリング環境で生成されシステムの機能を複数の要素Bの組み合わせによって表したSysMLモデル50(第1モデル)に基づいて、SysMLモデル50に規定された要素Bと、機能に対応する要求仕様である仕様要素SBと、を対応付けた機能仕様接続情報52を導出する。生成部30Bは、第2コンピュータモデリング環境のSimulinkモデル56(第2モデル)を生成する自動変換ツール32に入力されるモデル生成仕様書情報54を、機能仕様接続情報52に基づいて生成する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
モデルベースシステムズエンジニアリングの第1コンピュータモデリング環境で生成されシステムの機能を複数の要素の組み合わせによって表した第1モデルに基づいて、前記第1モデルに規定された前記要素と、前記機能に対応する要求仕様と、を対応付けた機能仕様接続情報を導出する導出部と、
第2コンピュータモデリング環境の第2モデルを生成する自動変換ツールに入力されるモデル生成仕様書情報を、前記機能仕様接続情報に基づいて生成する生成部と、
を備えるモデル変換装置。
【請求項2】
前記第1モデルは、
前記機能を示す前記要素である機能ブロックおよび前記機能に対応する要求を表す前記要素である要求仕様要素を含み、前記第1コンピュータモデリング環境で生成されたシステムの機能によって表されるシステムの階層構造を記述したダイアグラムであるブロック定義図と、
前記機能を表す前記要素であるパートプロパティ間の接続関係を記述したダイアグラムである内部ブロック図と、
を含み、
前記導出部は、
前記内部ブロック図に含まれる前記パートプロパティに対応する、前記ブロック定義図に含まれる前記機能ブロックと接続関係を有する前記要求仕様要素を探索する要求仕様要素探索部と、
前記要求仕様要素によって表される要求に対応する、前記機能ごとの前記要求仕様の詳細を表す仕様要素を、予め定められた要求仕様記述手法に沿って記述されたシステム仕様ダイアグラムから探索し、前記パートプロパティと探索した前記仕様要素とを対応付けた前記機能仕様接続情報を導出する仕様探索部と、
を含む、請求項1に記載のモデル変換装置。
【請求項3】
前記生成部は、
前記機能仕様接続情報に含まれる前記要素と前記要求仕様との対応によって表される情報を規定した前記モデル生成仕様書情報を生成する、
請求項1または請求項2に記載のモデル変換装置。
【請求項4】
生成されたモデル生成仕様書情報を入力された自動変換ツールから出力された第2モデルを、検証対象モデルとして取得する検証対象モデル取得部と、
第1モデルに基づいて生成され、統一モデリング言語で記述され、前記第1モデルによって実現されるシステムの状態遷移を表すタイミング図に基づいて、前記第2モデルで用いられる入力信号および前記入力信号の波形を規定するための入力信号ブロックを生成する入力信号ブロック生成部と、
前記入力信号ブロックと前記検証対象モデルとの結合モデルを、シミュレーション環境である第2コンピュータモデリング環境でシミュレーションした実行結果と、前記タイミング図から得られる前記第1モデルの出力期待値と、の等価性を検証する等価性検証部と、
を備える、モデル等価性検証装置。
【請求項5】
請求項4に記載のモデル等価性検証装置を備えた、請求項1~請求項3の何れか1項に記載のモデル変換装置。
【請求項6】
前記第1モデルは、SysML(登録商標)モデルであり、
前記第2モデルは、Simulink(登録商標)モデルである、
請求項1~請求項3の何れか1項に記載のモデル変換装置。
【請求項7】
モデルベース開発の第1コンピュータモデリング環境で生成されプログラムの機能を複数の要素の組み合わせによって表した第1モデルに基づいて、前記第1モデルに規定された前記要素と、前記機能に対応する要求仕様と、を対応付けた機能仕様接続情報を導出するステップと、
第2コンピュータモデリング環境の第2モデルを生成する自動変換ツールに入力されるモデル生成仕様書情報を、前記機能仕様接続情報に基づいて生成するステップと、
を含むモデル変換方法。
【請求項8】
モデル変換装置で実行されるモデル変換プログラムであって、
モデルベース開発の第1コンピュータモデリング環境で生成されプログラムの機能を複数の要素の組み合わせによって表した第1モデルに基づいて、前記第1モデルに規定された前記要素と、前記機能に対応する要求仕様と、を対応付けた機能仕様接続情報を導出するステップと、
第2コンピュータモデリング環境の第2モデルを生成する自動変換ツールに入力されるモデル生成仕様書情報を、前記機能仕様接続情報に基づいて生成するステップと、
を含むモデル変換プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モデル変換装置、モデル等価性検証装置、モデル変換方法、およびモデル変換プログラムに関する。
【背景技術】
【0002】
コンピュータモデリング環境で生成されたモデルを、異なるコンピュータモデリング環境のモデルに変換することが行われている。例えば、Simulinkモデルへ自動変換する機能を有するEA(Enterprise Architect)等のモデリングツールが知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4988811号公報
【特許文献2】特許第5147952号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来技術では、モデル変換のための数式定義や仕様定義等をユーザが入力するため、誤解釈または誤入力等による誤変換が生じる可能性があった。
【0005】
本開示の一態様は、コンピュータモデリング環境の異なるモデルへの高精度な自動変換を可能とすることができる、モデル変換装置、モデル等価性検証装置、モデル変換方法、およびモデル変換プログラムの提供に資する。
【課題を解決するための手段】
【0006】
本開示にかかるモデル変換装置は、導出部と、生成部と、を備える。導出部は、モデルベースシステムズエンジニアリング(以下モデルベース開発と称する)の第1コンピュータモデリング環境で生成されシステムの機能を複数の要素の組み合わせによって表した第1モデルに基づいて、前記第1モデルに規定された前記要素と、前記機能に対応する要求仕様と、を対応付けた機能仕様接続情報を導出する。生成部は、第2コンピュータモデリング環境の第2モデルを生成する自動変換ツールに入力されるモデル生成仕様書情報を、前記機能仕様接続情報に基づいて生成する。
【発明の効果】
【0007】
本開示にかかるモデル変換装置、モデル等価性検証装置、モデル変換方法、およびモデル変換プログラムによれば、コンピュータモデリング環境の異なるモデルへの高精度な自動変換を可能とすることができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、モデル変換装置の一例の構成図である。
【
図2】
図2は、モデル変換装置の一例のハードウェア構成図である。
【
図3】
図3は、モデル自動生成部の一例の詳細構成図である。
【
図4】
図4は、SysMLモデルおよびシステム仕様ダイアグラムの一例を表す模式図である。
【
図6】
図6は、モデル自動生成処理の流れの一例のフローチャートである。
【
図7】
図7は、検証処理の流れの一例のフローチャートである。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、本開示に係るモデル変換装置、モデル等価性検証装置、モデル変換方法、およびモデル変換プログラムの実施形態について説明する。
【0010】
図1は、本実施形態のモデル変換装置10の一例の構成図である。
【0011】
モデル変換装置10は、第1モデルを第2モデルに自動変換する情報処理装置である。
【0012】
第1モデルとは、モデルベース開発の第1コンピュータモデリング環境により生成され、システムの機能を複数の要素の組み合わせによって表したモデルである。モデルベース開発とは、システムズエンジニアリング開発において、モデルを活用することによってシステム機能の視認性の良くした開発手法である。
【0013】
第2モデルとは、第1コンピュータモデリング環境とは異なる第2コンピュータモデリング環境により生成されるモデルである。
【0014】
本実施形態では、第1コンピュータモデリング環境が、OMG(Object Management Group)により策定されたSysML(Systems Modeling Language)(登録商標)環境であり、第1モデルがSysMLモデルである形態を一例として説明する。また、本実施形態では、第2コンピュータモデリング環境がMATLAB(登録商標)Simulink(登録商標)環境であり、第2モデルがSimulinkモデルである形態を一例として説明する。
【0015】
なお、第1コンピュータモデリング環境および第2コンピュータモデリング環境は、互いに異なるコンピュータモデリング環境であればよく、SysML環境およびSimulink環境に限定されない、また、第1モデルおよび第2モデルは、互いに異なるコンピュータモデリング環境で生成されるモデルであればよく、SysMLモデルおよびSimulinkモデルに限定されない。
【0016】
図2は、モデル変換装置10の一例のハードウェア構成図である。
【0017】
モデル変換装置10は、CPU(Central Processing Unit)11A、ROM(Read Only Memory)11B、RAM(Random Access Memory)11C、およびI/F11D等がバス11Eにより相互に接続されており、コンピュータを利用したハードウェア構成となっている。
【0018】
CPU11Aは、本実施形態のモデル変換装置10を制御する演算装置である。ROM11Bは、CPU11Aによる各種の処理を実現するプログラム等を記憶する。RAM11Cは、CPU11Aによる各種の処理に用いるデータを記憶する。I/F11Dは、データを送受信するためのインターフェースである。
【0019】
本実施形態のモデル変換装置10で実行される情報処理を実行するためのプログラムは、ROM11B等に予め組み込んで提供される。なお、本実施形態のモデル変換装置10で実行されるプログラムは、モデル変換装置10にインストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供するように構成してもよい。
【0020】
図1に戻り説明を続ける。モデル変換装置10は、記憶部12と、UI(ユーザ・インターフェース)部14と、通信部16と、制御部20と、を備える。記憶部12、UI部14、通信部16、および制御部20は、バス18などを介して通信可能に接続されている。
【0021】
記憶部12は、各種のデータを記憶する。記憶部34は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。
【0022】
UI部14は、ユーザによる入力を受付ける入力機能、および、各種の情報を表示する表示機能を有する。入力機能は、例えば、マウスなどのポインティングデバイス、キーボード等によって実現される。表示機能は、例えば、ディスプレイ、投影装置、等によって実現される。通信部16は、ネットワーク等を介して無線または有線による通信により外部の情報処理装置と通信する。
【0023】
制御部20は、各種の情報処理を実行する。例えば、CPU11Aが、ROM11BからプログラムをRAM11C上に読み出して実行することにより、制御部20の後述する各処理部がコンピュータ上で実現される。
【0024】
制御部20は、モデル自動生成部30と、検証部40と、を備える。モデル自動生成部30および検証部40の一部または全ては、例えば、CPU11Aなどの処理装置にプログラムを実行させてもよいし、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。また、モデル自動生成部30および検証部40の少なくとも一方を、ネットワークなどを介してモデル変換装置10と通信可能に接続された外部の情報処理装置に搭載した構成としてもよい。
【0025】
モデル自動生成部30は、第1モデルであるSysMLモデルから第2モデルであるSimulinkモデルを自動生成する。
【0026】
図3は、モデル自動生成部30の一例の詳細構成図である。
【0027】
モデル自動生成部30は、導出部30Aと、生成部30Bと、を有する。
【0028】
導出部30Aは、SysMLモデル50に基づいて、SysMLモデル50に規定された要素と、要素によって表される機能に対応する要求仕様と、を対応付けた機能仕様接続情報52を導出する。詳細には、導出部30Aは、SysMLモデル50およびシステム仕様ダイアグラム50Cに基づいて、機能仕様接続情報52を導出する。SysMLモデル50およびシステム仕様ダイアグラム50Cは、SysMLモデリングツール28によって生成される。SysMLモデリングツール28は、SysML環境のモデリングツールである。本実施形態では、モデル変換装置10には、SysMLモデリングツール28が予めインストールされている形態を一例として説明する、また、本実施形態では、SysMLモデリングツール28が、EnterPrise Architect(Sparks Systems社)の限定アドインとして実装されたモデリングツールである形態を一例として説明する。なお、SysMLモデリングツール28は、モデル変換装置10の外部の情報処理装置に搭載された構成であってよい。
【0029】
図4は、SysMLモデル50およびシステム仕様ダイアグラム50Cの一例を表す模式図である。
【0030】
SysMLモデル50は、SysMLモデリングツール28によって生成され、目的仕様に応じたシステムの機能を複数の要素Bの組み合わせによって表したモデルである。目的仕様に応じたシステムの機能を、以下では、システム仕様モデルと称して説明する場合がある。
【0031】
SysMLモデル50には、複数のダイアグラムが含まれる。
図4には、一例として、ブロック定義
図50Aおよび内部ブロック
図50Bを示す。ブロック定義
図50Aおよび内部ブロック
図50Bは、SysMLモデル50に含まれるダイアグラムの一例である。
【0032】
ブロック定義
図50Aは、システム仕様モデルによって表されるシステムの階層構造を記述したダイアグラムである。ブロック定義
図50Aは、複数の要素Bとして、機能ブロックFB、アクティビティAC、機能要件FD、要求仕様要素RB、などを含む。機能ブロックFBは、機能を表す要素Bである。アクティビティACは、接続された機能ブロックFBで実現するアクティビティを表す要素Bである。機能要件FDは、機能に要求される要件を表す要素Bである。要求仕様要素RBは、機能に対応する要求を満たす具体的な仕様を表す要素Bである。要求仕様要素RBは、自然言語で記述してもよいが、要求と仕様の記載方法を定義した要求仕様記述手法(USDM:Universal Specification Describing Manner)に沿って記述してもよい。
【0033】
内部ブロック
図50Bは、機能を表す要素BであるパートプロパティPP間の接続関係を記述したダイアグラムである。
【0034】
システム仕様ダイアグラム50Cは、SysMLモデリングツール28によってSysMLモデル50から生成されたダイアグラムである。システム仕様ダイアグラム50Cは、機能ごとの要求仕様要素RBの詳細を要求仕様記述手法(USDM)に沿って記述したダイアグラムである。システム仕様ダイアグラム50Cは、USDM図、またはUSDMと称される場合がある。システム仕様ダイアグラム50Cは、複数の仕様要素SBを含む。仕様要素SBは、要求仕様要素RBによって表される要求に対応する、機能ごとの要求仕様の詳細を表す要素Bである。
【0035】
図3に戻り説明を続ける。導出部30Aは、ブロック定義
図50A中の機能ブロックFBと要求仕様要素RBとの接続から、内部ブロック
図50B中のパートプロパティPPとその処理に対応する仕様要素SBを探索することで、機能仕様接続情報52を導出する。
【0036】
本実施形態では、導出部30Aは、BDD(Block Definition Diagram)探索部30Cと、要求仕様要素探索部30Dと、仕様探索部30Eと、を含む。
【0037】
図4を用いて、BDD探索部30C、要求仕様要素探索部30D、および仕様探索部30Eによる処理を詳細に説明する。
【0038】
例えば、制御部20は、Simulinkモデル56の生成対象の内部ブロック
図50Bの選択を受付ける。ユーザは、UI部14を操作することで、Simulinkモデル56の生成対象の内部ブロック
図50Bを選択する。制御部20は、ユーザによる内部ブロック
図50Bの選択を受付けると、モデル自動生成部30のプログラムを起動する。モデル自動生成部30のBDD探索部30Cは、SysMLモデル50に含まれる、選択を受付けた内部ブロック
図50Bと同じパッケージ内にあるブロック定義
図50Aを探索する。
【0039】
例えば、BDD探索部30Cは、選択を受付けた内部ブロック
図50Bに含まれるパートプロパティPPから、「Type」の情報を読出す。例えば、BDD探索部30Cは、ファイルの内容を読出すコマンドであるTypeコマンドを用いて、パートプロパティPPに規定されている情報を「Type」の情報として読出す。そして、BDD探索部30Cは、読出した「Type」の情報を用いて、選択を受付けた内部ブロック
図50Bと同じパッケージ内にあるブロック定義
図50Aを探索する。
【0040】
要求仕様要素探索部30Dは、内部ブロック
図50Bに含まれるパートプロパティPPに対応する、BDD探索部30Cで探索されたブロック定義
図50Aに含まれる機能ブロックFBと接続関係を有する要求仕様要素RBを探索する。
【0041】
詳細には、要求仕様要素探索部30Dは、ブロック定義
図50Aに含まれる要素Bの内、BDD探索部30CがパートプロパティPPから読出した「Type」の情報および要素Bの要素名と一致する、機能ブロックFBおよびアクティビティACを検索する。そして、要求仕様要素探索部30Dは、内部ブロック
図50Bに含まれる要素Bの内、検索した機能ブロックFBおよびアクティビティACの各々に接続されている要素Bを検索する。更に、要求仕様要素探索部30Dは、検索した該要素Bの内、要求仕様要素RBである要素Bを特定する。
【0042】
これらの処理によって、要求仕様要素探索部30Dは、内部ブロック
図50Bに含まれるパートプロパティPPに対応する、ブロック定義
図50Aに含まれる機能ブロックFBと接続関係を有する要求仕様要素RBを探索する。
【0043】
仕様探索部30Eは、要求仕様要素探索部30Dによって探索された要求仕様要素RBによって表される要求に対応する仕様要素SBを、システム仕様ダイアグラム50Cから探索する。そして、仕様探索部30Eは、パートプロパティPPと、探索した仕様要素SBと、を対応付けた機能仕様接続情報52を導出する。
【0044】
図3に戻り説明を続ける。生成部30Bは、導出部30Aで生成された機能仕様接続情報52に基づいてモデル生成仕様書情報54を生成し、自動変換ツール32へ出力する。
【0045】
自動変換ツール32は、モデル生成仕様書情報54からSimulinkモデル56を生成する自動変換ツールである。例えば、自動変換ツール32は、モデル生成仕様書情報54を入力とし、Simulinkモデル56を出力とするツールである。
【0046】
生成部30Bは、機能仕様接続情報52に含まれる要素BであるパートプロパティPPと、要求仕様の仕様要素SBと、の対応によって表される情報を規定した、モデル生成仕様書情報54を生成する。モデル生成仕様書情報54は、自動変換ツール32に応じた仕様書情報であればよい。自動変換ツール32は、例えば、AZAPA株式会社の「AI-Modeling」等であるが、このツールに限定されない。自動変換ツール32が「AI-Modeling」である場合、生成部30Bは、Simulinkモデル56の自動生成のために「AI-Modeling」で用いられる1または複数の仕様書情報を、モデル生成仕様書情報54として生成する。
【0047】
生成部30Bからモデル生成仕様書情報54を入力された自動変換ツール32は、該モデル生成仕様書情報54をSimulinkモデル56に自動変換し、Simulinkモデル56を出力する。本実施形態では、自動変換ツール32は、予めモデル変換装置10にインストールされている形態を一例として説明する。なお、自動変換ツール32は、モデル変換装置10の外部の情報処理装置に搭載された構成であってよい。
【0048】
図1に戻り説明を続ける。検証部40は、モデル自動生成部30で生成されたモデル生成仕様書情報54を入力することで自動変換ツール32から出力された、Simulinkモデル56を検証する。検証部40は、本実施形態のモデル等価性検証装置に相当する。
【0049】
【0050】
検証部40は、タイミング図取得部40Aと、検証対象モデル取得部40Bと、入力信号ブロック生成部40Cと、結合部40Dと、実行指示部40Eと、等価性検証部40Fと、を有する。
【0051】
例えば、制御部20は、ユーザによるUI部14の操作指示などによって、SysMLモデリングツール28上でタイミング
図50Dが選択された状態で等価性検証プログラムが選択されると、等価性検証プログラムを起動する。等価性検証プログラムの起動によって、検証部40が起動される。検証部40のタイミング図取得部40Aは、選択されたタイミング
図50Dを受付ける。また、タイミング図取得部40Aは、選択されたタイミング
図50Dから、入力信号名、波形情報、および出力期待値を取得する。
【0052】
タイミング
図50Dは、SysMLモデル50に基づいてSysMLモデリングツール28で生成されたダイアグラムである。また、タイミング
図50Dは、例えば統一モデリング言語(UML:Unified Modeling Language)で記述された、SysMLモデル50によって実現されるシステムの状態遷移を表すタイミング図である。
【0053】
検証対象モデル取得部40Bは、検証対象のSimulinkモデル56を取得する。詳細には、検証対象モデル取得部40Bは、モデル自動生成部30で生成されたモデル生成仕様書情報54を入力された自動変換ツール32から出力されたSimulinkモデル56を、検証対象モデルとして取得する。なお、検証対象モデル取得部40Bは、モデル自動生成部30で生成されたモデル生成仕様書情報54を用いて自動変換ツール32により生成された複数のSimulinkモデル56の内、ユーザによるUI部14の操作指示によって選択されたSimulinkモデル56を、検証対象モデルとして取得してもよい。
【0054】
入力信号ブロック生成部40Cは、タイミング
図50Dに基づいて、Simulinkモデル56で用いられる入力信号および入力信号の波形を規定するための入力信号ブロックを生成する。入力信号ブロックとしては、例えば、Signalbuilderブロックが用いられる。以下では、入力信号ブロックを、SignalBuilderブロックと称して説明する場合がある。
【0055】
入力信号ブロック生成部40Cは、タイミング
図50Dに含まれるライフラインの名称である入力信号名と波形情報を読取ることで、Simulinkモデル56のSignalBuilderブロックを生成する。
【0056】
結合部40Dは、SignalBuilderブロックと、検証対象モデル取得部40Bで取得した検証対象のSimulinkモデル56と、を結合および結線した結合モデル58を生成する。結合部40Dは、SignalBuilderブロックとSimulinkモデル56を、含まれる信号名とポート名から自動結線することで、結合モデル58を生成する。
【0057】
実行指示部40Eは、結合部40Dで生成された結合モデル58のシミュレーション実行指示をSimulink42へ出力する。Simulink42は、シミュレーション環境であるSimulink環境のシミュレーションプログラムである。
【0058】
Simulink42は、シミュレーション実行指示を受付けると、結合モデル58のシミュレーションを実行し、シミュレーションの実行結果を等価性検証部40Fへ出力する。
【0059】
等価性検証部40Fは、結合モデル58のシミュレーションの実行結果と、タイミング
図50Dから得られるSysMLモデル50の出力期待値と、の等価性を検証する。
【0060】
等価性検証部40Fは、等価性の検証結果を出力する。詳細には、等価性検証部40Fは、等価性の検証結果を記憶部12へ記憶する。なお、等価性検証部40Fは、等価性の検証結果をエクセルファイル等に出力して記憶してもよい。また、等価性検証部40Fは、等価性の検証結果を、UI部14へ表示する。例えば、等価性検証部40Fは、タイミング
図50Dとシミュレーションの実行結果とを同一グラフ上に重畳表示する。等価性検証部40Fが検証結果を出力することで、ユーザに対して検証結果を容易に提供することができる。
【0061】
次に、本実施形態のモデル変換装置10で実行される情報処理の流れの一例を説明する。まず、モデル変換装置10で実行されるモデル自動生成処理の流れの一例を説明する。
【0062】
図6は、モデル変換装置10で実行されるモデル自動生成処理の流れの一例のフローチャートである。
【0063】
モデル変換装置10の制御部20は、Simulinkモデル56の生成対象の内部ブロック
図50Bの選択を受付ける(ステップS100)。次に、制御部20は、モデル自動生成部30のプログラムを起動する(ステップS102)。ステップS102の処理によって、モデル自動生成部30が起動される。
【0064】
次に、モデル自動生成部30のBDD探索部30Cは、ステップS100で選択を受付けた内部ブロック
図50Bに含まれるパートプロパティPPから、「Type」の情報を読出す(ステップS104)。そして、BDD探索部30Cは、ステップS104で読出した「Type」の情報を用いて、ステップS100で選択を受付けた内部ブロック
図50Bと同じパッケージ内にあるブロック定義
図50Aを探索する(ステップS106)。
【0065】
次に、要求仕様要素探索部30Dは、内部ブロック
図50Bに含まれる要素Bの内、ステップS104で読出した「Type」の情報および要素Bの要素名と一致する、機能ブロックFBおよびアクティビティACを検索する(ステップS108)。そして、要求仕様要素探索部30Dは、内部ブロック
図50Bに含まれる要素Bの内、ステップS108で検索した機能ブロックFBおよびアクティビティACの各々に接続されている要素Bを検索する(ステップS110)。次に、要求仕様要素探索部30Dは、ステップS110で検索した該要素Bの内、要求仕様要素RBである要素Bを特定する(ステップS112)。
【0066】
ステップS108~ステップS112の処理によって、要求仕様要素探索部30Dは、内部ブロック
図50Bに含まれるパートプロパティPPに対応する、ブロック定義
図50Aに含まれる機能ブロックFBと接続関係を有する要求仕様要素RBを探索する。
【0067】
次に、仕様探索部30Eは、ステップS108~ステップS112の処理によって探索された要求仕様要素RBによって表される要求に対応する仕様要素SBを、システム仕様ダイアグラム50Cから探索する(ステップS114)。そして、仕様探索部30Eは、パートプロパティPPと、ステップS114で探索した仕様要素SBと、を対応付けた機能仕様接続情報52を導出する(ステップS116)。
【0068】
生成部30Bは、ステップS116で導出された機能仕様接続情報52に基づいてモデル生成仕様書情報54を生成する(ステップS118)。自動変換ツール32は、ステップPS118で生成されたモデル生成仕様書情報54から、Simulinkモデル56を生成する(ステップS120)。そして、本ルーチンを終了する。
【0069】
次に、モデル変換装置10で実行される検証処理の流れの一例を説明する。
【0070】
図7は、モデル変換装置10で実行される検証処理の流れの一例のフローチャートである。
【0071】
制御部20は、ユーザによるUI部14の操作指示などによって、SysMLモデリングツール28上でタイミング
図50Dが選択された状態で等価性検証プログラムが選択されると(ステップS200)、等価性検証プログラムを起動する(ステップS202)。等価性検証プログラムの起動によって、検証部40が起動され、検証部40のタイミング図取得部40Aは、選択されたタイミング
図50Dを受付ける。
【0072】
検証対象モデル取得部40Bは、検証対象のSimulinkモデル56を取得する(ステップS204)。
【0073】
入力信号ブロック生成部40Cは、ステップS200で選択を受付けたタイミング
図50Dに基づいて、Simulinkモデル56のSignalBuilderブロックを生成する(ステップS206)。
【0074】
結合部40Dは、ステップS206で生成されたSignalBuilderブロックと、ステップS204で取得したSimulinkモデル56と、を結合した結合モデル58を生成する(ステップS208)。
【0075】
実行指示部40Eは、ステップS208で生成された結合モデル58のシミュレーション実行指示をSimulink42へ出力する(ステップS210)。ステップS210の処理によって、Simulink42は、ステップS208で生成された結合モデル58のシミュレーションを実行し、シミュレーションの実行結果を等価性検証部40Fへ出力する。
【0076】
等価性検証部40Fは、結合モデル58のシミュレーションの実行結果と、ステップS200で受付けたタイミング
図50Dから得られるSysMLモデル50の出力期待値と、の等価性を検証する(ステップS212)。
【0077】
そして、等価性検証部40Fは、ステップS212の等価性の検証結果を出力する(ステップS214)。そして、本ルーチンを終了する。
【0078】
以上説明したように、本実施形態のモデル変換装置10は、導出部30Aと、生成部30Bと、を備える。導出部30Aは、モデルベース開発の第1コンピュータモデリング環境で生成されプログラムの機能を複数の要素Bの組み合わせによって表したSysMLモデル50(第1モデル)に基づいて、SysMLモデル50に規定された要素Bと、機能に対応する要求仕様である仕様要素SBと、を対応付けた機能仕様接続情報52を導出する。生成部30Bは、第2コンピュータモデリング環境のSimulinkモデル56(第2モデル)を生成する自動変換ツール32に入力されるモデル生成仕様書情報54を、機能仕様接続情報52に基づいて生成する。
【0079】
ここで、SysMLモデル50からSimulinkモデル56などの異なるモデルへの変換には、モデル変換のための数式定義や仕様定義等をユーザが入力することがあり、誤解釈または誤入力等による誤変換が生じる可能性があった。
【0080】
詳細には、例えば、モデル自動変換機能を有するEA等のモデリングツールが知られている。しかし、このような公知のモデリングツールを用いて、例えばSysMLモデル50をSimulinkモデル56に変換する場合、Simulinkモデル56の生成と同等の作業負荷とスキルの保有するユーザが変換作業を行っていた。また、システム仕様からSimulinkモデル56を生成するAI-Modeling(AZAPA社製)などの自動変換ツールを用いる場合も、自動変換ツールに入力するための変換仕様書をユーザが作成していた。例えば、従来技術では、ユーザが手作業により仕様書、数式、仕様書などを入力していた。
【0081】
このように、従来技術では、SysMLモデル50からSimulinkモデル56などへの異なるモデルへの変換には、モデル変換のための数式定義や仕様定義等のユーザによる作業入力が行われるため、誤解釈または誤入力等による精度低下や作業負荷が生じる可能性があった。また、従来技術では、ユーザによる誤解釈または誤入力等により、変換後のモデルの等価性が保証されない場合があった。
【0082】
また、従来技術では、SysMLモデル50に含まれる内部ブロック
図50B中のパートプロパティPPに紐づく仕様が何れの仕様であるか探索することが困難であり、Simulinkモデル56の生成に用いる情報をSysMLモデル50から抽出することは困難であった。
【0083】
一方、本実施形態のモデル変換装置10では、導出部30AがSysMLモデル50から機能仕様接続情報52を導出し、生成部30Bが機能仕様接続情報52からモデル生成仕様書情報54を生成する。このため、生成部30Bで生成された自動変換ツール32を自動変換ツール32へ入力することで、SysMLモデル50から容易にSimulinkモデル56を自動生成することができる。
【0084】
例えば、本実施形態のモデル変換装置10では、ユーザによる数式定義や仕様定義等の入力を省略して、SysMLモデル50などの第1モデルからSimulinkモデル56などの第2モデルを自動生成することができる。
【0085】
従って、本実施形態のモデル変換装置10は、コンピュータモデリング環境の異なるモデルへの等価な自動変換を可能とすることができる。
【0086】
また、本実施形態のモデル変換装置10は、Simulinkモデル56などの第2モデル生成のための追加工程を用意することなく、変換前のSysMLモデル50などの第1モデルを適用したシステム開発プロセスに容易に組み込むことができる。
【0087】
また、本実施形態のモデル変換装置10は、検証部40を備える。検証部40の等価性検証部40Fは、モデル自動生成部30で生成されたモデル生成仕様書情報54を入力された自動変換ツール32から出力されたSimulinkモデル56とSignalbuilderブロックとの結合モデル58と、タイミング
図50Dから得られるSysMLモデル50の出力期待値と、の等価性を検証する。
【0088】
ここで、自動変換ツール32によって生成されたSimulinkモデル56と、元の仕様と、の等価性検証は異なるアルゴリズムで実施することが望ましいが、従来ではそのような検証技術は存在しなかった。また、例えば、AI-Modelingなどの公知の自動変換ツールを用いて正常なモデル生成処理が行われた場合であっても、ツール不具合等により生成されたモデルの等価性が保証されない場合があった。また、例えば、半導体設計における論理合成による回路変換では、論理合成ツールと、異なるアルゴリズムを用いた等価検証ツールと、を併用して等価性を保証することが知られている。しかしながら、モデルの自動変換ツールには、半導体設計に用いられる等価性検証ツールは提供されていなかった。
【0089】
一方、本実施形態では、検証部40が上記処理によって結合モデル58と出力期待値との等価性を検証する。
【0090】
このため、本実施形態のモデル変換装置10は、上記効果に加えて、変換前後のモデルの等価性を容易に検証することができる。
【0091】
なお、上記には、実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施形態は、発明の範囲または要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0092】
10 モデル変換装置
30 モデル自動生成部
30A 導出部
30B 生成部
30C BDD探索部
30D 要求仕様要素探索部
30E 仕様探索部
40 検証部
40A タイミング図取得部
40B 検証対象モデル取得部
40C 入力信号ブロック生成部
40D 結合部
40E 実行指示部
40F 等価性検証部