CN116194887A - 工件引用创建和依赖跟踪 - Google Patents

工件引用创建和依赖跟踪 Download PDF

Info

Publication number
CN116194887A
CN116194887A CN202180065661.0A CN202180065661A CN116194887A CN 116194887 A CN116194887 A CN 116194887A CN 202180065661 A CN202180065661 A CN 202180065661A CN 116194887 A CN116194887 A CN 116194887A
Authority
CN
China
Prior art keywords
processor
environment
application
dependency
variables
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180065661.0A
Other languages
English (en)
Inventor
B·格拉汉姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yupas Co
Original Assignee
Yupas Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yupas Co filed Critical Yupas Co
Publication of CN116194887A publication Critical patent/CN116194887A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Numerical Control (AREA)

Abstract

一种计算设备包括处理器和存储器,被配置为创建用于环境中的应用的一个或多个表单。处理器和存储器还被配置为创建与一个或多个表单相关的一个或多个环境变量。处理器还被配置为利用一个或多个路径来跟踪一个或多个环境变量之间的依赖引用,其中数据模型包括一个或多个路径和一个或多个环境变量。该处理器还被配置为执行数据模型以在一个或多个环境变量之间重新创建用于应用在目标环境中的依赖引用。

Description

工件引用创建和依赖跟踪
相关申请的交叉引用
本申请要求2020年9月25日提交的美国申请号17/032,990的权益,其内容通过引用并入本文。
背景技术
机器人过程自动化(RPA)可以通过利用一个或多个机器人使企业平台、虚拟机(VM)、远程桌面、云上的应用程序、桌面应用、移动应用等上的过程、操作、功能、组件、任务或工作流自动化。机器人可以是软件机器人、过程、包、RPA过程、RPA包、RPA机器人、包的工作流、子过程、微型机器人、模块等。与机器人或RPA相关的应用可以在不同的开发或计算环境中被编程、编码、构建或设计。
为不同的实现或不同的计算环境重用应用可能需要管理工件以进行适当的操作。在应用在新环境中的部署或上传期间,与应用相关联的工件可以被利用用于交付应用的预期功能或操作。了解不同工件的操作、关系、属性或交互以使应用在新环境中正常运作可能会造成系统效率低下、浪费资源或增加开销。此外,在没有在新的计算环境中正确设置工件的情况下,可能会出现使应用无法使用的意外行为或严重错误。因此,需要管理工件以将应用重新用于不同的实现或不同的计算环境。
发明内容
环境变量或参数可以被创建用于与应用相关的表单。路径可以被配置或被利用来跟踪在环境变量或参数之间引用的依赖。路径和环境变量或参数可以是数据模型的一部分。该数据模型可以重新创建用于应用在其他环境中的环境变量之间的依赖引用。
附图说明
从下面的描述中可以得到更详细的理解,结合附图以示例的方式给出,其中图中相似的附图标记表示相似的元素,并且在附图中:
图1A是机器人过程自动化(RPA)开发、设计、操作或执行的图示;
图1B是RPA开发、设计、操作或执行的另一个图示;
图1C是计算系统或环境的图示;
图2是用于自动化机器人的过程队列管理的示例的图示;以及
图3是工件引用创建和依赖跟踪的示例方法的流程图。
具体实施方式
尽管下面将提供进一步的细节,但是通常计算设备包括处理器和存储器,被配置为创建用于环境中的应用的一个或多个表单。处理器和存储器还被配置为创建与一个或多个表单相关的一个或多个环境变量。处理器还被配置为利用一个或多个路径来跟踪一个或多个环境变量之间的依赖引用,其中数据模型包括该一个或多个路径和该一个或多个环境变量。该处理器还被配置为执行数据模型以重新创建一个或多个环境变量之间的用于应用在目标环境中的依赖引用。
对于本文描述的方法和过程,可以以任何顺序乱序执行所述步骤,并且可以执行未明确描述或shi出的子步骤。此外,“耦合”或“可操作地耦合”可能意味着对象被链接但在链接的对象之间可能具有零个或多个中间对象。此外,所公开的特征/元素的任何组合可用于一个或多个实施例中。当使用引用“A或B”时,它可能包括A、B、或者A和B,它们可以类似地扩展到较长的列表。当使用符号X/Y时,它可以包括X或Y。备选地,当使用符号X/Y时,它可以包括X和Y。X/Y符号可以类似地扩展到具有相同解释逻辑的较长的列表。
图1A是机器人过程自动化(RPA)开发、设计、操作或执行100的图示。有时被称为工作室、开发平台、开发环境等的设计器102可以被配置为生成代码、指令、命令等以供机器人执行或自动化一个或多个工作流。根据计算系统可以提供给机器人的(多个)选择,机器人可以确定由用户或操作员选择的视觉示出的(多个)区域的代表性数据。作为RPA的一部分,多维形状(诸如正方形、矩形、圆形、多边形、自由形式等)可以被利用用于与计算机视觉(CV)操作或机器学习(ML)模型相关的UI机器人开发和运行时。
可由工作流完成的操作的非限制性示例可以是执行登录、填写表单、信息技术(IT)管理等中的一项或多项。为了运行用于UI自动化的工作流,机器人可能需要唯一标识特定的屏幕元素,诸如按钮、复选框、文本字段、标签等,而不管应用接入或应用开发如何。应用接入的示例可以是本地、虚拟、远程、云、
Figure BDA0004143509480000031
Figure BDA0004143509480000032
远程桌面、虚拟桌面基础设施(VDI)等。应用开发的示例可以是win32、Java、Flash、超文本标记语言(HTML)、HTML5、可扩展标记语言(XML)、JavaScript、C#、C++、Silverlight等。
工作流可以包括但不限于任务序列、流程图、有限状态机(FSM)、全局异常处理程序等。任务序列可以是用于处理一个或多个应用或窗口之间的线性任务的线性过程。流程图可以被配置为处理复杂的业务逻辑,通过多个分支逻辑运算符以更多样化的方式实现决策的集成和活动的连接。FSM可以针对大型工作流进行配置。FSM可以在它们的执行中使用有限数目的状态,这些状态可以由条件、转换、活动等触发。全局异常处理程序可以被配置为在遇到执行错误时确定工作流行为、用于调试过程等。
机器人可以是应用、小应用、脚本等,其可以自动化对底层操作系统(OS)或硬件透明的UI。在部署时,一个或多个机器人可以由指挥器104(有时被称为编排器)管理、控制等。指挥器104可以指令或命令(多个)机器人或自动化执行器106在大型机、网络、虚拟机、远程机、虚拟桌面、企业平台、(多个)桌面应用、浏览器或类似的客户端、应用或程序中执行或监测工作流。指挥器104可以作为中心点或半中心点来指令或命令多个机器人自动化计算平台。
在某些配置中,指挥器104可以被配置用于供应、部署、配置、排队、监测、日志记录和/或提供互连。供应可以包括(多个)机器人或自动化执行器106与指挥器104之间的连接或通信的创建和维护。部署可以包括确保将包版本交付给指定的机器人以供执行。配置可以包括机器人环境和过程配置的维护和交付。排队可以包括提供队列和队列项的管理。监测可以包括跟踪机器人标识数据和维护用户权限。日志记录可以包括将日志存储和索引到数据库(例如,SQL数据库)和/或其他存储机制(例如,
Figure BDA0004143509480000041
其提供存储和快速查询大型数据集的能力)。指挥器104可以通过充当针对第三方解决方案和/或应用的集中通信点来提供互连。
(多个)机器人或自动化执行器106可以配置被为无人值守的108或有人值守的110。对于无人值守的108操作,自动化可以在没有第三方输入或控制的情况下被执行。对于有人值守的110操作,自动化可以通过从第三方组件接收输入、命令、指令、指导等被执行。无人值守的机器人108或有人值守的机器人110可以在移动计算或移动设备环境中运行或执行。
(多个)机器人或自动化执行器106可以是运行内置于设计器102中的工作流的执行代理。用于UI或软件自动化的(多个)机器人的商业示例是UiPath RobotsTM。在一些实施例中,(多个)机器人或自动化执行器106可以默认安装Microsoft
Figure BDA0004143509480000042
服务控制管理器(SCM)管理的服务。因此,这样的机器人可以在本地系统帐户下打开交互式
Figure BDA0004143509480000043
会话,并具有/>
Figure BDA0004143509480000044
服务的权限。
在一些实施例中,(多个)机器人或自动化执行器106可以以用户模式安装。这些机器人可以具有与给定机器人被安装的用户相同的权利。该特征也可用于高密度(HD)机器人,其确保诸如在HD环境等环境中以最高性能的充分利用每台机器。
在某些配置中,(多个)机器人或自动化执行器106可以被拆分、分布等成若干组件,每个组件专用于特定的自动化任务或活动。机器人组件可以包括SCM管理的机器人服务、用户模式机器人服务、执行器、代理、命令行等。SCM管理的机器人服务可以管理或监测
Figure BDA0004143509480000051
会话,并充当指挥器104和执行主机(即,(多个)机器人或自动化执行器106在其上执行的计算系统)之间的代理。这些服务可以被信任并管理针对(多个)机器人或自动化执行器106的凭证。
用户模式机器人服务可以管理和监测
Figure BDA0004143509480000052
会话并充当指挥器104和执行主机之间的代理。用户模式机器人服务可以信任并管理针对机器人的凭证。如果SCM管理的机器人服务未被安装,/>
Figure BDA0004143509480000053
应用可能被自动启动。
执行器可以在
Figure BDA0004143509480000054
会话下运行给定的作业(即,它们可以执行工作流)。执行器可以知道每台显示器的每英寸点数(DPI)设置。代理可以是在系统托盘窗口中显示可用作业的/>
Figure BDA0004143509480000055
Presentation Foundation(WPFZ)应用。代理可以是服务的客户端。代理可以请求开始或停止作业并更改设置。命令行可以是服务的客户端。命令行是控制台应用,其可以请求开始作业并等待其输出。
在(多个)机器人或自动化执行器106的组件如上所述被拆分的配置中,帮助开发者、支持用户和计算系统更容易地运行、标识和跟踪由每个组件的执行。特殊行可以以这种方式针对每个组件配置特殊行为,诸如为执行器和服务设置不同的防火墙规则。在一些实施例中,执行器可以知道每个监测器的DPI设置。因此,工作流可以在任何DPI执行,而不管在其上它们被创建的计算系统的配置如何。来自设计器102的项目也可以独立于浏览器缩放水平。在一些实施例中,对于不知道DPI或有意标记为不知道的应用,DPI可以被禁用。
图1B是RPA开发、设计、操作或执行120的另一图示。工作室组件或模块122可以被配置为生成代码、指令、命令等,以供机器人执行一个或多个活动124。用户接口(UI)自动化126可以由客户端上的机器人使用一个或多个驱动组件128执行。机器人可以使用计算机视觉(CV)活动模块或引擎130执行活动。其他驱动132可以被机器人用于UI自动化以得到UI的元素。它们可以包括OS驱动、浏览器驱动、虚拟机驱动、企业驱动等。在某些配置中,CV活动模块或引擎130可以是用于UI自动化的驱动。
图1C是计算系统或环境140的图示,其可以包括总线142或用于传送信息或数据的其他通信机制、以及耦合到总线142以进行处理的一个或多个处理器144。一个或多个处理器144可以是任何类型的通用或专用处理器,包括中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、控制器、多核处理单元、三维处理器、量子计算设备或其任何组合。一个或多个处理器144也可以具有多个处理核,并且核中的至少一些核可以被配置为执行特定功能。多并行处理也可以被配置。另外,至少一个或多个处理器144可以是神经形态电路,其包括模拟生物神经元的处理元件。
存储器146可以被配置为存储要由处理器144执行或处理的信息、指令、命令或数据。存储器146可以由随机存取存储器(RAM)、只读存储器(ROM)、闪存、固态存储器、高速缓存、静态存储(诸如磁盘或光盘),或任何其他类型的非暂态计算机可读介质或其组合。非暂态计算机可读介质可以是可以由(多个)处理器144接入的任何介质并且可以包括易失性介质、非易失性介质等。介质也可以是可移动的、不可移动的等。
通信设备148可以被配置为频分多址(FDMA)、单载波频分多址(SC-FDMA)、时分多址(TDMA)、码分多址(CDMA)、正交频分复用(OFDM)、正交频分多址(OFDMA)、全球移动系统(GSM)通信、通用分组无线电服务(GPRS)、通用移动电信系统(UMTS)、cdma2000、宽带CDMA(W-CDMA)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、高速分组接入(HSPA)、长期演进(LTE)、LTE高级(LTE-A)、802.11x、Wi-Fi、Zigbee、超宽带(UWB)、802.16x、802.15、家庭节点B(HnB)、蓝牙、射频标识(RFID)、红外数据协会(IrDA)、近场通信(NFC)、第五代(5G)、新无线电(NR)或任何其他无线或有线设备/收发器,用于经由一个或多个天线通信。天线可以是单一的、阵列的、相控的、切换的、波束形成的、波束控制的,等等。
一个或多个处理器144还可以经由总线142耦合到显示设备150,诸如等离子、液晶显示器(LCD)、发光二极管(LED)、场发射显示器(FED)、有机发光二极管(OLED)、柔性OLED、柔性基板显示器、投影显示器、4K显示器、高清(HD)显示器、
Figure BDA0004143509480000071
显示器、平面内切换(IPS)或基于类似的显示器。显示设备150可以被配置为使用电阻、电容、表面声波(SAW)电容、红外线、光学成像、色散信号技术、声脉冲识别、受抑全内反射、或者如本领域普通技术人员所理解的用于输入/输出(I/O)的其他技术的触摸、三维(3D)触摸、多输入触摸或多点触摸显示器。
键盘152和控制设备154(诸如计算机鼠标、触摸板等)还可以耦合到总线142,以用于向计算系统或环境140输入。另外,输入可以经由与其通信的另一计算系统远程地被提供给计算系统或环境140,或者计算系统或环境140可以自主操作。
存储器146可以存储在由一个或多个处理器144执行或处理时提供功能的软件组件、模块、引擎等。这可以包括用于计算系统或环境140的OS 156。模块还可以包括定制模块158,用于执行应用特定过程或其衍生过程。计算系统或环境140可以包括一个或多个附加功能模块160,一个或多个附加功能模块160包括附加功能。
计算系统或环境140可以被适配或配置为作为服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(PDA)、手机、平板计算设备、量子计算设备、云计算设备、移动设备、智能手机、固定移动设备、智能显示器、可穿戴计算机等来执行。
在本文给出的示例中,模块可以被实现为硬件电路,包括定制的超大规模集成(VLSI)电路或门阵列、现成的半导体,诸如逻辑芯片、晶体管或其他分立组件。模块还可以在可编程硬件设备(诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等)中实现。
模块可以至少部分地以由各种类型的处理器执行的软件来实现。所标识的可执行代码单元可以包括计算机指令的一个或多个物理或逻辑块,这些物理或逻辑块可以例如被组织为对象、过程、例程、子例程或函数。所标识的模块的可执行文件共置或存储在不同位置,在逻辑上连接在一起时构成该模块。
可执行代码的模块可以是单个指令、一个或多个数据结构、一个或多个数据集、多个指令等,分布在几个不同的代码段上、在不同的程序中、跨多个存储器设备,等等。操作或功能数据在本文中可以在模块内被标识和说明,并且可以以合适的形式体现并组织在任何合适类型的数据结构内。
在本文给出的示例中,计算机程序可以被配置为硬件、软件或混合实现。计算机程序可以包括相互操作通信并传递信息或指令的模块。
在某些实施例中,路径可以针对应用的工件创建或配置。工件可以是应用的环境参数或变量。例如,工件可能包括应用的页面、数据源、应用变量或页面或表单上的按钮。
在某些配置中,JavaScript对象表示法(JSON)、JavaScript、Typescript等可以被利用来创建或配置路径。在某些配置中,JSON“字符串”路径可以被编码以在JSON结构中定位工件或对模型、其他模型、表单、数据源、对象、子对象、属性、子属性等的引用。
路径也可以被利用以跟踪整个应用中模型、其他模型、表单、数据源、对象、属性等的使用。路径可以用作工件之间的映射来理解应用架构,以便更快地开发或部署。工件依赖跟踪和路径可以帮助终端用户理解应用架构以及应用的不同组件或模块如何依靠或依赖于不同的组件或模块。路径或映射可以在计算环境的内部和外部利用。
例如,在此上下文中,内部引用可以是表单内引用相同表单内的按钮的路径,具有表单引用该按钮的不同位置。这方面的一个示例是启用或禁用按钮的规则:规则和按钮存在于相同的表单中,因此对该按钮及其使用的位置的跟踪对表单是“内部”。
外部引用将是引用不同表单上的按钮的表单内的路径。例如,表单A可以具有按钮1。按钮1可以具有规则,该规则指令应用在用户点击按钮1时显示表单2。现在在表单1和表单2之间存在经由按钮1上的规则的引用。表单1将具有到表单2的引用,而表单2将引用回表单1和按钮1。这些可能被认为是外部路径,因为路径引用在表单本身之外定义的工件/对象。
JSON路径可以被存储为引用并且指向对应于该路径的相关联的工件、共享的工件、对象、环境变量等。系统可以利用该配置直接从链接的工件、共享的工件、对象、环境变量等取回应用的所需信息。通过JSON路径为应用创建的映射和依赖可以防止数据重复、减少不必要的数据传输、提高带宽使用率、减少实现时间、提高系统响应性、提高系统性能等。
当包括路径和工件引用的JSON模型被上传到系统中时,JSON路径可以自动创建或重新创建一个或多个工件之间的关系。这些关系可以确保应用的基本上所有依赖都可以在用户输入或干预最少的情况下在目标环境上自动被创建。基本上所有需要的工件和关键信息都可以包含在针对用于数据或文件大小优化的JSON对象模型中。
从JSON模型或数据中重新构建(rehydrating)设计器或工作室可以创建操作所需的工件或依赖。也就是说,重新构建是从后端获取数据并根据接收的数据重新创建存储器中对象(对象模型)的过程。在重新构建过程期间(将数据读入模型对象),引用可以被验证和检查以查看它们是否仍然有效。这个过程可以提醒用户依赖可能已经被删除,或者对于那些是预期的更改,只需在用户不知情的情况下更新底层对象模型。
对象模型内的JSON路径可以用作引用不同工件并且随后将它们链接为依赖的路径。附加的外部依赖的定义和元数据也可以被嵌入到JSON模型内,以支持在不同环境中的应用的部署。模型对象或对象模型框架可以能够理解工件路径并解析或创建所需的依赖。框架可以自动生成和链接不同的对象和工件以确保原始应用在不同环境中的基本确切的副本。
在某些配置中,环境变量或参数可以是针对与应用相关的表单创建的工件。路径可以被配置或利用用于跟踪环境变量或参数之间的依赖引用。路径和环境变量或参数可以是数据模型的一部分,诸如针对一个或多个表单的JSON模型。数据模型可以为应用在其他环境中重新创建环境变量之间的依赖引用,以正确操作一个或多个表单。
在应用编程、编码、构建、设计等期间,在应用被配置为特定规范时,目标工件可以添加、更新、改变等到JSON模型。针对不同的环境,配置的路径或工件可以被安排在树或图中。这可以有助于通过可视化了解工件的依赖和相关的应用架构。JSON模型可以在不同的环境中立即被再现以了解依赖链。
在某些配置中,底层模型框架可以被配置为管理工件。对于RPA,应用可以使用具有编排器实例的定义和引用的容器与指挥器或编排器对接。表单接口可以被构建以使用应用编程接口(API)读取/写入任何数据源。API可以用于为一个或多个数据库编程。表单上的按钮可以触发针对任何数据源的功能。按钮可以包括用于跟踪的项目列表。数据源可以是具有来自基于Saleforce、SAP等源的数据的表。与表单相关的工件可以被配置为在不解析基本上所有模型或定义的情况下相互传送信息以便生成依赖图。
在某些实施例中,应用构建器可以配置多个表单来创建完全或整个应用。一个或多个表单可以与用于相关应用的RPA的指挥器或编排器集成。跟踪系统可以使用引用来跟踪针对一个或多个表单的处理结果。例如,应用工作室或制作可能具有流程引用。在某些配置中,工件可以是表单、编排器实例、数据源、用户数据、具有功能的数据源等。这些工件中的一个或多个可以形成模型。另外,模型可以是可共享的。
例如,应用平台创建其自己的“模型”,该“模型”表示来自特定编排器实例的特定过程集合。该编排器模型(工件)可能看起来类似于编排器过程,因为它可能存储信息,诸如过程名称、版本、输入属性、输出属性等。该模型包含应用平台开始过程和读取过程结果所需的所有信息。该模型包含引用特定编排器和过程/机器人/等的依赖信息。
在某些实施例中,一个或多个表单可以被创建用于环境中的应用。与一个或多个表单相关的一个或多个环境变量也可以被创建。用以跟踪一个或多个环境变量之间的引用的一个或多个路径可以被利用。数据模型包括一个或多个路径和一个或多个环境变量。数据模型可以被执行以在一个或多个环境变量之间重新创建用于应用在目标环境中的的依赖引用。
在某些配置中,系统可以确定或范围依赖或跟踪,使得开发工具防止相关工件的删除、跟踪依赖、实现在没有额外开销的情况下新功能的开发、减少代码重复、减少数据重复、实现应用重用等等。关于工件的删除,工件的依赖或跟踪可以通过更好地理解关系引起依赖的可靠删除。这可以改善用户体验,因为完全理解应用的组件或模块的复杂性可以是不必要的。此外,开发工具还可以帮助在环境之间终端用户应用的传送。例如,利用被理解用于部署在各种目标环境中的工件的依赖,在市场或环境中复制、共享、移动等应用可能是有可能的。在将应用程序移动到新的市场或环境之后,相应工件之间的关系可以被维护。
用例或示例可以是包括多个表单和编排器集成的应用。将此应用部署到任何新环境时,可以确定与原始应用相关联的编排器实例在新环境中是否可用。还将有可能确定由部署的应用引用的过程在新环境中是否可用。如果对外部“工件”的任何依赖诸如此在新环境中无法解决,则应该有可能在新环境中自动下载/创建这些,或者经由用户接口,使用户能够选择不同的编排器实例和/或可以被用来代替缺少的依赖的过程。
这可以在没有实现者、用户、开发者等的手动链接的情况下实现。错误检查或报告可以被利用用于复制或共享的应用,使得潜在问题在初始创建时被标识。因此,应用的复制或共享可以利用最少的用户输入来实现。
根据以上描述,图2是用于自动化机器人的过程队列管理200的示例的图示。图示200示出了包括应用211A的环境A(210A),应用211A包括数据模型212A,数据模型212A包括多个数据和路径。图示200还示出了包括应用211B的环境B(210B),该应用211B包括数据模型212B,该数据模型212B包括多个数据和路径。
图3是根据以上描述的工件引用创建和依赖跟踪的示例方法300的流程图。在步骤310,用于环境中的应用的一个或多个表单被创建。与创建的表单相关的环境变量被创建(步骤320)。“环境变量”也可以是应用包括的任何其他“模型”。例如,如果一个表单(F1)被创建,并且第二表单(F2)被创建,并且按钮被放置在F1(B1)上,并且当用户点击该按钮时的规则被添加到该按钮,并且该规则被配置为“打开F2”(R1),则引用在F1上被创建,其中它存储关于F2已成为针对F1的外部依赖(经由B1和R1)这一事实的信息,并且相同的引用在F2上被创建:关于F2正在被F1使用(经由B1和R1)这一事实的信息被存储在F2上,并且它还存储了其可能已经从F1被引用的F2的模型中的所有位置(B2、B3、R2、R3、F4等)。这意味着在任何点,F1都具有外部“依赖”列表(其可以引用变量、文档、其他表单、编排器过程等),包括在那些模型中引用被使用的位置(B1 R1、B2 R3、B3 R3…),以及引用自身(F1)的所有外部模型(其他应用/表单/等)的列表。这是一个双向依赖跟踪系统,其实现应用的打包以及到其他环境的部署,包括其所有依赖。
一个或多个路径被利用来跟踪一个或多个环境变量之间的依赖引用(步骤330),并且数据模型包括一个或多个路径和一个或多个环境变量。依赖引用在步骤340中被创建。数据模型可以被使用以在一个或多个环境变量之间重新创建用于应用在目标环境中的依赖引用。
尽管以上以特定组合的形式描述了特征和元素,但是本领域的普通技术人员将理解,每个特征或元素可以单独使用或与其他特征和元素以任何组合使用。另外,本文描述的方法可以在并入计算机可读介质中以供计算机或处理器执行的计算机程序、软件或固件中实现。计算机可读介质的示例包括电子信号(通过有线或无线连接传输)和计算机可读存储介质。计算机可读存储介质的示例包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、寄存器、高速缓存存储器、半导体存储器设备、磁性介质(诸如内部硬盘和可移除去磁盘)、磁光介质以及光学介质(诸如CD-ROM磁盘和数字多功能磁盘(DVD))。

