掌桥专利:专业的专利平台
掌桥专利
首页

提高会话模型的测试覆盖

文献发布时间:2023-06-19 09:36:59


提高会话模型的测试覆盖

技术领域

本主题公开总体上涉及测量和增强会话模型的测试覆盖。

背景技术

本主题公开总体上涉及测量和增强会话模型的测试覆盖,并且更具体地,涉及促进识别和修改对话路径以增强会话模型的测试覆盖的系统、计算机实现的方法和计算机程序产品。

发明内容

下面给出概述,以提供对本发明的一个或多个实施例的基本理解。该概述不旨在标识关键或重要的元素,或者描绘特定实施例的任何范围或权利要求的任何范围。其唯一目的是以简化的形式呈现构思,作为稍后呈现的更详细描述的序言。在本文描述的一个或多个实施例中,系统、计算机实现的方法和/或计算机程序产品促进增强会话模型的覆盖。

根据实施例,系统包括存储计算机可执行组件的存储器和执行存储在存储器中的计算机可执行组件的处理器。对话处理组件接收并处理第一对话。如果在第一对话的处理期间第一节点被访问,则节点标签组件将节点图的第一节点标记为被访问节点。报告组件生成包括节点列表的报告,其中节点列表包括在第一对话的处理期间未被访问的一个或多个第二节点。

根据另一实施例,一种计算机实现的方法包括由可操作地耦合到处理器的对话处理组件接收和处理第一对话。如果在第一对话的处理期间第一节点被访问,则可操作地耦合到处理器的节点标签组件将第一节点标记为被访问节点。可操作地耦合到处理器的报告组件生成包括节点列表的报告,其中节点列表包括在第一对话的处理期间未被访问的一个或多个第二节点。

根据另一实施例,一种计算机程序产品增强会话模型的测试覆盖,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有包含在其中的程序指令,该程序指令可由处理器执行,以使处理器接收和处理第一对话;如果在第一对话的处理期间第一节点被访问,则处理器将第一节点标记为被访问节点;以及由处理器生成包括节点列表的报告,其中节点列表包括在第一对话的处理期间未被访问的一个或多个第二节点。

附图说明

图1示出了根据本文描述的一个或多个实施例的模型节点图的示例。

图2示出了根据本文描述的一个或多个实施例的示例性非限制性系统的框图,该系统促进对话处理模块组件的操作。

图3示出了根据本文描述的一个或多个实施例的示例性非限制性系统的框图,该系统促进对话处理模块组件的操作。

图4示出了根据本文描述的一个或多个实施例的示例性非限制性系统的框图,该系统促进对话处理模块组件的操作。

图5示出了根据本文描述的一个或多个实施例的示例性非限制性系统的框图,该系统促进对话处理模块组件的操作。

图6描绘了根据本文描述的一个或多个实施例的促进使用对话处理模块的示例性、非限制性计算机实现的方法的图。

图7描绘了根据本文描述的一个或多个实施例的促进使用对话处理模块的示例性、非限制性计算机实现的方法的图。

图8描绘了根据本文描述的一个或多个实施例的促进使用对话处理模块的示例性、非限制性计算机实现的方法的图。

图9描绘了根据本文描述的一个或多个实施例的促进使用对话处理模块的示例性、非限制性计算机实现的方法的图。

图10描绘了根据本文描述的一个或多个实施例的促进使用对话处理模块的示例性、非限制性计算机实现的方法的图。

图11示出了示例性非限制性操作环境的框图,在该操作环境中,可以促进本文描述的一个或多个实施例。

具体实施方式

以下详细描述仅是说明性的,并且不旨在限制实施例和/或实施例的应用或使用。此外,不旨在受前面的“概述”部分或“详细说明”部分中提供的任何明示或暗示信息的约束。

现在参考附图描述一个或多个实施例,其中相同的附图标记始终用于指代相同的元件。在以下描述中,出于解释的目的,阐述了许多具体细节,以便提供对一个或多个实施例的更全面的理解。这很明显;但是,在各种情况下,一个或多个实施例可以在没有这些具体细节的情况下实施。

根据一个或多个非限制性实施例,本文描述了一种处理一个或多个对话以增强聊天系统中使用的会话模型的测试覆盖的系统。在一些实施例中,对话代理创建节点图(也称为“模型图”),该节点图包括用于测试各种自动聊天系统的节点和边(例如,下面结合图1描述的)。节点和边表示两个实体之间的交互。节点图和对话套件被提供给用于测量和增强自动聊天系统的对话会话模型的系统。对话套件(也称为“对话”)包括第一实体(例如,代理)和第二实体(例如,终端用户)之间的一组交互。交互可以是两个实体之间的句子的文本和/或听觉交换,其中句子可以是一组单词(例如,“你还好吗?”)和/或一个句子可以是单个单词(例如,“是”,对“你还好吗?”的响应)。

