(57)【要約】      （修正有）【課題】計算機システムの利用する情報を出力する変換処理を開発する際に、出力情報及びその制約の変更に合わせた、変換処理の変更作業の効率化を図る方法を提供する。【解決手段】計算機システムが利用する情報を出力する変換処理を開発する際には、変換処理の複数の処理行から、変換後の情報及びその制約の違いの原因となる変換処理の処理行を特定し、変換処理を変更することを先立って行う。そして、計算機システムの利用する情報を出力する変換処理を開発する際に、出力情報と出力情報の制約定義との変更に合わせた、変換処理の変更作業の効率化を図る。ここで、上述のように、制約定義の変更に合わせて、変換方法の変更が必要になる場合がある。当該変換方法の変更に関し、変更前後の制約定義を変換後の情報に適用し、この結果に基づいて変換方法における実行順序の変更箇所を特定する。【選択図】図１
2015082208.tif 000002
【特許請求の範囲】
【請求項１】
システムで用いる情報を変換する際の不良を特定する変換処理不良特定システムにおいて、
前記情報の変換後の情報である変換後情報の入力を受け付ける手段と、
前記変換後情報の制約情報を記憶する手段と、
前記変換の内容を示す変換処理情報を記憶する手段と、
前記変換後情報において前記制約情報に反する値の組み合わせを作り出す手段と、
前記変換処理情報において前記組み合わせを処理する処理行である変換不良を特定する手段と、
前記変換処理情報において前記処理行の処理を前記組み合わせの場合において変更する手段とを有することを特徴とする変換処理不良特定システム。
【請求項２】
請求項１に記載の変換後処理不良特定システムにおいて、
前記制約情報のうち、除外すべき制約定義の組み合わせに至るまでに呼び出される処理を保持する手段と、
前記処理行の処理を、前記呼び出される前記組み合わせについて、前記処理が呼び出される場合において変更する手段とを更に有することを特徴とする変換処理不良特定システム。
【請求項３】
請求項２に記載の変換処理不良特定システムであって、
前記記憶する手段の制約情報と前記入力手段の制約情報の差分を取得する手段と、
前記変換処理情報において前記処理行の処理を前記組み合わせの場合において前記差分を元に置換し変更する手段とを更に有することを特徴とする変換処理不良特定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムで取り扱っている情報を変換する技術に関する。その中でも特に、いわゆる業務システムにおいて、様々な形式の情報について、当該システムに適した形式に変換する技術に関する。
【背景技術】
【０００２】
企業において業務情報の管理を目的に設置される計算機システムのプログラムにおいては、一般に多種多量の情報を利用する。従って、プログラムの開発者が入力した情報を変換し、計算機システムが利用する情報を生成する変換処理を有する計算機を用意することにより、計算機システムの利用する情報を作成する手間を減らす。しかし、多種の情報を対象とする変換処理は複雑なものとなるため、変換処理には間違いが入りこむ可能性がある。従って、変換処理を用意するに当たっては、変換処理の不良箇所を早く発見し、早く修正することが情報作成作業の効率化の上で必要である。
【０００３】
この課題を解決するための背景技術として、特許３８５７６６３号公報（特許文献１）がある。特許文献１は、ＸＳＬＴ文書により元のＸＭＬ情報をＷｅｂブラウザに表示するＸＭＬ情報に変換する場合に、理解しやすい表示用ＸＭＬ情報のイメージのままで、元のＸＭＬ情報とＸＳＬＴ文書とを編集することを目的とする。具体的には、変換された結果である表示用ＸＭＬ情報の要素に、変換に利用したＸＳＬＴ文書の要素を埋め込む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許３８５７６６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１を用いることにより、変換後の情報に間違いがある場合に、変換後情報に埋め込まれた変換に利用したＸＳＬＴ文書の要素と、元情報の要素の情報から、不良がありうるＸＳＬＴ文書の要素と元情報の要素とを特定することができる。しかし、上述したような計算機システムの利用情報作成のようなケースでは、変換後の情報を計算機システムの仕様などから変換処理の作成者が定義した制約と照らし合わせた結果誤りが分かるとの理由、また、計算機システムで実行してからエラーであると判明するとの理由などにより、変換後の情報を変更し、次いで制約を変更したい場合がありえる。
【０００６】
特許文献１は、そのような情報作成のようなケースに適しているとは言い難い。その要因として、従来技術では、変換後の情報に変換に利用した変換処理の要素を埋め込むことがあげられる。変換処理は、複数の処理行を実行することにより、特定の制約に従う情報を出力する。出力する情報と出力する情報の制約定義（チェックルール）とを変更したい場合、複数の処理行のいずれかの箇所を変更する必要がある。従来技術では、埋め込まれた変換処理の処理行を示す要素のうち、どの要素を変更すると情報が変更できるのかが明らかでないため、変換処理の処理行の変更に時間がかかる。変換処理が複雑である場合、処理行も多いため特定には更に時間がかかるとの課題が生じる。この課題は、コンピュータシステムが情報を処理可能かをチェックするための制約定義がコンピュータシステムに存在するために生じるが、情報を変換した場合、制約定義を変換後の情報に合わせて変更する場合がある。この変更を行う場合、変換処理についてもその処理定義を変更する必要が生じる。
【課題を解決するための手段】
【０００７】
本発明においては、計算機システムが利用する情報を出力する変換処理を開発する際には、変換処理の複数の処理行から、変換後の情報及びその制約の違いの原因となる変換処理の処理行を特定し、変換処理を変更することを先立って行う。そして、計算機システムの利用する情報を出力する変換処理を開発する際に、出力情報と出力情報の制約定義との変更に合わせた、変換処理の変更作業の効率化を図る。ここで、上述のように、制約定義の変更に合わせて、変換方法の変更が必要になる場合がある。本発明では当該変換方法の変更に関し、変更前後の制約定義を変換後の情報に適用し、この結果に基づいて変換方法における実行順序の変更箇所を特定するものである。
【０００８】
本発明の一態様として、以下の処理を実行する。変換前情報を読み込む処理と、変換後情報を読み込む処理と、変換処理情報を読み込む処理と、変換後情報の制約情報を読み込む処理と、変換後情報において前記変換後情報の制約情報に反する値の組み合わせを作り出す処理と、変換処理情報において前記組み合わせを処理する処理行を特定する処理と、変換処理情報において前記処理行の処理を前記組み合わせの場合において変更する処理とを実行する。
【発明の効果】
【０００９】
本発明によれば、変換処理を開発する際に、変換後情報及び変換後情報の制約情報の変化に合わせて、変換処理を変更する作業の効率化を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態における計算機１を示す図である。
【図２】本発明の一実施形態における変換前情報１０１のテーブルの複数の例を示す図である。
【図３】本発明の一実施形態における変換後情報１０２のテーブルの複数の例を示す図である。
【図４】本発明の一実施形態における制約情報１０３の一例を示す図である。
【図５】本発明の一実施形態における変換処理情報１０４の一例を示す図である。
【図６】本発明の一実施形態における違反情報１７１の一例を示す図である。
【図７】本発明の一実施形態における処理特定情報１７２の一例を示す図である。
【図８】本発明の一実施形態における出力装置１４の複数の例を示す図である。
【図９】本発明の一実施形態における全体処理部１５１の処理を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図1から図９を用いて、本発明を実施するための一実施形態を説明する。本実施形態における変換処理を構築する際に、開発者が変換後情報を変更した場合に、変換後情報の制約情報を満たさない変換後情報の値の組み合わせを作り出し、その値を処理する変換処理情報の行を変更することにより、変換処理において変更すべき行を探す作業を支援することにより、変換後情報及び変換後情報の制約情報の変化に合わせて、変換処理を変更する作業の効率化を図ることができる、本実施形態における変換処理不良特定方法及びシステムについて説明する。
【００１２】
図1は、本実施形態の全体図である。図１に示す計算機１は、情報を変換し、かつ変換処理の変更を支援するための装置である。
以下、前記計算機１の構成を説明する。前記計算機１は、ＣＰＵ１１と、メモリ１２と、を有する。前記ＣＰＵ１１と前記メモリ１２とは、入力装置１３と、出力装置１４と、に接続する。また、前記ＣＰＵ１１と前記メモリ１２とは、記憶装置１５に接続する。
【００１３】
前記記憶装置１５は、変換前情報１０１のファイルと、変換後情報１０２のファイルと、変換後情報１０２に対する制約確認処理を定義する制約情報１０３のファイルと、変換処理情報１０４のファイルと、を保持する。更に、前記メモリ１２は、全体処理部１５１と、違反情報１７１と、処理特定情報１７２と、を保持する。
【００１４】
前記違反情報１７１は、前記変換後情報１０２に対して、前記制約情報１０３を実行した結果生成される、間違いを示す情報である。前記処理特定情報１７２は、後に述べる全体処理部１５１が、前記変換処理情報１０４の変更対象となる処理行を特定するための情報である。前記全体処理部１５１は、本発明の実施の第一の形態の特徴の一つである。前記全体処理部１５１は、前記変換前情報１０１と、変換後情報１０２と、制約情報１０３とから前記違反情報１７１と、前記処理特定情報１７２とを作成し、前記違反情報１７１と、前記処理特定情報１７２との情報により前記変換処理情報１０４の処理行を変更し、変換処理情報１０４を実行し変換後情報１０２を再度生成する処理部である。前記全体処理部１５１により、変換処理を開発する際に、変換後情報及び変換後情報の制約情報の変化に合わせて、変換処理を変更する作業の効率化を図ることが可能となる。
【００１５】
以上が、前記計算機１の構成である。なお、図１では、各処理部は一つの計算機１に属しているが、複数の計算機を使用しても、本発明は成り立つ。また図１では、計算機１と記憶装置１５は独立しているが、記憶装置の構成が異なっていても、本発明は成り立つ。
【００１６】
前記変換前情報１０１と、変換後情報１０２と、制約情報１０３と、変換処理情報１０４と、違反情報１７１と、処理特定情報１７２との詳細な説明、及び、全体処理部１５１の詳細な流れ、及び、前記出力装置１４の出力結果の詳細、については後述する。
【００１７】
以下、図２から図８を用いて、本実施形態における各ファイルの詳細と、出力装置１４の表示の詳細とを説明する。
図２は、変換前情報１０１の一部を示す図であり、作業を示すタスクと作業順序を示すフローからなる情報を例として用いている。テーブル１０１１は変換前情報１０１のテーブルの一例であり、タスク情報を示すテーブルである。行１０１１５１から行１０１１５６までの連番で示される各行は、テーブル１０１１のレコードである。テーブル１０１１はフィールドとして、ＩＤ１０１１０１と、役割１０１１０２と、開始終了１０１１０３とを有する。レコード１０１１５１は、ＩＤ１０１１０１が「Ａ」であるタスクは、役割１０１１０２を有しておらず、開始終了１０１１０３が「開始」であるタスクの情報を示す。また、テーブル１０１２は変換前情報１０１のテーブルの一例であり、フロー情報を示すテーブルである。行１０１２５１から行１０１２５６までの連番で示される各行は、テーブル１０１２のレコードである。テーブル１０１２はフィールドとして、ＩＤ１０１２０１と、前１０１２０２と、次１０１２０３とを有する。レコード１０１２５１は、ＩＤ１０１２０１が「０」であるフローは、前１０１２０２によって示されるタスク「Ａ」の次に、次１０１２０３によって示されるタスク「Ｂ」を実行する作業順序を定義することを示す。なお、図２の情報は、まずタスク「Ａ」を開始し、タスク「Ａ」の次に、役割が「キャプチャ」であるタスク「Ｂ」と、役割が「取得終了」であるタスク「Ｃ」とを実行し、タスク「Ｄ」を実行し、タスク「Ｅ」を実行し、タスク「Ｆ」を実行し作業を終了する、ワークフローを示す。
【００１８】
図３は、変換後情報１０２を示す図である。テーブル１０２０とテーブル１０２１とは変換後情報１０２のテーブルの一例であり、役割１０１１０２が「キャプチャ」であるタスクの後に実行される、役割１０１１０２が「取得終了」であるタスクの直後の役割１０１１０２が「ログ」であるタスクまでの各タスクを表す情報であるキャプチャ列という名前の情報を格納するテーブルである。行１０２５１は、テーブル１０２０のレコードである。テーブル１０２０はフィールドとして、ＩＤ１０２０１と、キャプチャ列群１０２０２を有する。行１０２５１は、タスク「Ｂ」とタスク「Ｄ」からなる列が、タスク「Ｂ」役割１０１１０２が「取得終了」であるタスクの直後の役割１０１１０２が「ログ」であるタスクまでの各タスクであるということ、即ち、ＩＤ１０２０１が「Ｂ」によって示されるキャプチャ列群１０２０２は「［Ｂ，Ｄ］」であることを示す。
【００１９】
テーブル１０２１は後に述べる全体処理部１５１のステップ１５１０１において入力装置１３より受け付ける変換後情報１０２の一例であり、テーブル１０２０と同じ形式の、キャプチャ列を格納するテーブルである。行１０２５１は、テーブル１０２１のレコードである。テーブル１０２１はフィールドとして、ＩＤ１０２１１と、キャプチャ列群１０２１２を有する。行１０２５２は、ＩＤ１０２１１が「Ｂ」によって示されるキャプチャ列群１０２１２は「［Ｂ，Ｄ，Ｅ，Ｆ］」であること、即ち行１０２５１のキャプチャ列群「［Ｂ，Ｄ］」の後ろにタスク「Ｅ」とタスク「Ｆ」とを追加したことを示す。
【００２０】
図４は、制約情報１０３の一部を示す図である。テキスト１０３０とテキスト１０３１とは制約情報１０３の一例であり、図３に示される変換後情報１０２を制約により確認するための定義を示している。処理式群１０３０１は、図３のキャプチャ列テーブル１０２０の各レコードの各「キャプチャ列群」フィールド１０２０２に含まれるキャプチャ列群の要素である配列の、最初と最後以外の各タスクにおいて、処理式１０３０２から処理式１０３０５までの処理式群を実行することを定義する。例えばキャプチャ列群が「［Ｂ，Ｄ，Ｅ，Ｆ］」の場合、タスク「Ｄ」とタスク「Ｅ」に対し処理式１０３０２から処理式１０３０５までの処理式群を実行する。処理行１０３０２から処理行１０３０５までは、処理行１０３０１において設定した、変数「タスク」に格納されるタスクのＩＤ１０１１０１により指定されるタスクの、作業順序が前のタスク群を変数「タスク行」に設定し、その「役割」列１０１１０２が文字列「取得終了」と等しくないことを確認している。例えば変数「タスク」がタスク「Ｄ」を示す場合、作業順序が前のタスク「Ｂ」とタスク「Ｃ」との役割が「取得終了」でないことを確認する。処理式１０３０２は、図２のフローテーブル１０１２のレコードのうち、「次」フィールド１０１２０３の値が処理式群１０３０１によって変数「タスク」に設定された値である各レコードを変数「フロー行群」に保持することを定義する。例えば変数「タスク」がタスク「Ｄ」を示す場合、レコード１０１２５３とレコード１０１２５４を取得する。
【００２１】
処理式１０３０３は、変数「フロー行群」に含まれるレコードに対し処理式１０３０４の処理と処理式１０３０５の処理を実行することを定義する。処理式１０３０４は、図２のタスクテーブル１０１１のレコードのうち、「ＩＤ」列１０１１０１が変数「フロー行」に格納される処理式１０３０２で取得したフローテーブル１０１２のレコードの列「前」１０１２０２に格納される値と等しいレコードを取得することを定義する。処理式１０３０５は、変数「タスク行」に格納されたレコードの「役割」列１０１１０２の値が文字列「取得終了」と等しくないことを確認する処理を定義する。処理式１０３０５の要素１０３０５１は、後の要素１０３０５２に示される左辺値と要素１０３０５３に示される右辺値の値が等しくないことを確認することを示している。処理式１０３０５の要素１０３０５２は、左辺値が変数「タスク行」に格納されたレコードの「役割」列１０１１０２の値であることを示している。処理式１０３０５の要素１０３０５３は、右辺値が文字列「取得終了」であることを示している。
【００２２】
また、テキスト１０３１は後に述べる全体処理部１５１のステップ１５１０１において入力装置１３より受け付ける制約情報１０３の一例であり、テキスト１０３０の処理行１０３０２から処理行１０３０５までの処理行群を処理行群１０３１１により置き換えたテキストである。テキスト１０３０１では、キャプチャ列におけるタスクの一つ前のタスクの役割が「取得終了」であるかを確認するように処理を変更している。即ち、処理行群１０３１１は、変数「タスク」の変数「キャプチャ列」におけるインデックスより１引いた値をインデックスとしてもつキャプチャ列の要素を変数「前タスク」に保持する処理を定義する。次に、変数「前タスク」は、図２のタスクテーブル１０１１のレコードのうち、「ＩＤ」列１０１１０１が変数「前タスク」に格納される値と等しいレコードを取得することを定義する。次に、処理行１０３０５と同等の確認を行う。
【００２３】
なお、図４におけるテキスト１０３０とテキスト１０３１とは、計算機１において実行可能なインタプリタ言語によるスクリプトを想定して示されているが、図４に示される形式に限定されるものではなく、例えばＸＳＬＴなどの別の形式でも、またプログラムでも、他の定義形式でも構わない。
【００２４】
図５は、変換処理情報１０４を示す図である。テキスト１０４０は変換処理情報１０４の一例であり、図３に示される変換後情報１０２を、図２の変換前情報１０１から生成することを示している。処理式群１０４０１は、図２のタスクテーブル１０１１の各レコードに対し、「役割」列１０１１０２の値が文字列「キャプチャ」である場合に、変数「キャプチャ列群」に処理式群１０４０２に図２のタスクテーブルのレコードの「ＩＤ」列１０１１０１の値、即ち役割が「キャプチャ」であるタスクのＩＤを渡して返ってきた値を格納し、図３のキャプチャ行テーブル１０２０に、列「ＩＤ」１０２０１が前記タスクのＩＤであり、列「キャプチャ列群」１０２０１の値が変数「キャプチャ列群」の値であるレコードを追加する。
【００２５】
処理式群１０４０２は、処理式群１０４０３と、処理式群１０４０４または処理式１０４０５と、処理式１０４０６とを実行する。処理式群１０４０３は、変数「新キャプチャ列群」に空の列を設定し、変数「フロー行群」に、図２のフローテーブル１０１２のレコードのうち、「前」フィールド１０１２０２の値が処理式群１０４０１によって変数「処理中タスクＩＤ」に設定された値である各レコードを変数「フロー行群」に保持することを定義する。次に、もし処理式１０４０３においてレコードを一つ以上取得できた場合は、処理式群１０４０４を実行し、０であった場合は、処理式１０４０５を実行する。処理式群１０４０４は、前の処理式１０４０３において取得したレコードそれぞれに対し、処理式群１０４０４１と、処理式群１０４０４２と、処理式群１０４０４３とを実行する。処理式群１０４０４１は、変数「処理中タスクＩＤ」で示されるタスクの次に実行されるタスクのレコードを取得し、そのタスクをキャプチャ列の最後の要素でないと暫定的に示している。即ち、変数「フロー行」に格納される図２のフローテーブル１０１２のレコードの列「次」１０１２０３に格納される値を変数「次タスクＩＤ」に格納し、次いで図２のタスクテーブル１０１１のレコードのうち、「ＩＤ」列１０１１０１が変数「次タスクＩＤ」に格納される値と等しいレコードを変数「次タスク行」に格納している。次に、変数「最後か」を偽としている。
【００２６】
処理式群１０４０４２は、処理行群１０４０４１で取得したタスクが、キャプチャ列において最後のタスクであるかを判定する。即ち、処理行群１０４０４１で取得した次タスクの役割が「ログ」である場合は、タスクの一つ手前に実行されるタスク群の役割のいずれかが「取得終了」である場合、最後のタスクとしている。処理行１０４０４２１は、図２のフローテーブル１０１２のレコードのうち、「次」フィールド１０１２０３の値が処理式群１０４０４１によって変数「次タスクＩＤ」に設定された値である各レコードを変数「前フロー行群」に保持することを定義する。処理行１０４０４２２は、図２のタスクテーブル１０１１のレコードの列「ＩＤ」１０１１０１が変数「前フロー行」に格納されるフローテーブル１０１２のレコードの列「前」１０１２０２に格納される値であるレコードを、変数「前タスク行」に代入している。
【００２７】
処理行１０４０４２３は、変数「前タスク行」に格納された図２のタスクテーブル１０１１のレコードの列「役割」１０１１０２が「取得終了」の場合に、処理行群１０４０４１で取得した次タスクを最後のタスクとしている。また、前に述べた処理式群１０４０４２は、処理行群１０４０４１で取得した次タスクの開始終了が「終了」である場合は、最後のタスクとしている。処理式群１０４０４３は、処理行群１０４０４１で取得した次タスクが最後の場合は、後に述べる処理式１０４０６において処理式群１０４０２が返す変数「新キャプチャ群」に変数「処理中タスクＩＤ」と変数「次タスクＩＤ」からなる配列を入れている。処理行群１０４０４１で取得した次タスクが最後でない場合は、再帰的に処理行群１０４０２を実行し、変数「処理中タスクＩＤ」と再帰的な処理行群１０４０２の実行によって得られた配列の要素からなる配列の配列を変数「新キャプチャ列群」に追加している。
【００２８】
処理式１０４０５は、変数「新キャプチャ列群」に空の列を要素としてもつ列を設定する。処理式１０４０６は、変数「新キャプチャ列群」を処理式群１０４０２の呼出元に返す。なお、図５におけるテキスト１０４０は、計算機１において実行可能なインタプリタ言語のスクリプトを想定して示されているが、図４に示される形式に限定されるものではなく、例えばＸＳＬＴなどの別の形式でも、またプログラムでも、他の定義形式でも構わない。
【００２９】
図６は、違反情報１７１を示す図である。テーブル１７１０は違反情報１７１の一例である。行１７１５１は、テーブル１７１０のレコードである。テーブル１７１０はフィールドとして、ＩＤ１７１０１と、種類１７１０２と、左辺値テーブル１７１０３と、左辺値行ＩＤ１７１０４と、左辺値列１７１０５と、左辺値１７１０６と、右辺値テーブル１７１０７と、右辺値行ＩＤ１７１０８と、右辺値列１７１０９と、右辺値１７１１０とを有する。レコード１７１５１は、ＩＤ１７１０１が「１」、種類１７１０２が「不等」、左辺値テーブル１７１０３の値が「タスクテーブル」、左辺値行ＩＤ１７１０４の値が「Ｃ」、左辺値列１７１０５の値が「役割」、左辺値１７１０６の値が「取得終了」、
右辺値テーブル１７１０７と、右辺値行ＩＤ１７１０８と、右辺値列１７１０９とが空、右辺値１７１１０の値が「取得終了」であるレコードである。即ち、レコード１７１５１は、制約情報１０３のテキスト１０３０の処理行１０３０５において、タスクテーブル１０１１のレコード１０１１５３によって示されるレコードの「役割」列１０１１０２が「取得終了」であり、制約を満たさないことを示す。
【００３０】
図７は、処理特定情報１７２を示す図である。テーブル１７２０は処理特定情報１７２の一例である。行１７２５１は、テーブル１７２０のレコードである。テーブル１７２０はフィールドとして、経緯１７２０１と、違反ＩＤ１７２０２と、制約差分（前）１７２０３と、制約差分（後）１７２０４とを有する。例では、レコード１７２５１は、違反ＩＤ１７２０２の値が「１」、経緯１７２０１の値が「フローテーブル．列の値から行群を取得（…，”次”）」と「タスクテーブル．ＩＤから行を取得（…．前）」とであり、制約差分（前）１７２０３の値が図４の処理行１０３０２から処理行１０３０５であり、制約差分（後）１７２０３の値が図４の処理行１０３１１であるレコードである。即ち、レコード１７２５１は、図６の違反情報１７１のレコード１７１５１に至るまでに、制約情報１０３のテキスト１０３０に定義されるテーブルからの値取得を行う処理行１０３０２と１０３０４を実行していること、テキスト１０３０をテキスト１０３１に変更した時に処理行１０３０２から処理行１０３０５を処理行１０３１１に変更したことを示す。
【００３１】
図８は、出力装置１４の表示を示す図である。結果表示画面１４０１は出力表示１４の一例である。表示欄１４０１１と表示欄１４０１２とは、後に述べる全体処理部１５１による変換処理１０４のステップ１５１０６による変更箇所を表す。表示欄１４０１１は変更前の変更箇所を、表示欄１４０１２は変更後の変更箇所を、それぞれ示す。表示欄１４０１３は、後に述べる全体処理部１５１のステップ１５１０７により生成された変換後情報１０２の情報を示す。行１４０１３５１は、変換後情報１０２のＩＤ１４０１３０１が「Ｂ」であるレコードのキャプチャ列群１４０１３０２が「［Ｂ，Ｄ，Ｅ，Ｆ］」であることを示す。表示欄１４０１３７１は、表示欄１４０１３において表示される変換後情報１０２が、後に述べる全体処理部１５１のステップ１５１０１において入力装置１３より受け付けた変換後情報１０２と違いがないことを示す。「再実行」ボタン１４０１４は、表示欄１４０１３に表示された変換後情報１０２を用い計算機１による全体処理部１５１の処理を再度実行するという、計算機１の使用者の判断を受け付けるボタンである。
【００３２】
「終了」ボタン１４０１５は、計算機１による全体処理部１５１の処理を終了するという、計算機１の使用者の判断を受け付けるボタンである。表示欄１４０２１と表示欄１４０２２は、後に述べる全体処理部１５１のステップ１５１０１において、入力装置１３より制約情報１０３を受け付けた場合の、表示欄１４０１１と表示欄１４０２２の表示内容である。
【００３３】
次に、本実施形態における、全体処理部１５１の流れを、図２の変換前情報１０１と、図３の変換後情報１０２と、図４の制約情報１０３と、図５の変換処理情報１０４と、図６の違反情報１７１と、図７の処理特定情報１７２と、図８の出力装置１４の画面表示の一例と、図９のフローチャートとを参照しながら、詳細に説明する。まず、入力装置１３より変換後情報１０２と制約情報１０３を受け付ける（ステップ１５１０１）。なお、ステップ１５１０１において制約情報１０３が入力されるないしされないにかかわらず、次のステップ１５１０２に進む。次に、記憶装置１５より変換前情報１０１と、制約情報１０３とをメモリ１２に読み込む（ステップ１５１０２）。
【００３４】
次に、ステップ１５１０１において読み込んだ変換後情報１０１と、ステップ１５１０２において読み込んだ変換前情報１０１との値に基づいて制約情報１０３の処理行それぞれを実行し、違反情報１７１に、確認処理１３１０５が失敗した行の左辺値、右辺値、種類の情報を追加する。即ち、確認処理１３１０５が失敗した行に対しＩＤ１７１０１を採番し、確認処理の種類１７１０２に処理の種類１３１０５１を、左辺値テーブル１７１０３に確認処理の左辺値１３１０５２のテーブルを、左辺値行ＩＤ１７１０４に左辺値１３１０５２のＩＤを、左辺値列１７１０５に左辺値１３１０５２の列を、左辺値１７１０６に左辺値１３１０５２の値を、右辺値テーブル１７１０７に確認処理の右辺値１３１０５３のテーブルを、右辺値行ＩＤ１７１０８に右辺値１３１０５３のＩＤを、左辺値列１７１０９に右辺値１３１０５３の列を、右辺値１７１１０に右辺値１３１０５３の値をそれぞれ代入した行を追加する（ステップ１５１０３）。
【００３５】
次に、処理特定情報１７２に、ステップ１５１０３において確認処理１３１０５が失敗した行の左辺値、右辺値に至るまでの変換前情報１０１からの情報取得処理を経緯１７２０１に、ステップ１５１０３において採番した、確認処理１３１０５が失敗した行に対応する各ＩＤ１７１０１を違反ＩＤ１７２０２に追加した行を追加する（ステップ１５１０４）。ステップ１５１０４において、ステップ１５１０１において入力装置１３より制約情報１０３を受け付けた場合は、ステップ１５１０２においてメモリ１２に読み込んだ記憶装置１５の制約情報１０３との差分を制約差分（前）１７２０３と、制約差分（後）１７２０４とに入力する。次に、記憶装置１５より変換後情報１０２と、変換処理情報１０４とをメモリに読み込む（ステップ１５１０５）。
【００３６】
次に、ステップ１５１０２において読み込んだ変換処理情報１０４をたどり、処理特定情報１７２に示される経緯１７１０１と同じ変換前情報１０１からの情報取得処理が行われた後の、処理特定情報１７２の行に示される条件と同じ場合に処理フローが変更されるよう、変換処理情報１０４を変更する（ステップ１５１０６）。例えば、処理特定情報１７２の経緯１７２０１は、図２のフローテーブル１０１２の列「次」１０１２０３の値読み込みを行う処理と、図２のタスクテーブル１０１１の列「ＩＤ」１０１１０１の値読み込みを行う処理との後に処理行１０３０５の確認処理が行われ、その場合に違反情報１７１のレコード１７１５１に示される違反が発生することを示している。
【００３７】
図５の変換処理情報１０４においては、図２のフローテーブル１０１２の列「次」１０１２０３の値を読み込む処理が処理行１０４０４２１にあり、図２のタスクテーブル１０１１の列「ＩＤ」１０１１０１の値読み込みを行う処理が処理行１０４０４２２にある。その後に、違反情報１７１のレコード１７１５１の左辺値と右辺値とに示される比較を、処理行１０４０４２３において行っている。このため、処理行１０４０４２３が変更対象となる。また、図８の表示欄１４０１１と表示欄１４０１２とに示すように、違反情報１７１のレコード１７１５１の左辺値と右辺値とに示される値においてのみ、処理行１０４０４２３の比較処理の結果が変更されるよう、処理行を変更する。これにより、後に述べるステップ１５１０７を実行し、もし処理行１０４０４２３を変更すれば計算機１の利用者が入力装置１３に入力した変換後情報１０２を、変換処理情報１０４を実行することで生成できるかを後に述べるステップ１５１０８で確認できるようになる。
【００３８】
また、ステップ１５１０６において、ステップ１５１０４において制約差分（前）１７２０３と、制約差分（後）１７２０４とを作成した場合は、変換処理情報１０４の変更に利用する。例えば図８の表示欄１４０２１と表示欄１４０２２とに示すように、変換処理情報１０４を変更する。表示欄１４０２１は、制約差分（前）１７２０３によって示される図２のフローテーブル１０１２の列「次」１０１２０３の値読み込みを行う処理と、図２のタスクテーブル１０１１の列「ＩＤ」１０１１０１の値読み込みを行う処理との後に処理行１０３０５の確認処理に対応する比較処理がある、処理行１０４０４２１、処理行１０４０４２２、処理行１０４０４２３までを変更することを示している。
【００３９】
表示欄１４０２２は、制約差分（後）１７２０４に示される制約の差分を、変換後情報１０２に定義される、変換処理情報１０４の出力情報である「キャプチャ列［タスク．インデックス−１］」を、対応する変換処理情報１０４の情報である変数「処理中タスクＩＤ」に変更し、確認処理を処理行１０４０４２３の比較処理に変更したテキストに、表示欄１４０２１に表示された処理行を変更することを示している。なお、「キャプチャ列［タスク．インデックス−１］」が「処理中タスクＩＤ」に対応することは、処理行群１０４０２にある処理が処理行群１０４０１において変換後情報１０２のレコードに代入する処理であること、変数「次タスクＩＤ」が制約差分１７２０３において変数「タスク」に対応すること、処理行群１０４０２において返す変数「新キャプチャ列群」の要素である配列に「次タスクＩＤ」が含まれる時、そのインデックスから１を引いた変数「新キャプチャ列群」の要素である配列の要素は必ず「処理中タスクＩＤ」となることから、全体処理部１５１がステップ１５１０６において判断可能である。次に、ステップ１５１０２において読み込んだ変換前情報１０１とステップ１５１０２において読み込んだ変換後情報１０２との値に基づいて、ステップ１５１０６において変更した変換処理情報１０４を実行し、変換後情報１０２をメモリ１２上に生成する（ステップ１５１０７）。
【００４０】
次に、出力装置１４に、ステップ１５１０６において変更された変換処理情報１０４の差分を表示欄１４１０１及び１４１０２、ステップ１５１０７で生成された変換後情報１０２を表示欄１４１０３に、ステップ１５１０１で受け付けた変換後情報１０２とステップ１５１０７で生成された変換後情報１０２の差分を表示欄１４１０４にそれぞれ表示する、出力画面１４０１を表示する（ステップ１５１０８）。次に、出力画面１４０１においてどのボタンがクリックされたかを判断する（ステップ１５１０９）。ステップ１５１０９において「再実行」ボタン１４１０４がクリックされた場合は、ステップ１５１０２に戻る。ステップ１５１０９において「終了」ボタン１４１０５がクリックされた場合は、全体処理部１５１の処理を終了する。
【００４１】
なお、本実施形態の装置構成において、計算機１は１台に制限される必要はなく、２台以上で実現してもよい。
【００４２】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアを用いて実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することにより実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、磁気テープ、ＤＶＤ等の記録媒体に置くことができる。
【００４３】
また、各構成要素の接続は説明上必要と考えられるものを示しており、必ずしも全ての接続を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【００４４】
最後に、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００４５】
上述の実施形態にとれば、開発者が変換後情報を変更した場合に、変換後情報の制約情報を満たさない変換後情報の値の組み合わせを作り出し、その値を処理する変換処理情報の行を変更することにより、変換処理において変更すべき行を探す作業を支援することが可能になる。
【符号の説明】
【００４６】
１      計算機
１３    入力装置
１４    出力装置
１０１  変換前情報
１０２  変換後情報
１０３  制約情報
１０４  変換処理情報
１５１  全体処理部
１７１  違反情報
１７２  処理特定情報
【図１】
2015082208.tif 000003
【図２】
2015082208.tif 000004
【図３】
2015082208.tif 000005
【図４】
2015082208.tif 000006
【図５】
2015082208.tif 000007
【図６】
2015082208.tif 000008
【図７】
2015082208.tif 000009
【図８】
2015082208.tif 000010
【図９】
2015082208.tif 000011