Claims (20)

1.一种计算设备,包括:
处理器和存储器,被配置为创建用于环境中的应用的一个或多个表单;
所述处理器和所述存储器还被配置为创建与所述一个或多个表单相关的一个或多个环境变量;
所述处理器还被配置为利用一个或多个路径来跟踪所述一个或多个环境变量之间的依赖引用,其中数据模型包括所述一个或多个路径和所述一个或多个环境变量;以及
所述处理器还被配置为执行所述数据模型以在所述一个或多个环境变量之间重新创建用于所述应用在目标环境中的所述依赖引用。
2.根据权利要求1所述的计算设备,其中所述处理器还被配置为基于第一表单的动作来生成规则,所述规则引起到第二表单的动作。
3.根据权利要求2所述的计算设备,其中所述处理器还被配置为在所述第一表单上创建所述第二表单是针对所述第一表单的外部依赖的引用。
4.根据权利要求3所述的计算设备,其中所述处理器还被配置为在所述第二表单上创建所述第二表单是针对所述第一表单的外部依赖的引用。
5.根据权利要求4所述的计算设备,其中所述引用信息包括以下数据中的一项或多项:变量、文档、附加表单和编排器过程。
6.根据权利要求1所述的计算设备,其中所述处理器还被配置为生成针对所述一个或多个表单的依赖范围。
7.根据权利要求1所述的计算设备,其中所述处理器还被配置为确定与原始应用相关联的编排器实例在新环境内是否可用。
8.根据权利要求7所述的计算设备,其中如果工件在所述新环境中不可用,则所述处理器还被配置为执行以下任何操作:在所述新环境内自动创建新工件,或者使用户能够经由用户接口选择不同的编排器实例以供使用。
9.一种方法,包括:
通过处理器和存储器创建用于环境中的应用的一个或多个表单;
由所述处理器创建与所述一个或多个表单相关的一个或多个环境变量;
由所述处理器利用一个或多个路径来跟踪所述一个或多个环境变量之间的依赖引用,其中数据模型包括所述一个或多个路径和所述一个或多个环境变量;以及
由所述处理器执行所述数据模型以在所述一个或多个环境变量之间重新创建用于所述应用在目标环境中的所述依赖引用。
10.根据权利要求9所述的方法,还包括由所述处理器基于第一表单中的动作生成规则,所述规则引起到第二表单的动作。
11.根据权利要求10所述的方法,还包括由所述处理器在所述第一表单上创建所述第二表单是针对所述第一表单的外部依赖的引用。
12.根据权利要求11所述的方法,还包括由所述处理器在所述第二表单上创建所述第二表单是针对所述第一表单的外部依赖的引用。
13.根据权利要求12所述的方法,其中所述引用信息包括以下数据中的一项或多项:变量、文档、附加表单和编排器过程。
14.根据权利要求9所述的方法,还包括由所述处理器生成针对所述一个或多个表单的依赖范围。
15.根据权利要求9所述的方法,还包括由所述处理器确定与原始应用相关联的编排器实例在新环境内是否可用。
16.根据权利要求15所述的方法,其中如果工件在所述新环境中不可用,则由所述处理器执行以下任何操作:在所述新环境内自动创建新工件,或者使用户能够经由用户接口选择不同的编排器实例以供使用。
17.一种用于计算机系统中的引用创建的非暂态计算机可读介质,所述非暂态计算机可读介质具有记录在其上的指令,所述指令当由所述处理器执行时使所述处理器执行操作,所述操作包括:
创建用于环境中的应用的一个或多个表单;
创建与一个或多个表单相关的一个或多个环境变量;
利用一个或多个路径来跟踪所述一个或多个环境变量之间的依赖引用,其中数据模型包括所述一个或多个路径和所述一个或多个环境变量;以及
执行所述数据模型以在所述一个或多个环境变量之间重新创建用于所述应用在目标环境中的所述依赖引用。
18.根据权利要求17所述的非暂态计算机可读介质,还包括由所述处理器基于第一表单的动作生成规则,所述规则引起到第二表单的动作。
19.根据权利要求18所述的非暂态计算机可读介质,还包括由所述处理器在所述第一表单上创建所述第二表单是针对所述第一表单的外部依赖的引用。
20.根据权利要求19所述的非暂态计算机可读介质,还包括由所述处理器在所述第二表单上创建所述第二表单是针对所述第一表单的外部依赖的引用。
CN202180065661.0A 2020-09-25 2021-09-21 工件引用创建和依赖跟踪 Pending CN116194887A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/032,990 2020-09-25
US17/032,990 US11308267B1 (en) 2020-09-25 2020-09-25 Artifacts reference creation and dependency tracking
PCT/US2021/051280 WO2022066628A1 (en) 2020-09-25 2021-09-21 Artifacts reference creation and dependency tracking

