(57)【特許請求の範囲】
【請求項１】
コンピュータに、
少なくとも１つの変数及びメソッドを含んだ処理プログラムをユーザに作成させ、該処理プログラムを固有のファイル名をつけてファイルに記録する機能と、
各種ＧＵＩ部品が配置されたＧＵＩの画面レイアウトをユーザに作成させる機能と、
前記記録されたファイルから処理プログラムのファイル名をユーザに指定させる機能と、
前記ユーザにより指定されたファイル名に基づいてファイルから処理プログラムを読み込み、該処理プログラムから変数名及びメソッド名を抽出する機能と、
前記ユーザにより作成されたＧＵＩの画面レイアウトを構成する各ＧＵＩ部品に対して、抽出された変数名及びメソッド名をユーザに指定させる機能と、
前記ユーザにより指定された変数名及びメソッド名と前記ＧＵＩ部品とを相互に特定可能な関連付けを記述した関連付けファイルを作成する機能と、
前記関連付けファイルに基づいて、前記ファイルから読み込んだ処理プログラムに対して、該処理プログラムの変数名及びメソッド名に関連付けられたＧＵＩ部品のプロパティを参照及び更新する処理を挿入してプログラムを新たに生成する機能と、
を実現させるためのＧＵＩプログラムの作成支援プログラムを記録したコンピュータが読取可能な記録媒体。
【請求項２】
前記関連付けファイルに基づいて、前記ユーザにより作成された画面レイアウトを構成する前記ＧＵＩ部品の生成及び属性設定を行なう画面レイアウトプログラムを自動生成する機能をさらに含んだ構成である請求の範囲第１項記載のＧＵＩプログラムの作成支援プログラムを記録したコンピュータが読取可能な記録媒体。
【請求項３】
前記画面レイアウトプログラムは、前記ＧＵＩ部品が操作されたときに、前記関連付けファイルにおいて該ＧＵＩ部品に関連付けられたメソッドを実行するイベント処理がさらに挿入された構成である請求の範囲第２項記載のＧＵＩプログラムの作成支援プログラムを記録したコンピュータが読取可能な記録媒体。
【請求項４】
コンピュータが、
少なくとも１つの変数及びメソッドを含んだ処理プログラムをユーザに作成させ、該処理プログラムを固有のファイル名をつけてファイルに記録する工程と、
各種ＧＵＩ部品が配置されたＧＵＩの画面レイアウトをユーザに作成させる工程と、
前記記録されたファイルから処理プログラムのファイル名をユーザに指定させる工程と、
前記ユーザにより指定されたファイル名に基づいてファイルから処理プログラムを読み込み、該処理プログラムから変数名及びメソッド名を抽出する工程と、
前記ユーザにより作成されたＧＵＩの画面レイアウトを構成する各ＧＵＩ部品に対して、抽出された変数名及びメソッド名をユーザに指定させる工程と、
前記ユーザにより指定された変数名及びメソッド名と前記ＧＵＩ部品とを相互に特定可能な関連付けを記述した関連付けファイルを作成する工程と、
前記関連付けファイルに基づいて、前記ファイルから読み込んだ処理プログラムに対して、該処理プログラムの変数名及びメソッド名に関連付けられたＧＵＩ部品のプロパティを参照及び更新する処理を挿入してプログラムを新たに生成する工程と、
を実行することを特徴とするＧＵＩプログラムの作成支援方法。
【請求項５】
少なくとも１つの変数及びメソッドを含んだ処理プログラムをユーザに作成させ、該処理プログラムを固有のファイル名をつけてファイルに記録する手段と、
各種ＧＵＩ部品が配置されたＧＵＩの画面レイアウトをユーザに作成させる手段と、
前記記録されたファイルから処理プログラムのファイル名をユーザに指定させる手段と、
前記ユーザにより指定されたファイル名に基づいてファイルから処理プログラムを読み込み、該処理プログラムから変数名及びメソッド名を抽出する手段と、
前記ユーザにより作成されたＧＵＩの画面レイアウトを構成する各ＧＵＩ部品に対して、抽出された変数名及びメソッド名をユーザに指定させる手段と、
前記ユーザにより指定された変数名及びメソッド名と前記ＧＵＩ部品とを相互に特定可能な関連付けを記述した関連付けファイルを作成する手段と、
前記関連付けファイルに基づいて、前記ファイルから読み込んだ処理プログラムに対して、該処理プログラムの変数名及びメソッド名に関連付けられたＧＵＩ部品のプロパティを参照及び更新する処理を挿入してプログラムを新たに生成する手段と、
を含んで構成されたことを特徴とするＧＵＩプログラムの作成支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を利用したコンピュータ利用環境であるグラフィカルユーザインタフェース（Graphical User Interface；以下「ＧＵＩ」という）プログラムの作成支援技術に関し、特に、ＧＵＩプログラムの生産性向上を図る技術に関する。
【背景技術】
【０００２】
今日では、パーソナルコンピュータの普及により、コンピュータユーザが拡大している。このため、各種アプリケーションを利用するユーザの便宜を鑑み、画像を利用したコンピュータ利用環境であるＧＵＩを備えることで、操作性を向上することが一般的になってきた。
ＧＵＩプログラムの作成は、その生産性向上を目的として、いわゆるＧＵＩビルダにより行われる。ＧＵＩビルダでは、ＧＵＩを構成する部品（以下「ＧＵＩ部品」という）をドラッグ＆ドロップして画面に張り付けることで、ＧＵＩ部品の生成及び属性設定が行われ、画面レイアウトに関する最小限のプログラムが自動生成される。一方、ＧＵＩ部品に対する処理プログラムは、プログラマ等によりコーディングされる。なお、ＧＵＩ部品は、オブジェクト指向言語でオブジェクトとして定義されているものを前提とする。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来のＧＵＩプログラムの作成手法では、画面レイアウトを行なってから、ＧＵＩ部品に関する処理プログラムをコーディングするため、次のような問題が生じていた。即ち、処理プログラムはＧＵＩ部品と密接に関連するため、画面レイアウトの変更に伴いＧＵＩ部品を交換すると、処理プログラムも大幅に変更しなければならなかった。また、ＧＵＩ部品には、代入及び表示等を行うために変数が割り付けられているが、この変数を変更するだけであっても、処理プログラムの変更が必要であった。従って、従来のＧＵＩプログラムの作成手法では、生産性の向上には限界があった。
【０００４】
そこで、本発明は従来の問題点を鑑み、ＧＵＩ部品とその処理プログラムとの関連付けを自動的に行うことにより、ＧＵＩ部品の変更に伴う処理プログラムの変更を不要とし、ＧＵＩプログラムの生産性向上を図る技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的達成のため、コンピュータに、少なくとも１つの変数及びメソッドを含んだ処理プログラムをユーザに作成させ、該処理プログラムを固有のファイル名をつけてファイルに記録する機能と、各種ＧＵＩ部品が配置されたＧＵＩの画面レイアウトをユーザに作成させる機能と、前記記録されたファイルから処理プログラムのファイル名をユーザに指定させる機能と、前記ユーザにより指定されたファイル名に基づいてファイルから処理プログラムを読み込み、該処理プログラムから変数名及びメソッド名を抽出する機能と、前記ユーザにより作成されたＧＵＩの画面レイアウトを構成する各ＧＵＩ部品に対して、抽出された変数名及びメソッド名をユーザに指定させる機能と、前記ユーザにより指定された変数名及びメソッド名と前記ＧＵＩ部品とを相互に特定可能な関連付けを記述した関連付けファイルを作成する機能と、前記関連付けファイルに基づいて、前記ファイルから読み込んだ処理プログラムに対して、該処理プログラムの変数名及びメソッド名に関連付けられたＧＵＩ部品のプロパティを参照及び更新する処理を挿入してプログラムを新たに生成する機能と、を実現させるためのＧＵＩプログラムの作成支援プログラムを、コンピュータが読取可能な記録媒体に記録したことを特徴とする。
【０００６】
ここで、「オブジェクト」とは、Ｊａｖａ（商標名）、Ｃ＋＋（商標名）等のオブジェクト指向言語で定義されているクラス等をいい、例えば、Ｂｕｔｔｏｎ，ＢａｒＭｅｔｅｒ等が該当する。
【０００７】
かかる構成によれば、ＧＵＩプログラムを作成する場合には、先ず、個々のＧＵＩ部品に対する処理プログラムがユーザにより作成され、その作成された処理プログラムが固有のファイル名をつけられファイルに記録される。次に、各種ＧＵＩ部品が配置されたＧＵＩの画面レイアウトがユーザにより作成される。そして、記録されたファイルから処理プログラムのファイル名がユーザにより指定され、指定されたファイル名に基づいてファイルから処理プログラムが読み込まれ、その処理プログラムから変数名及びメソッド名が抽出される。さらに、ユーザにより作成されたＧＵＩの画面レイアウトを構成する各ＧＵＩ部品に対して、抽出された変数名及びメソッド名がユーザにより指定され、その変数名及びメソッド名とＧＵＩ部品とを相互に特定可能な関連付けを記述した関連付けファイルが作成される。そして、その関連付けファイルに基づいて、ファイルから読み込んだ処理プログラムに対して、処理プログラムの変数名及びメソッド名に関連付けられたＧＵＩ部品のプロパティを参照及び更新する処理が挿入されてプログラムが新たに生成される。
【０００８】
従って、処理プログラムを作成する際に、画面レイアウトを構成する個々のＧＵＩ部品との関連付けを意識する必要がなく、ＧＵＩプログラムの生産性を向上することができる。また、画面レイアウトを変更した場合には、処理プログラムにおける変数及びメソッドとＧＵＩ部品とを再度関連付ければ、処理内容が変更されたプログラムが生成される。このため、画面レイアウトを変更した場合であっても、ＧＵＩ部品を追加しない限り処理プログラムを変更する必要がなく、この観点からも、ＧＵＩプログラムの生産性を向上することができる。
【００１１】
また、処理プログラムにおける変数及びメソッドと画面レイアウトを構成するＧＵＩ部品との関連付けは、画面レイアウトの作成作業における一連の操作として所定の入力を行うだけでよく、操作を複雑にすることがない。さらに、画面レイアウトを変更する場合には、前述した一連の操作を行うことで、関連付けファイルが更新される。
【００１２】
そして、処理プログラムに対して、処理プログラムの変数名及びメソッド名に関連付けられたＧＵＩ部品のプロパティを参照及び更新する処理が挿入されてプログラムが生成されるので、処理プログラムが変更されることはない。従って、個々のＧＵＩ部品に対する処理プログラムの変更等を行いたい場合には、処理プログラムを変更等するだけでよい。このため、実際にコンパイル対象となるプログラムを変更する必要がなく、例えば、ＧＵＩ部品のプロパティを参照する処理の削除忘れによるバグの発生等を防止することができる。
ここで、「記録媒体」とは、各種情報を確実に記録でき、かつ、必要に応じて確実に取り出し可能なものをいい、磁気テープ、磁気ディスク、磁気ドラム、ＩＣカード、ＣＤ−ＲＯＭ等の可搬媒体が該当する。
かかる構成によれば、各機能を実現するためのＧＵＩプログラムの作成支援プログラムが記録媒体に記録される。従って、かかる記録媒体があれば、一般的なコンピュータを利用して、本発明に係るＧＵＩプログラムの作成支援装置を容易に構築することができる。
【００１３】
この他には、前記関連付けファイルに基づいて、前記ユーザにより作成された画面レイアウトを構成するＧＵＩ部品の生成及び属性設定を行なう画面レイアウトプログラムを自動生成する機能をさらに含んだ構成としてもよい。
かかる構成によれば、処理プログラムと共に画面レイアウトプログラムも生成されるので、ＧＵＩプログラムの生産性をさらに向上することができる。
【００１４】
また、前記画面レイアウトプログラムは、前記ＧＵＩ部品が操作されたときに、前記関連付けファイルにおいて該ＧＵＩ部品に関連付けられたメソッドを実行するイベント処理がさらに挿入された構成としてもよい。
かかる構成によれば、画面レイアウトプログラムにＧＵＩ部品のメソッド実行処理が挿入されるので、いわゆるイベントドリブンのインタフェースが自動的に実装される。
【００１５】
第２の手段として、コンピュータが、少なくとも１つの変数及びメソッドを含んだ処理プログラムをユーザに作成させ、該処理プログラムを固有のファイル名をつけてファイルに記録する工程と、各種ＧＵＩ部品が配置されたＧＵＩの画面レイアウトをユーザに作成させる工程と、前記記録されたファイルから処理プログラムのファイル名をユーザに指定させる工程と、前記ユーザにより指定されたファイル名に基づいてファイルから処理プログラムを読み込み、該処理プログラムから変数名及びメソッド名を抽出する工程と、前記ユーザにより作成されたＧＵＩの画面レイアウトを構成する各ＧＵＩ部品に対して、抽出された変数名及びメソッド名をユーザに指定させる工程と、前記ユーザにより指定された変数名及びメソッド名と前記ＧＵＩ部品とを相互に特定可能な関連付けを記述した関連付けファイルを作成する工程と、前記関連付けファイルに基づいて、前記ファイルから読み込んだ処理プログラムに対して、該処理プログラムの変数名及びメソッド名に関連付けられたＧＵＩ部品のプロパティを参照及び更新する処理を挿入してプログラムを新たに生成する工程と、を実行するＧＵＩプログラムの作成支援方法を構成したことを特徴とする。
【００１６】
かかる構成によれば、ＧＵＩプログラムを作成する場合には、先ず、個々のＧＵＩ部品に対する処理プログラムがユーザにより作成され、その作成された処理プログラムが固有のファイル名をつけられファイルに記録される。次に、各種ＧＵＩ部品が配置されたＧＵＩの画面レイアウトがユーザにより作成される。そして、記録されたファイルから処理プログラムのファイル名がユーザにより指定され、指定されたファイル名に基づいてファイルから処理プログラムが読み込まれ、その処理プログラムから変数名及びメソッド名が抽出される。さらに、ユーザにより作成されたＧＵＩの画面レイアウトを構成する各ＧＵＩ部品に対して、抽出された変数名及びメソッド名がユーザにより指定され、その変数名及びメソッド名とＧＵＩ部品とを相互に特定可能な関連付けを記述した関連付けファイルが作成される。そして、その関連付けファイルに基づいて、ファイルから読み込んだ処理プログラムに対して、処理プログラムの変数名及びメソッド名に関連付けられたＧＵＩ部品のプロパティを参照及び更新する処理が挿入されてプログラムが新たに生成される。
【００１７】
従って、処理プログラムを作成する際に、画面レイアウトを構成する個々のＧＵＩ部品との関連付けを意識する必要がなく、ＧＵＩプログラムの生産性を向上することができる。また、画面レイアウトを変更した場合には、処理プログラムにおける変数及びメソッドとＧＵＩ部品とを再度関連付ければ、処理内容が変更されたプログラムが生成される。このため、画面レイアウトを変更した場合であっても、ＧＵＩ部品を追加しない限り処理プログラムを変更する必要がなく、この観点からも、ＧＵＩプログラムの生産性を向上することができる。
また、処理プログラムにおける変数及びメソッドと画面レイアウトを構成するＧＵＩ部品との関連付けは、画面レイアウトの作成作業における一連の操作として所定の入力を行うだけでよく、操作を複雑にすることがない。さらに、画面レイアウトを変更する場合には、前述した一連の操作を行うことで、関連付けファイルが更新される。
そして、処理プログラムに対して、処理プログラムの変数名及びメソッド名に関連付けられたＧＵＩ部品のプロパティを参照及び更新する処理が挿入されてプログラムが生成されるので、処理プログラムが変更されることはない。従って、個々のＧＵＩ部品に対する処理プログラムの変更等を行いたい場合には、処理プログラムを変更等するだけでよい。このため、実際にコンパイル対象となるプログラムを変更する必要がなく、例えば、ＧＵＩ部品のプロパティを参照する処理の削除忘れによるバグの発生等を防止することができる。
【００１８】
第３の手段として、少なくとも１つの変数及びメソッドを含んだ処理プログラムをユーザに作成させ、該処理プログラムを固有のファイル名をつけてファイルに記録する手段と、各種ＧＵＩ部品が配置されたＧＵＩの画面レイアウトをユーザに作成させる手段と、前記記録されたファイルから処理プログラムのファイル名をユーザに指定させる手段と、前記ユーザにより指定されたファイル名に基づいてファイルから処理プログラムを読み込み、該処理プログラムから変数名及びメソッド名を抽出する手段と、前記ユーザにより作成されたＧＵＩの画面レイアウトを構成する各ＧＵＩ部品に対して、抽出された変数名及びメソッド名をユーザに指定させる手段と、前記ユーザにより指定された変数名及びメソッド名と前記ＧＵＩ部品とを相互に特定可能な関連付けを記述した関連付けファイルを作成する手段と、前記関連付けファイルに基づいて、前記ファイルから読み込んだ処理プログラムに対して、該処理プログラムの変数名及びメソッド名に関連付けられたＧＵＩ部品のプロパティを参照及び更新する処理を挿入してプログラムを新たに生成する手段と、を含んでＧＵＩプログラムの作成支援装置を構成した。
【００１９】
かかる構成によれば、ＧＵＩプログラムを作成する場合には、先ず、個々のＧＵＩ部品に対する処理プログラムがユーザにより作成され、その作成された処理プログラムが固有のファイル名をつけられファイルに記録される。次に、各種ＧＵＩ部品が配置されたＧＵＩの画面レイアウトがユーザにより作成される。そして、記録されたファイルから処理プログラムのファイル名がユーザにより指定され、指定されたファイル名に基づいてファイルから処理プログラムが読み込まれ、その処理プログラムから変数名及びメソッド名が抽出される。さらに、ユーザにより作成されたＧＵＩの画面レイアウトを構成する各ＧＵＩ部品に対して、抽出された変数名及びメソッド名がユーザにより指定され、その変数名及びメソッド名とＧＵＩ部品とを相互に特定可能な関連付けを記述した関連付けファイルが作成される。そして、その関連付けファイルに基づいて、ファイルから読み込んだ処理プログラムに対して、処理プログラムの変数名及びメソッド名に関連付けられたＧＵＩ部品のプロパティを参照及び更新する処理が挿入されてプログラムが新たに生成される。
従って、処理プログラムを作成する際に、画面レイアウトを構成する個々のＧＵＩ部品との関連付けを意識する必要がなく、ＧＵＩプログラムの生産性を向上することができる。また、画面レイアウトを変更した場合には、処理プログラムにおける変数及びメソッドとＧＵＩ部品とを再度関連付ければ、処理内容が変更されたプログラムが生成される。このため、画面レイアウトを変更した場合であっても、ＧＵＩ部品を追加しない限り処理プログラムを変更する必要がなく、この観点からも、ＧＵＩプログラムの生産性を向上することができる。
また、処理プログラムにおける変数及びメソッドと画面レイアウトを構成するＧＵＩ部品との関連付けは、画面レイアウトの作成作業における一連の操作として所定の入力を行うだけでよく、操作を複雑にすることがない。さらに、画面レイアウトを変更する場合には、前述した一連の操作を行うことで、関連付けファイルが更新される。
そして、処理プログラムに対して、処理プログラムの変数名及びメソッド名に関連付けられたＧＵＩ部品のプロパティを参照及び更新する処理が挿入されてプログラムが生成されるので、処理プログラムが変更されることはない。従って、個々のＧＵＩ部品に対する処理プログラムの変更等を行いたい場合には、処理プログラムを変更等するだけでよい。このため、実際にコンパイル対象となるプログラムを変更する必要がなく、例えば、ＧＵＩ部品のプロパティを参照する処理の削除忘れによるバグの発生等を防止することができる。
【００２０】
本発明をより詳細に説述するために、添付の図面に従ってこれを説明する。
【００２１】
図１は、本発明に係るＧＵＩプログラムの作成支援装置（以下「プログラム作成支援装置」という）のシステム構成を示す。なお、プログラム作成支援装置は、少なくとも、中央処理装置とメモリとを備え、メモリにロードされたプログラムにより各種処理を行うコンピュータ上に構築される。
【００２２】
プログラム作成支援装置は、ファイル記憶装置１０と、ソースプログラム作成モジュール２０と、画面レイアウト作成モジュール３０と、マッピングモジュール４０と、ソースプログラム生成モジュール５０と、を含んで構成される。
ファイル記憶装置１０は、例えば、ハードディスクにより構成され、オリジナルソースプログラムファイル１２，後述する定義体ファイル１４，レイアウトプログラムファイル１６及びソースプログラムファイル１８を夫々保存する。
【００２３】
ソースプログラム作成モジュール２０は、例えば、プログラムエディタにより構成され、ＧＵＩ部品に対する処理プログラムの作成及び編集を行う。そして、作成された処理プログラムは、ファイル記憶装置１０にオリジナルソースプログラムファイル１２として保存される。なお、ソースプログラム作成モジュール２０は、ファイルに記録する機能，ファイルに記録する工程及びファイルに記録する手段として作用する。
【００２４】
画面レイアウト作成モジュール３０は、いわゆるＧＵＩビルダに相当し、ＧＵＩを構成する画面レイアウトを作成する。即ち、画面上にＧＵＩ部品をドラッグ＆ドロップすることで、ＧＵＩ部品の生成及びその属性設定が行われ、画面レイアウトの作成が行われる。ここで、ＧＵＩ部品の属性とは、例えば、ＧＵＩ部品の配置位置，大きさ，色等の固有情報をいう。なお、画面レイアウト作成モジュール３０は、画面レイアウトをユーザに作成させる機能，画面レイアウトをユーザに作成させる工程及び画面レイアウトをユーザに作成させる手段として作用する。
【００２５】
マッピングモジュール４０は、画面レイアウト作成モジュール３０と協働し、ＧＵＩ部品に対する処理プログラムと画面レイアウト中のＧＵＩ部品とを関連付ける。即ち、画面レイアウトの作成過程において、ユーザからの入力及びオリジナルソースプログラムファイル１２に基づいて、処理プログラムとＧＵＩ部品との関連付けが行われる。そして、関連付けの結果が、ファイル記憶装置１０に定義体ファイル１４として保存される。なお、マッピングモジュール４０は、ファイル名をユーザに指定させる機能，ファイル名をユーザに指定させる工程，ファイル名をユーザに指定させる手段，抽出する機能，抽出する工程，抽出する手段，変数名及びメソッド名をユーザに指定させる機能，変数名及びメソッド名をユーザに指定させる工程，変数名及びメソッド名をユーザに指定させる手段，関連付けファイルを作成する機能，関連付けファイルを作成する工程及び関連付けファイルを作成する手段として作用する。
【００２６】
ここで、定義体は、図２に示すように、３つのフィールドから構成される。第１のフィールド６０には、処理プログラムが記述されたオリジナルソースプログラムファイル１２を特定するフルパス名が保持される。第２のフィールド６２には、ＧＵＩ部品名，クラス名，位置情報，大きさ情報，色情報，枠線情報，フォント情報及びメソッド名等のＧＵＩ部品固有の情報が保持される。第３のフィールド６４には、ＧＵＩ部品に割り付けられた変数名及びＧＵＩ部品名が保持される。
【００２７】
ソースプログラム生成モジュール５０は、オリジナルソースプログラムファイル１２及び定義体ファイル１４に基づいて、コンパイル対象となるレイアウトプログラム及びソースプログラムを自動生成する。そして、生成されたレイアウトプログラム及びソースプログラムが、ファイル記憶装置１０にレイアウトプログラムファイル１６及びソースプログラムファイル１８として夫々保存される。ここで、注意しなければならないことは、オリジナルソースプログラムファイル１２がそのまま残っていることである。即ち、ソースプログラム生成モジュール５０により生成されるソースプログラムは、オリジナルソースプログラムのコピーに対して、ＧＵＩ部品の参照・更新等の処理が埋め込まれるのである。ここで、ソースプログラム作成モジュール５０は、プログラムを生成する機能，プログラムを生成する工程，プログラムを生成する手段及びレイアウトプログラムを自動生成する機能として作用する。
【００２８】
なお、ソースプログラム作成モジュール２０，画面レイアウト作成モジュール３０及びソースプログラム生成モジュール５０は、メニュー等を介したユーザの指示により、排他的かつ選択的に起動される。また、マッピングモジュール４０は、画面レイアウト作成モジュール３０の起動に伴い、自動的に起動される。
【００２９】
次に、かかる構成からなるプログラム作成支援装置を利用したＧＵＩプログラムの作成手法について、図３〜図１１を参照しつつ説明する。なお、以下の説明では、オブジェクト指向言語であるＪａｖａ（商標名）を用いて処理プログラムを記述するものとする。
【００３０】
（１）ＧＵＩ部品に対する処理プログラムを作成する。
ソースプログラム作成モジュール２０を起動し、処理プログラムが記述されたオリジナルソースプログラムを作成する。具体的には、アプリケーションの仕様書に応じて、図３に示すような処理プログラムを記述し、これをオリジナルソースプログラムファイル１２として保存する。なお、図３に示す処理プログラムの詳細に関しては、Ｊａｖａの言語仕様書等を参照されたい。
【００３１】
（２）ＧＵＩ部品により構成される画面レイアウトを作成する。
画面レイアウト作成モジュール３０を起動すると、マッピングモジュール４０が起動され、図４に示すような、オリジナルソースプログラムファイル名を指定するファイル名入力画面７０が表示される。ファイル名入力画面７０は、ファイル名入力枠７２と、「ＯＫ」ボタン７４と、「参照」ボタン７６と、を含んで構成される。オリジナルソースプログラムファイル名を指定する場合には、次のような２つの方法がある。第１の方法では、ファイル名入力枠７２にオリジナルソースプログラムファイル名を直接入力した後、「ＯＫ」ボタン７４を押すことでファイル名が指定される。また、第２の方法では、「参照」ボタン７６を押してファイル一覧を表示させ、この中から所望するオリジナルソースプログラムファイルを選択する。すると、選択されたオリジナルソースプログラムファイル名がファイル名入力枠７２に表示されるので、「ＯＫ」ボタン７４を押すことでファイル名が指定される。なお、図４では、オリジナルソースプログラムファイルとして「MyTest.Java」を入力した様子を示している。ここで、かかる一連の処理が、ファイル名をユーザに指定させる機能，ファイル名をユーザに指定させる工程及びファイル名をユーザに指定させる手段に相当する。
【００３２】
オリジナルソースプログラムファイル名が指定されると、ファイル記憶装置１０からオリジナルソースプログラムファイル１２が読み込まれ、変数名及びメソッド名が抽出される。そして、抽出された変数名及びメソッド名は、メモリ上にリストとして展開される。なお、図３に示す処理プログラムにおいては、変数名は「mydata」、メソッド名は「calc」となる。ここで、かかる一連の処理が、抽出する機能，抽出する工程及び抽出する手段に相当する。
【００３３】
変数名及びメソッド名のリストが作成されると、画面レイアウトを行う画面が表示される。この画面上において、例えば、ＧＵＩ部品としての「BarMeter」をドラッグ＆ドロップにより配置すると、図５に示すような、ＧＵＩ部品に任意の名前を付ける部品名入力画面８０が表示される。部品名入力画面８０は、部品名入力枠８２と、「ＯＫ」ボタン８４と、を含んで構成される。そして、部品名入力枠８２に任意の名前（例えば、「bar 」）を直接入力した後、「ＯＫ」ボタン８４を押すことでＧＵＩ部品に名前が付けられる。なお、ＧＵＩ部品に対する名前は、任意の時点で変更できるようにしてもよい。
【００３４】
ＧＵＩ部品に名前が付けられると、図６に示すような、変数選択画面９０が表示される。変数選択画面９０には、先の処理により作成された変数名のリスト９２が表示され、この中から、ＧＵＩ部品に関連付ける変数を選択する。なお、リスト中の「cancel」は、例えば、ＧＵＩ部品がアイコンを表示するだけの場合のように、変数を使用しない場合に選択される。
【００３５】
変数が選択されると、図７に示すような、メソッド選択画面１００が表示される。メソッド選択画面１００には、先の処理により作成されたメソッド名のリスト１０２が表示され、この中から、ＧＵＩ部品に対するメソッドを選択する。なお、リスト中の「cancel」は、例えば、ＧＵＩ部品がアイコンを表示するだけの場合のように、メソッドが不要のときに選択される。
【００３６】
ここで、各操作の結果としてのＧＵＩ部品に関する情報は、変数名をキーとしてテーブル形式でメモリ上で管理される。そして、必要に応じて、ＧＵＩ部品の生成及び属性設定〜メソッドの選択を繰り返すと、メモリ上にＧＵＩ部品に関する情報が追加される。
その後、ＧＵＩ部品に関する情報を、定義体としてファイルに保存するには、例えば、定義体生成処理を起動するメニューを選択する。すると、メモリ上のＧＵＩ部品に関する情報に基づいて、図８に示す定義体が作成され、ファイル記憶装置１０に定義体ファイル１４として保存される。なお、ここで保存された定義体ファイル１４の名前は、メモリ上に保持される。ここで、かかる一連の処理が、関連付けファイルを作成する機能，関連付けファイルを作成する工程及び関連付けファイルを作成する手段に相当する。
【００３７】
（３）ソースプログラム及びレイアウトプログラムを自動生成する。
ソースプログラム生成モジュール５０を起動すると、図９に示すフローチャートの処理が開始され、コンパイル対象となるレイアウトプログラム及びソースプログラムが自動生成される。そして、生成されたレイアウトプログラム及びソースプログラムは、ファイル記憶装置１０にレイアウトプログラムファイル１６及びソースプログラムファイル１８として保存される。以下、この処理の詳細について説明する。
【００３８】
ステップ１（図では「Ｓ１」と略記する。以下同様）では、ファイル記憶装置１０から定義体ファイル１４が読み込まれる。なお、ここで読み込まれる定義体ファイル１４は、メモリ上に保持されている定義体ファイル名により特定されるものであるが、所望の定義体ファイルを選択できる機能を実装してもよい。
ステップ２では、定義体ファイル１４に基づいて、変数名をキーとしたＧＵＩ部品名のテーブルが作成される。図８に示す定義体ファイルの場合には、例えば、「mydata:bar」というテーブルが作成される。
【００３９】
ステップ３では、ＧＵＩ部品の生成及び属性設定を行うレイアウトプログラムの生成が行われる。即ち、定義体の第２のフィールド６２に基づいて、図１０に示すような、レイアウトプログラムが自動生成される。ここで、レイアウトプログラムの特徴として、画面レイアウトに関するプログラムだけでなく、「bar.addActionListener」で始まる実行イベントに対するメソッド「calc」が埋め込まれる。即ち、ＧＵＩ部品を操作すると、このメソッド「calc」が実行されることとなる。
【００４０】
ステップ４では、定義体ファイル１４に保持されるソースプログラムファイル名に基づいて、オリジナルソースプログラムファイル１２が読み込まれ、そのコピー（以下「コピーファイル」という）が作成される。
ステップ５では、定義体ファイル１４に保持されるＧＵＩ部品名及びクラス名に基づいて、コピーファイルにＧＵＩ部品の宣言文（例えば、図１１に示す「private BarMeter bar;」）が挿入される。
【００４１】
ステップ６では、オリジナルソースプログラムファイル１２のファイルカーソルを次のトークンに移動し、その内容を抽出する。即ち、図３に示すオリジナルソースプログラムファイル１２にあっては、処理開始時に「class」が抽出され、以後の処理で「Mytest,｛,・・・・」が順次抽出される。そして、抽出されたトークンの内容が、「tempA」に代入される。
【００４２】
ステップ７では、tempA ＝NULL、即ち、ファイルの終わりか否かが判定される。そして、tempA ＝NULLであれば処理を終了し（Ｙｅｓ）、tempA ≠NULLであればステップ８へと進む（Ｎｏ）。
ステップ８では、tempA がテーブル上にあるか否かが判定される。即ち、現在解析を行なっているトークンが、変数の処理であるか否かの判定が行われる。そして、tempA がテーブル上にあればステップ９へと進み（Ｙｅｓ）、tempA がテーブル上になければステップ６へと進む（Ｎｏ）。
【００４３】
ステップ９では、オリジナルソースプログラムファイル１２のファイルカーソルを次のトークンに移動し、その内容を抽出する。そして、抽出されたトークンの内容が、「tempB 」に代入される。
ステップ１０では、tempB ＝NULL、即ち、ファイルの終わりか否かが判定される。そして、tempB ＝NULLであれば処理を終了し（Ｙｅｓ）、tempB ≠NULLであればステップ１１へと進む（Ｎｏ）。
【００４４】
ステップ１１では、tempB ＝"="、即ち、変数の次にあるトークンが代入演算子であるか否かが判定される。そして、tempB ＝"="であればステップ１２へと進み（Ｙｅｓ）、tempB ≠"="であればステップ１３へと進む（Ｎｏ）。なお、本実施形態では、Ｊａｖａを前提としているので代入演算子は「＝」であるが、他の言語の場合には、その言語仕様に従うことは言うまでもない。
【００４５】
ステップ１２では、ファイルカーソルを変数代入処理の終了位置まで進め、コピーファイルにおける変数代入処理の次の行に、変数の更新処理が挿入される。即ち、テーブルを参照することで、変数名（mydata）に対するＧＵＩ部品名（bar）が決定され、図１１に示すような、「bar.update（mydata）;」という更新処理ＡＰＩが、変数代入処理の次の行に挿入される。
【００４６】
ここで、ＧＵＩ部品の種類にかかわらず、共通したＡＰＩ（Application Programming Interface）により、変数の更新等を行えるようにする工夫がなされている。即ち、共通したＡＰＩとして、
更新処理：  void update(Object o)  引数は更新値
型参照：    String getDataType（）
値参照：    Object get（）
を備えるべく、オブジェクト指向言語たるＪａｖａの継承を用いて、次のようなインターフェースが備えられる。
Interface DataGUI [
public void update(Object o);
public String getDataType();
public Object get();
]
このようなインタフェースを利用することで、例えば、既存のＧＵＩ部品である「Ｂｕｔｔｏｎ」に関して、次のようなクラス宣言によりＡＰＩが追加される。
public DataGUIButton extends Button implements DataGUI [
・・・・・・・・・・・・・・・・
]
【００４７】
ステップ１３では、コピーファイルにおける変数代入処理の前の行に、変数の参照処理が挿入される。即ち、テーブルを参照することで、変数名（mydata）に対するＧＵＩ部品名（bar）が決定され、図１１に示すような、「mydata=bar.get（）;」という参照処理ＡＰＩが、変数代入処理の前の行に挿入される。
【００４８】
以上説明したステップ１〜ステップ１３の処理によれば、画面レイアウトの作成過程において作成された定義体ファイル１４に基づいて、レイアウトプログラム及びコピーファイルが作成される。そして、作成されたコピーファイルには、変数代入処理の前後に、変数参照処理ＡＰＩ及び変数更新処理ＡＰＩが夫々挿入される。従って、ＧＵＩプログラムを作成する場合に、画面レイアウトにおけるＧＵＩ部品とその処理プログラムとの関連付けを意識する必要がなく、ＧＵＩプログラムの生産性を向上することができる。
【００４９】
また、画面レイアウトを変更する場合には、画面レイアウト作成モジュール３０を再起動し、ＧＵＩ部品の交換又は属性等の変更を行う。すると、その変更内容を反映した定義体が作成され、ファイル記憶装置１０に定義体ファイル１４が上書きされる。その後、ソースプログラム生成モジュール５０を起動すれば、定義体ファイル１４に基づいて、レイアウトプログラムファイル１６及びソースプログラムファイル１８が再度生成される。この場合、画面レイアウトにＧＵＩ部品を追加しない限り、オリジナルソースプログラムファイル１２には一切手を加える必要がないので、この観点からも、ＧＵＩプログラムの生産性を向上することができる。
【００５０】
なお、以上説明した実施形態では、オブジェクト指向言語としてＪａｖａを用いたが、他のオブジェクト指向言語であっても、本発明を適用できることは言うまでもない。
このような機能を実現するプログラムを、例えば、磁気テープ，磁気ディスク，磁気ドラム，ＩＣカード，ＣＤ−ＲＯＭ等の可搬記録媒体に記録しておけば、本発明に係るプログラム作成支援プログラムを市場に流通させることができる。そして、プログラム作成支援プログラムを取得した者は、例えば、一般的なコンピュータを利用して、本発明に係るプログラム作成支援装置を容易に構築することができる。
【発明の効果】
【００５１】
以上説明したように、本発明に係るＧＵＩプログラムの作成支援装置又は作成支援方法は、ＧＵＩプログラムの生産性が向上するので、極めて有用なものである。また、本発明に係るＧＵＩプログラムの作成支援プログラムを記録した記録媒体は、一般的なコンピュータを利用してＧＵＩプログラムの作成支援装置を容易に構築できるので、極めて有用なものである。
【図面の簡単な説明】
【００５２】
【図１】  本発明に係るプログラム作成支援装置のシステム構成図である。
【図２】  定義体ファイルの説明図である。
【図３】  処理プログラムの一例を示す説明図である。
【図４】  ファイル名入力画面の説明図である。
【図５】  部品名入力画面の説明図である。
【図６】  変数選択画面の説明図である。
【図７】  メソッド選択画面の説明図である。
【図８】  定義体ファイルの一例を示す説明図である。
【図９】  ソースプログラムの生成処理を示すフローチャートである。
【図１０】  レイアウトプログラムの一例を示す説明図である。
【図１１】  生成されたソースプログラムの一例を示す説明図である。
【図１】
0004197095.tif 000002
【図２】
0004197095.tif 000003
【図３】
0004197095.tif 000004
【図４】
0004197095.tif 000005
【図５】
0004197095.tif 000006
【図６】
0004197095.tif 000007
【図７】
0004197095.tif 000008
【図８】
0004197095.tif 000009
【図９】
0004197095.tif 000010
【図１０】
0004197095.tif 000011
【図１１】
0004197095.tif 000012