Page 262 - 《软件学报》2021年第6期
P. 262
1836 Journal of Software 软件学报 Vol.32, No.6, June 2021
是组件 A 转换成的时间自动机中用于发送同步信号的迁移,Edge b (l b ,∅,p?,r b , l′ )是组件 B 转换成的时间自动机
b
中用于接收同步信号的迁移,各个时间自动机通过这样的同步通道构成一个时间自动机网络.
3.3 数据类型
Ptolemy 是面向组件建模的,因此针对不同类型的组件,定义了不同的映射规则.
3.3.1 特定组件
Ptolemy DE 系统中的组件 A=(∅,P,Para,R),其映射规则如下:
Trans _ Actor ( )A ≅ Trans _ Ports ( )P ∩ Trans _ Paras (Para ∩ ) Trans _ Relas ( )R ∩ Trans _ Func ( )A
Trans _ Ports ( )P ≅ Trans _ InputPs (IP ∩ ) Trans _OutputPs (OP )
Trans _ InputPs (IP ) Trans InputP≅ _ ( [1])IP ∩ ...∩ Trans _ InputP ( [ ])IP m
Trans _ InputP( [ ]) i →〈 int,bool〉
IP
[ ])
_
Trans _OutputPs (OP ≅ ) Trans OutputP (OP [1]) ∩ ...∩ Trans _OutputP (OP n
[ ])
Trans _OutputP (OP i →〈 int,bool,chan〉
_
[ ])
Trans _ Paras (Para ≅ ) Trans Para (Para [1]) ∩ ...∩ Trans _ Para (Para y
...
Trans _ Relas R ≅ _ ([1])R ∩∩ Trans _ Rela ( [ ])R z
( ) Trans Rela
Trans _ Func ( )A ≅ Edges ( , , , , )l g k r l′
参数 m 表示组件 A 中的输入接口的个数,n 表示组件 A 中的输出接口的个数.组件的输入接口转换成时间
自动机中的一组 int 和 bool 类型的全局变量,输出接口转换成一组 int,bool 和 chan 类型的全局变量,参数转换成
时间自动机中的局部变量,根据原子组件功能,生成时间自动机中具体的 template,最终原子组件被转换成一个
功能相同的时间自动机.Ptolemy DE 模型语义要求向组件 B 发送事件的组件 A 会更早地触发执行,当组件转换
为时间自动机时,为保持语义的一致性,为每个时间自动机定义一个 depth 属性.首先计算组件在 Ptolemy DE 模
型中的 level,时间自动机的 depth 由组件的 level 计算而来.组件的 level 表示该组件到达源组件(没有上游组件)
或者延迟组件沿路径历经的最大上游组件个数.但是此时计算出的 level 存在相等的情况,这时需要判断相同
level 的组件是否具有优先级属性,优先级高的 depth 小;若没有优先级,则按照组件加入到模型中顺序进行排序,
加入早的组件,其 depth 小,由此按照 level 将组件排成一个队列,进而网络中的各个时间自动机也是有序的.depth
小的时间自动机执行完,depth 大的时间自动机才可以执行.
3.3.2 有限状态机组件
Ptolemy DE 模型中的组件可以由有限状态机(finite state machine,简称 FSM)来定义,FSM 常用于系统的行
为建模,系统的状态是指它在特点时间点所处的状况.在 FSM 中,系统行为是由状态集以及管理这些状态转移的
规则共同建模而成的.Ptolemy 模型中的有限状态机是一个六元组 FSM=(S,s 0 ,V,I,O,R),其中,
• S:有限的状态集合;
• s 0 :初始状态;
• V:有限的参数集合;
• I:输入接口集合;
• O:输出接口集合;
( ∈
• R: s ⎯⎯⎯→ go ,,u ss i , S s ∈ j ) S 是一组状态迁移,其中,g 是迁移是否满足的约束条件,o 是对输出接口的
i
j
赋值操作,u 是参数的更新操作.
有限状态机的转换包括其参数、输入接口、输出接口及内部状态迁移的转换: