Gabriele Costa、David Basin、Chiara Bodei、Pierpaolo Degano和Letterio Galletta ,“从自然投影到局部模型检查和返回”。 2018年TACAS。
将并行组合的验证减少为单个组件的验证; 合成一个符合全局规范的子模块:子模块构造问题(SCP); 为给定组件合成控制器:控制器合成问题(CSP)。
Gabriele Costa、David Basin、Chiara Bodei、Pierpaolo Degano和Letterio Galletta ,“从自然投影到局部模型检查和返回”。 2018年TACAS。
Oracle Java运行时环境(JRE)或Java开发工具包(JDK)版本8或更高版本( http://www.oracle.com/technetwork/java/javase/downloads/index.html ). PETS也已经用OpenJDK版本8进行了测试( http://openjdk.java.net/ )
P: 原始规范 A: 过渡系统 S: A和B之间的一组同步动作 G: B的异步动作集
$java-jar pests.jar-h 简单过渡系统(PESTS)的部分评估器 用法:java-jar pests.jar INPUT[选项] INPUT必须是包含有限状态代理文本描述的现有文件 选项是以下选项的子集: -o=FILE上的FILE写入输出。 如果未指定且选项-f设置为txt,则写入标准输出。 -s=从FILE读取FILE规范。 如果未指定,则使用FALSE。 -a=v1,。。。, vN使用v1,。。。, vN作为同步动作。 如果未指定,则使用空集。 -b=v1,。。。, vN使用v1,。。。, vN作为异步操作。 如果未指定,则使用空集。 -f=txt|svg|png|pdf使用指定的输出格式。 省略此选项相当于-f=txt。 -v激活详细输出。 -h打印此消息并退出。
首字母 --指定初始状态的名称 总决赛 --指定最终状态的名称列表 行动 --指定动作标签 过渡 --指定DFA的标记转换
首字母:q0; 决赛:q0、q1、q2; 动作:a、s、t; q0—t->q2; q0—a->q1; q1—s->q0;
t吨 +----------->问题2 | |一个 ->问题0--------->问题1 ^ | |秒| +-------------+
DFAutomatonImpl P=…// 创建规范P添加状态和转换 DFAutomatonImpl A=…// 创建过渡系统A(类似于创建P) 设置<String>S=…// 同步动作集 设置<String>G=…// 异步操作集 DFAutomatonImpl PP=投影统一(投影部分A(P,A,S,G),G);
等级 it.unige.automata.impl。 DFAutomatonImpl公司 :DFA的具体实现。 等级 it.unige.automata.impl。 NF自动化实施 :NFA的具体实现。 等级 它是unige.parteval。 投影 :实现核心算法的实用程序类。 方法 部分A :商算法的实现。 方法 统一 :统一算法的实现。
EventAutomaton P=…// 创建规范P添加状态和符号转换 EventAutomaton A=…// 创建符号转换系统A(类似于创建P) 设置<String>S=…// 同步符号事件集 设置<String>G=…// 异步符号事件集 EventAutomaton PP=投影.unifyS(投影.partialS(P,A,S,G),G);
打开端子并键入 $java-版本 检查JRE是否正确安装及其版本。 如果未安装JRE,请通过安装 $sudo apt安装默认值-jre .
pests.jar鼠疫 :PESTS工具二进制文件 测试 :包含复制TACAS’18实验所需文件的文件夹 标准立方英尺/平方英寸 和 csp.sh公司 :复制实验的shell脚本
下载 PESTS 1.1版TACAS ( pess-v1.1-tacas.zip ). 将.zip存档解压缩到某个文件夹(例如,使用 $unzip pests-v1.1-tacas.zip ) 输入解压缩的文件夹并在那里打开终端 确保两者都 标准立方英尺/平方英寸 和 csp.sh公司 是可执行的(如果使用 $chmod+x scp.sh 和 $chmod+x scp.sh ) 运行shell脚本,设置要执行的实验数量(介于1和20之间)。 例如 ./scp.sh第5页 执行与论文附录中实验表的前5行相对应的前5个实验(表4)。
注释 :对于每个实验,工具的输出具有以下结构。
**SCP测试编号1** 开始部分评估。 部分评估:时间=10 ms,状态=24,转换=36 统一:时间=4ms,状态=9,过渡=11 正在写入输出。 完整的。
上面显示的输出是指SCP表的第一行(
**SCP测试编号1** ). 第三行中报告了部分求值算法处理的状态和转换的总数。 这些值必须分别与表的第二列和第三列进行比较。 相反,总执行时间由两个阶段的总和给出(即部分求值和统一)。 例如,在本例中,总时间为14毫秒。
警告 :15岁以上的实验可能需要几个小时。