説明

ソフトウェア部品組合せ支援装置

【課題】設備を制御する制御ソフトウェアを既存のソフトウェア部品組合せによって開発するソフトウェア開発において、ソフトウェア部品間の依存関係を満たした最適なソフトウェア部品の組合せを提示する
【解決手段】ソフトウェア部品組合せ支援装置は、制御ソフトウェアの処理の流れを示す処理フロー情報、処理がアクセスする設備間の連動関係を示す連動関係情報および処理間の否定関係を示す処理否定関係情報を用いて、直接的・間接的同時選択関係(XNOR)および直接的・間接的排他選択関係(XOR)をソフトウェア部品間の依存関係として抽出し、抽出した依存関係と新しく開発する製品の連動関係情報を満たしたソフトウェア部品組合せパターンをユーザに提示する。

【発明の詳細な説明】
【技術分野】
【0001】
設備を制御する制御ソフトウェアを既存のソフトウェア部品組合せによって開発するソフトウェア開発において、ソフトウェア部品の最適な組合せパターンを提示するソフトウェア部品組合せ支援装置に関する。
【背景技術】
【0002】
近年、多様なユーザニーズ対応のための少量多品種製品の開発を可能にする製品系列開発技術が注目を浴びている。
【0003】
製品系列開発技術は、製品のロードマップから製品共通の部分、製品毎に可変の部分を可変性分析により明確にし、共通の部分のフレームワーク化、可変の部分のソフトウェア部品化を可能にする技術である。この技術を用いた結果、可変部分のソフトウェア部品組合せのみでソフトウェア製品を開発できるようになる ソフトウェア部品間には暗黙の依存関係があるため、開発時にそれを無視してソフトウェア部品を組み合わせると予期せぬ不具合が発生することがある。
この問題を解決する手段として、最適だと思われるソフトウェア部品の組合せを提示する装置がある。
【0004】
特許文献1には、各ソフトウェア部品を数値化して座標平面上に配置し、座標平面上の距離でソフトウェア部品をグループ化し、同じグループのソフトウェア部品を同時に使用する組合せパターンを優先的に提示する装置が開示されている。この装置により、過去のソフトウェア部品の利用実績という統計情報をもちいて少なくとも過去の実績の中では最適なソフトウェア部品組合せパターンを提示することが可能になる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11-053191号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記特許文献1に記載の技術では、ソフトウェア部品の組合せ方を過去の統計から導出するため、精度を高めるためには数多くの開発実績を集める必要があり、適用できるようになるまでに時間がかかる。
【0007】
また、特許文献1に記載の技術では、過去の実績上必然的に一緒に使用されたソフトウェア部品と偶然一緒に使用されたソフトウェア部品を区別できないため、必要のない組合せまたは不具合を起こす組合せを許容してしまうことになる。
【0008】
そこで、数少ない開発実績でも確実にソフトウェア部品間の関係を抽出し、関連あるソフトウェア部品による組合せパターンの提示が可能なソフトウェア部品組合せ支援技術が求められている。
【課題を解決するための手段】
【0009】
本発明は上記課題を解決するために、設備制御用ソフトウェアを構成する複数のソフトウェア部品のうち関連性のあるソフトウェア部品の組み合わせを抽出するソフトウェア部品組合せ抽出支援装置における方法であって、前記ソフトウェア部品組合せ抽出支援装置は、製品設計情報データベースと、直接的関係抽出部を有し、前記製品設計情報データベースは、前記設備制御用ソフトウェアによって実行される一以上の処理各々について、当該処理と、当該処理を実行するソフトウェア部品と、当該ソフトウェア部品が作用する設備と、を対応付けて登録した処理フロー情報、を有し、前記直接的関係抽出部が、前記処理フロー情報を取得するステップと、前記処理フロー情報に基づき、前記処理フロー情報で指定される複数のソフトウェア部品から同じ設備に作用するソフトウェア部品の組み合わせを直接的同時選択の関係にあるソフトウェア部品の組み合わせとして抽出するステップと、を備える。
【発明の効果】
【0010】
本発明によれば、数少ない開発実績でもソフトウェア部品の関係を抽出することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の一実施形態に係るソフトウェア部品組合せ支援装置のソフトウェア構成例を示すブロック図である。
【図2】本発明の一実施形態に係るソフトウェア部品組合せ支援装置のハードウェア構成例を示す図である。
【図3】全製品設計情報DBに保持される処理フローの一例を示す図である。
【図4】処理フローを自動生成するために使用する実行ログの一例を示す図である。
【図5】全製品設計情報DBに保持される連動関係情報の一例を示す図である。
【図6】全製品設計情報DBに保持される処理否定関係情報の一例を示す図である。
【図7】部品間依存関係DBに保持される部品間依存関係情報の一例を示す図である。
【図8】部品フィードバック部により部品の粒度を更新した後の処理フローの一例を示す図である。
【図9】ソフトウェア部品間依存関係として同時選択関係(XNOR)を抽出するフローの一例を示す図である。
【図10】ソフトウェア部品間依存関係として排他選択関係(XOR)を抽出するフローの一例を示す図である。
【発明を実施するための形態】
【0012】
図2は、本発明の一実施形態に係るソフトウェア部品組合せ支援装置のハードウェア構成例を示す図である。
【0013】
ソフトウェア部品組合せ支援装置200は、CPU201、表示装置202、入力装置203、メモリ204、外部記憶装置205から構成される。CPU201は、外部記憶装置205に保持されるプログラムおよびデータをメモリ204上に読込み、ソフトウェア部品の組合せ支援に関する処理を実行し、最適なソフトウェア部品組合せを出力する。表示装置202は、CPU201の出力結果をユーザに表示する。入力装置203は、ユーザからの製品情報入力を受け付ける。メモリ204は、主記憶装置であり、CPU201が実行するためのプログラムおよびデータを読み込む。外部記憶装置205は、補助記憶装置であり、実行に必要なプログラムおよびデータを保持する。
【0014】
図1は、本発明の一実施形態に係るソフトウェア部品組合せ支援装置のソフトウェア構成例を示すブロック図である。
【0015】
ソフトウェア部品組合せ支援装置200は、製品処理フロー情報登録部101、製品連動関係情報登録部102、製品処理否定関係情報登録部103、直接的依存関係抽出部105、間接的依存関係抽出部106、依存関係結合部108、組合せパターンソート表示部109、部品フィードバック部110のプログラムおよび全製品設計情報DB104、部品間依存関係DB107のデータから構成される。これらプログラムおよびデータは、前記外部記憶装置205に保持される。製品処理フロー情報登録部101は、製品開発毎にユーザの入力により得られる処理フロー情報を全製品設計情報DB104に格納する。また、オプションとして製品実行ログから処理フロー情報を自動生成することも可能である。製品連動関係情報登録部102は、製品開発毎にユーザの入力により得られる連動関係情報を全製品設計情報DB104に格納する。製品処理否定関係情報登録部103は、製品開発毎にユーザの入力により得られる処理否定関係情報を全製品設計情報DB104に格納する。
【0016】
直接的依存関係抽出部105は、全製品設計情報DB104に格納されている処理フロー情報を用いて(直接的な)ソフトウェア部品間の依存関係を抽出する。間接的依存関係抽出部106は、全製品設計情報DB104に保持される処理フロー情報および連動関係情報を用いて(間接的な)ソフトウェア部品間の依存関係を抽出し、(直接的な)ソフトウェア部品間の依存関係と合わせて部品間依存関係DB107に格納する。ソフトウェア部品間の依存関係として、例えば、製品開発時にソフトウェア部品を両方とも使用するまたは両方とも使用しない同時選択関係(XNOR)や、どちらか一方のみ使用する排他選択関係(XOR)などを抽出できる。なお、同時選択関係の「同時」とは、時間的な同時を意味するものではない。
【0017】
依存関係結合部108は、部品間依存関係DB107に格納されている部品間依存関係情報を取得して結合することで、暗黙的に存在する依存関係を抽出する。例えば、部品A、部品B、部品C、部品Dの4つのソフトウェア部品があり、部品Aと部品B、部品Cと部品Dの間にそれぞれ排他選択関係(XOR)が存在し、部品Bと部品Cの間に同時選択関係(XNOR)が存在する場合に、これらを結合することで、部品Aと部品D間の関係として暗黙の同時選択関係(XNOR)を抽出することができる。また別の例として,部品A,部品B,部品Cの3つのソフトウェア部品があり,部品Aと部品B,部品Bと部品Cの間にそれぞれ同時選択関係(XNOR)が存在する場合に,部品Aと部品Cの間の関係として暗黙の同時選択関係(XNOR)を抽出することができる。さらに別の例として,部品A,部品B,部品C,部品Dの4つのソフトウェア部品があり,部品Aと部品B,部品Bと部品C,部品Cと部品Dの間にそれぞれ排他選択関係(XOR)が存在する場合,部品Aと部品Cおよび部品Bと部品Dの間の関係として暗黙の同時選択関係(XNOR)をそれぞれ抽出することができる。
【0018】
組合せパターンソート表示部109は、依存関係結合部108で結合した依存関係を用いて依存関係を満たす全ての組合せパターンを作成し、新しく開発する製品の連動関係情報を用いて、全ての組合せパターンから新製品における連動関係情報を満たす最適なソフトウェア部品の組合せパターンを選択し、ユーザに表示する。例えば,設備1,設備2,設備3の3つの設備とそれらの設備にアクセスする3つのソフトウェア部品として部品A,部品B,部品Cがある場合について説明する。前提として,部品Aは設備1,部品Bは設備2,部品Cは設備3にのみアクセスし,新しく開発する製品の連動関係情報として設備1と設備2の間の連動関係が定義されているものとする。ここで,各部品を利用するor利用しないの選択ができるので,部品の全組合せは,2x2x2=8パターンある。8パターンのうち,設備1と設備2の間の連動関係を満たすパターン,すなわちそれらの設備にアクセスする部品Aと部品Bを同時に利用するパターンである(部品A,部品B),(部品A,部品B,部品C)の2パターンが最適なソフトウェア部品の組合せパターンとして抽出される。複数候補が抽出された場合には,最終的に人手で選択することになるが,連動関係の数が多い程候補数は限られることになる。
【0019】
部品フィードバック部110は、前記依存関係結合部108で結合した依存関係を用いて、ソフトウェア部品の粒度を見直し、全製品設計情報DB104の処理フロー情報を更新する。例えば、直接的同時選択関係(XNOR)および間接的同時選択関係(XNOR)にあるソフトウェア部品群は、必ず同じ製品で使用されるため管理上1つのソフトウェア部品とみなすことができる。そのため、1つのソフトウェア部品として登録しなおすことで部品選択の手間を減らすことができる。
【0020】
図3は、全製品設計情報DBに保持される処理フローの一例を示す図である。処理フロー情報300は、処理名称301、設備種別302、設備ID303、ソフトウェア部品名称304から構成され、1処理1行として複数の処理の順番を記載することができる。例えば、制御ソフトウェアでは、設備を参照または更新する単位を1処理とすることができる。処理名称301には、実行する処理の名称を実行順に記載する。設備種別302には、処理名称301の各行で記載した処理が実行中にアクセスする設備の種別を記載する。設備ID303には、対象の設備を一意に特定する識別情報を記載する。ソフトウェア部品名称304には、処理名称301が実装されるソフトウェア部品の名称を記載する。例えば、列車の運行管理において、信号機やてこの状態を監視して、列車の在線状況や駅の状態を判断し、問題がなければ信号機やてこの状態を制御し、列車の進行を促す一連の流れを、複数処理として処理フロー情報内に記述することができる。一般的に設備の制御に関係するシステムは、設備監視、状況判断、設備制御の有限の処理フローを1セットとして、複数セットの処理フローから構成される。そのため、有限個数の処理が記載された複数の処理フロー情報を用いてこれらのシステムを表現することが可能である。ソフトウェア部品名称304は、初期値は1処理につき1ソフトウェア部品ということで設定するが、後記部品フィードバック部によりこの粒度は適宜更新することができる。
【0021】
図4は、製品処理フロー情報入力部で使用する処理フロー情報を自動生成する場合に使用する実行ログの一例を示す図である。実行ログ400は、例えば処理を実行した時刻、処理名称、処理がアクセスした設備の設備名称および設備番号から構成される。処理を実行した時刻を記載することで処理の実行順序と実行ログの記載順序の違いを直すことが可能になる。また、設備名称としてNULL値を設定することで、設備にアクセスする本質的な処理とは関係のない補足的な処理の除外が可能になる。
【0022】
図5は、全製品設計情報DBに格納される連動関係情報の一例を示す図である。連動関係情報500は、例えば対象設備501に対する設備名称、設備番号と、対象設備501と連動する関係にある連動設備502に対する設備名称、設備番号から構成される。連動関係情報500には、1つの連動関係を1行として複数行記載する。例えば、列車運行管理に関する設備として、駅の場内への入場を許可する場内信号機が動作すると、それと同時に線路の方向を決める転てつ器が動作するがその連動関係を1つの連動関係として連動関係情報に1行に記述することが可能である。
【0023】
図6は、全製品設計情報DBに格納される処理否定関係情報の一例を示す図である。処理否定関係情報600は、例えば処理名称601と、対象となる処理の処理名称601と否定関係にある処理の処理名称602から構成される。処理否定関係情報600には、処理間の関係が否定関係にあるものを記載する。ここで、否定関係とは、処理結果として現れる設備の状態が正反対であることを指す。例えば、列車運行管理において、設備がとりうる状態値がON/OFFの2値であることが多く、設備の状態をONにする処理と設備の状態をOFFにする処理の間の関係を否定関係として定義することができる。この否定関係にある処理は同時に使用されることはなく、これを否定関係処理情報600として記載しておくことで、排他選択関係を抽出する際に活用することができる。
【0024】
図7は、部品間依存関係DBに保持される部品間依存関係情報の一例を示す図である。部品間依存関係情報700は、例えば依存関係の種別を表す依存関係種別701と依存関係にあるソフトウェア部品集合を個別に定義する部品名称702、703、704から構成される。部品間依存関係情報700には、1依存関係1行として複数行ソフトウェア部品間の依存関係を記載する。例えば、部品1と部品8が同時選択関係(XNOR)にある場合に、その依存関係を1行として部品間依存関係情報に記載することができる。
【0025】
図8は、部品フィードバック部によりソフトウェア部品の粒度を更新した後の処理フロー情報の一例を示す図である。処理フロー情報800は、前記処理フロー情報300と構成は同じである。処理フロー情報300では、1ソフトウェア部品あたり1処理としてソフトウェア部品項目を設定していた。処理フロー情報800に示す例は、図7に示す依存関係がある場合に、図7の1行目および2行目に記載するXNOR関係のうち、同一設備を制御するソフトウェア部品をそれぞれ1つの部品とみなして、処理フロー情報300の部品粒度を見直したものである。例えば、部品1と部品8が同時選択関係(XNOR)にある場合に、部品1と部品8は1つの部品とみなすことができるので、処理フロー情報300の部品8を部品1と設定しなおす。このように処理フロー情報のソフトウェア部品項目を可変とすることにより、ソフトウェア部品粒度の最適化が可能となる。
【0026】
図9は、ソフトウェア部品間依存関係として同時選択関係(XNOR)を抽出するフローの一例を示す図である。
【0027】
直接的依存関係抽出部で実行開始(ステップ901)した後、全製品設計情報DBから連動関係情報の取得(ステップ902)と処理フロー情報の取得(ステップ903)を行う。取得した処理フロー情報内の処理のうち、同じ設備にアクセスする処理群を選択し、選択した各処理に対応するソフトウェア部品をそれぞれ抽出し、これらの部品を直接的同時選択関係としてグループ化する(ステップ904)。
【0028】
続いて間接的依存関係抽出部で、取得済みの連動関係情報を参照し、前記直接的同時選択関係を抽出する上でキーとなった設備と連動関係にある設備を取得する。そして、連動関係にある設備をアクセスするソフトウェア部品群を間接的同時選択関係としてグループ化する(ステップ905)。以降ステップ904およびステップ905を処理フロー情報に含まれる全設備に対して行う。上記処理を行った後、前記直接的同時選択関係および間接的同時選択関係のグループをまとめてXNOR依存関係として全製品設計情報DBに格納する(ステップ906)。以降ステップ903からステップ906を製品の処理フロー情報の数だけ実行する。
【0029】
図10は、ソフトウェア部品間依存関係として排他選択関係(XOR)を抽出するフローの一例を示す図である。
【0030】
直接的依存関係抽出部で実行開始(ステップ1001)した後、全製品設計情報DBから連動関係情報と処理否定関係情報を取得し(ステップ1002)、合わせて1製品分の処理フロー情報を取得する(ステップ1003)。1製品分の処理フロー情報からその製品で使用したソフトウェア部品である適用済ソフトウェア部品群を抽出する(ステップ1004)。続いて、全設計情報DBから前記製品で使用していないソフトウェア部品である未適用ソフトウェア部品群を抽出する(ステップ1005)。前記適用済ソフトウェア部品群と未適用ソフトウェア部品群から任意のソフトウェア部品を選んでソフトウェア部品のペアを作成する(ステップ1006)。前記ソフトウェア部品のペアのうち、それぞれのソフトウェア部品が同じ設備にアクセスするペアを直接的排他選択関係候補として設定する(ステップ1007)。そして、取得済みの処理否定関係情報を参照し、直接的排他選択関係候補のペアであるソフトウェア部品それぞれに紐づく処理が否定関係にあるものをXOR依存関係として設定する(ステップ1008)。
【0031】
続いて間接的依存関係抽出部で、取得済み連動関係情報を参照し、前記ステップ1006で作成したペアのうち、ステップ1008で直接的排他選択関係として設定されなかったソフトウェア部品のペアのうち、それぞれのソフトウェア部品がアクセスする設備が連動関係にあるペアを間接的排他選択関係として設定する(ステップ1009)。
【符号の説明】
【0032】
200 …ソフトウェア部品組合せ支援装置、
101 …製品処理フロー情報登録部、
102 …製品連動関係情報登録部、
103 …製品処理否定関係情報登録部、
104 …全製品設計情報DB、
105 …直接的依存関係抽出部、
106 …間接的依存関係抽出部、
107 …部品間依存関係DB
108 …依存関係結合部
109 …組合せパターンソート表示部
110 …部品フィードバック部

