Page 15 - 《软件学报》2025年第4期
P. 15
杨晓 等: 复杂嵌入式系统需求一致性的组合验证方法 1421
接下来对各个验证子系统生成其架构图, 即将对应的问题图转换成 UML 构件图的表达方式. 问题图中机器
领域是指待构建的软件系统, 因此将问题图中的机器领域转换成软件构件. 问题图中的问题领域指与软件系统存
在交互的外部实体. 根据问题框架方法, 问题领域可以分为因果领域、词法领域和自主领域, 因果领域为受控领
域, 词法领域是指数据存储域, 我们统一将因果领域和词法领域转换成设备构件, 表示该领域具有明确的因果关
系. 对于自主领域, 指不可控、不可预测的外部环境, 由于嵌入式系统中, 软件要通过设备与外部环境进行交互, 我
们在领域设备知识库的构建过程中, 已经将外部环境的各种属性建模在设备模型中, 因此不再考虑自主领域. 对于
机器领域与问题领域之间的行为交互, 我们将其转换为软件构件与设备构件之间的连接件. 由此得到问题图转换
为构件图的对应关系, 如图 7 所示.
问题图 机器领域 因果领域 词法领域
行为交互
构件图 软件构件 设备构件 设备构件
连接件
图 7 不同问题图结构对应的构件图结构
下面以智能家居系统为例介绍验证子系统架构生成过程. 如图 8 所示, 在智能家居系统例子中有 6 个子需求,
则得到 6 个验证子系统分别为初始化、自动存储、命令存储、温度控制、灯光单元控制输出和空调控制输出子
系统. 以灯光单元控制输出子系统为例, 根据其控制依赖<LU Control Output, {LU.LUOff, LU.LUOn},
Initialization> 和数据依赖<LU Control Output, {OpenInstruction, CloseInstruction}, Commanded Save> , <LU Control
Output, {OpenInstruction, CloseInstruction}, Automatic Save>. 可知其验证子系统包含初始化、命令存储、自动存
储和灯光单元控制输出需求, 对应为问题图中机器领域, 因此转换成构件图中的软件构件. 与这些需求对应的机器
领域存在行为交互的因果领域和词法领域为空调、灯光单元、灯光传感器、脉冲生成器和灯光命令, 因此转换为
构件图中的设备构件, 并将行为交互转换成连接件.
Commanded
Air condition Light sensor Temperature
(AC) (LS) sensor (TS)
Initialization Automatic Temperature
(Init) save(AS) control (TC)
Light unit Light AC command
(LU) command (LC) AC control (ACC)
output
初始化子系统架构 自动存储子系统架构 (ACCO)
Air condition
(AC)
Initialization
Pulse genator Air condition (Init)
(PG) (AC)
Commanded Initialization Light unit
save (CS) (Init) (LU)
Light Light unit
command (LC) (LU) 空调控制输出子系统架构
LU control
output
命令存储子系统架构 (LUCO) Light sensor 图例
(LS) 软件构件
Automatic
Temperature save (AS) Light 设备构件
sensor (TS)
Temperature command (LC)
control (TC) 构件请求接口
AC command save (CS)
(ACC) Pulse genator 构件提供接口
(PG)
连接件
温度控制子系统架构 灯光单元控制输出子系统架构
图 8 智能家居系统验证子系统架构图