(57)【要約】      （修正有）【課題】設計ルールに基づきソフトウェアモデルを検査するための判定プログラムの修正を容易にすることができるモデル検査装置及び設計ルール改変支援方法を提供する。【解決手段】モデル検査装置は、設計ルールに定められたパラメータ項目およびそこに設定された基準パラメータ内容に基づき、検査対象ソフトウェアモデルを検査するモデル検査部２０と、モデル検査部によるソフトウェアモデルの検査においてパラメータ項目に設定されたパラメータ内容が基準パラメータ内容と不適合と判定された結果を含む不適合結果を記憶する不適合結果記憶部３４と、不適合結果の傾向に基づいて、不適合結果の判定に用いられた設計ルールにおけるパラメータ項目の基準パラメータ内容を改変すべきか否か判定し、改変が要となった場合に、不適合結果の傾向に基づいてパラメータ項目の基準パラメータ内容の変更案を作成するテーラリング部４５と、を有する。【選択図】図２
2020013239.tif 000002
【特許請求の範囲】
【請求項１】
改変対象となる対象設計ルールに定められたパラメータ項目およびそこに設定された基準パラメータ内容に基づき、前記対象設計ルールによる検査対象となる対象ソフトウェアモデルを前記対象設計ルールで検査するモデル検査部と、
設計ルールに定められたパラメータ項目およびそこに設定された基準パラメータ内容に基づき、ソフトウェアモデルに記述されたパラメータ項目に設定されたパラメータ内容を検査するソフトウェアモデル検査において不適合があったときの、前記設計ルールを示す設計ルール識別情報と、前記不適合となったパラメータ項目およびパラメータ内容と、を含む履歴情報を記憶する記憶部と、
前記モデル検査部による検査で不適合が生じた場合に、前記履歴情報の傾向に基づいて、前記対象設計ルールによる検査で不適合となったパラメータ項目の基準パラメータ内容を改変すべきか否か判定し、改変が要となった場合に、前記履歴情報の傾向に基づいて当該パラメータ項目の当該基準パラメータ内容の変更案を作成するテーラリング部と、
を有するモデル検査装置。
【請求項２】
前記履歴情報は、前記ソフトウェアモデル検査において不適合があったときの、前記ソフトウェアモデルの開発を担当したプロジェクトのメンバを示すプロジェクトメンバ識別情報を更に含み、
前記テーラリング部は、前記対象ソフトウェアモデルの開発を担当するプロジェクトのメンバの少なくとも一部を少なくとも一部として含むメンバの履歴情報を前記プロジェクトメンバ識別情報に基づいて抽出し、前記抽出した履歴情報に基づいて、前記基準パラメータ内容の改変の要否判定と前記基準パラメータ内容の変更案の作成との少なくとも一方を行う、
請求項１に記載のモデル検査装置。
【請求項３】
前記テーラリング部は、作成した前記変更案をユーザに提示して適用可否の判断を促し、前記ユーザが適用可と判断したら前記変更案を前記対象設計ルールに適用する、
請求項１に記載のモデル検査装置。
【請求項４】
前記テーラリング部は、前記履歴情報を多変量解析で分析することにより前記履歴情報の傾向を取得する、
請求項１に記載のモデル検査装置。
【請求項５】
前記モデル検査部は、前記対象設計ルールに基づく前記対象ソフトウェアモデルの検査が不適合となったとき、前記対象設計ルールを示す設計ルール識別情報と、不適合となったパラメータ項目およびパラメータ内容と、を含む検査結果を前記記憶部に記録する、
請求項１に記載のモデル検査装置。
【請求項６】
複数の前記モデル検査装置が通信可能に相互に接続し、前記複数のモデル検査装置が、それぞれの前記モデル検査部による検査結果を相互に共有し、前記テーラリング部にて、前記複数のモデル検査装置による検査結果を前記履歴情報として利用する、
請求項５に記載のモデル検査装置。
【請求項７】
前記モデル検査部は、前記対象設計ルールに定められたパラメータ項目およびそこに設定された基準パラメータ内容に基づく判定プログラムを実行することにより、前記対象ソフトウェアモデルを前記対象設計ルールで検査し、
前記テーラリング部は、前記変更案を前記対象設計ルールに適用するとともに前記変更案を前記判定プログラムにも適用する、
請求項１に記載のモデル検査装置。
【請求項８】
改変対象となる対象設計ルールに定められたパラメータ項目およびそこに設定された基準パラメータ内容に基づき、前記対象設計ルールによる検査対象となる対象ソフトウェアモデルを前記対象設計ルールで検査するモデル検査装置における前記対象設計ルールの改変を支援するための設計ルール改変支援方法であって、
設計ルールに定められたパラメータ項目およびそこに設定された基準パラメータ内容に基づき、ソフトウェアモデルに記述されたパラメータ項目に設定されたパラメータ内容を検査するソフトウェアモデル検査において不適合があったときの、前記設計ルールを示す設計ルール識別情報と、前記不適合となったパラメータ項目およびパラメータ内容と、を含む履歴情報を予め記憶し、
前記モデル検査装置による検査で不適合が生じた場合に、前記履歴情報の傾向に基づいて、前記対象設計ルールによる検査で不適合となったパラメータ項目の基準パラメータ内容を改変すべきか否か判定し、
改変が要となった場合に、前記履歴情報の傾向に基づいて当該パラメータ項目の当該基準パラメータ内容の変更案を作成する、
設計ルール改変支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアモデルを設計ルールに基づいて検査するモデル検査装置において設計ルールを個別のプロジェクトに対してテーラリングする技術に関する。
【背景技術】
【０００２】
例えば、自動車に搭載されて自動車の各部を制御する車載制御装置に搭載されるソフトウェアの設計において、設計効率向上のために、ソフトウェアの構造や振る舞いをモデル化したソフトウェアモデルを用いる手法が広く用いられている。これをモデルベース開発という。それでも、近年では、ソフトウェアモデルの複雑化、大規模化に伴い、品質の確保が困難になり、開発工数が増大している。
【０００３】
これに対して、ソフトウェアモデルの記述を規定した設計ルールを設定し、その設計ルールに従ってソフトウェアモデルを記述することで、ソフトウェアモデルの品質を確保する方法がある。良く知られたものとして、ＭＡＡＢ（ＭＡＴＬＡＢ  Ａｕｔｏｍｏｔｉｖｅ  Ａｄｖｉｓｏｒｙ  Ｂｏａｒｄ）ガイドラインやＪＭＡＡＢ（Jａｐａｎ  ＭＡＡＢ）制御モデリングガイドラインがある。
【０００４】
さらに、ソフトウェアモデルが設計ルールに準拠するか否かを自動で検査するモデル検査装置によりソフトウェアモデルの検査が行われている。例えばＴｈｅ  ＭａｔｈＷｏｒｋｓ社のモデルアドバイザーが存在する。Ｔｈｅ  ＭａｔｈＷｏｒｋｓは登録商標である。モデル検査装置は、設計ルールに対応して予め作成された判定プログラムを実装し、その判定プログラムを用いてソフトウェアモデルの検査を行う。
【０００５】
しかしながら、設計ルールは全てのプロジェクトの開発において共通のものが用いられる訳ではなく、各プロジェクトにより異なっている。そのため、個々のプロジェクトでは、標準的な設計ルールや既存の設計ルールを当該プロジェクトに合うように修正して用いられる。
【０００６】
特許文献１には、設計ルールの修正の要否を検討し、修正要と判断された場合に、設計ルールの変更案をタイムリーにユーザに配信することを可能にする手法が記載されている。特許文献１に記載された手法では、ソフトウェアモデルをチェックすることにより得られたパラメータと、設計ルールで定められた基準となるパラメータとに基づき設計ルールの妥当性を判断し、必要に応じて変更案を提示する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第２０１２／０５３１０３号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
設計ルールが修正されれば、ソフトウェアモデルを検査する判定プログラムもそれに合わせて修正する必要がある。しかしながら、特許文献１に記載された手法は、設計ルールの修正に伴う判定プログラムの修正を考慮しておらず、提示される設計ルールの変更案は判定プログラムに自動的にあるいは機械的に適用できるものではない。そのため、当該手法によりモデル検査装置のテーラリングを行う場合、開発者は、提示された設計ルールの変更案に対して判定プログラムをどのように修正するか検討したり、実際に判定プログラムを修正したりする必要があった。そのため開発工数が増大していた。
【０００９】
本発明の目的は、プロジェクトに合わせた設計ルールの修正において、その設計ルールに基づきソフトウェアモデルを検査するための判定プログラムの修正を容易にする技術を提供することである。
【課題を解決するための手段】
【００１０】
本発明の一態様に係るモデル検査装置は、改変対象となる対象設計ルールに定められたパラメータ項目およびそこに設定された基準パラメータ内容に基づき、前記対象設計ルールによる検査対象となる対象ソフトウェアモデルを前記対象設計ルールで検査するモデル検査部と、設計ルールに定められたパラメータ項目およびそこに設定された基準パラメータ内容に基づき、ソフトウェアモデルに記述されたパラメータ項目に設定されたパラメータ内容を検査するソフトウェアモデル検査において不適合があったときの、前記設計ルールを示す設計ルール識別情報と、前記不適合となったパラメータ項目およびパラメータ内容と、を含む履歴情報を記憶する記憶部と、前記モデル検査部による検査で不適合が生じた場合に、前記履歴情報の傾向に基づいて、前記対象設計ルールによる検査で不適合となったパラメータ項目の基準パラメータ内容を改変すべきか否か判定し、改変が要となった場合に、前記履歴情報の傾向に基づいて当該パラメータ項目の当該基準パラメータ内容の変更案を作成するテーラリング部と、を有する。
【発明の効果】
【００１１】
本発明によれば、プロジェクトに合わせた設計ルールの修正において、その設計ルールに基づきソフトウェアモデルを検査するための判定プログラムの修正が容易になる。
【図面の簡単な説明】
【００１２】
【図１】モデル検査装置の概要を示す図である。
【図２】一実施の形態に係るテーラリング付きモデル検査装置の構成例を示す図である。
【図３】テーラリング付きモデル検査装置における処理の一例を示すフローチャートである。
【図４】ソフトウェアモデルの１−Ｄ  Ｌｏｏｋｕｐ  Ｔａｂｌｅブロックに関し、当初の基準の設計ルールと、或るプロジェクトで定められた設計ルールとの関係の一例を示す図である。
【図５】情報選択部の処理の一例を説明するための図である。
【図６】テーラリング実行確認画面の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を、図面を参照して説明する。
【００１４】
＜概要＞
図１は、モデル検査装置の概要を示す図である。
【００１５】
図１に示すように、モデル検査装置１８は、設計ルール１３及びチェック対象のソフトウェアモデル１１が入力されると、当該ソフトウェアモデル１１が当該設計ルール１３に準拠しているか否かを判定し、その判定結果１６を出力する。当該判定は、判定プログラム１２によって実行されてよい。
【００１６】
判定プログラム１２は、抽出条件１４と判定条件１５とを用いて判定を行う。抽出条件１４は、ソフトウェアモデル１１の構成要素から、チェック対象のブロック及びパラメータ項目を抽出するために用いられる条件である。判定条件１５は、抽出条件１４によって抽出されたチェック対象のパラメータ項目のパラメータ内容が、設計ルール１３に準拠しているか否かを判定するために用いられる条件である。抽出条件１４及び判定条件１５は、モデル検査装置１８の開発者によって、設計ルール１３に基づいて設定されてよい。
【００１７】
そして、判定プログラム１２は、或るパラメータ項目のパラメータ内容が設計ルール１３に準拠していないと判定した場合、その旨を示す情報１７を、判定結果１６として表示する。これにより、モデル検査装置１８は、ソフトウェアモデル１１において、設計ルール１３に準拠していない（不適合な）パラメータ項目のパラメータ内容を特定できる。
【００１８】
＜テーラリング付きモデル検査装置＞
図２は、一実施の形態に係る、テーラリング付きモデル検査装置の構成例を示す図である。
【００１９】
図２に示すように、一実施の形態に係るテーラリング付きモデル検査装置は、モデル検査部２０と、記憶部３０と、テーラリング部４０とを有する。なお、モデル検査部２０及びテーラリング部４０は、テーラリング付きモデル検査装置が備えるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって実行されるコンピュータプログラムであってもよい。また、記憶部３０は、テーラリング付きモデル検査装置が備える揮発性及び／又は不揮発性半導体メモリによって実現されてよい。
【００２０】
＜記憶部＞
記憶部３０は、モデル記憶部３１と、設計ルール記憶部３２と、プロジェクトメンバ記憶部３３と、不適合結果記憶部３４とを含む。
【００２１】
モデル記憶部３１は、ソフトウェアモデルのデータを記憶する。
【００２２】
設計ルール記憶部３２は、設計ルールの情報を記憶する。設計ルールは、ルールＩＤによって識別される。また、各設計ルールには、パラメータ項目と基準パラメータ内容とが関連付けられている。基準パラメータ内容とは、モデル検査部２０によるチェックにおいて基準となるパラメータ内容である。設計ルール記憶部３２には、例えば、プロジェクト毎に定められた設計ルールが格納されてよい。
【００２３】
プロジェクトメンバ記憶部３３は、プロジェクトに属するメンバの情報を記録する。例えば、プロジェクトメンバ記憶部３３は、プロジェクトＩＤと、当該プロジェクトＩＤに属するメンバＩＤとを関連付けて記憶する。
【００２４】
不適合結果記憶部３４は、モデル検査部２０によるチェックにおいて、パラメータ内容が基準パラメータ内容に適合していない（不適合）と判断された結果の情報（以下「不適合結果」という）を記憶する。なお、不適合結果記憶部３４は、所定のネットワークを介して、他のテーラリング付きモデル検査装置に共有されてよい。別言すると、各テーラリング付きモデル検査装置は、所定のネットワークを介して、他のテーラリング付きモデル検査装置が備える不適合結果記憶部３４にもアクセスできてよい。
【００２５】
＜モデル検査部＞
モデル検査部２０は、図１に示すモデル検査装置１８に相当する処理を行う。モデル検査部２０は、モデルチェック部２１と、チェック結果表示部２６と、を含む。
【００２６】
モデルチェック部２１は、ソフトウェアモデルをチェックする処理を行う。モデルチェック部２１は、モデル読込部２２と、チェック対象抽出部２３と、設計ルール取得部２４と、チェック判定部２５と、を含む。
【００２７】
モデル読込部２２は、モデル記憶部３１から、チェック対象のソフトウェアモデルを読み込む。
【００２８】
チェック対象抽出部２３は、モデル読込部２２によって読み込まれたソフトウェアモデルから、チェック対象のブロック、パラメータ項目及びパラメータ内容を抽出する。
【００２９】
設計ルール取得部２４は、設計ルール記憶部３２から、チェック対象のパラメータ項目に関連付けられている基準パラメータ内容を取得する。
【００３０】
チェック判定部２５は、チェック対象のパラメータ項目について、チェック対象抽出部２３によって抽出されたパラメータ内容と、設計ルール取得部２４によって取得された基準パラメータ内容と、を比較する。そして、チェック判定部２５は、当該パラメータ内容と当該基準パラメータ内容とが適合（一致）する場合、チェック結果を「適合」と判定し、当該パラメータ内容と当該基準パラメータ内容とが適合（一致）しない場合、チェック結果を「不適合」と判定する。
【００３１】
また、チェック判定部２５において「不適合」と判定されたチェック結果（つまり不適合結果）を、不適合結果記憶部３４に格納する。ここで、不適合結果では、「不適合」との判定に用いられた設計ルールのＩＤ（以下「ルールＩＤ」という）と、「不適合」と判定されたブロックのパラメータ項目及びパラメータ内容と、が関連付けられてよい。
【００３２】
チェック結果表示部２６は、チェック判定部２５によるチェック結果を、例えば図１の判定結果１６のように表示する。
【００３３】
＜テーラリング部＞
テーラリング部４０は、設計ルールに対するテーラリングを行う。テーラリング部４０は、情報選択部４７と、テーラリング処理部４１と、を含む。
【００３４】
情報選択部４７は、不適合結果記憶部３４から、対象プロジェクトに関する不適合結果を取得する。なお、情報選択部４７は、図２に示すように、所定のネットワークを介して、他の不適合結果記憶部３４にアクセスしてもよい。
【００３５】
テーラリング処理部４１は、ルールＩＤ認識部４２と、基準パラメータ特定部４３と、不適合パラメータ特定部４４と、テーラリング判定部４５と、テーラリング実行部４６と、を含む。
【００３６】
ルールＩＤ認識部４２は、情報選択部４７によって取得された不適合結果のルールＩＤを認識する。
【００３７】
基準パラメータ特定部４３は、ルールＩＤ認識部４２によって認識された不適合結果のルールＩＤに対応する基準パラメータ内容を特定する。すなわち、基準パラメータ特定部４３は、当該不適合結果の判定に用いられた基準パラメータ内容を特定する。
【００３８】
不適合パラメータ特定部４４は、ルールＩＤ認識部４２によって認識された不適合結果のルールＩＤに対応するパラメータ内容を特定する。すなわち、不適合パラメータ特定部４４は、当該不適合結果と判定されたパラメータ内容を特定する。
【００３９】
なお、ルールＩＤ認識部４２、基準パラメータ特定部４３、及び、不適合パラメータ特定部４４は、情報選択部４７が取得した複数の不適合結果のそれぞれに対して、処理を行ってよい。
【００４０】
テーラリング判定部４５は、基準パラメータ特定部４３によって特定された基準パラメータ内容を、不適合パラメータ特定部４４によって特定されたパラメータ内容に変更すべきか否かを判定する。例えば、テーラリング判定部４５は、不適合パラメータ特定部４４によって特定された複数のパラメータ内容について多変量解析を行い、その解析結果に基づいて、当該判定を行ってよい。なお、テーラリング判定部４５は、設計ルールの基準パラメータ内容を変更すべきと判定した場合、その変更案となるパラメータ内容（以下「変更案パラメータ内容」という）を生成してよい。
【００４１】
テーラリング実行部４６は、設計ルール記憶部３２における、基準パラメータ特定部４３によって特定された基準パラメータ内容を、変更案パラメータ内容に変更する。なお、テーラリング実行部４６は、基準パラメータ内容を変更案パラメータ内容に変更してもよいか否かを、ユーザに問い合わせてもよい（図６参照）。
【００４２】
＜処理フロー＞
図３は、一実施の形態に係るテーラリング付きモデル検査装置の処理例を示すフローチャートである。
【００４３】
まず、モデル検査部２０における処理を説明する。
【００４４】
モデル読込部２２は、モデル記憶部３１から、チェック対象のソフトウェアモデルを読み込む（Ｓ１０１）。
【００４５】
チェック対象抽出部２３は、Ｓ１０１にて読み込まれたソフトウェアモデルから、チェック対象のブロック、パラメータ項目及びパラメータ内容を抽出する（Ｓ１０２）。
【００４６】
設計ルール取得部２４は、設計ルール記憶部３２から、チェック対象のパラメータ項目に関連付けられている基準パラメータ内容を取得する（Ｓ１０３）。
【００４７】
チェック判定部２５は、Ｓ１０２にて抽出されたパラメータ内容と、Ｓ１０３にて取得された基準パラメータ内容とが適合（一致）するか否かを判定する（Ｓ１０４）。
【００４８】
Ｓ１０２にて抽出されたパラメータ内容と、Ｓ１０３にて取得された基準パラメータ内容とが適合（一致）する場合（Ｓ１０４：ＯＫ）、フローは、終了する。
【００４９】
Ｓ１０２にて抽出されたパラメータ内容と、Ｓ１０３にて取得された基準パラメータ内容とが適合（一致）しない場合（Ｓ１０４：ＮＧ）、フローは、次のＳ１０５へ進む。
【００５０】
チェック判定部２５は、不適合結果を、不適合結果記憶部３４に格納する（Ｓ１０５）。
【００５１】
以上の処理により、不適合結果記憶部３４には、複数の不適合結果が格納される。
【００５２】
次に、テーラリング部４０における処理を説明する。
【００５３】
情報選択部４７は、不適合結果記憶部３４から、対象プロジェクトに関連する不適合結果を取得する（Ｓ１０６）。
【００５４】
ルールＩＤ認識部４２は、Ｓ１０６にて取得された対象プロジェクトの不適合結果のルールＩＤを認識する。そして、基準パラメータ特定部４３は、その認識された不適合結果のルールＩＤに対応する基準パラメータ内容を特定する。そして、不適合パラメータ特定部４４は、その認識された不適合結果のルールＩＤに対応するパラメータ内容を特定する（Ｓ１０７）。
【００５５】
テーラリング判定部４５は、基準パラメータ特定部４３によって特定された基準パラメータ内容を、不適合パラメータ特定部４４によって特定されたパラメータ内容に変更すべきか否か（つまりテーラリングの要否）を判定するための解析（例えば多変量解析）を行う（Ｓ１０８）。
【００５６】
テーラリング判定部４５は、Ｓ１０８の解析の結果に基づき、テーラリングの要否を判定する（Ｓ１０９）。テーラリングを不要と判定した場合（Ｓ１０９：ＮＯ）、フローは、終了する。
【００５７】
テーラリングを必要と判定した場合（Ｓ１０９：ＹＥＳ）、テーラリング判定部４５は、変更案パラメータ内容を生成する（Ｓ１１０）。
【００５８】
テーラリング実行部４６は、基準パラメータ特定部４３によって特定された基準パラメータ内容を、変更案パラメータ内容に変更するか否か（つまりテーラリングを実行するか否か）をユーザに問い合わせる（Ｓ１１１）。
【００５９】
ユーザがテーラリングを実行しないと判断した場合（Ｓ１１１：ＮＯ）、フローは、終了する。
【００６０】
ユーザがテーラリングを実行すると判断した場合（Ｓ１１１：ＹＥＳ）、テーラリング実行部４６は、テーラリングを実行する（Ｓ１１２）。すなわち、テーラリング実行部４６は、設計ルール記憶部３２における、基準パラメータ特定部４３によって特定された基準パラメータ内容を、修正案パラメータ内容に変更する。また、テーラリング実行部４６は、上記の対象プロジェクトのメンバに対して、当該変更内容を通知する。
【００６１】
テーラリング実行部４６は、Ｓ１１２にて行われた変更内容を示す情報を、履歴として所定の記憶部に保存する（Ｓ１１３）。そしてフローは、Ｓ１０３に戻る。
【００６２】
＜具体例＞
次に、図４から図６を参照して、上記図３における処理フローの具体的な一例について説明する。
【００６３】
図４は、ソフトウェアモデルの１−Ｄ  Ｌｏｏｋｕｐ  Ｔａｂｌｅブロックに関し、当初の基準の設計ルールと、或るプロジェクトで定められた設計ルールとの関係の一例を示す図である。
【００６４】
例えば、１−Ｄ  Ｌｏｏｋｕｐ  Ｔａｂｌｅブロックに関し、当初の基準の設計ルール（ルールＩＤ「jｎ＿１０１１」）では、パラメータ項目「内挿方法」のパラメータ内容が「線形」と定められているとする。これに対して、或るプロジェクトの設計ルール（ルールＩＤ「jｎ＿１０１１」）では、パラメータ項目「内挿方法」のパラメータ内容が「Ｆｌａｔ」と定められているとする。以下、このような場合における、図３に示す処理フローについて説明する。
【００６５】
まず、モデル検査部２０における処理の具体例を説明する。
【００６６】
Ｓ１０２において、チェック対象抽出部２３は、まず、ソフトウェアモデルから、１−Ｄ  Ｌｏｏｋｕｐ  Ｔａｂｌｅブロックを検索する。次に、チェック対象抽出部２３は、検索した１−Ｄ  Ｌｏｏｋｕｐ  Ｔａｂｌｅブロックにおける、パラメータ項目「内挿方法」のパラメータ内容「Ｆｌａｔ」を抽出する。なお、抽出対象のパラメータ項目「内挿方法」は、開発者が予め判定プログラム（図１参照）に抽出条件として設定したものであってよい。
【００６７】
Ｓ１０３において、設計ルール取得部２４は、設計ルール記憶部３２から、パラメータ項目「内挿方法」の基準パラメータ内容「線形」を取得する。
【００６８】
Ｓ１０４において、チェック判定部２５は、Ｓ１０２にて抽出されたパラメータ内容「Ｆｌａｔ」と、Ｓ１０３にて取得されたパラメータ内容「線形」とは適合（一致）しないと判定する（Ｓ１０４：ＮＧ）。
【００６９】
Ｓ１０５において、チェック判定部２５は、適合（一致）しないと判定されたルールＩＤ「ｊｎ＿１０１１」と、パラメータ項目「内挿方法」と、パラメータ内容「Ｆｌａｔ」とを関連付けた不適合結果を、不適合結果記憶部３４に格納する。
【００７０】
以上の処理により、不適合結果記憶部３４には、当初の基準の設計ルールに対して不適合と判定された不適合結果（ルールＩＤ「jｎ＿１０１１」、パラメータ項目「内挿方法」及びパラメータ内容「Ｆｌａｔ」）が格納される。
【００７１】
次に、テーラリング部４０における処理の具体例を説明する。
【００７２】
Ｓ１０６において、情報選択部４７は、図５に示すように、次の処理を行う。情報選択部４７は、まず、対象プロジェクトＩＤ「１２２８５５９６」を選択する。次に、情報選択部４７は、プロジェクトメンバ記憶部３３から、対象プロジェクトＩＤ「１２２８５５９６」のメンバＩＤ「１５９」、「２３８」、「１９９」、「７５８」、「１６０」、「６２４」、「３９９」及び「５５１」を選択する。次に、情報選択部４７は、不適合結果記憶部３４から、Ｓ１０６にて選択したメンバＩＤ「１５９」、「１９９」及び「２３８」のそれぞれに対応する不適合結果を取得する。なお、図５に示すように、情報選択部４７は、メンバＩＤ「９９４」及び「８８３」のそれぞれに対応する不適合結果については取得しない。メンバＩＤ「９９４」及び「８８３」は、プロジェクトＩＤ「１２２８５５９６」のメンバＩＤでないからである。
【００７３】
Ｓ１０７において、次の処理が行われる。ルールＩＤ認識部４２は、Ｓ１０６にて取得された３つの不適合結果から、ルールＩＤ「jｎ＿１０１１」を認識する。次に、基準パラメータ特定部４３は、ルールＩＤ「jｎ＿１０１１」に対応するパラメータ項目「内挿方法」の基準パラメータ内容「線形」を特定する。次に、不適合パラメータ特定部４４は、不適合結果から、ルールＩＤ「jｎ＿１０１１」に対応するパラメータ項目「内挿方法」の不適合と判定されたパラメータ内容「Ｆｌａｔ」を特定する。
【００７４】
Ｓ１０８において、テーラリング判定部４５は、不適合パラメータ特定部４４によって特定された複数の不適合結果に対して多変量解析を行い、これらの不適合結果では、パラメータ項目「内挿方法」のパラメータ内容が「Ｆｌａｔ」の傾向にあると判断する。すなわち、テーラリング判定部４５は、複数の不適合結果を解析した結果、プロジェクトＩＤ「１２２８５５９６」では、パラメータ項目「内挿方法」のパラメータ内容を「Ｆｌａｔ」とする設計ルールが定められていると推測する。
【００７５】
Ｓ１０９において、テーラリング判定部４５は、Ｓ１０８にて推測したパラメータ内容「Ｆｌａｔ」が、基準パラメータ内容「線形」と適合（一致）しないため、テーラリングを必要（Ｓ１０９：ＹＥＳ）と判定し、次のＳ１１０の処理を行う。
【００７６】
Ｓ１１０において、テーラリング判定部４５は、１−Ｄ  Ｌｏｏｋｕｐ  Ｔａｂｌｅブロックのパラメータ項目「内挿方法」に対する変更案パラメータ内容「Ｆｌａｔ」を生成する。
【００７７】
Ｓ１１１において、テーラリング実行部４６は、図６に例示するテーラリング実行確認画面６００を表示する。テーラリング実行確認画面６００は、１−Ｄ  Ｌｏｏｋｕｐ  Ｔａｂｌｅブロックのパラメータ項目「内挿方法」の基準パラメータ内容「線形」を、変更案パラメータ内容「Ｆｌａｔ」に変更するか否かをユーザに問い合わせるための画面である。
【００７８】
テーラリング実行確認画面６００には、次の内容を含むテーラリング実行情報６０１が表示されてよい。
・パラメータ項目「内挿方法」における、基準パラメータ内容「線形」を示す情報６０２と、変更案パラメータ内容「Ｆｌａｔ」を示す情報６０３
・変更案パラメータ内容「Ｆｌａｔ」が適用される対象のプロジェクトＩＤ「１２２８５５９６」を示す情報６０４
・プロジェクトＩＤ「１２２８５５９６」のメンバＩＤ「１５９」、「２３８」、「１９９」、「７５８」、「１６０」、「６２４」、「３９９」及び「５５１」の情報６０５。
【００７９】
また、テーラリング実行確認画面６００には、次のボタンが表示されてよい。
・ユーザがテーラリングを実行することを指示するための「テーラリング実行」ボタン６０６
・ユーザがテーラリングを実行しないことを指示するための「キャンセル」ボタン６０７
【００８０】
Ｓ１１２において、テーラリング実行部４６は、設計ルール記憶部３２におけるルールＩＤ「ｊｎ＿１０１１」のパラメータ項目「内挿方法」の基準パラメータ内容「線形」を、変更案パラメータ内容「Ｆｌａｔ」に変更（上書き）する。これにより、以後、Ｓ１０４におけるチェック判定部２５の判定処理において、変更後のパラメータ内容「Ｆｌａｔ」が、基準パラメータ内容として使用される。
【００８１】
また、Ｓ１１２において、テーラリング実行部４６は、プロジェクトＩＤ「１２２８５５９６」のメンバＩＤ「１５９」、「２３８」、「１９９」、「７５８」、「１６０」、「６２４」、「３９９」及び「５５１」に対して、テーラリングが実行されたことを、メール等により通知する。この通知には、図６のテーラリング情報６０１の内容が含まれてよい。これにより、プロジェクトのメンバは、当該プロジェクトの設計ルール（基準パラメータ内容）を確認できる。
【００８２】
＜変形例＞
なお、本実施の形態では、テーラリング実行部４６は、設計ルールの基準パラメータ内容を自動的に修正するものであったが、これに限定されることはない。他の例として、テーラリング実行部４６は、設計ルールの基準パラメータ内容だけでなく、モデルチェック部２１（又は判定プログラム１２）のパラメータ内容も自動的に修正することにしてもよい。これにより開発者は設計ルールの修正に伴いモデルチェック部２１（又は判定プログラム１２）を修正する手間が省ける。その際、テーラリング実行部４６は、設計ルールのパラメータ内容を修正したとき、設計ルールにおけるパラメータ内容の修正と同じ修正をモデルチェック部２１（又は判定プログラム１２）に対して行えばよい。具体的には、設計ルールにて、あるブロックのパラメータ項目のパラメータ内容が修正されると、モデルチェック部２１（又は判定プログラム１２）における当該パラメータ項目の検査を行う部分に対して、当該パラメータ項目に設定されている基準パラメータ内容を設計ルールにおける修正と同じように修正すればよい。
【００８３】
以下の事項も上述した実施形態による開示の技術的範囲に属する。ただし、本発明が以下の事項に限定されるものではない。
【００８４】
本実施の形態に係るテーラリング付きモデル検査装置は、モデル検査部２０と、記憶部３０と、テーラリング部４０とを有する。モデル検査部２０は、改変対象となる対象設計ルールに定められたパラメータ項目およびそこに設定された基準パラメータ内容に基づき、対象設計ルールによる検査対象となる対象ソフトウェアモデルを対象設計ルールで検査する。記憶部３０は、設計ルールに定められたパラメータ項目およびそこに設定された基準パラメータ内容に基づき、ソフトウェアモデルに記述されたパラメータ項目に設定されたパラメータ内容を検査するソフトウェアモデル検査において不適合があったときの、設計ルールを示す設計ルール識別情報（例えばルールＩＤ）と、不適合となったパラメータ項目およびパラメータ内容と、を含む履歴情報（例えば不適合結果）を記憶する。テーラリング部４０は、モデル検査部２０による検査で不適合が生じた場合に、履歴情報の傾向に基づいて、対象設計ルールによる検査で不適合となったパラメータ項目の基準パラメータ内容を改変すべきか否か判定し、改変が要となった場合に、履歴情報の傾向に基づいて当該パラメータ項目の当該基準パラメータ内容の変更案を作成する。
【００８５】
当該構成によれば、設計ルールからモデルチェック部２１（又は判定プログラム１２）に抽出されるパラメータ項目の基準パラメータ内容を変更する変更案が作成されるので、設計ルールを修正する場合にはモデルチェック部２１（又は判定プログラム１２）にも同様の修正を行えばよくなる。そのため、個々のプロジェクトに合わせた設計ルールの修正において、その設計ルールに基づきソフトウェアモデルを検査するためモデルチェック部２１（又は判定プログラム１２）の修正が容易となる。
【００８６】
上記履歴情報は、ソフトウェアモデル検査において不適合があったときの、ソフトウェアモデルの開発を担当したプロジェクトのメンバを示すプロジェクトメンバ識別情報（例えばメンバＩＤ）を更に含んでよい。そして、テーラリング部４０は、対象ソフトウェアモデルの開発を担当するプロジェクトのメンバの少なくとも一部を少なくとも一部として含むメンバの履歴情報をプロジェクトメンバ識別情報に基づいて抽出し、当該抽出した履歴情報に基づいて、基準パラメータ内容の改変の要否判定と基準パラメータ内容の変更案（例えば変更案パラメータ内容）の作成との少なくとも一方を行ってよい。
【００８７】
当該構成によれば、対象ソフトウェアモデルの開発を担当するプロジェクトのメンバと重複するメンバの履歴情報を利用するので、メンバに応じた好適なテーラリングが可能となる。
【００８８】
テーラリング部４０は、作成した変更案をユーザに提示して適用可否の判断を促し（例えば図６に示すテーラリング実行確認画面６００）、ユーザが適用可と判断した場合、変更案を対象設計ルールに適用してよい。
【００８９】
当該構成によれば、提案の適用をユーザが判断するので、データと人間の判断を併せることにより、適切なテーラリングを実現することができる。
【００９０】
テーラリング部４０は、履歴情報を多変量解析で分析することにより履歴情報の傾向を取得してよい。
【００９１】
当該構成によれば、多変量解析を利用するので、他の多数のプロジェクトの履歴の傾向を適切に反映したテーラリングが可能となる。
【００９２】
モデル検査部２０は、対象設計ルールに基づく対象ソフトウェアモデルの検査が不適合となったとき、対象設計ルールを示す設計ルール識別情報と、不適合となったパラメータ項目およびパラメータ内容と、を含む検査結果を記憶部３０に記録してよい。
【００９３】
当該構成によれば、モデル検査部２０にて対象設計ルールに基づく対象ソフトウェアモデルの検査の結果を記憶部に記録するので、他のプロジェクトや以降のプロジェクトにおいて設計ルールのテーラリングを行うときに、当該モデル検査部２０の検査の結果を利用することが可能となる。
【００９４】
複数のテーラリング付きモデル検査装置が通信可能に相互に接続し、複数のテーラリング付きモデル検査装置が、それぞれのモデル検査部２０による検査結果を相互に共有し、テーラリング部４０にて、複数のテーラリング付きモデル検査装置による検査結果を履歴情報として利用してよい。
【００９５】
当該構成によれば、複数のテーラリング付きモデル検査装置が相互に検査結果を共有してテーラリングに利用するので、多くのプロジェクトの検査結果を利用することによる適切なテーラリングが可能になる。
【００９６】
モデル検査部２０は、対象設計ルールに定められたパラメータ項目およびそこに設定された基準パラメータ内容に基づく判定プログラムを実行することにより、対象ソフトウェアモデルを対象設計ルールで検査してよい。また、テーラリング部４０は、変更案を対象設計ルールに適用するとともに変更案を判定プログラムにも適用してよい。
【００９７】
当該構成によれば、設計ルールがテーラリングにより改変されたときにそれに伴って判定プログラムも改変されるので、判定プログラムを改変する手間が省ける。
【００９８】
上述した実施の形態は、本発明の説明のための例示であり、本発明の範囲を実施の形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【符号の説明】
【００９９】
１１…ソフトウェアモデル  １２…判定プログラム  ２０…モデル検査部  ２１…モデルチェック部  ２２…モデル読込部  ２３…チェック対象抽出部  ２４…設計ルール取得部  ２５…チェック判定部  ２６…チェック結果表示部  ３０…記憶部  ３１…モデル記憶部  ３２…設計ルール記憶部  ３３…プロジェクトメンバ記憶部  ３４…不適合結果記憶部  ４０…テーラリング部  ４１…テーラリング処理部  ４２  ルールＩＤ認識部  ４３…基準パラメータ特定部  ４４…不適合パラメータ特定部  ４５…テーラリング判定部  ４６…テーラリング実行部  ４７…情報選択部
【図１】
2020013239.tif 000003
【図２】
2020013239.tif 000004
【図３】
2020013239.tif 000005
【図４】
2020013239.tif 000006
【図５】
2020013239.tif 000007
【図６】
2020013239.tif 000008