(57)【要約】【課題】  ユーザが表示データ上に配置された順序通りに情報を入力していくだけで部品ソフトウェア間の依存関係に矛盾しない情報入力を可能とするとともに、プログラムコードを改変することなく、ユーザ側でカスタマイズを可能とする。【解決手段】  部品間依存解釈部１０３は、部品化されたソフトウェアである情報を入力可能な複数の部品ソフトウェア間の依存関係を記述した依存関係記述データに基づいて、前記複数の部品ソフトウェア間の依存関係を解釈する。ウィザード生成部１０５は、その解釈結果に応じた配置順序で、表示装置に表示させる少なくとも一つの表示データ上に前記複数の部品ソフトウェアを配置する。【選択図】  図１
2009187225.tif 000002
【特許請求の範囲】
【請求項１】
部品化されたソフトウェアである情報を入力可能な複数の部品ソフトウェア間の依存関係を記述した依存関係記述データを設定する設定手段と、
前記依存関係記述データに基づいて、前記複数の部品ソフトウェア間の依存関係を解釈する解釈手段と、
前記解釈手段による解釈結果に応じた配置順序で、表示装置に表示させる少なくとも一つの表示データ上に前記複数の部品ソフトウェアを配置する配置手段とを有することを特徴とする情報処理装置。
【請求項２】
前記複数の部品ソフトウェアのうちの第１の部品ソフトウェアに入力された情報を取得する取得手段と、
前記取得手段により取得された情報と前記依存関係記述データとに基づいて、前記第１の部品ソフトウェアと依存関係にある、前記複数の部品ソフトウェアのうちの第２の部品ソフトウェアに入力される情報の制約条件を生成する生成手段と、
前記制約条件を前記表示手段上に表示させる制約条件表示手段とを更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の部品ソフトウェアに入力された情報が前記制約条件を満たしていない場合、警告を行う警告手段を更に有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
情報処理装置による情報処理方法であって、
部品化されたソフトウェアである情報を入力可能な複数の部品ソフトウェア間の依存関係を記述した依存関係記述データを設定する設定ステップと、
前記依存関係記述データに基づいて、前記複数の部品ソフトウェア間の依存関係を解釈する解釈ステップと、
前記解釈ステップによる解釈結果に応じた配置順序で、表示装置に表示させる少なくとも一つの表示データ上に前記複数の部品ソフトウェアを配置する配置ステップとを含むことを特徴とする情報処理方法。
【請求項５】
部品化されたソフトウェアである情報を入力可能な複数の部品ソフトウェア間の依存関係を記述した依存関係記述データを設定する設定ステップと、
前記依存関係記述データに基づいて、前記複数の部品ソフトウェア間の依存関係を解釈する解釈ステップと、
前記解釈ステップによる解釈結果に応じた配置順序で、表示装置に表示させる少なくとも一つの表示データ上に前記複数の部品ソフトウェアを配置する配置ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の部品ソフトウェア間における依存関係を矛盾することなく、各部品ソフトウェアに情報の入力が可能な表示データを生成するための技術に関するものである。
【背景技術】
【０００２】
近年、ソフトウェア開発においては、ソフトの部品化（コンポーネント化）による機能単位での開発のための取り組みがなされ、システムの保守性向上や部品の再利用による生産性向上が目指されている。
【０００３】
その中でもＧＵＩ画面の開発では、ユーザの運用に依存する部分が大きく、仕様の細かい分野にわたるユーザの変更要求に対し、ソフトウェアベンダーはそれぞれ個別対応する必要があった。
【０００４】
これに対し、ＧＵＩコンポーネント開発においては、ウインドウ、テキストフィールド、ボタン等のＧＵＩ部品配置情報等の画面デザインと、ＧＵＩ部品の表示や制御を行うプログラム部分とを分離する。そして、プログラム部分の変更なしに、独立した設定ファイルの変更等によって、ＧＵＩ画面の表示を効率よくカスタマイズするための技術が提案されている。
【０００５】
特許文献１では、上記設定ファイルにＧＵＩ部品のデザイン情報に加え、ＧＵＩ部品へ入出力される数値入力範囲や型を設定し、ＧＵＩ部品の表示装置がこれを解釈すると共にＧＵＩ部品を制御する機能を付加した技術が開示されている。これにより、ＧＵＩ部品の表示だけでなく、そこに入出力されるデータのカスタマイズを効率的に行うことができる。
【０００６】
一方、Ｗｅｂアプリーションの分野では、ＧＵＩ画面を実現する場合、ＨＴＭＬ言語で記述された設定ファイルをＷｅｂブラウザ等の表示装置が解釈することで、ＧＵＩ画面を生成する。
【０００７】
特許文献２では、ＨＴＭＬ言語のタグを拡張し、拡張したタグを解釈し、対応する処理内容を行うプラグインをＷｅｂブラウザに追加する技術が開示されている。これにより、特許文献１に開示される技術のように特定のＧＵＩ部品の入力値チェックを設定するのではなく、あるＧＵＩ部品の値と、他のＧＵＩ部品の属性に依存関係を持たせる枠組みを提供している。
【０００８】
【特許文献１】特開平８−１３７６８１号公報
【特許文献２】特開２００１−３３１３０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に開示される技術では、個々のＧＵＩ部品に対して入力制約を加えているが、複数のＧＵＩ部品間の属性の依存関係を考慮していない。
【００１０】
また、特許文献２に開示される技術では、あるＧＵＩ部品の値と、他のＧＵＩ部品の属性に依存関係を持たせる枠組みは提供しているが、複数のＧＵＩ部品間において入力制約を行うような、具体的な処理手段が記述されていない。
【００１１】
さらに、相互に依存しているような複数の入力項目を相矛盾なく入力するためには、適切な順序で入力フィールドに値を入力する必要がある。ユーザは複数のウインドウやダイアログを渡り歩きながら矛盾のない値を正しく入力しなければならず、負担が大きい。
【００１２】
入力フィールド間の依存関係を考慮し、他のフィールドから依存されているフィールドから順に依存関係を辿って入力していくようにすれば、ユーザの負担は軽減される。しかしながら、そのような条件を満たしたウインドウ群（ウィザード）を実現するためには、該当ウインドウ群をプログラムコードとしてＧＵＩ設計者が定義する必要があった。
【００１３】
フィールド間の依存関係は一般的に、ユーザのシステム運用に依存する詳細な内容を含んでおり、予め設計者側において、全てのユーザの要望を満たすようなウインドウ群を定義しておくことは非常に困難である。
【００１４】
加えて、カスタマイズの度にプログラムコードを修正しなければならないため、ユーザ側のみでカスタマイズを行うことが難しい。
【００１５】
そこで、本発明の目的は、ユーザが表示データ上に配置された順序通りに情報を入力していくだけで部品ソフトウェア間の依存関係に矛盾しない情報入力を可能とすると共に、プログラムコードを改変することなく、ユーザ側でカスタマイズ可能とすることにある。
【課題を解決するための手段】
【００１６】
本発明の情報処理装置は、部品化されたソフトウェアである情報を入力可能な複数の部品ソフトウェア間の依存関係を記述した依存関係記述データを設定する設定手段と、前記依存関係記述データに基づいて、前記複数の部品ソフトウェア間の依存関係を解釈する解釈手段と、前記解釈手段による解釈結果に応じた配置順序で、表示装置に表示させる少なくとも一つの表示データ上に前記複数の部品ソフトウェアを配置する配置手段とを有することを特徴とする。
本発明の情報処理方法は、情報処理装置による情報処理方法であって、部品化されたソフトウェアである情報を入力可能な複数の部品ソフトウェア間の依存関係を記述した依存関係記述データを設定する設定ステップと、前記依存関係記述データに基づいて、前記複数の部品ソフトウェア間の依存関係を解釈する解釈ステップと、前記解釈ステップによる解釈結果に応じた配置順序で、表示装置に表示させる少なくとも一つの表示データ上に前記複数の部品ソフトウェアを配置する配置ステップとを含むことを特徴とする。
本発明のプログラムは、部品化されたソフトウェアである情報を入力可能な複数の部品ソフトウェア間の依存関係を記述した依存関係記述データを設定する設定ステップと、前記依存関係記述データに基づいて、前記複数の部品ソフトウェア間の依存関係を解釈する解釈ステップと、前記解釈ステップによる解釈結果に応じた配置順序で、表示装置に表示させる少なくとも一つの表示データ上に前記複数の部品ソフトウェアを配置する配置ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１７】
本発明においては、プログラムコードから独立した依存関係記述データに基づいて、複数の部品ソフトウェア間の依存関係を解釈し、その解釈結果に応じた配置順序で表示データ上に当該複数の部品ソフトウェアを配置するように構成している。従って、本発明によれば、ユーザが表示データ上に配置された順序通りに情報を入力していくだけで部品ソフトウェア間の依存関係に矛盾しない情報の入力が可能となるとともに、プログラムコードを改変することなく、ユーザ側でカスタマイズすることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１９】
図１は、本発明の実施形態に係る画像制御システムの構成を示す図である。１０１は、テキストフィールド、コンボボックスといったＧＵＩ部品を格納するＧＵＩ部品データベースであり、本システムで利用されるＧＵＩ部品のデータを含んでいる。本実施形態に係る画像制御システムは、本発明の情報処理装置の一適用例となる構成である。
【００２０】
１０２は、パラメータ設定ファイルであり、本システムの入力に使われる複数のＧＵＩ部品の一覧と、ＧＵＩ部品に設定することが可能な依存属性情報とが記述されている。依存属性情報とは、例えば入力の限界値やＧＵＩ部品間に設定可能な値の依存関係を規定する連動式等を示す情報である。なお、ＧＵＩ部品は、本発明の部品ソフトウェアの適用例となる構成である。
【００２１】
１０３は、部品間依存解釈部であり、パラメータ設定ファイル１０２を読み込んで部品間の依存関係を表したパラメータ連動テーブル１０４を決定する。
【００２２】
１０５は、本システムの中核であるウィザード生成部であり、以下に説明するアルゴリズムに基づいて、ユーザが値を入力するための複数の入力フィールドを配置したウインドウ群（ウィザード）１０６を生成する。
【００２３】
図２は、本実施形態に係る画像制御システムの処理の概要を示すフローチャートである。本処理を実行することにより、パラメータ設定ファイル１０２を書き換えることで、複数の入力フィールドを配置したウィザード１０６を自動的に生成し、ユーザがそれらの入力フィールドに矛盾無く値を入力することを補助することができる。
【００２４】
まず、パラメータ設定ファイル１０２が更新されることにより本処理が開始する（ステップＳ２０１）。このようにパラメータ設定ファイル１０２が更新され、設定される処理は、本発明の設定手段の一処理例である。また、パラメータ設定ファイル１０２は、本発明の依存関係記述データの一適用例となる構成である。
【００２５】
部品間依存解釈部１０３は、パラメータ設定ファイル１０２を解析してＧＵＩ部品間の依存関係を記述したパラメータ連動テーブル１０４を生成する（ステップＳ２０２）。なお、ステップＳ２０２は、本発明の解釈手段の一処理例である。
【００２６】
続いて、ウィザード生成部１０５は、パラメータ連動テーブル１０４を用いて、各ＧＵＩ部品を頂点とし、ＧＵＩ部品間の依存関係を、有向グラフを使って表現した依存グラフを作成する（ステップＳ２０３）。依存グラフの作成アルゴリズムについては、図３にて詳細に説明する。
【００２７】
続いて、ウィザード生成部１０５は、ステップＳ２０３で作成した依存グラフから、ユーザがＧＵＩ部品に矛盾無く値を入力できるように各ＧＵＩ部品を複数のウインドウに配置したウィザード１０６を生成する（ステップＳ２０４）。ウィザード１０６の作成アルゴリズムについては、図４にて詳細に説明する。なお、ステップＳ２０３、Ｓ２０４は、本発明の配置手段の一処理例である。ウインドウは、本発明の表示データの一適用例となる構成である。
【００２８】
次に説明するステップＳ２０５〜Ｓ２０８の処理は、ステップＳ２０４で作成されたウィザードに含まれる各ウインドウについて繰り返し実行される。
【００２９】
不図示の表示制御部は、ウィザードに含まれる或るウインドウを表示装置の画面上に表示する（ステップＳ２０６）。その際、表示制御部は、以前のウインドウに入力された値を参照して、入力可能な値の範囲を表示する。ウインドウ上のＧＵＩ部品の具体的な表示手法については、図５にて詳細に説明する。
【００３０】
ユーザは表示されたウインドウ上のＧＵＩ部品に値を入力する（ステップＳ２０７）。全てのＧＵＩ部品に値を入力し終えると、次のウインドウに進む。ＧＵＩ部品に値を入力する際に、ユーザが範囲外の値を入力した場合は警告を表示することによってユーザの正しい入力を補助する。ユーザによる値入力と不正値が入力された場合の警告手法については、図６にて詳細に説明する。
【００３１】
ウィザード１０６に含まれる全てのウインドウに値が正しく入力されれば、本システムによるＧＵＩ部品への値入力は終了である。入力された値はパラメータ設定ファイル１０２によって規定された連動条件を満たすことになる。
【００３２】
図３は、本画像制御システムを用いてウィザード１０６を作成するために用いる、ＧＵＩ部品間の依存関係を表す依存グラフを作成する処理を示すフローチャートである。
【００３３】
先ず、ウィザード生成部１０５は、パラメータ設定ファイル１０２から、ウィザード１０６の生成元となる全ての入力フィールド情報を読み込む（ステップＳ３０２）。
【００３４】
次に、ウィザード生成部１０５は、Java（登録商標）、MFC、.NET Framework等のシステムライブラリに含まれるＧＵＩ部品データベース１０１から、入力フィールド情報に対応するＧＵＩ部品を取得する（ステップＳ３０３）。ウィザード１０６はこれらのＧＵＩ部品群をウインドウ上に適切に配置したものである。
【００３５】
次に、ウィザード生成部１０５は、ステップＳ２０２にて生成された、入力フィールド間の依存関係を表したパラメータ連動テーブル１０４を読み込む（ステップＳ３０４）。以降は、このパラメータ連動テーブル１０４に記述された連動式を元に依存関係が解析される。
【００３６】
ここで、ウィザード生成部１０５は、ステップＳ３０３にて取得したＧＵＩ部品群一つ一つにそれぞれ一つの頂点を対応させた、頂点だけを含んで枝を含まない有向グラフを作成する（ステップＳ３０５）。ウィザード生成部１０５は、このグラフに枝を追加していくことによって依存グラフを作成する。
【００３７】
次のステップＳ３０７、Ｓ３０８の処理は、ウィザード生成部１０５が取得した各ＧＵＩ部品について繰り返し実行される処理である。ウィザード生成部１０５は、取得した或るＧＵＩ部品に対してパラメータ連動テーブル１０４を参照し、他のＧＵＩ部品に依存しているかどうかを判断する（ステップＳ３０７）。
【００３８】
もし該ＧＵＩ部品が他のＧＵＩ部品に依存している場合は、今注目しているＧＵＩ部品（依存している他の部品）に向かって、依存元のＧＵＩ部品から枝を引く（ステップＳ３０８）。なお、該ＧＵＩ部品が他のＧＵＩ部品に依存していない場合、ステップＳ３０８の処理は実行されない。依存グラフの枝は、端点となる二つの頂点の間の依存関係を表現していることになる。このように全てのＧＵＩ部品に対して依存関係を参照して枝を引き終わると、全てのＧＵＩ部品間の依存関係を表現した依存グラフが完成する。
【００３９】
図４は、ステップＳ３０３にて取得したＧＵＩ部品群を複数のウインドウに配置することによって、ウィザード１０６を作成する処理を示すフローチャートである。
【００４０】
先ず、ウィザード生成部１０５は、ＧＵＩ部品が何も配置されていない空のウインドウを生成する（ステップＳ４０２）。
【００４１】
続いて、ウィザード生成部１０５は、このウインドウに「ウインドウ作成フロー」に沿ってＧＵＩ部品群から適切に選び出したＧＵＩ部品を配置する（ステップＳ４０３）。その際には、ステップＳ３０３にて取得したＧＵＩ部品群と依存グラフの情報とを使用する。この「ウインドウ作成フロー」に関しては図７で詳細に説明する。
【００４２】
続くステップＳ４０３にて、ウィザード生成部１０５は、ＧＵＩ部品を一つのウインドウに配置した後、依存グラフに含まれる残りの頂点を判定する（ステップＳ４０４）。依存グラフに頂点がまだ残っている場合はステップＳ４０２に戻り、新たな空ウインドウへのＧＵＩ部品の配置を繰り返す。
【００４３】
このようにして全てのＧＵＩ部品がウインドウ上に配置されれば、ウィザード１０６の生成処理は終了である。
【００４４】
図５は、本画像制御システムによって生成されたウィザード１０６中のウインドウを表示する具体的な処理を示すフローチャートである。
【００４５】
まず、ステップＳ４０３にてウインドウへ配置されたＧＵＩ部品を表示する。以下の処理は、ウインドウに配置された各ＧＵＩ部品について繰り返し実行される処理である。
【００４６】
ウィザード生成部１０５は、このウインドウに配置されたＧＵＩ部品についてパラメータ連動テーブル１０４を検索し、該ＧＵＩ部品の依存関係を取得する（ステップＳ５０３）。
【００４７】
続いて、ウィザード生成部１０５は該ＧＵＩ部品が他のＧＵＩ部品に依存しているか否かを判定する（ステップＳ５０４）。該ＧＵＩ部品が他のＧＵＩ部品に依存していれば、ウィザード生成部１０５は、該ＧＵＩ部品が依存している他のＧＵＩ部品に、以前ユーザが入力した値を取得する（ステップＳ５０５）。ここで、本画像制御システムを用いて作成されたウィザード１０６に従って値を入力している限り、この依存先ＧＵＩ部品に何らかの値が入力されていることが保証される。なお、ステップＳ５０５は、本発明の取得手段の一処理例である。また、上記依存先ＧＵＩ部品は、本発明の第１の部品ソフトウェアの一適用例となる構成である。
【００４８】
ウィザード生成部１０５は、ステップＳ５０５にて取得した依存先ＧＵＩ部品に入力された値と、パラメータ連動テーブル１０４に記述された連動式とから、現在注目している（依存元の）ＧＵＩ部品に入力されるべき値の範囲（制約条件）を決定することができる（ステップＳ５０６）。なお、ステップＳ５０６は、本発明の生成手段の一処理例であり、上記（依存元の）ＧＵＩ部品は、本発明の第２の部品ソフトウェアの一適用例となる構成である。
【００４９】
画像制御部は、ステップＳ５０６にて決定された、ＧＵＩ部品へ入力可能な値の範囲を該ＧＵＩ部品の近傍に表示する（ステップＳ５０７）。ステップＳ５０７は、本発明の制約条件表示手段の一処理例である。
【００５０】
ユーザはこの表示に従って入力を行うことで、パラメータ設定ファイル１０２及びそこから取得されるパラメータ連動テーブル１０４に記述された連動条件を満たした値入力を行うことが可能になる。ここでの値入力と入力された値のチェック方法については図６にて詳細に説明する。なお、ステップＳ５０４において、該ＧＵＩ部品が他のＧＵＩ部品に依存していないと判定された場合、ステップＳ５０５〜Ｓ５０７の処理は実行されない。
【００５１】
図６は、本画像制御システムにより生成されたウィザードを利用してＧＵＩ部品上に値の入力を行った場合の、入力値のチェック方法と警告表示方法とを示すフローチャートである。
【００５２】
入力フィールドへの値の入力等、ＧＵＩ画面に対して何らかの変更があった場合（ステップＳ６０１）、本処理は開始される。本処理は、ウインドウ上に配置されている各ＧＵＩ部品について繰り返し実行される処理である。
【００５３】
先ず、ウィザード生成部１０５は、パラメータ連動テーブル１０４を検索し、該ＧＵＩ部品の依存関係を取得する（ステップＳ６０３）。
【００５４】
次に、ウィザード生成部１０５は、該ＧＵＩ部品が他のＧＵＩ部品に依存しているか否かを判定する（ステップＳ６０４）。該ＧＵＩ部品が他のＧＵＩ部品に依存している場合、ウィザード生成部１０５は、該ＧＵＩ部品が依存している他のＧＵＩ部品に、以前ユーザが入力した値を取得する（ステップＳ６０５）。ここで、本システムを用いて作成されたウィザードに従って値を入力している限り、この依存先ＧＵＩ部品に何らかの値が入力されていることが保証されている。
【００５５】
ウィザード生成部１０５は、ステップＳ６０５にて取得した、依存先ＧＵＩ部品に入力された値と、パラメータ連動テーブル１０４に記述された連動式とから、現在注目している（依存元の）ＧＵＩ部品に入力されるべき値の範囲（制約条件）を決定する。
【００５６】
ウィザード生成部１０５は、該ＧＵＩ部品に入力された値と制約条件とを比較し、入力された値が制約条件を満たしているか否かを判定する（ステップＳ６０６）。もし入力された値が制約条件を満たしていない場合、表示制御部は、ユーザに対して「入力された値が条件を満たしていない」というような警告を表示する（ステップＳ６０７）。なお、ステップＳ６０４において、該ＧＵＩ部品が他のＧＵＩ部品に依存していないと判定された場合、ステップＳ６０５〜Ｓ６０７の処理は実行されない。また、ステップＳ６０６において、入力された値が制約条件を満たしていないと判定された場合、ステップＳ６０７の警告処理は実行されない。また、ステップＳ６０７は、本発明の警告手段の一処理例である。
【００５７】
このように、ユーザが予めパラメータ設定ファイル１０２によって設定された連動式を満たさないような値を入力しようとすると、その場で警告が表示される。これにより、相矛盾する値が入力されて、パラメータ設定ファイル１０２が連動式に矛盾してしまうような事態を未然に防ぐことができる。
【００５８】
図７は、ウィザード１０６の生成過程において、ＧＵＩ部品間の依存関係を表した有向グラフである依存グラフから、ステップＳ４０２において生成した空のウインドウにＧＵＩ部品を適切に配置するウインドウ作成の処理を示すフローチャートである。なお、ステップＳ７０２〜Ｓ７０５の処理は、依存グラフ上の各頂点について繰り返し実行される処理であり、また、ステップＳ７０６〜Ｓ７０９の処理も、依存グラフ上の各頂点について繰り返し実行される処理である。
【００５９】
先ず、ウィザード生成部１０５は、依存グラフに含まれる或る頂点について、該頂点に向かっている枝があるかどうかを判定する（ステップＳ７０３）。該頂点に向かっている枝が存在するということは、該頂点に対応するＧＵＩ部品が、何れか他のＧＵＩ部品に依存しているということを意味している。
【００６０】
ここで枝が存在しなければ、該ＧＵＩ部品は他のＧＵＩ部品に依存していないため、ウィザード生成部１０５は該ＧＵＩ部品をウインドウ上に配置する（ステップＳ７０４）。こうして他のＧＵＩ部品に依存してない該ＧＵＩ部品を全てウインドウ上に配置し終わると、次に依存グラフを更新する。
【００６１】
まず、ウィザード生成部１０５は、同じく依存グラフに含まれる或る頂点について、該ＧＵＩ部品がウインドウ上に配置済みかどうかを判定する（ステップＳ７０７）。ここで、ウインドウ上に配置されているのはステップＳ７０３の判断の結果、他の頂点から該頂点へ引かれた枝が存在しない頂点である。もし既に該頂点に対応するＧＵＩ部品がウインドウ上に配置済であれば、該頂点及び該頂点から出ている全ての枝を依存グラフから取り除く（ステップＳ７０８）。
【００６２】
この繰り返し処理の結果、最初空であったウインドウには、他のＧＵＩ部品に依存せず値の入力が可能なＧＵＩ部品が適切に配置され、依存グラフは次のウインドウへ配置するＧＵＩ部品を決定可能なように更新されている。
【００６３】
図８は、パラメータ設定ファイル１０２の具体的なイメージ図である。この例では、入力フィールド「id_A」８０２と入力フィールド「id_B」８０６の二つの入力フィールドが定義されている。それぞれの入力フィールドには、入力可能な上限値８０３、８０７、入力可能な下限値８０４、８０８、デフォルト値８０５、８０９が指定されている。さらに、入力フィールド「id_B」８０６には連動式８１０が指定されている。この連動式は、入力フィールド「id_A」に入力された値が２０００より大きい場合、この連動式８１０の属する入力フィールド（「id_B」）の入力可能な上限値を１とし、それ以外の場合は入力可能な最大値を２００とすることを意味している。
【００６４】
このような連動式８１０を設定した場合、入力フィールド「id_B」８０６に入力可能な値は、入力フィールド「id_A」に予め入力された値によって影響を受ける。このような制約条件がある場合、入力フィールド「id_B」は入力フィールド「id_A」に依存しているという。
【００６５】
以下、本システムの具体的な実施形態として、６つの入力フィールドを備えたＧＵＩを考える。
【００６６】
各入力フィールドにはＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆという名前が付いており、パラメータ設定ファイル１０２によって依存関係が記述されているとする。図８の例では、Ａは他には依存していないが、Ｂに依存されている。ＢはＡとＥの二つに依存し、Ｃに依存されている。ＣはＢに依存している。Ｄは他の入力フィールドと依存関係が無い。ＥはＦに依存し、Ｂに依存されている。Ｆは他には依存していないが、Ｅに依存されている。
【００６７】
このような依存関係がある場合を例にとって、本画像制御システムにおけるウィザードの生成過程を説明する。
【００６８】
まず、部品間依存解釈部１０３は、前述のような依存関係が記述されたパラメータ設定ファイル１０２から、依存グラフを作成する。
【００６９】
図９は、ステップＳ３０５で生成された、頂点のみを含む有向グラフである。次にステップＳ３０６〜ステップＳ３０９のアルゴリズムに従って枝を引いていく。以下、枝を引く手順を具体的に説明する。
【００７０】
まず、Ａは他の部品に依存していないため枝を引かない。ＢはＡとＥに依存しているため、ＡからＢ、ＥからＢに枝を引く。ＣはＢに依存しているため、ＢからＣに枝を引く。Ｄは他の部品に依存していないため枝を引かない。ＥはＦに依存しているため、ＦからＥに枝を引く。Ｆは他の部品に依存していないため、枝を引かない。以上で依存グラフは完成である。図１０は完成した依存グラフを表す。
【００７１】
ウィザード生成部１０６は、依存グラフが完成すると、図４、図７のアルゴリズムに従ってウィザード１０６を生成する。
【００７２】
まず、ウィザード生成部１０５は、空のウインドウを用意し（ステップＳ４０２）、ここにＧＵＩ部品を配置する。ステップＳ７０２〜ステップＳ７０５のアルゴリズムに従って処理を行うと、頂点Ａ、Ｄ、Ｆには該頂点に向かって引かれた枝が存在しないため、これらの頂点に対応するＧＵＩ部品が１枚目のウインドウに配置される。
【００７３】
次に、ステップＳ７０６〜ステップＳ７０９のアルゴリズムに従い、配置済のＧＵＩ部品に対応する頂点を取り除く。既に配置されたＡ、Ｄ、Ｆの頂点と、そこから引かれた枝を依存グラフから取り除いてグラフを更新する。この段階のグラフは、Ｅ→Ｂ→Ｃになる。
【００７４】
同様にして、ウィザード生成部１０５は、空のウインドウを用意し（ステップＳ４０２）、ステップＳ７０２〜ステップＳ７０９を繰り返してＧＵＩ部品の配置・グラフの更新を行っていく。
【００７５】
２枚目のウインドウにはＧＵＩ部品Ｅが配置される。この段階の依存グラフは、Ｂ→Ｃになる。
【００７６】
同様に３枚目のウインドウにはＧＵＩ部品Ｂが配置される。この段階の依存グラフは頂点Ｃのみが残る。
【００７７】
最後に４枚目のウインドウにはＧＵＩ部品Ｃが配置され、結果として依存グラフは空になるので、ウィザードの生成過程は終了である。
【００７８】
結果、１枚目のウインドウにはＡ、Ｄ、Ｆ、２枚目のウインドウにはＥ、３枚目のウインドウにはＢ、４枚目のウインドウにはＣが配置された４枚のウインドウからなるウィザードが生成される。
【００７９】
１枚目から４枚目へと順番に表示されるウインドウに従って値を入力すれば、ＧＵＩ部品間の依存関係を考慮せずに、事前に外部ファイル（パラメータ設定ファイル１０２）によって指定した連動式を満たす値の入力が容易に行えるようになる。なお、ウィザードの表示順序に係るアルゴリズムは、図５を用いて説明しており、値の入力に係るアルゴリズムは、図６を用いて説明している。
【００８０】
また、例えばＡとＢの依存関係において図８のような設定がなされており、１枚目のウインドウに配置されたＧＵＩ部品Ａに「３０００」という値が入力されると、連動式８０９の条件から、ＧＵＩ部品Ｂの最大値は「１」に拘束されることが分かる。このため、３枚目のウインドウの表示にあたっては、ＧＵＩ部品Ｂの近傍に「最大値は１」のような表示がなされる（ステップＳ５０７）。ここでユーザが範囲外の値を入力すると、ＧＵＩ部品Ｂが連動式の条件を満たしていない旨の警告が画面に表示される（ステップＳ６０６、Ｓ６０７）。
【００８１】
このように本システムを用いることによって、ユーザが正しい値を入力できるように補助することができ、ユーザの値入力にかかる負担を軽減することができる。
【００８２】
上記実施形態では、パラメータ設定ファイル１０２に記述された入力フィールドの情報とそれらの間の依存関係とから、複数のウインドウからなるウィザード１０６を生成したが、全ての入力フィールドを１枚のウインドウ上に配置しても良い。
【００８３】
このとき、入力フィールドを依存関係の順番に１枚のウインドウの上部から順に配置し、ユーザは、表示されたウインドウの上部にある入力フィールドから順に値を入力していくことで、相互に依存した入力フィールドに少ない負担で値を入力することができる。
【００８４】
図１１は、本発明の他の実施形態に係る画像制御システムの構成を示す図である。図１１において、ＧＵＩ部品データベース１５０１は、図１のＧＵＩ部品データベース１０１と同じである。パラメータ設定ファイル１５０２は、図１のパラメータ設定ファイル１０２と同じである。部品間依存解釈部１５０３は、図１の部品間依存解釈部１５０３と同じである。パラメータ連動テーブル１５０４は、図１のパラメータ連動テーブル１０４と同じである。ウィザード生成部１５０５は、図１のウィザード生成部１５０５と同じである。以上の構成により生成されるウィザードから、入力ウインドウ生成部１５０６によって入力ウインドウ１５０７を自動的に生成する。
【００８５】
本実施形態に係る画像制御システムは、パラメータ設定ファイル１５０２を書き換えることで、ユーザが値を入力するための複数の入力フィールドを配置した１枚のウインドウを自動的に生成する。そして、ユーザがそれらの入力フィールドに矛盾無く値を入力することを補助することができる。図１２は、このような動作の概要を説明するためのフローチャートである。
【００８６】
パラメータ設定ファイルが更新されることにより、図１２に示す処理が開始される（ステップＳ１６０１）。
【００８７】
部品間依存解釈部１５０３は、パラメータ設定ファイル１５０４を解析してＧＵＩ部品間の依存関係を記述したパラメータ連動テーブル１５０４を生成する（ステップＳ１６０２）。
【００８８】
次に、ウィザード生成部１５０５は、各ＧＵＩ部品を頂点とし、ＧＵＩ部品間の依存関係を有向グラフで表現した依存グラフを作成する（ステップＳ１６０３）。依存グラフの作成アルゴリズムは図３を用いて説明した通りである。
【００８９】
次に、ウィザード生成部１５０５は、ステップＳ１６０３で作成した依存グラフから、ユーザがＧＵＩ部品に矛盾無く値を入力できるようなウインドウ群（ウィザード）を生成する（ステップＳ１６０４）。ウィザードの作成アルゴリズムは図４を用いて説明した通りである。
【００９０】
次に、入力ウインドウ生成部１５０６は、生成されたウィザードに含まれる全てのウインドウ上に配置された入力フィールドを、１枚のウインドウの上部からウインドウ順に配置した結合ウインドウを生成する（ステップＳ１６０５）。
【００９１】
この結合ウインドウは、上部から順に値を入力していくことで、ウィザードに含まれるウインドウ群に順に値を入力していった場合と同じ効果をもたらす。
【００９２】
次に、表示制御部は、結合ウインドウを画面に表示する（ステップＳ１６０６）。その際、既に入力フィールドに入力された値を参照して、可能な入力範囲を表示する。ウインドウ上のＧＵＩ部品の具体的な表示手法は図５を用いて説明した通りである。
【００９３】
ユーザは表示されたウインドウ上のＧＵＩ部品に値を入力する（ステップＳ１６０７）。その際に、ユーザが範囲外の値を入力した場合は警告を表示することによってユーザの正しい入力を補助する。ユーザによる値入力と不正値が入力された場合の警告手法は図６を用いて説明した通りである。
【００９４】
結合ウインドウ上の全ての入力フィールドに値が正しく入力されれば、本画像制御システムによるＧＵＩ部品への値入力は終了である。入力された値はパラメータ設定ファイル１５０２によって規定された連動条件を満たしている。
【００９５】
以上のように本実施形態によれば、画面に表示されるウインドウ群に指示に従って順番に値を入力していくだけで相互に矛盾しない値をフィールドに入力することができ、間違った値が入力されないように適切な指示をウインドウから得ることができる。従って、値入力の負担が軽減される。
【００９６】
さらに、生成されるウインドウ群は、プログラムコードから独立した設定ファイルを書き換えることで自動的に生成されるため、プログラムコードを改変することなくユーザ側でカスタマイズを行うことができる。これにより、ユーザのニーズに応じた自由度の高いアプリカスタマイズが可能となる。
【００９７】
上述した本発明の実施形態を構成する各手段及び各ステップは、コンピュータのＲＡＭやＲＯＭ等に記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００９８】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、一つの機器からなる装置に適用してもよい。
【００９９】
なお、本発明は、上述した実施形態の機能を実現するソフトウェアのプログラムを、システム又は装置に直接、又は遠隔から供給する。そして、そのシステム又は装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１００】
従って、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１０１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。更に、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳ等が、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１０２】
更に、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１０３】
【図１】本発明の実施形態に係る画像制御システムの構成を示す図である。
【図２】本発明の実施形態に係る画像制御システムの処理の概要を示すフローチャートである。
【図３】ＧＵＩ部品間の依存関係を表す依存グラフを作成する処理を示すフローチャートである。
【図４】ステップＳ３０３にて取得したＧＵＩ部品群を複数のウインドウに配置することによってウィザードを作成する処理を示すフローチャートである。
【図５】画像制御システムによって生成されたウィザード中のウインドウを表示する具体的な処理を示すフローチャートである。
【図６】本画像制御システムにより生成されたウィザードを利用してＧＵＩ部品上に値の入力を行った場合の、入力値のチェック方法と警告表示方法とを示すフローチャートである。
【図７】ウィザードの生成過程において、ＧＵＩ部品間の依存関係を表した有向グラフである依存グラフから、ステップＳ４０２において生成した空のウインドウにＧＵＩ部品を適切に配置するウインドウ作成の処理を示すフローチャートである。
【図８】パラメータ設定ファイルの具体的なイメージ図である。
【図９】ステップＳ３０５で生成された、頂点のみを含む有向グラフを示す図である。
【図１０】完成した依存グラフを示す図である。
【図１１】本発明の他の実施形態に係る画像制御システムの構成を示す図である。
【図１２】本発明の他の実施形態に係る画像制御システムの処理の概要を示すフローチャートである。
【符号の説明】
【０１０４】
１０１、１５０１  ＧＵＩ部品データベース
１０２、１５０２  パラメータ設定ファイル
１０３、１５０３  部品間依存解釈部
１０４、１５０４  パラメータ連動テーブル
１０５、１５０５  ウィザード生成部
１０６  ウィザード
１５０６  入力ウインドウ生成部
１５０７  入力ウインドウ
【図１】
2009187225.tif 000003
【図２】
2009187225.tif 000004
【図３】
2009187225.tif 000005
【図４】
2009187225.tif 000006
【図５】
2009187225.tif 000007
【図６】
2009187225.tif 000008
【図７】
2009187225.tif 000009
【図８】
2009187225.tif 000010
【図９】
2009187225.tif 000011
【図１０】
2009187225.tif 000012
【図１１】
2009187225.tif 000013
【図１２】
2009187225.tif 000014