验证工具中形式化方法的模块化复用方法
1. 方法概述与性能
在验证工具中复用形式化方法的这种途径存在一个不足,它仅能为通用的 GrML 模型生成 API,而无法针对特定的形式化方法生成。因此,我们需要编写 API 生成器,用每种形式化方法中定义的概念来包装 GrML API。目前,正在探索实现这一工作的自动化。解决办法是为每种语言编写一个生成器,以形式化方法作为输入,生成 GrML API 的包装。
这些库的性能通常相当出色,它们能够在合理的内存使用范围内快速加载大型模型。例如,一个由 JAXB 生成的用于 PNML P/T 模型的解析器,在为 Java 虚拟机分配 1 GiB 内存(使用 -Xmx 选项)的情况下,能够在 7.90 秒内加载一个 336 MiB 的 PNML 文件。
2. 在自动机和 Petri 网中的应用
我们利用 FML 和 GrML 的灵活性、组合性以及增量复用特性,为 Petri 网和自动机构建了一个相互关联的形式化方法架构,旨在获得一个能够对这两种基于图的形式化方法进行结构化的架构。
2.1 架构描述
我们的方案如图 2 所示。在这个方案中,形式化方法可以复用现有的形式化方法。例如,参数化定时自动机复用了定时自动机的语法特性。还有一些形式化方法可以被定义为现有形式化方法的受限版本,像线性混合自动机复用了混合自动机的概念,但增加了约束条件。如前文所述,抽象形式化方法旨在为同一族的具体形式化方法提供桥梁,它们以层次化架构进行组织。
在图 2 中,组合和增量复用是从上到下进行的。因此,核心构建块位于图的顶部,每一层中的形式化方法(或抽象形式化方法)都可能成为下一层形式化方
超级会员免费看
订阅专栏 解锁全文
1483

被折叠的 条评论
为什么被折叠?