在一些实施例中,向系统提供节点图,并生成报告。该报告包括具有一个或多个节点路径的节点图,该一个或多个节点路径可以识别在处理对话时被访问的一个或多个节点(例如,被拜访的节点)。该报告还可以在处理对话时识别一个或多个未被访问节点(例如,未被拜访节点的节点图)。可以生成报告,该报告提供与被访问节点相关联的信息以及导致节点被访问的对话的句子。分析与被访问节点相关联的信息可以更好地理解交互如何成功地访问一个或多个节点。这种分析可以帮助系统提供聊天系统中使用的会话模型的增强测试覆盖。

可以生成包括两个实体(例如,代理和终端用户)之间的一个或多个预选交互的测试对话,其中交互可以是文本句子(例如,文本输入)和音频话语(例如,音频输入)的组合。句子被提供给系统(例如,下面结合图2描述的对话处理模块202)。在处理句子时,可以生成对话路径(例如,报告的一部分)。对话路径可以是在句子的处理期间被访问的一组节点。在句子被处理之后生成报告,其中该报告包括节点路径。节点路径提供关于被访问节点的信息,包括节点连接信息(例如,哪些节点被连接)和节点之间的关系(例如,节点如何被连接)。该报告还包括与节点路径相关联的一个或多个句子。如果没有生成报告(例如,因为没有节点被访问),则提供指示,表明被测试的句子可能无效,并且可以从测试对话中被移除或替换。当在处理交互的句子时没有其他节点被访问时,到达路径中的最后一个节点用于该交互。在处理对话的句子时,生成指示被访问节点和未被访问节点的报告。系统可以分析该报告,以通过推荐一个或多个句子来增强对话,该一个或多个句子在被处理时将具有访问一个或多个未被访问节点的高概率。在推荐的句子的进一步处理之后,生成指示节点图的最终覆盖的最终报告。可以动态地添加、移除或替换推荐的句子,以便提供具有最少数量的句子的新对话,该新对话可以访问尽可能多的节点(例如,被访问的超过90%的节点)。

图1示出了根据本文描述的一个或多个实施例的模型节点图100的示例。为了简洁起见,省略了在各个实施例中使用的类似元件的重复描述。模型节点图100包括一个或多个节点(例如106a-d和108a-e)。这些节点由对话代理生成,用于测试聊天系统。模型节点图100被存储在存储器(例如,下面描述的图2的存储器204)中。在处理交互时,创建节点路径110,识别被访问节点(例如,106a-d)。模型节点图100还可以提供测试对话的句子未访问的一个或多个节点(例如,未访问或未拜访的节点)(例如,节点108a-e)。

生成示出被访问节点106a-d之间的关系的报告。使用该关系,可以推荐附加的句子,用于访问未被访问节点(例如,108a-e)。例如,节点106a(例如,P节点)可以是节点108a(例如,R’节点)和108b(例如,R节点)的父节点;节点108b(例如,节点R)可以是未被访问节点(例如,节点108c、108d和108e)的根节点;并且路径U 112和路径U’114可以是分别允许访问节点108d和节点108c的句子或响应。在节点106a处的“是”或“否”响应可以例如导向节点R 108b。在这种情况下,推荐会导致访问节点108b的句子。

图2示出了根据本文描述的一个或多个实施例的示例性非限制性系统200的框图,该系统200促进对话处理模块202的操作。对话处理模块202还可以包括存储器204和执行存储在存储器204中的计算机可执行组件的控制器组件206(也称为“处理器”)或者与之相关联。对话处理模块202还可以包括系统总线208,其可以耦合各种组件,包括但不限于对话处理组件210、节点标签组件212和报告组件214。

在本公开中解释的系统(例如,对话处理模块202等)、装置或过程的各方面可以构成在体现在(多个)机器内的(多个)机器可执行组件,例如,体现在与一个或多个机器相关联的一个或多个计算机可读介质(或媒介)中。这样的(多个)组件当由一个或多个机器(例如,(多个)计算机、(多个)计算设备、(多个)虚拟机等)执行时会导致(多个)机器执行上述操作。

