提升模型分析工具可用性:可视化反馈的力量
在软件开发中,使用建模语言(如 UML、SysML、SDL)进行软件建模,并对这些模型进行基于模型的分析,以及理解分析结果,仍然是一项具有挑战性的任务。为了提高现有工具和机制在探索和理解基于模型的分析结果方面的能力,本文提出了一种通过可视化反馈来提升模型分析工具可用性的方法。
1. 抽象执行事件到高级事件
高级事件可以作为将分析结果直接报告到用户模型中或为原始规范的一部分进行动画演示的基础。通过 ATL 转换规则,可以将执行事件抽象为高级事件。以下是两个示例规则:
StateChangeEvt2StateEnterEvent
extends TraceEvent2OmegaEvent {
from
sEvt :
IFTraceEB ! StateChangeEvt
to
tEvt : OmegaTraceEB ! StateEnterEvent
(
className <−sEvt . instance . type ,
name <−sEvt . instance . pid . name ,
stateName <−sEvt . newState . name ,
oldStateName <−sEvt . oldState . name
)
}
上述代码是用于提取 OMEGA 对象状态进入事件的 ATL 规则。
rule EnqueueEvt2SendEvent extends TraceEvent2OmegaEvent {
from
sEvt :
IFTraceEB ! EnqueueEvt
using {
mes :
I