首页> 中国专利> 验证应用程序全球化问题的系统和方法及计算机产品

验证应用程序全球化问题的系统和方法及计算机产品

摘要

提供用全球化规则验证应用程序的全球化问题的系统和方法,该系统包括:全球化规则表示部分,将全球化规则实现为XML定义和探测器定义;应用程序运行部分,运行将要验证其全球化问题的应用程序以产生应用程序的运行环境;应用程序静态分析部分,借助于全球化规则的XML定义,在应用程序源代码中搜索语法方面的全球化问题;应用程序动态分析部分,借助于全球化规则的探测器定义,对应用程序的运行环境进行动态分析以搜索运行环境中语义方面的全球化问题;以及验证矩阵部分,控制上述各部分以根据全球化规则确定的执行顺序验证应用程序的全球化问题。通过静态分析和动态分析间的交互,补救静态分析和动态分析的不足,从而降低开发者需要调查的警告数量。

著录项

  • 公开/公告号CN1908895A

    专利类型发明专利

  • 公开/公告日2007-02-07

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200510089331.8

  • 申请日2005-08-02

  • 分类号G06F9/44;

  • 代理机构北京市柳沈律师事务所;

  • 代理人郭定辉

  • 地址 美国纽约州

  • 入库时间 2023-12-17 18:12:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-10-03

    未缴年费专利权终止 IPC(主分类):G06F9/44 授权公告日:20100505 终止日期:20110802 申请日:20050802

    专利权的终止

  • 2010-05-05

    授权

    授权

  • 2007-04-11

    实质审查的生效

    实质审查的生效

  • 2007-02-07

    公开

    公开

说明书

技术领域

本发明涉及应用程序验证系统和方法,具体地说,本发明涉及借助于一种全球化规则验证矩阵验证应用程序的全球化问题的计算机系统和方法,以及存储执行所述方法的步骤的计算机可读程序的计算机产品。

背景技术

IBM软件产品需要满足列出在全球化白皮书(Globalization Whitepaper)和全球化体系结构规则(Globalization Architecture Imperative)中的全球化需求,以服务全球市场。然而,IBM产品中的很多全球化的问题很难轻易地在开发阶段发现。早先在全球化验证测试(Globalization Verification Test)和翻译验证测试(Translation Verification Test)过程中逃脱检测的缺陷不但会引起严重的返工,而且也会显著地增加开发成本。因此,需要帮助开发者在开发阶段中,早早地发现全球化问题,以利于后期开发工作。

全球化验证测试和和翻译验证测试的传统方法主要有以下两种,它们的一个共同目的是为了降低开发者不得不调查的源代码警告的数量。第一种方法是使用静态分析技术在应用程序源代码中搜索语法方面的全球化问题(syntactic globalization issues)。第二种方法是使用动态分析技术搜索运行环境中语义方面的全球化问题(semantic runtime globalization issues)。这方面的已有技术可以在诸如http://www-306.ibm.com/software/awdtools/developer/application/index.html之类的网站上找到。

目前,存在多种用于静态分析或动态分析的解决方案。然而,几乎所有的静态分析都有如下的局限性:难以了解应用程序的运行环境,并且难以确定目标方法的调用顺序。而所述动态分析也存在局限性:难以了解应用程序的整个逻辑,动态分析依赖于分析应用程序所执行的路径,并且不能覆盖整个应用程序逻辑。而所述验证矩阵使用静态分析、动态分析和这两种方法的混合,以使得通过这两者方法的相互作用更精确地了解所述问题、消除虚假警告并获得验证范围的最大限度。

因此,有必要开发出更好的、用于全球化验证测试和和翻译验证测试的计算机系统和方法。

发明内容

有鉴于此,发明人从全球化开发的最优方法总结出,全球化规则集由问题实例和解决方案建议确定。基于这些规则,创建全球化规则验证矩阵。这种矩阵通常用于帮助开发者在开发阶段中,早早地发现全球化问题。这种矩阵也可以用于后期开发。

本发明的一个目的就是利用所述的全球化规则验证矩阵,验证应用程序的全球化问题的计算机系统和方法,该系统和方法通过所述全球化规则验证矩阵,使对应用程序的静态分析、动态分析混合,以通过这两者方法的相互作用更精确地了解所存在的全球化问题、消除纯粹利用静态分析或动态分析所出现的虚假警告并获得最大限度的验证范围。

