CN102411503A - 空运行设计时环境 - Google Patents

空运行设计时环境 Download PDF

Info

Publication number
CN102411503A
CN102411503A CN2011102805660A CN201110280566A CN102411503A CN 102411503 A CN102411503 A CN 102411503A CN 2011102805660 A CN2011102805660 A CN 2011102805660A CN 201110280566 A CN201110280566 A CN 201110280566A CN 102411503 A CN102411503 A CN 102411503A
Authority
CN
China
Prior art keywords
incident
user
process model
incidents
business process
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.)
Granted
Application number
CN2011102805660A
Other languages
English (en)
Other versions
CN102411503B (zh
Inventor
J.赖斯比赫
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of CN102411503A publication Critical patent/CN102411503A/zh
Application granted granted Critical
Publication of CN102411503B publication Critical patent/CN102411503B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling

Abstract

本公开提供在设计时环境中执行业务过程模型的空运行的各种实施例。该业务过程模型的开始事件和结束事件被识别,该开始事件和结束事件定义了流地图的路径,该路径包含多个事件的序列,所述序列包含所述开始事件、所述结束事件,以及至少一个其它事件,所述至少一个其它事件在该序列中位于所述开始事件和所述结束事件之间。路径中的多个事件被逐步通过(stepped-through)以仿真每个事件。识别与路径中的特定事件相对应的错误。当识别出错误时,该逐步通过被暂停。然后用户被提示进行至少临时解决所述至少一个错误的输入。响应于来自用户的解决方案输入,继续进行对多个事件的逐步通过。空运行响应于逐步通过到达结束事件而结束。

Description

空运行设计时环境
技术领域
本公开涉及设计时(design-time)软件工具和操作,并且更具体来说,涉及提供用于业务过程模型的空运行(dry-run)设计时工具的系统、软件和计算机实现的方法。
背景技术
在很多方面,软件开发、编程以及编码包含在设计时环境中检查代码语法、编译和重新编译脚本、以及测试软件系统的模块的试错(trial-and-error)过程,以确保代码没有缺陷(bug)并且可以用于商业或运行时部署。已经开发了工具来帮助软件开发者进行调试、编译以及硬编码他们的程序。设计时工具和环境能够提供这样的工具以及使传统软件开发任务和过程自动化的开发工具。设计时环境的一个示例是集成开发环境或“IDE”。IDE能够提供设计时组件和工具的套件,有时以公共用户接口来提供所述设计时组件和工具的套件。IDE并非使用若干独特的开发工具,而是将多个开发工具集成到一个公共包中,以使得对这些工具的访问和使用对用户来说更加方便。在一些实例中,IDE专用于特定编程语言,从而提供与语言的细微差别(nuance)和编程范例兼容且适配的工具和特征集(feature set)。然而,一些多语言IDE也确实存在,比如,Eclipse、ActiveState Komodo、NetBeans、Microsoft Visual Studio、WinDev以及Xcode的商业上可用的版本。
IDE能够提供软件创作,修改,编译,部署和调试的工具和特征。通过紧密集成开发工具和任务,软件开发的生产率和效率能够得到提高。典型的IDE包括调试器、编译器、源代码编辑器和自动构建(build automation)工具。其他的当代IDE可以进一步包括类浏览器、对象监视器(inspector)和类层次(hierarchy)工具,比如用来协助面向对象的软件开发。
发明内容
本公开提供在设计时环境中执行业务过程模型的空运行的各种实施例。该业务过程模型的开始事件和至少一个结束事件被识别。该开始事件和至少一个结束事件定义了该业务过程模型的流地图的至少一条路径,该路径包含多个事件的序列,所述多个事件包含所述开始事件、所述至少一个结束事件,以及至少一个其它事件,所述至少一个其它事件在该序列中位于所述开始事件和所述结束事件之间。路径中的多个事件被逐步通过(stepped-through)以仿真多个事件中的每个事件。识别与路径中的特定事件相对应的至少一个错误。响应于识别出错误,对多个事件的逐步通过被暂停在该特定事件。然后用户被提示进行至少临时解决所述至少一个错误的输入。响应于来自用户的解决方案输入,对多个事件的逐步通过继续进行,直到逐步通过到达至少一个结束事件为止,结束空运行。
虽然一般被描述为处理和转换相应数据的计算机实现的软件的时候,但是部分或者全部方面可以是计算机实现的方法或进一步包括在相应系统或者其他设备中,用于执行这个描述的功能。这些其他方面的细节以及本公开的实施例在下面的附图和描述中阐述。本公开的其他的特征、目的和优点从说明书,附图和权利要求中将很清楚。
附图说明
图1是示出包括包含空运行仿真工具的开发环境的示例计算系统。
图2是示出空运行仿真工具的示例实现的示意图。
图3A是示出在设计时环境中执行业务过程模型的空运行的示例计算机处理的流程图。
图3B是示出在设计时环境中执行业务过程模型的空运行的计算机处理的另一个示例的流程图。
图4A-4F是示出包含空运行仿真工具的设计时环境的用户界面的示例屏幕截图。
图5A-5E是示出空运行仿真工具的另一个示例使用的用户界面的示例屏幕截图。
在各个图中相同的参考标号指代相同的元素。
具体实施方式
本公开大体描述了与用于执行软件模型(比如业务过程模型)的空运行的设计时工具有关的软件,计算机实现的方法和系统。空运行一般是指在将软件模型和/或相关代码引入到计算机实现的编译器、调试器、沙箱、运行时环境、自动构建工具或其它用于更正式的测试和调试的工具之前,由软件开发人员对软件模型进行的智力(mental)评估和检查。在一些实例中,软件模型能够被开发人员用于在对按照该软件模型建模的程序、模块和过程编码之前规划(map-out)上下文、控制和数据流。软件开发人员能够在对编码按照软件模型建模的程序、模块和过程所需的时间、金钱和计算资源进行投入之前开发和精细调整该软件模型。
通常,调试器,编译器和其它传统的设计时工具为了完成处理,可能需要能够被编译的、完整的、充分指定的、或者语法正确或充分指定的一段代码或者软件模型。就是说,当一个过程模型比如不完整、指定不完全(underspecified)、或语法不正确时,这个工具就不能成功地完成该模型的测试。此外,即使在业务过程模型被充分指定的实例中,测试它的功能行为可能也需要一个完全的设计时-运行时的往返(design time-runtime roundtrip),结果导致了不能接受的长周转(turnaround)时间和不利地影响软件的开发和测试的其它不便。
如上所述,在一些实例中,一个空运行仿真工具能够在建模阶段执行不完整的、指定不完全或语法不正确的业务过程的计算机实现的空运行,从而辅助开发人员评估过程的当前部分开发的状态是否符合该开发人员的预期。在空运行期间,终端用户能够仿真数据流、理解仿真的输入和输出数据能够如何影响过程的执行,在已经定义的映射指令中识别出缺失的数据流定义或其它问题。当空运行遇到指定不完全或不完整的模型的部分时,空运行能够暂停接收来自终端用户的输入,比如,与模型的开发不完全的部分相对应的输入数据、控制流关口(gateway)条件以及消息相关谓词(message correlationpredicate),以临时跨过(bridge)这部分并使用户能够完成模型的初步测试或运行。
业务过程的执行不能仅依赖于控制流方面,也依赖于数据流。比如,数据流指令能够结合过程活动和事件的映射(例如,从全局数据上下文到活动签名的转换以及从活动签名到全局数据上下文的转换)来指定。此外,数据库也能影响与模型的过程数据上下文相关的表达式,比如,条件关口或者消息相关谓词。例如,在关口条件或消息相关谓词没有被正确定义的事件中,业务过程可能在运行时不能适当地执行,或者根本不能执行。在这样的实例中,建模过程的空运行能够辅助开发人员在对‘真的(live)’,产出(productive)的系统进行进一步的开发工作和过程部署之前理解业务过程的任何或所有条件、关系和数据流是否被正确地定义。
图1示出了包括包含空运行仿真工具110的开发环境105的示例计算系统100。开发环境105可以是集成开发环境或IDE,并且除空运行仿真工具110之外还包括一套集成的其它开发工具。开发环境105可以包括一个或多个存储在存储器115中的业务过程模型112,这些模型能够被包括设计时空运行仿真工具110的开发环境105访问。例如,业务过程模型112能够被从与开发环境105的工作空间相关联的存储器访问。开发环境能够结合如图1所示的通过一个或多个网络125给一个或多个客户130、135提供业务服务的企业软件系统120来实现。开发环境105本身能够被当做服务提供给一个或多个远程客户端计算设备(例如130、135)。在一些实例中,至少开发环境105的包括空运行仿真工具110的部分,能够被安装在客户端设备130、135自身上,并且与远离客户端设备130、135的开发环境105的后端部分交互。在另外一些示例中,开发环境105能够被提供为分布式软件环境,比如云计算系统。仍然在其它实例中,开发环境105能够在终端用户计算设备130,135上本地存储和执行。使用开发环境105开发和测试的业务过程模型能够被导出到其它计算设备或从其它计算设备中导入,所述其它计算设备包括客户端计算设备(例如130、135)、企业软件系统120或其它应用服务器140或计算设备,包括远离开发环境105的计算设备。
开发环境105能够使用一个或多个计算设备被实现。如本文中所使用的,术语“计算设备”或者“计算机”意图包含任何适合的处理设备。比如,计算设备能够包括一个或多个可操作用来接收、发送、处理、存储或管理与软件环境100相关联的数据和信息的服务器。比如,环境100可以使用除了服务器,包括服务器池,之外的计算机实现。此外,任何、所有或某些服务器(包括计算设备120、130、135、140)可以被适配为运行任何操作系统,包括Linux、UNIX、Windows Server或者任何其它适合的操作系统。客户端130、135及环境100外部的其它用户,能够直接或间接地(例如通过代理,虚拟机接口等等)使用开发环境105访问和执行操作、测试和空运行。将进一步理解术语“应用服务器”(例如140)可以包括任何适合的软件组件或模块,或能托管(hosting)和/或提供(serving)软件应用(包括分布式、企业级、或基于云的软件应用)的计算设备。
在当前这个示例中,开发环境105能够与一个或多个应用服务器140和/或企业软件系统120接口。在一些实例中,开发环境105能够被托管在公共的计算系统,服务器或服务器池上,并且与企业软件系统或其它软件系统共享计算资源,包括共享的存储器、处理器和接口。开发环境105能够与其它软件系统和客户端设备接口,以在客户端-服务器环境或其它分布式环境(包括环境100)中通信。提供开发环境105的计算设备可以包括一个或多个接口,该一个或多个接口包含以适当组合编码在软件和/或硬件中的逻辑,并且可操作以与网络125和其它计算设备(包括耦合到网络125的计算设备通信)通信。更具体地,这些接口可以包含支持一个或多个与通信相关联的通信协议的软件,使得网络125或硬件能够可操作以传送示出的软件环境100内部和外部的物理信号。
每一个示例服务器(例如120、140)(包括服务器和托管开发环境105的计算设备)都可以包含处理器。每一个处理器都能够执行指令并操纵(manipulate)数据以执行关联服务器的操作,并且都可以包括,例如中央处理单元(CPU)、刀片、专用集成电路(ASIC)、或者现场可编程门阵列(FPGA)及其它合适的选项。根据关联服务器的特殊需要,处理器能够实现为一个或多个处理器。对单处理器的提及也可以被解释为多个处理器(如果可应用的话)。每个处理器执行的操作可以由它的关联服务器的目的和操作来确定。通常,处理器执行指令和操纵数据,以执行它的相应服务器的操作,并且更具体地说,就是由该服务器托管的软件系统和应用(例如105)。
在高层,每一个“服务器”都包括一个或多个可操作以接收、发送、处理、存储或管理与环境100相关联的数据和信息的电子计算机设备。更具体来说,服务器负责接收来自一个或多个客户端的请求和向该请求客户端发送适当的响应。除了来自外部客户端的请求之外,请求可以是从内部用户、外部或第三方客户、其它自动化应用,以及任何其它适当的实体、个体、系统或计算机发送的。例如,尽管图1示出了用于应用服务器140的单个服务器和用于企业系统120的服务器池,服务器也可以用一个或多个服务器,以及除服务器(包括服务器池)之外的计算机,来实现。实际上,服务器可以是任何计算机或处理设备,比如刀片服务器、通用个人电脑(PC)、苹果机、工作站、基于UNIX的工作站或任何其它合适的设备。换句话说,本公开考虑了除了通用计算机之外的计算机,以及包括没有常规操作系统的计算机。进一步讲,服务器能够适配为运行任何操作系统,包括Linux、UNIX、Windows、Mac OS或任何其它适合的操作系统。
在服务器实现开发环境105的情况中,服务器的处理器能够执行接收和回应来自客户端设备130,135以及与开发环境105接口的客户端应用140的请求及交互(interaction)的功能。不管特定的实现,“软件”可以包括有形介质上的计算机可读的指令、固件、有线或可编程硬件、或它们的组合,它们当被执行时可操作以执行至少在此描述的处理和操作。实际上,每一个软件组件都可以用任何合适的计算机语言完全或部分编写或描述,所述计算机语音包括C、C++、Java、Visual Basic、汇编、Perl、4GL的任意合适版本及其它语言。应用能够被实现为通过各种对象、方法或其它过程来实现各种特征和功能的单独模块,或者视情况而替代为包括许多子模块、第三方服务、组件、库等等。相反,各种组件的特征和功能能够视情况而被组合成单个组件。
在高层,包含在环境100中的应用可以包括任何应用、程序、模块、过程或者其它软件,它们可以根据本公开,具体来说,响应于并且结合从所示的客户端130、135接收一个或多个请求以及其它应用,来执行、改变、删除、产生、或以其它方式管理信息。在某些情况下,只有一个托管应用(hostedapplication)可以位于特定的服务器上。在其它情况中,多个相关和/或不相关的托管应用可以存储在单个服务上,或者也可以位于多个其它服务器上。在某些情况中,环境100可以实现复合(composite)托管应用。例如,复合应用的部分可以被实现为企业Java Bean(EJB)或者设计时组件可以具有能够将运行时实现生成为不同平台的能力,所述平台比如,J2EE(Java 2 Platform,Enterprise Edition,Java 2平台,企业版)、ABAP(Advanced BusinessApplication Programming,高级业务应用编程)对象、或微软的NET等等。另外,应用,包括通过企业软件服务120提供的应用,可以表示被远程客户端130、135或者客户端应用140通过网络125(例如,通过互联网)访问和运行的基于web的应用。更进一步,一个或多个与特定托管应用相关联的过程能够被存储、引用或远程运行。例如,特定的托管应用的一部分可以是与远程调用的应用相关联的web服务,而托管应用的另外一部分可以是被捆绑用于在远程客户端130、135处理的接口对象或者代理。此外,任何或所有托管应用可以是其它软件模块的孩子或子模块或者企业应用(未示出),而不脱离本公开的范围。更进一步说,托管应用的部分可以被在服务器140直接工作的用户以及在客户端130、135远程工作的用户运行。
每一个示例服务器105、120、140能包含存储器。每一个存储器可以包含任何存储器或数据库模块,并且可以采用易失性存储器或非易失性存储器的形式,包括但不限于,非瞬时(non-transitory)存储器元件、磁介质、光介质、随机存取存储器(RAM)、只读内存(ROM)、可移动介质或任何其它适合的本地或远程存储器组件。每个存储器可以存储各种对象或数据,包括类、框架、应用、备份数据、业务对象、作业、网页、网页模板、数据库表格、存储业务或其它动态信息的内容储存库、或其它信息,所述其它信息包括与特定服务器用途相关的任何参数、变量、算法、指令、规则、约束或对它们的引用。每个存储器还可以包含任何其它适当的数据,比如VPN应用、固件日志和策略、防火墙策略、安全或访问日志、打印或其它报表文件及其它内容。将在下面结合软件环境100和它组件的所示实现再一次详细描述存储在每个存储器中的特定数据和指令。
通常,网络125方便了软件环境100中组件之间(例如在开发环境105和一个或多个使用开发环境105的客户端设备130、135之间)的无线或有线通信,也方便了与任何其它本地或远程的计算机(例如那些与一个或多个应用120、140或外部数据源相关联的计算机)的通信。网络125能够实现为一个或多个不同的网络。在任何实现中,网络125可以是连续或不连续的网络,而不脱离本公开范围,只要网络125的至少部分能够方便发送方和接收方之间的通信。网络125可以是企业或安全网络的全部或部分。例如,在图1中网络125a可以表示企业网络的部分,而网络125b可以表示到互联网的连接。在一些实例中,网络125的部分可以是虚拟专用网络(VPN)。网络125的全部或部分能够包括有线或无线链路。示例无线链路可以包括802.11a/b/g/n、802.20、WiMax和/或任何其它合适的无线链路。换句话说,网络125包含了任何内部或外部网络、子网或者它们的组合,它们可操作以方便所示环境100内部和外部的各种计算组件之间的通信。网络125能够在地址之间传送例如因特网协议(IP)分组、帧中继帧、异步传输模式(ATM)单元、语音、视频、数据和其它适合的信息。网络125也可以在一个或多个地点包含一个或多个局域网(LAN),无线电接入网(RAN)、城域网(MAN)、广域网(WAN),因特网的全部或部分、和/或任何其它通信系统。
图1所示的实现包含一个或多个本地和/或远程客户端130、135。客户端130、135可以是任何可操作以使用有线或无线连接与至少开发环境105和/或网络125连接或通信的计算设备。每一个客户端130、135能包含图形用户接口(GUI)。通常,客户端130、135包含电子计算设备,其操作以接收、发送、处理和存储与图1所示的软件环境相关联的任何适当数据。应当理解可能存在与环境100相关联的任意数量的客户端130、135,以及存在在环境100的外部的任意数量的客户端130、135。此外,术语“客户端”和“用户”可以适当地交换使用,而不脱离在本公开范围。再者,虽然每一个客户端130、135是按照被一个用户使用来描述的,但是本公开考虑到许多用户可能使用一个计算机或者一个用户可能使用多个计算机。如在本公开中所使用的,客户端130、135意图包含个人电脑、触摸屏终端、工作站、网络计算机、Kiosk、无线数据端口、智能电话、个人数据助理(PDA),在这些或其它的设备内部的一个或多个处理器、以及任何其它适合的处理设备。例如,客户端130、135可以包含计算机,该计算机包含输入设备和输出设备,输入设备比如键盘、触摸屏、鼠标或其它能接受信息的设备,而输出设备能够传达与开发环境105(包含空运行仿真工具110)以及其它应用的操作相关联的信息,包括数字数据、可视信息或GUI,所述其它应用在企业软件系统120、应用服务器140(或环境100中的其它服务器)或客户端130、135本身上被存储和/或执行。输入设备和输出设备二者都可以包含固定或可移动存储介质,比如计算机磁盘,CD-ROM或其它适合的介质,用于通过显示接口也就是GUI既从客户端130、135的用户接收输入也提供输出给客户端130、135的用户。
GUI可以包含图形用户接口,其可操作以允许用户出于任何适当目的而与环境100的至少部分接口,包括允许用户与一个或多个软件应用(包括开发环境105)交互。通常,GUI向用户提供对由系统提供的或在系统内部传送的数据的高效和用户友好的呈现。术语“图形用户接口”,或GUI,可以以单数或复数使用,以描述一个或多个图形用户接口以及特定图形用户接口的每一个显示。因此,GUI可以是在环境100中处理信息和把结果高效地呈现给用户的任何图形用户接口,比如web浏览器、触摸屏或命令行接口(CLI)。通常,GUI可以包含多个可以由用户在客户端130、135上操作的用户接口(U1)元素,比如交互域、下拉列表、媒体播放器、表格、图形、虚拟机接口、按钮等等。这些UI元素可以具体与开发环境105(包含空运行仿真工具110)的功能相关并且具体适配为用于这些功能。
尽管图1被描述为包含多个元素或与多个元素相关联,但不是所有在图1的环境100里面所示的元素都能够在本公开的每个可替换实现中使用。此外,这里描述的一个或多个元素可以位于环境100的外部,而在其它一些实例中,某些元素可以被包含在一个或多个其它所述元素以及在所示实现中未描述的其它元素的内部或者作为一个或多个其它所述元素以及在所示实现中未描述的其它元素的部分。进一步,某些图1中示出的元素可以与其它组件组合,以及用于除这里描述的目的之外的替换或附加目的。
图2是开发环境的空运行仿真工具110的实现的一个示例实现的示意性表示。在一些实现中,空运行仿真工具110可以包含仿真模块210和错误解决(resolution)模块220。一个或多个业务过程模型112可以存储在存储器115中,存储器115能够被空运行仿真工具110访问或者与空运行仿真工具110关联。仿真模块210可以被适配为对过程模型的路径中的每个事件执行逐步通过(step-through)仿真。仿真模块210包含这样的功能,其允许用户仿真事件的各种不同输入或控制条件来测试该事件和路径中的后续事件如何对仿真的输入做出响应。一个或多个GUI,包括弹出窗口,可以结合仿真模块210的功能被显示,以允许用户在逐事件(event-by-event)的基础上分析和交互每个事件的参数。除了允许用户测试和细查过程模型中的每个事件,仿真模块210还能够识别出与事件有关的错误。比如,错误能够标识事件的未指定或指定不完全的参数。
错误解决(resolution)模块220能够结合仿真模块210来操作以提示用户进行解决方案(resolution)输入,来临时解决仿真模块210识别出的错误。空运行仿真实例可以被空运行仿真工具110响应于仿真模块210检测到事件错误而暂停。空运行可以在相应的事件处暂停,直到错误解决模块220接收到可接受的解决方案输入为止。错误解决模块220还可以识别出错误的本质并且识别出能够满足错误提示的潜在的解决方案输入或输入选项的集合。例如,错误解决模块220能够通过提示呈现对错误的简短描述并且建议对特定错误的一个或多个解决方案。比如该提示可以呈现用户可选择的并且被错误解决模块220识别为对该错误的可接受响应的多个解决方案选项。
如图2所示,空运行仿真工具110可以与包含另外的开发工具的开发环境105集成在一起,所述另外的开发工具包括编译器230、源代码编辑器235、自动构建工具240、调试器245和过程模型编辑器255。过程模型编辑器255能够提供构建和编辑业务过程模型的功能。一个或多个包含在开发环境中的开发工具,包括过程模型编辑器255,能够与空运行仿真模块210接口,以扩展空运行仿真工具110的功能。例如,过程模型编辑器255能够提供允许用户编辑、添加和删除过程模型中的事件的图形编辑环境。过程模型编辑器255的编辑功能能够用于与过程模型的空运行仿真同时地修改过程模型。例如,响应于与被仿真模块210识别出的错误相关联的空运行仿真中的暂停,用户能够通过使用过程模型编辑器255提供的编辑功能临时性或永久性地编辑过程模型的方面,来对由错误解决模块220产生的错误提示做出响应。错误解决模块220能够在空运行仿真期间使用过程模型编辑器255识别出对过程模型的修改,充分地解决识别出的错误,以使得空运行逐步通过以前进到所仿真的过程模型的路径中的另一个事件。
结合图2所描述和示出的示例只是一个用于和包含在设计时开发环境中的空运行仿真工具的示例实现。能够认识到基本上提供类似的功能和结果的可替代的实现。例如,在一些实例中,模块210、220的功能可以完全或部分地组合到单个模块中。在其它实例中,模块210、220的功能和空运行仿真器中存在的其它功能可以通过其它另外的模块来提供。
图3A是示出在设计时环境例如开发环境105中执行业务过程模型的空运行的示例计算机处理的流程图300。特定业务过程模型的流地图(flow map)的至少一条路径能够被识别出来305。这条路径能够定义业务过程中的多个事件的序列,该序列开始于开始事件,结束于至少一个结束事件,在该序列中至少一个其它事件位于开始事件和结束事件之间。空运行能够逐步通过310路径中的多个事件以仿真该多个事件中的每一个事件。对应于该路径中的指定事件的至少一个错误能够被识别出来315。响应于识别出的至少一个错误,逐步通过多个事件能够在特定事件处暂停320。用户能够被提示325进行输入,以至少临时解决所述至少一个错误。例如,弹出窗口能够呈现给用户,以提供针对临时补救方法(比如,缺失的输入值)的建议或选项并且从指定临时补救方法的用户接收输入。响应于从用户接收到解决方案的输入,逐步通过多个事件能够重新开始。响应于逐步通过到至少一个结束事件,空运行可以结束335。
图3B是示出在设计时环境中执行业务过程模型的空运行的计算机处理的另一个示例的流程图。空运行可以被初始化350,比如,被用户使用包含空运行仿真工具的集成开发环境初始化。特定业务过程模型可以使用空运行仿真工具来识别和调试。空运行可以通过检查352以确保已经针对该模型的路径适当地指定了开始事件和至少一个结束事件来开始。如果开始和结束事件其中之一或二者没有被指定,或者指定不正确或不适当,则用户能够相应地被提示,并且与用户对缺失的起始和/或结束事件的说明或补救方法的选择或识别相对应的“快速修复”输入被接收到355。
如果开始事件和至少一个结束事件被适当地指定,则空运行能够识别出模型的路径以及一个或多个分支,其包含多个事件。随着路径被识别出来,空运行能够逐步通过358所述多个事件中的每个事件,以仿真与每一个建模的过程事件相对应的每一个数据流和/或控制流。事件被识别360并且事件的仿真(以及,如果有必要,调试)被初始化。事件可以被检查362以查看事件所需要的输入或输出数据是否被适当地指定。如果确定事件的输入/输出映射指定不完全或指定不适当,则用户能够被提示去定义或提供365输入/输出映射的测试值或规范。另外,事件的控制和情况条件能够被检查368去确保事件的控制逻辑已经被适当地指定。检查情况条件368能够与检查输入/输出映射362并行或顺序地发生。尽管图3B示出检查控制逻辑368在输入/输出映射已经被验证362之后发生,但在一些实现中,检查368能够在检查362之前执行,并且输入/输出映射检查362能够响应于验证控制条件368而完成。在一些实例中,检查362、368的顺序可以是任意的或者基本同时执行。
像检查352、362那样,响应于确定368控制条件没有被充分指定,空运行可以被暂停,以允许用户提交370快速修复输入以临时补救该错误并且允许空运行仿真继续进行并且前进到结束事件372。响应于控制条件检查368而接收到的快速修复输入370能够指定应该应用到仿真中的逻辑或条件,以指明数据如何从一个事件流动到另一个事件。被指定的事件的逻辑和/或条件能够使用或引用I/O映射以及变量值,来确定一个事件到另一个事件的过程流。例如,逻辑可以指定两个或多个情况条件,比如如果x则a;如果y则b,等等。在一些实例中,响应于控制条件检查368而接收到的快速修复输入370,能够像显式指示模型中应该跟随的事件、路径或分支一样简单。例如,如果第一个事件要求控制响应于第一个事件而流向两个随后的事件中的一个,则用户可以指定快速修复,其包含对控制要被传递到的两个随后事件中的一个的指示。当终止一个事件的仿真时,如果该事件是结束事件372,则空运行结束380。但是,如果该事件不是结束事件,则逐步通过继续前进375到模型中被仿真的下一个事件。继续前进375到模型中的下一个事件可能依赖于在空运行中先前仿真的另一事件的结果或者输出。例如,如先前的示例中所述,前一个事件的快速修复可以导致用户将处理流硬驱动(hard-driving)到模型中的特定后续事件。因此在这个示例中,空运行能够逐步通过前进375到在快速修复输入370中指定的特定事件。逐步通过到后续事件可以包含对每一个事件循环执行调试步骤362-372,直到到达结束事件为止,结束380空运行。
图4A-4F是示出设计时开发环境的用户界面400的示例屏幕截图。该设计时开发环境包含空运行仿真工具实现技术并且合并了与结合图1-3B描述的一些特征类似的特征。作为图示的示例,并且如图4A中所示,业务过程模型405可以被选择用于在集成开发环境中开发和调试。在这个例子中,业务过程模型405对休假请求业务过程进行建模,该休假请求业务过程当被完全开发和部署之后,能够允许雇员提交休假请求给管理者并且例如通过电子邮件接收到对该请求的响应。模型405的可视表示能够在GUI上呈现给用户,并且允许用户看见所建模的过程的总的控制和数据流。根据建模环境的规范,该模型能够包含具有判定关口的控制流元素、数据流对象、定义和其它建模实体。除了集成开发环境的其它典型特征和工具之外,这个特定示例中的开发环境还包含空运行仿真工具。
能够对业务过程模型405执行空运行仿真。,仿真可以包括根据该模型定义的顺序或逻辑逐步通过和仿真该模型中的事件。空运行仿真也能识别错误或指定不完全的建模元素,比如指定不完全或未指定的输入数据、控制条件或逻辑、判定元素条件等等。在图4B的示例中,逐步通过过程模型导致证实登录(Prove Login)事件410的仿真和调试。用户能够在空运行期间仿真、检查、测试和修改事件。例如,证实登录事件410可以具有输入变量或对象登录数据415,其对应于用来验证所建模的休假请求提交系统的用户的用户登录输入。如窗口420中所示,用户能看见和查看与登录数据对象415关联的参数以及与对象415关联的输入映射(在该情况中,例如,对象与证实登录事件410的关联和证实登录事件410对对象的处理)。在这个示例中,证实登录过程事件410也能具有与事件410相关联的证实的数据(Proved Data)输出数据对象425(例如,与传送用户成功或不成功的验证尝试的结果的数据相对应)。如图4C所示,用户可以类似地查看与输出数据对象425关联的参数和值。此外,在空运行期间,用户可以利用与模型的事件相关联以及在模型的事件之间传递的输入数据和数据对象来进行实验,并且对所述输入数据和数据对象进行修改,以仿真过程模型如何传递和处理用户使用的样本变量和数据值,以及如何对所述样本变量和数据值做出反应。用户能评估这些“试运行(trial run)”的结果,以判定过程模型405是否准确地捕捉到了所期望的过程模型405所建模的过程的总体功能。
进一步的,如图4D所示,随着空运行前进通过该模型的路径中的事件,逐步通过可以识别一个或多个与特定事件关联的错误。在图4D的示例中,与休假申请事件430有关的输入映射错误被空运行工具识别出来。I/O映射错误可以涉及通常是由用户或该模型范围之外的另外一个过程指定的变量或数据对象值。响应于这个错误,提示435能够被显示给用户,以标识错误和提供适配为接收用户输入的GUI,所述用户输入能够临时补救错误以允许空运行继续进行到完成。在这个示例中,提示435是弹出窗口,被适配为接受完成空运行所需要的临时输入数据。在一些实例中,提示435能够向用户标识或建议潜在的解决方案输入的集合。在一些实例中,潜在的解决方案的集合可以是闭集(即,只有对特定事件的可用和反应迅速的解决方案输入),而在另外一个实例中,解决方案可以仅仅是建议性的集合或者是开集。在一些实例中,为了完全仿真与变量关联的特定事件,可能需要具有变量值或规范的错误的解决方案,或者错误可以识别出随后的事件依赖于缺失或指定不完全的变量值,正如图4D的示例中的情况。后续判定事件440依赖于在休假请求事件430中的布尔变量值:发送(Send),其指示休假请求是否应该被发送给管理者审核。如图4D所示,用户能够出于完成过程模型405的空运行仿真的目的而输入变量的值445。
如图4E的示例所示,错误也能涉及数据流控制。例如,包含在模型中的判定逻辑或判定事件450(图4A中示出)的条件可能指定不完全,这导致在空运行中识别出错误。用户能够被呈现提示455,其请求错误的临时解决方案。例如,在控制流错误的情况中,对于粗略、将就的、或者临时的控制条件或逻辑的请求能够通过提示GUI 455被接收,或者控制事件的结果能够简单地被用户指定。与I/O映射错误一样,提示455能够标识和提供解决方案选项供用户选择,所述解决方案选项能够潜在地提供对错误可接受的临时解决方案。如图4E所示,在这个示例中,用户能够简单地指定数据如何流过判定事件450,以允许用户暂且忽略事件的指定不完全的本质,并且继续进行空运行仿真。在这个示例中,用户已经指定了空运行将继续,仿佛是判定事件导致了控制被传递到分支拆分事件(Branch split event)460,而不是导致控制被直接传递到发送电子邮件事件(Send Email event)465。如图4F所示,当用户前进通过模型路径中的每一个事件时,用户能够继续进行逐步通过、测试、仿真、事件纠正或修改某些事件,直到用户到达路径中的结束事件并且结束该空运行为止。
图5A-5E是示出第二示例中包含空运行仿真工具的设计时开发环境的用户界面400的示例屏幕截图。在一些实例中,为了让空运行开始,开始事件和结束事件需要被指定以便定义空运行的边界。图5A-5E的示例就是这样情的况。如图5A所示,过程模型505被选择用于使用集成开发环境的空运行工具的空运行调试。过程模型505,在这个特定示例中,涉及用来接受、修改和管理用户登录数据的建模过程。然而,如图5B所示,当一个用户尝试开始空运行,错误提示510被呈现,其向用户指示空运行开始事件和结束事件都没有被指定。并非取消空运行,而是与在空运行期间识别出其它错误一样,空运行仿真工具能够允许用户通过提示510解决识别出的错误,从而允许空运行仿真继续进行直到完成。如图5C所示,用户通过错误提示GUI 510能够指定开始事件,另外,用户能够进一步指定结束事件,如图5D所示。此外,用户能够在模型本身的图形表示内部通过将事件图标515、520拖放到它们在模型路径中的适当位置,来输入或修改开始事件和/或结束事件。如图5E所示,用户定位了开始事件515和结束事件520,以便在模型中定义可接受的路径(例如,包含跟随在开始事件之后的结束事件的路径),用于进行空运行。实际上,用户结合错误提示提交的空运行解决方案输入能够包括用户与模型、事件、路径的图形表示的交互和对它们的修改。例如,用户能够通过在模型的图形表示上对模型中的事件重新排序来临时纠正控制错误,以解决空运行错误。
图4A-4F和5A-5F表示两个使用空运行设计时工具来测试、调试和仿真业务过程模型的非限制性示例。其它的例子能够包含可替代的协议,其用于处理和呈现错误、接受用户解决方案输入和其它特征。空运行仿真工具及其它任意相关的设计时工具,比如集成开发环境工具,能够包含另外的或更少的特征,但是仍然是在一些权利要求的范围之内。也能体会到,使用空运行仿真工具仿真的业务过程模型的类型、复杂度和大小在种类上可能是无限的。在一些实例中,空运行仿真工具可能特定于特定的过程模型格式或规范。例如,某些过程模型能够针对被开发为与特定企业软件环境兼容的专门的过程。因此,空运行仿真工具(及更大的设计时环境)可以被适配为或者甚至专门与某些专门的过程模型格式兼容。
尽管本公开是根据特定实现方式和一般关联的方法来描述的,但是这些实现方式和方法的改变和变更对于本领域技术人员来说是清楚的。例如,这里描述的动作可以按照与所描述的顺序不同的顺序来执行并且仍然可以达到期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或者依次的顺序才能达到期望的结果。在特定实现方式中,多任务和并行处理可能是有利的。其它的变化也在所附权利要求的范围内。

Claims (20)

1.一种在设计时环境中执行业务过程模型的空运行的计算机实现的方法,该方法包括:
识别定义业务过程模型的流地图的至少一条路径的业务过程模型的开始事件和至少一个结束事件,该路径包含多个事件的序列,所述多个事件包含所述开始事件、所述至少一个结束事件,以及至少一个其它事件,所述至少一个其它事件在该序列中位于所述开始事件和所述结束事件之间;
逐步通过路径中的所述多个事件以仿真所述多个事件中的每一个事件;
识别与该路径中的特定事件相对应的至少一个错误;
响应于识别出所述至少一个错误,在特定事件处暂停对所述多个事件的逐步通过;
提示用户进行输入以临时解决所述至少一个错误;
响应于来自用户的解决方案输入,继续对多个事件的逐步通过;以及
响应于逐步通过到所述至少一个结束事件,结束该空运行。
2.如权利要求1的方法,进一步包括业务过程模型的至少部分的图形表示在GUI上呈现给用户以及逐步通过多个事件的进展在GUI上呈现。
3.如权利要求1的方法,其中提示用户进行输入包含呈现适配为从用户接收输入的交互弹出窗口。
4.如权利要求1的方法,其中提示用户进行输入包含向用户呈现输入选项的列表,其中输入选项的列表包含被确定为错误的潜在解决方案的多个输入。
5.如权利要求1的方法,其中:
特定事件包含使用至少一个变量的过程;
所述错误涉及未提供至少一个变量的值;以及
解决方案输入包含针对所述至少一个变量的用户指定的值。
6.如权利要求5的方法,其中至少一个变量对应于通过与所述业务过程模型建模的运行时业务过程相关联的用户接口接收的输入。
7.如权利要求5的方法,其中至少一个变量对应于从业务过程模型建模的业务过程运行时实现中的其它过程接收的输入。
8.如权利要求5的方法,其中至少一个变量对应于业务过程模型建模的运行时业务过程的输出。
9.如权利要求1的方法,其中:
所述特定事件包含至少部分地基于至少一个条件的判定;
所述错误涉及未提供所述判定的至少一个条件;以及
解决方案输入包含用户指定的条件。
10.如权利要求1的方法,其中业务过程模型是指定不完全的业务过程模型。
11.如权利要求10的方法,其中业务过程模型是不可编译的。
12.如权利要求10的方法,其中业务过程模型在至少部分地基于所述至少一个错误的运行时环境中是不可执行的。
13.如权利要求1的方法,其中设计时环境是集成开发环境。
14.如权利要求1的方法,进一步包括:
识别业务过程模型缺少开始事件和结束事件中的至少一个;
响应于识别出业务过程模型缺少开始事件和结束事件中的至少一个,暂停对多个事件的逐步通过的初始化。
提示用户指定该缺少的开始事件和结束事件中的至少一个,响应于用户对该缺少的开始事件和结束事件中的至少一个的指定,初始化对多个事件的逐步通过。
15.如权利要求1的方法,进一步包括至少部分地基于解决方案输入修改该业务过程模型。
16.一种系统,包含:
包含空运行仿真器的集成开发环境,该空运行仿真器包含:
存储至少一个业务过程模型的至少一个存储设备,该业务过程模型包括包含至少一条路径的数据流地图,该路径包含多个事件的序列,所述多个事件包含开始事件、结束事件,以及至少一个其它事件,所述至少一个其它事件在该序列中位于所述开始事件和所述结束事件之间;
仿真器工具,适配为逐步通过路径中的所述多个事件以仿真所述多个事件中的每一个事件,识别与该路径中的特定事件相对应的至少一个错误,响应于识别出所述至少一个错误,在特定事件处暂停对所述多个事件的逐步通过;和
错误解决方案工具,适配为提示用户进行输入以至少临时解决所述至少一个错误,从用户接收解决方案输入,其中响应于来自用户的解决方案输入,暂停的对多个事件的逐步通过继续进行。
17.如权利要求16的系统,其中集成开发环境进一步包含源代码编辑器,编译器,自动构建工具和调试器。
18.如权利要求16的系统,其中集成开发环境被作为服务提供给至少一个远程客户端计算设备。
19.如权利要求16的系统,其中集成开发环境进一步包含图形用户接口,该图形用户接口适配为将业务过程模型的至少部分的图形表示呈现给用户,逐步通过多个事件的进展呈现给用户,并且将识别出错误的提示呈现给用户。
20.一种物品,其包括机器可读的存储设备,该存储设备存储指令,该指令可操作以导致至少一个处理器执行操作,所述操作包括:
在设计时环境中执行业务过程模型的空运行,其中执行业务过程模型的空运行包括:
识别定义业务过程模型的流地图的至少一条路径的业务过程模型的开始事件和至少一个结束事件,该路径包含多个事件的序列,所述多个事件包含所述开始事件、所述至少一个结束事件,以及至少一个其它事件,所述至少一个其它事件在该序列中位于所述开始事件和所述结束事件之间;
逐步通过路径中的所述多个事件以仿真所述多个事件中的每一个事件;
识别与该路径中的特定事件相对应的至少一个错误;
响应于识别出所述至少一个错误,在特定事件处暂停对所述多个事件的逐步通过;
提示用户进行输入以临时解决所述至少一个错误;
响应于来自用户的解决方案输入,继续对多个事件的逐步通过;以及
响应于逐步通过到所述至少一个结束事件,结束该空运行。
CN201110280566.0A 2010-09-20 2011-09-20 一种在设计时环境中执行业务过程模型的空运行的方法及系统 Active CN102411503B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/886,008 US8515876B2 (en) 2010-09-20 2010-09-20 Dry-run design time environment
US12/886,008 2010-09-20

Publications (2)

Publication Number Publication Date
CN102411503A true CN102411503A (zh) 2012-04-11
CN102411503B CN102411503B (zh) 2016-06-22

Family

ID=44653086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110280566.0A Active CN102411503B (zh) 2010-09-20 2011-09-20 一种在设计时环境中执行业务过程模型的空运行的方法及系统

Country Status (4)

Country Link
US (2) US8515876B2 (zh)
EP (1) EP2431869A1 (zh)
JP (1) JP5875794B2 (zh)
CN (1) CN102411503B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108628686A (zh) * 2017-03-21 2018-10-09 波音公司 用于在云环境中设计和建模产品的系统和方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9202185B2 (en) * 2011-04-08 2015-12-01 Ca, Inc. Transaction model with structural and behavioral description of complex transactions
US20130297517A1 (en) * 2012-05-07 2013-11-07 Arup Sinha Web-based workflow automation system
US9304746B2 (en) * 2012-06-07 2016-04-05 Carmel-Haifa University Economic Corporation Ltd. Creating a user model using component based approach
WO2014110167A2 (en) 2013-01-08 2014-07-17 Purepredictive, Inc. Integrated machine learning for a data management product
US10134009B2 (en) * 2013-03-13 2018-11-20 Sap Se Methods and systems of providing supplemental informaton
US9159149B2 (en) 2013-03-14 2015-10-13 Interntional Business Machines Corporation Visualizing data transfers in distributed file system
US20140358828A1 (en) * 2013-05-29 2014-12-04 Purepredictive, Inc. Machine learning generated action plan
US8875091B1 (en) * 2013-06-20 2014-10-28 Bank Of America Corporation Integrated development and operations solution
US9483239B2 (en) 2013-08-27 2016-11-01 Sap Se User interface design framework
WO2015149035A1 (en) * 2014-03-28 2015-10-01 LÓPEZ DE PRADO, Marcos Systems and methods for crowdsourcing of algorithmic forecasting
US9805326B2 (en) * 2014-04-24 2017-10-31 International Business Machines Corporation Task management integrated design environment for complex data integration applications
US10055334B2 (en) 2015-06-30 2018-08-21 International Business Machines Corporation Debugging through causality and temporal patterning in an event processing system
US9645816B2 (en) * 2015-09-25 2017-05-09 Linkedin Corporation Multi-language code search index
US10042611B2 (en) 2016-03-21 2018-08-07 International Business Machines Corporation Stream operator management
US10255051B2 (en) * 2016-08-02 2019-04-09 Oracle International Corporation Generation of dynamic software models using input mapping with feature definitions
JP7443724B2 (ja) 2019-11-12 2024-03-06 日本電気株式会社 操作自動化装置、操作自動化システム、操作自動化方法、及び操作自動化プログラム
US11474931B2 (en) * 2020-09-14 2022-10-18 Sap Se Debugging a cross-technology and cross-environment execution
US11669436B2 (en) * 2021-01-04 2023-06-06 Bank Of America Corporation System for providing interactive tools for design, testing, and implementation of system architecture

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040031019A1 (en) * 2002-05-20 2004-02-12 Richard Lamanna Debugger for a graphical programming environment
US20070276692A1 (en) * 2003-12-19 2007-11-29 International Business Machines Corporaion Method for Debugging a Business Process Flow

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG121719A1 (en) * 2001-07-19 2006-05-26 Oce Tech Bv Method for creating a workflow
JP4446639B2 (ja) * 2001-12-07 2010-04-07 株式会社リコー ワークフロー管理システム、プログラムおよび記録媒体
JP3955272B2 (ja) * 2003-03-27 2007-08-08 富士通株式会社 評価装置
JP2005215857A (ja) * 2004-01-28 2005-08-11 Hitachi Ltd ソリューションビジネス用リソース割り当てシステム
US20080244607A1 (en) * 2007-03-27 2008-10-02 Vladislav Rysin Economic allocation and management of resources via a virtual resource market

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040031019A1 (en) * 2002-05-20 2004-02-12 Richard Lamanna Debugger for a graphical programming environment
US20070276692A1 (en) * 2003-12-19 2007-11-29 International Business Machines Corporaion Method for Debugging a Business Process Flow

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108628686A (zh) * 2017-03-21 2018-10-09 波音公司 用于在云环境中设计和建模产品的系统和方法
CN108628686B (zh) * 2017-03-21 2024-03-12 波音公司 用于在云环境中设计和建模产品的系统和方法

Also Published As

Publication number Publication date
US8515876B2 (en) 2013-08-20
US20130305212A1 (en) 2013-11-14
EP2431869A1 (en) 2012-03-21
US20120072367A1 (en) 2012-03-22
JP5875794B2 (ja) 2016-03-02
CN102411503B (zh) 2016-06-22
JP2012079289A (ja) 2012-04-19

Similar Documents

Publication Publication Date Title
CN102411503A (zh) 空运行设计时环境
US11481313B2 (en) Testing framework for automation objects
EP3798758B1 (en) System, method and medium for generating system project data
US20110154441A1 (en) Online development environment server, online marketplace server, online development environment constituting method, and developed application providing method
US8214245B2 (en) Method and system for synchronizing inclusive decision branches
CN106557878B (zh) 开发项目管理方法及装置
EP2667301A1 (en) Decision service manager
García García et al. NDT-Suite: a methodological tool solution in the model-driven engineering paradigm
Ritchie Practical Microsoft Visual Studio 2015
Riccobene et al. A modeling and executable language for designing and prototyping service-oriented applications
Hammoudeh García et al. Bootstrapping MDE development from ROS manual code: Part 2—Model generation and leveraging models at runtime
CN110727575B (zh) 一种信息处理方法、系统、装置、以及存储介质
CN114840410A (zh) 测试分析方法、装置、计算机设备及存储介质
Corradini et al. BProVe: tool support for business process verification
US9612870B2 (en) Inversion of control for executable extensions in a run-time environment
US9298428B2 (en) Graphical user interface editor that displays live data during editing
US11113105B1 (en) Computer implemented system and method for generating platform agnostic digital worker
US11301246B2 (en) Automatically generating continuous integration pipelines
Teumert et al. Evaluation of graphical modeling of ci/cd workflows with rig
Taky Automated Testing With Cypress
US10453019B1 (en) Business activity resource modeling system and method
Sah et al. A software engineering perspective for development of enterprise applications
US20220083321A1 (en) Modular software integration tools and systems
Solovko System for development, ceaseless integration and configuration of server software
Wagner et al. A Method for Reusing TOSCA-based Applications and Management Plans.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: German Waldo

Applicant after: SAP AG

Address before: German Waldo

Applicant before: SAP AG

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SAP AG TO: SAP EUROPE AG

C14 Grant of patent or utility model
GR01 Patent grant