Publications (1)

Publication Number Publication Date
CN116194887A true CN116194887A (zh) 2023-05-30

Family

ID=80823717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180065661.0A Pending CN116194887A (zh) 2020-09-25 2021-09-21 工件引用创建和依赖跟踪

Country Status (4)

Country Link
US (2) US11308267B1 (zh)
JP (1) JP2023544277A (zh)
CN (1) CN116194887A (zh)
WO (1) WO2022066628A1 (zh)

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8900247A (nl) * 1989-02-01 1990-09-03 Bso Buro Voor Systeemontwikkel Werkwijze en stelsel voor het weergeven van meervoudige analyses in een afhankelijkheidsgrammatica, alsmede ontleed-inrichting voor het genereren van een dergelijke weergave.
US5689711A (en) * 1995-04-21 1997-11-18 Bardasz; Theodore Method and apparatus for representing data dependencies in software modeling systems
US6185583B1 (en) * 1998-11-30 2001-02-06 Gte Laboratories Incorporated Parallel rule-based processing of forms
JP3817378B2 (ja) * 1998-12-15 2006-09-06 富士通株式会社 情報入力装置
GB9906629D0 (en) * 1999-03-23 1999-05-19 Koninkl Philips Electronics Nv Memory reclamation method
US7363633B1 (en) 2000-04-24 2008-04-22 Microsoft Corporation Registering and storing dependencies among applications and objects in a computer system and communicating the dependencies to a recovery or backup service
CA2354443A1 (en) * 2001-07-31 2003-01-31 Ibm Canada Limited-Ibm Canada Limitee Method and system for visually constructing xml schemas using an object-oriented model
US7392483B2 (en) 2001-09-28 2008-06-24 Ntt Docomo, Inc, Transformation of platform specific graphical user interface widgets migrated between heterogeneous device platforms
US7992088B2 (en) * 2002-03-12 2011-08-02 International Business Machines Corporation Method and system for copy and paste technology for stylesheet editing
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
GB2389499B (en) * 2002-06-06 2005-09-28 Focus Solutions Group Plc Electronic data capture and verification
EP1418501A1 (fr) * 2002-11-08 2004-05-12 Dunes Technologies S.A. Méthode d'administration d'applications sur des machines virtuelles
US20040243921A1 (en) * 2003-05-30 2004-12-02 Carr Steven Paul Methods and systems for synchronizing document elements
US7730410B2 (en) 2003-09-22 2010-06-01 Sap Ag System and method for customizing form elements in a form building application
US7653896B2 (en) * 2004-06-30 2010-01-26 Microsoft Corporation Smart UI recording and playback framework
US8392873B2 (en) * 2005-01-26 2013-03-05 Tti Inventions C Llc Methods and apparatus for implementing model-based software solution development and integrated change management
US7877677B2 (en) * 2006-03-01 2011-01-25 Infogin Ltd. Methods and apparatus for enabling use of web content on various types of devices
US8392886B2 (en) * 2006-10-17 2013-03-05 Artoftest, Inc. System, program product, and methods to enable visual recording and editing of test automation scenarios for web application
US20090210873A1 (en) * 2008-02-15 2009-08-20 International Business Machines Corporation Re-tasking a managed virtual machine image in a virtualization data processing system
US8813024B2 (en) 2008-09-22 2014-08-19 International Business Machines Corporation System and a method for cross-platform porting of business application and making them contextually-aware on target platforms
US9300532B2 (en) 2008-10-24 2016-03-29 Microsoft Technology Licensing, Llc Automating deployment of service applications by exposing hosting environment constraints
US8275859B2 (en) * 2009-03-31 2012-09-25 International Business Machines Corporation Selective partial updates of web content
US20110271173A1 (en) * 2010-05-03 2011-11-03 Xerox Corporation Method and apparatus for automatic filling of forms with data
US8788885B1 (en) * 2011-09-23 2014-07-22 Amazon Technologies, Inc. Intermediary for testing content and applications
US9971849B2 (en) * 2011-09-29 2018-05-15 International Business Machines Corporation Method and system for retrieving legal data for user interface form generation by merging syntactic and semantic contraints
CN103139260B (zh) * 2011-11-30 2015-09-30 国际商业机器公司 用于重用html内容的方法和系统
US9207952B2 (en) * 2013-02-13 2015-12-08 International Business Machines Corporation Semantic mapping of objects in a user interface automation framework
US20160012015A1 (en) * 2014-07-08 2016-01-14 Tuyen Tran Visual form based analytics
US10120844B2 (en) * 2014-10-23 2018-11-06 International Business Machines Corporation Determining the likelihood that an input descriptor and associated text content match a target field using natural language processing techniques in preparation for an extract, transform and load process
WO2016141131A1 (en) * 2015-03-03 2016-09-09 Software Robotics Corporation Limited Software robots for programmatically controlling computer programs to perform tasks
US9582268B2 (en) 2015-05-27 2017-02-28 Runnable Inc. Automatic communications graphing for a source application
US9996330B2 (en) * 2015-11-23 2018-06-12 Sap Se Deployment process plugin architecture
US20170372247A1 (en) * 2016-06-24 2017-12-28 Intuit Inc. Methods, systems, and articles of manufacture for implementing software application development and releases
US20180018676A1 (en) * 2016-07-15 2018-01-18 Intuit Inc. System and method for generating structured representations of compliance forms from multiple visual source compliance forms
US10216513B2 (en) * 2016-09-15 2019-02-26 Oracle International Corporation Plugin for multi-module web applications
US10496735B2 (en) * 2016-10-03 2019-12-03 Adobe Inc. Object interaction preservation from design to digital publication
US10339036B2 (en) * 2016-12-30 2019-07-02 Accenture Global Solutions Limited Test automation using multiple programming languages
US10175967B2 (en) 2017-01-11 2019-01-08 International Business Machines Corporation Migrating applications to updated environments
US20190129712A1 (en) 2017-10-27 2019-05-02 Intuit Inc. Methods, systems, and computer program products for an integrated platform for continuous deployment of software application delivery models
US10963624B2 (en) * 2018-05-02 2021-03-30 Citrix Systems, Inc. Web UI automation maintenance tool
CN109032699A (zh) 2018-07-23 2018-12-18 北京轻元科技有限公司 一种修改应用程序环境变量的方法和终端
US10740537B2 (en) * 2018-11-01 2020-08-11 Dell Products L.P. Enterprise form dependency visualization and management
US11481310B1 (en) * 2019-06-03 2022-10-25 Progress Software Corporation Self-healing hybrid element identification logic
US10970097B2 (en) * 2019-06-19 2021-04-06 Sap Se Adaptive web-based robotic process automation
US10949331B1 (en) * 2020-01-30 2021-03-16 EMC IP Holding Company LLC Integration testing of web applications utilizing dynamically generated automation identifiers
US11582266B2 (en) * 2020-02-03 2023-02-14 Citrix Systems, Inc. Method and system for protecting privacy of users in session recordings
US11443241B2 (en) * 2020-03-26 2022-09-13 Wipro Limited Method and system for automating repetitive task on user interface
WO2022016485A1 (en) * 2020-07-24 2022-01-27 Citrix Systems, Inc. Framework for ui automation based on graph recognition technology and related methods

Also Published As

Publication number Publication date
US11809815B2 (en) 2023-11-07
US11308267B1 (en) 2022-04-19
US20220100952A1 (en) 2022-03-31
JP2023544277A (ja) 2023-10-23
US20220237369A1 (en) 2022-07-28
WO2022066628A1 (en) 2022-03-31

Similar Documents

Publication Publication Date Title
JP2023514682A (ja) ロボティックプロセスオートメーションのための自動化ウィンドウ
US20220350722A1 (en) Automation of a process running in a first session via a robotic process automation robot running in a second session
CN113127165A (zh) 用于机器人进程自动化(rpa)的触发服务管理
KR102448774B1 (ko) 외부 트리거에 기초한 로봇 프로세스 자동화 워크플로우의 재개
US11157339B1 (en) Automation of a process running in a first session via a robotic process automation robot running in a second session
KR102446568B1 (ko) 제2 세션에서 실행중인 로봇 프로세스 자동화 로봇을 통한 제1 세션에서 실행중인 프로세스의 자동화
KR20230001491A (ko) 가상 머신들, 세션들, 및 컨테이너들에 대한 웹 기반 로보틱 프로세스 자동화 설계자 시스템들 및 자동화들
US11334828B2 (en) Automated data mapping wizard for robotic process automation (RPA) or enterprise systems
WO2021188368A1 (en) In-process trigger management for robotic process automation (rpa)
CN114303133A (zh) 计算平台的实体引擎
JP2023544278A (ja) テスト中のアプリケーションのテストオートメーションのためのコンピュータ実装方法およびシステム
KR20220007496A (ko) 제1 세션에서 실행되고 있는 프로세스의 제2 세션에서 실행되고 있는 로봇 프로세스 자동화 로봇을 통한 자동화
US11453131B2 (en) Method and apparatus for remote native automation decoupling
US11759950B2 (en) Localized configurations of distributed-packaged robotic processes
US11809815B2 (en) Artifacts reference creation and dependency tracking
US20220075603A1 (en) Dynamic robot tray by robotic processes
US20210405999A1 (en) Context-aware undo-redo service of an application development platform
CN116262350A (zh) 用于机器人过程自动化的多目标库、项目和活动
CN116235146A (zh) 云迁移

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20230530

WD01 Invention patent application deemed withdrawn after publication