为了实现本发明的上述和其他目的,根据本发明的一个方面,提供一种利用全球化规则验证应用程序的全球化问题的计算机系统,该系统包括:全球化规则表示部分,其用于将所述全球化规则实现为XML定义和探测器定义;应用程序静态分析部分,其使用静态分析技术,借助于所述全球化规则表示部分所实现的全球化规则的XML定义,在应用程序源代码中搜索语法方面的全球化问题;应用程序运行部分,用于运行将要验证其全球化问题的应用程序,以产生应用程序的运行环境;应用程序动态分析部分,其使用动态分析技术,借助于所述全球化规则表示部分所实现的全球化规则的探测器定义,对应用程序的运行环境进行动态分析,以搜索运行环境中语义方面的全球化问题;以及验证矩阵部分,其用于控制所述全球化规则表示部分、所述应用程序静态分析部分、所述应用程序动态分析部分和所述应用程序动态分析部分,以根据由所述全球化规则所确定的执行顺序来验证应用程序的全球化问题。

为了实现本发明的上述和其他目的,根据本发明的另一个方面,提供一种在计算机系统中利用全球化规则验证应用程序的全球化问题的方法,包括如下步骤:存储将要用于验证的全球化规则,并由这些全球化规则定义确定静态分析引擎和动态分析引擎的执行顺序,所述全球化规则定义是通过记录下全球化专家输入的执行顺序和所需要的类名、方法名和行号构成的;根据所确定的执行顺序,以及有关于将要用于分析的全球化规则集的相关信息,指令相应的分析引擎执行所述执行顺序所规定的全球化问题的分析;根据作为分析结果的类名、方法名、行号、内容和状态,在静态分析的情况下直接找出与这种规则有关的潜在规则违反,而在动态分析的情况下,先运行要验证全球化问题的应用程序,然后利用与特定的类名对应的测试用例,找出与这种规则有关的某些潜在规则违反;基于所述分析结果和全球化规则实现的另一个规则集是否应该用于动态/静态分析的判断结果,在所述全球化规则实现的另一个规则集可用于动态/静态分析的情况下,接收用于动态/静态分析的全球化规则集,并在动态分析情况下接收测试用例,以使用所接收到的用于动态/静态分析的全球化规则集和/或测试用例来调用相应的动态/静态分析引擎;以及根据作为分析引擎的执行结果的类名、方法名、行号、内容和状态产生报告并呈现给最终用户。

为了实现本发明的上述和其他目的,根据本发明的再一个方面,提供一种计算机产品,用于在其上以计算机可读形式存储计算机程序代码,以使得计算机系统执行所述计算机程序代码来实现步骤:存储将要用于验证的全球化规则,并由这些全球化规则定义确定静态分析引擎和动态分析引擎的执行顺序,所述全球化规则定义是通过记录下全球化专家输入的执行顺序和所需要的类名、方法名和行号构成的;根据所确定的执行顺序,以及有关于将要用于分析的全球化规则集的相关信息,指令相应的分析引擎执行所述执行顺序所规定的全球化问题的分析;根据作为分析结果的类名、方法名、行号、内容和状态,在静态分析的情况下直接找出与这种规则有关的潜在规则违反,而在动态分析的情况下,先运行要验证全球化问题的应用程序,然后利用与特定的类名对应的测试用例,找出与这种规则有关的某些潜在规则违反;基于所述分析结果和全球化规则实现的另一个规则集是否应该用于动态/静态分析的判断结果,在所述全球化规则实现的另一个规则集可用于动态/静态分析的情况下,接收用于动态/静态分析的全球化规则集,并在动态分析情况下接收测试用例,以使用所接收到的用于动态/静态分析的全球化规则集和/或测试用例来调用相应的动态/静态分析引擎;以及根据作为分析引擎的执行结果的类名、方法名、行号、内容和状态产生报告并呈现给最终用户。

本发明的上述解决方案将静态分析的输出与动态分析的输出合并起来解决存在于语义和语法领域中的问题。其主要优点是在静态分析和动态分析之间的双向交互,它补救求了静态分析和动态分析的不足,降低了开发者需要进行调查的警告的数量。

此外,在根据本发明的优选实施例,函数调用以及静态分析和动态分析之间的交流是自动的。验证矩阵将根据全球化规则定义和扫描情形,自动挑选分析方法。

