上述したような事情から、モジュール相互間のインタフェースの整合性を担保するような設計や解析、検証を行って完成するロケットの誘導制御関連のシステムソフトウェアは、極めて専用性の高い内容のものとなる。
一方、ロケットの開発プロジェクト(号機単位又はシリーズ単位)が変わると、ロケットの誘導制御の内容も変化する。したがって、ロケットの誘導制御関連のシステムソフトウェアは、基本的に、ロケットの開発プロジェクト(号機単位又はシリーズ単位)毎に開発される。
このため、他の開発プロジェクトで開発した専用性の高いシステムソフトウェアを他のプロジェクトに転用しようとすると、誘導制御の内容が変わってもモジュール相互間のインタフェースの整合性が担保されるように、設計内容の大規模な再検証作業が必要になる。そのことが、この種のシステムソフトウェアを他のプロジェクトに転用することの障害となり、システムソフトウェアの市場規模を小さくする要因となっている。
したがって、ロケットの誘導制御関連のシステムソフトウェアについては、運用中の評価データを多く収集してシステムソフトウェアの改良にフィードバックすることが難しい。このような事情から、汎用性を持たせる観点でシステムソフトウェアの洗練度を向上させることは、非常に困難であるのが実情である。
本発明は前記事情に鑑みなされたもので、本発明の目的は、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を容易にすることができるタスク設計支援システムとタスク設計支援方法とを提供することにある。
上記目的を達成するため、請求項1に記載した本発明のタスク設計支援システムは、
システムソフトウェアを構成するタスクの設計を支援するシステムであって、
タスクの実行に必要な入力条件を定義したタスク入力条件テーブルが入力条件別に識別可能に記憶されている入力条件データベースと、
各タスクの入出力情報を定義した入出力情報テーブルが情報別に識別可能に記憶されている入出力情報データベースと、
タスクの実行により出力される出力情報を定義したタスク出力情報テーブルが出力情報別に識別可能に記憶されている出力情報データベースと、
タスクの前記入力条件及び前記出力情報を定義したタスク定義テーブルがタスク別に識別可能に記憶されているタスクデータベースと、
前記タスク入力条件テーブルで前記入力条件として定義されている情報と前記入出力情報テーブルで定義されている情報とが一致する、前記タスク入力条件テーブルと前記入出力情報テーブルとの組み合わせのうち、一方のテーブルを指定することで他方のテーブルを抽出する第1抽出手段と、
前記タスク出力情報テーブルで前記出力情報として定義されている情報と前記入出力情報テーブルで定義されている情報とが一致する、前記タスク出力情報テーブルと前記入出力情報テーブルとの組み合わせのうち、一方のテーブルを指定することで他方のテーブルを抽出する第2抽出手段と、
前記第1抽出手段が抽出した前記タスク入力条件テーブルで定義されている前記入力条件が定義されている前記タスク定義テーブルと、前記第2抽出手段が抽出した前記タスク出力情報テーブルで定義されている前記出力情報が定義されている前記タスク定義テーブルとのうち、少なくとも一方を抽出する第3抽出手段と、
前記タスク定義テーブルで定義されている前記入力条件を定義した前記タスク入力条件テーブルが前記一方のテーブルとして指定された前記第1抽出手段が抽出する前記他方のテーブルの、前記第2抽出手段に対する前記一方のテーブルとしての指定と、前記タスク定義テーブルで定義されている前記出力情報を定義した前記タスク出力情報テーブルが前記一方のテーブルとして指定された前記第2抽出手段が抽出する前記他方のテーブルの、前記第1抽出手段に対する前記一方のテーブルとしての指定とのうち、少なくとも一方を行う指定手段と、
を備えることを特徴とする。
請求項1に記載した本発明のタスク設計支援システムによれば、タスクを設計する度に、そのタスクの入力条件及び出力情報をそれぞれ定義するタスク入力条件テーブル及びタスク出力情報テーブルが、入力条件データベース及び出力情報データベースにそれぞれ記憶される。また、そのタスクの入力条件や出力情報となる情報を定義する入出力情報テーブルが、入出力情報データベースに記憶される。
したがって、検証対象である自タスクに対応するタスク入力条件テーブルを第1抽出手段に指定すると、第1抽出手段は、そのタスク入力条件テーブルで定義されている入力条件をキーワードとする入出力情報テーブルの検索を、入出力情報データベースに対して行う。これにより、第1抽出手段は、自タスクの入力条件である情報を定義した入出力情報テーブルを抽出する。
そして、第1抽出手段が抽出した入出力情報テーブルを第2抽出手段に指定すると、第2抽出手段は、その入出力情報テーブルで定義されている情報をキーワードとするタスク出力情報テーブルの検索を、出力情報データベースに対して行う。これにより、第2抽出手段は、自タスクの入力条件である情報を出力情報として定義したタスク出力情報テーブルを抽出する。
また、第3抽出手段は、第2抽出手段が抽出したタスク出力情報テーブルで定義されている出力情報をキーワードとするタスク定義テーブルの検索を、タスクデータベースに対して行う。これにより、第3抽出手段は、自タスクの入力条件である情報を出力情報として定義したタスク定義テーブルを抽出する。
なお、第2抽出手段がタスク出力情報テーブルを抽出できない場合や、第3抽出手段がタスク定義テーブルを抽出できない場合は、自タスクの入力条件である情報を出力情報とする他のタスクが存在しないことになる。
一方、自タスクに対応するタスク出力情報テーブルを第2抽出手段に指定すると、第2抽出手段は、そのタスク出力情報テーブルで定義されている出力情報をキーワードとする入出力情報テーブルの検索を、入出力情報データベースに対して行う。これにより、第2抽出手段は、自タスクの出力情報である情報を定義した入出力情報テーブルを抽出する。
そして、第2抽出手段が抽出した入出力情報テーブルを第1抽出手段に指定すると、第1抽出手段は、その入出力情報テーブルで定義されている情報をキーワードとするタスク入力条件テーブルの検索を、入力条件データベースに対して行う。これにより、第1抽出手段は、自タスクの出力情報である情報を入力条件として定義したタスク入力条件テーブルを抽出する。
また、第3抽出手段は、第1抽出手段が抽出したタスク入力条件テーブルで定義されている入力条件をキーワードとするタスク定義テーブルの検索を、タスクデータベースに対して行う。これにより、第3抽出手段は、自タスクの出力情報である情報を入力条件として定義したタスク定義テーブルを抽出する。
なお、第1抽出手段がタスク入力条件テーブルを抽出できない場合や、第3抽出手段がタスク定義テーブルを抽出できない場合は、自タスクの出力情報である情報を入力条件とする他のタスクが存在しないことになる。
以上のことから、あるタスクを設計した場合に、そのタスクの入力条件である情報を他のタスクから取得できるか否かや、そのタスクの出力情報を入力条件として利用する他のタスクが存在するか否かを、検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を容易にすることができる。
また、請求項2に記載した本発明のタスク設計支援システムは、請求項1に記載した本発明のタスク設計支援システムにおいて、前記入出力情報テーブルが、該入出力情報テーブルで定義されている情報と該情報の属性とを関連付けて定義しており、前記第1抽出手段が、前記一方のテーブルとして指定された前記入出力情報テーブルに対して前記他方のテーブルに該当する前記タスク入力条件テーブルを抽出できない場合に、前記第2抽出手段が、前記入出力情報テーブルで定義されている情報と関連付けて該入出力情報テーブルで定義されている前記属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを、前記他方のテーブルとして抽出し、前記第2抽出手段が、前記一方のテーブルとして指定された前記入出力情報テーブルに対して前記他方のテーブルに該当する前記タスク出力情報テーブルを抽出できない場合に、前記第1抽出手段が、前記入出力情報テーブルで定義されている情報と関連付けて該入出力情報テーブルで定義されている前記属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを、前記他方のテーブルとして抽出することを特徴とする。
さらに、請求項3に記載した本発明のタスク設計支援システムは、請求項1又は2に記載した本発明のタスク設計支援システムにおいて、前記入出力情報テーブルが、該入出力情報テーブルで定義されている情報と該情報の属性とを関連付けて定義しており、前記第3抽出手段が、前記第1抽出手段が抽出した前記タスク入力条件テーブルで定義されている前記入力条件が定義されている前記タスク定義テーブルを抽出できない場合に、前記第2抽出手段が、前記入出力情報テーブルで定義されている情報と関連付けて該入出力情報テーブルで定義されている前記属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを、前記他方のテーブルとして抽出し、前記第3抽出手段が、前記第2抽出手段が抽出した前記タスク出力情報テーブルで定義されている前記出力情報が定義されている前記タスク定義テーブルを抽出できない場合に、前記第1抽出手段が、前記入出力情報テーブルで定義されている情報と関連付けて該入出力情報テーブルで定義されている前記属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを、前記他方のテーブルとして抽出することを特徴とする。
請求項2に記載した本発明のタスク設計支援システムによれば、請求項1に記載した本発明のタスク設計支援システムにおいて、第1抽出手段がタスク入力条件テーブルを抽出できない場合に、また、請求項3に記載した本発明のタスク設計支援システムによれば、請求項1又は2に記載した本発明のタスク設計支援システムにおいて、第1抽出手段が抽出したタスク入力条件テーブルで定義されている入力条件が定義されているタスク定義テーブルを第3抽出手段が抽出できない場合に、以下のようになる。
即ち、第2抽出手段は、先に抽出した入出力情報テーブル上で自タスクの出力情報である情報と関連付けて定義された属性と同じ属性が情報と関連付けて定義されている他の入出力情報テーブルを、改めて抽出する。そして、第2抽出手段が改めて抽出した他の入出力情報テーブルを指定された第1抽出手段は、自タスクの出力情報である情報と属性が同じ情報を入力条件として定義したタスク入力条件テーブルを抽出することになる。
一方、請求項2に記載した本発明のタスク設計支援システムによれば、請求項1に記載した本発明のタスク設計支援システムにおいて、第2抽出手段がタスク出力情報テーブルを抽出できない場合に、また、請求項3に記載した本発明のタスク設計支援システムによれば、請求項1又は2に記載した本発明のタスク設計支援システムにおいて、第2抽出手段が抽出したタスク出力情報テーブルで定義されている出力情報が定義されているタスク定義テーブルを第3抽出手段が抽出できない場合に、以下のようになる。
即ち、第1抽出手段は、先に抽出した入出力情報テーブル上で自タスクの入力条件である情報と関連付けて定義された属性と同じ属性が情報と関連付けて定義されている他の入出力情報テーブルを、改めて抽出する。そして、第1抽出手段が改めて抽出した他の入出力情報テーブルを指定された第2抽出手段は、自タスクの入力条件である情報と属性が同じ情報を出力情報として定義したタスク出力条件テーブルを抽出することになる。
以上のことから、設計したタスクが他のタスクから入力条件を取得できない場合に、代わりとなり得る情報を出力情報とする他のタスクが存在するか否かを、情報の属性に基づいて検証することができる。また、設計したタスクの出力情報が他のタスクで利用されない場合に、設計したタスクの出力情報を入力条件の代わりとして利用し得る他のタスクが存在するか否かを、情報の属性に基づいて検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、整合性の許容範囲を拡げてより容易にすることができる。
また、請求項4に記載した本発明のタスク設計支援システムは、請求項1、2又は3に記載した本発明のタスク設計支援システムにおいて、タスクの時系列上における実行タイミングを定義するタスクスケジュールテーブルがタスク別に識別可能に記憶されているスケジュールデータベースと、一方のタスクの前記出力情報を他方のタスクの前記入力条件とする上で時系列上の矛盾を生じるか否かを、これら一方及び他方の各タスクにそれぞれ対応する前記タスクスケジュールテーブルで定義された前記実行タイミングどうしの比較により判定する時系列判定手段とをさらに備えることを特徴とする。
請求項4に記載した本発明のタスク設計支援システムによれば、請求項1、2又は3に記載した本発明のタスク設計支援システムにおいて、自タスクの入力条件である情報を出力情報とする他のタスクが、自タスクよりも前のタイミングで実行されるものであって、そのタスクの出力情報を自タスクの入力条件として利用できるか否かを、両タスクのタスクスケジュールテーブルでそれぞれ定義された実行タイミングの先後に基づいて検証することができる。
同様に、自タスクの出力情報を入力条件とする他のタスクが、自タスクよりも後のタイミングで実行されるものであって、自タスクの出力情報を他のタスクに入力条件として供給できるか否かを、両タスクのタスクスケジュールテーブルでそれぞれ定義された実行タイミングの先後に基づいて検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、自タスクと他のタスクとの時系列上における実行タイミングの前後関係まで考慮して、より容易にすることができる。
さらに、上記目的を達成するため、請求項5に記載した本発明のタスク設計支援方法は、
システムソフトウェアを構成するタスクのコンピュータを用いた設計を支援する方法であって、
前記コンピュータが、タスクの実行に必要な入力条件を定義したタスク入力条件テーブルが入力条件別に識別可能に記憶されている入力条件データベースを検索して、自タスクの前記入力条件が定義されている前記タスク入力条件テーブルを抽出するステップと、
前記コンピュータが、各タスクの入出力情報を定義した入出力情報テーブルが情報別に識別可能に記憶されている入出力情報データベースを検索して、前記抽出したタスク入力条件テーブルにおいて前記入力条件として定義されている情報が定義されている前記入出力情報テーブルを抽出するステップと、
前記コンピュータが、タスクの実行により出力される出力情報を定義したタスク出力情報テーブルが出力情報別に識別可能に記憶されている出力情報データベースを検索して、前記抽出した入出力情報テーブルで定義されている情報が前記出力情報として定義されている前記タスク出力情報テーブルを抽出するステップと、
前記コンピュータが、タスクの出力情報を定義するタスク定義テーブルがタスク別に識別可能に記憶されているタスクデータベースを検索して、前記抽出したタスク出力情報テーブルにおいて定義されている前記出力情報が定義されているタスク定義テーブルを抽出するステップと、
を含むことを特徴とする。
また、上記目的を達成するため、請求項9に記載した本発明のタスク設計支援方法は、
システムソフトウェアを構成するタスクのコンピュータを用いた設計を支援する方法であって、
前記コンピュータが、タスクの実行により出力される出力情報を定義したタスク出力情報テーブルが出力情報別に識別可能に記憶されている出力情報データベースを検索して、自タスクの前記出力情報が定義されている前記タスク出力情報テーブルを抽出するステップと、
前記コンピュータが、各タスクの入出力情報を定義した入出力情報テーブルが情報別に識別可能に記憶されている入出力情報データベースを検索して、前記抽出したタスク出力情報テーブルにおいて前記出力情報として定義されている情報が定義されている前記入出力情報テーブルを抽出するステップと、
前記コンピュータが、タスクの実行に必要な入力条件を定義したタスク入力条件テーブルが入力条件別に識別可能に記憶されている入力条件データベースを検索して、前記抽出した入出力情報テーブルで定義されている情報が前記入力条件として定義されている前記タスク入力条件テーブルを抽出するステップと、
前記コンピュータが、タスクの入力条件を定義するタスク定義テーブルがタスク別に識別可能に記憶されているタスクデータベースを検索して、前記抽出したタスク入力条件テーブルにおいて定義されている前記入力条件が定義されているタスク定義テーブルを抽出するステップと、
を含むことを特徴とする。
請求項5に記載した本発明のタスク設計支援方法によれば、4つのステップにおける抽出を順次行うことで、自タスクの入力条件である情報を出力情報として定義したタスク定義テーブルが抽出される。そして、4つのステップを順次行う途中で、自タスクの入力条件である情報を出力情報として定義したタスク出力情報テーブルやタスク定義テーブルを抽出できない場合は、自タスクの入力条件である情報を出力情報とする他のタスクが存在しないことになる。したがって、あるタスクを設計した場合に、そのタスクの入力条件である情報を他のタスクから取得できるか否かを、検証することができる。
請求項9に記載した本発明のタスク設計支援方法によれば、4つのステップにおける抽出を順次行うことで、自タスクの出力情報である情報を入力条件として定義したタスク定義テーブルが抽出される。そして、4つのステップを順次行う途中で、自タスクの出力情報である情報を入力条件として定義したタスク入力条件テーブルやタスク定義テーブルを抽出できない場合は、自タスクの出力情報である情報を入力条件とする他のタスクが存在しないことになる。したがって、あるタスクを設計した場合に、そのタスクの出力情報を入力条件として利用する他のタスクが存在するか否かを、検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、整合性の許容範囲を拡げてより容易にすることができる。
さらに、請求項6に記載した本発明のタスク設計支援方法は、請求項5に記載した本発明のタスク設計支援方法において、前記抽出した入出力情報テーブルで定義されている情報が前記出力情報として定義されている前記タスク出力情報テーブルを抽出する前記ステップにおいて、前記タスク出力情報テーブルを抽出できなかった場合に、前記コンピュータが、前記入出力情報データベースを検索して、前記抽出した入出力情報テーブルで定義されている情報と関連付けて定義されている属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを抽出するステップをさらに含むことを特徴とする。
また、請求項7に記載した本発明のタスク設計支援方法は、請求項5又は6に記載した本発明のタスク設計支援方法において、前記抽出したタスク出力情報テーブルにおいて定義されている前記出力情報が定義されているタスク定義テーブルを抽出する前記ステップにおいて、前記タスク定義テーブルを抽出できなかった場合に、前記コンピュータが、前記出力情報データベースを検索して、前記抽出したタスク出力情報テーブルで定義されている前記出力情報と関連付けて定義されている属性と同じ属性が前記出力情報と関連付けて定義されている、他の前記タスク出力情報テーブルを抽出するステップをさらに含むことを特徴とする。
請求項6に記載した本発明のタスク設計支援方法によれば、請求項5に記載した本発明のタスク設計支援方法において、タスク出力情報テーブルを抽出できない場合に、また、請求項7に記載した本発明のタスク設計支援方法によれば、請求項5又は6に記載した本発明のタスク設計支援方法において、抽出したタスク出力情報テーブルで定義されている出力情報が定義されているタスク定義テーブルを抽出できない場合に、以下のようになる。
即ち、先に抽出した入出力情報テーブル上で自タスクの入力条件である情報と関連付けて定義された属性と同じ属性が情報と関連付けて定義されている他の入出力情報テーブルを、改めて抽出する。そして、改めて抽出した他の入出力情報テーブルで定義された情報を出力情報として定義した、つまり、自タスクの入力条件である情報と属性が同じ情報を出力情報として定義した、タスク出力条件テーブルを抽出することになる。
以上のことから、設計したタスクが他のタスクから入力条件を取得できない場合に、代わりとなり得る情報を出力情報とする他のタスクが存在するか否かを、情報の属性に基づいて検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、整合性の許容範囲を拡げてより容易にすることができる。
さらに、請求項10に記載した本発明のタスク設計支援方法は、請求項9に記載した本発明のタスク設計支援方法において、前記抽出した入出力情報テーブルで定義されている情報が前記入力条件として定義されている前記タスク入力条件テーブルを抽出する前記ステップにおいて、前記タスク入力条件テーブルを抽出できなかった場合に、前記コンピュータが、前記入出力情報データベースを検索して、前記抽出した入出力情報テーブルで定義されている情報と関連付けて定義されている属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを抽出するステップをさらに含むことを特徴とする。
また、請求項11に記載した本発明のタスク設計支援方法は、請求項9又は10に記載した本発明のタスク設計支援方法において、前記抽出したタスク入力条件テーブルにおいて定義されている前記入力条件が定義されているタスク定義テーブルを抽出する前記ステップにおいて、前記タスク定義テーブルを抽出できなかった場合に、前記コンピュータが、前記入力条件データベースを検索して、前記抽出したタスク入力条件テーブルで定義されている前記入力条件と関連付けて定義されている属性と同じ属性が前記入力条件と関連付けて定義されている、他の前記タスク入力条件テーブルを抽出するステップをさらに含むことを特徴とする。
請求項10に記載した本発明のタスク設計支援方法によれば、請求項9に記載した本発明のタスク設計支援方法において、タスク入力条件テーブルを抽出できない場合に、また、請求項11に記載した本発明のタスク設計支援方法によれば、請求項9又は10に記載した本発明のタスク設計支援方法において、抽出したタスク入力条件テーブルで定義されている入力条件が定義されているタスク定義テーブルを抽出できない場合に、以下のようになる。
即ち、先に抽出した入出力情報テーブル上で自タスクの出力情報である情報と関連付けて定義された属性と同じ属性が情報と関連付けて定義されている他の入出力情報テーブルを、改めて抽出する。そして、改めて抽出した他の入出力情報テーブルで定義された情報を入力条件として定義した、タスク入力条件テーブルを抽出することになる。
以上のことから、設計したタスクの出力情報が他のタスクで利用されない場合に、設計したタスクの出力情報を入力条件の代わりとして利用し得る他のタスクが存在するか否かを、情報の属性に基づいて検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、整合性の許容範囲を拡げてより容易にすることができる。
さらに、請求項8に記載した本発明のタスク設計支援方法は、請求項5、6又は7に記載した本発明のタスク設計支援方法において、前記コンピュータが、タスクの時系列上における実行タイミングを定義するタスクスケジュールテーブルがタスク別に識別可能に記憶されているスケジュールデータベースを検索して、前記抽出したタスク定義テーブルで定義されているタスクに対応する前記タスクスケジュールテーブルと、前記自タスクに対応する前記タスクスケジュールテーブルとを抽出し、これら抽出した各タスクスケジュールテーブルでそれぞれ定義されている前記各実行タイミングが、前記抽出したタスク定義テーブルで定義されているタスクの前記出力情報を前記自タスクの前記入力条件とする上で時系列上の矛盾を生じるか否かを判定するステップをさらに含むことを特徴とする。
また、請求項12に記載した本発明のタスク設計支援方法は、請求項9、10又は11に記載した本発明のタスク設計支援方法において、前記コンピュータが、タスクの時系列上における実行タイミングを定義するタスクスケジュールテーブルがタスク別に識別可能に記憶されているスケジュールデータベースを検索して、前記抽出したタスク定義テーブルで定義されているタスクに対応する前記タスクスケジュールテーブルと、前記自タスクに対応する前記タスクスケジュールテーブルとを抽出し、これら抽出した各タスクスケジュールテーブルでそれぞれ定義されている前記各実行タイミングが、前記自タスクの前記出力情報を前記抽出したタスク定義テーブルで定義されているタスクの前記入力条件とする上で時系列上の矛盾を生じるか否かを判定するステップをさらに含むことを特徴とする。
請求項8に記載した本発明のタスク設計支援方法によれば、請求項5、6又は7に記載した本発明のタスク設計支援方法において、自タスクの入力条件である情報を出力情報とする他のタスクが、自タスクよりも前のタイミングで実行されるものであって、そのタスクの出力情報を自タスクの入力条件として利用できるか否かを、両タスクのタスクスケジュールテーブルでそれぞれ定義された実行タイミングの先後に基づいて検証することができる。
請求項12に記載した本発明のタスク設計支援方法によれば、請求項9、10又は11に記載した本発明のタスク設計支援方法において、自タスクの出力情報を入力条件とする他のタスクが、自タスクよりも後のタイミングで実行されるものであって、自タスクの出力情報を他のタスクに入力条件として供給できるか否かを、両タスクのタスクスケジュールテーブルでそれぞれ定義された実行タイミングの先後に基づいて検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、自タスクと他のタスクとの時系列上における実行タイミングの前後関係まで考慮して、より容易にすることができる。
本発明のタスク設計支援システム及びタスク設計支援方法によれば、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を容易にすることができる。
以下、本発明の実施形態について図面を参照しながら説明する。
図1は本発明の一実施形態に係るタスク設計支援システムの概略構成を示す説明図であり、図2は図1のデータベースの記憶内容を示す説明図である。
本実施形態のタスク設計支援システムは、図1に示すように、データベースサーバ10、ネットワークサーバ30、及び、複数のクライアント端末40,40,…をLAN接続したイントラネットによって構成されている。一部又は全部のクライアント端末40は、インターネット(図示せず)を介して、ネットワークサーバ30及びデータベースサーバ10に接続してもよい。各クライアント端末40は、CPU、RAM、ROM(いずれも図示せず)をそれぞれ内蔵しており、また、ディスプレイ41、キーボード42、及び、マウス43をそれぞれ有している。
前記データベースサーバ10は、データベースを保有し、クライアント端末40から検索や更新などの要求を受けたときに処理を行い、結果をクライアント端末40で実行されているアプリケーションプログラムに返すサーバである。データベースサーバ10が保有する(に記憶される)データベースには、図2に示すタスクデータベース11、入力条件データベース13、出力情報データベース15、入出力情報データベース17、及び、スケジュールデータベース19が含まれる。
タスクデータベース11には、タスクの実行に必要な入力条件とタスクの実行により出力される出力情報とをIDによって定義する「タスク定義テーブル(2)」が記憶される。このタスク定義テーブル(2)には、「タスクID」、「入力条件ID」及び「出力情報ID」等の項目や、「タスク定義バージョン」、「タスクカテゴリID」、「タスク内容」等の属性に関する項目が定義されている。そして、項目「タスクID」はプライマリキー(PK:PrimaryKey、主キー)及びフォーリンキー(FK:ForeignKey、外部参照キー)に設定されており、項目「入力条件ID」及び「出力情報ID」はフォーリンキーに設定されている。このような構成のタスク定義テーブル(2)は、タスク別に定義され、適宜図示しない外部データベースからタスク定義情報を参照し、フォーリンキーを割り当てる。
入力条件データベース13には、入力条件としての情報をIDによって定義する「タスク入力条件テーブル(6)」が記憶される。このタスク入力条件テーブル(6)には、「入力条件ID」や「情報ID」等の項目が定義されている。そして、項目「入力条件ID」はプライマリキーに設定されており、項目「情報ID」はフォーリンキーに設定されている。このような構成のタスク入力条件テーブル(6)は、定義する入力条件の内容(情報)別に定義される。
出力情報データベース15には、出力情報としての情報をIDによって定義する「タスク出力情報テーブル(7)」が記憶される。このタスク出力情報テーブル(7)には、「出力情報ID」や「情報ID」等の項目が定義されている。そして、項目「出力情報ID」はプライマリキーに設定されており、項目「情報ID」はフォーリンキーに設定されている。このような構成のタスク出力情報テーブル(7)は、定義する出力条件の内容(情報)別に定義される。
入出力情報データベース17には、タスクの入力条件や出力情報(入出力情報)としての情報を名称等によって定義する「入出力情報テーブル(8)」が記憶される。この入出力情報テーブル(8)には、「情報ID」や「名称」等の項目の他、「内容」や「バージョン」等の属性に関する項目が定義されている。そして、項目「情報ID」はプライマリキーに設定されている。フォーリンキーに設定された項目は存在しない。このような構成の入出力情報テーブル(8)は、定義する情報の内容別に定義される。
スケジュールデータベース19には、タスクの時系列上における実行タイミングを定義する「タスクスケジュールテーブル(3)」が記憶される。このタスクスケジュールテーブル(3)には、「タスクID」、「開始時期」及び「終了時期」等の項目が定義されている。そして、項目「タスクID」はプライマリキーに設定されている。フォーリンキーに設定された項目は存在しない。このような構成のタスクスケジュールテーブル(3)は、タスク別に定義される。
図3は図1のクライアント端末で設計されるタスクの概要を示す説明図、図4は図3のタスクについて図1のデータベースに登録されるテーブルの構成を示す説明図である。
図3に示すように、本実施形態のタスク設計支援システムを用いて設計するタスクAは、情報1〜4を入力条件とし、情報A1〜A4を出力情報とするものである。但し、入力条件及び出力情報の数は、タスクによってまちまちである。
そして、図4に示すように、タスクを設計した場合には、設計したタスク(自タスク)を定義するタスク定義テーブル(2)と、タスクの入力条件及び出力情報を示す定義するタスク入力条件テーブル(6)及びタスク出力情報テーブル(7)と、タスクの入力条件や出力情報の具体的な情報の内容を定義する入出力情報テーブル(8)を、それぞれのデータベース11〜17に記憶(登録)する。また、図4では図示を省略しているが、設計したタスクの実行タイミングを定義するタスクスケジュールテーブル(3)も、スケジュールデータベース19に記憶(登録)する。
次に、クライアント端末40において設計したタスクに関する各種テーブルを各データベースに登録する際に、クライアント端末40のROMに記憶されたプログラムにしたがってCPUが実行するインタフェース整合性検証処理の概略を、図4の説明図と図5のフローチャートとを参照して説明する。図5は、図1のクライアント端末において実行されるタスク設計支援処理の概略を示すフローチャートである。
なお、以下に説明する処理は、ディスプレイ41の表示にしたがってキーボード42やマウス43を操作し必要な情報等を入力することで進行する。また、各データベース11〜19のテーブルの内容を検索し特定のテーブルを抽出する処理の一部は、データベースサーバ10のCPUがROM(いずれも図示せず)に記憶されたプログラムにしたがって行う。
図5に示すように、まず、CPUは、設計したタスク(自タスク)について整合性チェックの完了を示すフラグが立っていないことを確認する(ステップS1)。次に、データチェックロジックを実行する(ステップS3)。このロジックでは、設計したタスクに関してデータベースサーバ10の各データベース11〜17に記憶するテーブルについて、NULLチェック、タスクID診断、無効データ診断、矛盾データ診断を行う。
NULLチェックでは、対象のタスクに関するタスク定義テーブル(2)の属性に関する項目が「NULL(無記入)」となっているかどうかを確認する。「NULL」である場合はアラートをディスプレイ41に表示する。
タスクID診断では、対象のタスクに関するタスク定義テーブル(2)の「タスクID」として採番したIDが、他のタスクに関するタスク定義テーブル(2)で既に使用されているIDと重複していないかどうかを確認する。他のタスクと重複する場合は、IDの変更を促すメッセージをディスプレイ41に表示する。
無効データ診断では、対象のタスクに関する入力条件や出力情報を示す情報IDが、タスク入力条件テーブル(6)及びタスク出力情報テーブル(7)にそれぞれ定義されており、かつ、その情報IDが正しい内容であることを確認する。
矛盾データ診断では、入出力情報テーブル(8)の同じ情報IDを参照しているタスク入力条件テーブル(6)及びタスク出力情報テーブル(7)の、属性に関する項目としてそれぞれ定義されている入出力カテゴリIDの内容が、互いに一致していることを確認する。また、矛盾データ診断では、入出力情報テーブル(8)の同じ情報IDを参照しているタスク出力情報テーブル(7)が複数存在していないことを確認する。
次に、CPUは、以上の4つのチェック、診断の結果に問題があり各テーブルの内容が異常であるか、診断の結果に問題がなく各テーブルの内容が正常であるかを確認する(ステップS5)。異常である場合は(ステップS5で「異常」)、ディスプレイ41において異常表示を行う等の異常終了処理を行った後(ステップS19)、一連の処理を終了する。この場合には、異常の原因となったテーブルの内容を修正した後、ステップS1からの処理を再度行うことになる。正常である場合は(ステップS5で「正常」)、機能モジュールリスト作成処理を実行する(ステップS7)。この処理では、ステップS5で正常であると確認された各テーブルを、データベースサーバ10の各データベース11〜19に記憶する。
これにより、データベースサーバ10の各データベース11〜17に、設計したタスクの入力条件に関する入出力情報テーブル(8)−タスク入力条件テーブル(6)−タスク定義テーブル(2)−タスク出力情報テーブル(7)−出力情報に関する入出力情報テーブル(8)が、図4の説明図に示す相互関係を持つ内容で、それぞれのデータベース11〜17に記憶されることになる。
続いて、CPUは、機能モジュールデータリンク診断ロジックを実行する(ステップS9)。このロジックでは、タスク入力条件診断及びタスク出力情報診断を行う。
タスク入力条件診断では、タスク入力条件テーブル(6)の項目として定義されている情報IDと同じ情報IDを項目に含む入出力情報テーブル(8)が、入出力情報データベース17に記憶されていることを確認する。つまり、図4の説明図における左半分の、入力条件に関する入出力情報テーブル(8)−タスク入力条件テーブル(6)−タスク定義テーブル(2)が、相互関係を担保した内容で対応する各データベース17,13,11に記憶されていることを確認する。
同様に、タスク出力情報診断では、タスク出力情報テーブル(7)の項目として定義されている情報IDと同じ情報IDを項目に含む入出力情報テーブル(8)が、入出力情報データベース17に記憶されていることを確認する。つまり、図4の説明図における右半分の、タスク定義テーブル(2)−タスク出力情報テーブル(7)−出力情報に関する入出力情報テーブル(8)が、相互関係を担保した内容で対応する各データベース17,13,11に記憶されていることを確認する。
次に、CPUは、タスク入力条件診断及びタスク出力情報診断の各診断結果にどちらか一方でも問題があり異常であるか、両診断結果とも問題がなく正常であるかを確認する(ステップS11)。このステップS11の確認において、タスク入力条件テーブル(6)の情報IDと同じ情報IDを項目に含む入出力情報テーブル(8)と、タスク出力情報テーブル(7)の情報IDと同じ情報IDを項目に含む入出力情報テーブル(8)とのうち、少なくとも一方が入出力情報データベース17に記憶されていなければ、確認結果は異常となり、両方とも記憶されていれば、確認結果は正常となる。
そして、診断結果が異常である場合は(ステップS11で「異常」)、ディスプレイ41において異常表示を行う等の異常終了処理を行った後(ステップS19)、一連の処理を終了する。この場合には、設計したタスクのデータベースサーバ10に記憶した各テーブルが、図4の説明図に示す相互関係を持つ内容となるように修正した後、ステップS1からの処理を再度行うことになる。また、診断結果が正常である場合は(ステップS11で「正常」)、機能モジュールデータ候補選択ロジック(ステップS13)と、機能モジュールタスクリンク時系列整合性診断ロジック(ステップS15)とを実行する。
機能モジュールデータ候補選択ロジックでは、設計したタスクで入力条件として使用する情報を出力情報として出力する他のタスクを抽出、選択する。また、同ロジックでは、設計したタスクが出力する出力情報の情報を入力条件とする他のタスクを抽出、選択する。
ここで、ステップS13の機能モジュールデータ候補選択ロジック及びステップS15の機能モジュールタスクリンク時系列整合性診断ロジックにおける具体的な処理内容を、図6及び図7のフローチャートと、図8乃至図13の説明図とを参照して説明する。
図6及び図7は、図5の機能モジュールデータ候補選択ロジック及び機能モジュールタスクリンク時系列整合性診断ロジックにおける具体的な処理内容を示すフローチャートである。図8乃至図10は、図1のタスク設計支援システムにより図3のタスクの出力情報に関するインタフェースの整合性を検証する際の検証内容を示す説明図である。図11は、図1のタスク設計支援システムにより図3のタスクの時系列上における実行タイミングの整合性を検証する際の検証内容を示す説明図である。図12及び図13は、図1のタスク設計支援システムにより図3のタスクの入力条件に関するインタフェースの整合性を検証する際の検証内容を示す説明図である。
なお、図6及び図7のフローチャートでは、機能モジュールデータ候補選択ロジック及び機能モジュールタスクリンク時系列整合性診断ロジックを一連の処理として実行する場合を例示しているが、個別の処理として実行しても良いのは勿論のことである。
図6に示すように、CPUは、設計したタスク(自タスク)のタスク定義テーブル(2)で定義されている出力情報ID(フォーリンキーFK5に設定)をプライマリキーに設定して定義したタスク出力情報テーブル(7)を、出力情報データベース15から抽出する(ステップS21)。次に、CPUは、ステップS21で抽出したタスク出力情報テーブル(7)で定義されている情報ID(フォーリンキーFK1に設定)をプライマリキーに設定して定義した入出力情報テーブル(8)を、入出力情報データベース17から抽出する(ステップS23)。
そして、CPUは、ステップS23で抽出した入出力情報テーブル(8)で定義されている情報IDをフォーリンキー(FK1)に設定して定義したタスク入力条件テーブル(6)が、入力条件データベース13に記憶されているか否かを確認する(ステップS25)。即ち、図8に示すように、入出力情報テーブル(8)で定義されている情報IDと同じ情報IDを定義したタスク入力条件テーブル(6)の有無を、情報IDを用いた入力条件データベース13の検索によって確認する。この情報IDは、出力情報に関する入出力情報テーブル(8)で定義されている、設計したタスクの出力情報となる情報(例えば情報A1)の情報IDである。
該当するタスク入力条件テーブル(6)が入力条件データベース13に記憶されていない場合は(ステップS25でNO)、ステップS23で抽出した入出力情報テーブル(8)と属性の項目で一致する内容を定義した他の入出力情報テーブル(8)が、入出力情報データベース17に記憶されているか否かを確認する(ステップS27)。即ち、図10の上段に示すように、設計したタスクの出力情報となる情報と同じ属性を有する情報を定義した他の入出力情報テーブル(8)の有無を、属性を用いた入出力情報データベース17の検索によって確認する。
他の入出力情報テーブル(8)が入出力情報データベース17に記憶されていない場合は(ステップS27でNO)、後述するステップS37に移行する。記憶されている場合は(ステップS27でYES)、該当する他の入出力情報テーブル(8)を、ステップS23で抽出した入出力情報テーブル(8)の代わりに選択するか否かを確認する(ステップS29)。選択しない場合は(ステップS29でNO)、ステップS37に移行する。選択する場合は(ステップS29でYES)、ステップS25にリターンする。
このように、ステップS29で他の入出力情報テーブル(8)を選択してステップS25にリターンすることで、図10の下段に示すように、設計したタスクの出力情報である情報を定義した入出力情報テーブル(8)に代えて、他の入出力情報テーブル(8)が、設計したタスクの出力情報を定義したタスク出力情報テーブル(7)と関連付けられることになる。また、ステップS29からリターンしたステップS25において、ステップS29で選択した入出力情報テーブル(8)で定義されている情報IDをフォーリンキー(FK1)に設定して定義したタスク入力条件テーブル(6)が、入力条件データベース13に記憶されているか否かを、確認することになる。
そして、ステップS25で該当するタスク入力条件テーブル(6)が入力条件データベース13に記憶されている場合(YES)は、記憶されているタスク入力条件テーブル(6)を入力条件データベース13から抽出する。さらに、抽出したタスク入力条件テーブル(6)でプライマリキーに設定して定義した入力条件IDをフォーリンキー(FK4)に設定して定義したタスク定義テーブル(2)が、タスクデータベース11に記憶されているか否かを確認する(ステップS31)。
即ち、図9に示すように、タスク入力条件テーブル(6)で定義されている情報IDと同じ情報IDを定義したタスク定義テーブル(2)の有無を、情報IDを用いたタスクデータベース11の検索によって確認する。この情報IDは、設計したタスクの出力情報となる情報(例えば情報A1)の情報IDである。
該当するタスク定義テーブル(2)がタスクデータベース11に記憶されていない場合は(ステップS31でNO)、ステップS27にリターンし、記憶されている場合は(ステップS31でYES)、ステップS31で記憶されていると確認したタスク定義テーブル(2)で定義されたタスクと、設計したタスク(自タスク)との間で、時系列上の整合性が取れているか否かを確認する(ステップS33)。
ステップS33の確認は、ステップS31で記憶されていると確認したタスク定義テーブル(2)で定義されたタスクが出力する出力情報を、設計したタスクが入力条件として利用できるか否かを、それぞれのタスクの実行タイミングを照合することで行う。
具体的には、まず、ステップS31で記憶されていると確認したタスク定義テーブル(2)と、設計したタスクのタスク定義テーブル(2)とのそれぞれについて、各タスク定義テーブル(2)で定義されているタスクID(PK及びFK1〜3に設定)をプライマリキーに設定して定義したタスクスケジュールテーブル(3)を、スケジュールデータベース19からそれぞれ抽出する。
次に、抽出した各タスクスケジュールテーブル(3)でそれぞれ定義されている「開始時期」及び「終了時期」等の項目を比較して、ステップS31で記憶されていると確認したタスク定義テーブル(2)で定義された他のタスクの実行タイミングよりも先に、設計したタスクの出力情報が出力されるか否かを確認する。他のタスクの出力情報が設計したタスクの実行タイミングよりも先に出力される場合、ステップS33の確認結果は時系列上の整合性が取れている(YES)となり、そうでない場合、ステップS33の確認結果は時系列上の整合性が取れていない(NO)となる。
なお、他のタスクが設計したタスクの実行タイミングよりも先に出力情報を出力し時系列上の整合性が取れている場合、他のタスクと設計したタスクとの関係は、例えば図11のタスク1(他のタスク)とタスク2(設計したタスク)とのような前後関係になる。
時系列上の整合性が取れている場合は(ステップS33でYES)、正常判定をして(ステップS35)、一連の処理を終了する。一方、時系列上の整合性が取れていない場合は(ステップS33でNO)、ステップS37に移行して、異常判定をして一連の処理を終了する。なお、ステップS27において、他の入出力情報テーブル(8)が入出力情報データベース17に記憶されていない場合(NO)や、ステップS29において、他の入出力情報テーブル(8)をステップS23で抽出した入出力情報テーブル(8)の代わりに選択しない場合(NO)にも、ステップS37の異常判定をして一連の処理を終了する。
また、図7に示すように、まず、CPUは、設計したタスク(自タスク)のタスク定義テーブル(2)で定義されている入力条件ID(フォーリンキーFK4に設定)をプライマリキーに設定して定義したタスク入力条件テーブル(6)を、入力条件データベース13から抽出する(ステップS41)。次に、CPUは、ステップS41で抽出したタスク入力条件テーブル(6)で定義されている情報ID(フォーリンキーFK1に設定)をプライマリキーに設定して定義した入出力情報テーブル(8)を、入出力情報データベース17から抽出する(ステップS43)。
そして、CPUは、ステップS43で抽出した入出力情報テーブル(8)で定義されている情報IDをフォーリンキー(FK1)に設定して定義したタスク出力情報テーブル(7)が、出力情報データベース15に記憶されているか否かを確認する(ステップS45)。即ち、図12に示すように、入出力情報テーブル(8)で定義されている情報IDと同じ情報IDを定義したタスク出力情報テーブル(7)の有無を、情報IDを用いた出力情報データベース15の検索によって確認する。この情報IDは、入力条件に関する入出力情報テーブル(8)で定義されている、設計したタスクの入力条件となる情報(例えば情報1)の情報IDである。
該当するタスク出力情報テーブル(7)が出力情報データベース15に記憶されていない場合は(ステップS45でNO)、ステップS43で抽出した入出力情報テーブル(8)と属性の項目で一致する内容を定義した他の入出力情報テーブル(8)が、入出力情報データベース17に記憶されているか否かを確認する(ステップS47)。
他の入出力情報テーブル(8)が入出力情報データベース17に記憶されていない場合は(ステップS47でNO)、後述するステップS57に移行する。記憶されている場合は(ステップS47でYES)、該当する他の入出力情報テーブル(8)を、ステップS43で抽出した入出力情報テーブル(8)の代わりに選択するか否かを確認する(ステップS49)。選択しない場合は(ステップS49でNO)、ステップS57に移行する。選択する場合は(ステップS49でYES)、ステップS45にリターンする。
このように、ステップS49で他の入出力情報テーブル(8)を選択してステップS45にリターンすることで、設計したタスクの入力条件である情報を定義した入出力情報テーブル(8)に代えて、他の入出力情報テーブル(8)が、設計したタスクの入力条件を定義したタスク出力情報テーブル(7)と関連付けられることになる。また、ステップS49からリターンしたステップS45において、ステップS49で選択した入出力情報テーブル(8)で定義されている情報IDをフォーリンキー(FK2)に設定して定義したタスク入力条件テーブル(6)が、入力条件データベース13に記憶されているか否かを、確認することになる。
そして、ステップS45で該当するタスク出力情報テーブル(7)が出力情報データベース15に記憶されている場合(YES)は、記憶されているタスク出力情報テーブル(7)を出力情報データベース15から抽出する。さらに、抽出したタスク出力情報テーブル(7)でプライマリキーに設定して定義した出力情報IDをフォーリンキー(FK5)に設定して定義したタスク定義テーブル(2)が、タスクデータベース11に記憶されているか否かを確認する(ステップS51)。
即ち、図13に示すように、タスク出力情報テーブル(7)で定義されている情報IDと同じ情報IDを定義したタスク定義テーブル(2)の有無を、情報IDを用いたタスクデータベース11の検索によって確認する。この情報IDは、設計したタスクの入力条件となる情報(例えば情報1)の情報IDである。
該当するタスク定義テーブル(2)がタスクデータベース11に記憶されていない場合は(ステップS51でNO)、ステップS47にリターンし、記憶されている場合は(ステップS51でYES)、ステップS51で記憶されていると確認したタスク定義テーブル(2)で定義されたタスクと、設計したタスク(自タスク)との間で、時系列上の整合性が取れているか否かを確認する(ステップS53)。
ステップS53の確認は、ステップS51で記憶されていると確認したタスク定義テーブル(2)で定義されたタスクが出力する出力情報を、設計したタスクが入力条件として利用できるか否かを、それぞれのタスクの実行タイミングを照合することで行う。
具体的には、まず、ステップS51で記憶されていると確認したタスク定義テーブル(2)と、設計したタスクのタスク定義テーブル(2)とのそれぞれについて、各タスク定義テーブル(2)で定義されているタスクID(PK及びFK1〜3に設定)をプライマリキーに設定して定義したタスクスケジュールテーブル(3)を、スケジュールデータベース19からそれぞれ抽出する。
次に、抽出した各タスクスケジュールテーブル(3)でそれぞれ定義されている「開始時期」及び「終了時期」等の項目を比較して、設計したタスクの実行タイミングよりも先に、ステップS51で記憶されていると確認したタスク定義テーブル(2)で定義された他のタスクの出力情報が出力されるか否かを確認する。設計したタスクの出力情報が他のタスクの実行タイミングよりも先に出力される場合、ステップS53の確認結果は時系列上の整合性が取れている(YES)となり、そうでない場合、ステップS53の確認結果は時系列上の整合性が取れていない(NO)となる。
なお、設計したタスクが他のタスクの実行タイミングよりも先に出力情報を出力し時系列上の整合性が取れている場合、設計したタスクと他のタスクとの関係は、例えば図11のタスク2(設計したタスク)とタスク3(他のタスク)とのような前後関係になる。
時系列上の整合性が取れている場合は(ステップS53でYES)、正常判定をして(ステップS55)、一連の処理を終了する。一方、時系列上の整合性が取れていない場合は(ステップS53でNO)、ステップS57に移行して、異常判定をして一連の処理を終了する。なお、ステップS47において、他の入出力情報テーブル(8)が入出力情報データベース17に記憶されていない場合(NO)や、ステップS49において、他の入出力情報テーブル(8)をステップS43で抽出した入出力情報テーブル(8)の代わりに選択しない場合(NO)にも、ステップS57の異常判定をして一連の処理を終了する。
以上に説明した図6及び図7の処理によって、図5のステップS13の機能モジュールデータ候補選択ロジック及びステップS15の機能モジュールタスクリンク時系列整合性診断ロジックを実行したならば、CPUは、機能モジュールデータ候補選択ロジック及び機能モジュールタスクリンク時系列整合性診断ロジックの診断結果が異常であるか正常であるかを確認する(ステップS17)。図6のステップS35や図7のステップS55において正常判定が行われた場合は、ステップS17の確認結果は正常となり、図6のステップS37や図7のステップS57において異常判定が行われた場合は、ステップS17の確認結果は異常となる。
そして、異常である場合は(ステップS17で「異常」)、ディスプレイ41において異常表示を行う等の異常終了処理を行った後(ステップS19)、一連の処理を終了する。この場合には、異常の原因となったテーブルの内容を修正した後、ステップS1からの処理を再度行うことになる。正常である場合は(ステップS17で「正常」)、一連の処理を終了する。
以上の説明からも明らかなように、本実施形態のタスク設計支援システムにおいては、図6のフローチャートにおけるステップS25及びステップS27と図7のフローチャートにおけるステップS43とが、請求項中の第1抽出手段に対応する処理となっている。また、本実施形態では、図6中のステップS23及びステップS27と図7中のステップS45とが、請求項中の第2抽出手段に対応する処理となっている。
さらに、本実施形態では、図6中のステップS31及び図7中のステップS51が、請求項中の第3抽出手段に対応する処理となっている。また、本実施形態では、図6中のステップS25及び図7中のステップS45が、請求項中の指定手段に対応する処理となっている。さらに、本実施形態では、図6中のステップS33及び図7中のステップS53が、請求項中の時系列判定手段に対応する処理となっている。
以上に説明したように、本実施形態のタスク設計支援システムによれば、設計したタスクの入力条件を他のタスクからの出力情報によって取得できるか否かや、設計したタスクの出力情報を入力条件として利用する他のタスクが存在するか否かを、他のタスクとの時系列上の前後関係を含めてチェックし検証することができる。このため、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を容易にすることができる。
しかも、本実施形態のタスク設計支援システムによれば、設計したタスクが入力条件として取得できる出力情報やその出力源となる他のタスクが存在しない場合に、設計したタスクが入力条件として利用できる他の情報を出力情報とするタスクを抽出することができる。同様に、本実施形態のタスク設計支援システムによれば、設計したタスクが出力する出力情報を入力条件として利用する他のタスクが存在しない場合に、設計したタスクの出力情報を入力条件として利用できる他のタスクを抽出することができる。
そのために、本実施形態のタスク設計支援システムでは、入力条件や出力情報とする情報と関連付けて入出力情報テーブルに定義された属性と同じ属性の情報を定義した他の入出力情報テーブルを、入出力情報データベース17の記憶内容から検索することができる。したがって、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、整合性の許容範囲を拡げてより容易にすることができる。
そして、設計したタスクのインタフェースの整合性評価を容易にすることができることから、システムソフトウェアを構成する一部のモジュールの内容が変わっても、モジュール相互間のインタフェースの整合性を担保するタスク設計や、設計内容の妥当性の解析及び検証を、膨大な工数による手作業で行わなくてもすむようにすることができる。よって、あるロケットの誘導制御のために開発したシステムソフトウェア中のモジュール(タスク)を、他のロケットの誘導制御に流用し易いようにして、モジュールの汎用性を高めることができる。
また、モジュールの汎用性が高まることから、汎用のオペレーションシステム(OS)を用い、そのオペレーションシステムと誘導制御関連のモジュールとの相互間インタフェースの整合性を、誘導制御関連モジュール側の設計、解析、検証の各段階で容易に評価することができる。
よって、図14に模式的に示すように、従来のシステムソフトウェアの一部として開発する専用のオペレーションシステムよりも、ハードウェア上での動作性能の完成度が高い汎用のオペレーションシステムを用いて、ロケットの誘導制御関連のシステムソフトウェアを構築することができる。
また、誘導制御関連のモジュールとして、汎用のオペレーションシステムとアプリケーションソフトウェアとのインタフェース機能を有するモジュールを用いるようにして、プラットフォームに依存しないアプリケーションソフトウェアをロケットの誘導制御に活用しやすくすることができる。
以上のような効果により、本実施形態のタスク設計支援システムによれば、ロケットの誘導制御に関する開発コストを低減することができる。
なお、本実施形態では、ロケットの誘導制御に関するシステムソフトウェアの設計に用いる場合を例に取って説明した。しかし、本発明のタスク設計支援システムは、他のタスクとのインタフェースの整合性評価を行う必要があるタスクの設計を行う際に、広く適用可能である。例えば、オペレーションシステム機能タスクとインタフェース機能モジュール(タスク)との相互間、インタフェース機能モジュール(タスク)とアプリケーション機能タスクとの相互間、あるいは、いずれかの機能タスク内のタスク相互間で、他のタスクとのインタフェースの整合性評価を行う必要があるタスクの設計を行う際に、本発明は適用可能である。