xpdl关于join和split的定义的翻译。

7.6.9.1. Join

一个结合描述这样的语义:一个带有多个来源过渡的行为。<xsd:element name="Join">

<xsd:complexType>

<xsd:sequence>

<xsd:any namespace="##other" processContents="lax"

minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

<xsd:attribute name="Type">

<xsd:simpleType>

<xsd:restriction base="xsd:NMTOKEN">

<xsd:enumeration value="AND"/>

<xsd:enumeration value="XOR"/>

<xsd:enumeration value="XOREVENT"/>

<xsd:enumeration value="OR"/>

<xsd:enumeration value="COMPLEX"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name="IncomingCondtion" type="xsd:string"/>

<xsd:anyAttribute namespace="##other" processContents="lax"/>

</xsd:complexType>

</xsd:element>

描述

Type

AND – 将在流程实例中所有的同步线程与到这行为的所有来源过渡结合在一起:同步是需要的。被同步的线程数量取决于前一个AND分离的条件的结果。等同于BPMN‘OR’门出现逻辑。BPMN ‘AND’门出现逻辑需要所有的来源过渡线程被同步,除开前一个分离。

OR - 看以上。

XOR - 结合可选择的线程:不需要同步。

XOREVENT - 等同于XOR。

COMPLEX - 这使用IncomingCondition属性。它决定哪一个来源过渡/序列流来继续过程。表达式可以引用关于来源序列流的过程数据和状态数据。例如,一个表达式可以指定假如出现5个来源标记中的3个则继续流程。另一个例子可以是一个表达式指定一个标记从序列流A中而另一个序列流从B或C中获得则被接受。虽然如此,表达式应被设计为流程不会在此位置被拖延。

7.6.9.2. Split

一个split描述这样的语义,含有多个离开过渡的行为存在。

<xsd:element name="Split">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="xpdl:TransitionRefs" minOccurs="0"/>

<xsd:any namespace="##other" processContents="lax"

minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

<xsd:attribute name="Type">

<xsd:simpleType>

<xsd:restriction base="xsd:NMTOKEN">

<xsd:enumeration value="AND"/>

<xsd:enumeration value="XOR"/>

<xsd:enumeration value="XOREVENT"/>

<xsd:enumeration value="OR"/>

<xsd:enumeration value="COMPLEX"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:attribute>

<xsd:attribute name="OutgoingCondition" type="xsd:string"/>

<xsd:anyAttribute namespace="##other" processContents="lax"/>

</xsd:complexType>

</xsd:element>

<xsd:element name="TransitionRef">

<xsd:complexType>

<xsd:sequence>

<xsd:any namespace="##other" processContents="lax"

minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>

<xsd:attribute name="Name" type="xsd:string" use="optional"/>

<xsd:anyAttribute namespace="##other" processContents="lax"/>

</xsd:complexType>

</xsd:element>

<xsd:element name="TransitionRefs">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="xpdl:TransitionRef"

minOccurs="0" maxOccurs="unbounded"/>

<xsd:any namespace="##other" processContents="lax"

minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

<xsd:anyAttribute namespace="##other" processContents="lax"/>

</xsd:complexType>

</xsd:element>

描述

Transition Refs

此行为的离开过渡列表,每一个过渡都通过它的编号被区分。

Type

AND – 定义许多可能的同步线程,它们被这个行为的离开过渡表示。如果这些过渡拥有条件被执行的平行线程的实际数量是根据每一个过渡相关的条件,过渡是被同步地执行。注意BPMN的’AND’门是特殊的情况,在它上面没有一个过渡(序列流门)拥有条件。

OR – 另一个BPMN的关于AND的变化。这里过渡可以拥有条件并且多个离开路径可以被选择。不同的是,一个默认的路径可以被同时指定,以使当没有一个路径被选择时,默认的路径会被选择。

XOR – 一个列表存放这个行为的离开过渡的标识符,表示选择性地执行过渡。决定进行哪一个独立的过渡是根据每一个独立的过渡的条件,条件是根据过渡在列表中被指定的顺序来执行。如果存在一个TRUE的条件,或者不存在任何的条件,列表执行会被结束。OTHERWISE过渡会在没有优这渡被选择时被选择。等同于BPMN XOR数据基础门。

XOREVENT – 与XOR相似,除了没有任何一过渡有条件,并且不能有OTHERWISE过渡。目标行为必须是有TaskType属性的Tasks,属性值设置为Receive或者InterMediate Event,Trigger属性设置为Message,Time,Role或者Link。如果一个过渡/门目标是一个Task,然后一个Intermediate Event带有Trigger Meessage不能被用来作为另一个过渡/门的目标。那就是,信息必须只被Tasks或者Message Event获取,但不是它们对于一个门的组合。

COMPLEX – 这使用OutgoingCondition属性,它决定那一个离开的过渡/序列流会在后续过程中被选择。表达式可以引用过程数据和来源序列流的状态数据。例如,一个表达式评估过程数据然后选择不同的离开序列流集合,这些操作是基于评估的结果的。虽然如此,表达式应被设置为使至少一个离开序列流被执行。

一个AND split和拥有条件的过渡一起可以被称作条件AND,多选择OR或者非唯一OR。实际同步线程的数量是在执行时当评估条件的时候被决定的。跟着这个AND split,过程实例(或者过程实例的线程)被分成许多分离执行的线程,它们由过渡条件的评估产生。(注意在所有从这个行为出发的离开过渡被评估前,不需要标识符列表,序列也是不必要的。)

如果在AND_SPLIT或者XOR_SPLIT中有一个过渡有OTHERWISE条件,然后一个两部份组成的评估将被执行。在第一步的评估中,除了带有OTHERWISE条件过渡外所有过渡会被评估。如果它们之间没有一个为TRUE,然后第二步,OTHERWISE过渡会被评估(只有一带有OTHERWISE语句的过渡被允许在行为的离开过渡中)。一个OTHERWISE选择可以被用来保证在过程执行中没有异常的状态(例如:在行为的最后一个离开过渡通常会被执行)。

xpdl关于join和split的定义的翻译。(转)相关推荐

  1. join为什么每个字符都分割了 js_js的join()与 split() (转)

    数组的一些方法: 1.join()和split()方法 var x; var a=new Array(); a[0]="XHTML"; a[1]="CSS"; ...

  2. Python中join 和 split详解

    python join 和 split方法简单的说是:join用来连接字符串,split恰好相反,拆分字符串的. .join() join将 容器对象 拆分并以指定的字符将列表内的元素(element ...

  3. python join_python join 和 split的常用使用方法

    python join 和 split的常用使用方法 python join 和 split方法的使用,join用来连接字符串,split恰好相反,拆分字符串的. 1.join用法示例 >> ...

  4. js的join()与 split()

    数组的一些方法: 1.join()和split()方法 <script type="text/javascript"> var x; var a=new Array() ...

  5. python join() 和split()函数总结

    最近对join()和split()函数总是不是特别清楚,抽时间总结 1.join()函数 语法:'sep'.join(seq) sep:分隔符即用什么符号连接如, % *随意,可以为空 seq:要连接 ...

  6. python join 和 split方法的使用

    python join 和 split方法的使用,join用来连接字符串,split恰好相反,拆分字符串的. 1.join用法示例 >>>li = ['my','name','is' ...

  7. 问题 I: 4.18 join、split  删除字符串s=‘zzz xx y u v w ttt ‘中多余的空白字符,如果有连续多个空白字符,只保留一个。

    问题 I: 4.18 join.split 时间限制: 1 Sec 内存限制: 128 MB 提交: 3507 解决: 2657 [提交] [状态] [讨论版] [命题人:wangbs] 题目描述 4 ...

  8. python字符串的方法和列表的方法_Python学习笔记字符串操作之join()和split()方法,列表转字符串,字符串转列表...

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  9. JS--JavaScript数组Array(join、split、reverse、concat、slice)详解

    JavaScript数组 数组(Array)是一组有序数据集合,拥有大量方法,适合完成一些复杂的运算. 定义数组 定义数组通过构造函数Array()和运算符new来实现,具体方法如下: 1. 定义空数 ...

  10. “约见”面试官系列之常见面试题之第五十八篇之join和split(建议收藏)

    join() 方法用于把数组中的所有元素放入一个字符串.元素是通过指定的分隔符进行分隔的. <script>var a=new Array();a[0]="XHTML" ...

最新文章

  1. 搭建 数字证书_CA认证介绍及搭建过程
  2. 几年前,我撸了一套RabbitMQ的客户端
  3. Kubernetes — Kubespray 开箱即用的部署工具
  4. matlab坐标数据导出,大批量fluent导出数据,然后找对应坐标的信息
  5. 大数据互联网架构 tomcat集群配置时三个端口的作用
  6. C#实现查找指定端口被哪个进程占用并处理进程及dos命令下操作
  7. .NET Core多平台项目模板eShopOnContainers编译手记
  8. C# 设置当前程序调用的dll文件以及其他文件的寻址路径
  9. nginx nodejs环境配置_服务器环境配置安装(mysql+redis+nodejs+nginx)
  10. CentOS7 Cloudera Manager6 完全离线安装 CDH6 集群
  11. ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data......
  12. CSS三角强化的巧妙运用(HTML、CSS)
  13. Eclipse导入Android项目 Eclipse常见错误 中文乱码问题
  14. gmm聚类python_聚类算法GMM和KMeans?
  15. bex5 mysql_bex5 库存系统的增删改查等功能对MYSQL数据库的维护操作 Windows Develop 276万源代码下载- www.pudn.com...
  16. vue读取Excel并分组处理数据显示
  17. List<Map>转Map<String,List>
  18. 小说APP源码的图片加载方式,懒加载和预加载的实现
  19. Code Sign error: Provisioning profile '6805769A-5085-4BE7-B9D1-2859CD2CBE9E' can't be found
  20. cache object script基本结构---Cache变量,变量名称,定义,特殊的变量

热门文章

  1. Python学习,接上篇文章的50道基础入门练习题(附答案)
  2. 如何白嫖一个免费的泛域名SSL证书
  3. contents属性
  4. python文字教学_【纯文本教程】大学专科的Python基础开发课?p=17
  5. python tenacity用装饰器方式重试用例,提高测试用例的健壮性
  6. CAN总线(一)——CAN总线是什么,在哪用,怎么用?
  7. 小学信息技术 Linux,小学信息技术教育教学计划
  8. 架构设计基础设施保障(laaS 云虚拟使用 存储 网络 DNS运用 CDN剖析和运用)
  9. 数据管理平台(DMP)简介
  10. dmp标签_一种基于DMP标签的管理平台及方法与流程