附图说明

通过参照附图对本发明的优选实施例进行详细描述,可以更好地了解有关本发明结构和操作的细节,在附图中:

图1是根据本发明的、利用全球化规则的验证矩阵验证应用程序的全球化问题的体系结构的示意图;

图2是验证矩阵部分的详细结构的示意图;

图3图示了根据本发明的全球化规则管理器210的操作流程图;

图4是根据本发明的一个样本应用程序屏幕的抓取视图;

图5示出根据本发明的一个实施例的静态分析结果的视图;以及

图6示出根据本发明的一个实施例的动态分析结果的视图。

具体实施方式

下面将参照附图描述实施例来说明本发明总的发明构思。在整个附图中,相同的附图标记指的是相同的元件。

图1是根据本发明的、利用全球化规则的验证矩阵验证应用程序的全球化问题的体系结构的示意图。参考图1,验证应用程序的全球化问题的体系结构包括全球化规则表示部分110、应用程序静态分析部分120、应用程序动态分析部分130以及验证矩阵部分140。

全球化规则表示部分110可以将全球化规则实现为XML定义和探测器定义。全球化规则的XML定义和探测器定义将分别由应用程序静态分析部分120和应用程序动态分析部分130用于分析应用程序的全球化问题。

应用程序静态分析部分120使用静态分析技术在应用程序源代码中搜索语法方面的全球化问题(syntactic globalization issues)。根据本发明的一个实施例,IBM公司开发的Rational应用程序分析器(Rational Application Analyzer)可以用作应用程序静态分析部分120的静态分析引擎。Rational应用程序分析器可以在以下网址上找到:http://www-906.ibm.com/software/awdtools/developer/application/index.html。在这种情况下,应用程序静态分析部分120利用Rational应用程序分析器,借助于全球化规则的XML定义实现,来扫描应用程序源代码以检测全球化问题。然而,由于这种分析引擎不了解整体运行环境,而只了解代码的片断,因此,单独使用应用程序静态分析部分120来进行应用程序源代码分析可能会引起某些虚假警告。

因此,有必要利用应用程序动态分析部分130对应用程序的运行环境进行动态分析,以搜索运行环境中语义方面的全球化问题(semantic runtimeglobalization issues)。在本发明的一个实施例中,应用程序动态分析部分130的动态分析引擎可以用IBM公司开发的Rational探测工具包担当。Rational探测工具包也可以在以下网址上找到:http://www-306.ibm.com/software/awdtools/developer/application/index.html。为了利用应用程序动态分析部分130分析应用程序的全球化问题,全球化规则需要实现为探测器定义。应用程序动态分析部分130利用Rational探测工具包在应用程序运行环境中检测全球化缺陷。在初始化应用程序动态分析部分130时,本发明的计算机系统将运行要进行全球化问题验证的应用程序,以产生应用程序运行环境。产生应用程序运行环境的任务可以由本发明的计算机系统的应用程序运行部分(未示出)来实现。

在运行应用程序动态分析部分130过程中,一旦应用程序动态分析部分130发现应用程序调用被探测器挂钩的特殊类或方法,就激发(fire)探测器并执行探测器中的程序,以搜索所述特殊类或方法中可能存在的全球化问题。然而,由于对复杂的应用程序来说,很难经历其所有的执行路径,因此,如果不覆盖关于某些问题的执行路径,就将错过这些问题。

Rational应用程序分析器和Rational探测工具包都作为插件包含在Rational应用程序开发器(Rational Application Developer)中。Rational应用程序开发器也可以在以下网址上找到:http://www-306.ibm.com/software/awdtools/developer/application/index.html。

如上所述,由于单独利用应用程序静态分析部分120和应用程序动态分析部分130分析应用程序的全球化问题都存在不足,因此,在本发明的一个实施例中,打算将应用程序静态分析部分120和应用程序动态分析部分130两者结合起来进行应用程序的全球化问题分析。这种结合是利用验证矩阵部分140来实现的。

验证矩阵部分140可以利用来自Rational应用程序分析器的输出命令Rational探测工具包在运行环境中运行特殊的探测器,以检测用于特殊类或方法的值是否具有真实的全球化问题。Rational探测工具包的输出将经由验证矩阵部分140返回Rational应用程序分析器,以便消除虚假警告。双向交互作用将补救静态分析和动态分析的弱点,并降低开发者需要调查的警告数量。