应当理解,在本文公开的各种附图中描绘的主题公开的实施例仅用于说明,因此,这些实施例的体系结构不限于其中描绘的系统、设备和/或组件。例如,在一些实施例中,对话处理模块202可以包括本文参考操作环境1100和图11描述的各种计算机和/或基于计算的元件。这种计算机和/或基于计算的元件可以结合实现结合图2或本文公开的其他附图示出和描述的系统、设备和/或组件中的一个或多个来使用。

存储器204可以存储一个或多个计算机和/或机器可读、可写和/或可执行的组件和/或指令,当由控制器组件206执行时,这些组件和/或指令可以促进由(多个)可执行组件和/或(多个)指令定义的操作的执行。例如,存储器204可以存储计算机和/或机器可读、可写和/或可执行的组件和/或指令,当由控制器组件206执行时,这些组件和/或指令可以促进执行本文描述的与对话处理组件210、节点标签组件212和报告组件214相关的各种功能。

存储器204可以包括可以采用一个或多个存储器架构的易失性存储器(例如,随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)等))和/或非易失性存储器(例如,只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)等))。下面参考系统存储器1116和图11描述存储器204的进一步的示例。存储器204的这种示例可用于实现本主题公开的任何实施例。

控制器组件206可以包括一种或多种类型的处理器和/或电子电路,其可以实现可以存储在存储器204上的一个或多个计算机和/或机器可读、可写和/或可执行的组件和/或指令。例如,控制器组件206可以执行由这种计算机和/或机器可读、可写和/或可执行组件和/或指令指定的各种操作,包括但不限于逻辑、控制、输入/输出(I/O)、算术等。在一些实施例中,控制器组件206可以包括一个或多个中央处理单元、多核处理器、微处理器、双微处理器、微控制器、片上系统(SOC)、阵列处理器、矢量处理器和/或另一种类型的处理器。

对话处理模块202的组件、例如控制器组件206、存储器204、对话处理组件210、节点标签组件212和报告组件214可以经由系统总线208通信地、电气地和/或可操作地彼此耦合,以执行对话处理模块202和/或与之耦合的任何组件的功能。系统总线208可以包括一个或多个存储器总线、存储器控制器、外围总线、外部总线、本地总线和/或可以采用各种总线架构的另一种类型的总线。下面参考系统总线1118和图11描述系统总线208的进一步示例。系统总线208的这种示例可用于实现本主题公开的任何实施例。

对话处理模块202可以包括一个或多个计算机和/或机器可读、可写和/或可执行的组件和/或指令,当由控制器组件206执行时,这些组件和/或指令可以促进由这些组件和/或指令定义的操作的执行。此外,在许多实施例中,如本文参考或不参考本主题公开的各种附图所描述的,与对话处理模块202相关联的任何组件可以包括一个或多个计算机和/或机器可读、可写和/或可执行的组件和/或指令,当由控制器组件206执行时,这些组件和/或指令可以促进由这些组件和/或指令定义的操作的执行。例如,对话处理组件210、节点标签组件212、报告组件214和/或与对话处理模块202相关联的任何其他组件(例如,通信地、电子地和/或可操作地与对话处理模块202耦合和/或由对话处理模块202使用),可以包括这样的计算机和/或机器可读、可写和/或可执行组件和/或指令。因此,对话处理模块202和/或与其相关联的任何组件可以使用控制器组件206来执行这样的计算机和/或机器可读、可写和/或可执行组件和/或指令,以促进执行本文参考对话处理模块202和/或与其相关联的任何这样的组件描述的一个或多个操作。

对话处理模块202可以促进与对话处理模块202的组件相关和/或由对话处理模块202的组件(例如控制器组件206、存储器204、对话处理组件210、节点标签组件212和报告组件214)执行的操作的执行。例如,如下文详细描述的,对话处理模块202可以促进:由对话处理组件210接收和处理第一对话;如果第一节点在第一对话的处理期间被访问,则由节点标签组件212将第一节点标记为被访问节点;以及由报告组件214生成包括节点列表的报告,其中节点列表包括在第一对话的处理期间未被访问的一个或多个第二节点。

对话处理组件210可以包括但不限于音频处理器、文本输入处理器、一个或多个系统处理器、存储器和电路。在一些实施例中,对话处理组件210接收包括一个或多个交互的对话。单个交互包括一个或多个文本句子和/或音频输入(例如,音频格式的句子),其表示代理和终端用户之间的通信交换。其他形式的交流例如但不限于手势和视频输入可以是对话的一部分。对话处理组件210处理对话的每个句子。例如,节点图中的节点被识别为由代理提供,而边缘(例如,通向另一个节点的路径)被识别为由终端用户提供的响应。在一些实施例中,利用相关响应,可以访问子节点。最高级别的节点在对话处理开始时被识别。此后,作为处理每个句子和/或交互的响应的结果,可以识别附加的子节点和边。

