HyST:混合自动机模型的源代码转换和翻译工具


斯坦利·贝克,谢尔盖·博戈莫洛夫,泰勒·T·约翰逊

摘要:
最近出现了许多功能强大且可扩展的混合系统模型检查器。尽管它们都遵循大致相同的混合系统语义,但它们具有截然不同的模型描述语言。这种情况(a)使得使用不同的工具很难快速评估特定的混合自动机模型,(b)阻碍了可达性方法的比较,(c)阻碍了执行模型修改的研究结果的广泛应用,并可能使许多工具受益。在本文中,我们介绍了HYST,一种混合电源变压器。HYST是一种源到源翻译工具,目前在太空探索技术公司模型格式,并转换为的格式HyCreate公司,流量*,或d到达在内部,该工具支持通用的模型到模型转换传递,这既有助于简化转换,也有可能改善受支持工具的可达性结果。尽管这些模型转换过程可以在每个工具中实现,但HYST方法为模型修改提供了一个单一的位置,为未修改的目标工具生成修改后的输入源。我们的评估表明,HYST能够将几个类(包括仿射和非线性混合自动机)中的基准自动转换为几个工具的输入格式。此外,我们还说明了基于HYST中实现的伪变量的通用模型转换过程,该过程说明了可达性改进。

支持的输入格式

  • SpaceEx XML
  • Matlab:我们可以从Matlab直接创建HyST交换格式的混合自动机模型。这是通过将hyst.jar文件加载到Matlab中,然后使用Matlab的Java接口实例化、操作和转换用于混合系统模型中间表示的Java数据结构来实现的。例如,这允许您在定义系统动力学的矩阵上转换或调用矩阵操作(例如,x'=Ax)。在实践中,我们使用它来参数化和实例化使用常数的模型(例如电阻、电感等电路元件值)。
  • Java和其他语言:如果您可以加载HyST jar库,那么您可能可以使用类似于Matlab接口的内部数据结构

下一版本支持的计划输入格式

支持的输出格式(进行必要的转换以保留语义)

下一版本支持的计划输出格式

添加新的输出格式,特别是如果SpaceEx的混合自动机网络(网络组件中的基本组件组成)之间几乎没有语义不匹配,则需要几个小时到几天的开发时间,实际上,这相当于编写一个漂亮的打印机和一些可能的小转换传递,以保留语义(或者在许多情况下,只处理语法需求)。显然,有时输出格式与输入格式不兼容(例如,如果工具只支持定时或线性动力学,但输入模型称为非线性动力学)。在这种情况下,我们要么执行转换传递(由用户指定),要么返回错误。例如,对于具有非线性动力学的系统,我们可以尝试将该系统混合,以便它可以由只允许线性动力学的工具支持。随着更多转换过程的添加,可以支持更多的输出格式(例如,如果我们支持将初始化的矩形混合自动机转换为多速率时间自动机或纯时间自动机)。

如果您想帮助开发或建议一种尚未支持的新输出格式,请与我们联系。这样做的好处是您可以访问各种类(从时间自动机到由非线性混合自动机组成的网络组合)的大型基准库并且可以轻松地将您的工具与HyST已经支持的其他工具进行基准测试。虽然我们更希望工具开发人员对其输入模型使用标准化的交换格式,如组合交换格式(CIF)混合系统交换格式(HSIF),我们很高兴有感兴趣的工具开发人员,他们的工具具有不同的输入格式,可以帮助我们在HyST中支持他们。我们通常对支持其他输入格式不太感兴趣,因为我们希望工具开发人员最终将标准化为CIF等格式(特别是如果该工具基本上是在混合自动机或其网络上运行的),但如果有明确的原因(例如建模随机行为),我们肯定会讨论其他输入格式。

论文和下载

HSCC 2015工具文件(pdf)

下载HyST v1.17,2015-04-11(zip)



基准

Hyst Repository中的基准示例
ARCH 2015的非线性可达性示例(zip)
大规模可达性线性基准(DEDS 2017)
不变合成的非线性基准(ARCH 2016)


HyST已经在Windows 7/8/10和Linux(Ubuntu)上进行了测试。如果您是一名工具开发人员或研究人员,有兴趣使用或扩展HYST来支持其他工具,我们非常欢迎您的贡献和合作。我们目前在GitHub上有一个私有的源代码库,我们很高兴邀请感兴趣的用户和开发人员加入。我们计划在2016年初根据开源许可证使存储库完全开放。

HyST GitHub存储库

如果您在使用HYST时需要任何帮助或有任何建议,请随时联系任何或所有作者。

HyST在2014年夏季由空军研究实验室在纽约州罗马市信息局的访问教员研究项目(VFRP)提供的独家支持下开始开发,该项目以Christopher Dillo之前的开源项目为基础。

出版物