【发布时间】:2017-09-17 18:18:41
【问题描述】:
我们有一个合金模型,旨在发现系统中可能出现的死锁。它的设置使得当找到反例时,这意味着正在建模的系统可能存在死锁,即图中节点之间的循环依赖。问题是图形的视觉模型非常复杂,几乎不可能找到代表死锁的循环。如果有办法突出循环,或者至少可以突出图中“向上”而不是“向下”的弧线,这将有助于我们更好地可视化事物(因为在我们拥有的模型中,无死锁系统所有弧都指向向下)。有没有办法突出显示或有选择地绘制创建反例的节点和弧?
【问题讨论】:
我们有一个合金模型,旨在发现系统中可能出现的死锁。它的设置使得当找到反例时,这意味着正在建模的系统可能存在死锁,即图中节点之间的循环依赖。问题是图形的视觉模型非常复杂,几乎不可能找到代表死锁的循环。如果有办法突出循环,或者至少可以突出图中“向上”而不是“向下”的弧线,这将有助于我们更好地可视化事物(因为在我们拥有的模型中,无死锁系统所有弧都指向向下)。有没有办法突出显示或有选择地绘制创建反例的节点和弧?
【问题讨论】:
我首先想到的是,当 Alloy 显示一个谓词的实例时,谓词的各种参数可以被特殊地设置样式。因此,您可以尝试(1)定义一个与您的断言相反的谓词,即在出现死锁时保持并且为循环中的节点分配命名角色的谓词,以及(2)设置样式以显示那些不同颜色或形状的节点。您可以隐藏循环中非的所有内容,或将其变灰。
【讨论】: