CADP工具概述

这个CADP工具箱包含几个紧密相连的组件(超过42个工具和17个软件组件),我们将其分为以下类别:

  1. LOTOS的CADP工具
  2. 用于显式状态空间操作的CADP工具
  3. 用于隐式状态空间操作的CADP工具
  4. 用于等价性检查的CADP工具
  5. 用于模型检查的CADP工具
  6. 用于目视检查的CADP工具
  7. 用于成分验证的CADP工具
  8. 用于分布式验证的CADP工具
  9. 用于测试的CADP工具
  10. 用于性能评估的CADP工具
  11. CADP用户界面
  12. CADP安装和维护工具

还有其他与CADP工具箱互连的工具。请参阅列表使用CADP开发的研究工具了解详细信息。

LOTOS的CADP工具

凯撒

CAESAR是翻译LOTOS行为部分的编译器C程序规范(待执行或模拟)或进入LTS(使用互模拟工具和/或时间验证逻辑计算器)。

例如,可以根据协议实现的服务的LTS。两个LTS都是使用CAESAR生成并使用BISIMULATOR进行比较。它是也可以使用时态指定协议属性可以在LTS协议上计算的逻辑公式。

CAESAR转换算法分几个步骤进行。首先,将LOTOS描述转换为简化的过程代数称为SUBLOTOS。然后是中间Petri生成了网络模型,它提供了一个紧凑、结构化的控件和数据流。最终,LTS是通过执行Petri网的可达性分析。

CAESAR接受完整LOTOS,但有以下限制:关于控制部分:不允许进程递归在|[…]|的左右两侧,也不在左侧尽管有这些限制CAESAR处理的LOTOS子集很大,通常足以满足现实生活的需要。

CAESAR的当前版本允许生成大型LTS(约百万个州)在合理期限内时间。此外,CAESAR的高效编译算法也可以在OPEN/CAESAR的框架内利用环境(见下文)。

CAESAR的最新版本提供了一项功能调用EXEC/CAESAR生成C代码。此C代码与现实世界的接口,并且可以嵌入应用。这允许直接从LOTOS规范。

凯撒。ADT公司

凯撒。ADT是一个编译器,用于转换LOTOS规范到C类型和函数库中。

每个LOTOS排序都被转换为等效的C类型每个LOTOS操作都被转换为等效的C功能(或宏观定义)。凯撒。ADT还生成C用于比较和打印抽象数据类型的函数值,以及对域进行排序的迭代器这是有限的。

必须向CAESAR表明。ADT LOTOS操作是什么``构造函数“”和(相当明显,在实践)。凯撒。ADT不允许非自由构造函数(“构造函数之间的等式”)。然而,它总是可以转换LOTOS规范以删除构造函数之间的等式。

凯撒。ADT接受具有以下限制的完整LOTOS,关于数据部分:所谓的“建造师纪律”必须强制执行:必须标识构造函数操作;方程定向;两者之间的优先级降低方程;不允许在构造函数之间使用等式。此外,参数化类型尚未编译。

凯撒。ADT速度快:翻译大型程序(几个数百行)通常在几秒钟内完成。凯撒。ADT可以与CAESAR结合使用,但它可以也可以单独使用以高效编译和执行大型抽象数据类型描述。

凯撒。BDD公司

凯撒。BDD执行分层Petri的结构分析使用二进制决策图的网络。它是特别使用的在中间Petri网上执行优化由CAESAR生成。

凯撒。缩进

凯撒。INDENT是LOTOS程序格式化程序。它首先检查LOTOS描述的语法,然后以某种方式缩进这使阅读变得容易。

2.用于显式状态空间操作的CADP工具

卡介苗

BCG(二进制编码图)是显式LTS和库集合的表示以及处理此格式的程序。与基于ASCII的LTS的格式,BCG格式使用二进制表示采用压缩技术,可实现更小(最多20次)文件。BCG独立于任何源语言但要跟踪对象(类型、函数、变量)在源程序中定义。以下工具当前可用于此格式:
  • BCG_原始提供BCG图的图形表示,
  • BCG_编辑是一个交互式编辑器,允许修改手动显示BCG_DRAW生成的显示,
  • BCG_图形允许生成各种图形,例如FIFO缓冲区、行李缓冲区和混沌自动机,
  • BCG信息提供了有关BCG图的信息,如图的大小、状态数和转换、其标签列表等。,
  • BCG输入输出执行BCG格式之间的转换以及十几种其他格式,
  • BCG_标签允许隐藏和/或重命名根据正则表达式绘制图形,
  • BCG_LIB公司为BCG图生成动态库,
  • BCG最小值根据强或分支最小化图互模拟(包括随机和概率系统),
  • BCG_打开在BCG格式之间建立网关以及OPEN/CAESAR环境,
  • BCG_稳定对马尔可夫链进行稳态分析用BCG图表示,
  • BCG_传输在马尔可夫链上执行瞬态分析表示为BCG图。

