服务交互:模式、形式化与分析
1. 服务建模
在服务交互的场景中,消息传递有着独特的特性。消息接收往往需要等待,而且消息之间可能会“超车”,即发送顺序不一定等同于接收顺序。为了对服务进行建模,我们引入了开放网(Open Net)的概念,它本质上是一种Petri网,能够很好地模拟服务的控制结构。
1.1 开放网的定义
开放网 $N = [P, T, F, I, O, m_0, Ω]$ 由一个Petri网 $[P, T, F, m_0]$ 以及以下部分组成:
- 接口 $(I ∪O) ⊆P$,它被定义为两个不相交的集合,$I$ 是输入库所集合,$O$ 是输出库所集合,且对于任意 $p ∈I$,有 $•p = ∅$;对于任意 $p ∈O$,有 $p• = ∅$。
- 一组最终标识 $\Omega$。
同时,我们要求在初始标识和最终标识中,接口库所不被标记,即对于所有 $m ∈Ω ∪{m_0}$,有 $m(p) = 0$,其中 $p ∈I ∪O$。在图形表示上,开放网类似Petri网,周围有一个虚线框,接口库所绘制在框上,最终标识需要单独描述。
1.2 封闭网的定义
当开放网的接口为空,即 $I_N = ∅$ 且 $O_N = ∅$ 时,它就是封闭网。封闭网可用于对服务编排进行建模。例如,在某些情况下,封闭网若有界,即任何可达标识中没有库所可以包含无限多个令牌,那么它具有有限个状态。封闭网的有界性定义为:若存在一个 $k ∈ \mathbb{N}$,使得对于每个可达标识 $m ∈R(N)(m_0)$,都有 $m(p) ≤k$,对于所有 $p ∈P_N$,则称封闭网 $N$ 是 $k$ - 有界的。 <
开放网与服务交互分析
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