验证矩阵部分140也可以作为插件包含在Rational应用程序开发器中,用于控制应用程序的全球化问题的体系结构的其他部分,包括全球化规则表示部分110、应用程序静态分析部分120和应用程序动态分析部分130,以便决定在哪种情况下使用哪种执行顺序。验证矩阵部分140还将分析规则覆盖,并产生分析报告。

验证矩阵部分140可以将静态分析和动态分析整合到一个矩阵中,并且使得在静态分析和动态分析之间能够进行双向交流,以识别真实的全球化缺陷,并且消除虚假警告。验证矩阵部分140还可以基于可应用的全球化动态地确定使用哪一种分析方法,并且提供统一的用户界面,以便接受用户输入、进行缺陷监测、定位和报告。

图2是验证矩阵部分140的详细结构的示意图。参考图2,验证矩阵部分140的一个实现包括四个部件:规则管理器210、分析引擎管理器220、GUI 230(图形用户界面)230和测试用例管理器240。

这里,分析引擎管理器220控制应用程序静态分析部分120的静态分析引擎和应用程序动态分析部分130的动态分析引擎的执行。分析引擎管理器220启动或停止分析引擎的执行、向分析引擎提供输入并接收分析引擎的输出。分析引擎管理器220从两个分析引擎中收集交互信息,将应用程序静态分析部分120的输出转换成对应用程序动态分析部分130的输入,反之亦然。所述基本交互信息是类名、方法名、行号和规则ID(标识符)。

规则管理器210存储将要用于验证的全球化规则知识。静态分析引擎和动态分析引擎的执行顺序由全球化规则定义来确定。当全球化专家向规则管理器210输入全球化规则时,执行顺序(静态在先、只有静态、动态在先和只有动态)和所需要的参数(类、方法和行号)将被记录下来,其中,静态在先表示先由所述应用程序静态分析部分120对应用程序执行静态分析,然后由所述应用程序动态分析部分130执行动态分析,只有静态表示只由所述应用程序静态分析部分120对应用程序执行静态分析,动态在先表示先由所述应用程序动态分析部分130对应用程序执行动态分析,然后再由所述应用程序静态分析部分120执行静态分析,而只有动态表示只由所述应用程序动态分析部分130对应用程序执行动态分析。在执行应用程序分析之前,分析引擎管理器220将查询规则管理器210有关于将要用于分析的全球化规则集的问题。基于分析的执行结果,分析引擎管理器220还将查询规则管理器210,规则实现的另一个规则集是否应该用于动态/静态分析。

接下来,描述验证矩阵部分140中的测试用例管理器240。根据本发明的实施例,测试用例管理器240用于存储关于用于动态分析的应用程序的所有单元测试用例(unit test cases)。测试用例管理器240将记录在应用程序类/方法和单元测试用例之间的映射。当分析引擎管理器220要分析特殊类或方法时,测试用例管理器240将得到关于类或方法的正确的单元测试用例,并将单元测试用例供给分析引擎管理器220。然后,分析引擎管理器220可以执行单元测试用例来开始动态分析。

GUI 230是验证矩阵部分140的用户界面。GUI 230将接受用户输入并产生针对最终用户的报告。

图3图示了根据本发明的验证矩阵部分140的操作流程图。在步骤S310,验证矩阵部分140中的全球化规则管理器210存储将要用于验证的全球化规则知识,并由这些全球化规则定义来确定静态分析引擎和动态分析引擎的执行顺序。具体地说,当全球化专家向规则管理器210输入全球化规则时,将执行顺序(静态在先、只有静态、动态在先和只有动态)和所需要的参数(类、方法和行号)记录下来。

然后,在步骤S320,根据执行顺序执行应用程序分析之前,分析引擎管理器220将查询规则管理器210有关于将要用于分析的全球化规则集的问题,并指令相应的分析引擎执行所述执行顺序所规定的全球化问题的分析。

在步骤S330,根据分析结果(类、方法、行号、内容和状态),分析引擎管理器220在静态分析的情况下直接找出与这种规则有关的某些潜在规则违反,而在动态分析的情况下,利用测试用例管理器240(将在下文中进行描述)中、与特定的类对应的测试用例,找出与这种规则有关的某些潜在规则违反。

