CN101221637B - 工作流过程语言定义的一个或多个任务的运行时执行方法 - Google Patents

工作流过程语言定义的一个或多个任务的运行时执行方法 Download PDF

Info

Publication number
CN101221637B
CN101221637B CN2007103015348A CN200710301534A CN101221637B CN 101221637 B CN101221637 B CN 101221637B CN 2007103015348 A CN2007103015348 A CN 2007103015348A CN 200710301534 A CN200710301534 A CN 200710301534A CN 101221637 B CN101221637 B CN 101221637B
Authority
CN
China
Prior art keywords
task
frame
specifically
parameter
value
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.)
Active
Application number
CN2007103015348A
Other languages
English (en)
Other versions
CN101221637A (zh
Inventor
艾勒山多·托马西
瑟萨勒·扎瓦塔瑞
哈拉德·斯隆宁
安德烈亚斯·弗勒利克
迈克尔·盖斯曼
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.)
Metaware SpA
Original Assignee
Software AG
Metaware SpA
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 Software AG, Metaware SpA filed Critical Software AG
Publication of CN101221637A publication Critical patent/CN101221637A/zh
Application granted granted Critical
Publication of CN101221637B publication Critical patent/CN101221637B/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/10Requirements analysis; Specification techniques
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了以工作流过程语言定义的一个或多个任务的一种运行时执行方法,该方法包括以下步骤:a.从过程本体(PO)获得(10)一般任务(T)的描述,所述过程本体(PO)定义可执行任务的分级分类,每个任务参考所述过程本体(PO)的分级帧分类中的至少一个帧,其中,帧是属于同一工作流的一组任务所需的数据的集合;b.识别(30)如所述一般任务(T)所参考的帧描述中所描述的所有任务输入参数;c.解析(40)所有输入参数的值;d.验证(50)所述过程本体(PO)是否包括更具体可应用版本的所述一般任务(T)以及e.使用所解析出的参数值来执行(50、60)所述过程本体(PO)的任务分类中所包含的最具体可应用版本的任务。

Description