此外,两个简单的应用程序编程接口名为BCG_读取BCG_写入分别用于读取和生成BCG图。

3.用于隐式状态空间操作的CADP工具

打开/CAESAR

打开/CAESAR是一个可扩展的、独立于语言的环境允许用户定义的程序进行模拟,执行、验证(部分、现场等)和测试以简单、模块化的方式开发。OPEN/CAESAR中已经编写了各种模块框架,包括:

六种语言可以访问OPEN/CAESAR环境,通过以下工具:

由于OPEN/CAESAR是开放的,并且有很好的文档记录,用户可以通过将自己的模块添加到满足特定需求。


4.用于等价性检查的CADP工具

共刺激物

BISIMULATOR是一个等价检查器,它将两个图形作为输入要进行比较(使用OPEN/CAESAR隐式表示的一个环境,另一个显式表示为BCG文件)和确定它们是否等价(模数为给定的等价关系)或其中一个是否包含在另一个中(模a给定的预订单关系)。BISIMULATOR可以动态工作,这意味着只有隐式图中与验证相关的部分是探索。由于使用了OPEN/CAESAR,可以应用BISIMULATOR直接指向用高级语言编写的描述(例如,LOTOS)。与旧工具相比,这是一个显著的改进(如ALDEBARAN和FC2IMPLICIT),仅接受较低级别模型(通信自动机网络)。

BISIMULATOR通过重新定义中的图形比较问题来工作布尔方程组的项,使用CAESAR_SOLVE库。BISIMULATOR的一个有用功能是生成“否定”诊断(即反例)解释为什么两个图不相等(或其中一个不包含在其他)。BISIMULATOR生成的诊断被定向为非循环图形,通常比其他工具生成的要小得多(如ALDEBRAN),只能生成受限制的反例到多组记录道。

减速器

REDUCTOR是一个结合了onfly的可达性分析工具各种关系的约简模。它对所表示的图形进行操作隐式使用OPEN/CAESAR环境,并提供八个简化算法:

  • 它可以消除τ转换和所谓的冗余过渡,仍保持安全等效性。

  • 它可以消除所有τ转变,但仍保留τ*.a等效性。

  • 它仍然可以消除所有τ-转变电路保持分支等价性(这种简化称为τ压缩)。

  • 它可以执行τ融合减少,但仍保持不变分支等价。

  • 它可以消除重复的转换,仍然保持强大等效性。

  • 它可以确定图形,但仍保留痕迹等效性。

  • 它既可以消除τ变换,又可以确定图形,仍然保持弱迹等价。

  • 它可以完全最小化图的模强等价性。

通过对一个布尔方程组的约简问题使用CAESAR_SOLVE库的苍蝇。第八次减少是``正交“,在它可以与其中任何一个结合。

5.用于模型检查的CADP工具

评估员

EVALUATOR是一款无需定期更换的飞行模型检查器标记转移系统的微积分公式。输入语言EVALUATOR是无交替微积分的扩展操作上的布尔公式和操作上的正则表达式序列,允许简单、紧凑的安全规范,活跃性和公平性。输入语言是可扩展的,由于宏观扩展和文件包含机制定义新时态操作符的可重用库。EVALUATOR的模型选择算法基于布尔方程组的局部分辨率。已配备评估器使用诊断生成算法,构建两个示例和反例(即LTS中解释为什么公式是真是假)。

XTL公司

XTL(可执行时态语言)是一种类似函数的编程语言设计为允许轻松、紧凑地实现各种时态逻辑运算符。这些运算符通过编码为BCG格式。除了常见的预定义类型(布尔值,整数等),XTL语言定义特殊类型,例如LTS的状态、转换和标签。它提供基本体以访问状态和标签中包含的信息,以获取初始状态,并计算状态的继承者和前身和过渡。时间运算符可以很容易地实现将这些函数与递归用户定义函数一起使用使用LTS的状态集和/或转换。已经开发了XTL的原型编译器HML、CTL、ACTL和LTAC等逻辑很容易在XTL中实现。

6.用于目视检查的CADP工具

BCG_原始

BCG_DRAW提供BCG图的二维图形表示具有状态和转换的自动布局。

BCG_EDIT公司

BCG_EDIT是一个交互式编辑器,允许手动修改显示由BCG_DRAW生成。

7.用于成分验证的CADP工具

EXP.OPEN(出口打开)

EXP.OPEN是一个工具,它可以动态地探索对应于通信自动机网络(表示为一组BCG文件)。这些自动机是使用以下两种方法并行组合在一起的代数运算符(如CCS、CSP、LOTOS和muCRL),“图形”运算符(如E-LOTOS和LNT),或同步向量(如MEC和FC2工具中)。可以隐藏其他运算符和/或重命名标签(使用正则表达式)并剪切过渡。

