使用动态应用构建器的分解的分布式测量分析系统

文档序号:118981 发布日期:2021-10-19 浏览:21次 >En<

阅读说明:本技术 使用动态应用构建器的分解的分布式测量分析系统 (Decomposed distributed measurement analysis system using dynamic application builder ) 是由 R·J·普利肯 S·K·M·拉迈亚 S·M·克里什纳库马 M·G·拉克什米帕蒂 V·V·坎丹 于 2020-01-10 设计创作,主要内容包括:分解的分布式测量分析系统提供了一种测试和测量自动化平台,该测试和测量自动化平台使用解决方案工作流元数据来创建自动化测试套件,作为要部署在测试和测量自动化平台的自动化引擎中的解决方案。自动化平台提供了用于开发测量和在自动化引擎中部署解决方案而不需要重启系统的工具和技术。该系统通过测试和测量自动化平台使得用户能够针对解决方案开发测量,并在测试和测量自动化平台的自动化引擎中部署和执行每个解决方案,而不需要编译解决方案。(The decomposed distributed measurement analysis system provides a test and measurement automation platform that uses solution workflow metadata to create an automation test suite as a solution to be deployed in an automation engine of the test and measurement automation platform. The automation platform provides tools and techniques for developing measurements and deploying solutions in the automation engine without requiring a restart of the system. The system enables a user to develop measurements for a solution through a test and measurement automation platform and deploy and execute each solution in an automation engine of the test and measurement automation platform without the need to compile the solution.)

具体实施方式

本技术公开的各种实施例提供了一种操作平台,该操作平台使用元数据在分解的软件中创建自动化测试套件。当前公开的自动化平台提供了用于开发或编写测量以及在自动化引擎中部署相关联的解决方案工作流而不需要系统重启的工具和技术,所述解决方案工作流包括自动化测试套件。此外,所述测量是自注册在本系统中的,并且它们立即可供用户使用。

图1是图示根据各种示例实施例的示例测试和测量系统100的元件的框图,该示例测试和测量系统100是包括自动化平台的分解的分布式测量分析系统。图1中示出的是自动化平台102、集成开发环境(IDE)104和硬件设备106。

自动化平台102包括用户界面108、分析(测量)服务引擎110、核心服务引擎112和模板目录服务引擎114。在该示例中,分析服务引擎110包括信号测量服务,诸如抖动测量服务116、基础测量服务118、眼图测量服务120、时间测量服务122和幅度测量服务124。

核心服务引擎112包括开放应用编程接口(API)126,其可以是被设计为利用现有协议的表述性状态转移(RESTful或REST)API。由于REST几乎可以用于任何协议,因此开发人员不需要安装库或附加的软件以便利用REST API设计。与简单对象访问协议(SOAP)不同,REST不被约束于可扩展标记语言(XML),而是可以取决于客户端的请求返回XML、JavaScript对象表示法(JSON)或任何其他格式。并且与远程过程调用RPC不同,用户不需要知道过程名称或特定顺序的特定参数。核心服务引擎112还包括在下面更详细地讨论的自动化引擎128和硬件控制器130。

在该示例中,模板目录服务引擎114包括模式生成器132、测量目录服务134、解决方案目录服务136和装备配置/校准目录服务138。自动化平台通过至少提供测试自动化工作流或解决方案的模板菜单作为用户界面的一部分来提供用户界面108,以促进解决方案的构建,用户可以从所述模板菜单中进行选择作为所述解决方案中的一个或多个的基础。

硬件设备106的示例测试设备包括示波器140、误码率测试仪(BERT)142、任意波形发生器(AWG)144和频谱分析仪146。

在本技术公开的实施例的帮助下,系统100提供了在测试和测量系统中添加新的测量而无需重启应用的可扩展性能力。此外,自动化平台102还提供了用于如下的功能:使用用户界面108内的解决方案构建器来创建有用的解决方案,并且将解决方案直接并且立即发布到生态系统中而不必重启系统100。

在另一个实施例中,还可以使用API 126创建新的解决方案。此外,自动化平台102还帮助客户定义其测试套件中的工作流,所述测试套件可以包括不同类型的硬件,如示波器140、BERT 142、AWG 144等。

自动化平台102是分解的软件解决方案,其控制硬件设备106,执行对由硬件设备106获得的测量(例如,波形)的分析,并且经由向用户提供可视化体验的用户界面,利用诸如API 126的API来执行解决方案。例如,自动化平台102使得用户能够可视化测试和测量自动化平台102如何控制硬件设备106、执行对测量(例如,波形)的分析以及执行解决方案。

此外,根据本技术公开的实施例的测试和测量系统100是基于元数据的,这允许部署解决方案而不必进行编译或重启。IDE 104用于在自动化平台102的软件环境中部署测量服务110。部署的测量服务110在启动时自注册到测量目录服务134中。一旦自注册,自动化引擎128就可访问测量服务110,以在应用执行期间执行测量。所述解决方案一旦在系统100中部署就被构建,并且立即可用于贯穿于整个系统使用。用户界面108的解决方案/应用构建器经由使用模板目录服务114来使用基于模板的方法,从而减少开发和部署的总时间。

此外,在一个或多个实施例中,自动化平台102可以以JSON编写。自动化平台102可以类似于使用域特定语言(DSL)的其他方法来编写。自动化引擎128读取提供的关于解决方案的用户输入并动态执行指令。例如,自动化平台102可以接收输入,所述输入指示要为被测设备(DUT)执行的测量和包括自动化测试套件的第一解决方案的解决方案工作流。自动化平台102然后动态地执行第一解决方案的指令,以便在DUT上执行测试,而不必编译解决方案。自动化平台102响应于接收到输入而创建与第一解决方案相关联的解决方案工作流元数据。指令的执行可以包括使用解决方案工作流元数据来促进解决方案的动态执行,而不必进行编译。指令的执行可以进一步包括使用解决方案工作流元数据来促进第一解决方案的动态执行,而不需要测试和测量系统重启。图解流程示出了创建和部署解决方案元数据(例如,JSON元数据148)是经由API 126被创建并部署到解决方案目录服务136中的。解决方案目录服务136验证元数据内容的正确性并存储它。在一个示例实施例中,元数据创建和部署是经由使用API 126来执行的(例如,利用OpenAPI使用JSON通过超文本传输协议(HTTP))。

用户界面108被配置为响应于用户输入,与API 126通信以基于解决方案工作流元数据来执行解决方案工作流,作为指令执行的一部分。示出了通过由自动化引擎128从解决方案目录服务136检索元数据来执行元数据指令(例如,JSON元数据148)的示例执行请求150(例如,JSON执行请求)。自动化引擎128对照解决方案元数据验证解决方案执行请求150,并执行解决方案和解决方案中定义的测量。例如,用户可以使用API 126发送执行指令(例如,利用OpenAPI使用JSON通过HTTP协议)。

在至少一个实施例中,自动化引擎128使用微服务方法来调用自注册为生态系统的一部分的多个服务。部署的测量服务110在启动时自注册到测量目录服务134中。一旦自注册,自动化引擎128就可访问测量服务110,以在应用执行期间执行测量。自动化引擎128构建在分布式架构上,并支持故障转移和恢复。

自动化平台102可以使得能够在测试和测量系统100中创建和执行多个自动化测试套件,而不必在测试套件的执行之间重启系统。例如,自动化平台102可以接收关于第二解决方案的输入,然后响应于接收到关于第二解决方案的输入,创建与第二解决方案相关联的解决方案工作流元数据。自动化平台102然后基于与第二解决方案相关联的元数据动态地执行第二解决方案的指令,以便在DUT上执行测试,而不必编译并且不必在第一解决方案的指令的执行和第二解决方案的指令的执行之间重启测试和测量系统100。

此外,本技术公开的实施例提供了可扩展性特征,该可扩展性特征使得终端用户能够修改工作流或解决方案,使得可以在任何时间添加针对DUT的测试的附加要求,从而减少上市的总时间。

