南京大学软件学院 2019-2020 学年
研究生一年级《高级算法》课程结课作业选题
李传艺
1. 自动生成业务过程模型日志的算法设计
输入:Workflow-net 表示的业务过程模型(Business Process Model),XML 格式
输出:过程日志
要求:生成输入的业务过程模型包含的所有可能的任务执行序列,其中循环任务执行不超过 1 次。提
交算法源代码,实现接口 getLogOfModel(String modelFile, String logFile)
说明:使用 Workflow-net 表示的过程模型包含四个元素,库所(Place)、变迁(Transition)、弧线(Arc)和
令牌(Token)。没有输入弧线的库所称为输入库所,没有输出弧线的库所称为输出库所。每一个过程模
型只能包含一个输入库所和一个输出库所。过程模型每一次运行的初始状态是输入库所中填入一个令
牌,结束状态是在输出库所中填入一个令牌。每一个库所有一个或多个输入、输出变迁,每一个变迁
有一个或多个输入、输出库所。所有输入库所中都填有令牌时,变迁达到可执行状态;当变迁执行时
消耗每一个输入库所中的 1 个令牌,并在所有输出库所中填入一个新的令牌。过程模型运行的过程是
从初始状态开始,所有可执行的变迁都执行一次,最终达到结束状态。将一次运行中所有执行的变迁
按照执行顺序记录下来,形成一个变迁的执行序列,称为过程模型的一条日志,并且使用 CaseID(可
以是整型数值)作为该条日志的唯一标识符。所有能够使得过程模型从开始状态到达结束状态的变迁执
行序列构成全局完整的过程日志。
输入样例:
(1)可视化过程模型(忽略 transition 的名称重复情况):
Model 1:
Model 2:
评论0