活动图的表示
活动图描述了系统关于活动的行为。活动是表示一组操作(operation)执行的建模元素。活动图是工作流模型(workflow model)的表达形式。能够表达控制流(control flow:操作的发生次序 )或数据流(data flow:在操作之间交换对象),是UML (Unified Modeling Language)行为图。
一个活动(Activity)表示了一个行为,行为的由操作组成。操作(action,operation)有输入和输出边,表示了控制流或数据流的流向。r控制流包括顺序(sequential)、选择(conditional)、并行(parallel)。
活动的执行表示它所包含的动作执行零次、一次或者多次,执行次数依赖于执行条件和活动的结构。操作的执行是由其他操作的终止,特定的对象和数据的可用,或者外部事件的发生。
活动图形式化表示
定义1:活动图AD是一个六元组,$$AD=(N,T,C,F,N_s,N_e)$$,其中:
- $$N={n_1,n_2,...,n_i}$$是一个非空有限的活动集合;
- $$T={t_0,t_1,...,t_j}$$是一个非空有限的变迁集合;
- $$C={c_0,c_1,...,c_k}$$是有限的变迁条件表达式,$$c_i$$对应于变迁$$t_i$$;
$$F \subseteq (N\times T\times C)\cup (T\times C\times N)$$ 是活动与变迁之间的流关系,CN为AD的当前活动集合,对所有的$$t\in T$$有:
- $$t_1={n\in N|(n,t)\in F}$$表示t的前提状态集合,$$t_2={n\in N|(t,n)\in F}$$表示t的后置状态集合;
- $$enabled(CN)$$表示可以从CN触发的变迁集合,$$enabled(CN)={t|t_1\in 满足C(t)条件的CN}$$
3.$$fired(CN)$$表示某一时刻从CN能够触发的变迁,$$fired(CN)={t|t\in enabled(CN)且(CN-t_1)\cap t_2=\varnothing }$$
4.ep表示AD运行时的一条执行路径,是一个活动图的变迁序列, $$ep=CN0\frac {\to }{t_0}CN_1\frac {\to }{t_1}...\frac{\to }{t{n-1}}CNn$$$$CN_0={n_s},CN_n\in N,CN_i=(CN{i-1}-t^1{i-1}) \cup t^2{i-1}$$, 其中$$i\ge 1,t_i=fired(CN_i)$$,其中$$i\ge 0.$$
$$n_s\in N$$是唯一的初始活动;
$$n_e\in N$$是唯一的结束活动;