图2是图示根据各种示例实施例的示例自动化平台计算机210的框图,在该示例自动化平台计算机210中可以实现测试和测量系统100的自动化平台的实施例。在所示的实施例中,自动化平台计算机210包括计算机存储器(“存储器”)201、显示器202(包括但不限于发光二极管(LED)面板、液晶显示器(LCD)、触摸屏显示器等)、一个或多个中央处理单元(“CPU”)203、输入/输出设备204(例如,按钮面板、键盘、鼠标、RF或红外接收器、通用串行总线(USB)端口和其他通信端口等)、其他计算机可读介质205和通信连接206。自动化平台102被示出为驻留在存储器201中。在其他实施例中,自动化平台102的内容的一些部分和组件的一些或全部可以存储在其他计算机可读介质205上和/或通过其他计算机可读介质205传输。自动化平台102的组件优选地在一个或多个CPU 203上执行,并且实行或以其他方式促进接收指示要为DUT执行的测量和包括自动化测试套件的第一解决方案的解决方案工作流的输入;并且动态地执行第一解决方案的指令,以便在DUT上执行测试,而不必编译所述解决方案。自动化平台102的组件优选地在一个或多个CPU 203上执行,并且还可以实行或以其他方式促进提供测试和测量自动化平台102,该测试和测量自动化平台102使用解决方案工作流元数据来创建具有分解的软件的自动化测试套件,作为要在测试和测量自动化平台的自动化引擎中部署的解决方案;并且使得用户能够针对解决方案开发测量,并且在测试和测量自动化平台102的自动化引擎128中部署每个解决方案,而不需要测试和测量系统100重启。

在其他实施例中,可以使用其他处理设备和配置,包括但不限于图形处理单元(GPU)、ASIC和嵌入式CPU/GPU块。自动化平台102可以作为存储在存储器201中的各种软件应用的一部分来操作,或者与其结合和/或协作工作。自动化平台102还促进经由通信系统208与IDE 104和硬件设备106通信。通信系统208可以包括许多不同类型的通信介质,包括由现在已知或以后开发的各种不同的物理和逻辑通信信道所使用的那些。非限制性媒体和通信信道示例包括如下中的一个或多个或任意可操作组合:高清多媒体接口(HDMI)、通用串行总线(USB)、外围组件互连(PCI)、Wi-Fi系统、WLAN系统、短程无线(例如蓝牙®)系统、对等网络系统、硬连线系统、通信总线、计算机网络布线、广域网(WAN)系统、互联网、电缆系统、电话系统、光纤系统、微波系统、异步传输模式(“ATM”)系统、帧中继系统、数字用户线(“DSL”)系统、射频(“RF”)系统、蜂窝系统以及卫星系统。

自动化平台102包括API 126(在图1中示出),该API 126提供对测试和测量系统100的一个或多个功能或服务的编程访问,包括例如图1所示的分析服务引擎110、核心服务引擎112和模板目录服务引擎114的服务。例如,这样的API 126可以向自动化平台102的一个或多个功能提供编程接口,所述功能可以由分析服务引擎110、核心服务引擎112和模板目录服务引擎114和/或其他程序230之一调用。

在示例实施例中,自动化平台102的组件/模块使用标准编程技术来实现。例如,自动化平台102可以与一个或多个静态或动态库一起实现为在CPU 203上的“本地”可执行运行。在其他实施例中,自动化平台102可以被实现为由作为其他程序230之一执行的虚拟机处理的指令。通常,可以采用本领域已知的一系列编程语言来实现这样的示例实施例,包括各种编程语言范例的代表性实现,包括但不限于面向对象语言(例如,JSON、Java、C++、C#、Visual Basic.NET和Smalltalk等)、功能性语言(例如,ML、Lisp和Scheme等)、过程性语言(例如,C、Pascal、Ada和Modula等)、脚本语言(例如,Perl、Ruby、Scratch、Python、JavaScript和VBScript等)或者声明性语言(例如 ,SQL和Prolog 等)。

在软件或固件实现中,存储在存储器中的指令在被执行时配置自动化平台计算机210的一个或多个处理器(例如,CPU)以执行自动化平台102的功能。所述指令使CPU 203或诸如I/O控制器/处理器之类的一些其他处理器执行本文描述的过程。

上述实施例还可以使用众所周知的或其他同步或异步客户端-服务器计算技术。然而,各种组件也可以使用更多单片编程技术被实现为例如是运行在单个CPU计算机系统上的可执行的,或者可替代地,是使用本领域已知的各种结构化技术来分解的,包括但不限于多道程序设计、多线程、客户机-服务器或对等(例如,蓝牙®无线技术)技术,运行在每个具有一个或多个CPU或其他处理器的一个或多个计算机系统上。一些实施例可以并发和异步执行,并使用消息传递技术进行通信。自动化平台102实现也支持等同的同步实施例。此外,其他功能可以由每个组件/模块并且以不同的顺序以及由不同的组件/模块来实现和/或执行,但仍然实现自动化平台102的功能。

此外,作为自动化平台102的一部分存储的数据的编程接口可以通过标准机制获得,诸如通过C、C++、C#和Java API;用于访问文件、数据库或其他数据储库的库;脚本语言;或Web服务器、FTP服务器、或提供对所存储的数据和机器学习模型的访问的其他类型的服务器。

预期程序和数据的不同配置和位置与本文描述的技术一起使用。各种分布式计算技术适合于以分布式方式实现所示实施例的组件,包括但不限于TCP/IP、REST、套接字、RPC、RMI、HTTP和Web服务(XML-RPC、JAX-RPC和SOAP等)。其他变化是可能的。也可以由每个组件/模块提供其他功能,或者现有的功能可以以不同的方式分布在组件/模块之间,但是仍然实现自动化平台102的功能。

更进一步地,在一些实施例中,自动化平台102的组件中的一些或所有可以以其他方式实现或提供,诸如至少部分以固件和/或硬件实现或提供,包括但不限于一个或多个专用集成电路(“ASIC”)、标准集成电路、控制器(例如,通过执行适当的指令,并且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(“FPGA”)和复杂可编程逻辑器件(“CPLD”)等。系统组件和/或数据结构中的一些或所有也可以作为内容(例如,作为可执行的或其他的机器可读软件指令或结构化数据)存储在计算机可读介质(例如,如硬盘;存储器;计算机网络、蜂窝无线网络或其他数据传输介质;或要由适当的驱动器或经由适当的连接读取的便携式介质制品(诸如闪存设备))上,以便启用或配置计算机可读介质和/或一个或多个相关联的计算系统或设备来执行或以其他方式使用或提供内容以执行所描述的技术中的至少一些。

图3是图示根据各种示例实施例的可以部署在自动化平台102上的示例自动化引擎工作流300的示图。图3提供了示例工作流,其示出了用户302如何利用自动化平台102:通过使用IDE 104执行第一动作304以使自动化平台102开发测量和解决方案工作流310;通过使用API 126和用户界面108来执行第二动作306,以使自动化平台102利用工作流元数据创建解决方案312,并在API的帮助下利用工作流元数据在自动化引擎128中部署该解决方案314;然后使用API 126和用户界面108执行第三动作308,以使自动化平台102在API的帮助下基于元数据316执行解决方案请求。

图4是根据各种示例实施例的用于在测试和测量系统100中创建和执行自动化测试套件的计算机化方法400的流程图。

在402处,系统100接收输入,所述输入指示要为DUT执行的测量和包括自动化测试套件的第一解决方案的解决方案工作流。

在404,系统动态地执行解决方案的指令,以便在DUT上执行测量,而不必编译第一解决方案。

图5是根据各种示例实施例的用于在测试和测量系统100中创建和执行多个自动化测试套件而不必在测试套件的执行之间重启系统的计算机化方法500的流程图。

在502,系统100接收输入,所述输入指示要执行的附加测量和包括另一自动化测试套件的第二解决方案的不同解决方案工作流。

在504,系统100响应于接收到输入而创建与第二解决方案相关联的解决方案工作流元数据。

在506,系统100基于与第二解决方案相关联的元数据动态地执行第二解决方案的指令,以便在DUT上执行测量,而不必编译并且不必在第一解决方案的指令的执行和第二解决方案的指令的执行之间重启测试和测量系统。

图6是根据各种示例实施例的用于使得能够在测试和测量系统100中创建自动化测试套件的计算机化方法600的流程图。

在602,系统100提供测试和测量自动化平台,该平台使用解决方案工作流元数据来创建具有分解的软件的自动化测试套件,作为要在测试和测量自动化平台的自动化引擎中部署的解决方案。

在604,系统100通过测试和测量自动化平台使得用户能够针对解决方案开发测量,并且在测试和测量自动化平台的自动化引擎中部署每个解决方案,而不需要测试和测量系统重启。

虽然本文在上面已经描述了各种实施例,但是应当领会,在不脱离当前或下文要求保护的本发明的精神和范围的情况下,可以在形式和细节上进行各种改变。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于高速缓存行的扇区的修改来逐出高速缓存行

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!