节点标签组件212可以包括但不限于一个或多个处理器、存储器和电子设备。在一些实施例中,如果节点在对话处理期间被访问,则节点标签组件212标记(例如,将与节点相关联的标志标签或设置为真)节点图的每个节点,从而生成包括一个或多个被访问节点的节点图。随着对话处理组件210继续处理更多的句子和交互的响应,可以访问额外的节点。当节点被访问时,节点标签组件212继续标签每个节点(例如,与与节点相关联的句子相匹配的句子)。节点标签组件212还可以跟踪每个被访问节点之间的连接和关系。节点标签组件212可以在节点图的每个节点被对话处理组件210访问时标签该节点,并且跟踪从根节点到在处理期间被访问的所有节点的路径(例如,图1的110)。

报告组件214可以包括但不限于一个或多个处理器、存储器和电子设备。报告组件214可以生成包括节点列表的报告,第一组节点可以是在对话的处理期间被访问的节点,第二组节点可以是在对话处理期间未被访问的节点。对话处理模块202的各种组件利用该报告来基于收集的关于被访问节点和未被访问节点的信息推荐新句子。该报告可以包括关于被访问节点的信息以及导致或没有导致该节点被访问的句子。在一些实施例中,包括被访问节点、路径和未被访问节点的报告是在处理对话完成时生成的。新句子也可以由对话处理组件210处理,由此可以更新报告。

图3示出了根据本文描述的一个或多个实施例的示例性非限制性系统300的框图,该系统促进对话处理模块202组件的操作。系统300可以包括对话处理模块202。在一些实施例中,对话处理模块202还可以包括节点路径分析器组件316。

节点路径分析器组件316可以包括但不限于一个或多个处理器、存储器和电气模块。节点路径分析器组件316可以生成对由第二节点(例如,未被访问节点)创建的一个或多个路径的分析。节点路径分析器组件316接收由报告组件214生成的报告。节点路径分析器组件316从根节点开始,并为一个或多个未被访问节点识别根节点。节点路径分析器组件316分析被访问节点,以确定哪个句子和响应允许给定节点被访问。可以分析从一个节点到另一个节点的路径,以确定对该句子的替代响应是否会创建新的路径,该新的路径将导致访问未被访问节点中的一个或多个。例如,如果给定节点处的响应(例如,单词或句子)是创建到子节点的路径的“是”,则“否”响应可以创建到未被访问节点的路径。节点路径分析器组件316分析每个节点处的响应,以确定丢失的响应是否会创建到未被访问节点的新路径。节点路径分析器组件316生成详细的分析,包括节点信息、连接信息和节点之间的关系、导致系统访问节点的句子。对话处理模块的其他组件可以访问详细分析,以生成替代交互。

图4示出了根据本文描述的一个或多个实施例的示例性非限制性系统400的框图,该系统促进对话处理模块202组件的操作。系统400可以包括对话处理模块202,其可以还包括句子推荐组件418。

句子推荐组件418可以包括但不限于一个或多个处理器、存储器和电子模块。句子推荐组件418可以基于第一节点、一个或多个第二节点和由先前的一个或多个句子创建的一个或多个路径的连接关系来生成第一句子(例如,包括一个或多个单词的附加句子)。句子推荐组件418可以评估由报告组件214生成的报告和由节点路径分析器组件316生成的分析,以生成将访问未被访问节点之一的一个或多个句子的推荐。句子或响应是基于所访问的节点是如何连接的以及它们的关系(例如,对被访问节点之一处的句子的响应)来生成的。例如,在系统断定给定节点未被访问时,可以推荐生成“否”响应的句子,因为对话不包括产生“否”响应的句子。在评估了每个被访问节点连接和关系之后,可以建议在对话中包含几个替代句子,以增加被访问节点的数量。优点是该系统允许最少的交互量来访问给定模型图的最大数量的节点。

图5示出了根据本文描述的一个或多个实施例的示例性非限制性系统400的框图,该系统促进对话处理模块202组件的操作。根据一个或多个实施例,系统400可以包括对话处理模块202,其可以还包括模型调整组件520。

模型调整组件520可以包括但不限于一个或多个处理器、存储器和电气模块。如果在处理对话之后没有节点图的节点被访问或者只有小百分比(例如,低于10%)的节点被访问,模型调整组件520可以提供对话处理模型需要调整的指示。模型调整组件520还可以将推荐的句子合并到原始对话中,以创建更新的对话。如果在对话处理期间没有或很大百分比(例如,超过90%)的节点未被访问,则模型调整组件520可以提供替代对话(例如,修改的对话套件或增强的会话模型)。