接下来,在步骤S340,基于分析的执行结果,分析引擎管理器220查询规则管理器210,规则实现的另一个规则集是否应该用于动态/静态分析。如果分析引擎管理器220查询的结果是,所述规则实现的另一个规则集用于动态/静态分析,则操作转移到步骤S350,在其中,分析引擎管理器220从规则管理器210中接收用于动态/静态分析的全球化规则集,如果是动态分析情况还从测试用例管理器240接收测试用例,以使用所接收到的用于动态/静态分析的全球化规则集和/或测试用例来调用相应的动态/静态分析引擎。然后,操作转到步骤S360,在其中,将分析的执行结果(类、方法、行号、内容和状态)返回到分析引擎管理器220,并且在分析引擎管理器220中,合并将分析的执行结果、产生报告并经由GUI 230呈现给最终用户。

如果分析引擎管理器220查询的结果是所述规则实现的另一个规则集不用于动态/静态分析,则操作直接转移到步骤S360,在其中,由分析引擎管理器220产生报告并经由GUI 230(将在下文中进行描述)呈现给最终用户。

从以上对优选实施例的详细描述中可以看出,根据本发明的全球化规则验证矩阵不是将静态分析和动态分析进行简单合并,而是对现有解决方案的增值。本发明的解决方案克服了所述的静态分析具有的局限性:难以了解应用程序的运行环境,也克服了所述动态分析具有的局限性:难以了解应用程序的整个逻辑。本发明通过所述全球化规则验证矩阵使用静态分析、动态分析混合,以通过这两者方法的相互作用更精确地了解所述问题、消除虚假警告并获得最大限度的验证范围。

此外,在根据本发明的优选实施例,函数调用以及静态分析和动态分析之间的交流是自动的。验证矩阵将根据全球化规则定义和扫描情形,自动挑选分析方法。

以下举例说明验证矩阵部分140的操作。

例1

规则是“避免将java.lang.String.toUpperCase(java.util.Locale)用于包含增补字符的字符串(Avoid using java.lang.String.toUpperCase(java.util.Locale)for strings containing supplementary characters)”。所述规则的执行顺序如下:

1、规则管理器210将规则的执行顺序记录为“静态在先”,这意味着将首先执行静态分析,然后执行动态分析;

2、执行静态分析。一旦得出静态分析结果(类、方法、行号、内容和状态),分析引擎管理器220就得到与这种规则有关的某些潜在规则违反(potential rule violations);

3、分析引擎管理器220询问规则管理器210是否需要动态检测来分析这些违反;

4、规则管理器210以测试用例和动态规则实现回答分析引擎管理器220;

5、分析引擎管理器220使用具有特殊规则实现的测试用例来调用动态分析;

6、动态分析将执行结果(类、方法、行号、内容和状态)返回到分析引擎管理器220;以及

7、分析引擎管理器220合并静态分析和动态分析的执行结果、产生报告并经由GUI 230呈现给最终用户。

例2

规则为“避免将String.charAt()用于多语言字符串”。静态分析(使用Rational应用程序分析器)和动态分析(使用Rational探测工具包)都能实现这种规则。

图4是样本应用程序屏幕的抓取视图。参考图4,在这种情况下,应用程序要从“message.properties”读取消息,并在系统控制台中的分隔符“:”之后打印字符。在该应用程序中的关键代码是:

char ch=messageStr.charAt(delimeterLocation+1);

以下是验证矩阵部分140的执行步骤:

1.最终用户通过GUI 230开始验证。GUI 230报告需要关于这种应用程序的单元测试用例用于动态分析;

2.最终用户输入单元测试用例,GUI 230根据用户输入将测试用例和类之间的联系(linkage)放到测试用例管理器240中;

3.GUI 230将验证请求发送到分析引擎管理器220;

4.分析引擎管理器220调用静态分析引擎来进行静态分析;

5.静态分析引擎结束分析并将结果返回给分析引擎管理器220,静态分析指示可能存在规则违反“messageStr.charAt”。图5示出了本例的静态分析结果。参考图5,附图标记510指示的是规则违反“messageStr.charAt”。由于不知道“messageStr”的上下文环境,所以不能仅仅通过静态分析来肯定其是否为真实的全球化问题。附图标记520指示的是分析的结果,其说明静态分析那里可能存在全球化问题。

