(57)【要約】      （修正有）【課題】定められた論理構造にてパラメータを表現しなくとも、テストデータ生成ツールを使用することを可能とする。【解決手段】アンド・アンド階層平坦化手段４は、入力されたパラメータデータ２０の論理構造中において、対象ノードから、ＡＮＤ関係とＡＮＤ関係が階層として連続している部分を見いだし、条件を付け替えるとともに、対象子ノードＴaを削除する。オア・オア階層平坦化手段６は、アンド・アンド階層平坦化パラメータデータ２２の論理構造中において、対象ノードから、ＯＲ関係とＯＲ関係が階層として連続している部分を見いだし、条件を付け替えるとともに、対象子ノードＩＳＲを削除する。持上平坦化手段８は、対象ノードＴａからＡＮＤ関係とＯＲ関係が下位階層として連続し、さらに、対象ノードからＯＲ関係とＡＮＤ関係が上位階層として連続している部分３４を見いだし、条件を付け替えるとともに、平坦化を行う。【選択図】図１
2014157473.tif 000002
【特許請求の範囲】
【請求項１】
対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを入力するための入力手段と、
下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、入力された特徴データの階層構造を平坦化する平坦化手段と、
前記平坦化された特徴データに基づいて、特徴の組合せによるテストデータを生成するテストデータ生成手段と、
を備えたテストデータ生成装置であって、
(a)前記アンド・アンド階層平坦化手段は、
(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、
(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、
(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、
(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、
(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える排他条件付替手段と、
(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象ノードに付け替える要求条件付替手段と、
(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、
(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、
(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、
(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、
(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、
(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴とするテストデータ生成装置。
【請求項２】
コンピュータによってテストデータ生成装置を実現するためのテストデータ生成プログラムであって、コンピュータを、
対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを入力するための入力手段と、
下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、入力された特徴データの階層構造を平坦化する平坦化手段と、
前記平坦化された特徴データに基づいて、特徴の組合せによるテストデータを生成するテストデータ生成手段として機能させるためのテストデータ生成プログラムであって、
(a)前記アンド・アンド階層平坦化手段は、
(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、
(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、
(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、
(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、
(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替える排他条件付替手段と、
(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える要求条件付替手段と、
(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、
(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、
(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、
(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、
(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、
(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴とするテストデータ生成プログラム。
【請求項３】
対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを入力するための入力手段と、
下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、入力された特徴データの階層構造を平坦化する平坦化手段と、
を備えた特徴データ処理装置であって、
(a)前記アンド・アンド階層平坦化手段は、
(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、
(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、
(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、
(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、
(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替える排他条件付替手段と、
(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える要求条件付替手段と、
(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、
(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、
(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、
(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、
(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、
(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴とする特徴データ処理装置。
【請求項４】
コンピュータによって特徴データ処理装置を実現するための特徴データ処理プログラムであって、コンピュータを、
対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを入力するための入力手段と、
下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、入力された特徴データの階層構造を平坦化する平坦化手段として機能させるための特徴データ処理プログラムであって、
(a)前記アンド・アンド階層平坦化手段は、
(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、
(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、
(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、
(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、
(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替える排他条件付替手段と、
(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える要求条件付替手段と、
(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、
(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、
(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、
(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、
(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、
(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴とする特徴データ処理プログラム。
【請求項５】
対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを端末装置から受け取るための受信手段と、
下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、受信した特徴データの階層構造を平坦化する平坦化手段と、
前記平坦化された特徴データに基づいて、特徴の組合せによるテストデータを生成するテストデータ生成手段と、
生成したテストデータを前記端末装置に送信する送信手段と、
を備えたテストデータ生成サーバ装置であって、
(a)前記アンド・アンド階層平坦化手段は、
(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、
(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、
(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、
(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、
(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替える排他条件付替手段と、
(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える要求条件付替手段と、
(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、
(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、
(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、
(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、
(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、
(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴とするテストデータ生成サーバ装置。
【請求項６】
対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを端末装置から受け取るための受信手段と、
下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、入力された特徴データの階層構造を平坦化する平坦化手段と、
前記平坦化された特徴データを端末装置に送信する送信手段と、
を備えた特徴データ処理サーバ装置であって、
(a)前記アンド・アンド階層平坦化手段は、
(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、
(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、
(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、
(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、
(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替える排他条件付替手段と、
(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える要求条件付替手段と、
(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、
(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、
(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、
(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、
(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、
(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴とする特徴データ処理サーバ装置。
【請求項７】
請求項１〜６のいずれかの装置またはプログラムにおいて、
前記平坦化手段は、(a)前記アンド・アンド階層平坦化手段と、(b)前記オア・オア階層平坦化手段と、(c)前記持上平坦化手段とを備え、前記アンド・アンド階層平坦化手段および前記オア・オア階層平坦化手段によって処理された特徴データを、前記持上平坦化手段が処理するよう構成されていることを特徴とする装置またはプログラム。
【請求項８】
請求項１〜７のいずれかの装置またはプログラムにおいて、
前記要求条件は、要求元ノードが成立するときには、要求先ノードも成立することを定めるものであることを特徴とする装置またはプログラム。
【請求項９】
請求項１〜８のいずれかの装置またはプログラムにおいて、
前記排他条件は、一方のノードが成立すると、他方のノードが成立しないことを定めるものであることを特徴とする装置またはプログラム。
【請求項１０】
請求項１〜９のいずれかの装置またはプログラムにおいて、
前記アンド関係は、全てのノードが成立しなければならないことを示すものであることを特徴とする装置またはプログラム。
【請求項１１】
請求項１〜１０のいずれかの装置またはプログラムにおいて、
前記オア関係は、いずれか一つのノードのみが成立することを示すものであることを特徴とする装置またはプログラム。
【請求項１２】
コンピュータによって特徴データを処理する方法であって、
前記コンピュータが、対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを入力し、
前記コンピュータが、下記(a)アンド・アンド階層平坦化処理と、(b)オア・オア階層平坦化処理と、(c)持上平坦化処理の少なくとも一つの処理を実行して、入力された特徴データの階層構造を平坦化する特徴データ処理方法であって、
(a)前記アンド・アンド階層平坦化処理は、
(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだし、
(a2)前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替え、
(a3)前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加し、
(b)前記オア・オア階層平坦化処理は、
(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだし、
(b2)前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替え、
(b3)前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替え、
(b4)前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定し、
(b5)前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加し、
(c)前記持上平坦化処理は、
(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだし、
(c2)前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定し、
(c3)前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定し、
(c4)前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加することを特徴とする特徴データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラムなどが正常に動作するかどうかをテストするためのテストデータを生成する装置に関するものである。
【背景技術】
【０００２】
ソフトウエアの動作をテストするために、入力される可能性のあるデータの組合せを作成し、これらテストデータを入力して所望の動作となるかどうかを判断することが行われている。
【０００３】
従来、オールペア法（ペアワイズ法）等によって、入力される可能性のあるデータの組合せを生成し、テストデータが作成されていた。オールペア法等を用いたテストデータ生成のためのツールとして、マイクロソフト社のＰＩＣＴ（商標）などが販売されている。
【０００４】
たとえば、ＰＩＣＴにおいては、図２１に示すように、パラメータ、バリュー、制約条件を定義することにより、バリューの組み合わせによるテストデータを生成することができる。
【０００５】
ここで、ａ、ｂ・・・ｍはパラメータであり、ａ1、ａ2・・・ａnは、パラメータａのバリューである。１行目のａ：ａ1、ａ2・・・ａnによって、パラメータａは、バリューａ1、ａ2・・・ａnのいずれかをとることが示されている。２行目以下も同様である。
【０００６】
また、If ｍ＝ｍ1 then ａ＝ａnは、パラメータｍがｍ1の場合には、ａはａnとなることを条件として示している。さらに、If ｂ＝ｂ2 then NOT ａ＝ａ2およびIf ａ＝ａ2 then NOT ｂ＝ｂ2は、パラメータｂがｂ2であることと、パラメータａがａ2であることが両立しないことを条件として示している。
【０００７】
このような形式のデータにて、ＰＩＣＴプログラムにパラメータを与えると、テストデータが生成されて出力される。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以上のようにオールペア法などを用いたテストデータ生成ツールにおいては、図２１に示すような論理構造のデータを与えなければならない。このため、このような論理構造にて定義されていない事象については、ツールを使用することができなかった。
【０００９】
図１２に、ある事象の論理構造をツリー形式にて示す。このツリー構造では、ＰＩＣＴのようなツールに入力することはできない。
【００１０】
そこで、この発明においては、定められた論理構造にてパラメータを表現しなくとも、テストデータ生成ツールを使用することが可能となるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
(1)(2)この発明に係るテストデータ生成装置は、対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを入力するための入力手段と、下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、入力された特徴データの階層構造を平坦化する平坦化手段と、前記平坦化された特徴データに基づいて、特徴の組合せによるテストデータを生成するテストデータ生成手段とを備えたテストデータ生成装置であって、
(a)前記アンド・アンド階層平坦化手段は、(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える排他条件付替手段と、(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象ノードに付け替える要求条件付替手段と、(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴としている。
【００１２】
したがって、テストデータ生成手段に与える特徴データの構造を平坦化することができ、テストデータ生成手段における処理が容易となる。
【００１３】
(3)(4)この発明に係る特徴データ処理装置は、対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを入力するための入力手段と、下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、入力された特徴データの階層構造を平坦化する平坦化手段とを備えた特徴データ処理装置であって、
(a)前記アンド・アンド階層平坦化手段は、(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、
(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替える排他条件付替手段と、(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える要求条件付替手段と、(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴としている。
【００１４】
したがって、テストデータ生成手段に与える特徴データの構造を平坦化することができ、テストデータ生成手段における処理が容易となる。
【００１５】
(5)この発明に係るテストデータ生成サーバ装置は、対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを端末装置から受け取るための受信手段と、下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、受信した特徴データの階層構造を平坦化する平坦化手段と、前記平坦化された特徴データに基づいて、特徴の組合せによるテストデータを生成するテストデータ生成手段と、生成したテストデータを前記端末装置に送信する送信手段とを備えたテストデータ生成サーバ装置であって、
(a)前記アンド・アンド階層平坦化手段は、(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替える排他条件付替手段と、(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える要求条件付替手段と、(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴としている。
【００１６】
したがって、テストデータ生成手段に与える特徴データの構造を平坦化することができ、テストデータ生成手段における処理が容易となる。
【００１７】
(6)この発明に係る特徴データ処理サーバ装置は、対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを端末装置から受け取るための受信手段と、下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、入力された特徴データの階層構造を平坦化する平坦化手段と、前記平坦化された特徴データを端末装置に送信する送信手段と、を備えた特徴データ処理サーバ装置であって、
(a)前記アンド・アンド階層平坦化手段は、(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替える排他条件付替手段と、(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える要求条件付替手段と、(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴としている。
【００１８】
したがって、テストデータ生成手段に与える特徴データの構造を平坦化することができ、テストデータ生成手段における処理が容易となる。
【００１９】
(7)この発明に係るテストデータ生成装置において、平坦化手段は、(a)前記アンド・アンド階層平坦化手段と、(b)前記オア・オア階層平坦化手段と、(c)前記持上平坦化手段とを備え、前記アンド・アンド階層平坦化手段および前記オア・オア階層平坦化手段によって処理された特徴データを、前記持上平坦化手段が処理するよう構成されていることを特徴としている。
【００２０】
したがって、アンド関係とオア関係によって結合された３層構造の特徴データとして平坦化することができる。
【００２１】
(8)この発明に係るテストデータ生成装置において、要求条件は、要求元ノードが成立するときには、要求先ノードも成立することを定めるものであることを特徴としている。
【００２２】
(9)この発明に係るテストデータ生成装置において、排他条件は、一方のノードが成立すると、他方のノードが成立しないことを定めるものであることを特徴としている。
【００２３】
(10)この発明に係るテストデータ生成装置は、アンド関係は、全てのノードが成立しなければならないことを示すものであることを特徴としている。
【００２４】
(11)この発明に係るテストデータ生成装置は、オア関係は、いずれか一つのノードのみが成立することを示すものであることを特徴としている。
【００２５】
(12)この発明に係る特徴データ処理方法は、コンピュータによって特徴データを処理する方法であって、前記コンピュータが、対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを入力し、
前記コンピュータが、下記(a)アンド・アンド階層平坦化処理と、(b)オア・オア階層平坦化処理と、(c)持上平坦化処理の少なくとも一つの処理を実行して、入力された特徴データの階層構造を平坦化する特徴データ処理方法であって、
(a)前記アンド・アンド階層平坦化処理は、(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだし、(a2)前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替え、(a3)前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加し、
(b)前記オア・オア階層平坦化処理は、(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだし、(b2)前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替え、(b3)前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替え、(b4)前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定し、(b5)前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加し、
(c)前記持上平坦化処理は、(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだし、(c2)前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定し、(c3)前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定し、(c4)前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加することを特徴としている。
【００２６】
したがって、テストデータ生成処理に与える特徴データの構造を平坦化することができ、テストデータ生成における処理が容易となる。
【００２７】
この発明において、「入力手段」は、ステップＳ１がこれに対応する。
【００２８】
「アンド・アンド階層平坦化手段」は、ステップＳ２がこれに対応する。
【００２９】
「オア・オア階層平坦化手段」は、ステップＳ３がこれに対応する。
【００３０】
「持上平坦化手段」は、ステップＳ４がこれに対応する。
【００３１】
「テストデータ生成手段」は、ステップＳ５がこれに対応する。
【００３２】
「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【図面の簡単な説明】
【００３３】
【図１】この発明の一実施形態によるテストデータ生成装置の機能ブロック図である。
【図２】テストデータ生成装置のハードウエア構成である。
【図３】テストデータ生成プログラム４４のフローチャートである。
【図４】ＡＮＤ−ＡＮＤ階層の平坦化処理のフローチャートである。
【図５】ＡＮＤ−ＡＮＤ階層の平坦化処理のフローチャートである。
【図６】ＸＯＲ−ＸＯＲ階層の平坦化処理のフローチャートである。
【図７】ＸＯＲ−ＸＯＲ階層の平坦化処理のフローチャートである。
【図８】ＸＯＲ−ＸＯＲ階層の平坦化処理のフローチャートである。
【図９】持ち上げによる平坦化処理のフローチャートである。
【図１０】持ち上げによる平坦化処理のフローチャートである。
【図１１】入力されるパラメータデータの例である。
【図１２】入力されるパラメータデータを図示したものである。
【図１３】ＡＮＤ−ＡＮＤ階層における要求条件の付け替えを示す図である。
【図１４】ＡＮＤ−ＡＮＤ階層平坦化処理によって平坦化されたパラメータデータを示す図である。
【図１５】ＸＯＲ−ＸＯＲ階層における要求条件の付け替えを示す図である。
【図１６】ＸＯＲ−ＸＯＲ階層における要求条件の付け替えと、排他条件の不可を示す図である。
【図１７】ＸＯＲ−ＸＯＲ階層平坦化処理によって平坦化されたパラメータデータを示す図である。
【図１８】持ち上げ平坦化処理によって平坦化されたパラメータデータを示す図である。
【図１９】持ち上げ平坦化処理によって平坦化されたパラメータデータを示す図である。
【図２０】テストデータ生成サーバ装置のフローチャートである。
【図２１】従来のテストデータ生成装置における標準的なパラメータデータの構造である。
【図２２】従来のテストデータ生成装置における標準的なパラメータデータの構造を図に表したものである。
【発明を実施するための形態】
【００３４】
１．概要
図１２に、ある事象の論理構造をツリー形式にて示す。このツリー構造では、ＰＩＣＴのようなツールに入力することはできない。
【００３５】
一方、図２１に示すＰＩＣＴのために定められたデータを、ツリー構造にて示すと、図２２のようになる。
【００３６】
パラメータａ1,ａ2,...ａnは、エクスクルーシブＯＲ（ＸＯＲ）によって、ａのグループに結合されている。つまり、パラメータａ1,ａ2,...ａnは、いずれか一つが必ず「成立」する関係にある。同様に、パラメータｂ1,ｂ2,...ｂnは、エクスクルーシブＯＲ（ＸＯＲ）によって、ｂのグループに結合されている。さらに、パラメータｍ1,ｍ2,...ｍnは、エクスクルーシブＯＲ（ＸＯＲ）によって、ｍのグループに結合されている。
【００３７】
ａ,ｂ,ｃ...ｍは、アンド（ＡＮＤ）によって、ｒのグループに結合されている。つまり、ａ,ｂ,ｃ...ｍは、全てが「成立」する関係にある。
【００３８】
なお、図２２において、要素にドットを付すことによりＡＮＤ関係を示している。また、ラインに弧を付すことによりＸＯＲ関係を示している。
【００３９】
パラメータｍ1からパラメータａnに向かうｒｅｑラインは、パラメータｍ1が成立すると、パラメータａnも成立する関係にあることを示している。また、パラメータａ2とパラメータｂ2との間のｍｕｔｅｘラインは、パラメータａ2とパラメータｂ2が同時に成立しない関係にあることを示している。
【００４０】
図１２のようなツリー構造にて示されるデータを、図２２に示すようなツリー構造に変換することができれば、ＰＩＣＴなどのツールを使用することができる。
【００４１】
２．テストデータ生成装置の全体構成
図１に、この発明の一実施形態によるテストデータ生成装置の全体構成を機能ブロック図にて示す。入力手段２は、論理構造にて表現されたパラメータデータ２０を入力する。
【００４２】
アンド・アンド階層平坦化手段４は、入力されたパラメータデータ２０の論理構造中において、対象ノードから、ＡＮＤ関係とＡＮＤ関係が階層として連続している部分を見いだす。図１においては、対象ノードがＡＴであり、ＡＮＤ関係とＡＮＤ関係が階層として連続している部分が３０で示されている。
【００４３】
アンド・アンド階層平坦化手段４は、さらに、前記部分３０において、対象子ノードＴa（対象ノードＡＴの子にあたるノード）に要求条件または排他条件が付されていれば、当該要求条件または排他条件を、対象ノードＡＴに付け替える。図１の例では、対象子ノードＴaに要求条件や排他条件が付されていないので、ここでは何も行われない。続いて、アンド・アンド階層平坦化手段４は、対象子ノードＴaを削除する。
【００４４】
アンド・アンド階層平坦化手段４は、見いだしたＡＮＤ関係とＡＮＤ関係が階層として連続している部分の全てについて、上記の処理を実行する。これにより、アンド・アンド階層平坦化パラメータデータ２２が得られる。
【００４５】
オア・オア階層平坦化手段６は、アンド・アンド階層平坦化パラメータデータ２２の論理構造中において、対象ノードから、ＯＲ関係とＯＲ関係が階層として連続している部分を見いだす。図１においては、対象ノードがＥｌであり、ＯＲ関係とＯＲ関係が階層として連続している部分が３２で示されている。
【００４６】
オア・オア階層平坦化手段６は、さらに、前記部分３２において、対象子ノードＩＳＲに排他条件が付されていれば、これを対象孫ノードＩＳＲ１、ＩＳＲ２（対象子ノードの子ノード）に付け替える。図１においては、対象子ノードＩＳＲとノードＷＡの間に設定されている排他条件が、対象孫ノードＩＳＲ１、ＩＳＲ２のそれぞれと、ノードＷＡとの間に付け替えられる。また、前記部分３２において、対象子ノードＩＳＲに要求条件が付されていれば、当該要求条件を、対象ノードＥｌに付け替える。この時、この要求条件が、対象子ノードを要求先とするものであれば、対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する。続いて、オア・オア階層平坦化手段６は、対象子ノードＩＳＲを削除する。  
【００４７】
オア・オア階層平坦化手段６は、見いだしたＯＲ関係とＯＲ関係が階層として連続している部分の全てについて、上記の処理を実行する。これにより、オア・オア階層平坦化パラメータデータ２４が得られる。
【００４８】
持上平坦化手段８は、対象ノードＴａからＡＮＤ関係とＯＲ関係が下位階層として連続し、さらに、対象ノードからＯＲ関係とＡＮＤ関係が上位階層として連続している部分３４をみい出す。
【００４９】
持上平坦化手段８は、前記部分３４において、対象孫ノードＹ、Ｎから、前記対象ノードＴａに対して要求条件を設定する。さらに、「対象孫ノードＹ、Ｎのいずれでもない」という対象孫ノードＹＮを追加し、対象ノードＴａと対象孫ノードＹＮとの間に、排他条件を設定する。
【００５０】
持上平坦化手段８は、さらに、対象子ノードＰｒｅを対象親親ノードＡＴ（対象ノードＴａの親ノードＥｌの親ノード）の子ノードとして、ＡＮＤ関係に追加するように移動する。この際、対象子ノードＰｒｅ以下の構造も移動される。これにより、図１に示す持上平坦化パラメータデータ２６が得られる。
【００５１】
持上平坦化パラメータデータ２６は、ＡＮＤ関係とＸＯＲ関係の階層によって定められる論理構造を有するパラメータである。したがって、これをＰＩＣＴ等によって実現されるテストデータ生成手段１０に与えることにより、テストデータを得ることができる。
【００５２】
３．ハードウエア構成
図２に、テストデータ生成装置のハードウエア構成を示す。ＣＰＵ３０には、メモリ３２、ディスプレイ３４、ハードディスク３６、ＤＶＤ−ＲＯＭドライブ３８、キーボード／マウス４６が接続されている。ハードディスク３６には、WINDOWS（商標）などのオペレーティングシステム４２、テストデータ生成プログラム４４が記録されている。テストデータ生成プログラム４４は、オペレーティングシステム４２と協働してその機能を発揮するものである。また、オペレーティングシステム４２、テストデータ生成プログラム４４は、ＤＶＤ−ＲＯＭ４０に記録されたものを、ＤＶＤ−ＲＯＭドライブ３８を介して、ハードディスク３６にインストールしたものである。
【００５３】
４．テストデータ生成プログラムの処理
図３に、テストデータ生成プログラム４４のフローチャートを示す。
【００５４】
4.1入力処理
ＣＰＵ３０は、パラメータデータを入力し、ハードディスク３６に記録する（ステップＳ１）。パラメータデータは、キーボード／マウス４６から入力してもよいし、ＤＶＤ−ＲＯＭドライブ３８から入力するようにしてもよい。
【００５５】
ここでは、図１１に示すようなパラメータデータが入力されたものとする。これを模式的に示すと図１２のようになる。なお、この実施形態では、パラメータデータは、図１１のような形式にて入力している。しかし、図１２のようなツリー構造をディスプレイ３４に表示し、キーボード／マウス４６などで編集を行いながら入力するようにしてもよい。
【００５６】
このパラメータデータは、オペレーティングシステムにおけるactivateTaskのプログラムに対する入力データが取り得る状態を示したものである。たとえば、図１２において、ノードactivateTaskから、ノードExecutionlevel（実行レベル）、ノードTask（activate対象となるタスク）に、ＡＮＤ関係が結ばれている。これにより、activateTaskについては、ExecutionlevelとTaskの双方が成立しなければならないことが示されている。つまり、activateTaskは、ExecutionlevelとTaskの双方の決定が必要であることが示されている。
【００５７】
また、ノードExecutionlevelから、ノードExTask（タスク実行レベル）、ノードISR（割り込み）に、ＸＯＲ関係が結ばれている。これにより、Executionlevelについては、ExTaskとISRのいずれか一方のみが成立しなければならないことが示されている。つまり、Executionlevelは、ExTaskとISRのいずれか一方のみの決定が必要であることが示されている。
【００５８】
同様に、Taskは、TaskID（タスクの識別符号）とstatus（activate実行後のタスクの状態）とpriority（実行の優先度）の全ての決定が必要であることが示されている。TaskIDは、valid（有効なＩＤ）かinvalid（無効なＩＤ）のいずれかに決定されなければならないことが示されている。statusは、suspended（停止中）、run（動作）、ready（準備完了）、wait（待ち）のいずれかに決定されなければならないことが示されている。pariorityは、high（高）、low（低）、equiv（普通）のいずれかに決定されなければならないことが示されている。
【００５９】
4.2アンド・アンド階層の平坦化処理
次に、ＣＰＵ３０は、入力されたパラメータデータについて、アンド・アンド階層の平坦化処理を行う（ステップＳ２）。前述のように、ＡＮＤ関係が階層として連続している部分を探し出して平坦化を行う。図４に、アンド・アンド階層の平坦化処理の詳細を示す。
【００６０】
ＣＰＵ３０は、まず、ルートノードactivateTaskを対象ノードに設定する（ステップＳ２０１）。次に、対象ノードからＡＮＤ関係にて子ノードが定義されているかどうかを判断する（ステップＳ２０２）。ここでは、図１２に示すように、対象ノードactivateTaskから、ＡＮＤ関係にて、子ノードExecutionlevelと子ノードTaskが定義されている。したがって、ＣＰＵ３０は、ステップＳ２０３に進み、最初の子ノードExecutionlevelを対象子ノードとする。
【００６１】
続いて、ＣＰＵ３０は、対象子ノードから、ＡＮＤ関係にて、孫ノードが定義されているかを判断する（ステップＳ２０４）。ここでは、対象子ノードExecutionlevelから、孫ノードExtask、ISRに対して、ＸＯＲ関係が定義されており満たしていないので、ステップＳ２０５に進む。ステップＳ２０５において、すべての子ノードを対象子ノードとして処理したかどうかを判断する。ここでは、子ノードTaskに対する処理がまだであるから、これを対象子ノードとする（ステップＳ２０６）。
【００６２】
ＣＰＵ３０は、対象子ノードから、ＡＮＤ関係にて、孫ノードが定義されているかを判断する（ステップＳ２０４）。ここでは、対象子ノードTaskから、ＡＮＤ関係にて、孫ノードTaskID、status、priorityが定義されている。したがって、満足するので、ステップＳ２０９に進む。
【００６３】
ステップＳ２０９において、ＣＰＵ３０は、対象子ノードTaskに条件が付いているかどうかを判断する。ここでは、条件は付いていないので、ステップＳ２１１を実行する。ステップＳ２１１において、ＣＰＵ３０は、対象子ノードTaskを削除し、孫ノードTaskID、status、priorityを対象ノードactivateTaskの子ノードとする。これにより、図１４に示すように、対象子ノードTaskが削除される。
【００６４】
次に、ＣＰＵ３０は、すべての子ノードを対象子ノードとして処理したかどうかを判断する（ステップＳ２０５）。ここでは、全ての子ノードについて処理を行ったので、ステップＳ２０７に進む。
【００６５】
ステップＳ２０７において、ＣＰＵ３０は、全てのノードを対象ノードとして処理したかどうかを判断する。ここでは、未処理のノードがあるので、ノードExecutionlevelを対象ノードに設定する（ステップＳ２０８）。
【００６６】
ＣＰＵ３０は、対象ノードExecutionlevelから、ＡＮＤ関係にて、子ノードが定義されているかどうかを判断する（ステップＳ２０２）。ここでは、対象ノードExecutionlevelから、子ノードExtask、ISRに対して、ＸＯＲ関係が定義されており満たしていないので、ステップＳ２０７に進む。まだ、未処理のノードがあるので、ノードTaskIDを対象ノードに設定する（ステップＳ２０８）。なお、既にノードTaskは削除されており、図１４のような状態となっているので、ノードTaskIDが対象ノードとして設定されることになる。
【００６７】
ＣＰＵ３０は、対象ノードTaskIDから、ＡＮＤ関係にて、子ノードが定義されているかどうかを判断する（ステップＳ２０２）。ここでは、対象ノードTaskIDから、ＸＯＲ関係にて、子ノードvalid、invalidが定義されており、満足しないので、ステップＳ２０８に進む（ステップＳ２０７）。ステップＳ２０８においては、ノードstatusを対象ノードとして設定する。
【００６８】
ここでも、ステップＳ２０２は満足されないので、次に、ノードpriorityが対象ノードとして設定される（ステップＳ２０２、Ｓ２０７、Ｓ２０８）。
【００６９】
以上のような処理を繰り返し、全てのノードを対象ノードとして処理を行えば、アンド・アンド階層の平坦化処理を終了する（ステップＳ２０７）。
【００７０】
上記のアンド・アンド階層平坦化処理を行った後のパラメータデータを、図１４に示す。
【００７１】
なお、ステップＳ２０９において、アンド・アンド階層の条件を満たす部分の対象子ノードに条件が付いていれば、ＣＰＵ３０は、当該条件を対象ノードに付け替える。たとえば、図１３Ａに示すように、対象子ノードＣに要求条件が付いている場合、図１３Ｂに示すように、この要求条件を対象ノードＡに付け替える。なお、図１３のように対象子ノードＣが要求元となっている場合だけでなく、対象子ノードが要求先となっている場合も同様である。また、対象子ノードＣに排他条件が付されている場合も同様に付け替えを行う。
【００７２】
4.3ＸＯＲ・ＸＯＲ階層の平坦化処理
以上のようにして、アンド・アンド階層の平坦化処理を終了すると、ＣＰＵ３０は、次に、ＸＯＲ・ＸＯＲ階層の平坦化処理を実行する（図３、ステップＳ３）。ＸＯＲ・ＸＯＲ階層の平坦化処理の詳細を、図６〜図８に示す。
【００７３】
ＣＰＵ３０は、図１４の平坦化されたデータに対して、まず、ステップＳ３０１において、ルートノードactiavteTaskを対象ノードに設定する。次に、この対象ノードactiavteTaskから、ＸＯＲ関係にて、子ノードが定義されているかどうかを判断する（ステップＳ３０２）。ここでは、ＡＮＤ関係にて、子ノードExecutionlevel、TaskID、status、priorityが定義されており、満足しない。したがって、ステップＳ３０７に進む。
【００７４】
ステップＳ３０７において、ＣＰＵ３０は、全てのノードを対象ノードとして処理を行ったかどうかを判断する。ここでは、未対象のノードがあるので、次のノードExecutionlevelを対象ノードとする（ステップＳ３０８）。
【００７５】
ＣＰＵ３０は、ステップＳ３０２において、対象ノードExecutionlevelから、ＸＯＲ関係にて、子ノードが定義されているかを判断する。ここでは、ＸＯＲ関係にて、子ノードExTask、ISRが定義されているので、満足する。したがって、ＣＰＵ３０は、子ノードExTaskを対象子ノードに設定する（ステップＳ３０３）。
【００７６】
次に、ＣＰＵ３０は、対象子ノードExTaskから、ＸＯＲ関係にて、孫ノードが定義されているかどうかを判断する（ステップＳ３０４）。ここでは、ＡＮＤ関係にて、孫ノードPreemptiveが定義されており満足しないので、ステップＳ３０５に進む。
【００７７】
ステップＳ３０５において、ＣＰＵ３０は、全ての子ノードを対象子ノードとしたかどうかを判断する。まだ、子ノードISRを対象子ノードとしていないので、これを対象子ノードに設定する（ステップＳ３０６）。
【００７８】
ＣＰＵ３０は、対象子ノードISRから、ＸＯＲ関係にて、孫ノードが定義されているかどうかを判断する（ステップＳ３０４）。ここでは、XOR関係にて、孫ノードISR1、ISR2が定義されているので満足する。したがって、ステップＳ３０９に進む。
【００７９】
ステップＳ３０９において、対象子ノードISRに条件が付いているかどうかを判断する。ここでは、対象子ノードISRに条件が付いているので、ステップＳ３１０に進む。ステップＳ３１０において、ＣＰＵ３０は、当該条件が排他条件であるかどうかを判断する。ここでは、排他条件が付されているので、ステップＳ３１１を実行する。ステップＳ３１１においては、対象子ノードISRに付された排他条件を、孫ノードISR1、ISR2に付け替える。つまり、ノードpriorityと対象子ノードISRとの間の排他条件が、ノードpriorityと対象孫ノードISR１との間の排他条件、ノードpriorityと対象孫ノードISR2との間の排他条件に、付け替えられる。
【００８０】
次に、ＣＰＵ３０は、対象子ノードISRに付されている条件が要求条件であるかどうかを判断する（ステップＳ３１２）。ここでは、要求条件は付されていないので、ステップＳ３１７に進む。ステップＳ３１７において、ＣＰＵ３０は、対象子ノードISRを削除し、孫ノードISR1、ISR2を対象ノードExecutionlevelの子ノードとする。したがって、図１７に示すように、排他条件が付け替えられ、対象子ノードISRが削除される。
【００８１】
次に、ＣＰＵ３０は、全ての子ノードについて処理を行ったかどうかを判断する（ステップＳ３０５）。ここでは、未処理の子ノードがあるので、次に、子ノードTaskIDを対象子ノードとして、ステップＳ３０４以下の処理を実行する。同様に、他の子ノードstatus、priorityも、順次、対象子ノードとして、ステップＳ３０４以下の処理を実行する。
【００８２】
対象ノードの全ての子ノードに対する処理を終えると、次の、ノードを対象ノードとして（ステップＳ３０８）、ステップＳ３０２以下の処理を実行する。このようにして、全てのノードを対象ノードとして処理すると、ＸＯＲ・ＸＯＲ階層平坦化処理を終了する（ステップＳ３０７）。
【００８３】
上記のステップＳ３１０において、対象子ノードに排他条件が付されている場合には、当該排他条件を当該子ノードの孫ノード全てに付け替えるようにしている。この際、対象子ノードに要求条件が付いている場合には（ステップＳ３１２）、ＣＰＵ３０は、次のような処理を行う。
【００８４】
ＣＰＵ３０は、当該要求条件の要求元が子ノードであるかどうかを判断する（ステップＳ３１３）。そうであれば、ＣＰＵ３０は、子ノードからの要求条件を、当該子ノードの孫ノードおのおのからの要求条件に付け替える（ステップＳ３１４）。
【００８５】
たとえば、図１５Ａに示すように、ＸＯＲ階層の連続する部分における対象子ノードＣから、ノードＥに対して要求条件が設定されていたとする。この場合、ＣＰＵ３０は、図１５Ｂに示すように、要求元を当該対象子ノードのそれぞれの孫ノードにして、ノードＥに対する要求条件を設定する。その後、対象子ノードＣを削除し、孫ノードＦ、Ｇ、Ｈを、対象ノードＡの子ノードに加える（ステップＳ３１７）。
【００８６】
ステップＳ３１３において、対象子ノードを要求先とする要求条件が付されていると判断すると、ＣＰＵ３０は、ステップＳ３１５に進む。ステップＳ３１５においては、ＣＰＵ３０は、対象子ノードに付された要求条件を、対象ノードに付け替える。さらに、当該要求条件の要求元ノードから、対象ノードの子ノードのそれぞれ（対象子ノードを除く）に対して、排他条件を設定する（ステップＳ３１６）。
【００８７】
たとえば、図１６Ａに示すように、ＸＯＲ階層の連続する部分における対象子ノードＣに対し、ノードＥから要求条件が設定されていたとする。この場合、ＣＰＵ３０は、図１６Ｂに示すように、当該要求条件の要求先を対象ノードＡに付け替える。さらに、対象ノードＡの子ノードＢ、Ｃの内、対象子ノードＣを除く全ての子ノードのそれぞれ（ここでは子ノードＢだけとなる）と、前記要求条件の要求元のノードＥとの間に、排他条件を設定する。その後、対象子ノードＣを削除し、孫ノードＦ、Ｇ、Ｈを、対象ノードＡの子ノードに加える（ステップＳ３１７）。
【００８８】
4.4持ち上げによる平坦化処理
以上のようにして、ＸＯＲ・ＸＯＲ階層の平坦化処理を終了すると、ＣＰＵ３０は、次に、持ち上げによる平坦化処理を実行する（図３、ステップＳ４）。つまり、ＡＮＤ関係とＸＯＲ関係によって定義される３階層からなるパラメータデータに平坦化する。持ち上げによる平坦化処理の詳細を、図９、図１０に示す。
【００８９】
まず、ＣＰＵ３０は、平坦化された図１７のパラメータデータにおいて、第３階層以下の最初のノードを対象ノードとして設定する（ステップＳ４０１）。ここでは、ノードExTaskが対象ノードとなる。
【００９０】
次に、ＣＰＵ３０は、対象ノードExTaskからＡＮＤ関係にて、子ノードが定義されているかどうかを判断する（ステップＳ４０２）。ここでは、子ノードpreemptiveが定義されているので満足するので、ステップＳ４０３に進む。ステップＳ４０３においては、最初の子ノードを対象子ノードとする。ここでは、子ノードpreemptiveが対象子ノードとなる。
【００９１】
次に、ＣＰＵ３０は、対象子ノードpreemptive以下の構造を、対象ノードExTaskの親の親のノード（親親ノードまたは祖父母ノード）activateTaskの子ノードとして、アンド関係にて定義する（図１８参照）。
【００９２】
続いて、孫ノードYes、Noのそれぞれから、対象ノードExTaskに対して、要求条件を設定する（ステップＳ４０５）（以下、子ノード、孫ノードなどの表記は、図１７の状態に基づいて表記している）。さらに、ＣＰＵ３０は、「他の孫ノードのいずれでもない」という内容の孫ノードを、ＸＯＲ関係にて追加する（ステップＳ４０６）。ここでは、図8に示すように、YesでもNoでもないというノードYesNoが定義される。
【００９３】
次に、ＣＰＵ３０は、追加した孫ノードYesNoと対象ノードExTaskとの間に、排他条件を設定する（ステップＳ４０７）。これにより、図１８に示すようなパラメータデータとなる。
【００９４】
次に、ＣＰＵ３０は、全ての子ノードを対象子ノードとしたかどうかを判断する（ステップＳ４０８）。処理をしていない子ノードがあれば、次の子ノードを対象子ノードとして、ステップＳ４０２以下を実行する。ここでは、全ての子ノードについての処理を行ったので、ステップＳ４１０に進む。
【００９５】
ステップＳ４１０においては、ＣＰＵ３０は、第３階層以下の全てのノードを対象ノードとしたかどうかを判断する。対象となっていない第３階層以下のノードがあれば、次のノードを対象ノードとする（ステップＳ４１１）。ここでは、第３階層以下のノードは存在しないので、持ち上げによる平坦化処理を終了する。
【００９６】
以上のようにして、図１８に示すような平坦化されたパラメータデータを得ることができる。これをデータ形式にて表すと、図１９に示すようになる。
【００９７】
3.5平坦化パラメータデータに基づくテストデータの生成
次に、ＣＰＵ３０は、このようにして生成したパラメータデータに基づいて、テストデータの生成処理を行う（図３、ステップＳ５）。この実施形態では、オールペア法に基づいてテストデータの生成を行う。
【００９８】
ここでは、平坦化されたパラメータデータは、ＡＮＤ関係、ＸＯＲ関係からなる３階層のデータとして標準化されている。したがって、オールペア法によるテストデータ生成処理が容易である。また、オールペア法などに基づくテストデータ生成プログラム（たとえば、マイクロソフト社のＰＩＣＴ）などを用いることができる。
【００９９】
以上のようにして、テストデータを生成することができる。
【０１００】
５．その他の実施形態
(1)上記実施形態においては、テストデータの生成までを行っている。しかし、ステップＳ２〜Ｓ４の処理によって平坦化されたパラメータデータを出力するようにしてもよい。この場合、ユーザは、出力されたパラメータデータを、ＰＩＣＴなどのツールにこれを入力し、テストデータを得ることができる。
【０１０１】
(2)上記実施形態においては、スタンドアローンのコンピュータにてテストデータを生成する場合を説明した。しかし、上記の各処理をインターネットなどに接続されたサーバ装置にて行うようにしてもよい。この場合のサーバ装置におけるサーバプログラムの処理フローチャートを、図２０に示す。
【０１０２】
まず、サーバ装置のＣＰＵは、インターネットを介して端末装置からパラメータデータを受信する（ステップＳ５０）。続いて、ＡＮＤ−ＡＮＤ階層の平坦化（ステップＳ２）、ＸＯＲ−ＸＯＲ階層の平坦化（ステップＳ３）、持ち上げによる平坦化（ステップＳ４）、テストデータの生成（ステップＳ５）を実行する。これらの処理は、図３と同様である。続いて、生成されたテストデータを、端末装置に送信する（ステップＳ５１）。
【０１０３】
以上のようにすれば、端末装置において、プログラムを用意しなくとも、テストデータを得ることができる。
【０１０４】
また、平坦化されたパラメータデータを端末装置に送信するようにしてもよい。この場合、ユーザは、端末装置側のＰＩＣＴなどのツールにこれを入力し、テストデータを得ることができる。
【０１０５】
(3)上記実施形態では、ＡＮＤ−ＡＮＤ階層平坦化、ＸＯＲ−ＸＯＲ階層平坦化の順に処理を行っている。しかし、ＡＮＤ−ＡＮＤ階層平坦化より先に、ＸＯＲ−ＸＯＲ階層平坦化を実行するようにしてもよい。
【０１０６】
(4)上記実施形態では、ＡＮＤ−ＡＮＤ階層平坦化、ＸＯＲ−ＸＯＲ階層平坦化持ち上げによる平坦化の全ての処理を行っている。しかし、ＡＮＤ−ＡＮＤ階層平坦化だけ、ＸＯＲ−ＸＯＲ階層平坦化だけ、持ち上げによる平坦化だけを実行するようにしてもよい。また、これらのうちの２つだけを実行するようにしてもよい。
【図１】
2014157473.tif 000003
【図２】
2014157473.tif 000004
【図３】
2014157473.tif 000005
【図４】
2014157473.tif 000006
【図５】
2014157473.tif 000007
【図６】
2014157473.tif 000008
【図７】
2014157473.tif 000009
【図８】
2014157473.tif 000010
【図９】
2014157473.tif 000011
【図１０】
2014157473.tif 000012
【図１１】
2014157473.tif 000013
【図１２】
2014157473.tif 000014
【図１３】
2014157473.tif 000015
【図１４】
2014157473.tif 000016
【図１５】
2014157473.tif 000017
【図１６】
2014157473.tif 000018
【図１７】
2014157473.tif 000019
【図１８】
2014157473.tif 000020
【図１９】
2014157473.tif 000021
【図２０】
2014157473.tif 000022
【図２１】
2014157473.tif 000023
【図２２】
2014157473.tif 000024