图6描绘了根据本文描述的一个或多个实施例的促进使用对话处理模块202的示例性非限制性计算机实现方法的图。在一些示例中,流程图600可以由下面描述的操作环境1100来实现。可以理解,流程图600的操作可以以不同于所描述的顺序来实现。

在非限制性示例实施例中,提供了计算设备(或系统)(例如,计算机1112),该设备或系统包括一个或多个处理器和存储可执行指令的一个或多个存储器,当该可执行指令被一个或多个处理器执行时,可以促进本文描述的操作的执行,包括图6的流程图中所示的非限制性方法。

操作602描绘了由可操作地耦合到处理器(例如,控制器组件206)的设备(例如,对话处理组件210)接收和处理第一对话。操作604描绘了如果第一节点在第一对话的处理期间被访问,则由设备(例如,节点标签组件212)将第一节点标记为被访问节点。操作606描绘了由处理器206确定是否已经处理了对话套件的所有句子,然后执行操作608。否则,继续处理句子。操作608描绘了由设备(例如,报告组件214)生成包括节点列表的报告,其中节点列表包括在第一对话的处理期间未被访问的一个或多个第二节点。

图7描绘了根据本文描述的一个或多个实施例的促进使用对话处理模块202的示例性非限制性计算机实现方法的图。在一些示例中,流程图700可以由下面描述的操作环境1100来实现。可以理解,流程图700的操作可以以不同于所描绘的顺序来实现。

在非限制性示例实施例中,提供了计算设备(或系统)(例如,计算机1112),该设备或系统包括一个或多个处理器和存储可执行指令的一个或多个存储器,当该可执行指令被一个或多个处理器执行时,可以促进本文描述的操作的执行,包括图7的流程图中所示的非限制性方法。

操作702描绘了由可操作地耦合到处理器(例如,控制器组件206)的设备(例如,对话处理组件210)接收和处理第一对话。操作704描绘了如果第一节点在第一对话的处理期间被访问,则由设备(例如,节点标签组件212)将第一节点标记为被访问节点。操作706描绘了由处理器206确定是否已经处理了对话套件的所有句子,然后执行操作708。否则,继续处理句子。操作708描绘了由设备(例如,报告组件214)生成包括节点列表的报告,其中节点列表包括在第一对话的处理期间未被访问的一个或多个第二节点。操作710描绘了由设备(例如,节点路径分析器组件316)生成对由一个或多个第二节点创建的一个或多个路径的分析。

图8描绘了根据本文描述的一个或多个实施例的促进使用对话处理模块202的示例性非限制性计算机实现方法的图。在一些示例中,流程图800可以由下面描述的操作环境1100来实现。可以理解,流程图800的操作可以以不同于所描述的顺序来实现。

在非限制性示例实施例中,提供了计算设备(或系统)(例如,计算机1112),该设备或系统包括一个或多个处理器和存储可执行指令的一个或多个存储器,当该可执行指令被一个或多个处理器执行时,可以促进本文描述的操作的执行,包括图8的流程图中所示的非限制性方法。

操作802描绘了由可操作地耦合到处理器(例如,控制器组件206)的设备(例如,对话处理组件210)接收和处理第一对话。操作804描绘了如果第一节点在第一对话的处理期间被访问,则由设备(例如,节点标签组件212)将第一节点标记为被访问节点。操作806描绘了由处理器206确定是否已经处理了对话套件的所有句子,然后执行操作808。否则,继续处理句子。操作808描绘了由设备(例如,报告组件214)生成包括节点列表的报告,其中节点列表包括在第一对话的处理期间未被访问的一个或多个第二节点。操作810描绘了由设备(例如,节点路径分析器组件316)生成对由一个或多个第二节点创建的一个或多个路径的分析。操作812描绘了由设备(例如,经由句子推荐组件418)基于第一节点、一个或多个第二节点和一个或多个路径的连接关系来生成第一句子。

图9描绘了根据本文描述的一个或多个实施例的促进使用对话处理模块202的示例性非限制性计算机实现方法的图。在一些示例中,流程图900可以由下面描述的操作环境1100来实现。可以理解,流程图900的操作可以以不同于所描述的顺序来实现。

在非限制性示例实施例中,提供了计算设备(或系统)(例如,计算机1112),该设备或系统包括一个或多个处理器和存储可执行指令的一个或多个存储器,当该可执行指令被一个或多个处理器执行时,可以促进本文描述的操作的执行,包括图9的流程图中所示的非限制性方法。

