数值模拟图形用户界面自动生成方法及系统
技术领域
本发明涉及数据处理技术领域,具体涉及一种数值模拟图形用户界面自动生成方法及系统。
背景技术
当前,学术界使用的前沿数值模拟软件使用者需要先手工编写一个文本形式的输入文件,内含对数值模拟软件的控制参数。然后将该文件与模型文件等其他数值模拟软件启动时需要的输入文件一同传递给数值模拟软件,经由数值模拟软件计算后得到模拟结果并输出。使用者人为编写输入文件,需要其对需要使用的数值模拟软件非常了解,才能提供能够使得软件运行的足量的输入信息。其中,若在人为编写过程中出现信息缺失或编写格式错误等问题时,均会使得数值模拟软件运行异常。因此,若能够为数值模拟软件提供一套图形用户界面,那么使用者即可以通过该图形用户界面生成正确且完整的输入文件。
现有技术中,由于数值模拟软件众多,不同领域所使用的数值模拟软件的输入文件格式也不一,无法设计一套通用的图形用户界面来适应所有数值模拟软件,因此,现有的数值模拟软件通常不具备图形用户界面(GUI,Graphical user interface),同时,人为编写图形用户界面虽然能够满足不同数值模拟软件对输入信息的要求,但由于工作量巨大且重复性工作较多,以及,即使是同一数值模拟软件,针对具体的不同模拟案例,输入文件也不尽相同等原因,使得以人为编写的方式生成数值模拟图形用户界面的方式,均存在图形用户界面生成效率慢且无法满足复用及拓展需求等问题。
因此,如何提供一种能够快速且准确地生成图形用户界面的方法,是亟待解决的问题。
发明内容
针对现有技术中的问题,本发明提供一种数值模拟图形用户界面自动生成方法及系统,能够自动生成数值模拟图形用户界面,并显著提高图形用户界面的生成效率及准确性,以及能够有效提高图形用户界面可复用性及可扩展性。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种数值模拟图形用户界面自动生成方法,所述图形用户界面自动生成方法包括:
接收并读取目标数值模拟软件对应的输入模板描述文件,其中,所述输入模板描述文件根据预设的输入模板描述模型生成;
以及,根据所述输入模板描述文件向预设的图形用户界面框架中自动添加对应的界面元素,得到目标数值模拟图形用户界面。
一实施例中,所述输入模板描述模型包括:数据要素模块、结构要素模块和逻辑要素模块;
所述数据要素模块用于记录输入模板中的数据项和数据库的数据信息;
所述结构要素模块用于记录输入模板中的数据项和数据库的结构关系;
所述逻辑要素模块用于记录输入模板中的数据项与数据库的逻辑关系。
一实施例中,所述数据要素模块用于记录输入模板中的数据项和数据库的数据信息,包括:
所述数据要素模块用于记录数据项的键元素的名称、数据项的值元素的类型、数据项的值元素的默认值,以及,数据库的名称。
一实施例中,所述结构要素模块用于记录输入模板中的数据项和数据库的结构关系,包括:
所述结构要素模块用于记录同一数据库下的各个数据项之间的前后关系、数据库与所包含的数据项之间的包含关系、各个数据库之间的前后关系,以及,各个数据库之间的包含关系。
一实施例中,所述逻辑要素模块用于记录输入模板中的数据项与数据库的逻辑关系,包括:
所述逻辑要素模块用于记录数据项与数据库的激活条件、数据项的值元素的有效取值范围,以及,数据库的添加逻辑;
其中,所述激活条件用于记录数据项与数据库的激活逻辑,所述数据项的值元素的有效取值范围用于记录数据项的值元素的输入合法性逻辑,所述数据库的添加逻辑用于记录数据库的添加方式。
一实施例中,所述图形用户界面框架包括:数据库的导航区和数据项的编辑区;
所述数据库的导航区用于以树形布局形式显示添加逻辑为固定的数据库之间的前后关系以及包含关系,以及,用于显示在该导航区添加逻辑为动态添加的数据库节点的方式信息;
所述数据项的编辑区用于以列表布局形式显示同一数据库下的所有数据项的值元素的输入控件,且用于显示选中的数据库内所包含的数据项的值元素的输入控件。
一实施例中,所述图形用户界面包括:与所述数据要素模块对应的控件模块、与所述结构要素模块对应的布局模块,以及,与所述逻辑要素模块对应的逻辑模块。
一实施例中,所述控件模块包括:图形用户界面中的数据项的值元素的输入控件前的说明文本控件、图形用户界面中的数据项的值元素的输入控件类型、图形用户界面中的数据项的值元素的输入控件中的默认值,以及,图形用户界面中的数据库的编辑节点控件的显示名称;
其中,所述图形用户界面中的数据项的值元素的输入控件前的说明文本控件与所述数据要素模块中的数据项的键元素的名称一一对应;
所述图形用户界面中的数据项的值元素的输入控件类型与所述数据要素模块中的数据项的值元素的类型一一对应;
所述图形用户界面中的数据项的值元素的输入控件中的默认值与所述数据要素模块中的数据项的值元素的默认值一一对应;
所述图形用户界面中的数据库的编辑节点控件的显示名称与所述数据要素模块中的数据库的名称一一对应。
一实施例中,所述结构要素模块与所述布局模块之间的对应关系包括:
所述结构要素模块中的同一数据库下的数据项之间的前后关系,在图形用户界面上以列表布局的形式表示;
所述结构要素模块中的数据库与所包含的数据项之间的包含关系,在图形用户界面上以选中数据库后动态切换数据项的列表布局中的内容的方式来表示;
所述结构要素模块中的各个数据库之间的前后关系以及包含关系,在图形用户界面上以树形布局的形式表示。
一实施例中,所述逻辑要素模块与所述逻辑模块之间的对应关系包括:
所述逻辑要素模块中的数据项是否激活,对应于所述逻辑模块中的数据项的值元素的输入控件是否可用;
所述逻辑要素模块中的数据库是否激活,对应于树形布局中该数据库节点是否可见;
所述逻辑要素模块中的数据项的值元素的有效取值范围,对应于用户输入数据项的值元素后的有效性判断及错误提示;
所述逻辑要素模块中的数据库的添加逻辑,对应于树形布局中数据库节点的添加逻辑。
一实施例中,所述根据所述输入模板描述文件向预设的图形用户界面框架中自动添加对应的界面元素,得到目标数值模拟图形用户界面,包括:
在读取目标数值模拟软件对应的输入模板描述文件之后,在根据所述输入模板描述模型生成的所述输入模板描述文件中,解析得到数据要素模块、结构要素模块和逻辑要素模块;
根据所述数据要素模块、结构要素模块和逻辑要素模块,在所述图形用户界面框架中动态地添加对应的界面元素及交互逻辑,完成所述目标数值模拟图形用户界面的自动生成。
第二方面,本发明提供一种数值模拟图形用户界面自动生成系统,所述图形用户界面自动生成系统包括:
输入模板描述文件接收及读取单元,用于接收并读取目标数值模拟软件对应的输入模板描述文件,其中,所述输入模板描述文件根据预设的输入模板描述模型生成;
图形用户界面生成单元,用于根据所述输入模板描述文件向预设的图形用户界面框架中自动添加对应的界面元素,得到目标数值模拟图形用户界面。
由上述技术方案可知,本发明提供一种数值模拟图形用户界面自动生成方法,通过接收并读取目标数值模拟软件对应的输入模板描述文件,其中,所述输入模板描述文件根据预设的输入模板描述模型生成;以及,根据所述输入模板描述文件向预设的图形用户界面框架中自动添加对应的界面元素,得到目标数值模拟图形用户界面,能够自动生成数值模拟图形用户界面,并显著提高图形用户界面的生成效率及准确性,以及能够有效提高图形用户界面可复用性及可扩展性,进而保证了使用者通过该图形用户界面进行输入文件编写的准确性和完整性,以及能够显著提高输入文件的编写效率,使得使用者可以通过该图形用户界面进行输入参数的设置,则可以通过图形用户界面对数值模拟软件使用者的输入进行限制、对其输入做完整性的检查、自动生成文本形式的输入文件,来保证数值模拟软件使用者正确、完整的进行参数设置,从而能够保证生成的输入文件正确、完整。降低数值模拟软件运行过程中产生异常的可能性,提高用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例一中的数值模拟图形用户界面自动生成方法的流程示意图。
图2为本发明的图形用户界面自动生成方法中步骤200的流程示意图。
图3为本发明应用实例中的输入模板模型要素示意图。
图4为本发明应用实例中的输入模板编辑工具结构示意图。
图5为本发明应用实例中的数值模拟图形用户界面模型要素示意图。
图6为本发明应用实例中的数值模拟图形用户界面自动生成系统结构示意图。
图7为本发明应用实例中的数值模拟图形用户界面自动生成流程示意图。
图8为本发明应用实例中的数值模拟图形用户界面使用流程示意图。
图9为本发明的实施例二中的数值模拟图形用户界面自动生成系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例一提供一种数值模拟图形用户界面自动生成方法的具体实施方式,参见图1,所述数值模拟图形用户界面自动生成方法具体包括如下内容:
步骤100:接收并读取目标数值模拟软件对应的输入模板描述文件,其中,所述输入模板描述文件根据预设的输入模板描述模型生成。
在步骤100中,数值模拟图形用户界面自动生成系统接收并读取目标数值模拟软件对应的输入模板描述文件,且所述输入模板描述文件根据预设的输入模板描述模型生成。可以理解的是,所述数值模拟图形用户界面自动生成系统可以体现为一种服务器,所述数值模拟图形用户界面自动生成系统的硬件组成中也可以包括终端设备,所述终端设备可以具有显示功能。具体地,所述终端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
所述服务器可以与所述终端设备进行通信。所述服务器与所述终端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
可以理解的是,目标数值模拟软件对应的输入模板描述文件是指该目标数值模拟软件的软件编写者根据本实施例中预先建立的输入模板描述模型,编写得到所述输入模板描述文件,而后将该输入模板描述文件存储至所述数值模拟图形用户界面自动生成系统中或指定数据库中,在所述数值模拟图形用户界面自动生成系统接收到触发指令后,从自身存储模块或指定数据库中调取所述输入模板描述文件,而后接收该输入模板描述文件,并在接收后读取该输入模板描述文件,其中,所述输入模板描述模型中包含有“数据”、“结构”、“逻辑”三类核心要素。
步骤200:根据所述输入模板描述文件向预设的图形用户界面框架中自动添加对应的界面元素,得到目标数值模拟图形用户界面。
在步骤200中,所述数值模拟图形用户界面自动生成系统在读取所述输入模板描述文件之后,根据该输入模板描述文件向预设的图形用户界面框架中自动添加对应的界面元素,得到目标数值模拟图形用户界面。
可以理解的是,所述图形用户界面由“控件”、“布局”、“逻辑”三要素组成,且与所述输入模板描述模型中的“数据”、“结构”、“逻辑”三类核心要素一一对应。所述图形用户界面框架用于将所述图形用户界面上的“控件”、“布局”、“逻辑”三要素容纳起来,形成可用的图形用户界面,且该图形用户界面框架能够有效体现输入模板的三要素,从而保证数值模拟软件使用者可以基于该图形用户界面填入数据项“值”的信息,并能进行输入有效性、完整性的判断,进而保证最终生成的输入文件的有效性、完整性。在一种举例中,所述数值模拟图形用户界面自动生成系统中还可以包含有一个界面元素动态添加模块,该界面元素动态添加模块对经读取的输入模板描述文件进行解析处理,并向数值模拟图形用户界面框架中动态添加所需的界面元素,自动形成该目标数值模拟图形用户界面。
从上述描述可知,本发明的实施例提供的数值模拟图形用户界面自动生成方法,能够自动生成数值模拟图形用户界面,并显著提高图形用户界面的生成效率及准确性,以及能够有效提高图形用户界面可复用性及可扩展性。
在一种具体实施方式中,本发明的数值模拟图形用户界面自动生成方法中的输入文件中记录有对应的目标数值模拟软件运行过程中的控制参数,且包含有数据项和数据库;所述数据项用于以键值对的方式记录所述控制参数,所述数据库为所述数据项的集合,且各个数据项均存储在对应的数据库中;其中,所述键值对由对应的键元素和值元素组成,所述键元素代表所述控制参数的名称,所述值元素代表所述控制参数的数值。
可以理解的是,输入文件中记录了数值模拟软件运行过程中需要的控制参数。输入文件通常为文本形式的文件。输入文件中通常包含两种类型的内容:数据项和数据库。每条数据项使用“键值对”的方式记录了一个控制参数。“键”代表控制参数的名称,“值”代表控制参数的数值。数据库为数据项的集合,数据项不能独立存在,每条数据项必从属于某一数据库。数据库中也可以包含其他子数据库,包含子数据库的数据库可以不包含数据项。
在一种具体实施方式中,本发明的数值模拟图形用户界面自动生成方法中还包含有预先建立输入模板对应的输入模板描述模型的步骤,其中,输入模板用来描述同一数值模拟软件针对不同模拟案例生成不同的输入文件时所遵循的基本规则。每款数值模拟软件都对应唯一的一个输入模板,数值模拟软件使用者在输入模板规则约束下,针对不同实际模拟案例,可以编写出不同案例所需的输入文件。输入模板描述模型提炼了不同数值模拟软件对应的不同输入模板的共性,通过该模型的实例化,数值模拟软件编写者可以得到满足其编写的数值模拟软件需求的输入模板。
具体来说,参见表1,所述输入模板描述模型至少包含有数据要素模块A1、结构要素模块A2和逻辑要素模块A3,分别对应前述的“数据”、“结构”、“逻辑”三类核心要素。
表1
所述数据要素模块用于记录输入模板中的数据项和数据库的数据信息;所述结构要素模块用于记录输入模板中的数据项和数据库的结构关系;所述逻辑要素模块用于记录输入模板中的数据项与数据库的逻辑关系。
其一,参见表2,所述输入模板描述模型中的数据要素模块A1具体用于记录如下内容:
(1)数据项的键元素的名称A1-1;
(2)数据项的值元素的类型A1-2;
(3)数据项的值元素的默认值A1-3;
(4)数据库的名称A1-4。
表2
在上述描述中,所述输入模板描述模型中的数据要素模块A1主要记录输入模板中的数据项与数据库的数据信息,包括:数据项“键”的名称、数据项“值”的类型、数据项“值”的默认值及数据库的名称。
其二,参见表3,所述输入模板描述模型中的结构要素模块A2具体用于记录如下内容:
(1)同一数据库下的各个数据项之间的前后关系A2-1;
(2)数据库与所包含的数据项之间的包含关系A2-2;
(3)各个数据库之间的前后关系A2-3;
(4)各个数据库之间的包含关系A2-4。
表3
在上述描述中,所述输入模板描述模型中的结构要素模块A2主要记录输入模板中的数据项与数据库的结构关系,包括:同一数据库下的数据项之间的前后关系、数据库包含数据项的包含关系、数据库之间的前后关系以及数据库之间的包含关系。
其二,参见表4,所述输入模板描述模型中的逻辑要素模块A3具体用于记录如下内容:
(1)数据项与数据库的激活条件A3-1,其中,所述激活条件用于记录数据项与数据库的激活逻辑。
(2)数据项的值元素的有效取值范围A3-2,其中,所述数据项的值元素的有效取值范围用于记录数据项的值元素的输入合法性逻辑。
(3)数据库的添加逻辑A3-3,其中,所述数据库的添加逻辑用于记录数据库的添加方式。
表4
在上述描述中,所述输入模板描述模型中的逻辑要素模块A3主要记录输入模板中的数据项与数据库的逻辑关系,包括:数据项与数据库的激活条件、数据项“值”的有效取值范围、数据库的添加逻辑。
上述“激活条件”用来记录数据项与数据库的激活逻辑。通常,数据项和数据库在实际数值模拟案例中都是默认激活的,即他们会在软件运行中起效。但在某些案例中,某些数据项或数据库仅当满足一定条件时才激活,若条件不满足,它们将处于非激活状态,即在软件运行中不会起效。某数据项或数据库的激活条件可以使用条件表达式来表达,条件表达式中可以使用的变量为定义在该数据项或数据库之前的其他数据项,条件表达式计算结果为真时,该数据项或数据库激活,条件表达式计算结果为假时,该数据项或数据库不激活。
上述数据项“值”的有效取值范围用来记录数据项“值”的输入合法性逻辑。当数值模拟软件使用者输入的值在该数据项“值”的有效取值范围之内时,输入合法,否则,输入不合法,应提示数值模拟软件使用者修改输入值。
上述数据库的添加逻辑用来记录实际案例中数据库是怎么添加的。数据库的添加逻辑分为“默认添加”和“动态添加”两类。实际案例中,大部分数据库都是默认添加到输入文件中的,但有时数值模拟软件使用者需要根据实际情况来从一些数据库中动态的选择一部分添加到输入文件中,这些准备被数值模拟软件使用者选择添加的数据库的添加逻辑为“动态添加”。
在一种具体实施方式中,本发明的数值模拟图形用户界面自动生成方法中,所述图形用户界面框架至少包含有如下内容:
数据库的导航区和数据项的编辑区。
所述数据库的导航区用于以树形布局形式显示添加逻辑为固定的数据库之间的前后关系以及包含关系,以及,用于显示在该导航区添加逻辑为动态添加的数据库节点的方式信息。
所述数据项的编辑区用于以列表布局形式显示同一数据库下的所有数据项的值元素的输入控件,且用于显示选中的数据库内所包含的数据项的值元素的输入控件。
在上述描述中,通过图形用户界面框架,将所述图形用户界面上的“控件”、“布局”、“逻辑”要素容纳起来,形成可用的图形用户界面。所述界面框架包括:数据库“树形布局”导航区及数据项“列表布局”编辑区。数据库“树形布局”导航区以“树形布局”的形式展示添加逻辑为固定的数据库之间的前后关系以及包含关系,并提供给数值模拟软件使用者在树形布局中增加添加逻辑为动态添加的数据库节点的方法。数据项“列表布局”编辑区以“列表布局”的形式展示同一数据库下的所有数据项“值”的输入控件。数据项“列表布局”编辑区的内容根据数值模拟软件使用者选中的数据库“树形布局”导航区中的数据库节点不同而动态变化,始终显示选中的数据库内所包含的数据项的“值”输入控件。该界面框架有效的体现了输入模板的三要素,从而保证数值模拟软件使用者可以基于该图形用户界面填入数据项“值”的信息,并能进行输入有效性、完整性的判断,进而保证最终生成的输入文件的有效性、完整性。
从上述描述可知,本发明的实施例提供的数值模拟图形用户界面自动生成方法,基于输入模板中“数据”、“结构”、“逻辑”三要素与图形用户界面上的“控件”、“布局”、“逻辑”的一一对应关系,在上述界面框架的支撑下,载入一个已有的输入模板描述文件,解析其中的三要素后,动态的在界面框架中添加对应的内容、建立交互逻辑,完成数值模拟图形用户界面的自动生成。
在一种具体实施方式中,参见表5,本发明的数值模拟图形用户界面自动生成方法中的图形用户界面至少包含有:
与所述数据要素模块A1对应的控件模块B1、与所述结构要素模块A2对应的布局模块B2,以及,与所述逻辑要素模块A3对应的逻辑模块B3。
表5
其一,参见表6,所述控件模块B1中至少包含有如下内容:
(1)图形用户界面中的数据项的值元素的输入控件前的说明文本控件B1-1,其中,所述图形用户界面中的数据项的值元素的输入控件前的说明文本控件B1-1与所述数据要素模块中的数据项的键元素的名称A1-1一一对应;
(2)图形用户界面中的数据项的值元素的输入控件类型B1-2,其中,所述图形用户界面中的数据项的值元素的输入控件类型B1-2与所述数据要素模块中的数据项的值元素的类型A1-2一一对应;
(3)图形用户界面中的数据项的值元素的输入控件中的默认值B1-3,其中,所述图形用户界面中的数据项的值元素的输入控件中的默认值B1-3与所述数据要素模块中的数据项的值元素的默认值A1-3一一对应;
(4)图形用户界面中的数据库的编辑节点控件的显示名称B1-4,其中,所述图形用户界面中的数据库的编辑节点控件的显示名称B1-4与所述数据要素模块中的数据库的名称A1-4一一对应。
表6
在上述描述中,输入模板中“数据”要素与图形用户界面上的“控件”之间的对应关系为:数据项“键”的名称对应界面上数据项“值”的输入控件前的说明文本控件、数据项“值”的类型对应界面上数据项“值”的输入控件类型、数据项“值”的默认值对应界面上数据项“值”的输入控件中的默认值、数据库的名称对应界面上数据库的编辑节点控件的显示名称。
其二,参见表7,所述布局模块B2与结构要素模块A2之间的对应关系如下:
(1)所述结构要素模块中的同一数据库下的数据项之间的前后关系A2-1,在图形用户界面上以列表布局的形式表示;
(2)所述结构要素模块中的数据库与所包含的数据项之间的包含关系A2-2,在图形用户界面上以选中数据库后动态切换数据项的列表布局中的内容的方式来表示;
(3)所述结构要素模块中的各个数据库之间的前后关系A2-3以及包含关系A2-4,在图形用户界面上以树形布局的形式表示。
表7
在上述描述中,输入模板中“结构”要素与图形用户界面上的“布局”之间的对应关系为:同一数据库下的数据项之间的前后关系在界面上以“列表布局”表示、数据库包含数据项的包含关系在界面上以选中数据库后动态切换数据项“列表布局”中的内容的方式来表示、数据库之间的前后关系以及包含关系在界面上以“树形布局”表示。
其三,参见表8,所述逻辑模块B3与逻辑要素模块A3之间的对应关系如下:
(1)数据项的值元素的输入控件是否可用B3-1,其中,所述逻辑要素模块A3中的数据项是否激活(即数据项与数据库的激活条件A3-1),对应于所述逻辑模块B3中的数据项的值元素的输入控件是否可用B3-1。
(2)树形布局中该数据库节点是否可见B3-2,其中,所述逻辑要素模块A3中的所述逻辑要素模块中的数据库是否激活(即数据项与数据库的激活条件A3-1),对应于所述逻辑模块B3中的所述树形布局中该数据库节点是否可见B3-2。
(3)用户输入数据项的值元素后的有效性判断及错误提示B3-3,其中,所述逻辑要素模块A3中的数据项的值元素的有效取值范围A3-2,对应于用户输入数据项的值元素后的有效性判断及错误提示B3-3。
(4)树形布局中数据库节点的添加逻辑B3-4,其中,所述逻辑要素模块A3中的数据库的添加逻辑A3-3,对应于树形布局中数据库节点的添加逻辑B3-4。
表8
在上述描述中,输入模板中“逻辑”要素与图形用户界面上的“逻辑”之间的对应关系为:数据项是否激活对应数据项“值”的输入控件是否可用、数据库是否激活对应“树形布局”中该数据库节点是否可见、数据项“值”的有效取值范围对应数值模拟软件使用者输入数据项“值”后的有效性判断及错误提示、数据库的添加逻辑对应“树形布局”中数据库节点的添加逻辑。
在一种举例中,本实施例中还可以包含有一种数值模拟软件使用总系统,该数值模拟软件使用总系统中包含有所述数值模拟图形用户界面自动生成系统,其中,所述图形用户界面自动生成系统中具体包含有:数值模拟图形用户界面框架C2、界面元素动态添加模块C3和数据项输入控件库C4;除所述数值模拟图形用户界面自动生成系统之外,所述数值模拟软件使用总系统中还包含有:输入模板编辑工具C1、输入文件生成模块C5和数值模拟软件调用模块C6,具体说明如下:
输入模板编辑工具C1,用于向数值模拟软件编写者提供图形化的输入模板编辑界面,保证输入模板三要素的有效表达,并生成有效的输入模板描述文件。
数值模拟图形用户界面框架C2,用于容纳动态添加的图形用户界面元素。
界面元素动态添加模块C3,用于解析输入模板描述文件,并将所需界面元素动态添加到数值模拟图形用户界面框架中。
数据项输入控件库C4,用于提供各种不同类型的数据项“值”的输入控件,由界面元素动态添加模块选择所需的数据项输入控件添加到数值模拟图形用户界面框架中。
输入文件生成模块C5,用于解析数值模拟软件使用者在生成的数值模拟图形用户界面中填写的内容,并生成合法的输入文件;
数值模拟软件调用模块C6,用于将生成的输入文件提供给数值模拟软件作为输入,并启动数值模拟软件进行模拟计算。
从上述描述可知,本发明的实施例中的数值模拟图形用户界面自动生成方法,通过数值模拟软件编写者使用输入模板编辑工具,表达输入模板三要素,生成输入模板描述文件;图形用户界面自动生成系统读取模板描述文件,由界面元素动态添加模块解析模板描述文件,并向数值模拟图形用户界面框架中动态添加所需的界面元素,形成数值模拟图形用户界面;针对模拟实例需求,数值模拟软件使用者在数值模拟图形用户界面中填写输入信息;数值模拟图形用户界面检查数值模拟软件使用者输入信息的有效性、完整性并向数值模拟软件使用者做出无效信息、不完整信息的提示;在确保了输入信息的有效性及完整性的情况下,由输入文件生成模块生成输入文件;数值模拟软件调用模块调用数值模拟软件,将生成的输入文件作为软件输入,启动数值模拟。
在一种具体实施方式中,本发明还提供所述数值模拟图形用户界面自动生成方法中步骤200的具体实施方式,参见图2,所述步骤200具体包括如下内容:
步骤201:在读取目标数值模拟软件对应的输入模板描述文件之后,在根据所述输入模板描述模型生成的所述输入模板描述文件中,解析得到数据要素模块、结构要素模块和逻辑要素模块。
步骤202:根据所述数据要素模块、结构要素模块和逻辑要素模块,在所述图形用户界面框架中动态地添加对应的界面元素及交互逻辑,完成所述目标数值模拟图形用户界面的自动生成。
从上述描述可知,本发明的实施例中的数值模拟图形用户界面自动生成方法,能够自动生成数值模拟图形用户界面,并显著提高图形用户界面的生成效率及准确性,以及能够有效提高图形用户界面可复用性及可扩展性。
为进一步的说明本方案,本发明还提供一种数值模拟图形用户界面自动生成方法的具体应用实例,具体包括如下内容:
参见图3,本发明应用实例所提供的输入模板模型由“数据”要素401、“结构”要素402及“逻辑”要素403这三大类要素组成,其中:
“数据”要素401记录输入模板中数据项与数据库的数据信息,包括:数据项“键”名称404、数据项“值”类型405、数据项“值”默认值406及数据库名称407。
“结构”要素402记录输入模板中的数据项与数据库的结构关系,包括:数据项之间前后关系408、数据库之间前后关系409、数据库包含数据项410及数据库包含数据库411。
“逻辑”要素403记录输入模板中的数据项与数据库的逻辑关系,包括:数据项激活条件412、数据库激活条件413、数据项“值”有效范围414及数据库添加逻辑415。
数值模拟软件编写者通过对上述要素进行描述,便可以将输入模板模型进行特化,形成其编写的数值模拟软件所需的输入模板实例。这一过程可以使用输入模板编辑工具,让数值模拟软件编写者更便捷的对上述要素进行描述。信息填写完成后,输入模板编辑工具将生成输入模板描述文件,该文件可以使用包括但不限于xml、json的数据格式进行记录。
参见图4,本发明应用实例所提供的输入模板编辑工具由数据库“结构”编辑区501、数据项“结构”编辑区502、数据库属性编辑区503、数据项属性编辑区504及输入模板描述文件生成单元505五部分组成,其中:
数据库“结构”编辑区501以“树形布局”的形式展示数据库之间的前后关系以及包含关系,并提供给数值模拟软件编写者新建数据库节点、删除数据库节点以及调整数据库节点之间关系的方法。
数据项“结构”编辑区502以“列表布局”的形式展示同一数据库下的数据项之间的前后关系,并提供给数值模拟软件编写者新建数据项、删除数据项以及调整数据项之间关系的方法。数据项“结构”编辑区502的内容根据数值模拟软件编写者选中的数据库“结构”编辑区501中的数据库节点不同而动态变化,始终显示选中的数据库内所包含的数据项。
数据库属性编辑区503用来对数据库“结构”编辑区501中选中的数据库的属性进行编辑,包含:数据库名称输入控件、数据库类型选择控件、数据库激活条件设置控件。
数据项属性编辑区504用来对数据项“结构”编辑区502中选中的数据项的属性进行编辑,包含:数据项名称输入控件、数据项“值”类型选择控件、数据项“值”的默认值及有效取值范围设置控件、数据项激活条件设置控件。
输入模板描述文件生成单元505根据数值模拟软件编写者在数据库“结构”编辑区501、数据项“结构”编辑区502、数据库属性编辑区503及数据项属性编辑区504中填写的全部信息,判断输入信息是否完整、有效。当有未填写的项目或填写内容不符合规范时,提示数值模拟软件编写者进行补充、修改。当输入信息完整且有效时,生成输入模板描述文件。
参见图5,本发明应用实例所提供的数值模拟图形用户界面模型由“控件”要素601、“布局”要素602及“逻辑”要素603这三大类要素组成,其中:
“控件”要素601用来将输入模板描述模型中的“数据”要素使用界面控件表示出来,包括:数据项文本控件604、数据项输入控件605、数据项输入控件默认值606及数据库控件607。
“布局”要素602用来将输入模板描述模型中的“结构”要素使用界面布局表示出来,包括:数据项前后布局608、数据库前后布局609、数据库包含数据项布局610及数据库包含数据库布局611。
“逻辑”要素603用来将输入模板描述模型中的“逻辑”要素使用界面交互逻辑表示出来,包括:数据项控件激活条件612、数据库控件激活条件613、数据项输入有效性614及数据库控件添加逻辑615。
数值模拟图形用户界面模型中的要素与输入模板模型中的要素构成一一对应关系,输入模板模型实例化形成输入模板描述文件,数值模拟图形用户界面模型实例化形成数值模拟图形用户界面。当数值模拟软件编写者使用输入模板模型,实例化得到其所编写的数值模拟软件所需的输入模板后,我们便可以使用一一对应关系,为其建立相应的数值模拟图形用户界面。
参见图6,本发明应用实例所提供的数值模拟图形用户界面自动生成系统由输入模板编辑工具701、数值模拟图形用户界面框架702、界面元素动态添加模块703、数据项输入控件库704、输入文件生成模块705及数值模拟软件调用模块706这六部分组成,其中:
输入模板编辑工具701用于向数值模拟软件编写者提供图形化的输入模板编辑界面,保证输入模板三要素的有效表达,并生成有效的输入模板描述文件;
数值模拟图形用户界面框架702用于容纳动态添加的图形用户界面元素;
界面元素动态添加模块703用于解析输入模板描述文件,并将所需界面元素动态添加到数值模拟图形用户界面框架中;
数据项输入控件库704用于提供各种不同类型的数据项“值”的输入控件,由界面元素动态添加模块选择所需的数据项输入控件添加到数值模拟图形用户界面框架中。
输入文件生成模块705用于解析数值模拟软件使用者在生成的数值模拟图形用户界面中填写的内容,并生成合法的输入文件;
数值模拟软件调用模块706用于将生成的输入文件提供给数值模拟软件作为输入,并启动数值模拟软件进行模拟计算。
参见图7,本发明应用实例所提供的数值模拟图形用户界面自动生成流程主要分为四步:
步骤801:数值模拟软件编写者根据其所编写的数值模拟软件对输入信息的需求,使用输入模板编辑工具,编写输入模板,生成输入模板描述文件;
步骤802:数值模拟图形用户界面自动生成系统读取步骤801中生成的输入模板描述文件;
步骤803:由界面元素动态添加模块,对输入模板描述文件进行解析;
步骤804:根据解析结果,向数值模拟图形用户界面框架中动态添加所需的界面元素。包括:根据输入模板中的“数据”要素选择相应的界面“控件”并添加;按照输入模板中的“结构”要素确定界面“布局”;按照输入模板中的“逻辑”要素确定界面控件的“逻辑”。从而完成数值模拟图形用户界面的自动生成。
参见图8,本发明应用实例所提供的数值模拟图形用户界面使用流程主要分为五步:
步骤901:数值模拟软件使用者根据实际案例需求,在数值模拟图形用户界面中填写输入信息;
步骤902:数值模拟图形用户界面进行输入完整性及有效性检查;
步骤903:若通过输入完整性及有效性检查,进入步骤904,否则回到步骤602并提示数值模拟软件使用者对输入信息进行补充或修改;
步骤904:由输入文件生成模块根据数值模拟软件使用者输入的信息,生成输入文件;
步骤905:数值模拟软件调用模块调用数值模拟软件,将输入文件作为输入,启动数值模拟计算。
从上述描述可知,本发明的应用实例提供的一种描述数值模拟软件输入信息的输入模板模型,剥离了不同研究领域的个性语义,使用共性的输入模板三要素来描述输入信息,统一了不同研究领域的数值模拟软件输入信息描述方式,为数值模拟图形用户界面自动生成奠定了基础。本发明提出了一种基于输入模板模型的数值模拟图形用户界面自动生成方法与系统。相较于传统的手工编码实现图形用户界面的方法,本发明提出的方法更为高效,可大幅降低数值模拟图形用户界面的开发耗时。不同研究领域的图形用户界面使用同一套界面生成系统生成,只需对该界面生成系统进行维护,即可做到对全部基于该系统生成的界面的维护,大幅降低软件维护上的人力、物力消耗。界面生成方法与系统易于扩展,可进一步应为未来可能存在的更多需求。
本发明的实施例二提供一种用于实现所述数值模拟图形用户界面自动生成方法中全部内容的数值模拟图形用户界面自动生成系统的具体实施方式,参见图9,所述数值模拟图形用户界面自动生成系统具体包括如下内容:
输入模板描述文件接收及读取单元10,用于接收并读取目标数值模拟软件对应的输入模板描述文件,其中,所述输入模板描述文件根据预设的输入模板描述模型生成;
图形用户界面生成单元20,用于根据所述输入模板描述文件向预设的图形用户界面框架中自动添加对应的界面元素,得到目标数值模拟图形用户界面。
本申请提供的数值模拟图形用户界面自动生成系统的实施例具体可以用于执行上述实施例一中的数值模拟图形用户界面自动生成方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
从上述描述可知,本发明的实施例提供的数值模拟图形用户界面自动生成系统,且所述数值模拟图形用户界面自动生成系统对处理器、存储器等无特殊要求,可运行在常见计算机硬件平台上。所述数值模拟图形用户界面自动生成系统能够自动生成数值模拟图形用户界面,并显著提高图形用户界面的生成效率及准确性,以及能够有效提高图形用户界面可复用性及可扩展性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。