Page 208 - 《软件学报》2021年第6期
P. 208

1782                                     Journal of Software  软件学报 Vol.32, No.6,  June 2021

         其中,SourceState 表示状态迁移之前的状态,目的状态 DestinationState 是状态 SourceState 在执行描述迁移后的
         状态,guard 表示执行该状态迁移的前提条件,action 为执行该状态迁移后完成的动作.
             本文在原行为附件基础上扩展时间与空间的相关因素.扩展后的 AADL 行为附件可表示为:
             annex behavior_specification(extend)
               {**
                 〈variables〉
                 〈states〉
                 〈times〉
                 〈positions〉
                 〈transitions〉
               **}
             我们在原行为附件的基础上增加了时间〈times〉与位置〈positions〉.〈times〉部分,共涉及 5 个时间变量:wait 为
         执行该迁移的等待时间,即为使用 CPU 的时间;compute 为迁移的计算时间及迁移的持续时间,是任务被挂起或
         中断的时间;ex_compute 为当前迁移的期望执行时间;ex_wait 为当前迁移的期望等待时间;worst_execute 表示该
         行为附件计算的最坏执行时间,当执行模型端口被分配的时候可以获得.
             我们在扩展中引入 3 个运算符.
             •   vara?varb:表示将变量 varb 的值赋给变量 vara,如 speed?v 表示将变量 v 的值赋给变量 speed;
             •   vara!varb:表示取出变量 vara 值放在 varb 中,如 v!speed 表示将变量 v 的值取出赋给变量 speed;
             •   |:该符号表示两个赋值动作互不影响,同时进行.
             定义 2.  我们将包含时间与空间因素的行为附件定义为以下五元组:
                                  ExAction:={Vars,States,Transition,Time,Position},
         其中,
             •   Time:={wait,compute,ex_compute,ex_wait,worst_execute};
             •   Position:=(x,y,z),x~c|y~c|z~c,c 是一个实数,~∈{>,≥,<,≤,=},且三维坐标 x,y,z 按照ϕ(x),ϕ(y),ϕ(z)的微分
                方程变化.
             该过程中涉及的赋值动作为 action,接下来我们用 act 代替:
                   Trans_sequence:=SourceState[〈act 1 〉〈guard〉]→{DesS 1 [{〈act 2 〉}],DesS 2 [{〈act 3 〉}],...,error]},
         其中,
             •   {DesS 1 [{〈act 2 〉}],DesS 2 [{〈act 3 〉},...,error]}为迁移序列,当 DesS 1 在 ex_wait 时间未响应,则会执行迁移到
                状态 DesS 2 ;DesS 2 未在期望等待时间响应,则执行迁移至状态 DesS 3 .以此类推,直到执行迁移到最后一
                个 error 状态,进行容错处理;
             •   act i :=act.act 进行系统变量、时间变量与位置变量的赋值操作以及输入/输出操作,act i ∈{act 1 ,act 2 ,
                act 3 ,…};
             •   guard:=con∨(wait~ex_wait)∨(compute~ex_compute).~∈{>,≥,<,≤,=}.guard 表示执行该迁移的前提条
                件,如果 wait 在指定等待时间 ex_wait 没有执行当前迁移,或执行时间 compute 不满足当前 ex_compute
                值,或 con 中有条件不满足,则迁移至迁移序列的下一个状态直至迁移至容错状态 error;
             •   error 为错误状态,并执行预定的处理异常的操作进行容错处理.
         1.3   AADL组件的物理附件的扩展
             对 AADL 的物理组件进行扩展,从而对 CPS 中的物理行为进行建模,实现物理设备之间的通信.对传感器和
         执行器的连续行为建模可以作为抽象组件实现.
             定义 3.  物理设备的混成附件定义为以下五元组:
                                     PY:={process,var,interface,time,position},
   203   204   205   206   207   208   209   210   211   212   213