操作902描绘了由可操作地耦合到处理器(例如,控制器组件206)的设备(例如,对话处理组件210)接收和处理第一对话。操作904描绘了如果第一节点在第一对话的处理期间被访问,则由设备(例如,节点标签组件212)将第一节点标记为被访问节点。操作906描绘了由处理器206确定是否已经处理了对话套件的所有句子,然后执行操作908。否则,继续处理句子。操作908描绘了由设备(例如,报告组件214)生成包括节点列表的报告,其中节点列表包括在第一对话的处理期间未被访问的一个或多个第二节点。操作910描绘了由设备(例如,句子推荐组件418)生成第一句子,该第一句子在处理后导致访问一个或多个第二节点中的至少一个。

图10描绘了根据本文描述的一个或多个实施例的促进使用对话处理模块202的示例性非限制性计算机实现的方法的图。在一些示例中,流程图1000可以由下面描述的操作环境1100来实现。可以理解,流程图1000的操作可以以不同于所描述的顺序来实现。

在非限制性示例实施例中,提供了计算设备(或系统)(例如,计算机1112),该设备或系统包括一个或多个处理器和存储可执行指令的一个或多个存储器,当该可执行指令被一个或多个处理器执行时,可以促进本文描述的操作的执行,包括图10的流程图中所示的非限制性方法。

操作1002描绘了由可操作地耦合到处理器(例如,控制器组件206)的设备(例如,对话处理组件210)接收和处理第一对话。操作1004描绘了如果第一节点在第一对话的处理期间被访问,则由设备(例如,节点标签组件212)将第一节点标记为被访问节点。操作1006描绘了由处理器206确定是否已经处理了对话套件的所有句子,然后执行操作1008。否则,继续处理句子。操作1008描绘了由设备(例如,报告组件214)生成包括节点列表的报告,其中节点列表包括在第一对话的处理期间未被访问的一个或多个第二节点。操作1010描绘了由设备(例如,模型调整组件520)提供如下指示:如果第一对话的处理没有访问与对话处理模型相关联的任何节点,则对话处理模型需要调整。

图11示出了示例性非限制性操作环境1100的框图,在该环境中,可以促进本文描述的一个或多个实施例。用于实现本公开的各个方面的操作环境1100还可以包括计算机1112。计算机1112还可以包括处理单元1114、系统存储器1116和系统总线1118。系统总线1118将包括但不限于系统存储器1116的系统组件耦合到处理单元1114。处理单元1114可以是各种可用处理器中的任何一种。双微处理器和其他多处理器体系结构也可以用作处理单元1114。系统总线1118可以是几种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种可用总线体系结构的本地总线,包括但不限于工业标准体系结构(Industrial Standard Architecture,ISA)、微通道体系结构(Micro-Channel Architecture,MSA)、扩展的体系结构(Extended ISA,EISA)、智能驱动电子设备(Intelligent Drive Electronics,IDE)、VESA本地总线(VESA Local Bus,VLB)、外围组件互连(Peripheral Component Interconnect,PCI)、卡总线、通用串行总线(Universal Serial Bus,USB)、高级图形端口(Advanced Graphics Port,AGP)、火线(IEEE1194)和小型计算机系统接口(Small Computer Systems Interface,SCSI)。系统存储器1116还可以包括易失性存储器1120和非易失性存储器1122。包含诸如在启动期间在计算机1112内的元件之间传送信息的基本例程的基本输入/输出系统(basic input/outputsystem,BIOS)被存储在非易失性存储器1122中。作为说明而非限制,非易失性存储器1122可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存或非易失性随机存取存储器(RAM)(例如铁电RAM(FeRAM))。易失性存储器1120还可以包括充当外部高速缓冲存储器的随机存取存储器(RAM)。作为说明而非限制,RAM有多种形式,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链DRAM(SLDRAM)直接型Rambus RAM(DRRAM)、直接型Rambus动态RAM(DRDRAM)、以及Rambus动态RAM。