工作流过程语言定义的一个或多个任务的运行时执行方法
技术领域
本申请涉及由工作流过程语言定义的一个或多个任务的运行时执行方法,并涉及相对应的执行引擎。
背景技术
难于通过软件来描述真实世界中的复杂过程的流程。在现有技术的典型工作流管理系统中,总过程是利用诸如XPDL或者BEPL这样的简单语言来定义的,其中过程是根据由一组标准构造符(诸如分开、排序、接合等等)组成并在静态定义的固定环境下工作的多个“任务”来定义的。
工作流管理系统的难处在于所要描述的真实世界中的过程的不断变化性。解决该困难的一种方法是使用所谓的面向服务体系结构(SOA),其中多个松散耦合的(网络)服务发送并接收消息以执行总过程。选择用来执行工作流的服务和它们的逻辑互联是在设计时定义的。因此,工作流的所有可能的可选择情况和变化都必须使用子任务和合适的接口定义来预先定义。如果真实世界中的基本过程改变,或者如果要反映新的方面,则工作流需要由开发者重新定义。
作为一个实际示例,诸如银行这样的金融机构可以改变用户对其账户的在线访问,即将帐号的输入改变为唯一用户标识的输入。在这种对真实世界工作流的(微小)修改的情况下,由现有技术的工作流管理系统所定义的过程定义将需要变化,以允许修改后的用户输入。但是,结合这种改变在技术上很费力并且需要大量的专业经验,这是管理这种工作流系统的人员通常所不具有的。
考虑到以上方面,本发明的主要技术问题是提供这样一种方法,该方法允许以更加抽象的术语来定义工作流并且更加灵活和适应,以便避免上面说明的对频繁设计改变的需要。
发明内容
该问题是由根据本发明的第一技术方案的方法解决的。在一种实施方式中,该方法用于以工作流过程语言定义的一个或多个任务的运行时执行,并包括以下步骤:
a.从过程本体获得一般任务的描述,过程本体定义可执行任务的分级分类,每个任务参考过程本体的分级帧分类中的至少一个帧,其中帧是属于同一工作流的一组任务所需的数据的集合;
b.识别所述一般任务所参考的帧描述中所描述的所有任务输入参数;
c.解析所有输入参数的值;
d.验证所述过程本体是否包括更具体可应用版本的所述一般任务,包括以下步骤:
从所述过程本体(PO)取回所述一般任务(T)的至少一个更具体任务(T’);
对于每个更具体任务(T’),检查一个或多个约束,以确定各个更具体任务(T’)的可应用性,其中所述一个或多个约束在所述更具体任务(T’)的任务描述中被定义为对各个一般任务(T)的参数的参数值的一个或多个约束,并且其中所述一个或多个约束是从包括值的相等、子类型以及与所述帧分类所描述的过程环境中的其他元素的关系的组中选择出的;
其中,当所述约束中的至少一个不被满足时,各个更具体任务(T’)不被认为是有效的执行候选,并且如果结果为没有更具体任务(T’)是有效的执行候选,则所述一般任务(T)是最具体版本的任务;并且
如果有一个或多个更具体任务(T’)可用,则选择一个作为最具体版本的任务,其中在有多个可用候选的情况下,通过优先级、其他解疑规则或者不确定性地进行选择;以及
e.使用所解析出的参数值来执行过程本体的任务分类中所包含的最具体可应用版本的任务。
根据本发明,总过程不再由一个或多个(网络)服务的静态、预先确定的动作序列组成。相反,工作流是在运行时由过程本体确定的,这提供了关于组成抽象过程定义的任务的信息。过程本体包括两个分级分类:任务分类和帧分类。前者描述了任务与选择标准之间的具体关系,而后者描述了过程环境。
根据本发明的方法允许根据高级、抽象、一般的语句来定义过程,所述语句例如是:
在该简单示例中,总的“MakeRelease”过程是由顺次的三个任务组成的,这三个任务几乎从不以相同方式实现两次。根据本发明的方法允许以灵活且适应性的统一且简明的方式来表达该过程的多种变化。过程本体将提供在运行时基于过程参数的具体值来选择的三个任务中的每一个任务的描述和具体版本。
例如,对于相同的总过程可能存在多个具体版本的“checkout”任务。该任务可以具有两个或者更多个具体版本,这些具体版本可以取决于用于该任务的储存库是本地还是远程的和/或基于客户机所运行的操作系统而得到应用。类似地,“compile”任务可以具有参考不同编译系统的更多具体版本,而最终的“make package”任务可以取决于目标操作系统(OS)和其他参数而得到应用。结果,本发明的方法免于重新定义抽象定义和执行诸如在整个固定环境中向条件节点加入分支这样的事情。
优选地,步骤c.包括:如果参数值在当前过程环境中未被定义,则发送消息到帧描述中所指示的源。消息优选地包括值的类型和所需值的作用,作用反映了参数与过程环境中的其他数据的关系。优选地在域本体中定义值的类型。
域本体描述了诸如“OS type”、“building system”这样的在过程执行期间由系统处理的域元素。本发明的一种实施方式的该特征用于两个主要目的:其定义了比一般的工作流定义语言更精细的系统并且允许关系的表达,即过程中的参数所执行的作用。通过加入该方面,输入参数和它们的值可被通过它们的属性而不是它们的名称提供给任务。
因为抽象过程步骤的一般化和实例化依赖于由过程和域本体提供的任务和数据建模,所以提供包含在域和过程本体中的信息允许在运行时由执行引擎进行过程的“垂直化(verticalization)”。
在当前的优选实施方式中,步骤e.包括:验证过程本体是否包括更具体可应用版本的任务,如果是,则使用所解析出的参数值来执行该更具体可应用版本的任务。验证步骤优选地包括:对于一个或多个具体任务中的每一个,检查一个或多个约束,以确定更具体任务的可应用性。一个或多个具体可执行任务只有在其所有约束都被满足的情况下才被执行。
一个或多个约束优选在更具体任务的任务描述中被定义为对相应更具体任务的参数的参数值的一个或多个约束。此外,每个任务的描述优选地包含各种属性,这些属性例如定义了该任务所参考的帧、一个或多个输入参数、一个或多个输出参数和对该任务的实现的引用,该实现可指外部代理,例如网络服务。
约束可被用来确定关于相应一般任务的执行的更具体任务的可应用性:当过程达到一般任务时,其更具体任务中的一个或多个根据所述约束的满足而被执行引擎选中。约束可被以域本体所支持的任何形式表达:其可以是值的相等、子类型、与域本体中或者过程环境中的其他元素的关系。
在本发明的方法的一种实施方式中,方法步骤由下述解释器执行,所述解释器解释工作流过程语言(例如BEPL或者XPDL)中的多个语句。
根据本发明的另一实施例,提供一种以工作流过程语言定义的一个或多个任务的一种运行时执行设备,所述设备包括:
用于从过程本体(PO)获得(10)一般任务(T)的描述的装置,所述过程本体(PO)定义可执行任务的分级分类,每个任务参考所述过程本体(PO)的分级帧分类中的至少一个帧,其中帧是属于同一工作流的一组任务所需的数据的集合;特征在于所述设备包括以下装置:
用于识别(30)所述一般任务(T)所参考的帧描述中所描述的所有任务输入参数的装置;
用于解析(40)所有输入参数的值的装置;
用于验证(50)所述过程本体(PO)是否包括更具体可应用版本的所述一般任务(T)的装置,用于验证(50)的装置包括以下单元:
用于从所述过程本体(PO)取回所述一般任务(T)的至少一个更具体任务(T’)的单元;
用于,对于每个更具体任务(T’),检查一个或多个约束,以确定各个更具体任务(T’)的可应用性的单元,其中所述一个或多个约束在所述更具体任务(T’)的任务描述中被定义为对各个一般任务(T)的参数的参数值的一个或多个约束,并且其中所述一个或多个约束是从包括值的相等、子类型以及与所述帧分类所描述的过程环境中的其他元素的关系的组中选择出的;
其中,当所述约束中的至少一个不被满足时,各个更具体任务(T’)不被认为是有效的执行候选,并且如果结果为没有更具体任务(T’)是有效的执行候选,则所述一般任务(T)是最具体版本的任务;并且
用于如果有一个或多个更具体任务(T’)可用,则选择一个作为最具体版本的任务的单元,其中在有多个可用候选的情况下,通过优先级、其他解疑规则或者不确定性地进行选择;以及
用于使用所解析出的参数值来执行(60)所述过程本体(PO)的任务分类中所包含的最具体可应用版本的任务的装置。
根据本发明该实施例的设备,其中,用于解析(40)的装置包括:用于如果所述参数值未在当前过程环境下定义,则发送消息(41)到所述帧描述中所指示的源(42)的装置。
根据本发明该实施例的设备,其中,所述消息(41)包括所需值的值类型和作用,所述作用反映了所述参数与所述过程环境中的其他数据的关系。
根据本发明该实施例的设备,其中,所述值的类型是在域本体中定义的。
根据本发明该实施例的设备,其中,每个任务的描述包含多个属性,这些属性定义了所述任务所参考的帧、一个或多个输入参数、一个或多个输出参数和对所述任务的实现的引用。
根据本发明该实施例的设备,其中,所述对实现的引用指的是外部代理,所述外部代理是网络服务。根据另一方面,本发明涉及适合于执行上述方法中的任何一种方法的执行引擎。
附图说明
在以下详细描述中,参考附图描述了当前优选的实施方式,在附图中:
图1:给出了图示根据本发明优选实施方式的方法中的由执行引擎在运行时执行的步骤的流程图;以及
图2、图3、图4:本发明的实施方式的屏幕截图。
具体实施方式
下面,在参考图1讨论执行引擎在运行时所执行的步骤之前,描述了本发明的方法的优选实施方式的任务分类、过程环境和过程定义。
A.任务分类(Task Taxonomy)
过程本体(ontology)的任务分类实际上是森林型结构,对于抽象过程定义中的每个任务都有一个树。该分类的任何任务可以包括更加具体的版本和更加一般的版本。更加具体版本的任务被称为它的次任务(hypotask),而更加一般的任务被称为它的超任务(hypertask)。每个任务的描述还具有下列属性:
·其所参考的帧
·类型和含义在帧定义中有规定的一组输入参数
·类型和含义在帧定义中有规定的一组输出参数
·一组对超任务参数值的约束
·对实现的引用
输入参数规定了任务要继续执行所需的元素,而输出参数说明了任务执行所要提供给过程环境的新元素。每个参数具有绑定到帧中的名称的正式名称,从而规定该参数的类型和作用。参数缺省指向任务所参考的帧。
任务还可以为其超任务所定义(可以是在同一帧中定义的,或是在超帧(super frame)中定义的,见下面的部分B)的某些参数的值规定附加约束。这些约束用于在运行时确定关于某一任务的执行的一个或多个次任务的可应用性:当过程到达该任务时,根据所述约束的满足来选择该任务的次任务中的一个或多个。
示例:
假如任务A具有次任务B。
假如A具有从将属于T型的帧搜集到的输入参数x。
B可以向x的值表示某些约束,这些约束确定了B在某一环境下的可应用性,例如:
x==1(x是1),或者
x:T’(x属于T’型,T’是T的子类型),或者
x[父->abraham](x之父是“abraham”)
abraham[son->>x](x是abraham之子之一)
当某一任务的两个或多个次任务同时具有被满足的约束时,系统将是不确定性的。不确定性可被用于应用机器学习以让系统自主找到最佳性能的路径,这也是执行模拟的可行选择。相反,如果不希望不确定性,则定义任务的次任务的可应用性的条件必须是互斥的,这可以通过模型校验来验证。
执行引擎的过程解释器在运行时访问任务分类,以便根据过程的具体状态来查明当前所要执行的任务是否可被该任务的次任务之一替换。
B.过程环境
在过程本体中声明过程执行的运行时环境的结构。环境由多级帧组成。帧是属于同一工作流的一组任务所需的数据的集合。有时帧也被称为上下文。帧分类也是分等级构造的。帧对其超帧的声明进行扩展并且/或者可以覆盖(override)其超帧的声明。帧的层次结构优选与过程本体中的任务分类有关,其中任务除了相应超任务的数据之外可能还需要其他数据。
根据在以下运行时期间执行的步骤的描述可以更加清楚的是,帧永久地允许特定于上下文的可重新使用的数据跨越不同的执行步骤存活。
由过程环境的帧分类所容纳的数据声明是在域本体中紧密定义的。具体地,数据声明由以下部分组成:
·名称:标识符,其在当前帧中必须是唯一的
·类型:由连接域本体概念的链接规定
·源:该段数据必须由此取回。这可指域本体的实例(如果这可以在设计时确定),或指负责提供该值的工作流的参与者之一。
·作用:因为所提出的系统完全由本体描述,所以从源检索数据的方式必须高度灵活并且优选避免硬编码的查询。类型本身不足以确定过程正在寻找的信息。属性“作用”将描述下述语义关系,所述语义关系用于概述该段数据在当前过程中具有的作用。
示例:
如果将要取回公司CEO的地址,则不优选进行象下面这样的查询:
-X of type‘AddressOfCEOOfCompany’
而是优选象下面这样的查询:
-X of type‘Address’,其中(X addressOf Y)&(Y ceoOf C)参数“C”是从当前过程环境取回的,从而允许更加灵活地表达作用。
C.过程定义
执行引擎所要执行的总的高级过程是通过编写过程本体中描述的任务而定义的。编写运算符可以包括:
·Sequence(排序)(T1 T2 T3),其中T1、T2和T3是任务
·Split(分开)/join(接合)(and T1 T2)
·Conditional(条件)(if cond T1 T2)
·Iterator(迭代器)(while(cond)T)
为了定义抽象过程,任何提供这种运算符的现有工作流语言(例如,BPEL)都可被使用,只要该语言的相应执行机实现根据本发明的方法。
多个任务共享当前环境下的数据,由于帧结构,这允许了特定于上下文的数据仅可被用于整个过程中的任务的子集。
D.运行时执行
下面,参考图1来描述解释器执行任务的过程。如图所示,过程本体中的任务分类的最具体任务是根据当前的过程状态来选择的。这被称为选择规则。
解释器为过程保持了如先前描述那样构造的环境。对于在段C中定义的每个一般任务T,执行引擎执行以下步骤。
步骤10:从过程本体PO取回任务T的描述
步骤20:找出任务T的帧描述
步骤30:识别相关帧中所描述的任务参数
步骤40:检查参数列表。针对帧定义,寻找每个输入参数在当前过程环境下的值;对于每个“缺失”的值,消息41被发送到相关数据的源42,如在过程本体PO中的帧描述中定义的。消息41带有来自帧定义的所需值的值类型以及“语义”描述(作用),以允许源42满足请求。
步骤50:一旦所有的输入参数都可用,则任务T的要求被满足,任务T因而是执行的候选。但是,过程本体PO有可能带有该任务的更具体版本的定义。因此,任务T的次任务被从过程本体PO取回,并且每个被看作执行候选。对于每个次任务T’,多个约束(即任务T的输入参数值所要满足的条件)被检查。当多个约束中的至少一个不被满足时,次任务T’不被认为是有效的候选。
步骤60:如果结果为没有次任务T’是有效的执行候选,则任务T是可用的最具体版本的任务,并且可被执行。如果有一个或多个次任务T’可用,则选择一个(在有多个可用候选的情况下,通过优先级或者其他解疑规则进行选择,或者通过不确定性地进行选择)。
对于过程定义中所包含的每个任务T,步骤序列10-60被重复。
所描述的执行方法(即选择规则)保证了基于输入参数的值来选择可应用的最具体版本。一旦该任务被选择,则其实现可以如下面的部分E描述的那样被执行。
E.任务实现
任务可以有具体的实现,即调用外部代理以实现外部过程并最终取回任务描述所规定的将要分配给输出参数的值的方法。这种值将被存储在环境帧中,在环境帧中,参数被定义并且为在扎根于同一帧中的子树中工作的其他任务所共享。外部代理可以是从标准工作流引擎到可由网络服务接口访问的服务的范围内的任何事物,或者甚至可以是分级结构的另一个抽象工作流引擎。
F.附录:
下面是本发明的一种实施方式中的用于实现本体的任务层次的示例性XML文件。这是一个用于提供下述工作流的示例,所述工作流用于将公司所在地从一个欧洲国家转移到另一个欧洲国家。因为营业登记在整个欧洲被以不同方式组织,例如在爱尔兰是作为集中机构,在德国是附属于地方法院并且在意大利是分散的,为该过程的工作流进行建模考虑到了所有这些差异,即使在欧洲某些步骤对于公司所在地的每次改变总是相同的。
在本示例中,总是有要执行的新登记,这需要验证公司的正确建立。验证步骤包括验证:公司名称是否符合接收国家的要求,是否所有文档都以正确格式提供(在必要情况下具有公证人的确认)。该验证步骤取决于涉及到哪些营业登记。
描述该过程的工作流应当以一般但是灵活的方式包括该验证步骤。这是因为在设计时不知道在具体情况下涉及哪些国家。这只有在某一公司已经明确地请求了将其所在地从一个欧洲国家转移到另一个欧洲国家之后才知道。另外,可用的欧洲国家可能改变。用于下面所示的工作流的本体因此描述了取决于所涉及的营业登记的该验证步骤的各种特性。例如在爱尔兰营业登记的情况下,验证步骤比较简单,而意大利要求提供由公证人确认的文档。如果是在意大利的Trentino自治区进行登记,则文档也可以以德语提供。否则必须是意大利语的。验证步骤所需的输入参数因而仅由本体中的描述产生,并且因而可被灵活地修改,而不影响总过程的一般定义。
为了帮助理解下面的XML示例,图2-4提供了屏幕截图的示例,这些示例图示了在本发明的该具体实施方式中如何将任务等级、约束和参数提供给用户。
图2提供了第一屏幕截图,其以实例视图(Instance View)示出了该等级的不同任务。例如任务“HostCheck”具有三个次任务,即“IrelandHostCheck”、“ItalyHostCheck”和“TrentinoHostCheck”。因为任务TrentinoHostCheck在图2中被选中,所以属性窗口显示该任务的描述和其各种属性。例如,该任务的约束是“HostisTrentino”,就是说,如果该条件被满足的话,TrentinoHostCheck任务仅可以作为任务HostCheck的更加具体的版本来应用。在下面列出的XML文件中,通过寻找具有相应(次)任务的定义的代码行可以找到本题中与图2的屏幕截图相对应的部分。
图3提供了另一屏幕截图,其以实例视图图示了各种参数。属性窗口再次示出了与在实例视图中突出显示的参数(在这种情况下是TrentinoRegistrationDocumentParameter)有关的属性。属性之一是以下约束:语言可以是德语的。该参数的相应定义也可以在以下包含本发明的该实施方式的本体的XML文档中找到。
图4最后提供了图示一约束的屏幕截图。实例视图突出显示了约束“HostisItaly”。属性窗口将约束描述为等式country==IT。与该屏幕截图相对应的XML定义也可以在下面列出的本体中找到。
任务可以具有多种具体实现。
在任务可被执行之前,某些约束需要被验证。
为了执行任务,某些参数需要被提供。
Figure GSB00000712459000122
每个上下文具有名称和描述。
上下文由一组相关联的数据对象组成。
上下文描述可被按照超上下文(super-context)和次上下文(sub-context)的等级来排列。
Figure GSB00000712459000123
Figure GSB00000712459000131
Figure GSB00000712459000141
Figure GSB00000712459000151
Figure GSB00000712459000161
Figure GSB00000712459000191
Figure GSB00000712459000201
Figure GSB00000712459000211
Figure GSB00000712459000221
Figure GSB00000712459000241
Figure GSB00000712459000251
Figure GSB00000712459000261
Figure GSB00000712459000281
Figure GSB00000712459000291
Figure GSB00000712459000301
Figure GSB00000712459000311
Figure GSB00000712459000321

