(57)【要約】【課題】組込み機器向けのユーザー・インターフェースアプリケーションを従来よりも容易にする開発支援を行う技術を提供することを課題とする。【解決手段】上記課題を解決するために、ＧＵＩ部品汎用構造データ生成手段とＧＵＩ画面編集手段とＧＵＩプログラム生成手段とを設けるものとする。  ＧＵＩ画面編集手段は、ユーザに前記ＧＵＩ部品汎用構造データ生成手段が生成した前記ＧＵＩ部品汎用構造データで表現されるＧＵＩ部品を用いてＧＵＩ画面を作成する手段を提供し、ユーザが作成したＧＵＩ画面をプログラム言語に依存しない形式の汎用ＧＵＩ画面構造データとして生成する。  ＧＵＩプログラム生成手段は、ＧＵＩ画面編集手段で生成された汎用ＧＵＩ画面構造データとターゲット機器で実行可能なプログラムを用いて、ターゲット機器で実行できる形式のＧＵＩアプリケーションを生成する。【選択図】  図１
2009020705.tif 000002
【特許請求の範囲】
【請求項１】
グラフィカル・ユーザーインターフェースアプリケーションを開発するＧＵＩアプリケーション開発支援装置であって、
汎用のプログラム言語で使用出来るＧＵＩ部品汎用構造データと、
前記ＧＵＩ部品汎用構造データに含まれるＧＵＩ部品を用いてＧＵＩの画面を汎用のプログラム言語で使用出来るＧＵＩ画面構造データとして生成するＧＵＩ画面編集手段と
を備えることを特徴とするＧＵＩアプリケーション開発支援装置。
【請求項２】
グラフィカル・ユーザーインターフェースアプリケーションを開発するＧＵＩアプリケーション開発支援装置であって、
汎用のプログラム言語で使用出来るＧＵＩ部品汎用構造データと、
前記ＧＵＩ部品汎用構造データに含まれるＧＵＩ部品を用いてＧＵＩの画面を汎用のプログラム言語で使用出来るＧＵＩ画面構造データとして生成するＧＵＩ画面編集手段と、
前記ＧＵＩ画面構造データと、ターゲット機器で実行可能なプログラムである雛形プログラムを用いて、ターゲット機器で実行できる形式のＧＵＩアプリケーションを生成するＧＵＩプログラム生成手段と
を備えることを特徴とするＧＵＩアプリケーション開発支援装置。
【請求項３】
請求項１、または請求項２に記載のＧＵＩアプリケーション開発支援装置であって、
ターゲット機器で定義されたＧＵＩ部品のライブラリである独自定義ＧＵＩ部品ライブラリから汎用のプログラム言語で使用出来るＧＵＩ部品汎用構造データを生成するＧＵＩ部品汎用構造データ生成手段を備えることを特徴とするＧＵＩアプリケーション開発支援装置。
【請求項４】
請求項１、または請求項２に記載のＧＵＩアプリケーション開発支援装置において
前記ＧＵＩ部品汎用構造データ生成手段は、
前記独自定義ＧＵＩ部品ライブラリに含まれるＧＵＩ部品の一覧データと、
ＧＵＩ部品毎にＧＵＩ部品を表すＧＵＩ部品汎用構造データとを生成すること
を特徴とするＧＵＩアプリケーション開発支援装置。
【請求項５】
請求項１、または請求項２に記載のＧＵＩアプリケーション開発支援装置において
前記ＧＵＩ部品の一覧データには少なくとも
ＧＵＩ部品クラスに対応するＧＵＩ部品汎用構造データへのリンク情報と
を含むことを特徴とするＧＵＩアプリケーション開発支援装置。
【請求項６】
請求項１、または請求項２に記載のＧＵＩアプリケーション開発支援装置において
前記ＧＵＩ部品汎用構造データには少なくとも、
前記独自定義ＧＵＩ部品ライブラリで使われるＧＵＩ部品クラスの名前と、
前記独自定義ＧＵＩ部品の特性を設定するプロパティの名前と当該プロパティのデータ型と、
ＧＵＩ部品クラスが継承している他のＧＵＩ部品クラスである継承ＧＵＩ部品クラスのＧＵＩ部品汎用構造データへのリンク情報と
を含むことを特徴とするＧＵＩアプリケーション開発支援装置。
【請求項７】
請求項６に記載のＧＵＩアプリケーション開発支援装置において
前記独自定義ＧＵＩ部品の特性とは、大きさ、色を含むＧＵＩ部品の特性であることを特徴とするＧＵＩアプリケーション開発支援装置。
【請求項８】
請求項１、または請求項２に記載のＧＵＩアプリケーション開発支援装置において
前記汎用ＧＵＩ部品構造データはＸＭＬで記述されることを特徴とするＧＵＩアプリケーション開発支援装置。
【請求項９】
請求項１、または請求項２に記載のＧＵＩアプリケーション開発支援装置において
前記ＧＵＩ画面編集手段は、
ユーザに利用可能なＧＵＩ部品の一覧を提示し、ＧＵＩ画面に配置するＧＵＩ部品を選択、配置させるＧＵＩ部品選択手段と、
ＧＵＩ部品のプロパティ値を設定するＩ／Ｆを提供するプロパティ編集手段と
選択、配置された前記ＧＵＩ部品に対して、前記ＧＵＩ部品汎用構造データライブラリから各々に対応するＧＵＩ部品汎用構造データを取得し、前記プロパティ編集手段でプロパティ値を設定して個別ＧＵＩ部品汎用構造データを生成し、当該各個別ＧＵＩ部品汎用構造データからＧＵＩ画面構造データを生成するＧＵＩ画面構造データ生成手段と
を有することを特徴とするＧＵＩアプリケーション開発支援装置。
【請求項１０】
請求項１、または請求項２に記載のＧＵＩアプリケーション開発支援装置において
前記ＧＵＩプログラム生成手段は
前記ＧＵＩ画面構造データから個別ＧＵＩ部品汎用構造データを参照し、ターゲット機器で定義されたＧＵＩ部品のコードを生成するＧＵＩ部品のコード生成部と
ターゲット機器で実行できるアプリケーションの基本構造を持ったプログラムである雛形プログラムと、前記ＧＵＩ部品のコード生成部で生成されるＧＵＩ部品のコードを用いて、
ターゲット機器で実行できる形式のＧＵＩアプリケーションを生成するＧＵＩ画面プログラム生成手段と
を有することを特徴とするＧＵＩアプリケーション開発支援装置。
【請求項１１】
グラフィカル・ユーザーインターフェースアプリケーションを開発するＧＵＩアプリケーション開発支援方法であって、
汎用のプログラム言語で使用出来るＧＵＩ部品汎用構造データと、
前記ＧＵＩ部品汎用構造データに含まれるＧＵＩ部品を用いてＧＵＩの画面を汎用プログラム言語で使用できるＧＵＩ画面構造データとして生成するＧＵＩ画面編集ステップと
を備えることを特徴とするＧＵＩアプリケーション開発支援方法。
【請求項１２】
グラフィカル・ユーザーインターフェースアプリケーションを開発する環境を提供するＧＵＩアプリケーション開発支援方法であって、
汎用のプログラム言語で使用出来るＧＵＩ部品汎用構造データと、
前記ＧＵＩ部品汎用構造データに含まれるＧＵＩ部品を用いてＧＵＩの画面を汎用のプログラム言語で使用出来るＧＵＩ画面構造データとして生成するＧＵＩ画面編集ステップと、
前記ＧＵＩ画面構造データと、ターゲット機器で実行可能なプログラムである雛形プログラムを用いて、ターゲット機器で実行できる形式のＧＵＩアプリケーションを生成するＧＵＩプログラム生成ステップと
を備えることを特徴とするＧＵＩアプリケーション開発支援方法。
【請求項１３】
請求項１１、または請求項１２に記載のＧＵＩアプリケーション開発支援方法であって、
ターゲット機器で定義されたＧＵＩ部品のライブラリである独自定義ＧＵＩ部品ライブラリから汎用のプログラム言語で使用出来るＧＵＩ部品汎用構造データを生成するＧＵＩ部品汎用構造データ生成ステップを備えることを特徴とするＧＵＩアプリケーション開発支援方法。
【請求項１４】
請求項１１、または請求項１２に記載のＧＵＩアプリケーション開発支援方法において
前記ＧＵＩ部品汎用構造データ生成ステップは、
前記独自定義ＧＵＩ部品ライブラリに含まれるＧＵＩ部品の一覧データと、
ＧＵＩ部品毎にＧＵＩ部品を表すＧＵＩ部品汎用構造データとを生成すること
を特徴とするＧＵＩアプリケーション開発支援方法。
【請求項１５】
請求項１１、または請求項１２に記載のＧＵＩアプリケーション開発支援方法において
前記ＧＵＩ部品の一覧データには少なくとも
ＧＵＩ部品クラスに対応するＧＵＩ部品汎用構造データへのリンク情報と
を含むことを特徴とするＧＵＩアプリケーション開発支援方法。
【請求項１６】
請求項１１、または請求項１２に記載のＧＵＩアプリケーション開発支援方法において
前記ＧＵＩ部品汎用構造データには少なくとも、
前記独自定義ＧＵＩ部品ライブラリで使われるＧＵＩ部品クラスの名前と、
前記独自定義ＧＵＩ部品の特性を設定するプロパティの名前と当該プロパティのデータ型と、
ＧＵＩ部品クラスが継承している他のＧＵＩ部品クラスである継承ＧＵＩ部品クラスのＧＵＩ部品汎用構造データへのリンク情報と
を含むことを特徴とするＧＵＩアプリケーション開発支援方法。
【請求項１７】
請求項１６に記載のＧＵＩアプリケーション開発支援方法において
前記独自定義ＧＵＩ部品の特性とは、大きさ、色を含むＧＵＩ部品の特性であることを特徴とするＧＵＩアプリケーション開発支援方法。
【請求項１８】
請求項１１、または請求項１２に記載のＧＵＩアプリケーション開発支援方法において
前記汎用ＧＵＩ部品構造データはＸＭＬで記述されることを特徴とするＧＵＩアプリケーション開発支援方法。
【請求項１９】
請求項１１、または請求項１２に記載のＧＵＩアプリケーション開発支援方法において
前記ＧＵＩ画面編集ステップは、
ユーザに利用可能なＧＵＩ部品の一覧を提示し、ＧＵＩ画面に配置するＧＵＩ部品を選択、配置させるＧＵＩ部品選択ステップと、
ＧＵＩ部品のプロパティ値を設定するＩ／Ｆを提供するプロパティ編集ステップと
選択、配置された前記ＧＵＩ部品に対して、前記ＧＵＩ部品汎用構造データライブラリから各々に対応するＧＵＩ部品汎用構造データを取得し、前記プロパティ編集ステップでプロパティ値を設定して個別ＧＵＩ部品汎用構造データを生成し、当該各個別ＧＵＩ部品汎用構造データからＧＵＩ画面構造データを生成するＧＵＩ画面構造データ生成ステップと
を有することを特徴とするＧＵＩアプリケーション開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はグラフィカル・ユーザー・インターフェース（ＧＵＩ）アプリケーションの開発を容易にする技術に関する。
【背景技術】
【０００２】
デジタルテレビなど組込み機器向けのアプリケーションの開発は、プログラミングスキルだけでなく、そのアプリケーションを実行させる環境の専門知識が必要である。上記組込み機器向けのアプリケーションの開発に関して、例えば、特許文献１に開示されている。
【０００３】
特許文献１では、システムソフトウェアのＵＭＬ設計書とインターフェースから、そのソフトウェアを使用するＵＩプログラムを自動生成する方法が記載されている。
【０００４】
【特許文献１】特開２００３−１４０８９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＧＵＩアプリケーションは、ユーザの操作に対応した画面の状態遷移処理など組込み機器向けのアプリケーションの開発とは異なる知識が必要になる。このような状況で、昨今の組込み機器はネットワーク対応など高機能化が進み、ＵＩアプリケーションは複雑になる一方である。
【０００６】
特許文献１はアプリケーション開発者がＧＵＩ部分の開発に専念できるようにすることを目的としており、システム上で動作するアプリケーションを自動生成すること主眼としている。
【０００７】
ところで、アプリケーションの開発では、ＧＵＩ部分そのものを作ることに対しての開発支援についても、考慮される必要が有ると言える。
【０００８】
デジタルテレビやレコーダーなどＡＶ系の組込み機器は、製品の特徴付けや他社差別化のため、ＧＵＩ画面のデザインは重要である。今後、製品競争力強化のため、より洗練された画面デザインが要求され、機能の複雑化ともあいまってＧＵＩプログラムの開発負荷が大きくなり、開発者に要求されるスキルも高くなると考える。また、製品の開発サイクルは短くなっており、複雑になったプログラムを短い期間で開発する事が要求される。
【０００９】
本発明の目的は、組込み機器向けのユーザー・インターフェース（ＵＩ）アプリケーションを従来よりも容易にする開発支援を行う技術を提供することである。組込み機器向けのアプリケーション開発の経験のない開発者や、デザイナーなどプログラム開発の経験のない人も従来よりも簡単にＧＵＩ画面を作成することができ、作成したＧＵＩ画面から、組込み機器の実機上で動作するＧＵＩアプリケーションを従来よりも簡単に生成できる開発支援の技術を提供することである。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明において、ＧＵＩアプリケーションの開発を支援する技術ではＧＵＩ部品汎用構造データ生成手段とＧＵＩ画面編集手段とＧＵＩプログラム生成手段とを設けるものとする。
【００１１】
ＧＵＩ部品汎用構造データ生成手段ではターゲット機器で独自に定義されたＧＵＩ部品のライブラリである独自定義ＧＵＩ部品ライブラリからプログラム言語に依存しない形式のＧＵＩ部品汎用構造データを生成する。若しくは、ＧＵＩ部品汎用構造データ生成手段ではターゲット機器で独自に定義されたＧＵＩ部品のライブラリである独自定義ＧＵＩ部品ライブラリから汎用のプログラム言語で使用出来るＧＵＩ部品汎用構造データを生成するようにするものでも良い。
【００１２】
そして、ＧＵＩ画面編集手段は、ユーザに前記ＧＵＩ部品汎用構造データ生成手段が生成した前記ＧＵＩ部品汎用構造データで表現されるＧＵＩ部品を用いてＧＵＩ画面を作成する手段を提供し、ユーザが作成したＧＵＩ画面をプログラム言語に依存しない形式の汎用ＧＵＩ画面構造データとして生成する。若しくは、前記汎用ＧＵＩ画面構造データとは、ＧＵＩの画面を汎用のプログラム言語で使用出来るＧＵＩ画面構造データであるものとしても良い。
【００１３】
ＧＵＩプログラム生成手段は、ＧＵＩ画面編集手段で生成された汎用ＧＵＩ画面構造データとターゲット機器で実行可能なプログラムである雛形プログラムを用いて、ターゲット機器で実行できる形式のＧＵＩアプリケーションを生成する。
【発明の効果】
【００１４】
本発明によれば、組込み機器向けなどのＧＵＩアプリケーションの開発の効率を従来よりも改善させるものである。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について図面を用いて説明する。
【実施例１】
【００１６】
図１は本発明の実施例であるＧＵＩアプリケーション開発支援装置の構成を示す図である。
【００１７】
１００は本発明のＧＵＩアプリケーション開発支援装置である。図１に示すように、ＧＵＩアプリケーション開発支援装置１００はＧＵＩ部品汎用構造データ生成手段１０３、汎用ＧＵＩ構造データライブラリ１０４、ＧＵＩ画面編集手段１０５、ＧＵＩプログラム生成手段１０６、入力手段１０７、表示手段１０８で構成する。１１０はターゲット機器で独自に定義されたＧＵＩ部品のライブラリであるＧＵＩ部品ライブラリ、１１１は本実施例のＧＵＩアプリケーション開発支援装置が生成するＧＵＩブログラムである。
【００１８】
汎用ＧＵＩ部品ライブラリ１１０はＧＵＩ部品汎用構造データ生成手段１０３でターゲット機器の実行環境、記述されるプログラム言語に依存しないＧＵＩ部品の構造やプロパティ値を表現する構造データに変換される。ターゲット機器環境に非依存の形式に変換することで、様々な機器、若しくは汎用の機器のＧＵＩ画面を生成することが可能となる。
【００１９】
ＧＵＩ画面編集手段はアプリケーション開発者にグラフィカルなＧＵＩ画面作成環境を提供し、ユーザ操作に従って編集されたＧＵＩ画面を表現するＧＵＩ画面構造データを生成し、ＧＵＩプログラム生成手段１０６に出力する。
【００２０】
ＧＵＩプログラム生成手段１０６は予め登録されているターゲット機器のアプリケーションコードである雛形アプリケーションコード、または雛形プログラムにＧＵＩ画面を構成するＧＵＩ部品のコードを挿入しＧＵＩアプリケーションを生成する。また、ＧＵＩプログラム生成手段１０６は、ＧＵＩ画面の構造や、各ＧＵＩ部品に設定されているプロパティ値を汎用ＧＵＩ画面構造データから取得する。
【００２１】
以下、ＧＵＩ部品汎用構造データの生成処理、ＧＵＩ画面の編集と汎用ＧＵＩ画面構造データの生成処理、ＧＵＩプログラムの生成処理について順次説明する。
【００２２】
先ず、図４、５、６、７を用いてＧＵＩ部品構造データの生成処理について説明する。
【００２３】
図４はＧＵＩ部品汎用構造データ生成手段１０３におけるＧＵＩ部品汎用構造データ生成処理フローの一例である。
１）ステップ１
ユーザにから、ＧＵＩアプリケーション開発支援装置１００に取り込むＧＵＩ部品ライブラリが指定されるとＧＵＩ部品汎用構造データ生成手段１０３はＧＵＩ部品汎用構造データ生成処理を開始する。
２）ステップ２
ＧＵＩ部品ライブラリに含まれる各ＧＵＩ部品クラスから、ＧＵＩ部品のクラス名とプロパティ情報（プロパティの名前、型、初期値など）を取得する。プロパティ情報とは、ＧＵＩ部品の大きさや、配置する位置、ＧＵＩ部品に表示する文字、文字の色、背景の色、背景のイメージなどを設定するものである。但し、これらに限定されるものではなく、ＧＵＩ部品の仕様を特定する情報であれば、上記プロパティ情報として扱えるものとする。
【００２４】
ここでは、具体的な取得方法は示さないが、例えば、Java(登録商標)のＧＵＩ部品クラスであって、ＪａｖａＢｅａｎｓの仕様を満たすクラスであれば、Ｊａｖａで規定されているｊａｖａ．ｂｅａｎｓ．ＩｎｔｒｏｓｐｅｃｔｏｒクラスのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を使って取得することができる。
３）ステップ３
ステップ１で取得した情報から、図５に示すようなＧＵＩ部品の構造データをＧＵＩクラス毎に生成し、そのＧＵＩクラスに対応するＧＵＩ部品汎用構造データとしてＧＵＩ部品汎用構造データライブラリ（１０４）に保存する。
４）ステップ４
ステップ３で生成したＧＵＩ部品をＧＵＩ部品選択手段２０３へ示す際に使う、ＧＵＩ部品名やアイコン情報と、構造データへのリンク情報を図６に示すような汎用ＧＵＩ部品一覧へ追加し、保存する。汎用ＧＵＩ部品一覧は汎用ＧＵＩ部品ライブラリ毎に１つ生成する。
５）ステップ５
汎用ＧＵＩ部品ライブラリに含まれる全てのＧＵＩ部品のＧＵＩ部品汎用構造データを生成すると処理を終了する。
【００２５】
図７はＧＵＩ部品を表現するＧＵＩ構造データを表す定義の一例である。
【００２６】
本例ではＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）でＧＵＩ部品のデータ構造を記述している。ＸＭＬは文書やデータの意味や構造を記述するためのマークアップ言語の一つでユーザが独自のタグを定義することができる。
【００２７】
図７に示すように、<gui_widget>タグで各ＧＵＩ部品の構造を表す。<properties>タグはＧＵＩ部品に設定できるプロパティ一覧を表す。各プロパティは<property>、プロパティの値は<value>で表す。また他のＧＵＩ部品を継承しているＧＵＩ部品は<hierarchy_properties>タグで継承するプロパティの一覧を表す。<children>は他のＧＵＩ部品を含むことができるＧＵＩ部品であることを示すタグである。<child>はＧＵＩ部品が含むＧＵＩ部品（子ＧＵＩ部品）を表す。
【００２８】
ＧＵＩ構造データはＧＵＩ部品との対応付けのための属性情報も定義する。
【００２９】
<gui_widget>タグはＧＵＩ部品のクラス名を示すclass属性と、ＧＵＩ部品のインスタンス名を表すname属性を持つ。<property>タグはプロパティの名前を表すname属性と、設定したプロパティをGUI部品に設定するメソッド名を表すmethod属性を持つ。<value>
はプロパティの型を示すtype属性とプロパティ値に設定されているデフォルト値を示すdefault属性を持つ。<hierarchy_properties>タグは継承クラスの名前を示すclass属性
を持つ。<children>タグはＧＵＩ部品に子ＧＵＩ部品を追加するメソッド名を表すmethod 属性を持つ。<ｃｈｉｌｄ>タグは子ＧＵＩ部品のクラス名を表すclass属性と子ＧＵＩ部品のインスタンス名を表すname属性を持つ。
【００３０】
なお、タグの定義と構造は一例である。ＧＵＩ部品の名前やＧＵＩ部品の持つプロパティ、そのプロパティを設定するメソッド名などＧＵＩ部品の構造を表現できる書式であればどのようなタグ定義を使ってもかまわない。また、本実施例ではＧＵＩ部品汎用構造データを定義する書式にＸＭＬを用いたが、ＧＵＩの構造データに使用する言語は特に指定しない。汎用ＧＵＩ部品ライブラリの言語に依存せず、共通の書式でＧＵＩ部品の構造を表現できるものでどのような書式を使っても良い。
【００３１】
また、汎用ＧＵＩ部品ライブラリ１１０で使用されるプログラム言語は特に制限しない。Ｊａｖａ、Ｃ／Ｃ＋＋(登録商標)、Ｃ＃(登録商標)など何でもかまわない。
【００３２】
以下、図３、図８、図９、図１０を用いてＧＵＩ画面の編集とＧＵＩ画面構造データの生成処理について説明する。
【００３３】
図３はＧＵＩ画面編集手段１０３の構成を示す図である。
【００３４】
ＧＵＩ画面編集手段１０３はＧＵＩ部品汎用構造データ生成手段が生成するＧＵＩ部品汎用構造データを用いて、アプリケーション開発者にＧＵＩ画面を作成する環境を提供する。
【００３５】
ＧＵＩ部品選択手段２０３はユーザにＧＵＩ部品の一覧を示し、ＧＵＩ画面に配置する部品を選択させる手段である。ユーザは入力手段１０７を介してマウス操作などでＧＵＩ画面に配置する部品を選択しＧＵＩ画面編集手段１０５によって提供される編集画面に貼り付ける。プロパティ編集手段２０４はＧＵＩ部品の大きさや配置位置、フォント、色など表示に関するプロパティの値を設定するインターフェースを提供する。ＧＵＩ画面表示データ生成手段２０５は編集画面に表示する画面を生成する手段である。ユーザが設定したプロパティ値を反映したＧＵＩ部品の描画を表示する。この編集画面に表示する画面ＧＵＩ部品ライブラリからＧＵＩ部品汎用構造データを生成するため、ターゲット機器で動作したときに表示される画面と同等のものとなる。
【００３６】
ＧＵＩ画面構造データ生成手段２０１はユーザがＧＵＩ部品選択手段２０３を介してＧＵＩ部品を選択し、配置し、プロパティ編集手段２０４を介してプロパティ値を設定したＧＵＩ部品で構成されるＧＵＩ画面を表すＧＵＩ画面構造データを生成し、ＧＵＩ画面構造データ記憶手段２０２に保存する。
１）Ｓ８００
ユーザはＧＵＩ画面の作成を開始すると、この処理が開始する。
２）Ｓ８１０
作成するＧＵＩ画面が新規に作成されたものかどうかを判断する。新規作成の場合はＳ８１１に、そうでない場合はＳ８２０に処理が移る。
３）Ｓ８１１
新規に作成されたＧＵＩ画面であった場合は、そのＧＵＩ画面用のＧＵＩ画面構造データを作成する。以後、編集画面で追加されたＧＵＩ部品の情報や、ＧＵＩ部品に設定されたプロパティ値はこのＧＵＩ画面構造データに追記される。
４）Ｓ８２０
ユーザによる操作が編集画面へのＧＵＩ部品の配置かどうかを判断する。配置の場合はＳ８２１、そうでない場合はＳ８３０に処理が移る。
５）Ｓ８２１
ユーザによる操作が編集画面へのＧＵＩ部品の配置が、ＧＵＩ部品の追加か、削除かを判断する。追加の場合はＳ８２２、削除の場合はＳ８２５に処理が移る。
６）Ｓ８２２
Ｓ８２２〜Ｓ８２４はＧＵＩ部品の追加処理である。
ＧＵＩ画面構造データ生成手段２０１は、ＧＵＩ部品汎用構造データ生成手段１０３が生成した汎用ＧＵＩ部品一覧データを参照し、配置されたＧＵＩ部品に対応するＧＵＩ部品汎用構造データを取得する。そして、配置されたＧＵＩ部品のＧＵＩ部品汎用構造データ（個別ＧＵＩ部品汎用構造データ）を生成する。
【００３７】
ここで、個別ＧＵＩ部品汎用構造データについて、説明をする。当該個別ＧＵＩ部品汎用構造データとは、ＧＵＩ部品汎用構造データに含まれる汎用の構造データであって、ＧＵＩ画面上で配置され、画面仕様によって、新たにプロパティ値が変更、設定されたものである。そして、プログラムの実行において、一意に識別出来るような名称や、識別子などを有するものである。このとき、ＧＵＩ画面でＧＵＩ部品を識別するための識別名（例えばＧＵＩ部品クラス名＋通し番号）を生成し、個別ＧＵＩ部品汎用構造データに追加する。プロパティ値の内、位置、大きさは配置された編集画面に配置されたときの情報を使用する。その他のプロパティ値はＧＵＩ部品汎用構造データで設定されている初期値を使用する。
７）Ｓ８２３
次に、ＧＵＩ部品が配置された位置から、このＧＵＩ部品がベースとなるＧＵＩ画面に配置されたのか、ＧＵＩ画面に配置された他のＧＵＩ部品の要素として配置されたのかを判断する。そして、ＧＵＩ画面構造データのどの位置に個別ＧＵＩ部品汎用構造データを挿入するかを判断する。
８）Ｓ８２４
Ｓ８２３で判定した挿入場所へ個別ＧＵＩ部品汎用構造データを挿入する。
図９はＧＵＩ画面構造データへの個別ＧＵＩ部品汎用構造データの挿入例である。
図９はＧＵＩ画面９００にＧＵＩ部品９１０、ＧＵＩ部品９２０、ＧＵＩ部品９３０が配置されていることを示し、更に、ＧＵＩ部品９１０はＧＵＩ部品９１１、ＧＵＩ部品９１２を含み、ＧＵＩ部品９３０はＧＵＩ部品９３１を含んでいることを示している。
９）Ｓ８２５
Ｓ８２５、Ｓ８２６はＧＵＩ部品の削除処理である。
削除されたＧＵＩ部品の識別名（Ｓ８２２で設定）からＧＵＩ画面構造データのどの部分から個別ＧＵＩ部品汎用構造データを削除するかを判断する。
１０）Ｓ８２６
Ｓ８２５で判断した部分をＧＵＩ画面構造データから削除する。フローには記述していないが、ＧＵＩ部品の移動は追加処理（Ｓ８２２〜Ｓ８２４）と削除処理（Ｓ８２５、Ｓ８２６）の組み合わせで実現できる。
１１）Ｓ８３０
ユーザによる操作が編集画面へのＧＵＩ部品のプロパティ値の変更かどうかを判断する。プロパティ値の変更の場合はＳ８３０、そうでない場合はＳ８４０に処理が移る。
１２）Ｓ８３１
Ｓ８３１、Ｓ８３２はプロパティ値の変更処理である。
【００３８】
まず、プロパティ値を編集されたＧＵＩ部品の識別名とプロパティ名からＧＵＩ画面構造データの中の編集するプロパティに該当する箇所を検出する。
１３）Ｓ８３２
次に、該当部分のプロパティ値をユーザが設定した値で置き換える。
１４）Ｓ８４０
Ｓ８４０はＧＵＩ画面構造データの生成処理の終了判定である。終了していない場合はＳ８１０に処理を戻す。
【００３９】
図１０は、ＧＵＩ画面構造データ生成手段２０１により生成されるＧＵＩ画面構造データの一例である。
【００４０】
<view type ="parent" name="flavorList">のviewタグはこのデータがＧＵＩ画面構造データであることを示す。図１０の実施例ではＧＵＩ画面はＧＵＩ部品９５０、ＧＵＩ部品９５１、ＧＵＩ部品９５１の３つの部品で構成され、ＧＵＩ部品９５１、ＧＵＩ部品９５１はＧＵＩ部品９５０に含まれていることを示している。この例では、ＧＵＩ部品の包含関係を<children>タグで表し、<child>の中に、追加されるＧＵＩ部品の構造データを挿入している。
【００４１】
構造データをこのような階層構造にすることで、ＧＵＩ部品の追加、削除、移動の処理、および、プロパティ値の編集処理が簡単になる。
【００４２】
以下、図４を用いてＧＵＩプログラムの生成処理について説明する。
【００４３】
図４はＧＵＩプログラム生成手段１０６の構成を示す図である。
【００４４】
ＧＵＩプログラム生成手段１０６は、ＧＵＩ画面編集手段１０５の生成するＧＵＩ画面構造データからターゲット機器の環境で動作するＧＵＩアプリケーションを生成する手段である。
【００４５】
図中、ＧＵＩ部品コード生成手段３００は、ＧＵＩ画面構造データに記述された各ＧＵＩ部品の構造データとプロパティの設定値を参照し、ターゲット機器で使用するプログラム言語でＧＵＩ部品を生成するコードを生成する。図７で示したとおり、プロパティ値を設定するためのメソッド名や、引数の名前、型などはＧＵＩ部品構造データに記述されている。
【００４６】
ＧＵＩプログラム生成手段３０１はＧＵＩ画面全体を構成するプログラムコードを生成する手段である。雛形コード保持手段３０２に保持されている、ターゲット機器のアプリケーションの基本構造をベースに、ＧＵＩ画面自体の設定値のコード、ＧＵＩ部品コード生成手段３００で生成されたＧＵＩ部品を生成するコードを挿入し、ＧＵＩプログラムコードを構築する。
【００４７】
図１１にＧＵＩプログラム生成手段が生成するＧＵＩプログラムの一例を示す。
【００４８】
図中、９６１，９６２，９６３はＧＵＩ画面を構成するＧＵＩ部品のコードを挿入した部分に相当する。
【００４９】
このように、ＧＵＩ部品のコードを生成するための情報をＧＵＩ部品汎用構造データに記述しておくことで、ターゲット機器の環境に対応したコードの生成が容易になる。
【００５０】
なお、本実施例ではＧＵＩ部品汎用構造データライブラリ１０４、ＧＵＩ画面構造データ２０２、雛形コード保持手段３０２が異なる記憶手段に存在するように記載しているが、同じ記憶手段に記憶しても問題ない。
【００５１】
以上のように、本発明の実施例によればターゲット機器のプログラム言語に依存しない汎用の形式で、プログラム言語に依存しない形式の汎用ＧＵＩ画面構造データを用いて、ＧＵＩ画面を編集してから、ターゲットの環境で実行可能なＧＵＩプログラムに変換する。このため、組込み機器向けのアプリケーション開発の経験のない開発者や、デザイナーなどのプログラミングの知識の無い開発者でも従来に比較して容易にＧＵＩ画面を構築できる。また、作成したＧＵＩ画面から組込み機器の実機上で動作するＧＵＩアプリケーションを簡単に生成できる。
【００５２】
なお、上記実施例の説明では、ＸＭＬを例に説明をしたが、これに限定されるものではなく、データの意味や構造が記述されるマークアップ言語と呼ばれるものであっても良い。例えば、ＸＨＴＭＬ（登録商標）と呼ばれるマークアップ言語を用いても、本発明に基づく上記実施例を実施することは可能である。
【図面の簡単な説明】
【００５３】
【図１】ＧＵＩアプリケーション開発支援装置の構成図
【図２】ＧＵＩ画面編集手段の構成図
【図３】ＧＵＩプログラム生成手段の構成図
【図４】ＧＵＩ部品汎用構造データ生成処理フローの一例
【図５】ＧＵＩ部品の構造データの書式の一例
【図６】ＧＵＩ部品一覧の書式の一例
【図７】ＧＵＩ部品を表現するＧＵＩ構造データを表す定義の一例
【図８】ＧＵＩ画面構造データの生成処理フローの一例
【図９】ＧＵＩ画面構造データへの個別ＧＵＩ部品汎用構造データの挿入例
【図１０】ＧＵＩ画面構造データの一例
【図１１】ＧＵＩプログラム生成手段が生成するＧＵＩプログラムの一例
【符号の説明】
【００５４】
１００：ＧＵＩアプリケーション開発支援装置
１０３：ＧＵＩ部品汎用構造データ生成手段
１０４：ＧＵＩ構造データライブラリ
１０５：ＧＵＩ画面編集手段
１０６：ＧＵＩプログラム生成手段
１０７：入力手段
１０８：表示手段
１１０：ＧＵＩ部品ライブラリ
１１１：ＧＵＩプログラム
２０１：ＧＵＩ画面構造データ生成手段
２０２：ＧＵＩ画面構造データ記録手段
２０３：ＧＵＩ部品選択手段
２０４：プロパティ編集手段
２０５：ＧＵＩ画面表示データ生成手段
３００：ＧＵＩ部品コード生成手段
３０１：ＧＵＩプログラム生成手段
３０２：雛形プログラム保持手段
９００：ＧＵＩ画面
９１０、９２０、９３０、９１１，９１２，９３１：ＧＵＩ部品
９５０、９５１：ＧＵＩ部品
【図１】
2009020705.tif 000003
【図２】
2009020705.tif 000004
【図３】
2009020705.tif 000005
【図４】
2009020705.tif 000006
【図５】
2009020705.tif 000007
【図６】
2009020705.tif 000008
【図７】
2009020705.tif 000009
【図８】
2009020705.tif 000010
【図９】
2009020705.tif 000011
【図１０】
2009020705.tif 000012
【図１１】
2009020705.tif 000013