(57)【特許請求の範囲】
【請求項１】
システムソフトウェアを構成するタスクの設計を支援するシステムであって、
タスクの実行に必要な入力条件を定義したタスク入力条件テーブルが入力条件別に識別可能に記憶されている入力条件データベースと、
各タスクの入出力情報を定義した入出力情報テーブルが情報別に識別可能に記憶されている入出力情報データベースと、
タスクの実行により出力される出力情報を定義したタスク出力情報テーブルが出力情報別に識別可能に記憶されている出力情報データベースと、
タスクの前記入力条件及び前記出力情報を定義したタスク定義テーブルがタスク別に識別可能に記憶されているタスクデータベースと、
前記タスク入力条件テーブルで前記入力条件として定義されている情報と前記入出力情報テーブルで定義されている情報とが一致する、前記タスク入力条件テーブルと前記入出力情報テーブルとの組み合わせのうち、一方のテーブルを指定することで他方のテーブルを抽出する第１抽出手段と、
前記タスク出力情報テーブルで前記出力情報として定義されている情報と前記入出力情報テーブルで定義されている情報とが一致する、前記タスク出力情報テーブルと前記入出力情報テーブルとの組み合わせのうち、一方のテーブルを指定することで他方のテーブルを抽出する第２抽出手段と、
前記第１抽出手段が抽出した前記タスク入力条件テーブルで定義されている前記入力条件が定義されている前記タスク定義テーブルと、前記第２抽出手段が抽出した前記タスク出力情報テーブルで定義されている前記出力情報が定義されている前記タスク定義テーブルとのうち、少なくとも一方を抽出する第３抽出手段と、
前記タスク定義テーブルで定義されている前記入力条件を定義した前記タスク入力条件テーブルが前記一方のテーブルとして指定された前記第１抽出手段が抽出する前記他方のテーブルの、前記第２抽出手段に対する前記一方のテーブルとしての指定と、前記タスク定義テーブルで定義されている前記出力情報を定義した前記タスク出力情報テーブルが前記一方のテーブルとして指定された前記第２抽出手段が抽出する前記他方のテーブルの、前記第１抽出手段に対する前記一方のテーブルとしての指定とのうち、少なくとも一方を行う指定手段と、
を備えることを特徴とするタスク設計支援システム。
【請求項２】
前記入出力情報テーブルは、該入出力情報テーブルで定義されている情報と該情報の属性とを関連付けて定義しており、前記第１抽出手段が、前記一方のテーブルとして指定された前記入出力情報テーブルに対して前記他方のテーブルに該当する前記タスク入力条件テーブルを抽出できない場合に、前記第２抽出手段は、前記入出力情報テーブルで定義されている情報と関連付けて該入出力情報テーブルで定義されている前記属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを、前記他方のテーブルとして抽出し、前記第２抽出手段が、前記一方のテーブルとして指定された前記入出力情報テーブルに対して前記他方のテーブルに該当する前記タスク出力情報テーブルを抽出できない場合に、前記第１抽出手段は、前記入出力情報テーブルで定義されている情報と関連付けて該入出力情報テーブルで定義されている前記属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを、前記他方のテーブルとして抽出することを特徴とする請求項１記載のタスク設計支援システム。
【請求項３】
前記入出力情報テーブルは、該入出力情報テーブルで定義されている情報と該情報の属性とを関連付けて定義しており、前記第３抽出手段が、前記第１抽出手段が抽出した前記タスク入力条件テーブルで定義されている前記入力条件が定義されている前記タスク定義テーブルを抽出できない場合に、前記第２抽出手段は、前記入出力情報テーブルで定義されている情報と関連付けて該入出力情報テーブルで定義されている前記属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを、前記他方のテーブルとして抽出し、前記第３抽出手段が、前記第２抽出手段が抽出した前記タスク出力情報テーブルで定義されている前記出力情報が定義されている前記タスク定義テーブルを抽出できない場合に、前記第１抽出手段は、前記入出力情報テーブルで定義されている情報と関連付けて該入出力情報テーブルで定義されている前記属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを、前記他方のテーブルとして抽出することを特徴とする請求項１又は２記載のタスク設計支援システム。
【請求項４】
タスクの時系列上における実行タイミングを定義するタスクスケジュールテーブルがタスク別に識別可能に記憶されているスケジュールデータベースと、一方のタスクの前記出力情報を他方のタスクの前記入力条件とする上で時系列上の矛盾を生じるか否かを、これら一方及び他方の各タスクにそれぞれ対応する前記タスクスケジュールテーブルで定義された前記実行タイミングどうしの比較により判定する時系列判定手段とをさらに備えることを特徴とする請求項１、２又は３記載のタスク設計支援システム。
【請求項５】
システムソフトウェアを構成するタスクのコンピュータを用いた設計を支援する方法であって、
前記コンピュータが、タスクの実行に必要な入力条件を定義したタスク入力条件テーブルが入力条件別に識別可能に記憶されている入力条件データベースを検索して、自タスクの前記入力条件が定義されている前記タスク入力条件テーブルを抽出するステップと、
前記コンピュータが、各タスクの入出力情報を定義した入出力情報テーブルが情報別に識別可能に記憶されている入出力情報データベースを検索して、前記抽出したタスク入力条件テーブルにおいて前記入力条件として定義されている情報が定義されている前記入出力情報テーブルを抽出するステップと、
前記コンピュータが、タスクの実行により出力される出力情報を定義したタスク出力情報テーブルが出力情報別に識別可能に記憶されている出力情報データベースを検索して、前記抽出した入出力情報テーブルで定義されている情報が前記出力情報として定義されている前記タスク出力情報テーブルを抽出するステップと、
前記コンピュータが、タスクの出力情報を定義するタスク定義テーブルがタスク別に識別可能に記憶されているタスクデータベースを検索して、前記抽出したタスク出力情報テーブルにおいて定義されている前記出力情報が定義されているタスク定義テーブルを抽出するステップと、
を含むことを特徴とするタスク設計支援方法。
【請求項６】
前記抽出した入出力情報テーブルで定義されている情報が前記出力情報として定義されている前記タスク出力情報テーブルを抽出する前記ステップにおいて、前記タスク出力情報テーブルを抽出できなかった場合に、前記コンピュータが、前記入出力情報データベースを検索して、前記抽出した入出力情報テーブルで定義されている情報と関連付けて定義されている属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを抽出するステップをさらに含むことを特徴とする請求項５記載のタスク設計支援方法。
【請求項７】
前記抽出したタスク出力情報テーブルにおいて定義されている前記出力情報が定義されているタスク定義テーブルを抽出する前記ステップにおいて、前記タスク定義テーブルを抽出できなかった場合に、前記コンピュータが、前記出力情報データベースを検索して、前記抽出したタスク出力情報テーブルで定義されている前記出力情報と関連付けて定義されている属性と同じ属性が前記出力情報と関連付けて定義されている、他の前記タスク出力情報テーブルを抽出するステップをさらに含むことを特徴とする請求項５又は６記載のタスク設計支援方法。
【請求項８】
前記コンピュータが、タスクの時系列上における実行タイミングを定義するタスクスケジュールテーブルがタスク別に識別可能に記憶されているスケジュールデータベースを検索して、前記抽出したタスク定義テーブルで定義されているタスクに対応する前記タスクスケジュールテーブルと、前記自タスクに対応する前記タスクスケジュールテーブルとを抽出し、これら抽出した各タスクスケジュールテーブルでそれぞれ定義されている前記各実行タイミングが、前記抽出したタスク定義テーブルで定義されているタスクの前記出力情報を前記自タスクの前記入力条件とする上で時系列上の矛盾を生じるか否かを判定するステップをさらに含むことを特徴とする請求項５、６又は７記載のタスク設計支援方法。
【請求項９】
システムソフトウェアを構成するタスクのコンピュータを用いた設計を支援する方法であって、
前記コンピュータが、タスクの実行により出力される出力情報を定義したタスク出力情報テーブルが出力情報別に識別可能に記憶されている出力情報データベースを検索して、自タスクの前記出力情報が定義されている前記タスク出力情報テーブルを抽出するステップと、
前記コンピュータが、各タスクの入出力情報を定義した入出力情報テーブルが情報別に識別可能に記憶されている入出力情報データベースを検索して、前記抽出したタスク出力情報テーブルにおいて前記出力情報として定義されている情報が定義されている前記入出力情報テーブルを抽出するステップと、
前記コンピュータが、タスクの実行に必要な入力条件を定義したタスク入力条件テーブルが入力条件別に識別可能に記憶されている入力条件データベースを検索して、前記抽出した入出力情報テーブルで定義されている情報が前記入力条件として定義されている前記タスク入力条件テーブルを抽出するステップと、
前記コンピュータが、タスクの入力条件を定義するタスク定義テーブルがタスク別に識別可能に記憶されているタスクデータベースを検索して、前記抽出したタスク入力条件テーブルにおいて定義されている前記入力条件が定義されているタスク定義テーブルを抽出するステップと、
を含むことを特徴とするタスク設計支援方法。
【請求項１０】
前記抽出した入出力情報テーブルで定義されている情報が前記入力条件として定義されている前記タスク入力条件テーブルを抽出する前記ステップにおいて、前記タスク入力条件テーブルを抽出できなかった場合に、前記コンピュータが、前記入出力情報データベースを検索して、前記抽出した入出力情報テーブルで定義されている情報と関連付けて定義されている属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを抽出するステップをさらに含むことを特徴とする請求項９記載のタスク設計支援方法。
【請求項１１】
前記抽出したタスク入力条件テーブルにおいて定義されている前記入力条件が定義されているタスク定義テーブルを抽出する前記ステップにおいて、前記タスク定義テーブルを抽出できなかった場合に、前記コンピュータが、前記入力条件データベースを検索して、前記抽出したタスク入力条件テーブルで定義されている前記入力条件と関連付けて定義されている属性と同じ属性が前記入力条件と関連付けて定義されている、他の前記タスク入力条件テーブルを抽出するステップをさらに含むことを特徴とする請求項９又は１０記載のタスク設計支援方法。
【請求項１２】
前記コンピュータが、タスクの時系列上における実行タイミングを定義するタスクスケジュールテーブルがタスク別に識別可能に記憶されているスケジュールデータベースを検索して、前記抽出したタスク定義テーブルで定義されているタスクに対応する前記タスクスケジュールテーブルと、前記自タスクに対応する前記タスクスケジュールテーブルとを抽出し、これら抽出した各タスクスケジュールテーブルでそれぞれ定義されている前記各実行タイミングが、前記自タスクの前記出力情報を前記抽出したタスク定義テーブルで定義されているタスクの前記入力条件とする上で時系列上の矛盾を生じるか否かを判定するステップをさらに含むことを特徴とする請求項９、１０又は１１記載のタスク設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムソフトウェアを構成するタスクの設計を支援するシステムと方法に関するものである。
【背景技術】
【０００２】
ロケットの開発プロジェクトにおいては、ロケットを誘導制御するシステムソフトウェアの開発が欠かせない。このシステムソフトウェアは、オペレーションシステム（ＯＳ）と誘導制御関連モジュールとを有しており、これらのシステムソフトウェアは、航空宇宙分野に固有の環境条件を満足する専用の誘導制御計算機に搭載される。
【０００３】
誘導制御関連のシステムソフトウェアは、誘導制御計算機の仕様や特性を熟知したプログラマによってモジュール（ＣＳＵ）単位に分けてユニーク（個別）に開発される。開発された各モジュールは、モジュール相互間のインタフェースを手作業により確認検証しながら、モジュール群（ＣＳＣ）、さらにはソフトウェア（ＣＳＣＩ）へと組み上げられる。このようなシステムソフトウェアでは、モジュール間、言い換えるとタスク間のインタフェースが整合するかしないかが、設計、解析、検証の各作業において非常に重要となる。
【０００４】
上述したように、誘導制御関連のシステムソフトウェアはモジュール単位でユニークに開発されるので、モジュール間で連携するためのインタフェースデータやコマンド等が非常に多い。しかも、この種のシステムソフトウェアは、高機能高性能の要求に応えるため複雑なアルゴリズムを有している。このような事情が、モジュール相互間のインタフェースの整合性を満たす設計や、設計内容の妥当性の解析及び検証の各作業に、膨大な時間を要する原因となっている。そのため、この種のシステムソフトウェアには膨大な開発コストが必要となる。
【０００５】
上述したモジュール相互間のインタフェースの整合性を評価する観点では、従来の提案中に有用な技術は見当たらない。従来から知られている提案としては、例えば、ハードウェアで発生するイベントを受けて起動対象のソフトウェアをソフトウェア的にトリガするものや（例えば、特許文献１）、優先度の高いタスクの処理時間に基づいて優先度の低いタスクの遅延許容時間を決定するもの（例えば、特許文献２）が存在する程度である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２５３７９２号公報
【特許文献２】特開２０００−５６９８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したような事情から、モジュール相互間のインタフェースの整合性を担保するような設計や解析、検証を行って完成するロケットの誘導制御関連のシステムソフトウェアは、極めて専用性の高い内容のものとなる。
【０００８】
一方、ロケットの開発プロジェクト（号機単位又はシリーズ単位）が変わると、ロケットの誘導制御の内容も変化する。したがって、ロケットの誘導制御関連のシステムソフトウェアは、基本的に、ロケットの開発プロジェクト（号機単位又はシリーズ単位）毎に開発される。
【０００９】
このため、他の開発プロジェクトで開発した専用性の高いシステムソフトウェアを他のプロジェクトに転用しようとすると、誘導制御の内容が変わってもモジュール相互間のインタフェースの整合性が担保されるように、設計内容の大規模な再検証作業が必要になる。そのことが、この種のシステムソフトウェアを他のプロジェクトに転用することの障害となり、システムソフトウェアの市場規模を小さくする要因となっている。
【００１０】
したがって、ロケットの誘導制御関連のシステムソフトウェアについては、運用中の評価データを多く収集してシステムソフトウェアの改良にフィードバックすることが難しい。このような事情から、汎用性を持たせる観点でシステムソフトウェアの洗練度を向上させることは、非常に困難であるのが実情である。
【００１１】
本発明は前記事情に鑑みなされたもので、本発明の目的は、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を容易にすることができるタスク設計支援システムとタスク設計支援方法とを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、請求項１に記載した本発明のタスク設計支援システムは、
システムソフトウェアを構成するタスクの設計を支援するシステムであって、
タスクの実行に必要な入力条件を定義したタスク入力条件テーブルが入力条件別に識別可能に記憶されている入力条件データベースと、
各タスクの入出力情報を定義した入出力情報テーブルが情報別に識別可能に記憶されている入出力情報データベースと、
タスクの実行により出力される出力情報を定義したタスク出力情報テーブルが出力情報別に識別可能に記憶されている出力情報データベースと、
タスクの前記入力条件及び前記出力情報を定義したタスク定義テーブルがタスク別に識別可能に記憶されているタスクデータベースと、
前記タスク入力条件テーブルで前記入力条件として定義されている情報と前記入出力情報テーブルで定義されている情報とが一致する、前記タスク入力条件テーブルと前記入出力情報テーブルとの組み合わせのうち、一方のテーブルを指定することで他方のテーブルを抽出する第１抽出手段と、
前記タスク出力情報テーブルで前記出力情報として定義されている情報と前記入出力情報テーブルで定義されている情報とが一致する、前記タスク出力情報テーブルと前記入出力情報テーブルとの組み合わせのうち、一方のテーブルを指定することで他方のテーブルを抽出する第２抽出手段と、
前記第１抽出手段が抽出した前記タスク入力条件テーブルで定義されている前記入力条件が定義されている前記タスク定義テーブルと、前記第２抽出手段が抽出した前記タスク出力情報テーブルで定義されている前記出力情報が定義されている前記タスク定義テーブルとのうち、少なくとも一方を抽出する第３抽出手段と、
前記タスク定義テーブルで定義されている前記入力条件を定義した前記タスク入力条件テーブルが前記一方のテーブルとして指定された前記第１抽出手段が抽出する前記他方のテーブルの、前記第２抽出手段に対する前記一方のテーブルとしての指定と、前記タスク定義テーブルで定義されている前記出力情報を定義した前記タスク出力情報テーブルが前記一方のテーブルとして指定された前記第２抽出手段が抽出する前記他方のテーブルの、前記第１抽出手段に対する前記一方のテーブルとしての指定とのうち、少なくとも一方を行う指定手段と、
を備えることを特徴とする。
【００１３】
請求項１に記載した本発明のタスク設計支援システムによれば、タスクを設計する度に、そのタスクの入力条件及び出力情報をそれぞれ定義するタスク入力条件テーブル及びタスク出力情報テーブルが、入力条件データベース及び出力情報データベースにそれぞれ記憶される。また、そのタスクの入力条件や出力情報となる情報を定義する入出力情報テーブルが、入出力情報データベースに記憶される。
【００１４】
したがって、検証対象である自タスクに対応するタスク入力条件テーブルを第１抽出手段に指定すると、第１抽出手段は、そのタスク入力条件テーブルで定義されている入力条件をキーワードとする入出力情報テーブルの検索を、入出力情報データベースに対して行う。これにより、第１抽出手段は、自タスクの入力条件である情報を定義した入出力情報テーブルを抽出する。
【００１５】
そして、第１抽出手段が抽出した入出力情報テーブルを第２抽出手段に指定すると、第２抽出手段は、その入出力情報テーブルで定義されている情報をキーワードとするタスク出力情報テーブルの検索を、出力情報データベースに対して行う。これにより、第２抽出手段は、自タスクの入力条件である情報を出力情報として定義したタスク出力情報テーブルを抽出する。
【００１６】
また、第３抽出手段は、第２抽出手段が抽出したタスク出力情報テーブルで定義されている出力情報をキーワードとするタスク定義テーブルの検索を、タスクデータベースに対して行う。これにより、第３抽出手段は、自タスクの入力条件である情報を出力情報として定義したタスク定義テーブルを抽出する。
【００１７】
なお、第２抽出手段がタスク出力情報テーブルを抽出できない場合や、第３抽出手段がタスク定義テーブルを抽出できない場合は、自タスクの入力条件である情報を出力情報とする他のタスクが存在しないことになる。
【００１８】
一方、自タスクに対応するタスク出力情報テーブルを第２抽出手段に指定すると、第２抽出手段は、そのタスク出力情報テーブルで定義されている出力情報をキーワードとする入出力情報テーブルの検索を、入出力情報データベースに対して行う。これにより、第２抽出手段は、自タスクの出力情報である情報を定義した入出力情報テーブルを抽出する。
【００１９】
そして、第２抽出手段が抽出した入出力情報テーブルを第１抽出手段に指定すると、第１抽出手段は、その入出力情報テーブルで定義されている情報をキーワードとするタスク入力条件テーブルの検索を、入力条件データベースに対して行う。これにより、第１抽出手段は、自タスクの出力情報である情報を入力条件として定義したタスク入力条件テーブルを抽出する。
【００２０】
また、第３抽出手段は、第１抽出手段が抽出したタスク入力条件テーブルで定義されている入力条件をキーワードとするタスク定義テーブルの検索を、タスクデータベースに対して行う。これにより、第３抽出手段は、自タスクの出力情報である情報を入力条件として定義したタスク定義テーブルを抽出する。
【００２１】
なお、第１抽出手段がタスク入力条件テーブルを抽出できない場合や、第３抽出手段がタスク定義テーブルを抽出できない場合は、自タスクの出力情報である情報を入力条件とする他のタスクが存在しないことになる。
【００２２】
以上のことから、あるタスクを設計した場合に、そのタスクの入力条件である情報を他のタスクから取得できるか否かや、そのタスクの出力情報を入力条件として利用する他のタスクが存在するか否かを、検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を容易にすることができる。
【００２３】
また、請求項２に記載した本発明のタスク設計支援システムは、請求項１に記載した本発明のタスク設計支援システムにおいて、前記入出力情報テーブルが、該入出力情報テーブルで定義されている情報と該情報の属性とを関連付けて定義しており、前記第１抽出手段が、前記一方のテーブルとして指定された前記入出力情報テーブルに対して前記他方のテーブルに該当する前記タスク入力条件テーブルを抽出できない場合に、前記第２抽出手段が、前記入出力情報テーブルで定義されている情報と関連付けて該入出力情報テーブルで定義されている前記属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを、前記他方のテーブルとして抽出し、前記第２抽出手段が、前記一方のテーブルとして指定された前記入出力情報テーブルに対して前記他方のテーブルに該当する前記タスク出力情報テーブルを抽出できない場合に、前記第１抽出手段が、前記入出力情報テーブルで定義されている情報と関連付けて該入出力情報テーブルで定義されている前記属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを、前記他方のテーブルとして抽出することを特徴とする。
【００２４】
さらに、請求項３に記載した本発明のタスク設計支援システムは、請求項１又は２に記載した本発明のタスク設計支援システムにおいて、前記入出力情報テーブルが、該入出力情報テーブルで定義されている情報と該情報の属性とを関連付けて定義しており、前記第３抽出手段が、前記第１抽出手段が抽出した前記タスク入力条件テーブルで定義されている前記入力条件が定義されている前記タスク定義テーブルを抽出できない場合に、前記第２抽出手段が、前記入出力情報テーブルで定義されている情報と関連付けて該入出力情報テーブルで定義されている前記属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを、前記他方のテーブルとして抽出し、前記第３抽出手段が、前記第２抽出手段が抽出した前記タスク出力情報テーブルで定義されている前記出力情報が定義されている前記タスク定義テーブルを抽出できない場合に、前記第１抽出手段が、前記入出力情報テーブルで定義されている情報と関連付けて該入出力情報テーブルで定義されている前記属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを、前記他方のテーブルとして抽出することを特徴とする。
【００２５】
請求項２に記載した本発明のタスク設計支援システムによれば、請求項１に記載した本発明のタスク設計支援システムにおいて、第１抽出手段がタスク入力条件テーブルを抽出できない場合に、また、請求項３に記載した本発明のタスク設計支援システムによれば、請求項１又は２に記載した本発明のタスク設計支援システムにおいて、第１抽出手段が抽出したタスク入力条件テーブルで定義されている入力条件が定義されているタスク定義テーブルを第３抽出手段が抽出できない場合に、以下のようになる。
【００２６】
即ち、第２抽出手段は、先に抽出した入出力情報テーブル上で自タスクの出力情報である情報と関連付けて定義された属性と同じ属性が情報と関連付けて定義されている他の入出力情報テーブルを、改めて抽出する。そして、第２抽出手段が改めて抽出した他の入出力情報テーブルを指定された第１抽出手段は、自タスクの出力情報である情報と属性が同じ情報を入力条件として定義したタスク入力条件テーブルを抽出することになる。
【００２７】
一方、請求項２に記載した本発明のタスク設計支援システムによれば、請求項１に記載した本発明のタスク設計支援システムにおいて、第２抽出手段がタスク出力情報テーブルを抽出できない場合に、また、請求項３に記載した本発明のタスク設計支援システムによれば、請求項１又は２に記載した本発明のタスク設計支援システムにおいて、第２抽出手段が抽出したタスク出力情報テーブルで定義されている出力情報が定義されているタスク定義テーブルを第３抽出手段が抽出できない場合に、以下のようになる。
【００２８】
即ち、第１抽出手段は、先に抽出した入出力情報テーブル上で自タスクの入力条件である情報と関連付けて定義された属性と同じ属性が情報と関連付けて定義されている他の入出力情報テーブルを、改めて抽出する。そして、第１抽出手段が改めて抽出した他の入出力情報テーブルを指定された第２抽出手段は、自タスクの入力条件である情報と属性が同じ情報を出力情報として定義したタスク出力条件テーブルを抽出することになる。
【００２９】
以上のことから、設計したタスクが他のタスクから入力条件を取得できない場合に、代わりとなり得る情報を出力情報とする他のタスクが存在するか否かを、情報の属性に基づいて検証することができる。また、設計したタスクの出力情報が他のタスクで利用されない場合に、設計したタスクの出力情報を入力条件の代わりとして利用し得る他のタスクが存在するか否かを、情報の属性に基づいて検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、整合性の許容範囲を拡げてより容易にすることができる。
【００３０】
また、請求項４に記載した本発明のタスク設計支援システムは、請求項１、２又は３に記載した本発明のタスク設計支援システムにおいて、タスクの時系列上における実行タイミングを定義するタスクスケジュールテーブルがタスク別に識別可能に記憶されているスケジュールデータベースと、一方のタスクの前記出力情報を他方のタスクの前記入力条件とする上で時系列上の矛盾を生じるか否かを、これら一方及び他方の各タスクにそれぞれ対応する前記タスクスケジュールテーブルで定義された前記実行タイミングどうしの比較により判定する時系列判定手段とをさらに備えることを特徴とする。
【００３１】
請求項４に記載した本発明のタスク設計支援システムによれば、請求項１、２又は３に記載した本発明のタスク設計支援システムにおいて、自タスクの入力条件である情報を出力情報とする他のタスクが、自タスクよりも前のタイミングで実行されるものであって、そのタスクの出力情報を自タスクの入力条件として利用できるか否かを、両タスクのタスクスケジュールテーブルでそれぞれ定義された実行タイミングの先後に基づいて検証することができる。
【００３２】
同様に、自タスクの出力情報を入力条件とする他のタスクが、自タスクよりも後のタイミングで実行されるものであって、自タスクの出力情報を他のタスクに入力条件として供給できるか否かを、両タスクのタスクスケジュールテーブルでそれぞれ定義された実行タイミングの先後に基づいて検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、自タスクと他のタスクとの時系列上における実行タイミングの前後関係まで考慮して、より容易にすることができる。
【００３３】
さらに、上記目的を達成するため、請求項５に記載した本発明のタスク設計支援方法は、
システムソフトウェアを構成するタスクのコンピュータを用いた設計を支援する方法であって、
前記コンピュータが、タスクの実行に必要な入力条件を定義したタスク入力条件テーブルが入力条件別に識別可能に記憶されている入力条件データベースを検索して、自タスクの前記入力条件が定義されている前記タスク入力条件テーブルを抽出するステップと、
前記コンピュータが、各タスクの入出力情報を定義した入出力情報テーブルが情報別に識別可能に記憶されている入出力情報データベースを検索して、前記抽出したタスク入力条件テーブルにおいて前記入力条件として定義されている情報が定義されている前記入出力情報テーブルを抽出するステップと、
前記コンピュータが、タスクの実行により出力される出力情報を定義したタスク出力情報テーブルが出力情報別に識別可能に記憶されている出力情報データベースを検索して、前記抽出した入出力情報テーブルで定義されている情報が前記出力情報として定義されている前記タスク出力情報テーブルを抽出するステップと、
前記コンピュータが、タスクの出力情報を定義するタスク定義テーブルがタスク別に識別可能に記憶されているタスクデータベースを検索して、前記抽出したタスク出力情報テーブルにおいて定義されている前記出力情報が定義されているタスク定義テーブルを抽出するステップと、
を含むことを特徴とする。
【００３４】
また、上記目的を達成するため、請求項９に記載した本発明のタスク設計支援方法は、
システムソフトウェアを構成するタスクのコンピュータを用いた設計を支援する方法であって、
前記コンピュータが、タスクの実行により出力される出力情報を定義したタスク出力情報テーブルが出力情報別に識別可能に記憶されている出力情報データベースを検索して、自タスクの前記出力情報が定義されている前記タスク出力情報テーブルを抽出するステップと、
前記コンピュータが、各タスクの入出力情報を定義した入出力情報テーブルが情報別に識別可能に記憶されている入出力情報データベースを検索して、前記抽出したタスク出力情報テーブルにおいて前記出力情報として定義されている情報が定義されている前記入出力情報テーブルを抽出するステップと、
前記コンピュータが、タスクの実行に必要な入力条件を定義したタスク入力条件テーブルが入力条件別に識別可能に記憶されている入力条件データベースを検索して、前記抽出した入出力情報テーブルで定義されている情報が前記入力条件として定義されている前記タスク入力条件テーブルを抽出するステップと、
前記コンピュータが、タスクの入力条件を定義するタスク定義テーブルがタスク別に識別可能に記憶されているタスクデータベースを検索して、前記抽出したタスク入力条件テーブルにおいて定義されている前記入力条件が定義されているタスク定義テーブルを抽出するステップと、
を含むことを特徴とする。
【００３５】
請求項５に記載した本発明のタスク設計支援方法によれば、４つのステップにおける抽出を順次行うことで、自タスクの入力条件である情報を出力情報として定義したタスク定義テーブルが抽出される。そして、４つのステップを順次行う途中で、自タスクの入力条件である情報を出力情報として定義したタスク出力情報テーブルやタスク定義テーブルを抽出できない場合は、自タスクの入力条件である情報を出力情報とする他のタスクが存在しないことになる。したがって、あるタスクを設計した場合に、そのタスクの入力条件である情報を他のタスクから取得できるか否かを、検証することができる。
【００３６】
請求項９に記載した本発明のタスク設計支援方法によれば、４つのステップにおける抽出を順次行うことで、自タスクの出力情報である情報を入力条件として定義したタスク定義テーブルが抽出される。そして、４つのステップを順次行う途中で、自タスクの出力情報である情報を入力条件として定義したタスク入力条件テーブルやタスク定義テーブルを抽出できない場合は、自タスクの出力情報である情報を入力条件とする他のタスクが存在しないことになる。したがって、あるタスクを設計した場合に、そのタスクの出力情報を入力条件として利用する他のタスクが存在するか否かを、検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、整合性の許容範囲を拡げてより容易にすることができる。
【００３７】
さらに、請求項６に記載した本発明のタスク設計支援方法は、請求項５に記載した本発明のタスク設計支援方法において、前記抽出した入出力情報テーブルで定義されている情報が前記出力情報として定義されている前記タスク出力情報テーブルを抽出する前記ステップにおいて、前記タスク出力情報テーブルを抽出できなかった場合に、前記コンピュータが、前記入出力情報データベースを検索して、前記抽出した入出力情報テーブルで定義されている情報と関連付けて定義されている属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを抽出するステップをさらに含むことを特徴とする。
【００３８】
また、請求項７に記載した本発明のタスク設計支援方法は、請求項５又は６に記載した本発明のタスク設計支援方法において、前記抽出したタスク出力情報テーブルにおいて定義されている前記出力情報が定義されているタスク定義テーブルを抽出する前記ステップにおいて、前記タスク定義テーブルを抽出できなかった場合に、前記コンピュータが、前記出力情報データベースを検索して、前記抽出したタスク出力情報テーブルで定義されている前記出力情報と関連付けて定義されている属性と同じ属性が前記出力情報と関連付けて定義されている、他の前記タスク出力情報テーブルを抽出するステップをさらに含むことを特徴とする。
【００３９】
請求項６に記載した本発明のタスク設計支援方法によれば、請求項５に記載した本発明のタスク設計支援方法において、タスク出力情報テーブルを抽出できない場合に、また、請求項７に記載した本発明のタスク設計支援方法によれば、請求項５又は６に記載した本発明のタスク設計支援方法において、抽出したタスク出力情報テーブルで定義されている出力情報が定義されているタスク定義テーブルを抽出できない場合に、以下のようになる。
【００４０】
即ち、先に抽出した入出力情報テーブル上で自タスクの入力条件である情報と関連付けて定義された属性と同じ属性が情報と関連付けて定義されている他の入出力情報テーブルを、改めて抽出する。そして、改めて抽出した他の入出力情報テーブルで定義された情報を出力情報として定義した、つまり、自タスクの入力条件である情報と属性が同じ情報を出力情報として定義した、タスク出力条件テーブルを抽出することになる。
【００４１】
以上のことから、設計したタスクが他のタスクから入力条件を取得できない場合に、代わりとなり得る情報を出力情報とする他のタスクが存在するか否かを、情報の属性に基づいて検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、整合性の許容範囲を拡げてより容易にすることができる。
【００４２】
さらに、請求項１０に記載した本発明のタスク設計支援方法は、請求項９に記載した本発明のタスク設計支援方法において、前記抽出した入出力情報テーブルで定義されている情報が前記入力条件として定義されている前記タスク入力条件テーブルを抽出する前記ステップにおいて、前記タスク入力条件テーブルを抽出できなかった場合に、前記コンピュータが、前記入出力情報データベースを検索して、前記抽出した入出力情報テーブルで定義されている情報と関連付けて定義されている属性と同じ属性が情報と関連付けて定義されている、他の前記入出力情報テーブルを抽出するステップをさらに含むことを特徴とする。
【００４３】
また、請求項１１に記載した本発明のタスク設計支援方法は、請求項９又は１０に記載した本発明のタスク設計支援方法において、前記抽出したタスク入力条件テーブルにおいて定義されている前記入力条件が定義されているタスク定義テーブルを抽出する前記ステップにおいて、前記タスク定義テーブルを抽出できなかった場合に、前記コンピュータが、前記入力条件データベースを検索して、前記抽出したタスク入力条件テーブルで定義されている前記入力条件と関連付けて定義されている属性と同じ属性が前記入力条件と関連付けて定義されている、他の前記タスク入力条件テーブルを抽出するステップをさらに含むことを特徴とする。
【００４４】
請求項１０に記載した本発明のタスク設計支援方法によれば、請求項９に記載した本発明のタスク設計支援方法において、タスク入力条件テーブルを抽出できない場合に、また、請求項１１に記載した本発明のタスク設計支援方法によれば、請求項９又は１０に記載した本発明のタスク設計支援方法において、抽出したタスク入力条件テーブルで定義されている入力条件が定義されているタスク定義テーブルを抽出できない場合に、以下のようになる。
【００４５】
即ち、先に抽出した入出力情報テーブル上で自タスクの出力情報である情報と関連付けて定義された属性と同じ属性が情報と関連付けて定義されている他の入出力情報テーブルを、改めて抽出する。そして、改めて抽出した他の入出力情報テーブルで定義された情報を入力条件として定義した、タスク入力条件テーブルを抽出することになる。
【００４６】
以上のことから、設計したタスクの出力情報が他のタスクで利用されない場合に、設計したタスクの出力情報を入力条件の代わりとして利用し得る他のタスクが存在するか否かを、情報の属性に基づいて検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、整合性の許容範囲を拡げてより容易にすることができる。
【００４７】
さらに、請求項８に記載した本発明のタスク設計支援方法は、請求項５、６又は７に記載した本発明のタスク設計支援方法において、前記コンピュータが、タスクの時系列上における実行タイミングを定義するタスクスケジュールテーブルがタスク別に識別可能に記憶されているスケジュールデータベースを検索して、前記抽出したタスク定義テーブルで定義されているタスクに対応する前記タスクスケジュールテーブルと、前記自タスクに対応する前記タスクスケジュールテーブルとを抽出し、これら抽出した各タスクスケジュールテーブルでそれぞれ定義されている前記各実行タイミングが、前記抽出したタスク定義テーブルで定義されているタスクの前記出力情報を前記自タスクの前記入力条件とする上で時系列上の矛盾を生じるか否かを判定するステップをさらに含むことを特徴とする。
【００４８】
また、請求項１２に記載した本発明のタスク設計支援方法は、請求項９、１０又は１１に記載した本発明のタスク設計支援方法において、前記コンピュータが、タスクの時系列上における実行タイミングを定義するタスクスケジュールテーブルがタスク別に識別可能に記憶されているスケジュールデータベースを検索して、前記抽出したタスク定義テーブルで定義されているタスクに対応する前記タスクスケジュールテーブルと、前記自タスクに対応する前記タスクスケジュールテーブルとを抽出し、これら抽出した各タスクスケジュールテーブルでそれぞれ定義されている前記各実行タイミングが、前記自タスクの前記出力情報を前記抽出したタスク定義テーブルで定義されているタスクの前記入力条件とする上で時系列上の矛盾を生じるか否かを判定するステップをさらに含むことを特徴とする。
【００４９】
請求項８に記載した本発明のタスク設計支援方法によれば、請求項５、６又は７に記載した本発明のタスク設計支援方法において、自タスクの入力条件である情報を出力情報とする他のタスクが、自タスクよりも前のタイミングで実行されるものであって、そのタスクの出力情報を自タスクの入力条件として利用できるか否かを、両タスクのタスクスケジュールテーブルでそれぞれ定義された実行タイミングの先後に基づいて検証することができる。
【００５０】
請求項１２に記載した本発明のタスク設計支援方法によれば、請求項９、１０又は１１に記載した本発明のタスク設計支援方法において、自タスクの出力情報を入力条件とする他のタスクが、自タスクよりも後のタイミングで実行されるものであって、自タスクの出力情報を他のタスクに入力条件として供給できるか否かを、両タスクのタスクスケジュールテーブルでそれぞれ定義された実行タイミングの先後に基づいて検証することができる。これにより、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、自タスクと他のタスクとの時系列上における実行タイミングの前後関係まで考慮して、より容易にすることができる。
【発明の効果】
【００５１】
本発明のタスク設計支援システム及びタスク設計支援方法によれば、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を容易にすることができる。
【図面の簡単な説明】
【００５２】
【図１】本発明の一実施形態に係るタスク設計支援システムの概略構成を示す説明図である。
【図２】図１のデータベースの記憶内容を示す説明図である。
【図３】図１のクライアント端末で設計されるタスクの概要を示す説明図である。
【図４】図３のタスクについて図１のデータベースに登録されるテーブルの構成を示す説明図である。
【図５】図１のクライアント端末において実行されるタスク設計支援処理の概略を示すフローチャートである。
【図６】図５の機能モジュールデータ候補選択ロジック及び機能モジュールタスクリンク時系列整合性診断ロジックにおける具体的な処理内容を示すフローチャートである。
【図７】図５の機能モジュールデータ候補選択ロジック及び機能モジュールタスクリンク時系列整合性診断ロジックにおける具体的な処理内容を示すフローチャートである。
【図８】図１のタスク設計支援システムにより図３のタスクの出力情報に関するインタフェースの整合性を検証する際の検証内容を示す説明図である。
【図９】図１のタスク設計支援システムにより図３のタスクの出力情報に関するインタフェースの整合性を検証する際の検証内容を示す説明図である。
【図１０】図１のタスク設計支援システムにより図３のタスクの出力情報に関するインタフェースの整合性を検証する際の検証内容を示す説明図である。
【図１１】図１のタスク設計支援システムにより図３のタスクの時系列上における実行タイミングの整合性を検証する際の検証内容を示す説明図である。
【図１２】図１のタスク設計支援システムにより図３のタスクの入力条件に関するインタフェースの整合性を検証する際の検証内容を示す説明図である。
【図１３】図１のタスク設計支援システムにより図３のタスクの入力条件に関するインタフェースの整合性を検証する際の検証内容を示す説明図である。
【図１４】図１のタスク設計支援システムによりタスク設計を支援したモジュールを用いてロケットの誘導制御関連のシステムソフトウェアを構築した場合の構成を模式的に示す説明図である。
【発明を実施するための形態】
【００５３】
以下、本発明の実施形態について図面を参照しながら説明する。
【００５４】
図１は本発明の一実施形態に係るタスク設計支援システムの概略構成を示す説明図であり、図２は図１のデータベースの記憶内容を示す説明図である。
【００５５】
本実施形態のタスク設計支援システムは、図１に示すように、データベースサーバ１０、ネットワークサーバ３０、及び、複数のクライアント端末４０，４０，…をＬＡＮ接続したイントラネットによって構成されている。一部又は全部のクライアント端末４０は、インターネット（図示せず）を介して、ネットワークサーバ３０及びデータベースサーバ１０に接続してもよい。各クライアント端末４０は、ＣＰＵ、ＲＡＭ、ＲＯＭ（いずれも図示せず）をそれぞれ内蔵しており、また、ディスプレイ４１、キーボード４２、及び、マウス４３をそれぞれ有している。
【００５６】
前記データベースサーバ１０は、データベースを保有し、クライアント端末４０から検索や更新などの要求を受けたときに処理を行い、結果をクライアント端末４０で実行されているアプリケーションプログラムに返すサーバである。データベースサーバ１０が保有する（に記憶される）データベースには、図２に示すタスクデータベース１１、入力条件データベース１３、出力情報データベース１５、入出力情報データベース１７、及び、スケジュールデータベース１９が含まれる。
【００５７】
タスクデータベース１１には、タスクの実行に必要な入力条件とタスクの実行により出力される出力情報とをＩＤによって定義する「タスク定義テーブル（２）」が記憶される。このタスク定義テーブル（２）には、「タスクＩＤ」、「入力条件ＩＤ」及び「出力情報ＩＤ」等の項目や、「タスク定義バージョン」、「タスクカテゴリＩＤ」、「タスク内容」等の属性に関する項目が定義されている。そして、項目「タスクＩＤ」はプライマリキー（ＰＫ：PrimaryKey、主キー）及びフォーリンキー（ＦＫ：ForeignKey、外部参照キー）に設定されており、項目「入力条件ＩＤ」及び「出力情報ＩＤ」はフォーリンキーに設定されている。このような構成のタスク定義テーブル（２）は、タスク別に定義され、適宜図示しない外部データベースからタスク定義情報を参照し、フォーリンキーを割り当てる。
【００５８】
入力条件データベース１３には、入力条件としての情報をＩＤによって定義する「タスク入力条件テーブル（６）」が記憶される。このタスク入力条件テーブル（６）には、「入力条件ＩＤ」や「情報ＩＤ」等の項目が定義されている。そして、項目「入力条件ＩＤ」はプライマリキーに設定されており、項目「情報ＩＤ」はフォーリンキーに設定されている。このような構成のタスク入力条件テーブル（６）は、定義する入力条件の内容（情報）別に定義される。
【００５９】
出力情報データベース１５には、出力情報としての情報をＩＤによって定義する「タスク出力情報テーブル（７）」が記憶される。このタスク出力情報テーブル（７）には、「出力情報ＩＤ」や「情報ＩＤ」等の項目が定義されている。そして、項目「出力情報ＩＤ」はプライマリキーに設定されており、項目「情報ＩＤ」はフォーリンキーに設定されている。このような構成のタスク出力情報テーブル（７）は、定義する出力条件の内容（情報）別に定義される。
【００６０】
入出力情報データベース１７には、タスクの入力条件や出力情報（入出力情報）としての情報を名称等によって定義する「入出力情報テーブル（８）」が記憶される。この入出力情報テーブル（８）には、「情報ＩＤ」や「名称」等の項目の他、「内容」や「バージョン」等の属性に関する項目が定義されている。そして、項目「情報ＩＤ」はプライマリキーに設定されている。フォーリンキーに設定された項目は存在しない。このような構成の入出力情報テーブル（８）は、定義する情報の内容別に定義される。
【００６１】
スケジュールデータベース１９には、タスクの時系列上における実行タイミングを定義する「タスクスケジュールテーブル（３）」が記憶される。このタスクスケジュールテーブル（３）には、「タスクＩＤ」、「開始時期」及び「終了時期」等の項目が定義されている。そして、項目「タスクＩＤ」はプライマリキーに設定されている。フォーリンキーに設定された項目は存在しない。このような構成のタスクスケジュールテーブル（３）は、タスク別に定義される。
【００６２】
図３は図１のクライアント端末で設計されるタスクの概要を示す説明図、図４は図３のタスクについて図１のデータベースに登録されるテーブルの構成を示す説明図である。
【００６３】
図３に示すように、本実施形態のタスク設計支援システムを用いて設計するタスクＡは、情報１〜４を入力条件とし、情報Ａ１〜Ａ４を出力情報とするものである。但し、入力条件及び出力情報の数は、タスクによってまちまちである。
【００６４】
そして、図４に示すように、タスクを設計した場合には、設計したタスク（自タスク）を定義するタスク定義テーブル（２）と、タスクの入力条件及び出力情報を示す定義するタスク入力条件テーブル（６）及びタスク出力情報テーブル（７）と、タスクの入力条件や出力情報の具体的な情報の内容を定義する入出力情報テーブル（８）を、それぞれのデータベース１１〜１７に記憶（登録）する。また、図４では図示を省略しているが、設計したタスクの実行タイミングを定義するタスクスケジュールテーブル（３）も、スケジュールデータベース１９に記憶（登録）する。
【００６５】
次に、クライアント端末４０において設計したタスクに関する各種テーブルを各データベースに登録する際に、クライアント端末４０のＲＯＭに記憶されたプログラムにしたがってＣＰＵが実行するインタフェース整合性検証処理の概略を、図４の説明図と図５のフローチャートとを参照して説明する。図５は、図１のクライアント端末において実行されるタスク設計支援処理の概略を示すフローチャートである。
【００６６】
なお、以下に説明する処理は、ディスプレイ４１の表示にしたがってキーボード４２やマウス４３を操作し必要な情報等を入力することで進行する。また、各データベース１１〜１９のテーブルの内容を検索し特定のテーブルを抽出する処理の一部は、データベースサーバ１０のＣＰＵがＲＯＭ（いずれも図示せず）に記憶されたプログラムにしたがって行う。
【００６７】
図５に示すように、まず、ＣＰＵは、設計したタスク（自タスク）について整合性チェックの完了を示すフラグが立っていないことを確認する（ステップＳ１）。次に、データチェックロジックを実行する（ステップＳ３）。このロジックでは、設計したタスクに関してデータベースサーバ１０の各データベース１１〜１７に記憶するテーブルについて、ＮＵＬＬチェック、タスクＩＤ診断、無効データ診断、矛盾データ診断を行う。
【００６８】
ＮＵＬＬチェックでは、対象のタスクに関するタスク定義テーブル（２）の属性に関する項目が「ＮＵＬＬ（無記入）」となっているかどうかを確認する。「ＮＵＬＬ」である場合はアラートをディスプレイ４１に表示する。
【００６９】
タスクＩＤ診断では、対象のタスクに関するタスク定義テーブル（２）の「タスクＩＤ」として採番したＩＤが、他のタスクに関するタスク定義テーブル（２）で既に使用されているＩＤと重複していないかどうかを確認する。他のタスクと重複する場合は、ＩＤの変更を促すメッセージをディスプレイ４１に表示する。
【００７０】
無効データ診断では、対象のタスクに関する入力条件や出力情報を示す情報ＩＤが、タスク入力条件テーブル（６）及びタスク出力情報テーブル（７）にそれぞれ定義されており、かつ、その情報ＩＤが正しい内容であることを確認する。
【００７１】
矛盾データ診断では、入出力情報テーブル（８）の同じ情報ＩＤを参照しているタスク入力条件テーブル（６）及びタスク出力情報テーブル（７）の、属性に関する項目としてそれぞれ定義されている入出力カテゴリＩＤの内容が、互いに一致していることを確認する。また、矛盾データ診断では、入出力情報テーブル（８）の同じ情報ＩＤを参照しているタスク出力情報テーブル（７）が複数存在していないことを確認する。
【００７２】
次に、ＣＰＵは、以上の４つのチェック、診断の結果に問題があり各テーブルの内容が異常であるか、診断の結果に問題がなく各テーブルの内容が正常であるかを確認する（ステップＳ５）。異常である場合は（ステップＳ５で「異常」）、ディスプレイ４１において異常表示を行う等の異常終了処理を行った後（ステップＳ１９）、一連の処理を終了する。この場合には、異常の原因となったテーブルの内容を修正した後、ステップＳ１からの処理を再度行うことになる。正常である場合は（ステップＳ５で「正常」）、機能モジュールリスト作成処理を実行する（ステップＳ７）。この処理では、ステップＳ５で正常であると確認された各テーブルを、データベースサーバ１０の各データベース１１〜１９に記憶する。
【００７３】
これにより、データベースサーバ１０の各データベース１１〜１７に、設計したタスクの入力条件に関する入出力情報テーブル（８）−タスク入力条件テーブル（６）−タスク定義テーブル（２）−タスク出力情報テーブル（７）−出力情報に関する入出力情報テーブル（８）が、図４の説明図に示す相互関係を持つ内容で、それぞれのデータベース１１〜１７に記憶されることになる。
【００７４】
続いて、ＣＰＵは、機能モジュールデータリンク診断ロジックを実行する（ステップＳ９）。このロジックでは、タスク入力条件診断及びタスク出力情報診断を行う。
【００７５】
タスク入力条件診断では、タスク入力条件テーブル（６）の項目として定義されている情報ＩＤと同じ情報ＩＤを項目に含む入出力情報テーブル（８）が、入出力情報データベース１７に記憶されていることを確認する。つまり、図４の説明図における左半分の、入力条件に関する入出力情報テーブル（８）−タスク入力条件テーブル（６）−タスク定義テーブル（２）が、相互関係を担保した内容で対応する各データベース１７，１３，１１に記憶されていることを確認する。
【００７６】
同様に、タスク出力情報診断では、タスク出力情報テーブル（７）の項目として定義されている情報ＩＤと同じ情報ＩＤを項目に含む入出力情報テーブル（８）が、入出力情報データベース１７に記憶されていることを確認する。つまり、図４の説明図における右半分の、タスク定義テーブル（２）−タスク出力情報テーブル（７）−出力情報に関する入出力情報テーブル（８）が、相互関係を担保した内容で対応する各データベース１７，１３，１１に記憶されていることを確認する。
【００７７】
次に、ＣＰＵは、タスク入力条件診断及びタスク出力情報診断の各診断結果にどちらか一方でも問題があり異常であるか、両診断結果とも問題がなく正常であるかを確認する（ステップＳ１１）。このステップＳ１１の確認において、タスク入力条件テーブル（６）の情報ＩＤと同じ情報ＩＤを項目に含む入出力情報テーブル（８）と、タスク出力情報テーブル（７）の情報ＩＤと同じ情報ＩＤを項目に含む入出力情報テーブル（８）とのうち、少なくとも一方が入出力情報データベース１７に記憶されていなければ、確認結果は異常となり、両方とも記憶されていれば、確認結果は正常となる。
【００７８】
そして、診断結果が異常である場合は（ステップＳ１１で「異常」）、ディスプレイ４１において異常表示を行う等の異常終了処理を行った後（ステップＳ１９）、一連の処理を終了する。この場合には、設計したタスクのデータベースサーバ１０に記憶した各テーブルが、図４の説明図に示す相互関係を持つ内容となるように修正した後、ステップＳ１からの処理を再度行うことになる。また、診断結果が正常である場合は（ステップＳ１１で「正常」）、機能モジュールデータ候補選択ロジック（ステップＳ１３）と、機能モジュールタスクリンク時系列整合性診断ロジック（ステップＳ１５）とを実行する。
【００７９】
機能モジュールデータ候補選択ロジックでは、設計したタスクで入力条件として使用する情報を出力情報として出力する他のタスクを抽出、選択する。また、同ロジックでは、設計したタスクが出力する出力情報の情報を入力条件とする他のタスクを抽出、選択する。
【００８０】
ここで、ステップＳ１３の機能モジュールデータ候補選択ロジック及びステップＳ１５の機能モジュールタスクリンク時系列整合性診断ロジックにおける具体的な処理内容を、図６及び図７のフローチャートと、図８乃至図１３の説明図とを参照して説明する。
【００８１】
図６及び図７は、図５の機能モジュールデータ候補選択ロジック及び機能モジュールタスクリンク時系列整合性診断ロジックにおける具体的な処理内容を示すフローチャートである。図８乃至図１０は、図１のタスク設計支援システムにより図３のタスクの出力情報に関するインタフェースの整合性を検証する際の検証内容を示す説明図である。図１１は、図１のタスク設計支援システムにより図３のタスクの時系列上における実行タイミングの整合性を検証する際の検証内容を示す説明図である。図１２及び図１３は、図１のタスク設計支援システムにより図３のタスクの入力条件に関するインタフェースの整合性を検証する際の検証内容を示す説明図である。
【００８２】
なお、図６及び図７のフローチャートでは、機能モジュールデータ候補選択ロジック及び機能モジュールタスクリンク時系列整合性診断ロジックを一連の処理として実行する場合を例示しているが、個別の処理として実行しても良いのは勿論のことである。
【００８３】
図６に示すように、ＣＰＵは、設計したタスク（自タスク）のタスク定義テーブル（２）で定義されている出力情報ＩＤ（フォーリンキーＦＫ５に設定）をプライマリキーに設定して定義したタスク出力情報テーブル（７）を、出力情報データベース１５から抽出する（ステップＳ２１）。次に、ＣＰＵは、ステップＳ２１で抽出したタスク出力情報テーブル（７）で定義されている情報ＩＤ（フォーリンキーＦＫ１に設定）をプライマリキーに設定して定義した入出力情報テーブル（８）を、入出力情報データベース１７から抽出する（ステップＳ２３）。
【００８４】
そして、ＣＰＵは、ステップＳ２３で抽出した入出力情報テーブル（８）で定義されている情報ＩＤをフォーリンキー（ＦＫ１）に設定して定義したタスク入力条件テーブル（６）が、入力条件データベース１３に記憶されているか否かを確認する（ステップＳ２５）。即ち、図８に示すように、入出力情報テーブル（８）で定義されている情報ＩＤと同じ情報ＩＤを定義したタスク入力条件テーブル（６）の有無を、情報ＩＤを用いた入力条件データベース１３の検索によって確認する。この情報ＩＤは、出力情報に関する入出力情報テーブル（８）で定義されている、設計したタスクの出力情報となる情報（例えば情報Ａ１）の情報ＩＤである。
【００８５】
該当するタスク入力条件テーブル（６）が入力条件データベース１３に記憶されていない場合は（ステップＳ２５でＮＯ）、ステップＳ２３で抽出した入出力情報テーブル（８）と属性の項目で一致する内容を定義した他の入出力情報テーブル（８）が、入出力情報データベース１７に記憶されているか否かを確認する（ステップＳ２７）。即ち、図１０の上段に示すように、設計したタスクの出力情報となる情報と同じ属性を有する情報を定義した他の入出力情報テーブル（８）の有無を、属性を用いた入出力情報データベース１７の検索によって確認する。
【００８６】
他の入出力情報テーブル（８）が入出力情報データベース１７に記憶されていない場合は（ステップＳ２７でＮＯ）、後述するステップＳ３７に移行する。記憶されている場合は（ステップＳ２７でＹＥＳ）、該当する他の入出力情報テーブル（８）を、ステップＳ２３で抽出した入出力情報テーブル（８）の代わりに選択するか否かを確認する（ステップＳ２９）。選択しない場合は（ステップＳ２９でＮＯ）、ステップＳ３７に移行する。選択する場合は（ステップＳ２９でＹＥＳ）、ステップＳ２５にリターンする。
【００８７】
このように、ステップＳ２９で他の入出力情報テーブル（８）を選択してステップＳ２５にリターンすることで、図１０の下段に示すように、設計したタスクの出力情報である情報を定義した入出力情報テーブル（８）に代えて、他の入出力情報テーブル（８）が、設計したタスクの出力情報を定義したタスク出力情報テーブル（７）と関連付けられることになる。また、ステップＳ２９からリターンしたステップＳ２５において、ステップＳ２９で選択した入出力情報テーブル（８）で定義されている情報ＩＤをフォーリンキー（ＦＫ１）に設定して定義したタスク入力条件テーブル（６）が、入力条件データベース１３に記憶されているか否かを、確認することになる。
【００８８】
そして、ステップＳ２５で該当するタスク入力条件テーブル（６）が入力条件データベース１３に記憶されている場合（ＹＥＳ）は、記憶されているタスク入力条件テーブル（６）を入力条件データベース１３から抽出する。さらに、抽出したタスク入力条件テーブル（６）でプライマリキーに設定して定義した入力条件ＩＤをフォーリンキー（ＦＫ４）に設定して定義したタスク定義テーブル（２）が、タスクデータベース１１に記憶されているか否かを確認する（ステップＳ３１）。
【００８９】
即ち、図９に示すように、タスク入力条件テーブル（６）で定義されている情報ＩＤと同じ情報ＩＤを定義したタスク定義テーブル（２）の有無を、情報ＩＤを用いたタスクデータベース１１の検索によって確認する。この情報ＩＤは、設計したタスクの出力情報となる情報（例えば情報Ａ１）の情報ＩＤである。
【００９０】
該当するタスク定義テーブル（２）がタスクデータベース１１に記憶されていない場合は（ステップＳ３１でＮＯ）、ステップＳ２７にリターンし、記憶されている場合は（ステップＳ３１でＹＥＳ）、ステップＳ３１で記憶されていると確認したタスク定義テーブル（２）で定義されたタスクと、設計したタスク（自タスク）との間で、時系列上の整合性が取れているか否かを確認する（ステップＳ３３）。
【００９１】
ステップＳ３３の確認は、ステップＳ３１で記憶されていると確認したタスク定義テーブル（２）で定義されたタスクが出力する出力情報を、設計したタスクが入力条件として利用できるか否かを、それぞれのタスクの実行タイミングを照合することで行う。
【００９２】
具体的には、まず、ステップＳ３１で記憶されていると確認したタスク定義テーブル（２）と、設計したタスクのタスク定義テーブル（２）とのそれぞれについて、各タスク定義テーブル（２）で定義されているタスクＩＤ（ＰＫ及びＦＫ１〜３に設定）をプライマリキーに設定して定義したタスクスケジュールテーブル（３）を、スケジュールデータベース１９からそれぞれ抽出する。
【００９３】
次に、抽出した各タスクスケジュールテーブル（３）でそれぞれ定義されている「開始時期」及び「終了時期」等の項目を比較して、ステップＳ３１で記憶されていると確認したタスク定義テーブル（２）で定義された他のタスクの実行タイミングよりも先に、設計したタスクの出力情報が出力されるか否かを確認する。他のタスクの出力情報が設計したタスクの実行タイミングよりも先に出力される場合、ステップＳ３３の確認結果は時系列上の整合性が取れている（ＹＥＳ）となり、そうでない場合、ステップＳ３３の確認結果は時系列上の整合性が取れていない（ＮＯ）となる。
【００９４】
なお、他のタスクが設計したタスクの実行タイミングよりも先に出力情報を出力し時系列上の整合性が取れている場合、他のタスクと設計したタスクとの関係は、例えば図１１のタスク１（他のタスク）とタスク２（設計したタスク）とのような前後関係になる。
【００９５】
時系列上の整合性が取れている場合は（ステップＳ３３でＹＥＳ）、正常判定をして（ステップＳ３５）、一連の処理を終了する。一方、時系列上の整合性が取れていない場合は（ステップＳ３３でＮＯ）、ステップＳ３７に移行して、異常判定をして一連の処理を終了する。なお、ステップＳ２７において、他の入出力情報テーブル（８）が入出力情報データベース１７に記憶されていない場合（ＮＯ）や、ステップＳ２９において、他の入出力情報テーブル（８）をステップＳ２３で抽出した入出力情報テーブル（８）の代わりに選択しない場合（ＮＯ）にも、ステップＳ３７の異常判定をして一連の処理を終了する。
【００９６】
また、図７に示すように、まず、ＣＰＵは、設計したタスク（自タスク）のタスク定義テーブル（２）で定義されている入力条件ＩＤ（フォーリンキーＦＫ４に設定）をプライマリキーに設定して定義したタスク入力条件テーブル（６）を、入力条件データベース１３から抽出する（ステップＳ４１）。次に、ＣＰＵは、ステップＳ４１で抽出したタスク入力条件テーブル（６）で定義されている情報ＩＤ（フォーリンキーＦＫ１に設定）をプライマリキーに設定して定義した入出力情報テーブル（８）を、入出力情報データベース１７から抽出する（ステップＳ４３）。
【００９７】
そして、ＣＰＵは、ステップＳ４３で抽出した入出力情報テーブル（８）で定義されている情報ＩＤをフォーリンキー（ＦＫ１）に設定して定義したタスク出力情報テーブル（７）が、出力情報データベース１５に記憶されているか否かを確認する（ステップＳ４５）。即ち、図１２に示すように、入出力情報テーブル（８）で定義されている情報ＩＤと同じ情報ＩＤを定義したタスク出力情報テーブル（７）の有無を、情報ＩＤを用いた出力情報データベース１５の検索によって確認する。この情報ＩＤは、入力条件に関する入出力情報テーブル（８）で定義されている、設計したタスクの入力条件となる情報（例えば情報１）の情報ＩＤである。
【００９８】
該当するタスク出力情報テーブル（７）が出力情報データベース１５に記憶されていない場合は（ステップＳ４５でＮＯ）、ステップＳ４３で抽出した入出力情報テーブル（８）と属性の項目で一致する内容を定義した他の入出力情報テーブル（８）が、入出力情報データベース１７に記憶されているか否かを確認する（ステップＳ４７）。
【００９９】
他の入出力情報テーブル（８）が入出力情報データベース１７に記憶されていない場合は（ステップＳ４７でＮＯ）、後述するステップＳ５７に移行する。記憶されている場合は（ステップＳ４７でＹＥＳ）、該当する他の入出力情報テーブル（８）を、ステップＳ４３で抽出した入出力情報テーブル（８）の代わりに選択するか否かを確認する（ステップＳ４９）。選択しない場合は（ステップＳ４９でＮＯ）、ステップＳ５７に移行する。選択する場合は（ステップＳ４９でＹＥＳ）、ステップＳ４５にリターンする。
【０１００】
このように、ステップＳ４９で他の入出力情報テーブル（８）を選択してステップＳ４５にリターンすることで、設計したタスクの入力条件である情報を定義した入出力情報テーブル（８）に代えて、他の入出力情報テーブル（８）が、設計したタスクの入力条件を定義したタスク出力情報テーブル（７）と関連付けられることになる。また、ステップＳ４９からリターンしたステップＳ４５において、ステップＳ４９で選択した入出力情報テーブル（８）で定義されている情報ＩＤをフォーリンキー（ＦＫ２）に設定して定義したタスク入力条件テーブル（６）が、入力条件データベース１３に記憶されているか否かを、確認することになる。
【０１０１】
そして、ステップＳ４５で該当するタスク出力情報テーブル（７）が出力情報データベース１５に記憶されている場合（ＹＥＳ）は、記憶されているタスク出力情報テーブル（７）を出力情報データベース１５から抽出する。さらに、抽出したタスク出力情報テーブル（７）でプライマリキーに設定して定義した出力情報ＩＤをフォーリンキー（ＦＫ５）に設定して定義したタスク定義テーブル（２）が、タスクデータベース１１に記憶されているか否かを確認する（ステップＳ５１）。
【０１０２】
即ち、図１３に示すように、タスク出力情報テーブル（７）で定義されている情報ＩＤと同じ情報ＩＤを定義したタスク定義テーブル（２）の有無を、情報ＩＤを用いたタスクデータベース１１の検索によって確認する。この情報ＩＤは、設計したタスクの入力条件となる情報（例えば情報１）の情報ＩＤである。
【０１０３】
該当するタスク定義テーブル（２）がタスクデータベース１１に記憶されていない場合は（ステップＳ５１でＮＯ）、ステップＳ４７にリターンし、記憶されている場合は（ステップＳ５１でＹＥＳ）、ステップＳ５１で記憶されていると確認したタスク定義テーブル（２）で定義されたタスクと、設計したタスク（自タスク）との間で、時系列上の整合性が取れているか否かを確認する（ステップＳ５３）。
【０１０４】
ステップＳ５３の確認は、ステップＳ５１で記憶されていると確認したタスク定義テーブル（２）で定義されたタスクが出力する出力情報を、設計したタスクが入力条件として利用できるか否かを、それぞれのタスクの実行タイミングを照合することで行う。
【０１０５】
具体的には、まず、ステップＳ５１で記憶されていると確認したタスク定義テーブル（２）と、設計したタスクのタスク定義テーブル（２）とのそれぞれについて、各タスク定義テーブル（２）で定義されているタスクＩＤ（ＰＫ及びＦＫ１〜３に設定）をプライマリキーに設定して定義したタスクスケジュールテーブル（３）を、スケジュールデータベース１９からそれぞれ抽出する。
【０１０６】
次に、抽出した各タスクスケジュールテーブル（３）でそれぞれ定義されている「開始時期」及び「終了時期」等の項目を比較して、設計したタスクの実行タイミングよりも先に、ステップＳ５１で記憶されていると確認したタスク定義テーブル（２）で定義された他のタスクの出力情報が出力されるか否かを確認する。設計したタスクの出力情報が他のタスクの実行タイミングよりも先に出力される場合、ステップＳ５３の確認結果は時系列上の整合性が取れている（ＹＥＳ）となり、そうでない場合、ステップＳ５３の確認結果は時系列上の整合性が取れていない（ＮＯ）となる。
【０１０７】
なお、設計したタスクが他のタスクの実行タイミングよりも先に出力情報を出力し時系列上の整合性が取れている場合、設計したタスクと他のタスクとの関係は、例えば図１１のタスク２（設計したタスク）とタスク３（他のタスク）とのような前後関係になる。
【０１０８】
時系列上の整合性が取れている場合は（ステップＳ５３でＹＥＳ）、正常判定をして（ステップＳ５５）、一連の処理を終了する。一方、時系列上の整合性が取れていない場合は（ステップＳ５３でＮＯ）、ステップＳ５７に移行して、異常判定をして一連の処理を終了する。なお、ステップＳ４７において、他の入出力情報テーブル（８）が入出力情報データベース１７に記憶されていない場合（ＮＯ）や、ステップＳ４９において、他の入出力情報テーブル（８）をステップＳ４３で抽出した入出力情報テーブル（８）の代わりに選択しない場合（ＮＯ）にも、ステップＳ５７の異常判定をして一連の処理を終了する。
【０１０９】
以上に説明した図６及び図７の処理によって、図５のステップＳ１３の機能モジュールデータ候補選択ロジック及びステップＳ１５の機能モジュールタスクリンク時系列整合性診断ロジックを実行したならば、ＣＰＵは、機能モジュールデータ候補選択ロジック及び機能モジュールタスクリンク時系列整合性診断ロジックの診断結果が異常であるか正常であるかを確認する（ステップＳ１７）。図６のステップＳ３５や図７のステップＳ５５において正常判定が行われた場合は、ステップＳ１７の確認結果は正常となり、図６のステップＳ３７や図７のステップＳ５７において異常判定が行われた場合は、ステップＳ１７の確認結果は異常となる。
【０１１０】
そして、異常である場合は（ステップＳ１７で「異常」）、ディスプレイ４１において異常表示を行う等の異常終了処理を行った後（ステップＳ１９）、一連の処理を終了する。この場合には、異常の原因となったテーブルの内容を修正した後、ステップＳ１からの処理を再度行うことになる。正常である場合は（ステップＳ１７で「正常」）、一連の処理を終了する。
【０１１１】
以上の説明からも明らかなように、本実施形態のタスク設計支援システムにおいては、図６のフローチャートにおけるステップＳ２５及びステップＳ２７と図７のフローチャートにおけるステップＳ４３とが、請求項中の第１抽出手段に対応する処理となっている。また、本実施形態では、図６中のステップＳ２３及びステップＳ２７と図７中のステップＳ４５とが、請求項中の第２抽出手段に対応する処理となっている。
【０１１２】
さらに、本実施形態では、図６中のステップＳ３１及び図７中のステップＳ５１が、請求項中の第３抽出手段に対応する処理となっている。また、本実施形態では、図６中のステップＳ２５及び図７中のステップＳ４５が、請求項中の指定手段に対応する処理となっている。さらに、本実施形態では、図６中のステップＳ３３及び図７中のステップＳ５３が、請求項中の時系列判定手段に対応する処理となっている。
【０１１３】
以上に説明したように、本実施形態のタスク設計支援システムによれば、設計したタスクの入力条件を他のタスクからの出力情報によって取得できるか否かや、設計したタスクの出力情報を入力条件として利用する他のタスクが存在するか否かを、他のタスクとの時系列上の前後関係を含めてチェックし検証することができる。このため、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を容易にすることができる。
【０１１４】
しかも、本実施形態のタスク設計支援システムによれば、設計したタスクが入力条件として取得できる出力情報やその出力源となる他のタスクが存在しない場合に、設計したタスクが入力条件として利用できる他の情報を出力情報とするタスクを抽出することができる。同様に、本実施形態のタスク設計支援システムによれば、設計したタスクが出力する出力情報を入力条件として利用する他のタスクが存在しない場合に、設計したタスクの出力情報を入力条件として利用できる他のタスクを抽出することができる。
【０１１５】
そのために、本実施形態のタスク設計支援システムでは、入力条件や出力情報とする情報と関連付けて入出力情報テーブルに定義された属性と同じ属性の情報を定義した他の入出力情報テーブルを、入出力情報データベース１７の記憶内容から検索することができる。したがって、システムソフトウェアを構成するタスク間のインタフェースの整合性評価を、整合性の許容範囲を拡げてより容易にすることができる。
【０１１６】
そして、設計したタスクのインタフェースの整合性評価を容易にすることができることから、システムソフトウェアを構成する一部のモジュールの内容が変わっても、モジュール相互間のインタフェースの整合性を担保するタスク設計や、設計内容の妥当性の解析及び検証を、膨大な工数による手作業で行わなくてもすむようにすることができる。よって、あるロケットの誘導制御のために開発したシステムソフトウェア中のモジュール（タスク）を、他のロケットの誘導制御に流用し易いようにして、モジュールの汎用性を高めることができる。
【０１１７】
また、モジュールの汎用性が高まることから、汎用のオペレーションシステム（ＯＳ）を用い、そのオペレーションシステムと誘導制御関連のモジュールとの相互間インタフェースの整合性を、誘導制御関連モジュール側の設計、解析、検証の各段階で容易に評価することができる。
【０１１８】
よって、図１４に模式的に示すように、従来のシステムソフトウェアの一部として開発する専用のオペレーションシステムよりも、ハードウェア上での動作性能の完成度が高い汎用のオペレーションシステムを用いて、ロケットの誘導制御関連のシステムソフトウェアを構築することができる。
【０１１９】
また、誘導制御関連のモジュールとして、汎用のオペレーションシステムとアプリケーションソフトウェアとのインタフェース機能を有するモジュールを用いるようにして、プラットフォームに依存しないアプリケーションソフトウェアをロケットの誘導制御に活用しやすくすることができる。
【０１２０】
以上のような効果により、本実施形態のタスク設計支援システムによれば、ロケットの誘導制御に関する開発コストを低減することができる。
【０１２１】
なお、本実施形態では、ロケットの誘導制御に関するシステムソフトウェアの設計に用いる場合を例に取って説明した。しかし、本発明のタスク設計支援システムは、他のタスクとのインタフェースの整合性評価を行う必要があるタスクの設計を行う際に、広く適用可能である。例えば、オペレーションシステム機能タスクとインタフェース機能モジュール（タスク）との相互間、インタフェース機能モジュール（タスク）とアプリケーション機能タスクとの相互間、あるいは、いずれかの機能タスク内のタスク相互間で、他のタスクとのインタフェースの整合性評価を行う必要があるタスクの設計を行う際に、本発明は適用可能である。
【符号の説明】
【０１２２】
１０  データベースサーバ
１１  タスクデータベース
１３  入力条件データベース
１５  出力情報データベース
１７  入出力情報データベース
１９  スケジュールデータベース
３０  サーバ
３０  ＷＥＢサーバ
４０  クライアント端末
４１  ディスプレイ
４２  キーボード
４３  マウス
【図１】
0005556372.tif 000002
【図２】
0005556372.tif 000003
【図３】
0005556372.tif 000004
【図４】
0005556372.tif 000005
【図５】
0005556372.tif 000006
【図６】
0005556372.tif 000007
【図７】
0005556372.tif 000008
【図８】
0005556372.tif 000009
【図９】
0005556372.tif 000010
【図１０】
0005556372.tif 000011
【図１１】
0005556372.tif 000012
【図１２】
0005556372.tif 000013
【図１３】
0005556372.tif 000014
【図１４】
0005556372.tif 000015