当前位置: 首页 > 专利查询>微软公司专利>正文

用于对工作流中的延续建模的框架制造技术

技术编号:2915804 阅读:285 留言:0更新日期:2012-04-11 18:40
经由延续允许创建工作流中的控制流模式。每一延续表示由虚拟化托管执行环境的工作流引擎在工作流中执行的活动的活动执行上下文。响应于请求,经由延续重新创建活动执行上下文,且在重新创建的上下文内执行活动。

【技术实现步骤摘要】
【国外来华专利技术】背景现有系统试图通过高级工作流对自治代理之间的业务流程或其它现实交互建模。然而,工作流可能在各个方面有所不同,诸如(a)执行和建模的复杂性、(b)在设计时对流程的结构的了解、(c)静态定义或自组织/动态的、(d)在其生命周期的各个时间点创作和编辑流程的容易程度以及(e)业务逻辑与核心工作流过程之间弱或强的关联。现有的工作流模型不能适应所有这些因素。此外,大多数现有工作流模型是基于以下中任一个的:基于语言的方法(例如,BPEL4WS、XLANG/S以及WSFL)或基于应用程序的方法。基于语言的方法是具有帮助向用户/程序员对工作流过程建模的预定义构造的闭集的高级工作流语言。工作流语言携带允许用户构建工作流模型的构造的闭集的所有语义信息。然而,语言不是可由开发员扩展的,且表示构成工作流模型的原语的闭集。语言被绑定至由工作流系统厂商提供的语言编译器。仅工作流系统产品厂商可通过用产品将来版本中的一组新构造扩展语言来扩展模型。这通常要求升级与该语言相关联的编译器。此外,语言通常不会声明性地展示或定义可由其它程序容易且高效使用的功能或操作。基于应用程序的方法是在应用程序内具有解决域特有问题的工作流能力的应用程序。这些应用程序不是真正可扩展的,它们也不具有可编程模型。概述本专利技术的实施例允许在工作流中创建控制流模式。在一个实施例中,本发明在程序片段由元运行时引擎执行时生成用于程序片段的延续。元运行时引擎虚拟化具有固定功能的托管执行环境。响应于来自用户或其它源的请求,本发明的各方面经由所生成的延续重新创建活动执行上下文,并在所重新创建的活动执行上下文内执行程序片段或其部分。-->提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。其它特征的一部分将是显而易见的,一部分将在下文中指出。附图简述图1是示出用于本专利技术各方面的示例性操作环境的框图。图2是示出根据本专利技术的实施例的基于延续的工作流框架的示例性框图。图3是示出根据本专利技术的实施例的工作流的示例性框图。图4是示出根据本专利技术的实施例的工作流活动的分层结构的示意图。图5是示出根据本专利技术的实施例的活动的示例性状态自动机的示意图。图6是示出根据本专利技术的实施例的用于处理工作流活动的示例性系统的框图。图7是示出对工作流中的延续建模的示例性流程图。相应的附图标记在各附图中指示相应的部分。详细描述首先参考图1,一框图示出了用于对工作流中的过程中心活动建模的典型编程范例。在该附图中,示意图示出在最高级具有虚拟化操作系统104的托管执行环境106的三级虚拟化模型。托管执行环境106按照可独立于计算设备的处理器架构实现的抽象栈机器来虚拟化在环境106中执行的程序的执行。操作系统104虚拟化最低级的处理单元102。由于在托管执行环境106中仅固定的功能可用,因此托管执行环境106级处的程序缺少适应工作流中的过程之间的复杂交互的能力和效率。托管执行环境106还包括不适于处理对现实工作流建模的工作流的复杂性和能力的各种严格要求。此外,操作系统104中的编程代码或例程依赖于处理单元102的类型或配置以及计算体系结构的类型(例如,与IBM个人计算机、APPLE个人计算机或其它系统兼容)以及其它约束。此外,编程语言一般要求硬件专用数据结构,诸如栈、堆或线程以供操作系统104正确运作。-->接着参考图2,本专利技术的各方面包括基于延续的工作流引擎202、元运行时引擎或虚拟化托管执行环境106的其它框架。工作流包括将活动的分层组成,每一活动表示一个单位的工作。工作流引擎202对表示现实过程的工作流中的操作码(op-code)或活动的执行提供异步的抽象模型。工作流引擎202是能够在执行周期期间的任何时刻挂起程序并恢复它们的基于延续的运行时环境。尽管活动是域专用的,但域细节对于工作流引擎202是不可知的。而且,工作流引擎202不了解按照活动包装的特定控制流模式。因此,本专利技术各方面提供的执行模型是抽象的。此外,尽管整个工作流实例可在逻辑上运行任意时间量(例如,天、月或年),但与工作流相关联的活动可执行短暂的工作并以协作多任务的方式生产。本专利技术各方面的抽象执行模型允许工作流引擎202在执行中间挂起实例和/或将其从存储器中驱逐并在将来恢复它。工作流引擎202跨程序钝化(passivation)管理这样的操作。在一个实施例中,工作流引擎202用于虚拟化托管执行环境106的以下方面中的一个或多个:域专用操作码、线程、同步原语、执行机、对象生存周期、源格式、异常、故障、故障传播以及故障处理。例如,本专利技术的各方面允许用户按照自定义活动来编写自定义操作码。一般而言,工作引擎202使用来自托管执行环境106的线程、栈和/或堆。具有执行以任何编程语言编写并以任何文件格式编发的程序的能力,工作流引擎202允许程序开发员在没有损害的情况下设计程序。通过将表示工作流任务或过程的活动定义为要由工作流引擎202执行的基类,本专利技术的各方面允许开发员容易且高效地构建域专用操作码而无需依附托管执行环境106中刚性、硬编码、不灵活且固定的功能或活动类集合。操作码可以是对于卫生保健行业、金融行业或其它领域专用的。图2中的工作流引擎202可以是层叠在任何现有的执行框架(例如,图1中的托管执行环境106、操作系统104或处理单元102)上允许对延续及其各个方面建模以允许程序员对复杂和动态的控制流模式建模的任何基于延续的运行时环境。本专利技术的各方面允许按照任何方式或表示(例如,流程图、示意图、编号描述等)来定义活动。延续可用于对复杂和动态控制流模式建模。延续表示动作被冻结的程序,且可包括包含计算状态的单个功能对象。当评估该对象时,所存储的计算可在-->其停止处重启。当解决某些类型的问题时,能够保存程序的状态并在稍后重启可能有很大帮助。例如,在多处理中,延续方便地表示挂起的进程。在非确定性搜索程序中,延续可表示搜索树中的节点。当托管执行环境106在程序之间创建公共然而固定的通信环境时,缺乏在这样的环境中对现实过程建模的能力。例如,在托管执行环境106中执行的应用程序限于共享功能或公共的面向对象的类的中间语言。该中间语言具有固定的参数、自变量或模式或功能。再次参考图2,用户204(例如,人、应用程序、操作系统等)与提供工作流基础框架的计算本文档来自技高网...

