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 是参数的更新操作.
             有限状态机的转换包括其参数、输入接口、输出接口及内部状态迁移的转换:
   257   258   259   260   261   262   263   264   265   266   267