投影机

PROJECTOR是一种抽象OPEN/CAESAR行为的工具通过考虑表示为BCG图和一组同步标签。结果是卡介苗由输入的状态和转换组成的图形计算产品时可访问的OPEN/CAESAR图带有接口的输入OPEN/CAESAR图形,在上同步给定的同步标签集。

SVL公司

SVL(脚本验证语言)是一种面向简化和自动化LOTOS程序的验证。SVL在CADP与EUCALYPTUS是一种工具依赖的图形用户界面。

SVL为生成、并行组合、,最小化、标签隐藏、标签重命名、抽象、比较,以及LTS的模型检查。它支持多种验证方法(例如,枚举、合成和动态),这很容易结合在一起。

已经开发了一个SVL编译器,用于转换SVL将验证场景转换为Bourne shell脚本,该脚本将执行执行验证场景所需的所有操作,例如。,使用适当的选项和参数调用验证工具,生成中间文件等。

SVL已用于多个案例研究:大多数CADP演示示例利用了SVL的可读性和简洁性。

8.用于分布式验证的CADP工具

为了推进枚举验证算法的局限性,CADP包括用于并行化图构建算法的工具,该工具可以可用于PC集群和工作站网络。

经销商

DISTRIBUTOR在N台机器上拆分图的构造使用Tcp/Ip套接字进行通信。每台机器构建一个图形碎片,机器之间的状态分布由静态哈希函数确定。

BCG_维修

BCG_MERGE将DISTRIBUTOR构建的N个图形片段合并到生成整个图形。

9.用于测试的CADP工具

序列。打开

序列。OPEN是一个允许验证生成的执行跟踪的工具由作为黑盒子自动。序列。打开允许使用OPEN/CAESAR中开发的验证工具用于处理SEQ格式编码的记录道的环境。序列。打开不在内存中加载执行跟踪,这允许验证非常长的跟踪,并使用软件缓存优化对经常访问的转换和标签。

TGV公司

TGV是一种基于验证技术(由INRIA的PAMPA团队联合开发Rennes和Verimag实验室,并集成到CADP工具箱中在VASY团队的帮助下)。TGV将以下内容作为条目协议的行为和测试目的,选择要测试的协议行为。它生成测试套件用于评估协议实现与遵守协议的形式规范。

10.用于性能评估的CADP工具

BCG图形格式允许表示由正常转换、概率转换和随机转换。因此,BCG图格式允许进行编码几种(离散或连续时间)马尔可夫模型可以用来分析系统的性能。CADP包含允许分析此类图形的几种工具。

最小BCG_

BCG_MIN允许最小化BCG图模强或分支相互模拟,这与汇集性上的马尔可夫模型。

CUNCTATOR公司

CUNCTATOR将表示的连续时间马尔可夫链作为输入作为隐式OPEN/CAESAR图,执行动态终止由最大值指定的稳态仿真虚拟时间或探索的最大转换数,并输出给定动作集的平衡吞吐量。

确定器

DETERMINATOR将马尔可夫模型作为输入,表示为隐式OPEN/CAESAR图,检查其是否满足某些条件,如果是,在BCG中生成一个简化的连续时间马尔可夫链通过实时消除随机不确定性来格式化。

BCG_稳定

BCG_STEADY对连续时间马尔可夫进行稳态分析以BCG格式编码的链。它计算平衡(稳态)长期使用的概率分布Gauss/Seidel算法,还可以计算系统的转换。

BCG_传输

BCG_TRANSIENT对连续时间马尔可夫进行瞬态分析以BCG格式编码的链。它计算与时间相关的(瞬态)模型的概率分布使用均匀化算法和近似泊松概率的Fox-Glynn方法计算系统转换的吞吐量。

11.CADP用户界面

尤卡利普图

EUCALYPTUS是用Tcl/Tk编写的图形用户界面集成了CADP和开发的其他几种工具(APERO(比利时列日),ELUDO(加拿大渥太华),FC2TOOLS(法国索菲亚·安蒂波利斯),VISCOPE(法国雷恩))的统一、用户友好界面。此接口具有其所在项目的名称开发:欧洲-加拿大项目"尤卡利普图"

12.CADP安装和维护工具

安装工

INSTALLATOR是CADP的安装助手。它使CADP安装真的很容易而且没有麻烦。它检查最新版本的CADP并将其安装在您的机器上。




TST公司

TST是一种检查CADP安装和配置方式的工具以检测潜在问题。许多进行验证,大多数验证都是从公共CADP用户报告的问题。


2.18版上次更新时间:2020年2月12日11:50:49

返回CADP主页