【技术保护点】
一种允许创建工作流中的控制流模式的方法,所述方法包括: 在一个或多个程序片段由元运行时引擎执行期间为所述程序片段生成多个延续,所述元运行时引擎虚拟化具有固定功能的托管执行环境,所生成的多个延续中的每一个表示一活动执行上下文; 存 储所生成的多个延续以便为所述程序片段创建执行日志; 响应于来自用户的请求从所述执行日志选择所存储的延续之一,并检索所选的延续; 重新创建与检索到的延续相关联的活动执行上下文;以及 在所述重新创建的活动执行上下文内执行与检索 到的延续相关联的程序片段。

【技术特征摘要】
【国外来华专利技术】US 2006-3-30 11/393,9801.一种允许创建工作流中的控制流模式的方法,所述方法包括:
在一个或多个程序片段由元运行时引擎执行期间为所述程序片段生成
多个延续,所述元运行时引擎虚拟化具有固定功能的托管执行环境,所生成的
多个延续中的每一个表示一活动执行上下文;
存储所生成的多个延续以便为所述程序片段创建执行日志;
响应于来自用户的请求从所述执行日志选择所存储的延续之一,并检索
所选的延续;
重新创建与检索到的延续相关联的活动执行上下文;以及
在所述重新创建的活动执行上下文内执行与检索到的延续相关联的程
序片段。
2.如权利要求1所述的方法,其特征在于,生成所述多个延续包括捕捉
与所述元运行时引擎相关联的运行时状态以及捕捉与所述程序片段相关联的
应用程序状态。
3.如权利要求1所述的方法,其特征在于,还包括:
允许所述用户浏览所述执行日志;以及
从所述用户接收对来自所述执行日志的所存储的延续之一的选择。
4.如权利要求1所述的方法,其特征在于,还包括允许用户经由由活动
编写者展示的应用程序编程接口来浏览所述执行日志。
5.如权利要求1所述的方法,其特征在于,存储所生成的多个延续包括
根据与所述程序片段相关联的活动的执行次序存储所生成的多个延续。
6.如权利要求1所述的方法,其特征在于,还包括允许所述用户在所述
执行日志中搜索正被执行的延续。
7.如权利要求1所述的方法,其特征在于,还包括允许所述用户在所述
执行日志中搜索没有被执行的延续。
8.如权利要求1所述的方法,其特征在于,还包括允许所述用户对所述
执行日志排序。
9.如权利要求1所述的方法,其特征在于,还包括通过钝化来持久保存
所选延续。
10.如权利要求1所述的方法,其特征在于,还包括为所述延续定义数
据边界。
11.如权利要求10所述的方法,其特征在于,定义所述数据边界包括确
定变量的广度、绑定和范围。
12.如权利要求1所述的方法,其特征在于,生成所述多个延续包括响
应于来自与所述程序片段中的一个或多个相关联的活动的请求生成所述多个
延续。
13.如权利要求1所述的方法,其特征在于,一个或多个计算机可读介

【专利技术属性】
技术研发人员:DK舒克拉RB施米特M梅达AJ沙加K拉曼N塔尔伯特
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1