自动生成工具链与软件硬件交互属性验证
1. 自动生成工具链概述
存在一个用于自动生成的工具链,它拥有离散和连续时间的可翻译块的综合库。其重点在于利用PVS定理证明器验证图表,但未涉及程序验证这一更大的关注点。
翻译函数以组合方式进行指定,之前已在相关研究中定义。它能为Simulink图中的每个块或子系统生成单独的Circus进程。由于Circus具有支持组合精化的语义,因此非常适合分段开发。
未来工作将基于所描述的算法实现启用和动作子系统的机械化翻译。精化技术的自动化将允许自动生成Ada程序模型,用于验证实现。此外,还在进行使用Circus Time将特定时间的Simulink图集成到Circus中的工作,这将进一步增加可翻译的Simulink图的集合,并使工具链适用于更多应用。
2. 软件硬件交互属性验证背景
许多高完整性软件开发过程不允许对系统硬件进行任何假设,这使得这些技术无法用于必须与硬件交互的软件,如设备驱动程序。本文采取相反的方法:如果分析人员接受分析仅对特定目标系统有效,那么可以使用系统规范来推断与之交互的软件的行为。
开发了一个分析过程,该过程对反汇编的可执行文件和目标平台的形式规范进行操作,以生成软件行为的CSP - OZ形式模型。这个分析过程在名为Spurinna的原型工具中实现,并结合验证工具Z2SAL和SAL套件,用于验证示例程序的属性。
3. 硬件使用场景示例
假设有一个待控制的设备,它有两个端口:控制端口和数据端口。控制端口的IO地址为0,数据端口的IO地址为4。为了请求数据,驱动程序必须向控制端口写入1,然后等待至少10ms,数据端口上的数据才
超级会员免费看
订阅专栏 解锁全文

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



