(57)【特許請求の範囲】
【請求項１】
プログラムを生成するために前記プログラムの定義を行う情報処理装置であって、
他の項目定義との参照関係が設定された、プログラムを生成するために定義された画面の項目定義を記憶する項目一覧モデル記憶手段と、
前記項目定義における参照元項目定義の識別情報と参照先項目定義の識別情報を、参照関係情報として参照関係情報記憶手段に記憶する参照関係情報登録手段と、
前記項目一覧モデル記憶手段に記憶された前記項目定義に設定される参照関係のうち、表示を行う前記参照関係の種別と、前記項目一覧モデル記憶手段に記憶されたすべての項目定義の前記種別により表示がされる参照関係を表示するか、或いは、選択を受け付けた項目を参照元とする、前記種別により表示がされる参照関係を表示するかの指定と、を受け付ける表示種別受付手段と、
前記表示種別受付手段ですべての参照関係を表示すると受け付けた場合、前記参照関係情報記憶手段に記憶されたすべての項目間の前記種別により表示がされる参照関係を、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いてレイアウト定義画面に描画し、前記表示種別受付手段で選択項目の参照関係を表示すると指定された受け付けた場合、選択を受け付けた項目を参照元とする前記参照関係情報を前記参照関係情報記憶手段から検索し、当該参照関係情報において参照先と指定された項目との前記種別により表示がされる参照関係を、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いてレイアウト定義画面に描画する参照関係描画手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
プログラムを生成するために前記プログラムの定義を行う情報処理装置であって、
他の項目定義との参照関係が設定された、プログラムを生成するために定義された画面の項目定義を記憶する項目一覧モデル記憶手段と、
前記項目一覧モデル記憶手段に記憶された前記項目定義に設定される参照関係のうち、表示を行う前記参照関係の種別を受け付ける表示種別受付手段と、
前記表示種別受付手段により受け付けた種別の前記参照関係を、レイアウト定義画面において識別可能な、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いて、前記レイアウト定義画面に描画する参照関係描画手段と、
を備え、
前記参照関係は、開発されたプログラムの実行時に、ユーザからの選択操作指示に基づいてプログラムの機能を実行する項目を参照元とする参照関係が設定可能であり、前記参照関係の種別とは、前記参照関係を構成する参照元となる項目を画面上で押下した時に次に表示する画面に対し、前記参照関係を構成する参照先フィールドに入力された値をパラメータとして引き渡す、という定義がされている項目における参照関係であること
を特徴とする情報処理装置。
【請求項３】
プログラムを生成するために前記プログラムの定義を行う情報処理装置であって、
他の項目定義との参照関係が設定された、プログラムを生成するために定義された画面の項目定義を記憶する項目一覧モデル記憶手段と、
前記項目一覧モデル記憶手段に記憶された前記項目定義に設定される参照関係のうち、表示を行う前記参照関係の種別を受け付ける表示種別受付手段と、
前記表示種別受付手段により受け付けた種別の前記参照関係を、レイアウト定義画面において識別可能な、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いて、前記レイアウト定義画面に描画する参照関係描画手段と、
を備え、
前記参照関係は、開発されたプログラムの実行時に、ユーザからの選択操作指示に基づいてプログラムの機能を実行する項目を参照元とする参照関係が設定可能であり、前記参照関係の種別とは、前記参照関係を構成する参照元となる項目を画面上で押下した時に次に表示する画面が、前記参照関係を構成する参照先となる項目に入力された値に従って決定する、という定義がされている項目における参照関係であること
を特徴とする情報処理装置。
【請求項４】
プログラムを生成するために前記プログラムの定義を行う情報処理装置であって、
他の項目定義との参照関係が設定された、プログラムを生成するために定義された画面の項目定義を記憶する項目一覧モデル記憶手段と、
前記項目一覧モデル記憶手段に記憶された前記項目定義に設定される参照関係のうち、表示を行う前記参照関係の種別を受け付ける表示種別受付手段と、
前記表示種別受付手段により受け付けた種別の前記参照関係を、レイアウト定義画面において識別可能な、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いて、前記レイアウト定義画面に描画する参照関係描画手段と、
を備え、
前記参照関係は、開発されたプログラムの実行時に、ユーザからの選択操作指示に基づいてプログラムの機能を実行する項目を参照元とする参照関係が設定可能であり、前記参照関係の種別とは、前記参照関係を構成する参照元となる項目を画面上で押下した時に次に表示する画面が、前記参照関係を構成する参照先となる項目に入力された値に従って決定する場合、前記次に表示する画面に、前記参照関係を構成する参照先となる項目に入力された値をパラメータとして引き渡すという定義がされている項目における参照関係であること
を特徴とする情報処理装置。
【請求項５】
プログラムを生成するために前記プログラムの定義を行う情報処理装置であって、
他の項目定義との参照関係が設定された、プログラムを生成するために定義された画面の項目定義を記憶する項目一覧モデル記憶手段と、
前記項目一覧モデル記憶手段に記憶された前記項目定義に設定される参照関係のうち、表示を行う前記参照関係の種別を受け付ける表示種別受付手段と、
前記表示種別受付手段により受け付けた種別の前記参照関係を、レイアウト定義画面において識別可能な、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いて、前記レイアウト定義画面に描画する参照関係描画手段と、
を備え、
前記参照関係を構成する参照元となる項目と参照先となる項目の関係が計算式で構成される場合は、前記識別表示を編集不可能とし、不可能であることを識別可能に表示することを特徴とする情報処理装置。
【請求項６】
プログラムを生成するために前記プログラムの定義を行う情報処理装置であって、
他の項目定義との参照関係が設定された、プログラムを生成するために定義された画面の項目定義を記憶する項目一覧モデル記憶手段と、
前記項目一覧モデル記憶手段に記憶された前記項目定義に設定される参照関係のうち、表示を行う前記参照関係の種別を受け付ける表示種別受付手段と、
前記表示種別受付手段により受け付けた種別の前記参照関係を、レイアウト定義画面において識別可能な、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いて、前記レイアウト定義画面に描画する参照関係描画手段と、
を備え、前記参照関係を構成する参照元となる項目と参照先となる項目の関係が計算式で構成される場合、前記レイアウト定義画面で当該参照関係を識別可能に表示する前記識別表示を用いて編集することにより、前記計算式を編集可能とすることを特徴とする情報処理装置。
【請求項７】
前記表示種別受付手段により受け付けた種別の参照関係が設定されている参照元項目定義の識別情報と参照先項目定義の識別情報を、参照関係情報として参照関係情報記憶手段に記憶する参照関係情報登録手段と、
を更に備え、
前記参照関係描画手段は、前記参照関係情報記憶手段に記憶された参照関係情報に基づき、画面の項目定義間の参照関係を識別可能に、前記識別表示と前記項目定義に紐付く項目を用いて記レイアウト定義画面に描画すること
を特徴とする請求項２乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記表示種別受付手段は、更に、前記参照関係情報記憶手段に記憶されたすべての参照関係を表示するか、選択を受け付けた項目を参照元とする参照関係を表示するか否かの指定を受け付け可能とし、
前記参照関係描画手段は、前記表示種別受付手段ですべての参照関係を表示すると受け付けた場合は、前記参照関係情報記憶手段に記憶されたすべての項目間の参照関係を描画し、
前記表示種別受付手段で選択項目の参照関係を表示すると指定された受け付けた場合には、選択を受け付けた項目を参照元とする前記参照関係情報を前記参照関係情報記憶手段から検索し、当該参照関係情報において参照先と指定された項目との参照関係を描画すること
を特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記参照関係は、開発されたプログラムの実行時に、ユーザからの入出力データを受け付ける入出力フィールドとなる項目を参照元とする参照関係が設定可能であること
を特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記参照関係の種別とは、前記参照関係を構成する参照元となる項目の画面上での表示の有無が、前記参照関係の参照先となる項目に入力された値に従って決定する、という定義がされている項目における参照関係であること
を特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記参照関係の種別とは、前記参照関係を構成する参照元となる項目の画面上での初期値としての表示が、前記参照関係の参照先となる項目に入力された値に従って決定する、という定義がされている項目における参照関係であること
を特徴とする請求項９に記載の情報処理装置。
【請求項１２】
前記参照関係の種別とは、前記参照関係を構成する参照元となる項目の画面上での値が、前記参照関係の参照先となる項目に値が入力され、フォーカスが当該参照先となる項目からはずれた場合に、計算され変更する、という定義がされている項目における参照関係であること
を特徴とする請求項９に記載の情報処理装置。
【請求項１３】
前記参照関係の種別とは、前記参照関係を構成する参照元となる項目の画面上での値が、前記参照関係の参照先となる項目に設定されたリストの値に応じて、前記参照関係の参照元となる項目に表示されるリストの値が変更される、という定義がされている項目における参照関係であること
を特徴とする請求項９に記載の情報処理装置。
【請求項１４】
前記参照関係は、開発されたプログラムの実行時に、ユーザからの選択操作指示に基づいてプログラムの機能を実行する項目を参照元とする参照関係が設定可能であること
を特徴とする請求項１に記載の情報処理装置。
【請求項１５】
前記参照関係の種別とは、前記参照関係を構成する参照元となる項目の画面上での表示の有無が、前記参照関係の参照先の項目に入力された値に従って決定する、という定義がされている項目における参照関係であること
を特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記参照関係の種別とは、前記参照関係を構成する参照元となる項目を画面上で押下した時に次に表示する画面に対し、前記参照関係を構成する参照先フィールドに入力された値をパラメータとして引き渡す、という定義がされている項目における参照関係であること
を特徴とする請求項１４に記載の情報処理装置。
【請求項１７】
前記参照関係の種別とは、前記参照関係を構成する参照元となる項目を画面上で押下した時に次に表示する画面が、前記参照関係を構成する参照先となる項目に入力された値に従って決定する、という定義がされている項目における参照関係であること
を特徴とする請求項１４に記載の情報処理装置。
【請求項１８】
前記参照関係の種別とは、前記参照関係を構成する参照元となる項目を画面上で押下した時に次に表示する画面が、前記参照関係を構成する参照先となる項目に入力された値に従って決定する場合、前記次に表示する画面に、前記参照関係を構成する参照先となる項目に入力された値をパラメータとして引き渡すという定義がされている項目における参照関係であること
を特徴とする請求項１４に記載の情報処理装置。
【請求項１９】
前記参照関係の種別とは、前記参照関係を構成する参照元となる項目の画面上での値が、前記参照関係の参照先となる項目に値が入力され、フォーカスが当該参照先となる項目からはずれた場合に、計算され変更する、という定義がされている項目における参照関係であること
を特徴とする請求項１４に記載の情報処理装置。
【請求項２０】
前記参照関係が指定された項目の項目定義の参照関係に対する編集を受け付けると、前記レイアウト定義画面で表示される参照関係の識別表示は、前記編集を受け付けた後の参照関係となるように変更されること
を特徴とする請求項１乃至４または請求項６乃至１９のいずれか１項に記載の情報処理装置。
【請求項２１】
前記レイアウト定義画面に表示された参照関係を表示する識別表示と前記参照関係が設定された項目の編集を受け付けると、
前記参照関係が設定された項目の項目定義において設定されている参照関係は、前記編集を受け付けた後の参照関係となるように変更されること
を特徴とする請求項１乃至４または請求項６乃至１９のいずれか１項に記載の情報処理装置。
【請求項２２】
前記編集とは、削除、変更、追加のいずれかであること
を特徴とする請求項２０または請求項２１に記載の情報処理装置。
【請求項２３】
前記参照関係を構成する参照元となる項目と参照先となる項目の関係が計算式で構成される場合は、前記識別表示を編集不可能とし、不可能であることを識別可能に表示すること
を特徴とする請求項１に記載の情報処理装置。
【請求項２４】
前記参照関係を構成する参照元となる項目と参照先となる項目の関係が計算式で構成される場合、計算式を新規に作成する、あるいは、既存の計算式に対する式の追加が行われる場合、前記識別表示による前記計算式を編集可能とし、前記計算式を編集する場合、演算子の選択を可能であること
を特徴とする請求項１または６または９または１４に記載の情報処理装置。
【請求項２５】
前記参照関係を構成する参照元となる項目と参照先となる項目の関係が計算式で構成される場合、計算式を構成する前記参照関係が設定されている項目を変更することにより、前記識別表示による前記計算式を編集可能とすること
を特徴とする請求項１または６または９または１４に記載の情報処理装置。
【請求項２６】
前記参照関係を構成する参照元となる項目と参照先となる項目の関係が計算式で構成される場合、前記レイアウト定義画面で当該参照関係を識別可能に表示する前記識別表示を用いて編集することにより、前記計算式を編集可能とすること
を特徴とする請求項１に記載の情報処理装置。
【請求項２７】
他の項目定義との参照関係が設定された、プログラムを生成するために定義された画面の項目定義を記憶する項目一覧モデル記憶手段を備え、プログラムを生成するために前記プログラムの定義を行う情報処理装置の制御方法であって、
参照関係情報登録手段が、前記項目定義における参照元項目定義の識別情報と参照先項目定義の識別情報を、参照関係情報として参照関係情報記憶手段に記憶する参照関係情報登録ステップと、
表示種別受付手段が、前記項目一覧モデル記憶手段に記憶された前記項目定義に設定される参照関係のうち、表示を行う前記参照関係の種別と、前記項目一覧モデル記憶手段に記憶されたすべての項目定義の前記種別により表示がされる参照関係を表示するか、或いは、選択を受け付けた項目を参照元とする、前記種別により表示がされる参照関係を表示するかの指定と、を受け付ける表示種別受付ステップと、
参照関係描画手段が、前記表示種別受付ステップですべての参照関係を表示すると受け付けた場合、前記参照関係情報記憶手段に記憶されたすべての項目間の前記種別により表示がされる参照関係を、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いてレイアウト定義画面に描画し、前記表示種別受付ステップで選択項目の参照関係を表示すると指定された受け付けた場合、選択を受け付けた項目を参照元とする前記参照関係情報を前記参照関係情報記憶手段から検索し、当該参照関係情報において参照先と指定された項目との前記種別により表示がされる参照関係を、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いてレイアウト定義画面に描画する参照関係描画ステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項２８】
他の項目定義との参照関係が設定された、プログラムを生成するために定義された画面の項目定義を記憶する項目一覧モデル記憶手段を備え、プログラムを生成するために前記プログラムの定義を行う情報処理装置において実行可能なプログラムであって、
前記項目定義における参照元項目定義の識別情報と参照先項目定義の識別情報を、参照関係情報として参照関係情報記憶手段に記憶する参照関係情報登録手段と、
前記項目一覧モデル記憶手段に記憶された前記項目定義に設定される参照関係のうち、表示を行う前記参照関係の種別と、前記項目一覧モデル記憶手段に記憶されたすべての項目定義の前記種別により表示がされる参照関係を表示するか、或いは、選択を受け付けた項目を参照元とする、前記種別により表示がされる参照関係を表示するかの指定と、を受け付ける表示種別受付手段と、
前記表示種別受付手段ですべての参照関係を表示すると受け付けた場合、前記参照関係情報記憶手段に記憶されたすべての項目間の前記種別により表示がされる参照関係を、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いてレイアウト定義画面に描画し、前記表示種別受付手段で選択項目の参照関係を表示すると指定された受け付けた場合、選択を受け付けた項目を参照元とする前記参照関係情報を前記参照関係情報記憶手段から検索し、当該参照関係情報において参照先と指定された項目との前記種別により表示がされる参照関係を、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いてレイアウト定義画面に描画する参照関係描画手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム自動生成装置において、画面上の項目を配置した際、複数の項目に関係がある場合に、その関係をグラフィカルに表示させる技術に関する。
【背景技術】
【０００２】
従来から、ウェブアプリケーションの開発を支援するため、開発者がＧＵＩレイアウト（プログラム実行時にＨＴＭＬとして表示される部分）や、ビジネスロジック、データベースモデルを定義し、その定義に基づいてプログラムを自動生成するツール（製品）がある。
【０００３】
さらに、例えば特許文献１に記載の技術では、これらの開発支援ツールを用いて、ウェブアプリケーションが表示する画面を作成する場合、入力フィールドやボタンなどの部品間で、何らかの関係を定義することが可能である。例えば、商品の価格と、購入する個数を入力する入力フィールドの値が決定されれば、自動的に合計金額のフィールドに計算された値が表示される、ということが可能なツールもある。
【０００４】
特許文献１に記載のプログラム作成システムでは、開発者が操作するエディタに、入力フィールドや出力フィールドやボタンを配置する第１の領域があり、部品一覧が表示されたパレットからドラッグアンドドロップで部品配置できる。また、当該エディタには第１の領域とは別にスプレッドシートのような表形式でデータ管理する第２の領域があり、第１の領域の複数の入力フィールドの値同士を使って関数式を定義することが可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１４０１９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術においては、入出力フィールドの間の関係を定義してしまうと、その関係を確認するためには、開発者は表形式で定義される第２の領域を参照しなければならず、入力フィールドや関係定義が少ない場合には問題ないが、数が多くなるに従って分かりにくく、開発効率が低くなるという問題がある。
【０００７】
本発明の目的は、入出力フィールドやアクションなどの項目の間に参照関係を定義した場合に、その定義を視覚的に提示することで、開発者にとって、定義済みの参照関係を分かりやすくするための技術を提供することである。更に、視覚的に提示した参照関係を編集することにより項目の参照関係の定義を編集可能とする技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、プログラムを生成するために前記プログラムの定義を行う情報処理装置であって、他の項目定義との参照関係が設定された、プログラムを生成するために定義された画面の項目定義を記憶する項目一覧モデル記憶手段と、前記項目定義における参照元項目定義の識別情報と参照先項目定義の識別情報を、参照関係情報として参照関係情報記憶手段に記憶する参照関係情報登録手段と、前記項目一覧モデル記憶手段に記憶された前記項目定義に設定される参照関係のうち、表示を行う前記参照関係の種別と、前記項目一覧モデル記憶手段に記憶されたすべての項目定義の前記種別により表示がされる参照関係を表示するか、或いは、選択を受け付けた項目を参照元とする、前記種別により表示がされる参照関係を表示するかの指定と、を受け付ける表示種別受付手段と、前記表示種別受付手段ですべての参照関係を表示すると受け付けた場合、前記参照関係情報記憶手段に記憶されたすべての項目間の前記種別により表示がされる参照関係を、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いてレイアウト定義画面に描画し、前記表示種別受付手段で選択項目の参照関係を表示すると指定された受け付けた場合、選択を受け付けた項目を参照元とする前記参照関係情報を前記参照関係情報記憶手段から検索し、当該参照関係情報において参照先と指定された項目との前記種別により表示がされる参照関係を、前記項目一覧モデル記憶手段で記憶された前記項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いてレイアウト定義画面に描画する参照関係描画手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明により、入出力フィールドやアクションなどの項目の間に参照関係を定義した場合に、その定義を視覚的に提示することで、開発者にとって、定義済みの参照関係を分かりやすくするための技術を提供することが可能となる。更に、視覚的に提示した参照関係を編集することにより項目の参照関係の定義を編集可能とする技術を提供することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係わる情報処理装置の機能構成、および各機能の呼び出し関係を示す図の一例である。
【図２】本発明の実施形態に係わる情報処理装置のハードウェア構成の一例を示すブロック図である。
【図３】保発明の実施形態に係わるプログラム自動生成ツールのうちＧＵＩレイアウトの定義を行う画面構成の一例である。
【図４】本発明の実施形態に係わるプログラム自動生成ツールのうち項目の定義を行う画面構成の一例である。
【図５】本発明の実施形態に係わるプログラム自動生成ツールで定義された項目一覧の情報を記憶する項目一覧モデル記憶部におけるデータ構成の一例を示す図である。
【図６】本発明の実施形態に係わるＧＵＩレイアウトの定義を項目一覧の定義に同期するためのシーケンス図の一例である。
【図７】本発明の実施形態に係わる項目一覧の定義をＧＵＩレイアウトの定義に同期するためのシーケンス図の一例である。
【図８】本発明の実施形態に係わる参照関係を示すための機能構成、および各機能の呼び出し関係を示す図の一例である。
【図９】本発明の実施形態に係わるプログラム自動生成ツールで定義された項目一覧の情報を記憶する項目一覧モデル記憶部におけるデータ構成の一例を示す図である。
【図１０】本発明の実施形態に係わる項目一覧の参照関係を開発者に可視化して提示するＧＵＩレイアウト画面の一例を示す図である。
【図１１】本発明の実施形態に係わる項目一覧の参照関係を開発者に可視化して提示するＧＵＩレイアウト画面の一例を示す図である。
【図１２】本発明の実施形態に係わる表示する参照関係を開発者が選択するためのダイアログの一例を示す図である。
【図１３】本発明の実施形態に係わる項目一覧の定義を解析した結果として、参照関係を格納するための参照関係情報記憶部の構成の一例を示す図である。
【図１４】本発明の実施形態に係わる参照関係を表示する処理のフローチャートの一例である。
【図１５】本発明の実施形態に係わる、ＧＵＩレイアウト画面において参照関係の識別表示を削除する前のＧＵＩレイアウト画面の一例である。
【図１６】本発明の実施形態に係わる、ＧＵＩレイアウト画面において参照関係の識別表示を削除した後のＧＵＩレイアウト画面の一例である。
【図１７】本発明の実施形態に係わる、ＧＵＩレイアウト画面において参照関係の識別表示を変更する前のＧＵＩレイアウト画面の一例である。
【図１８】本発明の実施形態に係わる、ＧＵＩレイアウト画面において参照関係の識別表示を変更した後のＧＵＩレイアウト画面の一例である。
【図１９】本発明の実施形態に係わる、ＧＵＩレイアウト画面において参照関係の識別表示を変更する前のＧＵＩレイアウト画面の一例である。
【図２０】本発明の実施形態に係わる、ＧＵＩレイアウト画面において参照関係の識別表示を変更した後のＧＵＩレイアウト画面の一例である。
【図２１】本発明の実施形態に係わる、ＧＵＩレイアウト画面において参照関係の識別表示を追加する前のＧＵＩレイアウト画面の一例である。
【図２２】本発明の実施形態に係わる、ＧＵＩレイアウト画面において参照関係の識別表示を追加した後のＧＵＩレイアウト画面の一例である。
【図２３】本発明の実施形態に係わる、ＧＵＩレイアウト画面において参照関係の識別表示の編集可否を識別表示上において区別可能にしたＧＵＩレイアウト画面の一例である。
【図２４】本発明の実施形態に係わる、ＧＵＩレイアウト画面における参照関係の識別表示を用いて計算式を編集可能にしたＧＵＩレイアウト画面の一例である。
【図２５】本発明の実施形態に係わる、ＧＵＩレイアウト画面における参照関係の識別表示を用いて計算式を編集可能にしたＧＵＩレイアウト画面の一例である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００１２】
図１は、本発明の実施形態に係わる情報処理装置１００の機能構成、および各機能の呼び出し関係を示す図である。図１において、ユーザ操作（１０１）は、ＧＵＩ（グラフィカル・ユーザ・インタフェース）における定義画面（プログラム自動生成ツールにおいてプログラムの定義を行う画面）から行われる。具体的には、情報処理装置１００にて動作しているプログラム自動生成ソフトにおけるＧＵＩレイアウトタブ（図３）、項目一覧タブ（図４）でＧＵＩレイアウト、または項目一覧の定義を行うが、タブの相互切り替えに際しての処理に関連するソフトウェア構成部品と、構成部品間の要求の図である。なお、ＧＵＩレイアウトタブおよび項目一覧タブに定義されている情報は、定義画面ヘッダの定義ファイル名（図３、図４の画面例では“ＵＳＥＲＲＥＱ．ｗｐｒｘ”）、あるいは当該画面を一意的に決定する情報により特定される。
【００１３】
ユーザ操作（１０１）により、項目一覧タブ選択要求１２１が、入出力定義エディタコントローラ部１０２に通知されると、入出力定義エディタコントローラ部１０２は、項目一覧モデル変換部１０３にレイアウトモデル変換要求１２２を通知する。
【００１４】
項目一覧モデル変換部１０３は、ＧＵＩレイアウト定義を項目一覧定義に変換するため、現在のＧＵＩレイアウト定義（ＧＵＩレイアウトタブで定義されたレイアウト定義でありレイアウト部品情報の定義の一覧）をレイアウトモデル記憶部１０７から取得する（レイアウトモデル変換時取得要求１２３）。さらに、項目一覧モデル変換部１０３は、取得した現在のＧＵＩレイアウトを、項目一覧定義（項目情報の定義の一覧）に変換し、変換結果を項目一覧モデル記憶部１０４に登録する（既にある場合は更新する。項目一覧モデル更新要求１２４）。すなわち、他の項目定義との参照関係が設定された、プログラムを生成するために定義された画面の項目定義を記憶する。
【００１５】
入出力定義エディタコントローラ部１０２は、項目一覧定義の登録または更新後、当該登録または更新結果を取得する（項目一覧モデル表示時取得要求１２５）。入出力定義エディタコントローラ部１０２は、取得した項目一覧定義を項目一覧タブに表示するよう項目一覧表示部１０５に要求し、項目一覧表示部１０５は要求に従って項目一覧定義の表示を行う。
【００１６】
ユーザ操作（１０１）により、レイアウトタブ選択要求１４１が、入出力定義エディタコントローラ部１０２に通知されると、入出力定義エディタコントローラ部１０２は、ＧＵＩレイアウトモデル変換部１０６に項目一覧モデル変換要求１４２を通知する。
【００１７】
ＧＵＩレイアウトモデル変換部１０６は、項目一覧定義をＧＵＩレイアウトモデル定義に変換するため、現在の項目一覧定義を項目一覧モデル記憶部１０４から取得する（項目一覧モデル変換時取得要求１４３）。さらに、ＧＵＩレイアウトモデル変換部１０６は、取得した現在の項目一覧定義を、ＧＵＩレイアウト定義に変換し、レイアウトモデル記憶部１０７に登録する（既にある場合は更新する。レイアウトモデル更新要求１４４）。
【００１８】
入出力定義エディタコントローラ部１０２は、ＧＵＩレイアウト定義の登録または更新後、当該登録または更新結果を取得する（レイアウトモデル表示時取得要求１４５）。入出力定義エディタコントローラ部１０２は、取得したＧＵＩレイアウト定義をＧＵＩレイアウトタブに描画するための準備としてＧＵＩレイアウトコントローラ部１０８にＧＵＩレイアウト部品（オブジェクト）の生成を要求する（ＧＵＩレイアウト生成要求１４６）。
【００１９】
ＧＵＩレイアウト生成要求を受けたＧＵＩレイアウトコントローラ部１０８は、レイアウトモデル記憶部１０７から取得したＧＵＩレイアウト定義に基づき、描画するためのＧＵＩ部品などを生成する。まず、ＧＵＩレイアウト上のＧＵＩ部品（テキスト入力ボックスやボタンなど）を配置するためのベースとなる部品（ベース部品）を生成し、ＧＵＩレイアウト記憶部１０９（ＧＵＩレイアウト＆部品記憶部）に追加する（ＧＵＩレイアウト追加要求１４７）。
【００２０】
ＧＵＩレイアウトコントローラ部１０８は、さらにベース部品に配置するＧＵＩ部品を生成するため、ベース部品の直下のＧＵＩ部品ごとに、ＧＵＩ部品生成要求１４８をＧＵＩ部品コントローラ部１１０に発行する。
【００２１】
ＧＵＩ部品コントローラ部１１０は、ＧＵＩ部品生成要求１４８により要求されたＧＵＩ部品を、ＧＵＩレイアウト定義の個々の部品の定義（項目情報から変換されたオブジェクトの定義）に基づき生成する。ＧＵＩレイアウト定義において、ＧＵＩ部品に入れ子のＧＵＩ部品（ベース部品の直下に配置される部品ではなく、ＧＵＩ部品上に配置される子供となるＧＵＩ部品）が定義されている場合には、入れ子の部品を生成するようにＧＵＩ部品コントローラ部１１０に再帰的に要求を行う（ＧＵＩ部品生成要求１４９）。生成したＧＵＩ部品は、ＧＵＩレイアウト記憶部１０９に追加する（ＧＵＩ部品追加要求１５０）。
【００２２】
ＧＵＩレイアウトコントローラ部１０８は、ＧＵＩ部品（ベース部品を含む）の生成が完了すると、ＧＵＩレイアウト描画部１１１にＧＵＩレイアウト描画要求１５１を発行する。この要求により、ＧＵＩレイアウト描画部１１１は、ＧＵＩレイアウトタブにＧＵＩレイアウトの表示を行う。
【００２３】
図２は、本発明の実施形態に係わる情報処理装置１００（プログラム自動生成装置）のハードウェア構成の一例を示すブロック図である。
【００２４】
図２に示すように、情報処理装置１００は、システムバス２０４を介してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３、入力コントローラ２０５、ビデオコントローラ２０６、メモリコントローラ２０７、通信Ｉ／Ｆコントローラ２０８等が接続された構成を採る。  ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２５】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、各サーバあるいは各ＰＣが実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、本発明を実施するために必要な情報が記憶されている。なお外部メモリはデータベースであってもよい。
【００２６】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【００２７】
また、入力コントローラ２０５は、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。
【００２８】
ビデオコントローラ２０６は、ディスプレイ２１０等の表示器への表示を制御する。尚、表示器は液晶ディスプレイ等の表示器でもよい。これらは、必要に応じて管理者が使用する。
【００２９】
メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、あるいは、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）カードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３０】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いた通信等が可能である。
【００３１】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上に表示することが可能である。また、ＣＰＵ２０１は、ディスプレイ２１０上のマウスカーソル（図示しない）等によるユーザ指示を可能とする。
【００３２】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイルおよび各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明についても後述する。
【００３３】
図３は、本発明の実施形態に係わるプログラム自動生成ツールのうちＧＵＩレイアウトの定義を行う画面構成の一例である。ＧＵＩレイアウト定義画面は、主に次のエリアから構成されている。
【００３４】
すなわち、定義された単位毎にフォルダ階層としてデータが格納される定義エクスプローラ領域３０１、１つのＧＵＩレイアウト定義を視覚的に配置操作するためのキャンバス領域３０２、キャンバス領域３０２に配置するＧＵＩ部品（例えばテキストフィールド３０４）を選択するパレット領域３０３から構成されている。
【００３５】
また、開発者が様々な定義情報を記述するため、プログラム自動生成ツールの定義画面で共通に表示されるタブが配置されている。例えば、項目一覧タブ３０５、レイアウトタブ３０６であり、これらは図４の項目一覧定義画面でも表示される。本発明の実施形態では、ＧＵＩレイアウト定義画面（図３）と項目一覧定義画面（図４）を切り替えながら操作する。
【００３６】
また、本発明の実施形態では、定義エクスプローラ領域３０１にあるデータモデル３０８をパレット領域３０３のＧＵＩ部品と同様に、キャンバス領域３０２に配置することが可能である。すなわち、データモデル３０８から、データベースのテーブルに記載されたデータ項目（カラム）を１つまたは複数選択し、キャンバス領域３０２に配置する。そうすると、データベースのスキーマとして定義されたデータ項目（カラム）の情報（カラム名、データ種別、サイズなど）を抽出して、例えば、データ種別がテキストや数値である場合にはテキストフィールド、ｂｏｏｌｅａｎである場合にはチェックボックスなどとして配置することができる。
【００３７】
ＧＵＩレイアウト定義画面３００ｂは、ＧＵＩレイアウト定義画面３００ａに対してテキストフィールド３０７を１つ追加し、名前を“ユーザＩＤ”と設定した場合を示している。タイトルや入力領域のサイズなどは、キャンバス領域３０２においてマウスでクリックして更新可能状態として交信してもよいし、またＧＵＩ部品をクリックする際に、ＧＵＩレイアウト定義画面３００の左下の領域（“Ｐｒｏｐｅｒｔｙ”定義領域）に、属性としてＧＵＩ部品に関連する情報の一覧を表示し、属性をキーボード入力により修正することも可能である。
【００３８】
図４は、本発明の実施形態に係わるプログラム自動生成ツールのうち項目一覧の定義を行う画面構成の一例である。項目一覧定義画面は、主張な領域は、項目一覧設定領域４０１である。
【００３９】
項目一覧設定領域４０１は表形式になっており、開発者は１行に１つの情報（例えばＧＵＩレイアウトにおけるテキストフィールド、チェックボックス、ボタン、テキスト）などを詳細の属性と共に定義する。
【００４０】
項目一覧定義画面４００ｂは、項目一覧定義画面４００ａに対して項目タイプ“入力”を１つ追加し、名前を“ユーザＩＤ”と設定した場合を示している（行４０２の定義）。行４０２の定義は、図３のテキストフィールド３０７に対応するものである。
【００４１】
ここで、図３と図４の定義の関係を説明する。例えば図３のＧＵＩレイアウト定義画面３００ａを表示しているときに、項目一覧タブ３０５を選択すると、表示は図４の項目一覧定義画面４００ａに切り替えられる。実質的に開発しているプログラムの同じ情報を定義している。図４において、前述の通り行４０２を追加して項目一覧定義画面４００ｂとした後、レイアウトタブ３０６を選択すると、ＧＵＩレイアウト定義画面３００ｂのようにレイアウト上でもテキストフィールド３０７が追加されて描画される。
【００４２】
逆に、ＧＵＩレイアウト定義画面３００ａに対してレイアウト上でもテキストフィールド３０７を追加してＧＵＩレイアウト定義画面３００ｂとした後、項目一覧タブ３０５を選択すると、項目一覧定義画面４００ｂのように項目一覧上でも行４０２の定義が追加される。
【００４３】
すなわち、ＧＵＩレイアウト定義と項目一覧定義は、タブ（項目一覧タブ３０５およびレイアウトタブ３０６）の操作をトリガとして、同期がとられている。
【００４４】
さらに、後述する図５の項目一覧定義を記憶するデータ構成ｒｏｗｓ［ｉ］と、不図示のＧＵＩレイアウト定義を記憶するデータ構成には、ｒｏｗＩｎｄｅｘとして各定義の定義順が記載されている。そのため、ＧＵＩレイアウト定義で最上部に定義されたＧＵＩ部品に対応する項目の定義は、項目一覧定義の１行目に表示される。これにより、定義の位置関係についても同期がとられ、いずれの定義を変更してもプログラムロジックとＧＵＩレイアウトの関係が壊れてしまうことはない。
【００４５】
以上により、図３と図４の説明を完了する。このように、項目一覧における開発とＧＵＩレイアウトにおける開発（すなわち項目の定義も部品の定義）において同期がとられることで、開発中のどのタイミングでもＧＵＩレイアウトを確認可能とし、またプログラムロジックとＧＵＩレイアウトのいずれを編集したとしても対応関係を修正する必要をなくすることにより、開発効率を向上させることが可能となるという効果を得ることができる。
【００４６】
図５は、本発明の実施形態に係わるプログラム自動生成ツールで定義された項目一覧の情報を記憶する項目一覧モデル記憶部におけるデータ構成の一例を示す図である。記載したデータは、図４の項目一覧定義画面４００の項目一覧設定領域４０１において定義した行のうち、例として５行を記載したものである。この情報は、ＲＡＭ２０２上に一時的に記憶されていてもよいし、データベースに記憶してもよい。以下、ＲＡＭ２０２に記憶されているイメージで説明する。
【００４７】
項目一覧定義は配列ｒｏｗｓの各項目定義は、ｒｏｗｓ［０］〜ｒｏｗｓ［４］に格納されている。ｒｏｗｓ［ｉ］（各要素）は、図５示すようにｄａｔａという要素を持ち、複数の属性値、例えば入力欄を示す“Ｉ”、項目ＩＤを示す“ＵＳＥＲＩＤ”、項目の名前を示す“ユーザＩＤ”などが設定される。
【００４８】
さらに、プログラム自動生成に使用される各種属性が定義されている。また、“ｏｗＰｒｏｐｅｒｔｙＬｉｓｔ”には、名前を表示する領域のサイズ“ｌａｂｅｌＷｉｄｔｈ”、テキスト入力欄の領域サイズ“ｆｉｅｌｄＷｉｄｔｈ”などが指定される。
【００４９】
以上で、項目一覧モデル記憶部１０４におけるデータ構成の説明を完了する。さらに、不図示ではあるが、図３のＧＵＩレイアウトについても、レイアウトモデル記憶部１０７に記憶される。両者のデータ構成はほぼ同一のものである。本発明の実施形態では、項目一覧モデル記憶部１０４に記憶された情報を中心とするため、レイアウトモデル記憶部１０７におけるデータ構成は、各要素（レイアウト部品情報）が、対応する項目情報へのリンクを有すること、また項目情報（ｒｏｗｓ［ｉ］）における領域サイズの情報は、ＨＴＭＬに変換した際のサイズを示すが、レイアウト部品情報においては、ＧＵＩレイアウト定義画面３００のキャンバス領域３０２に表示する際に適したサイズに変換されている、など一部の情報が異なる。項目一覧モデル記憶部１０４、レイアウトモデル記憶部１０７のデータ構成はあくまで一例であって、他の構成の形式で定義されていてもよい。
【００５０】
図６は、本発明の実施形態に係わるＧＵＩレイアウトの定義を項目一覧の定義に同期するためのシーケンス図の一例である。図６のシーケンス図の各ステップは、情報処理装置１００のＣＰＵ２０１により実行される。
【００５１】
Ｓ６０１において、ユーザ操作（１０１）により項目一覧タブが選択された際に、プログラム開発ツールから項目一覧タブ選択の要求が発行され、入出力定義エディタコントローラ部１０２が、定義画面を項目一覧タブ（図４）に切り替えるための要求を受け付ける（項目一覧タブ選択要求１２１）。
【００５２】
Ｓ６０２において、入出力定義エディタコントローラ部１０２が、ＧＵＩレイアウト定義を項目一覧定義に変換するように、項目一覧モデル変換部１０３に要求する（レイアウトモデル変換要求１２２）。ここで、いずれの定義に対する変換を要求するかは、図１で説明したとおり定義を一意的に決定する情報により特定される。
【００５３】
Ｓ６０３において、項目一覧モデル変換部１０３が、ＧＵＩレイアウトの定義をレイアウトモデル記憶部１０７から取得する（レイアウトモデル変換時取得要求１２３）。
【００５４】
Ｓ６０４において、項目一覧モデル変換部１０３は、更に取得したＧＵＩレイアウトを項目一覧定義に変換する。前述したように、ＧＵＩレイアウト定義では、ＧＵＩレイアウト定義画面３００のキャンバス領域３０２に表示する際に適したサイズを保持しているため、それらのサイズをプログラム自動生成時に、ＨＴＭＬの部品として生成するために適切なサイズに変換する、などの変換処理を行う。
【００５５】
Ｓ６０５において、項目一覧モデル変換部１０３は、取得した現在のＧＵＩレイアウトを、項目一覧定義（項目情報の定義の一覧）に変換し、変換結果を項目一覧モデル記憶部１０４に登録する（既にある場合は更新する。項目一覧モデル更新要求１２４）。
【００５６】
Ｓ６０６において、入出力定義エディタコントローラ部１０２は、登録または更新された項目一覧定義を、項目一覧モデル記憶部１０４から取得する（項目一覧モデル表示時取得要求１２５）。
【００５７】
Ｓ６０７において、入出力定義エディタコントローラ部１０２は、取得した項目一覧定義を項目一覧タブに表示するよう項目一覧表示部１０５に要求し、項目一覧表示部１０５は要求に従って項目一覧定義の表示を行う。
【００５８】
図７は、本発明の実施形態に係わる項目一覧の定義をＧＵＩレイアウトの定義に同期するためのシーケンス図の一例である。図６のシーケンス図の各ステップは、情報処理装置１００のＣＰＵ２０１により実行される。
【００５９】
Ｓ７０１において、ユーザ操作（１０１）によりレイアウトタブが選択された際に、プログラム開発ツールからレイアウトタブ選択の要求が発行され、入出力定義エディタコントローラ部１０２が、定義画面をレイアウト定義タブ（図３）に切り替えるための要求を受け付ける（レイアウトタブ選択要求１４１）。
【００６０】
Ｓ７０２において、入出力定義エディタコントローラ部１０２は、ＧＵＩレイアウトモデル変換部１０６に項目一覧モデル変換要求１４２を通知する（項目一覧モデル変換要求１４２）。ここで、いずれの定義に対する変換を要求するかは、図１で説明したとおり定義を一意的に決定する情報により特定される。
【００６１】
Ｓ７０３において、ＧＵＩレイアウトモデル変換部１０６は、項目一覧定義をＧＵＩレイアウトモデル定義に変換するため、現在の項目一覧定義を項目一覧モデル記憶部１０４から取得する（項目一覧モデル変換時取得要求１４３）。
【００６２】
Ｓ７０４において、ＧＵＩレイアウトモデル変換部１０６は、取得した現在の項目一覧定義を、ＧＵＩレイアウト定義に変換する。
【００６３】
Ｓ７０５において、ＧＵＩレイアウトモデル変換部１０６は、変換したＧＵＩレイアウト定義をレイアウトモデル記憶部１０７に登録する（既にある場合は更新する。レイアウトモデル更新要求１４４）。
【００６４】
Ｓ７０６において、入出力定義エディタコントローラ部１０２は、ＧＵＩレイアウト定義の登録または更新後、当該登録または更新結果を取得する（レイアウトモデル表示時取得要求１４５）。
【００６５】
Ｓ７０７において、入出力定義エディタコントローラ部１０２は、取得したＧＵＩレイアウト定義をＧＵＩレイアウトタブに描画するための準備としてＧＵＩレイアウトコントローラ部１０８にＧＵＩレイアウト部品の生成を要求する（ＧＵＩレイアウト生成要求１４６）。
【００６６】
Ｓ７０８において、ＧＵＩレイアウト生成要求を受けたＧＵＩレイアウトコントローラ部１０８は、レイアウトモデル記憶部１０７から取得したＧＵＩレイアウト定義に基づき、描画するためのＧＵＩ部品などを生成する。まず、ＧＵＩレイアウト上のＧＵＩ部品（テキスト入力ボックスやボタンなど）を配置するためのベースとなる部品（ベース部品）を生成し、ＧＵＩレイアウト記憶部１０９（ＧＵＩレイアウト＆部品記憶部）に追加する（ＧＵＩレイアウト追加要求１４７）。
【００６７】
Ｓ７０９において、ＧＵＩレイアウトコントローラ部１０８は、さらにベース部品に配置するＧＵＩ部品を生成するため、ベース部品の直下のＧＵＩ部品ごとに、ＧＵＩ部品生成要求１４８をＧＵＩ部品コントローラ部１１０に発行する。
【００６８】
Ｓ７１０において、ＧＵＩ部品コントローラ部１１０は、ＧＵＩ部品生成要求１４８により要求されたＧＵＩ部品を、ＧＵＩレイアウト定義の個々の部品の定義（項目情報から変換された定義）に基づき生成する。ＧＵＩレイアウト定義において、ＧＵＩ部品に入れ子のＧＵＩ部品（ベース部品の直下に配置される部品ではなく、ＧＵＩ部品上に配置される子供となるＧＵＩ部品）が定義されている場合には、入れ子の部品を生成するようにＧＵＩ部品コントローラ部１１０に再帰的に要求を行う（ＧＵＩ部品生成要求１４９）。生成したＧＵＩ部品は、ＧＵＩレイアウト記憶部１０９に追加する（ＧＵＩ部品追加要求１５０）。
【００６９】
Ｓ７１１において、ＧＵＩレイアウトコントローラ部１０８は、ＧＵＩ部品（ベース部品を含む）の生成が完了すると、ＧＵＩレイアウト描画部１１１にＧＵＩレイアウト描画要求１５１を発行する。この要求により、ＧＵＩレイアウト描画部１１１は、ＧＵＩレイアウトタブにＧＵＩレイアウトの表示を行う。
【００７０】
図６と図７のシーケンス図で説明したとおり、項目一覧タブとレイアウトタブを切り替えるユーザ（開発者）の操作をトリガとして、両者に表示されるデータ（項目一覧定義とＧＵＩレイアウト定義）が再生成され、項目一覧定義（プログラムロジック）と、ＧＵＩレイアウト定義（ＨＴＭＬ生成などのための画面情報）を、手動で対応付けるための操作や、対応情報の作成などを行う必要がなくなる。これにより、プログラム自動生成ツールによるプログラム定義の作業の生産性が向上するという効果が得られる。
【００７１】
次に図８から図１４を用いて、複数の入力フィールド間の参照関係を可視化するための処理について説明する。
【００７２】
図８は、本発明の実施形態に係わる参照関係を示すための機能構成、および各機能の呼び出し関係を示す図の一例である。ここでは、図３（あるいは図１０、図１１）で示すようにＧＵＩレイアウトの定義が既になされており、ＧＵＩレイアウト上のＧＵＩ部品（単に部品と呼ぶこともある。入出力フィールドやボタンなどのオブジェクト）として定義された複数のオブジェクトの間で、参照関係が定義されているものとする。レイアウトモデル記憶部１０７におけるレイアウト情報部品情報に従って、ＧＵＩレイアウト定義画面が描画されていることが前提で以下の説明を進める。レイアウトの描画にいては、図１、図３〜図７およびその説明による。
【００７３】
情報処理装置１００において、ＧＵＩレイアウト定義画面（表示制御部８０１）において、ユーザがメニューあるいはボタンなど（不図示）を操作することにより図１２で後述するダイアログが表示され、ダイアログ上のユーザ操作に従って、参照関係を表示したい対象となるオブジェクトを設定する（参照関係対象設定部）。まず、参照関係についての定義を、図９を用いて説明する。
【００７４】
図９は、本発明の実施形態に係わるプログラム自動生成ツールで定義された項目一覧の情報を記憶する項目一覧モデル記憶部におけるデータ構成の一例を示す図である。実際には図５と同じ項目一覧定義を記憶するデータ構成ｒｏｗｓ［ｉ］に、更に参照関係の情報が記憶されている。
【００７５】
例えば、ｒｏｗｓ［３］は“合計金額”（ＴＯＴＡＬ（９０１））という入出力項目である。“合計金額”には、価格（ＰＲＩＣＥ）と個数（ＯＲＤＥＲ＿ＮＵＭ）の積が自動的に入る。これは、９０２に“ＰＲＩＣＥ＊ＯＲＤＥＲ＿ＮＵＭ”という式が入っていることから分かる（後述する図１０の１００１参照）。
【００７６】
更に別の例として、ｒｏｗｓ［４］は“注文”（ＯＲＤＥＲ＿ＡＣＴＩＯＮ（９０３））というアクション（ボタンなど）である。アクション（ｒｏｗｓ［４］のｄａｔａ行の最初が“Ａ”として定義）は、例えばボタン（図１１の注文ボタン１１０１）であって、当該ボタンをユーザが押下した際に実行される処理が定義される。図１１の例では、注文ボタン１１０１が押下されると別の画面に遷移するが、その際に図１１に表示される画面から、当該別の画面に引き渡すパラメータとしての定義である。
【００７７】
以上で、図９の説明を完了する。なお、これらの定義は、項目一覧定義の各項目（１つのオブジェクトに対応する）の詳細を見ることで確認できる。詳細は、図１０、図１１を用いて後述することとし、図８の説明に戻る。
【００７８】
参照関係対象設定部８０２は、表示制御部８０１から設定要求８１１がなされた場合に、様々な種別がある参照関係のうち、いずれの参照関係（あるいは全て）の関係を表示するかをユーザに指定させるためのダイアログを表示し、ユーザの設定結果を参照関係情報生成部８０３に渡す。ダイアログを、図１２を用いて説明する。
【００７９】
図１２は、本発明の実施形態に係わる表示する参照関係をユーザが選択するためのダイアログの一例を示す図である。図１２の参照関係の表示ダイアログ１２００は、前述したとおり、いずれの参照関係（あるいは全て）の関係を表示するかをユーザに指定させるためのダイアログである。
【００８０】
“参照関係を表示する”で示されるチェックボックス（１２０１）は、現在の表示制御部８０１を切り替えるものである。すなわち、参照関係が表示されていない場合にダイアログ（１２００）を開くと、当該チェックボックス（１２０１）には、チェックが入っていない。そこでユーザは、当該チェックボックスをチェックし、所望の参照関係を１２０２〜１２０３で指定する。ＯＫボタン（１２０５）を押下すると、ダイアログ（１２００）は閉じられ、表示制御部８０１に、指定された参照関係が表示されることになる。逆に、既に参照関係が表示されている際に、当該ダイアログ（１２００）を開くと、当該チェックボックス（１２０１）には、チェックが入っている。ユーザが当該チェックを解除し、ＯＫボタン（１２０５）を押下すると、ダイアログ（１２００）は閉じられ、表示制御部８０１に表示されていた参照関係の表示が表示されなくなる。
【００８１】
“表示状態”で示されるチェックボックス（１２０２）では、全ての参照関係を表示制御部８０１において表示させるか、あるいは、後述する１２０３、１２０４でユーザに選択された種別の参照関係だけを表示するかを、ユーザに選択させる。すなわち、参照関係情報記憶部に記憶されたすべての参照関係を表示するか、選択を受け付けた項目を参照元とする参照関係を表示するか否かの指定を受け付け可能とする。あるいは、項目一覧モデル記憶部に記憶された項目定義に設定される参照関係のうち、表示を行う参照関係の種別を受け付ける。“すべて”の参照関係を表示させる場合には、ＯＫボタン（１２０５）を押下してダイアログ（１２００）を閉じると、表示制御部８０１において表示されているオブジェクトのうち、ダイアログ（１２００）で参照元としてチェックされた参照関係を有するオブジェクト間で、参照元から参照先の矢印が表示される。すなわち、すべての参照関係を表示すると受け付けた場合は、参照関係情報記憶部に記憶されたすべての項目間の参照関係を描画する。“選択項目”をチェックしてＯＫボタン（１２０５）を押下してダイアログ（１２００）を閉じると、その時点では、いずれの参照関係も表示されず（矢印が表示されず）、ユーザがオブジェクト（入出力フィールドやボタンなど）を選択した際に、当該オブジェクトが参照元となっている参照関係が解析結果（参照関係情報記憶部８０５）にあれば、“参照元”と、当該参照元と参照関係がある“参照先”に対して参照関係の矢印を表示する、さらに当該オブジェクトが被参照元となっている参照関係が解析結果（参照関係情報記憶部８０５）にあれば、参照元から当該オブジェクトに対して参照関係の矢印を表示する。そして他のオブジェクトを選択すると、元もと選択されていた参照関係の矢印の表示を消去し、そのオブジェクトに対して同様に参照関係の矢印を表示する、という処理をする。すなわち、選択項目の参照関係を表示すると指定された受け付けた場合には、選択を受け付けた項目を参照元とする参照関係情報を参照関係情報記憶部から検索し、当該参照関係情報において参照先と指定された項目との参照関係を描画する。
【００８２】
参照関係には、参照元と参照先（例えば、先ほどの“合計金額”は積の値を表示するため参照元であり、“価格”と“個数”は乗算の元となる値を提供する参照先である）を構成要素とするが、そのうち、１２０４、１２０４において“参照元”をユーザに選択させる。以下、参照関係の参照元フィールドの種別について説明する。これはあくまで例であって、他の種別の参照関係があってもよい。
【００８３】
フィールド１２０３においては、“表示条件”、“初期値”、“加工式”、“選択リスト条件”の４つの種別が示されている。ここでフィールド１２０３とは、参照元が、入出力フィールド（テキストオブジェクト）であることを示している。すなわち、参照関係は、開発されたプログラムの実行時に、ユーザからの入出力データを受け付ける入出力フィールドとなる項目を参照元とする参照関係が設定可能であることを特徴とする。
【００８４】
“表示条件”フィールドとは、参照先フィールドに値が入力されているか否か、またその値が入力されている場合にはその値に従って、“表示条件”フィールド（参照元フィールド）を表示するか否かを決定するものである。すなわち、参照関係の種別とは、参照関係を構成する参照元となる項目の画面上での表示の有無が、参照関係の参照先となる項目に入力された値に従って決定する、という定義がされている項目における参照関係であることを特徴とする。
【００８５】
“初期値”フィールドとは、アプリケーションの画面を表示する際に、参照先フィールドに値が入っている場合に、当該値に基づき何らかの計算処理を行い、その結果としての値を表示するフィールドである。例えば、参照先フィールドに本体価格が入力されている場合には、その消費税（現在は５％）を計算して値を表示することができる。すなわち、参照関係の種別とは、参照関係を構成する参照元となる項目の画面上での初期値としての表示が、参照関係の参照先となる項目に入力された値に従って決定する、という定義がされている項目における参照関係であることを特徴とする。
【００８６】
“加工式”フィールドとは、例えば、参照先フィールドに入力されている値が変更され、当該参照先フィールドから入力フォーカスがはずれた場合に、当該“加工式”フィールドの値を変更するフィールドである。例えば、“加工式”と呼ばれる式が定義されており、参照先フィールドの値と、加工式に基づいて新たな値を算出し、当該加工式フィールドの値を変更する。すなわち、参照関係の種別とは、参照関係を構成する参照元となる項目の画面上での値が、参照関係の参照先となる項目に値が入力され、フォーカスが当該参照先となる項目からはずれた場合に、計算され変更する、という定義がされている項目における参照関係であることを特徴とする。
【００８７】
“選択リスト条件”フィールドとは、リストボックスなどのオブジェクトであり、参照先フィールド（他のリストボックスや入力フィールド（テキストフィールド））の値次第で、リストの内容を変更するものである。例えば、参照先フィールドに国名が入力（あるいはリストから選択）される場合に、“日本”が指定されると、“選択リスト条件”フィールド（参照元フィールド）では、日本の都道府県の一覧が設定され、“アメリカ”が選択されると、アメリカの州が設定される、といった定義を可能とする。すなわち、参照関係の種別とは、参照関係を構成する参照元となる項目の画面上での値が、参照関係の参照先となる項目に設定されたリストの値に応じて、参照関係の参照元となる項目に表示されるリストの値が変更される、という定義がされている項目における参照関係であることを特徴とする。
【００８８】
アクション１２０４においては、“表示条件”、“次入出力パラメータ”、“条件指定次入出力条件”、“条件指定次入出力パラメータ”、“加工式”の５つの種別が示されている。ここでアクション１２０４とは、参照元が、アクションを定義するオブジェクト（ボタンオブジェクトなど）であることを示している。すなわち、参照関係は、開発されたプログラムの実行時に、ユーザからの選択操作指示に基づいてプログラムの機能を実行する項目を参照元とする参照関係が設定可能であることを特徴とする。
【００８９】
“表示条件”アクションとは、参照先フィールドに値が入力されているか否か、またその値が入力されている場合にはその値に従って、“表示条件”アクション（参照元アクション）を表示するか否かを決定するものである。すなわち、参照関係の種別とは、参照関係を構成する参照元となる項目の画面上での表示の有無が、参照関係の参照先の項目に入力された値に従って決定する、という定義がされている項目における参照関係であることを特徴とする。
【００９０】
“次入出力パラメータ”アクションとは、対応するボタンなどのオブジェクトが押下された際に他の画面に遷移する場合、パラメータとして遷移先の画面に渡す入出力フィールドを参照先フィールドとするものである。すなわち、参照関係の種別とは、参照関係を構成する参照元となる項目を画面上で押下した時に次に表示する画面に対し、参照関係を構成する参照先フィールドに入力された値をパラメータとして引き渡す、という定義がされている項目における参照関係であることを特徴とする。
【００９１】
“条件指定次入出力条件”アクションとは、参照先フィールドの値に従って、遷移する画面を変更するという処理の条件を定義する。個数（ＯＲＤＥＲ＿ＮＵＭが１００以下のときは確認画面に遷移し、１００より大きいときは取り消し画面へ遷移する）などによる条件設定が可能とである。すなわち、参照関係の種別とは、参照関係を構成する参照元となる項目を画面上で押下した時に次に表示する画面が、参照関係を構成する参照先となる項目に入力された値に従って決定する、という定義がされている項目における参照関係であることを特徴とする。
【００９２】
“条件指定次入出力パラメータ”アクションとは、対応するボタンなどのオブジェクトが前述の条件指定次入出力条件アクションである場合に、遷移する画面に応じて渡されるパラメータを定義するものである。そのパラメータとなる入出力フィールドを、参照先フィールドとする。すなわち、参照関係の種別とは、参照関係を構成する参照元となる項目を画面上で押下した時に次に表示する画面が、参照関係を構成する参照先となる項目に入力された値に従って決定する場合、次に表示する画面に、参照関係を構成する参照先となる項目に入力された値をパラメータとして引き渡すという定義がされている項目における参照関係であることを特徴とする。
【００９３】
“加工式”アクションとは、当該加工式アクション（ボタンなど）が選択（押下など）された場合に、参照先フィールドから値を取得し、ビジネスロジック（プログラム）を実行するものである。例えば、参照先フィールドの値に基づいてデータベースを検索する。データベースが例えば、注文業務に関するものであれば、参照先フィールドの値を検索条件とする検索式を作成し、データベースの検索結果のうちの合計金額の総合計を算出する、などが可能である。すなわち、参照関係の種別とは、参照関係を構成する参照元となる項目の画面上での値が、参照関係の参照先となる項目に値が入力され、フォーカスが当該参照先となる項目からはずれた場合に、計算され変更する、という定義がされている項目における参照関係であることを特徴とする。
【００９４】
なお、これまで説明した各参照関係の種別における項目に対する参照関係の設定は、画面の項目を利用した計算式によって算出された値を参照関係の設定の条件として付随させることができることとする。つまり、参照関係を構成する参照元となる項目と参照先となる項目の関係が計算式で構成可能であることとする。
【００９５】
以上で、図１２のダイアログ（１２００）および対象となる参照元フィールドについての説明を完了し、図８の説明に戻る。
【００９６】
参照関係対象設定部８０２によるユーザの設定が完了すると、当該設定結果を参照関係情報生成部８０３に渡し、参照関係情報を生成するよう要求する（生成要求８１２）。
【００９７】
参照関係情報生成部８０３は、渡された設定結果を、参照関係設定記憶部８０６に格納する（設定格納８１３）。さらに。項目一覧モデル記憶部１０４（図９で説明したｒｏｗｓ）から、項目一覧情報を取得（項目情報取得８１４）して、参照関係を解析するため参照関係解析部８０４に渡す（解析要求８１５）。
参照関係解析部８０４は、渡された項目一覧情報（例えば図９のｒｏｗｓ）から、参照関係を解析し、
【００９８】
参照関係設定記憶部８０６に格納された設定に関する参照関係（設定取得８１６により取得）を解析結果として、参照関係情報生成部８０３に返す。参照関係情報生成部８０３は、返された解析結果を、参照関係情報記憶部８０５に登録し（解析結果登録８１７）、解析が完了した旨を表示制御部８０１に通知する。
【００９９】
表示制御部８０１は、解析が終わると当該解析結果を参照関係情報記憶部８０５から取得し（解析結果取得８１８）、参照関係を表示制御部８０１のＧＵＩレイアウト定義画面に描画する（参照関係描画８１９）。すなわち、表示制御部８０１は、参照元と参照先の間に矢印を描画する。しかしながら、図１２で説明したダイアログ（１２００）の表示対象１２０２で、“すべて”が選択された場合と、“選択項目”を選択された場合とでは、図９で説明した通り処理が異なる。
【０１００】
以上で、図８を用いた参照関係を示すための機能構成、および各機能の呼び出し関係についての説明を完了する。
【０１０１】
図１３は、本発明の実施形態に係わる項目一覧の定義を解析した結果として、参照関係を格納するための参照関係情報記憶部の構成の一例を示す図である。図８における参照関係情報記憶部８０５のデータ構成を説明するための図である。すなわち、参照関係情報記憶部は、受け付けた参照関係の種別が設定されている参照元項目定義の識別情報と参照先項目定義の識別情報を、参照関係情報として記憶する。
【０１０２】
参照関係情報記憶部８０５に登録される解析結果は、参照元１３０１、参照先１３０２、被参照元１３０３から構成される。
【０１０３】
参照元１３０１、参照先１３０２は、それぞれ参照関係における参照元と参照先が格納される。1レコードにおいて参照元は１つであるが、参照先は複数あってもよい。また、被参照元１３０３は、参照元１３０１を参照先とする他のオブジェクトが格納される。図１３では、１つの参照元に対しては、レコードは１つ生成される。
【０１０４】
参照関係情報記憶部８０５の詳細の生成処理については、図１４のフローチャートで説明するものとして、各レコード（５レコード）が、いずれの参照関係から解析されたものであるかを図１０、図１１を用いて説明する。
【０１０５】
図１０、図１１は、本発明の実施形態に係わる項目一覧の参照関係を開発者に可視化して提示するＧＵＩレイアウト画面の一例を示す図である。
【０１０６】
図１０のＧＵＩレイアウト定義画面１０００ａは、参照関係が描画されていない状態である。一方、ＧＵＩレイアウト定義画面１０００ｂにおいては、参照関係が描画されている。すなわち、合計金額フィールド１００１から、価格フィールドと個数フィールドに矢印が描画されている。図９のｒｏｗｓ［３］で説明したように、ＴＯＴＡＬ（合計金額フィールドのＩＤ、図９の９０１）は、ＰＲＩＣＥ（価格フィールドのＩＤ）との積で表される（９０２）。ＴＯＴＡＬが参照元フィールドであり、その値は、加工式（ＰＲＩＣＥ＊ＯＲＤＥＲ＿ＮＵＭという式の定義）で表されるため、参照先フィールドは、ＰＲＩＣＥ、ＯＲＤＥＲ＿ＮＵＭの２つのフィールドとなる。このようにして、図１３の参照関係情報記憶部８０５の１行目のようにデータが格納される。
【０１０７】
また、逆にＰＲＩＣＥ、ＯＲＤＥＲ＿ＮＵＭの２つの参照先フィールドは、被参照元フィールド（参照されるフィールド）となる。そこで、参照元１３０１がＰＲＩＣＥ、被参照元１３０３がＴＯＴＡＬである２つめのレコードが生成される（この段階ではＯＲＤＥＲ＿ＡＣＴＩＯＮは格納されていない）。同様に、ＯＲＤＥＲ＿ＮＵＭを参照元１３０１とする３つめのレコードが生成される。
【０１０８】
図１１のＧＵＩレイアウト定義画面１１００の例では、注文ボタン１１０１に対応するアクションの定義として、個数（ＯＲＤＥＲ＿ＮＵＭ＜＝１００）という条件が記載されている（１１０４）。１１０４は、“条件指定次入出力条件”アクションに相当するものであって、これにより、注文する個数が、１００個以下か、１００個よりも多いかで、遷移する次の画面が異なる。画面の遷移については、具体的には、条件指定入出力条件欄１１０３に記載されているように、注文個数が１００個よりも多い場合は、“取り消し画面”遷移するように指定されている。また、１００個以下である場合には、“確認画面”に遷移するように指定されている。いずれも画面遷移時に渡すパラメータとして、（）内に記載された“ＰＲＩＣＥ”と“ＯＲＤＥＲ＿ＮＵＭ”が指定されている。図１３の参照関係情報記憶部８０５のに、参照元１３０１をＯＲＤＥＲ＿ＡＣＴＩＯＮ、参照先１３０２を、ＰＲＩＣＥ、ＯＲＤＥＲ＿ＮＵＭとするレコードが生成、格納される（この時点ではＳＨＯＨＩＮ＿ＣＯＤＥは格納されていない）。
【０１０９】
また、この処理によりＯＲＤＥＲ＿ＡＣＴＩＯＮが、ＰＲＩＣＥ、ＯＲＤＥＲ＿ＮＵＭの被参照元となる。これにより、１行目と２行目のレコードの被参照元１３０３に、ＯＲＤＥＲ＿ＡＣＴＩＯＮが追加される。
【０１１０】
図１１には、さらに“条件指定次入出力条件”１１０２が定義されている。ここでは、参照元１３０１がＯＲＤＥＲ＿ＡＣＴＩＯＮ、参照先１３０２がＳＨＯＨＩＮ＿ＣＯＤＥとなるため、４行目のレコードの参照先１３０２に、ＳＨＯＨＩＮ＿ＣＯＤＥが格納される。
【０１１１】
さらに参照先であるＳＨＯＨＩＮ＿ＣＯＤＥに対応するレコードが生成される（図１３の５行目）。ＳＨＯＨＩＮ＿ＣＯＤＥは、ＯＲＤＥＲ＿ＡＣＴＩＯＮから参照されているため、参照元１３０１にＳＨＯＨＩＮ＿ＣＯＤＥ、被参照元１３０３に、ＯＲＤＥＲ＿ＡＣＴＩＯＮが格納される。
【０１１２】
以上で、図１３の参照関係情報記憶部８０５と、図１０、図１１における参照関係の定義の対応付け、および図１０、図１１に描画された矢印について、説明を完了する。
【０１１３】
図１４は、本発明の実施形態に係わる参照関係を表示する処理のフローチャートの一例である。図１４のフローチャートは、図８から図１３までで説明した処理を実行するものであって、フローチャートの各ステップは、情報処理装置１００のＣＰＵ２０１により実行される。
【０１１４】
Ｓ１４０１においては、図１２のダイアログを開発者に提示し、開発者の設定を取得する。すなわち、参照関係の種別、および“すべて”か“選択項目”か、を受け付ける。
Ｓ１４０２においては、Ｓ１４０１で受け付けた設定を、参照関係設定記憶部８０６に格納する。
【０１１５】
Ｓ１４０３においては、表示中のＧＵＩレイアウト画面定義における全てのオブジェクトに対応する項目定義を取得する。具体的には、項目一覧モデル記憶部１０４から、図９で説明したｒｏｗｓの情報を取得する。
【０１１６】
Ｓ１４０４からＳ１４２０は、項目一覧の各項目に対する繰り返し処理である。具体的には、Ｓ１４０３で取得した項目定義、すなわちｒｏｗｓの各要素（ｒｏｗｓ［ｉ］）に対する繰り返し処理である。
Ｓ１４０５においては、１つの項目情報に着目する。そして、項目定義から参照関係の情報を取得する。
【０１１７】
Ｓ１４０６においては、着目中の項目定義から取得した参照関係の種別を取得する。種別とは、図１２のダイアログ（１２００）における１２０３、１２０４のいずれに対応する参照関係であるか、を区別するものである。
【０１１８】
Ｓ１４０７においては、Ｓ１４０６において取得した参照関係の種別に、開発者がダイアログ（１２００）で設定した種別が表示の必要があるか否かを判定する。表示の必要がある場合（ＹＥＳの場合）には、表示が必要な項目定義（参照元）としてＳ１４０８に進む。表示の必要がない場合（ＮＯの場合）、次の項目定義に進む。
【０１１９】
Ｓ１４０８においては、現在着目中の項目定義が参照元となっているレコード（参照関係情報レコード）が、参照関係情報記憶部８０５に登録済みか否かを判定する。１つの項目定義に対しては、１レコードしか生成されず、すなわち自分自身を参照元１３０１とて登録されているものが、既にあるか否かで判定する。例えば、項目定義に対応する項目ＩＤで、参照関係情報記憶部８０５を検索する。登録済みである場合（ＹＥＳの場合）には、Ｓ１４１０に進む。登録済みでない場合（ＮＯの場合）には、Ｓ１４０９に進む。ここで、Ｓ１４０４からＳ１４２０の繰り返し処理では、項目定義が参照元として処理されるのは、それぞれ１回である。しかしながら、項目定義Ａが他の項目定義Ｂの参照元である場合には、項目定義Ａを参照元とする参照関係情報レコードが生成されるだけではなく、項目定義Ｂを参照元とする参照関係情報レコードも生成され、その被参照元１３０３に、項目定義Ａを登録する。そのため、項目定義が、繰り返し処理の中で、参照元としては現れていない場合であっても参照関係情報レコードが存在する場合がある。
【０１２０】
Ｓ１４０９においては、参照関係情報レコードを生成し、着目中の項目定義を、参照元１３０１として格納する。
【０１２１】
Ｓ１４１０においては、着目中の項目定義に対応する参照関係情報レコードを取得する。Ｓ１４０８において新たに生成された場合には、その参照関係情報レコードを取得する。あるいは、生成したものをＲＡＭ２０２に記憶させ、それをそのまま使用してもよい。Ｓ１４０８において登録済みであると判定した場合には、そのステップで取得しておいてもよいし、Ｓ１４１０で取得してもよい。いずれにしても一意的に存在する参照関係情報レコードに、以降の処理で格納すべきとされたデータを格納できる状態にしておけばよい。
【０１２２】
Ｓ１４１１においては、着目中の項目情報において定義される全ての参照先を取得する。
【０１２３】
Ｓ１４１２からＳ１４１９の繰り返し処理は、着目中の項目情報（参照元）に対応して、Ｓ１４１１で取得された全ての参照先に対して繰り返される処理である。
【０１２４】
Ｓ１４１３においては、着目している参照先項目情報に対応する参照元項目が、ダイアログ（１２００）において開発者が描画したいとして指定したものであるか否かを判定する。描画指定されていない場合（ＮＯの場合）には、内側の繰り返し処理の次の参照先項目情報に進む。描画していされている場合（ＹＥＳの場合）には、Ｓ１４１４に進む。
【０１２５】
Ｓ１４１４においては、着目中の参照先の項目情報に対応する参照関係情報レコードが、参照関係情報記憶部８０５に既に存在するか否かを判定する。存在する場合（ＹＥＳの場合）には、Ｓ１４１６に進む。存在しない場合（ＮＯの場合）には、Ｓ１４１５に進む。
【０１２６】
Ｓ１４１５においては、参照関係情報記憶部８０５に、着目中の参照先の項目情報に対応する参照関係情報レコードを生成し、当該レコードの参照元に自分自身（参照先）の項目定義を登録する。
【０１２７】
Ｓ１４１６においては、着目中の参照先の参照関係情報レコードを取得する。具体的には、Ｓ１４１４において参照先に対応する参照関係情報レコードが存在すると判定された場合（ＹＥＳの場合）には、その時点で「存在する」とした参照関係情報レコードを使用する。さらに、「存在しない」と判定された場合（ＮＯの場合）には、Ｓ１４１５で生成した参照関係情報レコードを使用する。いずれも便宜上、“取得”したものとして扱う。
【０１２８】
Ｓ１４１７においては、前記で生成した参照先の参照関係情報レコードの被参照元１３０３に参照元の項目情報を格納する。
【０１２９】
Ｓ１４１８においては、参照元として着目中の項目情報に対応する参照関係情報レコードの、参照先１３０２に、参照先として着目中の項目情報を格納する。
【０１３０】
以上の処理により、開発者がダイアログ（１２００）において指定した参照関係の条件を満たす参照関係情報レコード（参照元１３０１、参照先１３０２、さらに被参照元１３０３を含む）が生成され、参照関係情報記憶部８０５にすべて格納される。すなわち、項目情報（オブジェクト）間の参照関係の解析処理が完了する。以下は、参照関係を描画するための処理である。
【０１３１】
Ｓ１４２１においては、描画する参照関係が前述の「解析されたものすべてか」、「ＧＵＩレイアウト定義画面で開発者が指定するものか」を判定する。具体的には、ダイアログ（１２００）の表示対象１２０２において、“すべて”、“選択項目”のいずれを選択したかにより判定される。“すべて”が選択されたと判定された場合（ＹＥＳの場合）には、Ｓ１４２２に進む。ここで、ＧＵＩレイアウト定義画面（表示制御部８０１）において、参照関係情報記憶部８０５に記憶されたすべての参照関係情報レコードに基づいて、参照元から参照先に、例えば矢印を描画する。描画方法は開発者にとって識別可能であれば他の方法であってもよい。描画が完了したら図１４のフローチャートの処理を完了する。
【０１３２】
一方、Ｓ１４２１において“選択項目”が選択されたと判定された場合（ＮＯの場合）には、開発者が参照関係の表示に対して終了指示を出すまで、Ｓ１４２３からＳ１４２７の処理を繰り返す。
【０１３３】
Ｓ１４２４においては、ＧＵＩレイアウト定義画面（表示制御部８０１）において、アプリケーションにおいて発生したイベントを受け付ける。イベントが、ＧＵＩレイアウト定義画面（表示制御部８０１）にて、開発者がオブジェクトを選択操作したイベントである場合には、選択されたオブジェクトにより、参照関係情報記憶部８０５を検索する。具体的には、オブジェクトに対応する項目情報の項目ＩＤを参照元１３０１とする参照関係情報レコードを検索する。検索により参照関係情報レコードの検索が成功した場合（ＹＥＳの場合）には、Ｓ１４２５に進む。失敗した場合（ＮＯの場合）には、何もせず当該繰り返し処理の１回分を完了し、次のイベント入力を待つ。
Ｓ１４２５においては、Ｓ１４２４において検索した参照関係情報レコードを取得する。
【０１３４】
Ｓ１４２６においては、Ｓ１４２５において取得された参照関係情報レコードから、参照先１３０２のオブジェクト（項目ＩＤ）を抽出し、前記イベントで指定された参照元のオブジェクトから、参照先オブジェクトに矢印を描画する。なお、参照先１３０２には、参照先のオブジェクト（項目ＩＤ）が複数記載されている場合がある。その場合は、すべての参照先オブジェクトに対して、矢印を描画する。
【０１３５】
すなわち、受け付けた種別の参照関係を、レイアウト定義画面において識別可能な、項目一覧モデル記憶部で記憶された項目定義の参照関係を識別可能にした識別表示と前記項目定義に紐付く項目を用いて、レイアウト定義画面に描画する。また、受け付けた参照関係の種別が設定されている参照元項目定義の識別情報と参照先項目定義の識別情報が記憶されている参照関係情報記憶部に記憶された参照関係情報に基づき、画面の項目定義間の参照関係を識別可能に、識別表示と項目定義に紐付く項目を用いて記レイアウト定義画面に描画する。
【０１３６】
以上で、図１４のフローチャートの説明を完了する。この処理により、開発者が所望した種別の参照関係に対して、“すべて”を指定した場合には、すべての参照元オブジェクトから参照先オブジェクトへの矢印すべてが表示され、一目で参照関係を把握することができるという効果を得る。また、“選択項目”を指定した場合には、開発者がＧＵＩレイアウト定義画面のオブジェクトを１つずつ選択して確認することができるという効果を得る。
【０１３７】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１３８】
続いて、ＧＵＩレイアウト定義画面において表示された参照関係の識別表示、またその参照関係が設定されている項目を用いて、参照関係を編集することによって、その編集結果を項目に定義される内容として反映する方法を、図面を用いて詳細に説明する。なお、本実施例において識別表示は、矢印を用いて説明を行っているが、これに限定されなくてもよいこととする。
【０１３９】
これまでは、複数の入力フィールド間や入力フィールドとボタン間の参照関係をＧＵＩのレイアウト定義画面において可視化するための処理について説明したが、次は、ＧＵＩレイアウト定義画面に配置されている複数の入力フィールド間や入力フィールドとボタン間の参照関係をＧＵＩレイアウト画面上で編集することによって、その編集結果を入出力項目の定義に反映することを可能とする方法について説明する。
【０１４０】
まず、図１５、図１６を用いて、ＧＵＩレイアウト定義画面において、項目間に定義されている参照関係を削除する一例について説明をする。図１５のＧＵＩレイアウト定義画面には、項目１から項目３までの入力フィールドおよびボタンＡが配置されており、ボタンＡと項目１および項目２については参照関係がある。ここでは、ボタンＡを押下したときに、次の画面に遷移する際に項目１と項目２の値をパラメータとして渡す定義がなされている。
【０１４１】
１５０３はボタンＡを押下したときに遷移する次の画面の定義を示している。１５０４はボタンＡを押下したときに次の画面に渡す入力フィールドを示している。次の画面に渡す入力フィールドを次入出力パラメータと呼ぶ。すなわち、次入出力パラメータに項目１（１５０１）と項目２（１５０２）の項目コードである「ＩＴＥＭ＿１、ＩＴＥＭ＿２」が定義されている。すなわち、ボタンＡは項目１と項目２に対する参照元であり、項目１、項目２はボタンＡに対する参照先であることとする。
【０１４２】
図１５のＧＵＩレイアウト画面にはボタンＡから項目１、項目２に対して矢印１５０１、矢印１５０２が表示されている。ここで、ユーザは矢印１５０２を選択する。選択後、キーボードのＤＥＬＥＴＥキーの押下または、ＧＵＩエディタのメニューから削除を選択する（不図示）ことで、矢印１５０２はＧＵＩレイアウト画面から消える。さらに同時に次入出力パラメータの定義からＩＴＥＭ＿２が消える。
【０１４３】
すなわち、レイアウト定義画面に表示された参照関係を表示する識別表示と前記参照関係が設定された項目の編集を受け付けると、参照関係が設定された項目の項目定義において設定されている参照関係は、前記編集を受け付けた後の参照関係となるように変更されることを特徴とする。なお、矢印１５０２をＧＵＩレイアウト画面から削除すると、図１６に示す結果の通り、ボタンＡから項目１に対する参照関係の矢印１６０１が表示されのみとなり、また次入出力パラメータにおける定義も、ＩＴＥＭ＿１のみとなる（図１６、１６０２）。なお、ＧＵＩレイアウト画面の部品の削除によって、項目定義も変更される同期の動きについては、図６に示すＧＵＩレイアウトの定義を項目一覧の定義に同期するためのシーケンスと同様の流れで可能である。
【０１４４】
次に図１７、図１８を用いて、ＧＵＩレイアウト定義画面において、項目間に定義されている参照関係のうち、参照先を変更する一例について説明をする。
【０１４５】
図１７のＧＵＩレイアウト定義画面には元々、参照元のボタンＡから参照先の項目１および項目２に対して矢印が表示されている。また、ボタンＡの定義として、次入出力パラメータ１７０１には「ＩＴＥＭ＿１、ＩＴＥＭ＿２」が定義されている（図１７、１７０１）。ここで、ユーザが、ボタンＡから項目２への参照関係を示す矢印１７０２を選択し、マウスによるドラッグ＆ドロップ操作等を使い、矢印の先を項目３へ移動させる（図１８の１８０１）。移動後、次入出力パラメータ１７０１の値は「ＩＴＥＭ＿１、ＩＴＥＭ＿２」から「ＩＴＥＭ＿１、ＩＴＥＭ＿３」へ変更される（図１８の１８０２）。
【０１４６】
すなわち、レイアウト定義画面に表示された参照関係を表示する識別表示と前記参照関係が設定された項目の編集を受け付けると、参照関係が設定された項目の項目定義において設定されている参照関係は、前記編集を受け付けた後の参照関係となるように変更されることを特徴とする。
【０１４７】
なお、矢印元の変更による項目定義の変更についても、図６に示すＧＵＩレイアウトの定義を項目一覧の定義に同期するためのシーケンスと同様の流れで可能である。
【０１４８】
次に図１９、図２０を用いて、ＧＵＩレイアウト定義画面において、項目間に定義されている参照関係のうち、参照元を変更する一例について説明をする。
【０１４９】
図１９に示すＧＵＩレイアウト画面には元々、参照元のボタンＡから参照先の項目１および項目２に対して矢印が表示されている。これは、ボタンＡの定義として、次入出力パラメータ１９０２に、「ＩＴＥＭ＿１、ＩＴＥＭ＿３」が定義されている（図１９の１９０２）ことである。ここで、ユーザが、ボタンＡから項目２への参照関係を示す矢印１９０１を選択し、マウスによるドラッグ＆ドロップ操作等を使い、矢印の元をボタンＢへ移動させる（図２０の２００１）。移動後、次入出力パラメータ１９０２に定義されていたパラメータのＩＴＥＭ＿３は、図２０の２００２に図示するように、ボタンＢに定義される次入出力パラメータの値となる。
【０１５０】
すなわち、レイアウト定義画面に表示された参照関係を表示する識別表示と前記参照関係が設定された項目の編集を受け付けると、参照関係が設定された項目の項目定義において設定されている参照関係は、前記編集を受け付けた後の参照関係となるように変更されることを特徴とする。
【０１５１】
なお、矢印先の変更による項目定義の変更についても、図６に示すＧＵＩレイアウトの定義を項目一覧の定義に同期するためのシーケンスと同様の流れで可能である。
【０１５２】
次に図２１、図２２を用いて、ＧＵＩレイアウト画面において、項目の参照関係を追加する方法について説明する。
【０１５３】
図２１のＧＵＩレイアウト画面には元々、参照元のボタンＡから参照先の項目１および項目２に対して矢印が表示されている。そのため、次入出力パラメータ２１０１にはパラメータとして「ＩＴＥＭ＿１、ＩＴＥＭ＿２」が定義されている。
【０１５４】
ここでユーザはボタンＡから項目３に対して、参照関係の矢印を追加することとする。具体的な操作としては、ＧＵＩエディタのメニューから追加モードの状態にして（不図示）、ボタンＡから項目３に対して、マウスのドラッグ＆ドロップ操作により矢印を描画する。描画後は、図２２に図示するように、次入出力パラメータ２２０２には「ＩＴＥＭ＿１、ＩＴＥＭ＿２、ＩＴＥＭ＿３」が定義されることとなる。すなわち、レイアウト定義画面に表示された参照関係を表示する識別表示と前記参照関係が設定された項目の編集を受け付けると、参照関係が設定された項目の項目定義において設定されている参照関係は、前記編集を受け付けた後の参照関係となるように変更されることを特徴とする。なお、矢印追加による項目定義の変更についても、図６に示すＧＵＩレイアウトの定義を項目一覧の定義に同期するためのシーケンスと同様の流れで可能である。
【０１５５】
また、これまでＧＵＩレイアウト画面において配置された項目と、矢印等の識別表示を編集することにより、項目の定義を変更することが可能であるということを説明してきたが、逆に、項目の定義を変更すると、それにともない、ＧＵＩレイアウト画面において配置される項目間の参照関係を表示する識別表示を変更可能であるようにしてもよいこととする。すなわち、参照関係が指定された項目の項目定義の参照関係に対する編集を受け付けると、レイアウト定義画面で表示される参照関係の識別表示は、編集を受け付けた後の参照関係となるように変更されることを特徴とすることを特徴とする。
【０１５６】
続いて、ＧＵＩレイアウト画面に配置された部品に対して、参照関係の矢印の追加・変更・削除に関して、決められた部品のみとする制約を持たすことを可能とする実施例について説明する。図２３のＧＵＩレイアウト画面においては、項目１から項目３までの入力フィールドとボタンＡが配置されている。項目の参照関係はＧＵＩによる表示は、参照元の項目３から参照先の項目１および項目２にのびる矢印２３０１および矢印２３０２によって表示される。また、項目３に表示される値は、項目１および項目２の値を使った計算結果となる定義がなされていることとする（図２３の２３０３）。この計算式の定義には、加工式２３０３に「ＩＴＥＭ＿１＋ＩＴＥＭ＿２＊３」と記述している。この定義の意味は、ＩＴＥＭ＿１の値にたいし、ＩＴＥＭ＿２の値に３を掛けた値を足す。それをＩＴＥＭ＿３に代入するという意味である。よって、この参照関係の表示は、計算式と関連するものである。
【０１５７】
なお、ボタンＡからは、項目３との参照関係があり、ボタンＡの定義（不図示）として、次に呼ぶ画面へのパラメータとして、項目３が次入出力パラメータとして定義がされていることとする。
【０１５８】
このように、参照関係の表示が計算式と関係するものである場合の参照関係の矢印については、編集不可とする制約を持たせることができることとする。
【０１５９】
このような制約を持たせるのは、一般的に計算式を伴う参照関係については、新たに参照関係を追加した場合に、足し算なのか掛け算なのか、など一意に計算式を決定することはできないためである。
【０１６０】
例えば、一例として、図２３の２３０１と２３０２の参照関係の矢印に関しては、計算式がからんでいるため、削除する、あるいは、変更する等の、編集を行えないようにすることが出来るように、点線表示するということである。すなわち、参照関係を構成する参照元となる項目と参照先となる項目の関係が計算式で構成される場合は、識別表示を編集不可能とし、不可能であることを識別可能に表示することを特徴とする。
【０１６１】
なお、逆に、新規に、参照関係が計算式に関係するものである場合に、編集不可とせず、参照関係を追加し計算式を作成する時に、ダイアログにおいて、四則演算の記号を選択できるようにし、図２３、２３０３の加工式において、式を編集することができるようにしても良いこととする。
【０１６２】
例えば、図２４の追加前の加工式における計算式２４０３は、図２４の項目３に対して、図２４の項目１（ＩＴＭ＿１）と図２４の項目２（ＩＴＥＭ＿２）に対し３を掛けた値を代入するという計算が設定されていが、ＧＵＩエディタ上で、識別表示の矢印を項目３から項目４へ新たに追加（例えば足し算で追加等）した場合（図２４、２４０１）、図２４の２４０２で示すように、既に設定されている計算式へ項目を追加するための演算子を選択できるようにダイアログ（図２４、２４０２）を表示し、設定者に選択させるようにすることを行っても良いこととする。すなわち、参照関係を構成する参照元となる項目と参照先となる項目の関係が計算式で構成される場合、計算式を新規に作成する、あるいは、既存の計算式に対する式の追加が行われる場合、識別表示による計算式を編集可能とし、計算式を編集する場合、演算子の選択を可能であることを特徴とする。
【０１６３】
ここで、この２４０２のダイアログより、Ａ．足し算を選択したとすると、図２４の追加後の加工式における計算式２４０４に示すように、追加前の加工式における計算式２４０３の計算式に項目４が足し算で追加されるようになる。
【０１６４】
更に、参照先の追加ではなく、単純に参照先の項目の入れ替えを行う場合に、参照関係の変更を許すようにしても良いこととする。
【０１６５】
例えば、例えば、図２５の２５０３の変更前の加工式における計算式は、図２５の項目３に対して、図２５の項目１（ＩＴＭ＿１）と図２５の項目２（ＩＴＥＭ＿２）に対し３を掛けた値を代入するという計算が設定されていが、ＧＵＩエディタ上で、項目２を項目４にする変更について行なえるようにしても良いということである。すなわち、参照関係を構成する参照元となる項目と参照先となる項目の関係が計算式で構成される場合、計算式を構成する参照関係が設定されている項目を変更することにより、識別表示による計算式を編集可能とすることを特徴とする。
【０１６６】
例えば、図２５の２５０１で図示する項目３から項目２を参照するように表示されている識別表示の矢印の参照先を項目４へ変更すると（図２５、２５０２）、変更前は、図２５の変更前の加工式における計算式２５０３で図示するように、計算式は、ＩＴＥＭ＿１＋ＩＴＥＭ＿２＊３（項目１＋項目２×３）であったが、変更後は、図２５の変更後の加工式における計算式２５０４で図示するように、計算式は、ＩＴＥＭ＿１＋ＩＴＥＭ＿４＊３（項目１＋項目２×４）になる。
【０１６７】
これまで数式を新規に作成するパターンと、数式を追加するパターン、数式の項目のみ変更可能にするパターンについて説明を行ったが、これらすべてパターンの編集が可能とするようにしても良いこととする。すなわち、参照関係を構成する参照元となる項目と参照先となる項目の関係が計算式で構成される場合、レイアウト定義画面で当該参照関係を識別可能に表示する識別表示を用いて編集することにより、計算式を編集可能とすることを特徴とする。
【０１６８】
なお、参照関係に対して編集不可の制約を持たせる場合は、参照関係を表示する識別表示子（例えば矢印）に対し、編集可能か不可かを視覚的に判別する方法として、矢印のデザインや色によって判別可能に表示しても良いこととする。例えば、図２３の矢印２３０４で図示するように、編集可能な矢印は直線で表示し、図２３の矢印２３０１または２３０２で図示するように、編集不可能な矢印は点線で表示すると、画面のＧＵＩエディタを使用するユーザにとって視覚的に分かりやすく、操作の助けとなる。
【０１６９】
以上の本発明の実施例により、入出力フィールドやアクションなどの項目の間に参照関係を定義した場合に、その定義を視覚的に提示することで、開発者にとって、定義済みの参照関係を分かりやすくするための技術を提供することが可能となる。更に、視覚的に提示した参照関係を編集することにより項目の参照関係の定義を編集可能とする技術を提供することが可能となる。
【０１７０】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１７１】
また、本発明におけるプログラムは、図６、図７に示すシーケンス図、および図１２のフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図６、図７、および図１２のフローチャートに示すシーケンス図の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図６、図７に示すシーケンス図、および図１２のフローチャートの各装置の処理方法ごとのプログラムであってもよい。
【０１７２】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１７３】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１７４】
コンピュータプログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【０１７５】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７７】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１７８】
１００  情報処理装置
１０２  入力定義エディタコントローラ部
１０３  項目一覧モデル変換部
１０４  項目一覧モデル記憶部
１０５  項目一覧表示部
１０６  ＧＵＩレイアウトモデル変換部
１０７  レイアウトモデル記憶部
１０８  ＧＵＩレイアウトコントローラ部
１０９  ＧＵＩレイアウト記憶部
１１０  ＧＵＩコントローラ部
１１１  ＧＵＩレイアウト描画部
８０１  表示制御部
８０２  参照関係対象設定部
８０３  参照関係情報生成部
８０４  参照関係解析部
８０５  参照関係情報記憶部
８０６  参照関係設定記憶部
【図１】
0005971301.tif 000002
【図２】
0005971301.tif 000003
【図３】
0005971301.tif 000004
【図４】
0005971301.tif 000005
【図５】
0005971301.tif 000006
【図６】
0005971301.tif 000007
【図７】
0005971301.tif 000008
【図８】
0005971301.tif 000009
【図９】
0005971301.tif 000010
【図１０】
0005971301.tif 000011
【図１１】
0005971301.tif 000012
【図１２】
0005971301.tif 000013
【図１３】
0005971301.tif 000014
【図１４】
0005971301.tif 000015
【図１５】
0005971301.tif 000016
【図１６】
0005971301.tif 000017
【図１７】
0005971301.tif 000018
【図１８】
0005971301.tif 000019
【図１９】
0005971301.tif 000020
【図２０】
0005971301.tif 000021
【図２１】
0005971301.tif 000022
【図２２】
0005971301.tif 000023
【図２３】
0005971301.tif 000024
【図２４】
0005971301.tif 000025
【図２５】
0005971301.tif 000026