(57)【要約】【課題】  プログラムロジックとＧＵＩレイアウトを同一の入出力定義に対応付けることにより、開発中のどのタイミングでもＧＵＩレイアウトを確認可能とし、またプログラムロジックとＧＵＩレイアウトのいずれを編集したとしても対応関係を修正する必要をなくすることにより、開発効率を向上させることが可能なプログラム自動生成装置による開発支援の技術を提供する。【解決手段】  プログラムを自動生成するために、プログラムロジックに関する項目一覧定義をテキスト形式で行う項目一覧タブと、表示画面のレイアウト定義をグラフィカル形式で行うレイアウトタブを備えており、レイアウトタブを表示している状態から、項目一覧タブに切り替える際に、レイアウトタブに描画されたレイアウト定義の最新状態を、項目一覧定義に変換し、最新の項目一覧定義として記憶する。さらに、項目一覧タブに切り替え、最新の項目一覧定義を表示する。【選択図】図１
2015049645.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを自動生成するために、プログラムロジックとデータ形式に対応する項目定義を含む項目一覧定義をテキスト形式で行う項目一覧タブと、表示画面の部品定義を含むレイアウト定義をグラフィカル形式で行うレイアウトタブを備える情報処理装置であって、
前記項目一覧定義を記憶する項目一覧モデル記憶手段と、
前記レイアウト定義を記憶するレイアウトモデル記憶手段と、
ユーザの操作によって前記項目一覧タブが選択された際に、レイアウト定義を項目一覧定義に変換すべく要求を行うレイアウトモデル変換要求手段と、
前記レイアウトモデル変換要求手段に従って、前記レイアウトタブにおけるレイアウト定義を一意に識別する情報に基づき、レイアウトモデル記憶手段からレイアウト定義の取得を要求するレイアウトモデル変換時取得要求手段と、
前記レイアウトモデル変換時取得要求手段により取得したレイアウト定義を項目一覧定義に変換する項目一覧モデル変換手段と、
変換された前記項目一覧定義を、前記項目一覧モデル記憶手段に記憶させる項目一覧モデル更新手段と、
前記項目一覧モデル更新手段により前記項目一覧モデル記憶手段に記憶させた項目一覧定義を前記項目一覧タブに表示させる項目一覧表示手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
ユーザの操作によって前記レイアウトタブが選択された際に、項目一覧定義をレイアウト定義に変換すべく要求を行う項目一覧モデル変換要求手段と、
前記項目一覧モデル変換要求手段に従って、前記項目一覧タブにおける項目一覧定義を一意に識別する情報に基づき、項目一覧モデル記憶手段から項目一覧定義の取得を要求する項目一覧モデル変換時取得要求手段と、
前記項目一覧モデル変換時取得要求手段により取得した項目一覧定義をレイアウト定義に変換するレイアウトモデル変換手段と、
変換された前記レイアウト定義を、前記レイアウトモデル記憶手段に記憶させるレイアウトモデル更新手段と、
前記レイアウトモデル更新手段により前記レイアウトモデル記憶手段に記憶させたレイアウト定義を前記レイアウトタブに描画させるレイアウト描画手段と、
を、更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記項目一覧定義における各々の前記項目定義および前記レイアウト定義における各々の前記部品定義は、相互に一意的に対応付けを示すためのインデックス情報を含むものであって、
前記項目一覧表示手段は、当該インデックス情報に従って前記項目一覧定義を表示する際の前記項目定義の表示位置を決定し、
前記レイアウト描画手段は、当該インデックス情報に従って前記部品定義を描画する際の描画位置を決定することを特徴とする請求項２のいずれかに記載の情報処理装置。
【請求項４】
プログラムを自動生成するために、プログラムロジックに関する項目一覧定義をテキスト形式で行う項目一覧タブと、表示画面のレイアウト定義をグラフィカル形式で行うレイアウトタブを備える情報処理装置の制御方法であって、
項目一覧モデル登録手段が、前記項目一覧定義を項目一覧モデル記憶手段に記憶させる項目一覧モデル登録ステップと、
レイアウトモデル登録手段が、前記レイアウト定義をレイアウトモデル記憶手段に記憶させるレイアウトモデル登録ステップと、
レイアウトモデル変換要求手段が、ユーザの操作によって前記項目一覧タブが選択された際に、レイアウト定義を項目一覧定義に変換すべく要求を行うレイアウトモデル変換要求ステップと、
レイアウトモデル変換時取得要求手段が、前記レイアウトモデル変換要求ステップに従って、前記レイアウトタブにおけるレイアウト定義を一意に識別する情報に基づき、レイアウトモデル記憶手段からレイアウト定義の取得を要求するレイアウトモデル変換時取得要求ステップと、
項目一覧モデル変換手段が、前記レイアウトモデル変換時取得要求ステップにより取得したレイアウト定義を項目一覧定義に変換する項目一覧モデル変換ステップと、
項目一覧モデル更新手段が、変換された前記項目一覧定義を、前記項目一覧モデル記憶手段に記憶させる項目一覧モデル更新ステップと、
項目一覧表示手段が、前記項目一覧モデル更新ステップにより前記項目一覧モデル記憶手段に記憶させた項目一覧定義を前記項目一覧タブに表示させる項目一覧表示ステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項５】
コンピュータを、プログラムを自動生成するために、プログラムロジックに関する項目一覧定義をテキスト形式で行う項目一覧タブと、表示画面のレイアウト定義をグラフィカル形式で行うレイアウトタブを備える情報処理装置として機能させるためのプログラムであって、
前記コンピュータを、
前記項目一覧定義を項目一覧モデル記憶手段に記憶させる項目一覧モデル登録手段、
前記レイアウト定義をレイアウトモデル記憶手段に記憶させるレイアウトモデル登録手段、
ユーザの操作によって前記項目一覧タブが選択された際に、レイアウト定義を項目一覧定義に変換すべく要求を行うレイアウトモデル変換要求手段、
前記レイアウトモデル変換要求手段に従って、前記レイアウトタブにおけるレイアウト定義を一意に識別する情報に基づき、レイアウトモデル記憶手段からレイアウト定義の取得を要求するレイアウトモデル変換時取得要求手段、
前記レイアウトモデル変換時取得要求手段により取得したレイアウト定義を項目一覧定義に変換する項目一覧モデル変換手段、
変換された前記項目一覧定義を、前記項目一覧モデル記憶手段に記憶させる項目一覧モデル更新手段、
前記項目一覧モデル更新手段により前記項目一覧モデル記憶手段に記憶させた項目一覧定義を前記項目一覧タブに表示させる項目一覧表示手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム自動生成装置において、それぞれ別々の定義画面で定義するＧＵＩ（グラフィカル・ユーザ・インタフェース）と、項目一覧の情報を同期させる技術に関する。
【背景技術】
【０００２】
従来から、ウェブアプリケーションの開発を支援するため、ユーザはＧＵＩレイアウト（プログラム実行時にＨＴＭＬとして表示される部分）や、ビジネスロジック、データベースモデルを自動生成するツール（製品）がある。これらの開発支援ツールを用いて、ウェブアプリケーションが表示する画面を作成する場合、入力フィールドやボタンなどの部品について、ツール（製品）毎に決められた定義を行う必要がある。画面作成を開発者などが容易に行うため、アプリケーションが表示するＨＴＭＬをグラフィカルに編集するエディタを搭載するツールもある。
【０００３】
しかしながら、ＨＴＭＬを編集できても、アプリケーションとして動作させるためには、ビジネスロジック、データモデルと連携する必要があり、従来のＨＴＭＬを編集する方法では、モックとしての画面は作成できても、実際に動作するアプリケーションを完成させるためには、ビジネスロジック、データモデルと独自に連携するための修正が必要であった。
【０００４】
特許文献１には、ウェブアプリケーションの開発におけるＨＴＭＬデータ生成プログラムの開発支援装置において、ＨＴＭＬデータ生成プログラムをＨＴＭＬデータと、プログラムコードと、ＨＴＭＬデータとプログラムコードとの対応情報とに分割して管理する手段と、それぞれ独立してデータの修正、保存を行う手段と、それらのデータを結合してＨＴＭＬデータ生成プログラムとする手段とを備えたことを特徴とするＨＴＭＬデータ生成プログラムの開発支援装置に関する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−５８８０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の記載の技術により、ＨＴＭＬ画面の修正は容易に行うことができる。また、プログラムロジックについては別管理であるので、部品として扱うことができる。
【０００７】
しかしながら、特許文献１の技術においては、対応情報は開発者が管理しなくてはならない。ＨＴＭＬデータを編集すれば、項目の位置は変わるが、対応する部品との関係を示す対応情報については、同期されるわけではない。すなわち、ＨＴＭＬデータとプログラムロジックとは自動で関連付けられないため、対応情報についての更新を行う必要が発生し、開発工数に影響を与えるものである。
【０００８】
特に、ＨＴＭＬのレイアウトを修正するだけではなく、ＨＴＭＬにテキスト入力のコンポーネントなどを追加する際には、ＨＴＭＬ構造全体に影響が出る。従って、例えば、開発中に、逐一ＨＴＭＬ（開発結果としてのＧＵＩ画面）を確認することができないか、あるいは、ＧＵＩ画面を確認したい度に、対応情報を更新しなければならない。
【０００９】
本発明の目的は、上記の問題に鑑み、プログラムロジックとＧＵＩレイアウトを同一の入出力定義に対応付けることにより、開発中のどのタイミングでもＧＵＩレイアウトを確認可能とし、またプログラムロジックとＧＵＩレイアウトのいずれを編集したとしても対応関係を修正する必要をなくすることにより、開発効率を向上させることが可能なプログラム自動生成装置による開発支援の技術を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、プログラムを自動生成するために、プログラムロジックに関する項目一覧定義をテキスト形式で行う項目一覧タブと、表示画面のレイアウト定義をグラフィカル形式で行うレイアウトタブを備える情報処理装置であって、前記項目一覧定義を記憶する項目一覧モデル記憶手段と、前記レイアウト定義を記憶するレイアウトモデル記憶手段と、ユーザの操作によって前記項目一覧タブが選択された際に、レイアウト定義を項目一覧定義に変換すべく要求を行うレイアウトモデル変換要求手段と、前記レイアウトモデル変換要求手段に従って、前記レイアウトタブにおけるレイアウト定義を一意に識別する情報に基づき、レイアウトモデル記憶手段からレイアウト定義の取得を要求するレイアウトモデル変換時取得要求手段と、前記レイアウトモデル変換時取得要求手段により取得したレイアウト定義を項目一覧定義に変換する項目一覧モデル変換手段と、変換された前記項目一覧定義を、前記項目一覧モデル記憶手段に記憶させる項目一覧モデル更新手段と、前記項目一覧モデル更新手段により前記項目一覧モデル記憶手段に記憶させた項目一覧定義を前記項目一覧タブに表示させる項目一覧表示手段と、
を備えることを特徴とする。
【発明の効果】
【００１１】
本発明により、プログラムロジックとＧＵＩレイアウトを同一の入出力定義に対応付けることにより、開発中のどのタイミングでもＧＵＩレイアウトを確認可能とし、またプログラムロジックとＧＵＩレイアウトのいずれを編集したとしても対応関係を修正する必要をなくすることにより、開発効率を向上させることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係わる情報処理装置の機能構成、および各機能の呼び出し関係を示す図である。
【図２】本発明の実施形態に係わる情報処理装置のハードウェア構成の一例を示すブロック図である。
【図３】保発明の実施形態に係わるプログラム自動生成ツールのうちＧＵＩレイアウトの定義を行う画面構成の一例である。
【図４】本発明の実施形態に係わるプログラム自動生成ツールのうち項目の定義を行う画面構成の一例である。
【図５】本発明の実施形態に係わるプログラム自動生成ツールで定義された項目一覧の情報を記憶する項目一覧モデル記憶部におけるデータ構成の一例を示す図である。
【図６】本発明の実施形態に係わるＧＵＩレイアウトの定義を項目一覧の定義に同期するためのシーケンス図の一例である。
【図７】本発明の実施形態に係わる項目一覧の定義をＧＵＩレイアウトの定義に同期するためのシーケンス図の一例である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００１４】
図１は、本発明の実施形態に係わる情報処理装置１００の機能構成、および各機能の呼び出し関係を示す図である。図１において、ユーザ操作（１０１）は、ＧＵＩ（グラフィカル・ユーザ・インタフェース）における定義画面（プログラム自動生成ツールにおいてプログラムの定義を行う画面）から行われる。具体的には、情報処理装置１００にて動作しているプログラム自動生成ソフトにおけるＧＵＩレイアウトタブ（図３）、項目一覧タブ（図４）でＧＵＩレイアウト、または項目一覧の定義を行うが、タブの相互切り替えに際しての処理に関連するソフトウェア構成部品と、構成部品間の要求の図である。なお、ＧＵＩレイアウトタブおよび項目一覧タブに定義されている情報は、定義画面ヘッダの定義ファイル名（図３、図４の画面例では“ＵＳＥＲＲＥＱ．ｗｐｒｘ”）、あるいは当該画面を一意的に決定する情報により特定される。
【００１５】
ユーザ操作（１０１）により、項目一覧タブ選択要求１２１が、入出力定義エディタコントローラ部１０２に通知されると、入出力定義エディタコントローラ部１０２は、項目一覧モデル変換部１０３にレイアウトモデル変換要求１２２を通知する。
【００１６】
項目一覧モデル変換部１０３は、ＧＵＩレイアウト定義を項目一覧定義に変換するため、現在のＧＵＩレイアウト定義（ＧＵＩレイアウトタブで定義されたレイアウト定義でありレイアウト部品情報の定義の一覧）をレイアウトモデル記憶部１０７から取得する（レイアウトモデル変換時取得要求１２３）。さらに、項目一覧モデル変換部１０３は、取得した現在のＧＵＩレイアウトを、項目一覧定義（項目情報の定義の一覧）に変換し、変換結果を項目一覧モデル記憶部１０４に登録する（既にある場合は更新する。項目一覧モデル更新要求１２４）。
【００１７】
入出力定義エディタコントローラ部１０２は、項目一覧定義の登録または更新後、当該登録または更新結果を取得する（項目一覧モデル表示時取得要求１２５）。入出力定義エディタコントローラ部１０２は、取得した項目一覧定義を項目一覧タブに表示するよう項目一覧表示部１０５に要求し、項目一覧表示部１０５は要求に従って項目一覧定義の表示を行う。
【００１８】
ユーザ操作（１０１）により、レイアウトタブ選択要求１４１が、入出力定義エディタコントローラ部１０２に通知されると、入出力定義エディタコントローラ部１０２は、ＧＵＩレイアウトモデル変換部１０６に項目一覧モデル変換要求１４２を通知する。
【００１９】
ＧＵＩレイアウトモデル変換部１０６は、項目一覧定義をＧＵＩレイアウトモデル定義に変換するため、現在の項目一覧定義を項目一覧モデル記憶部１０４から取得する（項目一覧モデル変換時取得要求１４３）。さらに、ＧＵＩレイアウトモデル変換部１０６は、取得した現在の項目一覧定義を、ＧＵＩレイアウト定義に変換し、レイアウトモデル記憶部１０７に登録する（既にある場合は更新する。レイアウトモデル更新要求１４４）。
【００２０】
入出力定義エディタコントローラ部１０２は、ＧＵＩレイアウト定義の登録または更新後、当該登録または更新結果を取得する（レイアウトモデル表示時取得要求１４５）。入出力定義エディタコントローラ部１０２は、取得したＧＵＩレイアウト定義をＧＵＩレイアウトタブに描画するための準備としてＧＵＩレイアウトコントローラ部１０８にＧＵＩレイアウト部品の生成を要求する（ＧＵＩレイアウト生成要求１４６）。
【００２１】
ＧＵＩレイアウト生成要求を受けたＧＵＩレイアウトコントローラ部１０８は、レイアウトモデル記憶部１０７から取得したＧＵＩレイアウト定義に基づき、描画するためのＧＵＩ部品などを生成する。まず、ＧＵＩレイアウト上のＧＵＩ部品（テキスト入力ボックスやボタンなど）を配置するためのベースとなる部品（ベース部品）を生成し、ＧＵＩレイアウト記憶部１０９（ＧＵＩレイアウト＆部品記憶部）に追加する（ＧＵＩレイアウト追加要求１４７）。
【００２２】
ＧＵＩレイアウトコントローラ部１０８は、さらにベース部品に配置するＧＵＩ部品を生成するため、ベース部品の直下のＧＵＩ部品ごとに、ＧＵＩ部品生成要求１４８をＧＵＩ部品コントローラ部１１０に発行する。
【００２３】
ＧＵＩ部品コントローラ部１１０は、ＧＵＩ部品生成要求１４８により要求されたＧＵＩ部品を、ＧＵＩレイアウト定義の個々の部品の定義（項目情報から変換された定義）に基づき生成する。ＧＵＩレイアウト定義において、ＧＵＩ部品に入れ子のＧＵＩ部品（ベース部品の直下に配置される部品ではなく、ＧＵＩ部品上に配置される子供となるＧＵＩ部品）が定義されている場合には、入れ子の部品を生成するようにＧＵＩ部品コントローラ部１１０に再帰的に要求を行う（ＧＵＩ部品生成要求１４９）。生成したＧＵＩ部品は、ＧＵＩレイアウト記憶部１０９に追加する（ＧＵＩ部品追加要求１５０）。
【００２４】
ＧＵＩレイアウトコントローラ部１０８は、ＧＵＩ部品（ベース部品を含む）の生成が完了すると、ＧＵＩレイアウト描画部１１１にＧＵＩレイアウト描画要求１５１を発行する。この要求により、ＧＵＩレイアウト描画部１１１は、ＧＵＩレイアウトタブにＧＵＩレイアウトの表示を行う。
【００２５】
図２は、本発明の実施形態に係わる情報処理装置１００（プログラム自動生成装置）のハードウェア構成の一例を示すブロック図である。
【００２６】
図２に示すように、情報処理装置１００は、システムバス２０４を介してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３、入力コントローラ２０５、ビデオコントローラ２０６、メモリコントローラ２０７、通信Ｉ／Ｆコントローラ２０８等が接続された構成を採る。  ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２７】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、各サーバあるいは各ＰＣが実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、本発明を実施するために必要な情報が記憶されている。なお外部メモリはデータベースであってもよい。
【００２８】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【００２９】
また、入力コントローラ２０５は、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。
【００３０】
ビデオコントローラ２０６は、ディスプレイ２１０等の表示器への表示を制御する。尚、表示器は液晶ディスプレイ等の表示器でもよい。これらは、必要に応じて管理者が使用する。
【００３１】
メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、あるいは、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）カードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３２】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いた通信等が可能である。
【００３３】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上に表示することが可能である。また、ＣＰＵ２０１は、ディスプレイ２１０上のマウスカーソル（図示しない）等によるユーザ指示を可能とする。
【００３４】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイルおよび各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明についても後述する。
【００３５】
図３は、本発明の実施形態に係わるプログラム自動生成ツールのうちＧＵＩレイアウトの定義を行う画面構成の一例である。ＧＵＩレイアウト定義画面は、主に次のエリアから構成されている。
【００３６】
すなわち、定義された単位毎にフォルダ階層としてデータが格納される定義エクスプローラ領域３０１、１つのＧＵＩレイアウト定義を視覚的に配置操作するためのキャンバス領域３０２、キャンバス領域３０２に配置するＧＵＩ部品（例えばテキストフィールド３０４）を選択するパレット領域３０３から構成されている。
【００３７】
また、開発者が様々な定義情報を記述するため、プログラム自動生成ツールの定義画面で共通に表示されるタブが配置されている。例えば、項目一覧タブ３０５、レイアウトタブ３０６であり、これらは図４の項目一覧定義画面でも表示される。本発明の実施形態では、ＧＵＩレイアウト定義画面（図３）と項目一覧定義画面（図４）を切り替えながら操作する。
【００３８】
また、本発明の実施形態では、定義エクスプローラ領域３０１にあるデータモデル３０８をパレット領域３０３のＧＵＩ部品と同様に、キャンバス領域３０２に配置することが可能である。すなわち、データモデル３０８から、データベースのテーブルに記載されたデータ項目（カラム）を１つまたは複数選択し、キャンバス領域３０２に配置する。そうすると、データベースのスキーマとして定義されたデータ項目（カラム）の情報（カラム名、データ種別、サイズなど）を抽出して、例えば、データ種別がテキストや数値である場合にはテキストフィールド、ｂｏｏｌｅａｎである場合にはチェックボックスなどとして配置することができる。
【００３９】
ＧＵＩレイアウト定義画面３００ｂは、ＧＵＩレイアウト定義画面３００ａに対してテキストフィールド３０７を１つ追加し、名前を“ユーザＩＤ”と設定した場合を示している。タイトルや入力領域のサイズなどは、キャンバス領域３０２においてマウスでクリックして更新可能状態として交信してもよいし、またＧＵＩ部品をクリックする際に、ＧＵＩレイアウト定義画面３００の左下の領域（“Ｐｒｏｐｅｒｔｙ”定義領域）に、属性としてＧＵＩ部品に関連する情報の一覧を表示し、属性をキーボード入力により修正することも可能である。
【００４０】
図４は、本発明の実施形態に係わるプログラム自動生成ツールのうち項目一覧の定義を行う画面構成の一例である。項目一覧定義画面は、主張な領域は、項目一覧設定領域４０１である。
【００４１】
項目一覧設定領域４０１は表形式になっており、開発者は１行に１つの情報（例えばＧＵＩレイアウトにおけるテキストフィールド、チェックボックス、ボタン、テキスト）などを詳細の属性と共に定義する。
【００４２】
項目一覧定義画面４００ｂは、項目一覧定義画面４００ａに対して項目タイプ“入力”を１つ追加し、名前を“ユーザＩＤ”と設定した場合を示している（行４０２の定義）。行４０２の定義は、図３のテキストフィールド３０７に対応するものである。
【００４３】
ここで、図３と図４の定義の関係を説明する。例えば図３のＧＵＩレイアウト定義画面３００ａを表示しているときに、項目一覧タブ３０５を選択すると、表示は図４の項目一覧定義画面４００ａに切り替えられる。実質的に開発しているプログラムの同じ情報を定義している。図４において、前述の通り行４０２を追加して項目一覧定義画面４００ｂとした後、レイアウトタブ３０６を選択すると、ＧＵＩレイアウト定義画面３００ｂのようにレイアウト上でもテキストフィールド３０７が追加されて描画される。
【００４４】
逆に、ＧＵＩレイアウト定義画面３００ａに対してレイアウト上でもテキストフィールド３０７を追加してＧＵＩレイアウト定義画面３００ｂとした後、項目一覧タブ３０５を選択すると、項目一覧定義画面４００ｂのように項目一覧上でも行４０２の定義が追加される。
【００４５】
すなわち、ＧＵＩレイアウト定義と項目一覧定義は、タブ（項目一覧タブ３０５およびレイアウトタブ３０６）の操作をトリガとして、同期がとられている。
【００４６】
さらに、後述する図５の項目一覧定義を記憶するデータ構成ｒｏｗｓ［ｉ］と、不図示のＧＵＩレイアウト定義を記憶するデータ構成には、ｒｏｗＩｎｄｅｘとして各定義の定義順が記載されている。そのため、ＧＵＩレイアウト定義で最上部に定義されたＧＵＩ部品に対応する項目の定義は、項目一覧定義の１行目に表示される。これにより、定義の位置関係についても同期がとられ、いずれの定義を変更してもプログラムロジックとＧＵＩレイアウトの関係が壊れてしまうことはない。
【００４７】
以上により、図３と図４の説明を完了する。このように、項目一覧における開発とＧＵＩレイアウトにおける開発（すなわち項目の定義も部品の定義）において同期がとられることで、開発中のどのタイミングでもＧＵＩレイアウトを確認可能とし、またプログラムロジックとＧＵＩレイアウトのいずれを編集したとしても対応関係を修正する必要をなくすることにより、開発効率を向上させることが可能となるという効果を得ることができる。
図５は、本発明の実施形態に係わるプログラム自動生成ツールで定義された項目一覧の情報を記憶する項目一覧モデル記憶部におけるデータ構成の一例を示す図である。記載したデータは、図４の項目一覧定義画面４００の項目一覧設定領域４０１において定義した行のうち、例として５行を記載したものである。この情報は、ＲＡＭ２０２上に一時的に記憶されていてもよいし、データベースに記憶してもよい。以下、ＲＡＭ２０２に記憶されているイメージで説明する。
【００４８】
項目一覧定義は配列ｒｏｗｓの各項目定義は、ｒｏｗｓ［０］〜ｒｏｗｓ［４］に格納されている。ｒｏｗｓ［ｉ］（各要素）は、図５示すようにｄａｔａという要素を持ち、複数の属性値、例えば入力欄を示す“Ｉ”、項目ＩＤを示す“ＵＳＥＲＩＤ”、項目の名前を示す“ユーザＩＤ”などが設定される。
【００４９】
さらに、プログラム自動生成に使用される各種属性が定義されている。また、“ｏｗＰｒｏｐｅｒｔｙＬｉｓｔ”には、名前を表示する領域のサイズ“ｌａｂｅｌＷｉｄｔｈ”、テキスト入力欄の領域サイズ“ｆｉｅｌｄＷｉｄｔｈ”などが指定される。
【００５０】
以上で、項目一覧モデル記憶部１０４におけるデータ構成の説明を完了する。さらに、不図示ではあるが、図３のＧＵＩレイアウトについても、レイアウトモデル記憶部１０７に記憶される。両者のデータ構成はほぼ同一のものである。本発明の実施形態では、項目一覧モデル記憶部１０４に記憶された情報を中心とするため、レイアウトモデル記憶部１０７におけるデータ構成は、各要素（レイアウト部品情報）が、対応する項目情報へのリンクを有すること、また項目情報（ｒｏｗｓ［ｉ］）における領域サイズの情報は、ＨＴＭＬに変換した際のサイズを示すが、レイアウト部品譲歩においては、ＧＵＩレイアウト定義画面３００のキャンバス領域３０２に表示する際に適したサイズに変換されている、など一部の情報が異なる。項目一覧モデル記憶部１０４、レイアウトモデル記憶部１０７のデータ構成はあくまで一例であって、他の構成の形式で定義されていてもよい。
【００５１】
図６は、本発明の実施形態に係わるＧＵＩレイアウトの定義を項目一覧の定義に同期するためのシーケンス図の一例である。図６のシーケンス図の各ステップは、情報処理装置１００のＣＰＵ２０１により実行される。
【００５２】
Ｓ６０１において、ユーザ操作（１０１）により項目一覧タブが選択された際に、プログラム開発ツールから項目一覧タブ選択の要求が発行され、入出力定義エディタコントローラ部１０２が、定義画面を項目一覧タブ（図４）に切り替えるための要求を受け付ける（項目一覧タブ選択要求１２１）。
【００５３】
Ｓ６０２において、入出力定義エディタコントローラ部１０２が、ＧＵＩレイアウト定義を項目一覧定義に変換するように、項目一覧モデル変換部１０３に要求する（レイアウトモデル変換要求１２２）。ここで、いずれの定義に対する変換を要求するかは、図１で説明したとおり定義を一意的に決定する情報により特定される。
【００５４】
Ｓ６０３において、項目一覧モデル変換部１０３が、ＧＵＩレイアウトの定義をレイアウトモデル記憶部１０７から取得する（レイアウトモデル変換時取得要求１２３）。
【００５５】
Ｓ６０４において、項目一覧モデル変換部１０３は、更に取得したＧＵＩレイアウトを項目一覧定義に変換する。前述したように、ＧＵＩレイアウト定義では、ＧＵＩレイアウト定義画面３００のキャンバス領域３０２に表示する際に適したサイズを保持しているため、それらのサイズをプログラム自動生成時に、ＨＴＭＬの部品として生成するために適切なサイズに変換する、などの変換処理を行う。
【００５６】
Ｓ６０５において、項目一覧モデル変換部１０３は、取得した現在のＧＵＩレイアウトを、項目一覧定義（項目情報の定義の一覧）に変換し、変換結果を項目一覧モデル記憶部１０４に登録する（既にある場合は更新する。項目一覧モデル更新要求１２４）。
【００５７】
Ｓ６０６において、入出力定義エディタコントローラ部１０２は、登録または更新された項目一覧定義を、項目一覧モデル記憶部１０４から取得する（項目一覧モデル表示時取得要求１２５）。
【００５８】
Ｓ６０７において、入出力定義エディタコントローラ部１０２は、取得した項目一覧定義を項目一覧タブに表示するよう項目一覧表示部１０５に要求し、項目一覧表示部１０５は要求に従って項目一覧定義の表示を行う。
【００５９】
図７は、本発明の実施形態に係わる項目一覧の定義をＧＵＩレイアウトの定義に同期するためのシーケンス図の一例である。図６のシーケンス図の各ステップは、情報処理装置１００のＣＰＵ２０１により実行される。
【００６０】
Ｓ７０１において、ユーザ操作（１０１）によりレイアウトタブが選択された際に、プログラム開発ツールからレイアウトタブ選択の要求が発行され、入出力定義エディタコントローラ部１０２が、定義画面をレイアウト定義タブ（図３）に切り替えるための要求を受け付ける（レイアウトタブ選択要求１４１）。
【００６１】
Ｓ７０２において、入出力定義エディタコントローラ部１０２は、ＧＵＩレイアウトモデル変換部１０６に項目一覧モデル変換要求１４２を通知する（項目一覧モデル変換要求１４２）。ここで、いずれの定義に対する変換を要求するかは、図１で説明したとおり定義を一意的に決定する情報により特定される。
【００６２】
Ｓ７０３において、ＧＵＩレイアウトモデル変換部１０６は、項目一覧定義をＧＵＩレイアウトモデル定義に変換するため、現在の項目一覧定義を項目一覧モデル記憶部１０４から取得する（項目一覧モデル変換時取得要求１４３）。
【００６３】
Ｓ７０４において、ＧＵＩレイアウトモデル変換部１０６は、取得した現在の項目一覧定義を、ＧＵＩレイアウト定義に変換する。
【００６４】
Ｓ７０５において、ＧＵＩレイアウトモデル変換部１０６は、変換したＧＵＩレイアウト定義をレイアウトモデル記憶部１０７に登録する（既にある場合は更新する。レイアウトモデル更新要求１４４）。
【００６５】
Ｓ７０６において、入出力定義エディタコントローラ部１０２は、ＧＵＩレイアウト定義の登録または更新後、当該登録または更新結果を取得する（レイアウトモデル表示時取得要求１４５）。
【００６６】
Ｓ７０７において、入出力定義エディタコントローラ部１０２は、取得したＧＵＩレイアウト定義をＧＵＩレイアウトタブに描画するための準備としてＧＵＩレイアウトコントローラ部１０８にＧＵＩレイアウト部品の生成を要求する（ＧＵＩレイアウト生成要求１４６）。
【００６７】
Ｓ７０８において、ＧＵＩレイアウト生成要求を受けたＧＵＩレイアウトコントローラ部１０８は、レイアウトモデル記憶部１０７から取得したＧＵＩレイアウト定義に基づき、描画するためのＧＵＩ部品などを生成する。まず、ＧＵＩレイアウト上のＧＵＩ部品（テキスト入力ボックスやボタンなど）を配置するためのベースとなる部品（ベース部品）を生成し、ＧＵＩレイアウト記憶部１０９（ＧＵＩレイアウト＆部品記憶部）に追加する（ＧＵＩレイアウト追加要求１４７）。
【００６８】
Ｓ７０９において、ＧＵＩレイアウトコントローラ部１０８は、さらにベース部品に配置するＧＵＩ部品を生成するため、ベース部品の直下のＧＵＩ部品ごとに、ＧＵＩ部品生成要求１４８をＧＵＩ部品コントローラ部１１０に発行する。
【００６９】
Ｓ７１０において、ＧＵＩ部品コントローラ部１１０は、ＧＵＩ部品生成要求１４８により要求されたＧＵＩ部品を、ＧＵＩレイアウト定義の個々の部品の定義（項目情報から変換された定義）に基づき生成する。ＧＵＩレイアウト定義において、ＧＵＩ部品に入れ子のＧＵＩ部品（ベース部品の直下に配置される部品ではなく、ＧＵＩ部品上に配置される子供となるＧＵＩ部品）が定義されている場合には、入れ子の部品を生成するようにＧＵＩ部品コントローラ部１１０に再帰的に要求を行う（ＧＵＩ部品生成要求１４９）。生成したＧＵＩ部品は、ＧＵＩレイアウト記憶部１０９に追加する（ＧＵＩ部品追加要求１５０）。
【００７０】
Ｓ７１１において、ＧＵＩレイアウトコントローラ部１０８は、ＧＵＩ部品（ベース部品を含む）の生成が完了すると、ＧＵＩレイアウト描画部１１１にＧＵＩレイアウト描画要求１５１を発行する。この要求により、ＧＵＩレイアウト描画部１１１は、ＧＵＩレイアウトタブにＧＵＩレイアウトの表示を行う。
【００７１】
図６と図７のシーケンス図で説明したとおり、項目一覧タブとレイアウトタブを切り替えるユーザの操作をトリガとして、両者に表示されるデータ（項目一覧定義とＧＵＩレイアウト定義）が再生成され、項目一覧定義（プログラムロジック）と、ＧＵＩレイアウト定義（ＨＴＭＬ生成などのための画面情報）を、手動で対応付けるための操作や、対応情報の作成などを行う必要がなくなる。これにより、プログラム自動生成ツールによるプログラム定義の作業の生産性が向上するという効果が得られる。
【００７２】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【００７３】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００７４】
また、本発明におけるプログラムは、図６、図７に示すシーケンス図の処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図６、図７に示すシーケンス図の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図６、図７に示すシーケンス図の各装置の処理方法ごとのプログラムであってもよい。
【００７５】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００７６】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【００７７】
コンピュータプログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【００７８】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８０】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００８１】
１００  情報処理装置
１０２  入力定義エディタコントローラ部
１０３  項目一覧モデル変換部
１０４  項目一覧モデル記憶部
１０５  項目一覧表示部
１０６  ＧＵＩレイアウトモデル変換部
１０７  レイアウトモデル記憶部
１０８  ＧＵＩレイアウトコントローラ部
１０９  ＧＵＩレイアウト記憶部
１１０  ＧＵＩコントローラ部
１１１  ＧＵＩレイアウト描画部
【図１】
2015049645.tif 000003
【図２】
2015049645.tif 000004
【図３】
2015049645.tif 000005
【図４】
2015049645.tif 000006
【図５】
2015049645.tif 000007
【図６】
2015049645.tif 000008
【図７】
2015049645.tif 000009