`
timeson
  • 浏览: 147615 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

工作流模式_高级分支和同步模式(C3)

阅读更多
这五个模式的共同点在于:都是在基本控制流模式的基础上提供附加的流程控制,包括:
  •  Multiple choice(多选择模式)
  •  Synchronizing merge(同步合并模式)
  •  Multi-merge(多合并模式)
  •  Discriminator(鉴别模式)
  •  N-out-of-M join(M 选 N 加入模式)



WP_06、Multiple choice(多选择模式)
描述:在流程中,当一个活动完成以后,有多个分支进行选择,可以选择其中的一个或者多个分支,即“多选多”。
在Petri网语意中,存在一个显式or_split,并作为路由活动。
 人工活动1 执行完后,可以选择auto活动1,2,3的活动,如下图,当时间为2小时,类似为xor_split类型活动,能执行auto活动1;
 当时时间为5小时,能执行活动1,2,
 当时间为10个小时,后续3个活动均可执行,类似and_split类型活动。



                                       图wp06:多选模式


                                       图wp06:多选模式(flash)


WP_07、Synchronizing merge(同步合并模式)
描述:在流程中的某个聚合点,多个分支路径合并成一个路径。在聚合点,流程会等待所有的分支到来,才能激活发续的活动。



                                       图wp07:同步汇聚模式

                                       图wp07:同步汇聚模式(flash)


一种典型的应用场景如图wp07,一个or_split和or_join配对使用,形成一个闭合的流程
 当前时间为2个小时,启动的后续活动为auto1,则or_join发现auto1完成后,马上执行人工活动2。
 当前时间为5个小时,启动的后续活动为auto1、2,在or_join活动发现前驱活动auto1,2完成了,才执行人工活动2。
 当前时间为9个小时,启动的后续活动为auto1、2、3,在or_join活动发现前驱活动auto1、2、3都完成了,才执行人工活动2。



WP_08 、Multi-merge(多合并模式)
描述:在流程中多个分支,在聚合时每个分支执行完都会激活后面的活动或流程(也就是会产生多实例)。与WP05的简单聚合模式的区别在于:简单聚合的分支只有一个可执行并且后续活动只激活一次(这里是借助xor_split路由活动);而多重聚合是多个分支可执行,后续活动激活多次,产生多实例。
这里的多个实例产生是需要同步的,即auto2和auto3不能同时激活auto5,只能等待auto5的前一个实例执行完毕,才能自动第2个auto5活动实例




                                图wp08:多重合并模式


                                图wp08:多重合并模式(flash)

WP08的多重合并模式中,把xor_split换成了or_split,从而后续活动可以启动多条,auto活动5之前没有一个同步汇聚的路由活动,势必有多次前驱活动会激活auto活动5。
典型的场景:比如auto5是个邮件发送活动,当前驱auto2,auto3完成后,分别调用auto5活动,也就是说auto5会被执行2次。



WP_09、Discriminator(鉴别模式)
描述:在流程中的某个聚合点,等待所有的分支(可能是并行分支,或者是多重选择分支)中的第一个分支执行到达后,就立刻激活后续活动;与此同时,流程仍然要等待其余的分支执行完成,并忽略它们。
比如下面的应用场景,设定的鉴别条件为3个分支只要有一个到达就执行后续活动。那当前时间为9个小时,启动了auto活动1,2,3的活动,比如auto活动1先完成,就可以先激活disc的活动,并执行后续的人工活动2;而auto2,auto3会继续执行,完成后也到达disc活动,并被该节点忽略调。
如果设定3个分支,需要2个到达(3选2,M选N),则auto1,2到达后执行人工2,并忽略auto3。


                                     图wp09:鉴别模式

                               图wp09:鉴别模式(flash)

  • 大小: 28.7 KB
  • 大小: 32.2 KB
  • 大小: 45.3 KB
  • 大小: 25.9 KB
2
0
分享到:
评论

相关推荐

    plugin.video.c3:观看来自 30C3(以及更多)的直播(以及更多)

    综上所述,"plugin.video.c3" 插件是一个基于Python的多媒体应用,主要用于观看包括30C3和31C3等事件的直播视频,并提供了流媒体质量和多语言选择的自定义功能。其背后的技术涉及到流媒体传输、用户界面设计、多语言...

    JBoss jBPM jPDL中文指南

    JBoss jBPM(Java Business Process Management)是一个开源的工作流引擎,主要用于实现业务流程管理和任务协调。jPDL(jBPM Process Definition Language)是jBPM早期版本中使用的一种流程定义语言,它提供了一种...

    Project-Server-Side:正在建设中-早期versoins

    在"Project-Server-Side-master"这个文件名中,我们可以推测这可能是一个Git仓库的主分支,包含了项目的源代码和资源文件。在实际开发过程中,版本控制系统如Git的使用是必不可少的,它可以帮助团队协作并追踪代码...

    挤塑板生产用造型机sw18_三维3D设计图纸_包括零件图_机械3D图可修改打包下载_三维3D设计图纸_包括零件图_机械3D图可修改打包下载.zip

    挤塑板生产用造型机sw18_三维3D设计图纸_包括零件图_机械3D图可修改打包下载_三维3D设计图纸_包括零件图_机械3D图可修改打包下载.zip

    轿厢式电梯sw12可编辑_三维3D设计图纸_包括零件图_机械3D图可修改打包下载_三维3D设计图纸_包括零件图_机械3D图可修改打包下载.zip

    轿厢式电梯sw12可编辑_三维3D设计图纸_包括零件图_机械3D图可修改打包下载_三维3D设计图纸_包括零件图_机械3D图可修改打包下载.zip

    thai-scalable-waree-fonts-0.6.5-1.el8.x64-86.rpm.tar.gz

    1、文件说明: Centos8操作系统thai-scalable-waree-fonts-0.6.5-1.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf thai-scalable-waree-fonts-0.6.5-1.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm

    永磁同步电机二阶自抗扰控制仿真:速度环与电流环合并的线性及非线性研究

    内容概要:本文详细探讨了永磁同步电机(PMSM)中二阶自抗扰控制(ADRC)的应用,特别是将速度环和电流环合并的设计。文中介绍了ADRC的核心组件,包括跟踪微分器(TD)、扩张状态观测器(ESO)和非线性状态误差反馈控制律(NLSEF),并通过具体的Python和Matlab代码展示了这些组件的工作原理。此外,文章讨论了线性和非线性ADRC在合并控制中的实现及其优缺点,并强调了在Simulink建模时需要注意的技术细节。通过这种方式,ADRC能够显著提高电机的动态性能和抗干扰能力,尤其在面对复杂工况时表现更为突出。 适合人群:从事电机控制系统设计的研究人员和技术工程师,尤其是对自抗扰控制感兴趣的读者。 使用场景及目标:适用于需要提高永磁同步电机控制精度和效率的实际工程项目,旨在帮助读者理解和掌握ADRC的基本原理及其在速度环和电流环合并控制中的应用。 其他说明:文章不仅提供了理论解释,还包括了大量的代码片段和仿真技巧,有助于读者在实践中验证和优化控制策略。

    电子封装材料仿真:焊料材料仿真.zip

    电子仿真教程,从基础到精通,每个压缩包15篇教程,每篇教程5000字以上。

    《毛毛虫的袜子》伴奏.mp3

    《毛毛虫的袜子》伴奏.mp3

    【电子设计竞赛】电赛全面指南:竞赛流程、参赛要求与常见问题解答文档的主要内容

    内容概要:电子设计竞赛(电赛)是旨在培养学生创新能力、实践能力和团队合作精神的科技竞赛。文章详细介绍了电赛的目的、流程、参赛要求及常见问题解答。竞赛目的在于通过解决实际问题激发创新思维、提升实践技能、增强团队合作和促进学术交流。竞赛流程分为报名、准备、竞赛、评审和颁奖五个阶段。参赛要求包括团队组成(3-5名学生,可跨专业组队)、配备指导老师、选择符合规定的项目主题以及确保作品符合技术规范。常见问题解答涵盖参赛专业限制、所需准备材料、评审标准和培训指导等方面; 适合人群:对电子技术感兴趣并希望提升自身能力的大学生; 使用场景及目标:①为有意参赛的学生提供详细的参赛指南;②帮助学生了解竞赛流程和要求,提前做好充分准备; 阅读建议:本文为有意参加电赛的学生提供了全面的信息和指导,读者应重点关注竞赛流程、参赛要求及评审标准等内容,以便更好地准备竞赛。

    自然语言处理系列-安装nltk-data和punkt库

    NLTK 是一个广泛使用的 Python 库,专注于自然语言处理(NLP)。它提供了许多工具和算法来处理文本数据,例如分词、词性标注、句法分析等。然而,这些功能通常需要依赖大量的语言数据(如语料库、词典、预训练模型等),这些数据被统称为 NLTK 数据资源 。 主要内容: a. 语料库(Corpora) 这些是用于训练和测试 NLP 模型的文本数据集合。 示例:gutenberg(古登堡计划的书籍)、brown(布朗语料库)、reuters(路透社新闻语料库)等。 b. 词典与词汇资源(Lexical Resources) 包括词频表、同义词词典(如 WordNet)、停用词列表等。 示例:wordnet(WordNet 同义词数据库)、stopwords(多语言停用词列表)。 c. 预训练模型(Pre-trained Models) 包含一些常用的 NLP 模型,例如分词器、词性标注器、命名实体识别器等。 示例:punkt(用于句子分割的预训练模型)、averaged_perceptron_tagger(词性标注器)。 d. 其他资源 包括一些辅助工具和配置文件,用于支持 NLTK 的各种功能。

    【Python编程】Python爬虫基础教程:网络数据抓取与解析流程及应用实例

    内容概要:本文介绍了Python爬虫的基础知识,包括定义、优势、基本流程、常用库以及注意事项。爬虫是一种自动抓取网页信息的程序,Python因其简洁的语法、强大的库支持和跨平台特性成为爬虫开发的理想选择。文章详细讲解了爬虫的基本流程:发送请求、解析内容、存储数据和异常处理,并列举了requests、BeautifulSoup、Scrapy、lxml等常用库的功能。最后给出一个简单示例演示爬取网页标题的过程,同时强调了遵守robots.txt协议、设置合理请求间隔、处理反爬虫机制等注意事项。; 适合人群:对Python爬虫感兴趣的初学者或有一定编程基础的技术人员。; 使用场景及目标:①了解爬虫的工作原理和应用场景;②掌握Python爬虫的基本开发流程和常用库的使用方法;③能够编写简单的爬虫程序,为后续的数据分析、机器学习等任务提供数据支持。; 阅读建议:读者应结合实际案例进行练习,在理解理论的同时注重实践操作,确保能灵活运用所学知识。

    西门子PLC博途V17与WinCC 7.5sp2高效工程模板:多重背景编程与结构变量应用

    内容概要:本文详细介绍了基于西门子PLC博途V17和WinCC 7.5sp2的一套高效工程模板。博途部分利用多重背景技术和梯形图+SCL混合编程,极大提升了编程效率和维护简便性。WinCC部分通过结构变量和面板实例,简化了人机界面的组态工作。此外,模板还包括丰富的功能库如PID控制、语音报警、报表生成功能等,显著增强了系统的实用性和用户体验。 适合人群:自动化领域的工程师和技术人员,尤其是初学者和有一定经验但仍需提高效率的从业者。 使用场景及目标:适用于工业自动化项目的快速开发与部署,旨在减少重复劳动,提高开发效率,缩短项目周期。通过使用该模板,工程师能够更快地上手并掌握先进的编程技巧和组态方法。 其他说明:文中提供了具体的代码示例和实际应用场景,有助于读者更好地理解和应用这些技术。同时提醒用户注意版权和使用权限的问题。

    工作簿7777.xlsx

    工作簿7777.xlsx

    立式插秧机sw16可编辑_三维3D设计图纸_包括零件图_机械3D图可修改打包下载_三维3D设计图纸_包括零件图_机械3D图可修改打包下载.zip

    立式插秧机sw16可编辑_三维3D设计图纸_包括零件图_机械3D图可修改打包下载_三维3D设计图纸_包括零件图_机械3D图可修改打包下载.zip

    稳压罐sw16_三维3D设计图纸_包括零件图_机械3D图可修改打包下载_三维3D设计图纸_包括零件图_机械3D图可修改打包下载.zip

    稳压罐sw16_三维3D设计图纸_包括零件图_机械3D图可修改打包下载_三维3D设计图纸_包括零件图_机械3D图可修改打包下载.zip

    电气设备故障仿真:开关设备故障仿真.zip

    电子仿真教程,从基础到精通,每个压缩包15篇教程,每篇教程5000字以上。

    电路仿真:电路优化设计.zip

    电子仿真教程,从基础到精通,每个压缩包15篇教程,每篇教程5000字以上。

    【JavaWeb详解-Interceptor】基于SpringMVC的Interceptor拦截器

    内容概要:文章详细介绍了拦截器(Interceptor)的工作机制及其在HTTP请求响应全流程中的作用,包括在请求到达目标处理器之前、处理器处理请求之后以及视图渲染之前执行特定操作。拦截器的应用广泛,如日志记录、权限控制、性能监控、请求参数处理和身份验证与授权等。文中还提供了创建拦截器的方法,可以通过实现`HandlerInterceptor`接口或继承`HandlerInterceptorAdapter`类来创建,并且展示了如何配置拦截器,将其添加到配置中以拦截所有请求,还可以通过`@Order`注解配置拦截器的执行顺序。多个拦截器按照配置顺序依次执行其`preHandler`、`postHandler`和`afterCompletion`方法,确保请求处理流程的有序性和灵活性。 适合人群:具有一定Java Web开发经验,尤其是熟悉Spring框架的开发者。 使用场景及目标:①理解拦截器在Web应用中的工作原理;②掌握如何创建和配置拦截器以实现特定功能;③学习如何利用拦截器实现如日志记录、权限控制等功能,提升Web应用的安全性和性能。 阅读建议:在学习过程中,应结合实际项目需求,理解每个拦截器方法的作用,并尝试在自己的项目中实现相应的拦截器,以加深对其工作机制的理解。

    基于Matlab的预测不确定性仿真:置信区间计算与可视化

    内容概要:本文详细介绍了如何使用Matlab进行预测不确定性的仿真,重点讲解了置信区间的计算方法及其可视化。文章通过具体的代码示例展示了如何计算区间覆盖率(PICP)和区间平均宽度百分比,并提供了多种优化技巧,如使用norminv函数计算正态分布分位数、动态计算标准差以及分位数回归等。此外,还分享了一些常见的错误和改进建议,帮助新手快速掌握这一技能。 适合人群:初学者和有一定编程基础的Matlab用户,特别是那些希望深入了解预测不确定性和置信区间计算的人。 使用场景及目标:① 学习如何使用Matlab进行预测不确定性的仿真;② 掌握置信区间的计算方法及其可视化;③ 提高预测模型的可靠性和准确性。 其他说明:文中提供的代码可以直接应用于实际数据,只需替换示例数据即可。同时,文中还提到了一些高级技巧,如动态标准差计算和分位数回归,可以帮助用户进一步优化预测模型。

Global site tag (gtag.js) - Google Analytics