基于时序逻辑的工作流建模与分析方
- 格式:pdf
- 大小:147.55 KB
- 文档页数:6
网络动力学建模与时序分析网络动力学建模与时序分析是一门研究网络系统中节点行为和相互作用的学科,旨在揭示网络系统中的时序规律和行为模式。
通过对节点之间的相互作用进行建模,可以更好地理解和预测网络系统中的各种现象和现象。
本文将对网络动力学建模与时序分析进行深入研究,探讨其在不同领域中的应用。
首先,我们将介绍网络动力学建模的基本概念。
网络动力学建模是一种描述节点之间相互作用的数学框架。
在这个框架中,节点可以是个体、组织、城市或其他实体,而边则表示节点之间的连接或关系。
通过对这些连接进行数学描述,可以揭示出系统中各个节点之间的相互作用规律。
在进行网络动力学建模时,我们需要选择适当的数学方法和工具。
常见的方法包括微分方程、差分方程、随机过程等等。
而工具则包括MATLAB、Python等编程语言以及相关软件包。
其次,我们将介绍时序分析在网络动力学研究中的应用。
时序分析是指对时间序列数据进行统计和分析的方法。
在网络动力学研究中,时序分析可以帮助我们揭示网络系统中的时序规律和行为模式。
例如,我们可以利用时序分析方法来研究社交网络中的信息传播。
通过对信息传播过程进行建模,并对时间序列数据进行分析,我们可以揭示信息在社交网络中的传播速度、路径和规模等特征。
此外,时序分析还可以帮助我们预测和控制网络系统中的行为。
通过对时间序列数据进行预测建模,我们可以预测未来的节点行为和相互作用,并采取相应措施来优化系统性能。
最后,我们将介绍网络动力学建模与时序分析在不同领域中的应用。
网络动力学建模与时序分析已经广泛应用于社会科学、物理学、生物学等领域。
在社会科学领域,研究人员利用网络动力学建模与时序分析方法来研究人类社会系统中节点之间的相互作用规律。
例如,在经济领域,研究人员可以利用这些方法来研究市场波动和金融风险等问题。
在物理学领域,研究人员利用这些方法来研究复杂物理系统中的相互作用规律。
例如,在复杂网络中,研究人员可以通过网络动力学建模与时序分析方法来研究节点之间的相互作用规律,以及网络系统的稳定性和演化过程。
业务流程建模方法
业务流程建模是指将一个复杂的业务过程进行分解并描述成一系列的活动、决策和分支,并以图形化的方式展示出来,以便更好地理解和分析业务流程,从而提高业务流程的效率和质量。
常见的业务流程建模方法有:
1. 流程图:采用流程图的形式将业务过程中的活动、决策和分支进行可视化展示,以便更好地理解和分析。
2. 事件流图:将业务过程中的事件和活动以及它们之间的关系进行可视化展示,以便更好地理解和分析业务流程的整体演变过程。
3. 数据流图:将业务过程中的数据流动和处理过程进行可视化展示,以便更好地理解和分析业务流程的数据流转和处理方式。
4. 时序图:通过时序图展示业务过程中的活动和事件之间的顺序关系,以便更好地理解和分析业务流程的执行顺序和流转路径。
5. UML建模:利用UML(统一建模语言)进行业务流程建模,包括使用用例图、活动图、时序图等来描述业务过程的各个方面。
以上方法可以根据具体的业务场景和需求来选择,用于对业务流程进行建模和分析,以便更好地优化和改进业务流程。
基于TLA的业务流程形式化分析摘要:本文先分析了业务流程形式化分析与验证的主要研究现状,提出基于tla的业务流程形式化分析的优势。
探讨如何对tla 理论体系进行扩展,以bpel为例研究如何对主流的业务流程的描述语言进行转换。
关键词:行为时序逻辑;业务流程;形式化分析;bpel中图分类号:tp301文献标识码:a文章编号:1007-9599 (2013) 07-0000-021引言行为时序逻辑tla[1,2]是由leslielamport于1990年提出的一种基于行为逻辑与线性时态逻辑的新的逻辑方法。
通过leslielamport与一些学者的研究,compaq、microsoft公司检测工具的开发,行为时序逻辑tla,其描述语言tla+[1,2]与检测工具tlc[1,2]逐步得以完善。
本文对如何使用行为时序逻辑对电子商务环境下的业务流程进行形式化分析进行了探讨。
2业务流程形式化分析与验证的研究现状近期的研究开始关注对业务流程的规范和验证,如利用petri网、自动机、进程代数规范和验证业务服务流程的bpel模型[3,4]。
xiaochuanyi[5]利用有色petri网来设计和验证web业务服务流程,一个流程可以转换到一个对等的cp-nets模型,然后用cpn工具分析验证,检验流程的正确性。
yanpingyang[6,7]把bpel转换到层次有色网,再利用cpn工具验证。
chunouyang[8]提供了比较完整地从bpel控制流到petri网的映射。
xiangfu[9]把bpel转换成自动机,进而转换成promela语言,再利用模型验证工具spin进行验证。
wombacher等人[10]用一种扩展逻辑表达式的自动机于对业务进行形式化建模,kochutk等人[11]提出一个基于petri网的设计和验证框架,可用于bpel进程的可视化、创建和验证,文献[12]给出了一套完整的、形式化的petri网语义,将bpel进程自动转换为petri网模型,可用多种验证工具对bpel进程做自动分析。
时间序列建模的基本步骤1.收集数据:在时间序列建模之前,首先需要收集相关的观测数据。
这些数据可以来自各种渠道,如历史记录、生产指标、销售数据等。
确保数据具有时间序列结构,即按时间顺序排列的数据点。
2.数据预处理:一旦拥有了时间序列数据,接下来需要对数据进行预处理。
预处理方法包括去除异常值、缺失值的处理、平滑以及聚合等。
这有助于确保数据的准确性和一致性,并为后续分析做好准备。
3.可视化分析:在进行模型建立之前,进行可视化分析是很重要的。
通过绘制时间序列数据的图表,可以快速了解数据的趋势、季节性和周期性等。
这有助于选择适当的模型和方法来捕捉数据的特征。
4.模型选择:根据可视化分析的结果,选择适合的时间序列模型。
常用的时间序列模型包括平稳性自回归移动平均模型(ARIMA)、季节性自回归移动平均模型(SARIMA)、指数平滑法、回归模型等。
不同的模型适用于不同类型的时间序列数据。
选择适当的模型可以提高预测准确性。
5.参数估计:选择了适当的模型后,需要估计模型的参数。
这可以通过最大似然估计、方法的最小二乘估计等方法来实现。
参数估计的目标是找到可以最好地拟合观测数据的参数值。
6.模型检验:估计模型的参数后,需要对模型进行检验。
这可以通过检查残差的白噪声特性和模型的拟合优度来实现。
合理的模型应该具有平稳的残差序列,也就是说,残差的均值为零,方差为常数。
此外,残差序列应该随机分布,没有明显的自相关性。
7.模型预测:在完成模型检验后,可以使用该模型进行未来值的预测。
这可以通过拟合模型并应用之前观测到的数据得到。
模型的预测结果可以用于决策制定和规划。
8.模型评估和更新:一旦进行了模型预测,需要对模型的预测准确性进行评估。
这可以通过计算预测值与实际值之间的差异来实现。
如果模型的预测准确性不佳,可以进行模型参数的更新或选择其他模型。
以上是时间序列建模的基本步骤。
在实际应用中,可能需要根据具体情况进行微调和调整。
此外,还可以使用复杂的模型和技术来提高预测准确性,如自适应预测方法、机器学习方法等。
时序报告分析1. 引言时序报告分析是一种通过对时间序列数据进行分析和预测的方法。
它可以帮助我们发现数据中的趋势和周期性,并预测未来的走势。
本文将介绍时序报告分析的步骤,并通过一个实例说明如何应用这些步骤来分析时序数据。
2. 数据收集和准备首先,我们需要收集时序数据,并对其进行准备。
收集数据可以通过各种方式完成,例如通过传感器、日志文件、数据库等。
在收集数据之后,我们需要对数据进行清洗和预处理,包括去除异常值、缺失值处理、数据平滑等。
3. 数据可视化在进行时序报告分析之前,我们需要对数据进行可视化,以便更好地理解数据的特征和趋势。
常用的数据可视化方法包括折线图、散点图、柱状图等。
通过可视化,我们可以发现数据中的季节性、趋势性和周期性。
4. 时间序列分解时间序列分解是将时序数据分解为趋势、季节和残差三个部分的过程。
趋势表示数据的长期变化趋势,季节表示数据的周期性变化,残差表示数据中的随机波动。
通过时间序列分解,我们可以更好地理解数据的结构。
5. 平稳性检验在进行时序报告分析之前,我们需要确保数据是平稳的。
平稳性是指数据的统计特性在时间上是稳定的,例如均值和方差不随时间变化。
平稳性检验可以通过统计方法和图形方法完成,例如ADF检验、单位根检验等。
6. 模型选择在进行时序报告分析时,我们需要选择适合数据的模型。
常用的时序模型包括ARIMA模型、SARIMA模型、指数平滑模型等。
选择模型的方法包括观察ACF和PACF图、模型拟合优度指标等。
7. 模型训练和预测选择好模型之后,我们需要使用历史数据进行模型训练,并使用训练好的模型进行未来数据的预测。
模型训练可以通过最大似然估计等方法完成,预测可以通过模型的递推关系得到。
8. 模型评估在进行模型训练和预测之后,我们需要评估模型的预测效果。
常用的评估指标包括均方根误差(RMSE)、平均绝对误差(MAE)等。
通过评估模型的预测效果,我们可以判断模型的准确性和稳定性。
过程视图是工作流模型的核心视图。
它描述企业的业务流程,定义业务过程中包含的活动以及这些活动之间的逻辑关系。
活动和活动间以连接弧表示控制关系。
通过描述活动的基本属性,如活动由谁执行,有哪些人员、组织或盟员企业负责执行,活动执行需要的软件(如应用程序)和硬件(如机床设备)资源,以及活动的触发条件、执行状态等,可以建立过程视图、资源视图和组织视图的关系。
过程视图是本文研究的主要内容,本文通过ECA规则来表达过程视图。
基于ECA规则和元操作的工作流建模原理3.1 工作流模型的结构图:工作流模型的结构1.1.1过程视图过程视图是工作流模型的核心视图。
它描述企业的业务流程,定义业务过程中包含的活动以及这些活动之间的逻辑关系。
活动和活动间以连接弧表示控制关系。
通过描述活动的基本属性,如活动由谁执行,有哪些人员、组织或盟员企业负责执行,活动执行需要的软件(如应用程序)和硬件(如机床设备)资源,以及活动的触发条件、执行状态等,可以建立过程视图、资源视图和组织视图的关系。
过程视图是本文研究的主要内容,本文通过ECA规则来表达过程视图。
1.1.2组织视图组织视图描述企业中的组织单元和组织单元间的关系。
组织单元是具有一定功能和责任的组织实体,一般会承担过程模型产生的各种任务。
组织单元之间往往存在从属或协作关系,形成一定的对应关系。
本文对组织视图描述中,采用一种面向对象的关系模型,不同于传统的层次结构。
是在组织模型中引入类的概念(如角色类、组织类、人员类、职位类等),建立类之间的关系模型,支持层次化的查找和匹配规则,便于工作流的任务分配和执行者绑定。
1.1.3资源视图资源视图描述企业中资源的类型以及资源实体的属性。
资源是工作流模型中非常重要的一个概念,是活动可以执行的必备条件。
资源类型可以是执行活动所需的软件和硬件设施等,或者是活动执行后产生的新的物理实体。
组织视图和资源视图之间存在着映射关系,即每一个资源实体都有与其对应的责任组织单元,该组织单元负责对此资源实体的使用和维护。
时序逻辑电路的设计与实现时序逻辑电路是数字电路中的一种重要类型,它可以根据输入信号的变化和先后顺序,产生相应的输出信号。
本文将介绍时序逻辑电路的设计与实现,并探讨其中的关键步骤和技术。
一、概述时序逻辑电路是根据时钟信号的变化产生输出信号的电路,它可以存储信息并根据特定的时序条件进行信号转换。
常见的时序逻辑电路包括触发器、计数器、移位寄存器等。
二、时序逻辑电路的设计步骤1. 确定需求:首先需要明确所要设计的时序逻辑电路的功能和性能需求,例如输入信号的种类和范围、输出信号的逻辑关系等。
2. 逻辑设计:根据需求,进行逻辑设计,确定逻辑门电路的组合方式、逻辑关系等。
可以使用真值表、状态转换图、状态表等方法进行设计。
3. 时序设计:根据逻辑设计的结果,设计时序电路,确定触发器的类型和触发方式,确定时钟信号的频率和相位,以及信号的启动和停止条件等。
4. 电路设计:将逻辑电路和时序电路整合,并进行布线设计。
通过选择合适的器件和元器件,设计稳定可靠的电路。
5. 功能验证:对设计的时序逻辑电路进行仿真验证,确保电路的功能和性能符合设计要求。
三、时序逻辑电路的实现技术1. 触发器:触发器是时序逻辑电路的基本组成部分,常见的触发器有RS触发器、D触发器、T触发器等。
通过组合和串联不同类型的触发器,可以实现不同的功能。
2. 计数器:计数器是一种特殊的时序逻辑电路,用于计数和记录输入脉冲信号的次数。
常见的计数器有二进制计数器、十进制计数器等。
3. 移位寄存器:移位寄存器是一种能够将数据向左或向右移位的时序逻辑电路。
它可以在输入端输入一个位串,随着时钟信号的变化,将位串逐位地向左或向右移位,并将移出的位存储起来。
四、时序逻辑电路的应用领域时序逻辑电路广泛应用于数字系统中,例如计算机中的控制单元、存储器等。
它们在数据处理、信息传输、控制信号处理等方面发挥着重要作用。
总结:时序逻辑电路的设计与实现是一项复杂而重要的任务。
在设计过程中,需明确需求、进行逻辑设计和时序设计,并通过合适的触发器、计数器和移位寄存器等元件来实现功能。
时序数据分析方法综述时序数据分析是指对时间序列数据进行建模、分析和预测的一种方法。
时间序列数据是按照时间顺序排列的数据集合,它是许多领域中常见的数据类型,例如金融、经济、气象和交通等。
时序数据分析可以帮助我们了解数据的趋势、周期性和相关性,从而做出更准确的预测和决策。
1.基本统计方法:基本统计方法是时序数据分析的起点,它可以帮助我们了解数据的基本特征和分布情况。
基本统计方法包括均值、方差、标准差、最小值、最大值等指标的计算,以及对数据的可视化分析,如折线图、柱状图和箱线图等。
2.时间序列模型:时间序列模型是对时序数据进行建模和预测的一种方法。
常见的时间序列模型包括自回归平均移动平均模型(ARMA)、自回归集成移动平均模型(ARIMA)、季节性自回归集成移动平均模型(SARIMA)、指数平滑法(ES)和灰色预测模型等。
这些模型可以捕捉到时序数据中的趋势、周期性和季节性等特征,从而进行预测和分析。
3.神经网络模型:神经网络模型是一种强大的时序数据建模方法,它可以处理非线性和复杂的时间序列关系。
常见的神经网络模型包括循环神经网络(RNN)、长短期记忆网络(LSTM)和门控循环单元(GRU)等。
这些模型可以学习时间序列数据中的长期依赖关系和非线性规律,从而提高预测的准确性。
4.波动性分析:波动性分析是对时序数据中波动性进行研究和分析的方法。
常见的波动性分析方法包括波动率计算、频谱分析和小波分析等。
这些方法可以帮助我们了解数据的波动性、周期性和噪声成分,从而进行风险分析和决策。
5.频域分析:频域分析是一种将时序数据转化到频域进行分析的方法。
常见的频域分析方法包括傅里叶变换(FFT)和功率谱分析等。
这些方法可以帮助我们了解数据的频率成分和周期性变化,从而进行信号分析和滤波处理。
6.异常检测:异常检测是对时序数据中异常值进行识别和分析的方法。
常见的异常检测方法包括均方差控制图、灰色关联度分析和支持向量机(SVM)等。
时间序列建模是根据一系列按时间顺序排列的观测值来预测未来的数值或者分析过去的趋势和模式的一种方法。
下面将介绍时间序列建模的相关参考内容。
1.数据收集与预处理:时间序列的建模首先需要收集数据。
数据的收集可以通过调查统计、传感器监测、数据库查询等方式来获得。
收集到的数据需要经过预处理,包括数据清洗、去除异常值或噪声、处理缺失值等。
常用的预处理方法包括平滑处理、插值填补、异常检测和修正等。
2.数据可视化和描述统计分析:在时间序列建模之前,可以通过绘制时序图、箱线图、自相关图、偏自相关图等可视化手段来观察数据的特征和趋势。
此外,还可以计算数据的基本统计量,如均值、方差、偏度、峰度等,以了解数据的分布和特征。
3.时间序列模型选择:根据数据的特点和趋势,选择适合的时间序列模型。
常用的时间序列模型包括平稳时间序列模型(AR、MA、ARMA、ARIMA模型)、非平稳时间序列模型(趋势模型、季节模型、指数平滑模型、ARIMA模型的扩展模型等)和面板数据模型。
4.参数估计和模型检验:对选择的时间序列模型,需要对模型的参数进行估计。
常用的参数估计方法有最小二乘估计、最大似然估计、贝叶斯估计等。
同时,还需要对模型进行检验,如检验模型的残差序列是否平稳、白噪声检验、残差的正态性检验等,以评估模型的拟合程度和有效性。
5.模型预测和评估:根据已建立的时间序列模型,进行未来数值的预测。
可以使用模型自身进行预测,或者结合外部因素进行预测。
在预测的过程中,需要选择合适的预测准则和评估标准,如均方误差(MSE)、平均绝对误差(MAE)、预测精度(APE)等,来衡量模型的预测能力和准确性。
6.模型应用和结果解释:经过以上步骤的时间序列建模,得到的模型可以应用于实际预测或分析中。
根据模型的结果,可以解释时间序列数据的趋势、周期性、季节性等特征,为决策提供依据。
除了以上的步骤和参考内容,还可以结合具体的案例和实践经验,进行时间序列建模。
此外,还可以使用一些统计软件(如R、Python中的statsmodels、MATLAB中的Econometrics Toolbox等)或时间序列分析平台(如EViews、SAS、SPSS等)来辅助进行时间序列建模。
V ol.16, No.2 ©2005 Journal of Software 软 件 学 报 1000-9825/2005/16(02)0184 基于工作流的知识流建模与控制∗ 张晓刚1+, 李明树1,21(中国科学院 软件研究所 互联网软件技术实验室,北京 100080) 2(中国科学院 软件研究所 计算机科学重点实验室,北京 100080)Workflow-Based Knowledge Flow Modeling and ControlZHANG Xiao-Gang 1+, LI Ming-Shu 1,21(Laboratory for Internet Software Technologies, Institute of Software, The Chinese Academy of Sciences, Beijing 100080, China)2(Laboratory of Computer Science, Institute of Software, The Chinese Academy of Sciences, Beijing 100080, China) + Corresponding author: Phn: +86-10-82620803, E-mail: xiaogang@, Received 2003-09-28; Accepted 2003-11-11Zhang XG, Li MS. Workflow-Based knowledge flow modeling and control. Journal of Software , 2005,16(2): 184−193. /1000-9825/16/184.htmAbstract : Knowledge flow is the knowledge creation, distribution, and reuse among participants. In knowledge intensive organizations, business process control and knowledge assess management are closely related to each other. Workflow management is an important technology for business process control. Yet knowledge management mechanisms can not be represented by current workflow process definition meta models. An innovative extended workflow process definition meta model is first proposed for integrating the above two aspects. Based on that, modeling and control of knowledge flows are studied. A knowledge flow modeling approach is proposed by using five kinds of knowledge flow components to represent knowledge distribution and reuse, cooperation and communication among participants. To deal with dynamic elements in knowledge flows, an adaptive knowledge flow control approach with corresponding algorithms is proposed based on resource constraints, changes of knowledge requirements, and time constraints. This paper presents a beneficial approach for the effective integration of workflow and knowledge management technologies.Key words : knowledge flow; workflow; workflow meta process model; knowledge flow engine; knowledgemanagement摘 要: 知识在多个参与者之间的产生、传播与应用称为知识流.在知识密集型组织中,对业务过程的控制和对知识资产的管理具有紧密的依赖关系.工作流管理是实现业务过程控制的重要技术.当前的工作流过程元模型不支持对知识管理机制的表示.为此,提出了一个扩展的工作流过程元模型,以支持业务过程控制与知识管理的集成.在此∗ Supported by the National Natural Science Foundation of China under Grant No.60273026 (国家自然科学基金); the National High-Tech Research and Development Plan of China under Grant Nos.2001AA113180, 2002AA413520 (国家高技术研究发展计划(863))作者简介: 张晓刚(1972-),男,辽宁鞍山人,博士生,主要研究领域为智能软件工程,知识管理;李明树(1966-),男,博士,研究员,博士生导师,主要研究领域为智能软件工程,实时系统.张晓刚等:基于工作流的知识流建模与控制185基础上,对知识流的建模与控制进行了深入的研究.提出了一种知识流建模方法,通过5类知识流单元对知识传递与重用、人员协作与交流进行表示.针对知识流中的动态因素,研究了基于资源约束、知识需求变化和时间约束的知识流控制方法,以实现自适应的知识流控制,并给出了有关算法.为工作流技术与知识管理技术的有效结合提供了一个有益的途径.关键词: 知识流;工作流;工作流过程元模型;知识流引擎;知识管理中图法分类号: TP311文献标识码: A工作流技术是组织实现业务过程建模、重组和执行的重要技术,其作用主要包括:改善对过程的控制,便于异步和并发地开展业务,提高工作效率,降低业务成本,提高服务质量和用户满意度等[1].有鉴于此,工作流技术在各类组织中得到了广泛的应用,对知识密集型组织的业务发展也起到了极大的推动作用.随着技术的发展和竞争的加剧,知识管理成为知识密集型组织中业务过程管理以外的另一项重要实践内容.通过知识管理,组织能够将业务过程中产生的大量知识转化为知识资产,以此获得持久的回报.通常,把知识在多个参与者(组织内或组织间)之间按照一定的规则或流程的产生、传播与应用称为知识流(knowledge flow).对知识流的管理是一种积极的知识管理,能够促使组织经验和能力跨越时间、空间和组织机构进行传递[2],从而有效地改善其业务活动的功效和性能.因此,为实现业务过程控制和知识管理,需要工作流技术与知识流技术的有机结合,以协调解决以下3个关键问题:(1) 将业务过程控制与知识管理过程相集成,(2) 促进知识成果的及时共享,促进人员间的协作与交流,(3) 对人员知识需求的不确定性、知识产生的动态性的有效处理.在工作流与知识流的结合方面已经有了一些相关研究.文献[3]提出了一种面向知识共享的知识流模型,通过一个规则层建立工作流与知识流的映射,从而实现二者的集成.文献[4]将知识应用与交互业务看成一种复杂的协作式工作流,研究了对应于知识聚合与再生的过程单元,并在此基础上讨论了该类工作流系统的建模与控制.此外,通常采用信息发布技术中的推送(push)方法来实现简单的知识流管理,即将信息自动向相关人员进行传递,以减少人员在搜索方面的投入,并避免不必要的知识传递;识别人员的知识需求是此技术的主要研究内容.文献[5]研究了一种基于动态组织邮件列表和特征匹配实现信息过滤与传播的方法.文献[6]以企业模型为基础,根据组织任务间的逻辑关联来判断人员或角色的知识需求,进而实现人员间的知识传递.实际上,由于工作流技术中的主体是业务过程,因而,它在实现对显式的业务过程知识进行管理(通过工作流过程定义)的同时,并不支持对普遍意义上的知识进行灵活管理(即知识流的管理).同时,已有的相关研究中还缺乏系统的知识流建模与控制方法.因而,我们研究了一种以扩展的工作流过程元模型为基础对知识流进行建模与控制的方法,基于对工作流有关信息的充分利用,实现工作流技术与知识流技术的有机结合,从而有效地解决了上述3个关键问题.本文第1节论述一个扩展的工作流过程元模型.第2节提出一种相应的知识流建模方法,通过5类知识流单元来对组织知识传递和重用、人员间的协作与交流进行系统地表示.针对业务过程和工作流中的动态因素,第3节论述知识流的自适应控制方法与有关算法,以保证知识流的有效性.1 工作流过程元模型的扩展工作流管理联盟(workflow management coalition,简称WfMC)定义了一个工作流过程元模型(如图1所示),通过活动、转换条件、角色、工作流相关数据、被调应用5类元素描述工作流的组成及逻辑关系[7].该模型适于描述具有标准、稳定的流程和输入、输出的业务,以利于业务过程能够一致、准确、高效、可靠地执行.工作流技术主要关注于对业务过程的描述与控制,知识在组织层次的管理不是其研究目标.因而,已有的工作流过程元模型并不支持对知识产生、传播和应用等知识管理各环节的表示.为此,我们对WfMC的工作流过程元模型进行相应的扩展,以使知识管理机制能够在工作流模型中得到适宜的描述.为对工作流过程元模型进行扩展,我们首先对知识流的特征进行分析.人员、知识需求、知识是知识流中的重要元素.知识是和人员相关的,工作流中的被调应用需要的不是知识,而是输入信息或数据.知识需求来源186 Journal of Software 软件学报 2005,16(2) 于知识应用的场景(即特定的业务活动)和待解决的问题,对知识需求的表示和存储有利于知识的发现和重用;同时,以知识需求为依据联系起相关人员是实现隐式知识管理和知识传递的关键.在组织中,知识需求、知识和人员处于动态变化中,具有不确定性和随机性,比如新需求的提出、人员协作中新知识的产生、人员的状态变化(如人员的增减),这些都将对知识流的结构和执行情况产生影响.我们通过图2对前述知识流特征进行说明.图2中,Actor 轴表示具体的组织人员,Knowledge Requirement 轴、Knowledge 轴分别表示知识需求和知识.知识需求和知识的交点(如点c )表示二者之间的满足关系.图中的点a ,b 蕴含了知识流的动态性:人员A 1和A 2具有同一知识需求R 1,当点a 的需求提交时间晚于点b 的需求提交时间并先于后者正常停止时,A 1获取的知识必然需要及时传递给A 2,Fig.1 Workflow meta process model of WfMC图1 WfMC 的工作流过程元模型Fig.2 Dynamic relations among knowledge flow related elements图2 知识流相关元素与元素间动态关系从上面的讨论可知,知识需求与知识之间存在着对应关系.同时,在工作流中,角色与人员之间存在着对应关系.基于此,我们对WfMC 的工作流过程元模型进行扩展,定义了图3所示的扩展工作流过程元模型.该元模型引入了两类新的元素:知识需求和知识流引擎,其他元素的含义与WfMC 的工作流过程元模型中对应元素的含义相一致.知识需求(knowledge requirement),是指角色为完成特定活动而对有关知识的需要,其属性主要有名称、类别、描述、需求人员、所属活动及相应的时间约束等.时间约束与活动执行中的时间约束相关联,以实现与活动执行相同步的知识服务.知识需求与角色之间是多对多的关系,即一个角色在同一活动中可以具有多个知识需求,一个知识需求可以为多个角色所拥有.知识需求可以在工作流的定义阶段基于组织经验和最佳实践而指Actor张晓刚等:基于工作流的知识流建模与控制187定,也可以在工作流的执行阶段由具体的参与人员提出.知识需求中的知识,是指对完成特定活动、实现某个目标具有促进作用的、能够对实践具有指导意义的信息,因而它不同于工作流相关数据,后者只是作为过程活动的附属信息或执行条件来推进工作流实例的执行.Fig.3 Extended workflow meta process model图3 扩展的工作流过程元模型知识流引擎(knowledge flow engine),是指可以为角色使用、满足角色知识需求的处理机制,其属性包括名称、路径、执行参数等.它可以通过知识需求与角色建立联系,也可以直接与角色相联系(比如获取角色所提交的知识).知识流引擎根据知识需求建立和执行知识流,并调整知识流的结构,为角色在活动执行中提供及时的知识服务.知识流引擎应具有对知识需求、知识、组织人员等要素动态变化的自适应性.将知识流的管理封装于知识流引擎中,有利于对已有的工作流管理系统进行扩展,实现对本元模型的支持.扩展后的工作流过程元模型为业务过程控制和知识管理的紧密结合提供了基础.它能够描述参与人员在执行活动过程中的知识需求和处理机制,以及时提供完成活动所需的必要知识及帮助.同时,业务过程信息为知识和知识需求的分析提供了可利用的上下文信息,有利于知识流引擎保证知识服务的质量.2 知识流建模2.1 知识需求作为图3所示的扩展的WfMC工作流过程元模型所引入的元素之一,知识需求对于知识流建模和后面的知识流控制具有重要意义,因而需要对其作进一步分析.知识在知识源与知识接受者之间的传递以知识需求为基础,因而知识需求是知识流中的决定性因素.根据知识需求产生的时间,我们将其分为预定义知识需求和运行时知识需求两类,定义如下:定义1(预定义知识需求). 我们称在工作流的定义阶段,基于组织经验和最佳实践,为工作流的组成活动所指定的知识需求为预定义知识需求.定义2(运行时知识需求). 我们称在工作流实例运行阶段,由活动具体参与人员所提出的知识需求为运行时知识需求.这两类知识需求与工作流的两个阶段相对应,为工作流与知识流之间的紧密关联提供了基础.2.2 知识流建模在明确知识需求的前提下,知识源、知识、知识接受者之间得以建立关联,形成由知识源到知识接受者的知识流.同时,这些元素均具有集合的形式,从而使得元素间存在多重、复杂的关联.定义3(知识流). 知识流是一个5元组KF=〈S,R,K,D,A〉,其中S={s i:i=1,…,|S|},表示知识源的有限集,知识源可以是人员、人员组或组织知识库.R={r j:j=1,…,|R|},表示知识需求的有限集.K={k m:m=1,…,|K|},表示需传递的知识的有限集;知识依托或存在于知识源中.D={d n:n=1,…,|D|},表示知识接受者的有限集,可以是人员或人员组;188 Journal of Software 软件学报 2005,16(2) 在特定的组织内,有D ⊆S ,即知识接受者是知识源的子集.A ⊆(S ×K )∪(K ×D ),表示连接知识源与知识、知识与知识接受者的有向弧a 的有限集.在上述定义中,知识源S 中的人员、知识接受者D 均对应于工作流中的角色,知识需求R 和知识K 均产生于工作流所描述的业务过程.这些特征反映了知识流与工作流之间紧密的内在关联.为了细致地描述知识流组成元素之间的逻辑关系,反映知识流的多方面特征,进而有利于对知识流的控制,我们抽象出知识流单元的概念,以其作为知识流的基本组成单位.定义4(知识流单元). 知识流单元(knowledge flow component,简称KFC),是指通过有向弧a 连接起来的知识源S ′、知识k m 、知识接受者D ′,以满足(或部分满足)知识需求r j ,表示为a (S ′,k m ,D ′,r j ).其中,知识和知识需求具有唯一性,|S ′|>=1,|D ′|>=1,且D D'S,S'⊆⊆.我们通过节点和弧两类对象对知识流中的元素进行表示,为知识流提供图形表示方法(如图4所示).节点包括两种:实体节点(entity node,简称EN)和知识节点(knowledge node,简称KN).实体节点代表知识源和知识接受者.空节点(null node,简称NN)是一种特殊的实体节点,在没有适用的实体节点时,用空节点来保持结构的完整性.知识节点表示需要传递的知识,分为实知识节点(real-knowledge node,简称RKN)和虚知识节点(virtual-knowledge node,简称VKN);RKN 表示当前可用的知识;VKN 表示当前不可用的知识,比如计划内的并且尚未完成的报告文档,或者知识接受者当前不具备访问权限的知识.弧建立起节点之间的连接,弧上的标签表明连接所满足的知识需求.Entity node Null node Real-Knowledge node Virtual-Knowledge node Labeled-Direct arc Fig.4 Graphical representation of knowledge flow图4 知识流的图形符号表示我们将知识流单元划分为下列5类(如图5所示).(a) Experience flow (b) Standby EF (c) Subscribed KFC(a) 经验流 (b) 备用式经验流 (c) 预订式知识流单元(d) Cooperation-Based KFC (e) Assistant-Based KFC (f) Standby AKFC(d) 基于协作的知识流单元 (e) 基于援助的知识流单元 (f) 备用式AKFC(g) Empty KFC(g) 空知识流单元 Fig.5 Knowledge flow components图5 知识流单元(1) 经验流(experience flow,如图5(a)所示),简记为EF,有|S ′|=1,|D ′|≥1.经验流表示已有的知识能够满足(或部分满足)知识需求,对应于知识重用的情况,以促进有价值信息的及时传递与重用.备用式经验流(standby EF, SEF,如图5(b)所示)是经验流的一种特殊形式,表示已有的知识没有当前接受者.张晓刚等:基于工作流的知识流建模与控制189(2) 预订式知识流单元(subscribed KFC,如图5(c)所示),简记为SFC,其中|S′|=1,|D′|≥1.SFC表示当前没有能够满足知识需求的经验可供重用,通过记录人员的知识需求来保证新出现的相关知识能够及时地传递给接受者.(3) 基于协作的知识流单元(cooperation-based KFC,如图5(d)所示),简记为CFC,有S′=s1+s2+…+s n,D′=d1+d2+…+d n,且S′=D′,即协作的参与者既是知识源,也是知识的接受者;参与者具有相同(或同类)的知识需求(与是否参与同一活动无关),知识将通过相关人员的协作而产生.显然,该类知识流单元蕴含了对工作流中活动输出的描述,从而使其能够在今后的同类活动中得到重用.当n=1时,CFC退化为单一人员独立获取知识的情况.(4) 基于援助的知识流单元(assistant-based KFC,如图5(e)所示),简记为AFC,有S′=s1+s2+…+s i, D′=d1+d2+…+d n,且D′∩S′=∅.AFC表示所需的知识来源于其他具有相关经验或能力的援助者,援助者没有相应的知识需求.基于协作的知识流和基于援助的知识流是现实生活中知识产生的最重要形式,描述了隐式知识的利用途径.AFC中没有知识接受者时,成为备用式AFC(standby AFC,简称SAFC,如图5(f)所示);SAFC中记录了组织中具有特定经验或能力的人员,为隐式知识的持续传递提供了基础.(5) 空知识流单元(empty KFC,如图5(g)所示),简记为EFC,是指当前没有知识提供者和知识接受者的知识流单元,我们用它来表示特定情况下其他几类知识流单元的结构.通过前述几类知识流单元,组织的经验知识、人员的协作关系与能力信息同时得到表示,为各类知识的持续传播和任意时刻组织人员之间的横向交流提供了基础.定义5(知识流KF-r j). 我们称由与知识需求r j相对应的所有知识流单元所组成的知识流单元集合为知识流KF-r j,简记为KF-r j.定义6(知识流KF-r j的初始化). 知识流KF-r j的组成元素可以根据定义4和上面引入的5类知识流单元来确定,我们把这个确定过程称为知识流KF-r j的初始化.算法1是知识流KF-r j的初始化,其中C代表知识流KF-r j中的经验流的集合;kfc1代表C中的任何一个元素,即C={kfc1};kfc2,kfc3,kfc4代表KF-r j中的SFC,CFC,AFC;kfc0代表EFC;E表示知识流单元中的有关元素无对应实体.算法1. 初始化知识流KF-r j.输入:知识需求r j输出:知识流KF-r j的组成知识流单元集合(1) 根据r j在组织知识库中搜索相关的知识集K和所有具有该知识需求的人员集P,搜索具有与知识需求相关的能力和经验且没有知识需求r j的人员集P′.(2) 若K非空,则(2.1) 对K中的每一元素k定义EF,即令kfc1=a(s,k,P,r j)(其中s为k对应的知识源),得到集合C.(2.2) 令SFC为空知识流单元,即kfc2=kfc0.(3) 否则,定义SFC为kfc2=a(E,E,P,r j),并令C为空.(4) 定义CFC为kfc3=a(P,E,P,r j).(5) 若P′为空,则令AFC为空知识流单元,即kfc4=kfc0.(6) 否则,令AFC为kfc4=a(P′,E,P,r j).(7) 得到KF-r j=C∪{kfc2,kfc3,kfc4}.组织中全部已初始化的知识流为KF={KF-r j}.经过初始化的知识流将进入执行阶段,以实现知识的传递和重用,促进人员之间的交流和协作.图6为一个知识流KF-r j的简单实例,相应的经验流集合C为空,因而只包括3种知识流单元SFC,CFC,AFC,图中p1,p2和p3表示参与知识流的具体人员,p1和p2具有相同的知识需求r j(即p1∈P, p2∈P),人员p3为具有相关经验的人员(即p3∈P′).190 Journal of Software 软件学报 2005,16(2) (a) kfc 2 (b) kfc 3 (c) kfc 4Fig.6 A knowledge flow sample图6 知识流示例定义7(知识流的有效性). 知识流的有效性是指组成知识流的知识需求与相关的知识源、知识和人员之间的关联与实际情况相一致,从而使执行中的知识流能够准确地反映人员的知识需求、人员协作与交流的需要.在执行阶段的知识流KF-r j 通过工作流环境获取业务过程执行和组织情况变化的信息.为保证知识流的有效性,需要通过适宜的控制方法对其组成元素进行调整.3 知识流的控制3.1 知识流引擎知识流引擎是前述扩展的工作流过程元模型的重要组成元素,负责与其他元素的交互,实现全部知识流定义、结构管理和执行等功能.图7是我们设计的一个知识流引擎的体系结构.Fig.7 Knowledge flow engine architecture图7 知识流引擎结构各功能模块介绍如下:(1) 知识需求匹配管理.根据用户的知识需求搜索适宜的知识流,并根据是否找到匹配结果调用知识流初始化管理或知识流结构管理.(2) 知识流初始化管理.主要根据人员的知识需求,在组织实体管理、组织知识管理及时钟管理的辅助下完成知识流的初始化工作.(3) 知识流结构管理.根据资源约束、时间约束和知识需求的变化情况自适应地调整相关知识流的结构,保证知识流的有效性.(4) 知识流执行管理.主要根据知识流的实际数据与工作流系统和人员进行交互,提供知识传递服务,并根据需要调用知识流结构管理.(5) 工作流数据分析管理.利用工作流历史数据、当前执行情况以及组织信息,在组织实体管理和组织知识管理的辅助下完成工作流数据的分析,使组织实体数据库和组织知识数据库能够及时反映组织的最新状况.张晓刚等:基于工作流的知识流建模与控制191(6) 组织实体管理.对组织中的人员信息、知识库信息进行分析与维护,为其他有关模块提供底层支持.(7) 组织知识管理.对组织技术经验等信息进行分析与维护,为其他有关模块提供底层支持.(8) 时钟管理.为知识流的初始化、结构管理与执行模块提供时钟参考支持.该知识流引擎中包含3个数据库:知识流数据库、组织实体数据库和组织知识数据库.知识流数据库存储所有知识流信息.组织实体数据库存储组织的人员信息、知识库基本信息(工作状态、访问路径等).组织知识库存储组织积累的技术经验和当前已计划的任务输出信息(来自对工作流数据的分析).知识流数据库、组织实体数据库和组织知识数据库分别通过有关属性建立关联.3.2 知识流的控制知识流的控制需求源自于资源约束(即知识源、知识)的变化、人员知识需求的变化和时间约束三方面,因而需要通过相应的控制机制对相关知识流结构(即组成知识流单元)和有关属性进行调整,以保证知识流的有效性和对环境变化的自适应性.另外,在实际情况中,多种控制方式通常同时发挥作用,而不是互相排斥.3.2.1 基于资源约束的控制基于资源约束的控制是对知识密集型业务过程中知识产生的动态性、知识源或知识的状态变化等不确定因素的反映.根据前述知识需求和知识流之间的对应关系,这种控制总是针对特定知识流KF-r j的组成知识流单元,即C∪{kfc2,kfc3,kfc4}.基于资源约束的控制算法如下.算法2. 根据资源约束对知识流KF-r j进行控制.输入:发生资源约束变化的知识流KF-r j,变化类别输出:调整后的知识流KF-r j(1) 若KF-r j中有新知识k m产生,则(1.1) 若C不为空,则(1.1.1) 令P0为kfc3(或kfc4)中的知识接受者集,P1为C中的知识接受者集,P=P1−P0.//新知识只能产生于kfc3或kfc4(1.1.2) 向C中添加新的经验流kfc1=a(s,k m,P,r j),其中s为k m的位置(1.1.3) 标记P0中的所有人员具有知识需求r j相关的能力和经验(1.2) 否则 //即当前存在预订式知识流单元kfc2(1.2.1) 令P为kfc2中的所有知识接受者(即预订者)(1.2.2) 向C中添加新的经验流kfc1=a(s,k m,P,r j),其中s为k m的位置(1.2.3) 令kfc2=kfc0(1.3) 算法终止(2) 若知识源s i当前不可达(即人员状态为调离,或知识库状态为无法访问),则(2.1) 令C中所有以s i为知识源的知识流单元状态属性值为结束(人员调离时)或暂停(知识库无法访问时).(2.2) 从kfc3与kfc4中删除(人员调离时)知识源s i.(2.3) 算法终止(3) 若知识k m当前不可达(知识已不存在或当前无法访问),则(3.1) 令C中所有以k m为知识的经验流状态属性值为结束(知识已不存在时)或暂停(知识当前无法访问时)(3.2) 算法终止另外,当有新的知识源(比如知识库)出现时,为对其内容进行分析,以与相关的知识需求建立联系,需要应用信息自动分类、机器学习等技术进行处理,因而不在本文中进行讨论.但是,当完成对这些知识的分类并与知识需求建立关联后,可以基于上面的算法实现新知识的导入.3.2.2 基于知识需求变化的控制知识需求的变化是指提交或取消特定人员的特定知识需求,相应的控制算法如下.192 Journal of Software软件学报2005,16(2)算法3. 根据人员知识需求r j的变化对知识流KF-r j进行控制.输入:人员d n,知识需求r j,目标(提交新知识需求或取消知识需求r j),知识流KF-r j输出:调整后或新初始化的知识流KF-r j(1) 若提交人员d n的新知识需求r j,则:(1.1) 若知识流KF-r j已存在,则:(1.1.1) 若C非空,则向C中的所有知识流单元中添加d n为知识接受者.(1.1.2) 否则,添加d n为kfc2中的知识接受者.(1.1.3) 添加d n为kfc3中的知识源和知识接受者.(1.1.4) 添加d n为kfc4中的知识接受者.(1.1.5) 若人员d n已经是kfc4中的知识源,则将其从kfc4的知识源中删除.(1.2) 否则,调用算法1:初始化知识流KF-r j.(1.3) 算法终止.(2) 若取消人员d n的知识需求r j,则:(2.1) 从C中的全部知识流单元(C不为空时)或kfc2(C为空时)中删除接受者d n.(2.2) 从kfc3中同时删除知识源d n和接受者d n.(2.3) 从kfc4中删除接受者d n.(2.4) 若人员d n具有知识需求r j相关的能力和经验,则添加人员d n为kfc4中的知识提供者.(2.5) 算法终止.在(2)结束后,若某一kfc1中没有知识接受者时,则该经验流成为备用式经验流.若kfc4中没有知识接受者时,则该AFC成为备用式AFC.此外,实际应用中,人员可以从kfc2或kfc3或kfc4中局部取消或添加其知识需求.为简化描述,以上算法针对的是完整添加和取消知识需求的处理过程.3.2.3 基于时间约束的控制在工作流实例的执行阶段,每一个活动都对应着两个基本的时间数据:开始时间与结束时间.因而,在工作流环境下,时间因素决定了活动参与者的知识需求的有效时间区间(effective interval),即需要真正为参与者提供知识流服务的时间区间.我们用EI(d n,r j)表示人员d n的知识需求r j的有效时间区间,用EST(d n,r j)表示其最早开始时间(earliest start time),用LET(d n,r j)表示其最晚结束时间(latest end time),此时有EI(d n,r j)=[EST(d n,r j),LET(d n,r j)].知识需求的有效时间区间与活动的执行时间区间和工作流实例的执行时间有关,具体数据由工作流执行环境获得.对于预定义知识需求,EST(d n,r j)等于工作流实例的开始时间;而对于运行时知识需求,EST(d n,r j)等于知识需求的提交时间.LET(d n,r j)与知识需求无关,等于人员参与的相应活动的结束时间(含活动因工作流变更而取消的情况).EI(d n,r j)能够直接影响到知识流KF-r j的结构,从而对知识流的执行情况产生影响.有效时间区间反映了人员参与特定知识流的阶段性特征,为便于控制,我们为知识流单元中的知识接受者设置状态属性,取值可为“开始”和“挂起”,“开始”表示知识接受者可以正常地接受知识流引擎提供的知识传递服务,“挂起”表示该知识流在当前执行时间暂时忽略此接受者的存在.其取值的变化主要由时间因素来控制,也可以由人员自行修改.对于预定义知识需求,知识服务需要在工作流实例的执行过程中才能开始,因此该属性赋初值为“挂起”.基于时间约束的控制算法如下.算法4. 根据有效时间区间EI(d n,r j)对知识流KF-r j进行控制.输入:人员d n,知识需求r j,EST(d n,r j),LET(d n,r j),知识流KF-r j输出:调整后的知识流KF-r j(1) 若当前时间等于或大于EST(d n,r j),则令知识流KF-r j中人员d n的“状态”属性取值为“开始”.(2) 若当前时间为LET(d n,r j),则调用算法3,进行取消人员d n的知识需求r j的相关处理.(3) 算法终止.。
基于时序逻辑的工作流建模与分析方法1王远,范玉顺(清华大学自动化系,北京 100084)摘要提出了一种基于活动时序逻辑(TLA)的工作流建模与模型分析的形式化方法。
该方法将模型及模型的性质都表示为一个TLA公式,对工作流模型性质的分析可以等价为对TLA中两个公式之间是否存在蕴涵关系的检验,从而建立了一个工作流模型各层次分析统一框架。
一个工作流建模和分析的实例验证了所提出方法的有效性,该方法在建模、模型分析以及指导模型设计等方面都有较好的应用前景。
关键词工作流,活动时序逻辑,工作流模型分析1基金项目:国家自然科学基金项目(60274046)0 引言工作流管理是实现企业过程集成和提高企业运行效率、柔性的一种全面的支撑技术。
该技术在办公自动化(OA)、计算机支持的协同工作(CSCW)、经营过程重组(BPR)等几个领域中的应用证明,工作流模型的合理性验证与分析是成功实施工作流管理的关键[1]。
工作流模型分析可以分为逻辑、时间和性能三个层次。
逻辑层次关心的是工作流模型中事件点与事件点之间的关系,时间层次的分析是在逻辑层次的基础上研究模型中时间段与时间段之间的关系,而性能层次分析一般是指(考虑资源信息) 通过仿真或严格的理论分析,获得与系统性能相关的量化指标,来评估建立的工作模型是否满足目标需求。
工作流模型的验证与分析的方法与建模方法密切相关。
工作流建模方法可以分为非形式化方法与形式化方法[2]。
非形式化方法主要包括活动网络图法、ECA(Event-Condition-Action)规则方法、面向系统交互的工作流建模语言等,这些非形式化的建模方法普遍缺乏对模型验证与分析的支持。
工作流建模的形式化方法以基于Petri网的建模方法为主,并在此基础上形成了一些工作流模型验证与分析的方法,然而这些基于Petri网的方法存在两个问题:一是没有统一的方法框架,无法满足工作流模型多种性质的验证需要,而是针对一种性质,提出一种特殊的高级Petri网建模方法,找到该性质在Petri网中的表达方式,并针对这种表达方式提出一种验证算法,比如,用户需要验证模型中两个活动之间的时间距离约束,现有的方法无法验证,就只能依靠研究人员的创造力,提出一种特殊的Petri网,并发展一种专门的验证方法;二是在指导工作流模型的设计和工作流模型的综合方面无法满足需要,比如要设计一个满足给定性质的工作流模型,现有的模型验证方法就无法提供有力的支持。
针对上述工作流模型分析验证中存在的问题,本文用时序逻辑作为理论基础,提出了一种基于时序逻辑的工作流建模与分析方法,为工作流模型各个层次的验证与分析提供了一种新思路。
1 TLA基本概念时序逻辑作为一种表示各种动态系统行为和性质的逻辑语言,近年来在反应系统、实时系统的表示与验证、网络协议的分析、多媒体通信同步以及自然语言理解、专家系统、人工智能等方面得到了广泛的应用[3-5]。
在本文提出的基于时序逻辑的工作流建模分析方法中,一个工作流过程模型被描述为一个时序逻辑系统中的公式,同时该模型需要被验证的和分析的性质也表示为一个时序逻辑公式,该方法对所验证的性质并没有特殊的限定。
要分析工作流模型是否满足该性质,只需在相应的逻辑系统中利用逻辑推理和模型检查等技术检验这两个公式之间是否存在蕴涵关系。
这就使得对工作流模型各层次的验证可以统一到一个方法框架中来。
同时,由于在时序逻辑中并不区分公式表示的是模型还是模型的性质,这使得本文提出的方法在指导工作流模型的设计和工作流模型的综合方面有较好的应用前景。
本文使用的时序逻辑系统是活动时序逻辑(temporal logic of actions ,TLA ),对TLA 详细的介绍和说明可见参考文献[6],这里只做简单的介绍。
TLA 是描述离散时间动态系统的一种重要的时序逻辑,它结合了标准时序逻辑和活动逻辑(logic of actions)的特点。
TLA 中的公式包含经典逻辑连接符∧,∨;量词∃,∀;一元操作符□, ◇;以及“′”(撇号)。
TLA 的语义解释是基于“行为(behavior)”、“状态(state)”和“活动(action)”这三个概念的。
一个行为是一个无限的状态序列,用σ表示。
其中一个状态是TLA 中变量到具体变量值的一个映射,所有可能状态的集合用St 表示。
一个活动代表了当前状态和下一状态间的关系,比如:z ′= z – 2就是一个活动,其中带撇号的变量表示其处于下一状态之中。
下面给出TLA 的语法及部分推理规则。
TLA 中的公式用上下文无关文法中产生式的方式定义如下: formula →predicate|□[action]<state function>|¬ formula| formula ∧formula|□formula ,其中action 为活动,是包含变量、带撇号的变量和常量的布尔表达式,predicate 为谓词,是布尔表达式或Enabled(action),state function 为状态函数,是包含变量、常量的非布尔表达式。
下面给出TLA 中一些常用的推理规则:(1) ((')')(['])f P f f P P P P P ∧=⇒⇒≡∧⇒ ; (2) ([]['])f f I N N I I ⇒≡∧∧ ;(3) ([]')(([]))f f I N I I N I ∧⇒⇒∧⇒ 。
其中, P, I 为谓词; N 为活动;f 为状态函数。
2基于时序逻辑的工作流建模与分析2.1 基于TLA 的工作流建模方法文献[7]给出了一种基于工作流管理联盟(WfMC )过程定义的图形化建模语言,利用两种对象实体进行过程建模:节点和有方向的连接弧。
其中节点分为两种:任务节点和选择/ 汇合节点。
任务节点用一个方框表示,代表为了实现某种目标或功能而需要做的工作,它根据实际的需要细分为活动、子过程、块和空活动,为了方便起见,本文将任务节点统称为活动。
选择/ 汇合节点(逻辑节点) 用一个圆圈表示,用来表达“与分支”和“与连接”的逻辑结构。
连接弧表示活动的前后逻辑控制约束。
下面首先利用这种建模语言描述工作流模型,然后在此基础上给出基于TLA 的工作流建模方法。
要用TLA 对工作流建模,必须用TLA 描述工作流的语义。
本文中,用TLA 中的“behavior ”来描述工作流模型的一次执行,behavior 中的各个状态变化反映了工作流的执行过程。
引入常量Start 、End 、T i 表示工作流的开始、结束以及工作流实际执行的各个活动。
另外为了描述工作流的执行过程,还定义了TLA 中的两个变量。
定义1 定义P 为一个集合变量,P 中的元素代表工作流执行过程中已经执行完毕的活动。
定义2 定义S 为一个集合变量,S 中的元素代表工作流执行过程中正在执行的活动。
图1给出了工作流模型的6种控制结构,针对这些结构,分别定义它们在TLA 中的描述方法:在TLA 中,每个结构都用一个action 来表示。
图1 工作流模型的6种控制结构顺序:顺序控制结构(记做SE )定义如下: 定义3 SE (T i , T j ) (T i ∈S) ∧ (P ′= P ∪{T i })∧(S ′= S ∪{T j }-{T i }),其中,T j 是T i 的后继活动。
与分支:与分支允许多任务并行执行(记做AS )。
定义4 AS (T i , T i1, T i2, … , T in ) (T i ∈S)∧(P ′= P ∪{ T i })∧(S’ = S ∪{ T i1, T i2, … , T in }-{T i }),其中,T i 是分支点的前继活动,T i1, T i2, … , T in 是分支点后分出的并行活动。
与连接:与连接要求所有汇合的分支都执行完毕后,汇合后的活动才能执行(记做AJ )。
定义5 AJ (T i1, T i2, … , T in, T i) ({ T i1,T i2, … , T in }⊆S)∧(P′= P∪{ T i1, T i2, … , T in })∧(S′= S∪{T i}-{ T i1, T i2, … , T in }),其中,T i1, T i2, … , T in是汇合点的前继并行活动,T i是汇合后的活动。
或分支:或分之描述彼此之间具有相互排斥关系的分支活动(记做OS)。
定义6 OS (T i, T i1, T i2, … , T in) (OS1∧¬OS2∧¬OS3∧…∧¬OS n)∨(¬OS1∧OS2∧¬OS3∧…∧¬OS n)∨…∨(¬OS1∧¬OS2∧¬OS3∧…∧OS n),其中,OS k (T i∈S) ∧ (P′= P∪{T i}) ∧(S′ = S∪{T ik}-{T i}) k = 1,2, … , n。
T i是分支点的前继活动,T i1, T i2, … , T in是分支点的后继活动。
或连接:或连接控制结构描述彼此之间具互斥的分支活动的汇合(记做OJ)。
定义7 OJ (T i1, T i2, … , T in, T i) (OJ1∧¬OJ2∧¬OJ3∧…∧¬OJ n)∨(¬OJ1∧OJ2∧¬OJ3∧…∧¬OJ n)∨…∨(¬OJ1∧¬OJ2∧¬OJ3∧…∧OJ n),其中OJ k (T ik∈S)∧(P′= P∪{T ik})∧(S ′= S∪{T i}- {T ik}) k = 1,2, … , n。
T i1, T i2, … , T in是汇合点的前继活动,T i是汇合点的后继活动。
循环:用来描述需要多次执行的活动(记做LP)。
定义8 LP (T i) (T i∈S)∧(P′= P)∧(S′= S),为了完整地描述工作流模型,还需要给出工作流执行的初始状态和结束状态在TLA中的表示方法。
定义9 Init (P = Φ)∧(S = {Start})∧(P′= {Start})∧(S′= T f),其中,T f是工作流实际执行的第一个活动。
定义10 Fini (T l∈P)∧(S = {End})∧(P′= P ∪{End})∧(S′= S),其中,T l是工作流实际执行的最后一个活动。
下面给出TLA中工作流模型的完整定义。
在TLA中,一个工作流模型用一个TLA的公式W 表示,定义11 W Init w∧Fini w∧□[A]<P, S>∧SF<P, S>(A),其中,Iit w和Fini w分别是工作流W的初始和结束状态,A的具体定义如下:000000()()()()()()g h k l m ni i i i i iA SEi ASi AJi OSi OJi LPi======∨∨∨∨∨∨∨∨∨∨∨在SEigi0=∨中,g是工作流W中包括的顺序控制结构的个数,12,,,gSE SE SEL是各顺序控制结构对应的action,SE0=Φ。