UML 动作语义与调用动作的深入解析
1. 运行时线程与令牌的定义
在活动执行期间, SchedulerThread ⊆ UTHREAD
用于表示运行时线程。令牌 t ∈ Token
被定义为一个 4 元组 t = (id, thread, sittingOn, cameFrom)
,其中:
- id ∈ String
是唯一标识符。
- thread ∈ SchedulerThread
是与此令牌关联的运行时线程。
- sittingOn ∈ GraphNode
是此令牌所在的活动节点。
- cameFrom ∈ GraphNode
是此令牌发送来源的活动节点。
调度线程 th ∈ SchedulerThread
被定义为一个对 th = (id, token)
,其中:
- id ∈ String
是唯一标识符。
- token ∈ Token
是与此线程关联的令牌。
Tokens
是状态 s
中存在的令牌集合,且 Token = ⋃s∈USTATE Tokens
。一般来说, Tokens ⊆ s.cs.pc
;但在处理活动图时,令牌是唯一的程序计数器,因此