Claims (12)

1.以工作流过程语言定义的一个或多个任务的一种运行时执行方法,所述方法包括以下步骤:
a.从过程本体(PO)获得(10)一般任务(T)的描述,所述过程本体(PO)定义可执行任务的分级分类,每个任务参考所述过程本体(PO)的分级帧分类中的至少一个帧,其中帧是属于同一工作流的一组任务所需的数据的集合;特征在于所述方法还包括以下步骤的序列:
b.识别(30)所述一般任务(T)所参考的帧描述中所描述的所有任务输入参数;
c.解析(40)所有输入参数的值;
d.验证(50)所述过程本体(PO)是否包括更具体可应用版本的所述一般任务(T),包括以下步骤:
从所述过程本体(PO)取回所述一般任务(T)的至少一个更具体任务(T’);
对于每个更具体任务(T’),检查一个或多个约束,以确定各个更具体任务(T’)的可应用性,其中所述一个或多个约束在所述更具体任务(T’)的任务描述中被定义为对各个一般任务(T)的参数的参数值的一个或多个约束,并且其中所述一个或多个约束是从包括值的相等、子类型以及与所述帧分类所描述的过程环境中的其他元素的关系的组中选择出的;
其中,当所述约束中的至少一个不被满足时,各个更具体任务(T’)不被认为是有效的执行候选,并且如果结果为没有更具体任务(T’)是有效的执行候选,则所述一般任务(T)是最具体版本的任务;并且
如果有一个或多个更具体任务(T’)可用,则选择一个作为最具体版本的任务,其中在有多个可用候选的情况下,通过优先级、其他解疑规则或者不确定性地进行选择;以及
e.使用所解析出的参数值来执行(60)所述过程本体(PO)的任务分类中所包含的最具体可应用版本的任务;
其中,所述方法步骤是由解释器执行的,所述解释器解释工作流过程语言中的多个语句。
2.如权利要求1所述的方法,其中,所述步骤c.包括:如果所述参数值未在当前过程环境下定义,则发送消息(41)到所述帧描述中所指示的源(42)。
3.如权利要求2所述的方法,其中,所述消息(41)包括所需值的值类型和作用,所述作用反映了所述参数与所述过程环境中的其他数据的关系。
4.如权利要求3所述的方法,其中,所述值的类型是在域本体中定义的。
5.如在先权利要求中任何一个所述的方法,其中,每个任务的描述包含多个属性,这些属性定义了所述任务所参考的帧、一个或多个输入参数、一个或多个输出参数和对所述任务的实现的引用。
6.如权利要求4所述的方法,其中,所述对实现的引用指的是外部代理,其中所述外部代理是网络服务。
7.一种以工作流过程语言定义的一个或多个任务的一种运行时执行设备,所述设备包括:
a.用于从过程本体(PO)获得(10)一般任务(T)的描述的装置,所述过程本体(PO)定义可执行任务的分级分类,每个任务参考所述过程本体(PO)的分级帧分类中的至少一个帧,其中帧是属于同一工作流的一组任务所需的数据的集合;特征在于所述设备还包括以下装置:
b.用于识别(30)所述一般任务(T)所参考的帧描述中所描述的所有任务输入参数的装置;
c.用于解析(40)所有输入参数的值的装置;
d.用于验证(50)所述过程本体(PO)是否包括更具体可应用版本的所述一般任务(T)的装置,用于验证(50)的装置包括以下单元:
用于从所述过程本体(PO)取回所述一般任务(T)的至少一个更具体任务(T’)的单元;
用于,对于每个更具体任务(T’),检查一个或多个约束,以确定各个更具体任务(T’)的可应用性的单元,其中所述一个或多个约束在所述更具体任务(T’)的任务描述中被定义为对各个一般任务(T)的参数的参数值的一个或多个约束,并且其中所述一个或多个约束是从包括值的相等、子类型以及与所述帧分类所描述的过程环境中的其他元素的关系的组中选择出的;
其中,当所述约束中的至少一个不被满足时,各个更具体任务(T’)不被认为是有效的执行候选,并且如果结果为没有更具体任务(T’)是有效的执行候选,则所述一般任务(T)是最具体版本的任务;以及
用于如果有一个或多个更具体任务(T’)可用,则选择一个作为最具体版本的任务的单元,其中在有多个可用候选的情况下,通过优先级、其他解疑规则或者不确定性地进行选择;以及
e.用于使用所解析出的参数值来执行(60)所述过程本体(PO)的任务分类中所包含的最具体可应用版本的任务的装置。
8.如权利要求7所述的设备,其中,用于解析(40)的装置包括:用于如果所述参数值未在当前过程环境下定义,则发送消息(41)到所述帧描述中所指示的源(42)的单元。
9.如权利要求8所述的设备,其中,所述消息(41)包括所需值的值类型和作用,所述作用反映了所述参数与所述过程环境中的其他数据的关系。
10.如权利要求9所述的设备,其中,所述值的类型是在域本体中定义的。
11.如在先权利要求7-10中任何一个所述的设备,其中,每个任务的描述包含多个属性,这些属性定义了所述任务所参考的帧、一个或多个输入参数、一个或多个输出参数和对所述任务的实现的引用。
12.如权利要求10所述的设备,其中,所述对实现的引用指的是外部代理,其中所述外部代理是网络服务。
CN2007103015348A 2006-12-21 2007-12-21 工作流过程语言定义的一个或多个任务的运行时执行方法 Active CN101221637B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06026538A EP1936494B1 (en) 2006-12-21 2006-12-21 Method for runtime execution of one or more tasks defined in a workflow process language
EP06026538.6 2006-12-21