计算机1112还可以包括可移动/不可移动、易失性/非易失性计算机存储介质。图11举例说明了磁盘存储装置1124。磁盘存储装置1124还可以包括但不限于如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒的设备。磁盘存储装置1124还可以包括单独的存储介质或与其他存储介质组合的存储介质,包括但不限于光盘驱动器,诸如光盘ROM设备(CD-ROM)、可记录CD驱动器(CD-R驱动器)、可重写CD驱动器(CD-RW驱动器)或数字多功能光盘ROM驱动器(DVD-ROM)。为了促进将磁盘存储装置1124连接到系统总线1118,通常使用可移动或不可移动接口,诸如接口1126。图11还描绘了在用户和合适的操作环境1101中描述的基本计算机资源之间充当中介的软件。这种软件还可以包括例如操作系统1128。可以被存储在磁盘存储装置1124上的操作系统1128用于控制和分配计算机1112的资源。系统应用1130利用操作系统1128通过例如被存储在系统存储器1116或磁盘存储装置1124中的程序模块1132和程序数据1134对资源的管理。应当理解,本公开可以用各种操作系统或操作系统的组合来实现。用户通过(多个)输入设备1136向计算机1112输入命令或信息。输入设备1136包括但不限于定点设备,例如鼠标、轨迹球、触笔、触摸板、键盘、麦克风、操纵杆、游戏手柄、圆盘式卫星电视天线、扫描仪、电视调谐器卡、数码相机、数码摄像机、网络相机等。这些和其他输入设备经由(多个)接口端口1138通过系统总线1118连接到处理单元1114。(多个)接口端口1138包括例如串行端口、并行端口、游戏端口和通用串行总线(USB)。(多个)输出设备1140使用与(多个)输入设备1136相同类型的端口中的一些。因此,例如,可以使用USB端口向计算机1112提供输入,并从计算机1112向输出设备1140输出信息。提供输出适配器1142是为了说明除了需要特殊适配器的输出设备1140之外,还有一些输出设备1140,如监视器、扬声器和打印机。作为说明而非限制,输出适配器1142包括提供输出设备1140和系统总线1118之间的连接手段的视频卡和声卡。应当注意,其他设备和/或设备系统提供输入和输出能力两者,例如(多个)远程计算机1144。

计算机1112可以使用到一个或多个远程计算机(诸如(多个)远程计算机1144)的逻辑连接在网络化环境中操作。(多个)远程计算机1144可以是计算机、服务器、路由器、网络个人计算机(PC)、工作站、基于微处理器的设备、对等设备或其他公共网络节点等,并且通常还可以包括相对于计算机1112描述的许多或所有元件。为简洁起见,仅存储器存储设备1146被示出为包括在(多个)远程计算机1144中。(多个)远程计算机1144通过网络接口1148逻辑耦合到计算机1112,然后经由通信连接1150物理耦合。网络接口1148涵盖有线和/或无线通信网络,诸如局域网(LAN)、广域网(WAN)、蜂窝网络等。LAN技术包括光纤分布式数据接口(Fiber Distributed Data Interface,FDDI)、铜分布式数据接口(CopperDistributed Data Interface,CDDI)、以太网、令牌环等。WAN技术包括但不限于点对点链路、电路交换网络,如综合业务数字网(Integrated Services Digital Network,ISDN)及其变体、分组交换网络和数字用户线路(Digital Subscriber Line,DSL)。(多个)通信连接1150是指用于将网络接口1148连接到系统总线1118的硬件/软件。虽然为了说明清楚起见,通信连接1150被示出在计算机1112内部,但是它也可以在计算机1112外部。仅出于示例性目的,用于连接到网络接口1148的硬件/软件还可以包括内部和外部技术,诸如包括常规电话级调制解调器、电缆调制解调器和DSL调制解调器的调制解调器,ISDN适配器和以太网卡。

在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是―但不限于―电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)也可包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM),可擦式可编程只读存储器(EPROM或闪存),,静态随机存取存储器(SRAM),便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲),,或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明各方面的操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言——诸如Smalltalk、C++等,以及过程式编程语言——诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也能把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也能以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也能按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

虽然上文已经在运行在计算机和/或多个计算机上的计算机程序产品的计算机可执行指令的一般上下文中描述了主题,但是本领域技术人员将认识到,本公开也可以或能够结合其他程序模块来实现。通常,程序模块包括例程、程序、组件、数据结构等。执行任务和/或实现抽象数据类型。此外,本领域技术人员将理解,本发明的计算机实现的方法可以用其他计算机系统配置来实施,包括单处理器或多处理器计算机系统、小型计算设备、大型计算机以及计算机、手持计算设备(例如,PDA、电话)、基于微处理器的或可编程的消费者或工业电子设备等。图示的方面也可以在分布式计算环境中实施,其中任务由通过通信网络链接的远程处理设备来执行。然而,本公开的一些(如果不是所有的话)方面可以在独立的计算机上实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。

如在本申请中使用的,术语“组件”、“系统”、“平台”、“接口”等可以指和/或可以包括计算机相关实体或与具有一个或多个特定功能的操作机器相关的实体。这里公开的实体可以是硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于运行在处理器上的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。举例来说,运行在服务器上的应用和服务器都可以是组件。一个或多个组件可以驻留在进程和/或执行线程中,并且组件可以位于一台计算机上和/或分布在两台或多台计算机之间。在另一示例中,各个组件可以从其上存储有各种数据结构的各种计算机可读介质执行。这些组件可以经由本地和/或远程进程进行通信,诸如根据具有一个或多个数据分组的信号(例如,来自一个组件的数据经由该信号与本地系统、分布式系统中的另一个组件进行交互,和/或跨诸如因特网的网络与其他系统进行交互)。作为另一个示例,组件可以是具有由电气或电子电路操作的机械部件提供的特定功能的装置,其由处理器执行的软件或固件应用来操作。在这种情况下,处理器可以在装置的内部或外部,并且可以执行软件或固件应用的至少一部分。作为又一个示例,组件可以是通过没有机械部件的电子组件提供特定功能的装置,其中电子组件可以包括处理器或执行至少部分赋予电子组件功能的软件或固件的其他装置。在一个方面,组件可以经由例如服务器计算系统内的虚拟机来仿真电子组件。

此外,术语“或”旨在表示包含性的“或”,而不是排他性的“或”也就是说,除非另有说明,或者从上下文中清楚,“X使用A或B”意在表示任何自然的包含排列。也就是说,如果X使用A;X使用B;或X同时使用A和B,则“X使用A或B”在上述任何情况下都成立。此外,在主题说明书和附图中使用的冠词“一”和“一个”通常应被解释为意指“一个或多个”,除非另有说明或从上下文中清楚地指向单数形式。如此处所使用的,术语“示例”和/或“示例性的”被用来表示用作示例、实例或说明。为了避免疑问,这里公开的主题不限于这些示例。此外,在本文描述为“示例”和/或“示例性”的任何方面或设计不一定被解释为优选于或优于其他方面或设计,也不意味着排除本领域普通技术人员已知的等效示例性结构和技术。

在本主题说明书中使用时,术语“处理器”可以指基本上任何计算处理单元或设备,包括但不限于单核处理器;具有软件多线程执行能力的单处理器;多核处理器;具有软件多线程执行能力的多核处理器;采用硬件多线程技术的多核处理器;平行平台;和具有分布式共享内存的并行平台。此外,处理器可以指集成电路、专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑控制器(PLC)、复杂可编程逻辑器件(CPLD)、分立门或晶体管逻辑、分立硬件组件或其被设计成执行本文所述功能的任意组合。此外,处理器可以利用纳米级架构,诸如但不限于基于分子和量子点的晶体管、开关和门,以便优化空间使用或增强用户设备的性能。处理器也可以被实现为计算处理单元的组合。在本公开中,诸如“存储”、“存储装置”、“数据存储”、“数据存储装置”、“数据库”以及与组件的操作和功能相关的基本上任何其他信息存储组件之类的术语被用来指代“存储器组件”、包含在“存储器”中的实体或者包括存储器的组件。应当理解,这里描述的存储器和/或存储器组件可以是易失性存储器或非易失性存储器,或者可以包括易失性和非易失性存储器。作为说明而非限制,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)、闪存或非易失性随机存取存储器(RAM)(例如铁电RAM(FeRAM))。易失性存储器可以包括例如可充当外部高速缓冲存储器的RAM。作为说明而非限制,RAM有多种形式,例如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链DRAM(SLDRAM)直接型Rambus RAM(DRRAM)、直接型Rambus动态RAM(DRDRAM)、以及Rambus动态RAM(RDRAM)。此外,本文公开的系统或计算机实现的方法的存储器组件旨在包括但不限于包括这些和任何其他合适类型的存储器。

上面描述的仅仅包括系统、计算机程序产品和计算机实现的方法的示例。当然,为了描述本公开的目的,不可能描述组件、产品和/或计算机实现的方法的每个可想到的组合,但是本领域的普通技术人员可以认识到,本公开的许多进一步的组合和置换是可能的。此外,就在详细描述、权利要求、附录和附图中使用的术语“包括”、“具有”、“拥有”等而言,这些术语旨在以类似于术语“包含”的方式包含在内,因为“包含”在用作权利要求中的过渡词时被解释。以上已经描述了的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

相关技术
  • 提高会话模型的测试覆盖
  • 一种提高集成电路测试覆盖率的方法及装置
技术分类

06120112230638