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

陈小颖  等:面向 CPS 时空性质验证的混成 AADL 建模与模型转换方法                                           1783


         其中,process 为物理设备的进程;var 为物理设备的变量;interface 为物理设备的接口;time 为执行该物理设备之
         间的信息交换过程的期望时间;position:=(x,y,z),x~c|y~c|z~c,c 是一个实数,~∈{>,≥,<,≤,=}.
         1.4   HAADL实例
             带警报的水箱控制系统,其控制器是通过传感器感知水位.当水位处于最低值 bottom 时,若 t 时间内进水系
         统未响应时将会启动报警装置.当水位处于最高值 top 时,若在 t′时间内进水系统未响应时,将响应系统报警.水
         位随着时间变化,水位值 y 逐渐递增 k 或递减 k.
             如图 2 为带警报的水箱控制系统 AADL 模型,该进程构件包含一个线程子构件,行为附件为其中线程子构
         件的计算部分的处理.对 AADL 行为附件的扩展,主要是线程中计算过程的扩展.传感器传过来的数据
         sensor_data 通过连接端口传输输入给行为附件中的位置变量 y,通过行为附件的计算后,将命令数 据
         command_data 通过端口传给相应的响应系统进行响应.













                          Fig.2    Graphical AADL model of water tank control system with alarm
                                图 2   带警报的水箱控制系统的图形化 AADL 模型
             其中的 HAADL 行为附件描述为:
             thread implementation example.impl
             annex behavior_specification{**
             variables
                 top:Base_Types::Integer;
                 bottom:Base_Types::Integer;
             times
                 t:Base_Types::float;
                 t′:Base_Types::float;
                 wait:Base_Types::float;
             position
                 y:Base_Types::Integer;
             states
                 open:initial state;
                 close:complete state;
                 alarm:complete state;
             transitions
                 T_0:
                 close[〈y=bottom〉〈(wait≤t)〉]→{open[{y=y+k}],alarm]}
                 T_1:
                 open[〈y=top〉〈(wait≤t′)〉]→{close[{y=y−k}],alarm]}
             **};
               end example.impl;
   204   205   206   207   208   209   210   211   212   213   214