专利名称:Gui应用程序开发支持装置和开发支持方法
技术领域:
本发明涉及使图形用户界面(GUI)应用程序的开发变得容易的技术。
背景技术:
面向数字电视等嵌入式设备的应用程序的开发,不仅需要程序设 计技术,而且需要使该应用程序执行的环境的专门知识。例如在日本 专利特开2003-140893号公报中公开了关于上述面向嵌入式设备的应 用程序的开发。
在日本专利特开2003-140893号公报中,记载了从系统软件的 UML设计书和界面自动生成使用该软件的UI程序的方法。
GUI应用程序需要与对应用户操作的画面的状态转变处理等面向 嵌入式设备的应用程序的开发不同的知识。在这种情况下,近来的嵌 入式设备向着网络对应等高功能化发展,UI应用程序变得越来越复杂。
日本专利特开2003-140893号公报的目的在于使得应用程序开发 者能够专心于GUI部分的开发,其着重点在于能够自动生成在系统上 运行的应用程序。
可是,在应用程序的开发中,认为有必要考虑制作GUI部分本身 的开发支持。
数字电视和记录器等AV类嵌入式设备,为了具有产品的特征和与 其它公司的差别化,GUI画面的设计是重要的。今后,为了强化产品 竞争力,要求更洗练的画面设计,随着功能的复杂化,GUI程序的开 发负荷增大,对开发者的技能要求也变高。此外,产品的开发周期变 短,要求在短期间内开发出变得较复杂的程序。
发明内容
本发明的目的在于提供一种使面向嵌入式设备的用户界面(UI)
应用程序的开发支持与以往相比变得容易的技术。提供一种即使是没 有面向嵌入式设备的应用程序开发的经验的开发者、或者设计者等没 有程序开发的经验的人也能够与以往相比简单地制作形成GUI画面, 而且能够根据制作形成的GUI画面与以往相比简单地生成在嵌入式设
备的实机上运行的GUI应用程序的开发支持技术。
为了达到上述目的,在本发明中,在支持GUI应用程序的开发的 技术中设置有GUI部件通用结构数据生成模块和GUI画面编辑模块和 GUI程序生成模块。
在GUI部件通用结构数据生成模块中从作为被目标机器独自定义 的GUI部件的库的独自定义GUI部件库生成不依存于程序语言的形式 的GUI部件通用结构数据。或者,也可以在GUI部件通用结构数据生 成模块中从作为被目标机器独自定义的GUI部件的库的独自定义GUI 部件库生成能够用通用的程序语言进行使用的GUI部件通用结构数 据。
而且,GUI画面编辑模块,向用户提供使用上述GUI部件通用结 构数据生成模块生成的上述GUI部件通用结构数据所表现的GUI部件 来制作形成GUI画面的模块,用户制作形成的GUI画面作为不依存于 程序语言的形式的通用GUI画面结构数据而生成。或者,所谓上述通 用GUI画面结构数据,也可以为能够通过通用的程序语言使用GUI画 面的GUI画面结构数据。
GUI程序生成模块,使用通过GUI画面编辑模块生成的通用GUI 画面结构数据和作为在目标机器中能够执行的程序的雏形程序(雛形 7° 口夕、、,厶),生成在目标机器能够执行的形式的GUI应用程序。
图1为GUI应用程序开发支持装置的结构图。
图2为GUI画面编辑模块的结构图。
图3为GUI程序生成模块的结构图。
图4为GUI部件通用结构数据生成处理流程的一个例子。
图5为GUI部件的结构数据的格式的一个例子。
图6为GUI部件一览的格式的一个例子。
图7为表示表现GUI部件的GUI结构数据的定义的一个例子。
图8为GUI画面结构数据的生成处理流程的一个例子。
图9为向GUI画面结构数据的个别GUI部件通用结构数据的插入
图10为GUI画面结构数据的一个例子。
图11为GUI程序生成模块生成的GUI程序的一个例子。
具体实施例方式
以下,参照附图对本发明的实施方式进行说明。 (实施例1)
图1是表示作为本发明的实施例的GUI应用程序开发支持装置的 结构的图。
100为本发明的GUI应用程序开发支持装置。如图1所示,GUI 应用程序开发支持装置100包括:GUI部件通用结构数据生成模块103、 通用GUI结构数据库104、 GUI画面编辑模块105、 GUI程序生成模块 106、输入模块107、显示模块108。 IIO为作为通过目标机器独自定义 的GUI部件的库的GUI部件库,111为本实施例的GUI应用程序开发 支持装置生成的GUI程序。
通用GUI部件库110通过GUI部件通用结构数据生成模块103变 换为表现目标机器的执行环境、不依存于记述的程序语言的GUI部件 的结构或属性值的结构数据。通过变换为非依存目标机器环境的形式, 能够生成各式各样的设备、或通用的设备的GUI画面。
GUI画面编辑模块向应用程序开发者提供图形的GUI画面制作形 成环境,并且生成表现根据用户操作编辑成的GUI画面的GUI画面结 构数据,并输出到GUI程序生成模块106。
GUI程序生成模块106通过预先登录的作为目标机器的应用程序 编码的雏形应用程序编码,或者是将构成GUI画面的GUI部件的编码 插入到雏形程序(雛形7。口夕、、,厶),生成GUI应用程序。此外,GUI 程序生成模块106从通用GUI画面结构数据取得GUI画面的结构、或 设定在各GUI部件的属性值。
以下,依次对GUI部件通用结构数据的生成处理、GUI画面的编
辑和通用GUI画面结构数据的生成处理、GUI程序的生成处理进行说明。
首先,参照图4、 5、 6、 7对GUI部件结构数据的生成处理进行说明。
图4为GUI部件通用结构数据生成模块103中的GUI部件通用结 构数据生成处理流程的一个例子。 1 )步骤1
如果用户指定调入到GUI应用程序开发支持装置100中的GUI部 件库,则GUI部件通用结构数据生成模块103开始GUI部件通用结构 数据生成处理。
2) 步骤2
从包含于GUI部件库的各GUI部件类(夕,7 )取得GUI部件的 类名和属性信息(属性的名称、类型、初始值等)。所谓属性信息,指 的是设定GUI部件的大小、配置的位置、在GUI部件显示的文字、文 字的颜色、背景的颜色、背景的显像等的信息。但是,并不限定于此, 只要是指定GUI部件的形式的信息,就能够作为上述属性信息而使用。
在此,没有表示具体的取得方法,但例如Java(注册商标)的GUI 部件类,只要是满足JavaBeans的形式的类,就能够使用Java所规定 的java.beans.Introspector类的API (Application Program Interface)而取 得。
3) 步骤3
从步骤1取得的信息,在每个GUI类生成如图5所示的GUI部件 的结构数据,作为与该GUI类对应的GUI部件通用结构数据而保存在 GUI部件通用结构数据库(104)中。
4) 步骤4
将在向GUI部件选择模块203表示步骤3生成的GUI部件时使用 的GUI部件名或图标信息,和对结构数据的链接信息追加、保存到图 6所示的通用GUI部件一览。在每个通用GUI部件库生成一个通用GUI
部件一览。
5) 步骤5
如果生成通用GUI部件库所包含的全部的GUI部件的GUI部件通
用结构数据,则处理结束。
图7为表示表现GUI部件的GUI结构数据的定义的一个例子。 在本例中以XML (Extensible Markup Language:可扩展标记语言) 记述GUI部件的数据结构。XML是一种用于记述文件或数据的意思或 结构的标记语言,用户能够定义独自的符号(夕夕O。
如图7所示,以〈gui一widget〉符号表示各GUI部件的结构。 〈propertie^符号表示能够设定在GUI部件的属性的一览。以〈property〉 表示各属性,以〈value〉表示属性的值。此外,继承其它的GUI部件的 GUI部件用<hierarchy_properties>符号表示继承的属性的 一 览。 〈children〉为表示是能够包含其它的GUI部件的GUI部件的符号。 〈child〉表示GUI部件包含的GUI部件(子GUI部件)。
GUI结构数据也定义用于与GUI部件对应的属性信息。 〈gui—widget〉符号具有表示GUI部件的类名的class属性和表示 GUI部件的实例夕y 7 )名的name属性。〈property〉符号具 有表示属性的名称的name属性和表示将已设定的属性设定在GUI部 件的方法名的method属性。〈value〉具有表示属性的类型的type属性 和表示被设定为属性值的默认值的default属性。<hierarchy_properties> 符号具有表示继承类的名称的class属性。化hildren〉符号具有表示向 GUI部件追加子GUI部件的方法名的method属性。〈child〉符号具有 表示子GUI部件的类名的class属性和表示子GUI部件的实例名的 mms属性o
另外,符号的定义和结构为一个例子。只要是GUI部件的名称或 GUI部件具有的属性、设定该属性的方法名等能够表现GUI部件的结 构的格式,那么无论使用什么样的符号定义都可以。此外,在本实施 例中,虽然使用XML作为定义GUI部件通用结构数据的格式,但并 不特定在GUI的结构数据上使用的语言。因为只要是不依存于通用 GUI部件库的语言,能够以共通的格式表现GUI部件的结构,使用什 么样的格式都可以。
此外,在通用GUI部件库110使用的程序语言并不特别限定。Java、 C/C++ (注册商标)、C# (注册商标)等什么都可以。
以下,参照图3、图8、图9、图IO对GUI画面的编辑和GUI画
面结构数据的生成处理进行说明。
图3为表示GUI画面编辑模块103的结构的图。
GUI画面编辑模块103使用GUI部件通用结构数据生成模块生成 的GUI部件通用结构数据,向应用程序开发者提供制作形成GUI画面 的环境。
GUI部件选择模块203为向用户表示GUI部件的一览,选择配置 在GUI画面上的部件的模块。用户通过输入模块107以鼠标操作等选 择配置在GUI画面上的部件并贴在由GUI画面编辑模块105提供的编 辑画面上。属性编辑模块204提供对GUI部件的大小或配置位置、字 体、颜色等与显示相关的属性值进行设定的界面。GUI画面显示数据 生成模块205为生成在编辑画面上显示的画面的模块。显示反映用户 设定的属性值的GUI部件的描画。因为从该编辑画面上显示的画面 GUI部件库生成GUI部件通用结构数据,所以与在目标机器上动作时 所显示的画面相同。
GUI画面结构数据生成模块201,用户通过GUI部件选择模块203 选择、配置GUI部件,生成表示以通过属性编辑模块204设定了属性 值的GUI部件构成的GUI画面的GUI画面结构数据,并保存于GUI 画面结构数据存储模块202。
1) S800
如果用户开始GUI画面的制作形成,则该处理开始。
2) S810
判断制作形成的GUI画面是否为另行制作形成的。在另行制作形 成的情况下转移到S811,如果不是另行制作形成的则转移到S820。
3) S811
在为另行制作形成的GUI画面的情况下,制作形成该GUI画面用 的GUI画面结构数据。之后,将在编辑画面追加的GUI部件的信息、 被设定在GUI部件的属性值补写到该GUI画面结构数据中。
4) S820
判断通过用户的操作是否将GUI部件配置到编辑画面。在配置的 情况下将处理转移到S821,在没有配置的情况下将处理转移到S830。
5) S821
判断通过用户的操作向编辑画面的GUI部件的配置是GUI部件的 追加还是删除。在追加的情况下将处理转移到S822,在删除的情况下 将处理转移到S825。
6) S822
S822 S824是GUI部件的追加处理。
GUI画面结构数据生成模块201,参照GUI部件通用结构数据生 成模块103生成的通过GUI部件一览数据,取得与配置的GUI部件对 应的GUI部件通用结构数据。然后,生成配置的GUI部件的GUI部件 通用结构数据(个别GUI部件通用结构数据)。
在此,对个别GUI部件通用结构数据进行说明。所谓该个别GUI 部件通用结构数据指的是GUI部件通用结构数据所包含的通用的结构 数据,配置在GUI画面上,通过画面形式,被重新变更、设定属性值 的数据。而且,是在程序的执行中,具有能够唯一地识别出来的那样 的名称、操作符等的数据。此时,在GUI画面生成用于识别GUI部件 的识别名(例如GUI部件类名+连续号码),并追加到个别GUI部件 通用结构数据。属性值之中,位置、大小使用被配置在所配置的编辑 画面上时的信息。其它的属性值使用在GUI部件通用结构数据中被设 定的初始值。
7) S823
接着,从配置有GUI部件的位置,判断该GUI部件是被配置到成 为基准的GUI画面上,还是作为被配置在GUI画面上的其它的GUI 部件的要素而配置。然后,判断在GUI画面结构数据的哪个位置插入 个别GUI部件通用结构数据。
8) S824
向在S823判定的插入部位插入个别GUI部件通用结构数据。
图9为向GUI画面结构数据的个别GUI部件通用结构数据的插入
图9表示在GUI画面900配置有GUI部件910、 GUI部件920、 GUI部件930,还表示GUI部件910包含GUI部件911、 GUI部件912, GUI部件930包含GUI部件931 。
9) S825S825、 S826为GUI部件的删除处理。
根据被删除的GUI部件的识别名(在S822设定)判断从GUI画 面结构数据的哪个部分删除个别GUI部件通用结构数据。
10) S826
将在S825判断的部分从GUI画面结构数据中删除。虽然在流程中 没有记述,但GUI部件的移动能够以追加处理(S822 S824)和删除 处理(S825、 S826)的组合来实现。
11) S830
通过用户的操作判断是否变更向编辑画面的GUI部件的属性值。 在属性值变更的情况下将处理转移到S830,在没有变更的情况下将处 理转移到S840。
12) S831
S831、 S832为属性值的变更处理。
首先,从被编辑属性值的GUI部件的识别名和属性名检测出GUI 画面结构数据中的与编辑的属性相当的地方。
13) S832
接着,以用户设定的值置换该部分的属性值。
14) S840
S840为GUI画面结构数据的生成处理的结束判定。在没有结束的 情况下将处理返回到S810。
图10为由GUI画面结构数据生成模块210生成的GUI画面结构
数据的一个例子。
<view type 二"parent"name二"flavorList"〉的view符号表示该数据为 GUI画面结构数据。在图10的实施例中,GUI画面由GUI部件950、 GUI部件951、 GUI部件952的三个部件构成,表示GUI部件951、 GUI部件952包含在GUI部件950中。在该例子中,以〈children〉符号 表示GUI部件的包含关系,在〈child〉之中,插入追加的GUI部件的结 构数据。
通过将结构数据设为这样的层次结构,能够使GUI部件的追加、 删除、移动的处理、以及属性值的编辑处理变得简单。 以下,参照图4对GUI程序的生成处理进行说明。
图4是表示GUI程序生成单元106的结构的图。
GUI程序生成模块106为从GUI画面编辑模块105生成的GUI画 面结构数据生成在目标机器的环境下运行的GUI应用程序的模块。
图中,GUI部件编码生成模块300,参照在GUI画面结构数据中 记述的各GUI部件的结构数据和属性的设定值,通过在目标机器使用 的程序语言生成形成GUI部件的编码。如图7所示,在GUI部件结构 数据中记述了用于设定属性值的方法名、参数的名称、类型等。
GUI程序生成模块301为生成构成GUI画面全体的程序编码的模 块。以保持在雏形编码保持模块302中的、目标机器的应用程序的基 本结构为基准,插入GUI画面自身的设定值的编码、生成在GUI部件 编码生成模块300生成的GUI部件的编码,构成GUI程序编码。
图11表示GUI程序生成模块生成的GUI程序的一个例子。
图中,961、 962、 963与插入有构成GUI画面的GUI部件的编码 的部分相当。
这样,通过将用于生成GUI部件的编码的信息预先记述在GUI部 件通用结构数据,能够使与目标机器的环境对应的编码的生成变得容 易。
另夕卜,在本实施例中,记载了 GUI部件通用结构数据库104、 GUI 画面结构数据202、雏形编码保持模块302存在于不同的存储模块,但 即使存储于相同的存储模块也没有问题。
如上所述,根据本发明的实施例,在不依存于目标机器的程序语 言的通用形式下,使用不依存于程序语言的形式的通用GUI画面结构 数据,在编辑GUI画面之后,变换成在目标环境下能够执行的GUI程 序。因此,即使是没有面向嵌入式设备的应用程序开发的经验的开发 者,或设计者等没有程序设计的知识的开发者,与以往相比也能够简 单地制作形成GUI画面。此外,能够从制作形成的GUI画面简单地生 成在嵌入式设备的实机上运行的GUI应用程序。
另外,在上述实施例的说明中,虽然以XML为例进行了说明,但 并不限定于此,也可以为被称为记述有数据的意思或结构的标记语言 的形式。例如,即使使用被称为XHTML (注册商标)的标记语言,也 能够实施基于本发明的上述实施例。
如上所述,根据本发明,与以往相比能够改善面向嵌入式设备等 的GUI应用程序的开发的效率。
权利要求
1.一种GUI应用程序开发支持装置,其用于对图形用户界面应用程序进行开发,其特征在于,包括能够用通用的程序语言进行使用的GUI部件通用结构数据;和使用所述GUI部件通用结构数据包含的GUI部件,将GUI的画面作为能够用通用的程序语言进行使用的GUI画面结构数据而生成的GUI画面编辑模块。
2. —种GUI应用程序开发支持装置,其用于对图形用户界面应用程序进行开发,其特征在于,包括能够用通用的程序语言进行使用的GUI部件通用结构数据;和 使用所述GUI部件通用结构数据所包含的GUI部件,将GUI的画面作为能够用通用的程序语言进行使用的GUI画面结构数据而生成的GUI画面编辑模块;和使用所述GUI画面结构数据,和作为在目标机器中能够执行的程序的雏形程序,生成在目标机器中能够执行的形式的GUI应用程序的GUI程序生成模块。
3. 如权利要求1或2所述的GUI应用程序开发支持装置,其特征 在于,包括从作为被目标机器定义的GUI部件的库的独自定义GUI部件库生 成能够用通用的程序语言进行使用的GUI部件通用结构数据的GUI部 件通用结构数据生成模块。
4. 如权利要求1或2所述的GUI应用程序开发支持装置,其特征 在于所述GUI部件通用结构数据生成模块生成 所述独自定义GUI部件库包含的GUI部件的一览数据;禾口 对每个GUI部件表示GUI部件的GUI部件通用结构数据。
5. 如权利要求1或2所述的GUI应用程序开发支持装置,其特征在于在所述GUI部件的一览数据中至少包含,对于与GUI部件类对应的GUI部件通用结构数据的链接信息。
6. 如权利要求1或2所述的GUI应用程序开发支持装置,其特征在于在所述GUI部件通用结构数据中至少包含, 在所述独自定义GUI部件库中使用的GUI部件类的名称; 设定所述独自定义GUI部件的特性的属性的名称和该属性的数据 类型;和作为GUI部件类继承的其它GUI部件类的继承GUI部件类对于 GUI部件通用结构数据的链接信息。
7. 如权利要求6所述的GUI应用程序开发支持装置,其特征在于 所述独自定义GUI部件的特性为包括大小、颜色的GUI部件的特性。
8. 如权利要求1或2所述的GUI应用程序开发支持装置,其特征 在于所述通用GUI部件结构数据以XML记述。
9. 如权利要求1或2所述的GUI应用程序开发支持装置,其特征 在于所述GUI画面编辑模块包括GUI部件选择模块,其向用户提示能够利用的GUI部件的一览, 使用户选择、配置在GUI画面配置的GUI部件;属性编辑模块,其提供设定GUI部件的属性值的I/F;和 GUI画面结构数据生成模块,其相对于被选择、配置的所述GUI 部件,从所述GUI部件通用结构数据库取得分别对应的GUI部件通用 结构数据,通过所述属性编辑模块设定属性值并生成个别GUI部件通 用结构数据,从该各个个别GUI部件通用结构数据生成GUI画面结构数据。
10. 如权利要求1或2所述的GUI应用程序开发支持装置,其特征在于所述GUI程序生成模块包括GUI部件的编码生成部,其从所述GUI画面结构数据参照个别GUI部件通用结构数据,生成被目标机器定义的GUI部件的编码;和GUI画面程序生成模块,其使用作为具有能够在目标机器执行的 应用程序的基本结构的程序的雏形程序,和在所述GUI部件的编码生 成部生成的GUI部件的编码,生成能够在目标机器执行的形式的GUI应用程序。
11. 一种GUI应用程序开发支持方法,其用于对图形用户界面应 用程序进行开发,其特征在于,包括生成能够用通用的程序语言进行使用的GUI部件通用结构数据的 GUI部件通用结构数据生成步骤;和使用所述GUI部件通用结构数据包含的GUI部件,将GUI的画面 作为能够用通用的程序语言进行使用的GUI画面结构数据而生成的 GUI画面编辑步骤。
12. —种GUI应用程序开发支持方法,其提供用于对图形用户界 面应用程序进行开发的环境,其特征在于,包括生成能够用通用的程序语言进行使用的GUI部件通用结构数据的 GUI部件通用结构数据生成步骤;和使用所述GUI部件通用结构数据包含的GUI部件,将GUI的画面 作为能够用通用的程序语言进行使用的GUI画面结构数据而生成的 GUI画面编辑步骤;和使用所述GUI画面结构数据,和作为在目标机器中能够执行的程 序的雏形程序,生成在目标机器中能够执行的形式的GUI应用程序的 GUI程序生成步骤。
13. 如权利要求11或12所述的GUI应用程序开发支持方法,其特征在于,包括从作为被目标机器定义的GUI部件的库的独自定义GUI部件库生 成能够用通用的程序语言进行使用的GUI部件通用结构数据的GUI部 件通用结构数据生成步骤。
14. 如权利要求11或12所述的GUI应用程序开发支持方法,其 特征在于所述GUI部件通用结构数据生成步骤生成所述独自定义GUI部件库包含的GUI部件的一览数据;和对每个GUI部件表示GUI部件的GUI部件通用结构数据。
15. 如权利要求11或12所述的GUI应用程序开发支持方法,其特征在于在所述GUI部件的一览数据中至少包含,对于与GUI部件类对应的GUI部件通用结构数据的链接信息。
16. 如权利要求11或12所述的GUI应用程序开发支持方法,其 特征在于在所述GUI部件通用结构数据中至少包含, 在所述独自定义GUI部件库中使用的GUI部件类的名称; 设定所述独自定义GUI部件的特性的属性的名称和该属性的数据 类型;和作为GUI部件类继承的其它GUI部件类的继承GUI部件类对于 GUI部件通用结构数据的链接信息。
17. 如权利要求16所述的GUI应用程序开发支持方法,其特征在于所述独自定义GUI部件的特性为包括大小、颜色的GUI部件的特性。
18. 如权利要求11或12所述的GUI应用程序开发支持方法,其特征在于所述通用GUI部件结构数据以XML记述。
19. 如权利要求11或12所述的GUI应用程序开发支持方法,其特征在于所述GUI画面编辑步骤包括GUI部件选择步骤,其向用户提示能够利用的GUI部件的一览, 使用户选择、配置在GUI画面配置的GUI部件;属性编辑步骤,其提供设定GUI部件的属性值的I/F;禾口 GUI画面结构数据生成步骤,其相对于被选择、配置的所述GUI 部件,从所述GUI部件通用结构数据库取得分别对应的GUI部件通用 结构数据,通过所述属性编辑步骤设定属性值并生成个别GUI部件通 用结构数据,从该各个个别GUI部件通用结构数据生成GUI画面结构 数据。
全文摘要
本发明涉及GUI应用程序开发支持装置和开发支持方法。在面向嵌入式设备的图形用户界面应用程序中,设置有GUI部件通用结构数据生成模块和GUI画面编辑模块和GUI程序生成模块。GUI画面编辑模块,向用户提供使用上述GUI部件通用结构数据生成模块生成的上述GUI部件通用结构数据所表现的GUI部件来制作形成GUI画面的模块,用户制作形成的GUI画面作为不依存于程序语言的形式的通用GUI画面结构数据而生成。GUI程序生成模块,使用通过GUI画面编辑模块生成的通用GUI画面结构数据和在目标机器中能够执行的程序,生成在目标机器能够执行的形式的GUI应用程序。由此,能够提供一种使面向嵌入式设备的用户界面应用程序的开发支持与以往相比变得容易的技术。
文档编号G06F9/44GK101344846SQ20081010937
公开日2009年1月14日 申请日期2008年6月2日 优先权日2007年7月12日
发明者大条成人, 田中真愉子 申请人:株式会社日立制作所