基于模型转换的状态图定义与转换实现
1. 状态图的定义与元模型
状态图在系统建模中具有重要作用,它基于活动图,是一种分层的数据流图。系统的功能能力通过活动以及它们之间流动的数据元素和信号来体现,而活动的行为方面(即什么活动、何时以及在什么条件下会处于活动状态)则在状态图中明确规定。状态图的最大优势在于它能够同时捕捉系统的功能和行为方面,从而完整地定义一个系统。与之相比,单一的UML模型往往需要多个不同的模型组合才能完整描述一个系统,例如类图和活动图的结合。因此,状态图非常适合以与平台无关的方式定义系统。
我们计划在代理的特定抽象级别使用状态图,以对其组件(或能力)之间的交互进行建模。状态图实现了代理的内部代理控制模型(IAC)。
虽然有作者对状态图语言进行了充分但非形式化的介绍,但为了开发相关的基于状态图的计算机辅助软件工程(CASE)工具,需要形式化的模型。例如,David等人和Mikk等人分别为不同的工具提出了形式化模型。这里采用的形式化模型是文献中提出的模型的一个子集,因为状态图的一些特性在此处并未使用,如历史状态。
1.1 形式化状态图定义
有序根树是一种每个内部顶点的子节点都有顺序的根树。为了对有序根树的顶点进行全序排序,需要对所有顶点进行标记,具体步骤如下:
1. 将根节点标记为整数0,然后从左到右将其k个子节点(在第1层)标记为0.1、0.2、0.3、…、0.k。
2. 对于第n层标记为A的顶点ν,从左到右将其kν个子节点标记为A.1、A.2、…、A.kν。
基于此,状态图被定义为一个元组 (L, δ),其中:
- L = (S, λ, Var, Name, Activit
超级会员免费看
订阅专栏 解锁全文

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