【特許請求の範囲】
【請求項1】
設備制御用ソフトウェアを構成する複数のソフトウェア部品のうち関連性のあるソフトウェア部品の組み合わせを抽出するソフトウェア部品組合せ抽出支援装置における方法であって、
前記ソフトウェア部品組合せ抽出支援装置は、
製品設計情報データベースと、直接的関係抽出部を有し、
前記製品設計情報データベースは、
前記設備制御用ソフトウェアによって実行される一以上の処理各々について、当該処理と、当該処理を実行するソフトウェア部品と、当該ソフトウェア部品が作用する設備と、を対応付けて登録した処理フロー情報、
を有し、
前記直接的関係抽出部が、
前記処理フロー情報を取得するステップと、
前記処理フロー情報に基づき、前記処理フロー情報で指定される複数のソフトウェア部品から同じ設備に作用するソフトウェア部品の組み合わせを直接的同時選択の関係にあるソフトウェア部品の組み合わせとして抽出するステップと、
を実行することを特徴とする方法。
【請求項2】
請求項1に係る方法であって、
前記ソフトウェア部品組合せ抽出支援装置は、さらに間接的関係抽出部を有し、
前記製品設計情報データベースはさらに、一方の設備が動作すると他方の設備も動作する連動関係にある設備を対応付けて登録した連動関係情報を有し、
前記間接的関係抽出部が、
前記処理フロー情報と前記連動関係情報を取得するステップと、
前記連動関係情報に基づき、前記連動関係にある設備に作用するソフトウェア部品の組み合わせを間接的同時選択の関係にあるソフトウェア部品として抽出するステップと、
を実行することを特徴とする方法。
【請求項3】
設備制御用ソフトウェアを構成する複数のソフトウェア部品から関連あるソフトウェア部品の組み合わせを抽出するソフトウェア部品組合せ抽出支援装置における方法であって、
前記ソフトウェア部品組合せ抽出支援装置は、
製品設計情報データベースと、直接的関係抽出部を有し、
前記製品設計情報データベースは、複数の設備制御用ソフトウェア各々について、
当該設備制御用ソフトウェアによって実行される複数の処理フローの処理各々について、当該処理を実行するソフトウェア部品と、当該ソフトウェア部品が作用する設備と、を対応付けて登録した処理フロー情報と、
当該設備制御用ソフトウェアによって実行される複数の処理フローについて、処理の結果として現れる設備の状態が正反対である処理を対応付けて登録した否定関係情報と、
を有し、
前記直接的関係抽出部は、
前記複数の設備制御用ソフトウェアのうちの一の設備制御用ソフトウェアの処理フロー情報から、当該一の設備制御用ソフトウェアを構成するソフトウェア部品群を抽出して第一のソフトウェア部品群とするステップと、
前記複数の設備制御用ソフトウェアのうち前記一の設備制御用ソフトウェア以外の設備制御用ソフトウェアを構成するソフトウェア部品であって、
前記第一のソフトウェア部品群に含まれないソフトウェア部品を抽出して第二のソフトウェア部品群とするステップと、
前記第一のソフトウェア部品群と前記第二のソフトウェア部品群の各々からソフトウェア部品を選択して組とするステップと、
前記処理フロー情報に基づき、前記組を構成するソフトウェア部品が同じ設備に作用するソフトウェア部品か判断するステップと、
前記組を構成するソフトウェア部品が同じ設備に作用する場合、前記否定関係情報に基づき、前記組を構成するソフトウェア部品による処理の結果現れる設備の状態が正反対の関係にあるものを直接的排他選択の関係にあるソフトウェア部品として抽出するステップと、
を実行することを特徴とする方法。
【請求項4】
請求項3に係る方法であって、
前記ソフトウェア部品組合せ抽出支援装置は、さらに間接的関係抽出部を有し、
前記製品設計情報データベースはさらに、一方の設備が動作すると他方の設備も動作する連動関係にある設備を対応付けて登録した連動関係情報を有し、
前記間接的関係抽出部は、
前記連動関係情報に基づき、前記抽出した組を構成するソフトウェア部品が前記連動関係にある設備に作用するソフトウェア部品である場合に間接的排他選択の関係にあるソフトウェア部品として当該ソフトウェア部品を抽出するステップと、
を実行することを特徴とする方法。
【請求項5】
請求項2及び請求項4に係る方法であって、
前記ソフトウェア部品組合せ抽出支援装置は、さらに依存関係結合部を有し、
前記依存関係結合部は、
前記直接的同時選択の関係、前記間接的同時選択の関係、前記直接的排他選択の関係、前記間接的排他選択の関係の同一又は異なる二つ以上の関係を介して生じるソフトウェア部品の暗黙的関係を抽出する手段と、
を有することを特徴とするソフトウェア部品組合せ抽出支援装置。。
【請求項6】
請求項5に係る方法であって、
前記ソフトウェア部品組合せ抽出支援装置は、さらに組合せ表示部を有し、
前記組合せ表示部は、
新たに生成される設備制御用ソフトウェアが制御対象とする設備の情報を受け付けて前記製品設計情報データベースへ登録するステップと、
前記直接的同時選択の関係または前記間接的同時選択の関係または前記直接的排他選択の関係または前記間接的排他選択の関係のいずれかを満たすソフトウェア部品の組合せのうち、前記新たな設備制御用ソフトウェアにおいて制御する設備と関連する前記ソフトウェア部品の組合せを、前記新たに生成される設備制御用ソフトウェアを構成するソフトウェア部品の候補として出力するステップと、
を実行することを特徴とする方法。
【請求項7】
請求項6に係る方法であって、
前記ソフトウェア部品組合せ抽出支援装置は、さらに部品フィードバック部を有し、
前記部品フィードバック部は、
前記直接的同時選択の関係にあるソフトウェア部品の組み合わせを一つのソフトウェア部品とみなし、前記処理フロー情報を更新するステップ
を実行することを特徴とする方法。
【請求項8】
請求項7に係る方法であって、
前記ソフトウェア部品組合せ抽出支援装置は、さらに製品処理フロー登録部を有し、
前記製品処理フロー登録部は、
前記設備制御用ソフトウェアの実行中に、実行されたソフトウェア部品と、当該ソフトウェア部品が作用した設備を識別する情報を有する実行ログ情報を蓄積するステップと、
前記実行ログ情報に基づいて前記処理フロー情報を生成するステップと、
を実行することを特徴とする方法。
【請求項9】
設備制御用ソフトウェアを構成する複数のソフトウェア部品のうち関連性のあるソフトウェア部品の組み合わせを抽出するソフトウェア部品組合せ抽出支援装置であって、
前記ソフトウェア部品組合せ抽出支援装置は、
製品設計情報データベースと、直接的関係抽出部を有し、
前記製品設計情報データベースは、
前記設備制御用ソフトウェアによって実行される一以上の処理各々について、当該処理と、当該処理を実行するソフトウェア部品と、当該ソフトウェア部品が作用する設備と、を対応付けて登録した処理フロー情報、
を有し、
前記直接的関係抽出部は、
前記処理フロー情報を取得する手段と、
前記処理フロー情報に基づき、前記処理フロー情報で指定される複数のソフトウェア部品から同じ設備に作用するソフトウェア部品の組み合わせを直接的同時選択の関係にあるソフトウェア部品の組み合わせとして抽出する手段と、
を実行することを特徴とするソフトウェア部品組合せ抽出支援装置。
【請求項10】
請求項9に係るソフトウェア部品組合せ抽出支援装置であって、
前記ソフトウェア部品組合せ抽出支援装置は、さらに間接的関係抽出部を有し、
前記製品設計情報データベースはさらに、一方の設備が動作すると他方の設備も動作する連動関係にある設備を対応付けて登録した連動関係情報を有し、
前記間接的関係抽出部は、
前記処理フロー情報と前記連動関係情報を取得する手段と、
前記連動関係情報に基づき、前記連動関係にある設備に作用するソフトウェア部品の組み合わせを間接的同時選択の関係にあるソフトウェア部品として抽出する手段と、
を実行することを特徴とするソフトウェア部品組合せ抽出支援装置。
【請求項11】
設備制御用ソフトウェアを構成する複数のソフトウェア部品から関連あるソフトウェア部品の組み合わせを抽出するソフトウェア部品組合せ抽出支援装置であって、
前記ソフトウェア部品組合せ抽出支援装置は、
製品設計情報データベースと、直接的関係抽出部を有し、
前記製品設計情報データベースは、複数の設備制御用ソフトウェア各々について、
当該設備制御用ソフトウェアによって実行される複数の処理フローの処理各々について、当該処理を実行するソフトウェア部品と、当該ソフトウェア部品が作用する設備と、を対応付けて登録した処理フロー情報と、
当該設備制御用ソフトウェアによって実行される複数の処理フローについて、処理の結果として現れる設備の状態が正反対である処理を対応付けて登録した否定関係情報と、
を有し、
前記直接的関係抽出部は、
前記複数の設備制御用ソフトウェアのうちの一の設備制御用ソフトウェアの処理フロー情報から、当該一の設備制御用ソフトウェアを構成するソフトウェア部品群を抽出して第一のソフトウェア部品群とする手段と、
前記複数の設備制御用ソフトウェアのうち前記一の設備制御用ソフトウェア以外の設備制御用ソフトウェアを構成するソフトウェア部品であって、
前記第一のソフトウェア部品群に含まれないソフトウェア部品を抽出して第二のソフトウェア部品群とする手段と、
前記第一のソフトウェア部品群と前記第二のソフトウェア部品群の各々からソフトウェア部品を選択して組とする手段と、
前記処理フロー情報に基づき、前記組を構成するソフトウェア部品が同じ設備に作用するソフトウェア部品か判断する手段と、
前記組を構成するソフトウェア部品が同じ設備に作用する場合、前記否定関係情報に基づき、前記組を構成するソフトウェア部品による処理の結果現れる設備の状態が正反対の関係にあるものを直接的排他選択の関係にあるソフトウェア部品として抽出する手段と、
を実行有することを特徴とするソフトウェア部品組合せ抽出支援装置。
【請求項12】
請求項11に係るソフトウェア部品組合せ抽出支援装置であって、
前記ソフトウェア部品組合せ抽出支援装置は、さらに間接的関係抽出部を有し、
前記製品設計情報データベースはさらに、一方の設備が動作すると他方の設備も動作する連動関係にある設備を対応付けて登録した連動関係情報を有し、
前記間接的関係抽出部は、
前記連動関係情報に基づき、前記抽出した組を構成するソフトウェア部品が前記連動関係にある設備に作用するソフトウェア部品である場合に間接的排他選択の関係にあるソフトウェア部品として当該ソフトウェア部品を抽出する手段と、
を実行することを特徴とするソフトウェア部品組合せ抽出支援装置。
【請求項13】
請求項10及び請求項12に係るソフトウェア部品組合せ抽出支援装置であって、
前記ソフトウェア部品組合せ抽出支援装置は、さらに依存関係結合部を有し、
前記依存関係結合部は、
前記直接的同時選択の関係、前記間接的同時選択の関係、前記直接的排他選択の関係、前記間接的排他選択の関係の同一又は異なる二つ以上の関係を介して生じるソフトウェア部品の暗黙的関係を抽出する手段と、
を有することを特徴とするソフトウェア部品組合せ抽出支援装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−69086(P2013−69086A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2011−206728(P2011−206728)
【出願日】平成23年9月22日(2011.9.22)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】