6.然而,因为静态分析不能知道messageStr是否包含多语言数据,因此分析引擎管理器220询问规则管理器210有关于下一动作的问题。规则管理器210回答分析引擎管理器220,应该执行动态分析。然而,分析引擎管理器220确定调用动态分析来了解在messageStr中是否存在多语言数据;

7.分析引擎管理器220在测试用例管理器240中查找所述数据,并找出相应的单元测试用例以便于动态分析;

8.分析引擎管理器220调用动态分析引擎来挂钩探测器并运行测试用例;

9.动态分析的全球化规则实现由动态分析引擎激发,并告诉验证引擎,在这情况下,messageStr包含多语言数据。图6示出了本例的动态分析结果。参考图6,附图标记610指示的是探测器所探测到的问题。附图标记620指示的是一个问号,它指示在运行环境下发生了真实的全球化问题。

10.然后,验证引擎可以向最终用户报告,在这种应用程序中存在真实的全球化规则违反。

例3

另一个样本是规则“避免对可翻译的消息使用字符串连接”。该样本代码是:

Log4j.log(“The sql error code is:“+getErrorCode());

显然,由于这两个字符串仅仅是针对日志文件并且它们都不是可翻译的消息,因此,它不是规则违反。

但是,由于静态分析不知道这些字符串是不是消息,因此,静态分析只能指示可能存在规则违反。

例4

在大多数应用程序中,字符串连接的使用是很普通的事,因此,静态分析将报告很多虚假警告。要花费大量的时间和精力来消除这些虚假警告。让我们看一下另一段代码:

String addressPart1=resourceBundle.getString(“msg.1”);

String addressPart2=resourceBundle.getString(“msg.2”);

String addressPart3=resourceBundle.getString(“msg.2”);

System.out.println(“My home address is:+addressPart1+addressPart2+addressPart3);

在这种情况下,三个本地地址(home addresses)是可翻译消息,因此,在这种情况下不能使用字符串连接(string concatenation)。这是规则违反。

那么,怎样才能不用手工检查的情况下,识别出这种违反呢?本发明使用验证矩阵部分140。现在描述利用验证矩阵部分140识别出这种违反的详细步骤:

1、验证引擎调用静态分析,静态分析指示可能存在规则违反“避免针对可翻译消息使用字符串连接”,但这不可靠;

2、验证矩阵部分140确定调用动态分析来查看在三个地址部分是否存在多语言数据;

3、动态分析的全球化规则实现将由验证引擎激发,并告诉验证引擎,三个消息在这种情况下包含多语言数据;

4、然后,验证引擎可以向最终用户报告,在这种应用程序中存在真实的全球化规则违反。

通过这些例子,可以看出验证矩阵部分140可以消除静态分析在动态分析的协助下所报告的大多数虚假警告。静态分析和动态分析都不能单独实现这种功能。

虽然上面主要以硬件结构或方法步骤来描述了本发明的优选实施例,但根据本发明的计算机系统操作方法也可以实施为计算机程序软件。例如,按照本发明的示范实施例的方法可以体现成一种计算机程序产品,它可以使得计算机执行所示范的一种或多种方法。所述计算机程序产品可以包括计算机可读的介质,其上包含计算机程序逻辑或代码,用于使得所述系统能够按照一种或多种示范方法运行。

所述计算机可读存储介质可以是被安装在计算机主体中的内置介质或者被布置使得它可以从计算机主体拆卸的可移动介质。所述内置介质的示例包括但不限于可重写的非易失性存储器,诸如RAM、ROM、快闪存储器和硬盘。可移动介质的示例可以包括但不限于:光存储媒体,诸如CD-ROM和DVD;磁光存储媒体,诸如MO;磁存储媒体,诸如软盘(商标)、盒带和可移动硬盘;具有内置的可重写的非易失性存储器的媒体,诸如存储卡;具有内置的ROM的媒体,诸如ROM盒。

根据本发明的方法的程序也可以被提供为外部提供的传播信号和/或在载波中包括的计算机数据信号的形式。体现为示范方法的一个或多个指令或功能的所述计算机数据信号可以被承载在用于通过执行示范方法的指令或功能的实体来发送和/或接收的载波上。而且,这样的程序当记录在计算机可读存储媒体上时,可以方便地存储和分发。

本发明的上述说明本质上仅仅是示范性的,不脱离本发明的要旨的改变都应该包含在本发明的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号