Publications (2)

Publication Number Publication Date
CN101221637A CN101221637A (zh) 2008-07-16
CN101221637B true CN101221637B (zh) 2013-01-23

Family

ID=38051907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007103015348A Active CN101221637B (zh) 2006-12-21 2007-12-21 工作流过程语言定义的一个或多个任务的运行时执行方法

Country Status (4)

Country Link
US (1) US8156508B2 (zh)
EP (1) EP1936494B1 (zh)
CN (1) CN101221637B (zh)
AT (1) ATE519155T1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8413168B2 (en) * 2009-03-05 2013-04-02 Nokia Corporation Method, apparatus and computer program product for providing an event scheme for context models
JP5361470B2 (ja) * 2009-03-16 2013-12-04 キヤノン株式会社 情報処理装置及びその制御方法
US8448194B2 (en) * 2009-09-30 2013-05-21 Sap Ag Value container propagation in development tools, business process management, and business rules management solutions
US8719770B2 (en) * 2010-09-09 2014-05-06 International Business Machines Corporation Verifying programming artifacts generated from ontology artifacts or models
US20120158931A1 (en) * 2010-12-15 2012-06-21 Telefonaktiebolaget L M Ericsson (Publ) Method and Apparatus for the Execution of Adaptable Composed Computer-Implemented Services with Integrated Policies
US20140324512A1 (en) * 2013-04-29 2014-10-30 International Business Machines Corporation Automated business function implementation analysis and adaptive transaction integration
US10679185B2 (en) * 2013-08-23 2020-06-09 Synabee, Inc. Personal attribute cartography with analysis feedback
EP3350693A4 (en) * 2015-09-18 2019-05-22 Reactivecore LLC SYSTEM AND METHOD FOR PROVIDING COMPUTER PROGRAMMING OF ADDITIONAL FEATURES THROUGH ONTOLOGY INSTANCE

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021438A (en) * 1997-06-18 2000-02-01 Wyatt River Software, Inc. License management system using daemons and aliasing
CN1390007A (zh) * 1993-11-30 2003-01-08 英国电讯有限公司 通信网络管理
CN1615471A (zh) * 2000-06-27 2005-05-11 皇家菲利浦电子有限公司 确定一个进度表的方法、调度器和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003211000A1 (en) * 2002-02-12 2003-09-04 Sandpiper Software, Inc. Ontology frame-based knowledge representation in the unified modeling language (uml)
US20040162741A1 (en) 2003-02-07 2004-08-19 David Flaxer Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference
US7168035B1 (en) * 2003-06-11 2007-01-23 Microsoft Corporation Building a view on markup language data through a set of components
EP1639458A4 (en) * 2003-06-12 2010-05-05 Reuters America BUSINESS PROCESS AUTOMATION
US7805324B2 (en) 2004-10-01 2010-09-28 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
WO2006108061A2 (en) * 2005-04-05 2006-10-12 The Board Of Trustees Of Leland Stanford Junior University Methods, software, and systems for knowledge base coordination
FI20051137A0 (fi) * 2005-11-09 2005-11-09 Nokia Corp Menetelmä hajautetun asiankäsittelyn muodostamiseksi ja suorittamiseksi viestintäjärjestelmässä

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1390007A (zh) * 1993-11-30 2003-01-08 英国电讯有限公司 通信网络管理
US6021438A (en) * 1997-06-18 2000-02-01 Wyatt River Software, Inc. License management system using daemons and aliasing
CN1615471A (zh) * 2000-06-27 2005-05-11 皇家菲利浦电子有限公司 确定一个进度表的方法、调度器和系统

Also Published As

Publication number Publication date
ATE519155T1 (de) 2011-08-15
CN101221637A (zh) 2008-07-16
US8156508B2 (en) 2012-04-10
EP1936494A1 (en) 2008-06-25
US20080222635A1 (en) 2008-09-11
EP1936494B1 (en) 2011-08-03

Similar Documents

Publication Publication Date Title
CN101221637B (zh) 工作流过程语言定义的一个或多个任务的运行时执行方法
Ghamarian et al. Modelling and analysis using GROOVE
Van Der Aalst et al. Design and implementation of the YAWL system
Wu et al. Automatic composition of semantic web services using process and data mediation
Margaria et al. Service engineering: Linking business and it
Ter Beek et al. A framework for quantitative modeling and analysis of highly (re) configurable systems
US20120059784A1 (en) Editing and Compiling Business Rules
Börger et al. A method for verifiable and validatable business process modeling
Van Zee et al. RationalGRL: A framework for rationalizing goal models using argument diagrams
Paskevicius et al. Change impact analysis of feature models
Corral-Plaza et al. MEdit4CEP-SP: A model-driven solution to improve decision-making through user-friendly management and real-time processing of heterogeneous data streams
Campagna et al. Product and production process modeling and configuration
De Lara et al. A-posteriori typing for model-driven engineering
Moller et al. OSIRIS Next: Flexible semantic failure handling for composite web service execution
Suchenia et al. Supporting BPMN process models with UML sequence diagrams for representing time issues and testing models
Hoheisel et al. Petri nets
Karakoc et al. A workflow-based Web service composition system
Weber et al. A conceptual framework for composition in business process management
Benveniste et al. QoS-aware management of monotonic service orchestrations
Atampore et al. A controller synthesis framework for automated service composition
Omer et al. Dependency based automatic service composition using directed graph
Dustdar et al. Modelling service requirements variability: The DiVA way
Hassine et al. Abstract operational semantics for use case maps
Mokhati et al. Translating AUML Diagrams into Maude Specifications: A Formal Verification of Agents Interaction Protocols.
Subburaj et al. A formal specification language for modeling agent systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20080718

Address after: Darmstadt

Applicant after: Software joint-stock company

Co-applicant after: Metaware Societa Per Azioni

Address before: Germany Darmstadt

Applicant before: Software AG

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant