问题标签 [vdm++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
46 浏览

eclipse - 我在 vdm sl 项目中有两个错误,1) 操作 =; 2)时间::小时:nat;

vdm-sl 中的智能停车模型

类型

功能

错误行操作 = ; Actor :: id : Id action : 动作 inv mk_Actor(-, action)== action = ;

操作

错误行:

时间 :: 小时 : nat;

0 投票
1 回答
61 浏览

vdm++ - 通过 for all 循环运行集合时无法返回集合中的每个元素

我试图通过 for all 循环运行包含 Brewage 对象的集合中的每个元素。但是当我尝试这样做时,返回值会变得混乱。

循环功能:

酿造构造:

我得到的错误是在 Scan 函数中,如下所示:

操作返回 void 值。实际:(() | Brewage) 预期:Brewage

0 投票
1 回答
38 浏览

vdm++ - 纯操作调用可能不是引用透明的?

当我尝试对序列的前两个元素使用纯操作时,会收到此警告。

代码看起来像这样:

它会导致警告:“纯操作调用可能不是引用透明的”,并且 Overture 在函数下方放置了波浪状的黄线hd

是什么导致了这个警告,我该怎么办?

0 投票
1 回答
44 浏览

vdm++ - 如何将谓词应用于集合?

假设我有一套,S = { 1, 2, 3, 4 }(内容并不重要)

我可以说forall x in set S & x mod 2 = 0,但这会给我一个布尔答案——里面的所有数字都是偶数吗?如果我想查看集合中x mod 2 = 0为真的所有成员怎么办?

将谓词应用于它的语法是什么?如何过滤奇数、偶数、高于/低于 3.5 的数字等?

0 投票
1 回答
71 浏览

vdm++ - 我如何对集合/序列进行转换/操作?

我有一套S = { 1, 2, 3, 4, 5 }

通过对其应用数学运算(例如乘法、幂)来更改集合的内容(或者更确切地说,创建一个新集合)的语法是什么?

0 投票
2 回答
133 浏览

vdm++ - 集合/序列求和运算符?

我有一套,S = { 1, 2, 3, 4, 5 }.

如果我想用标准逻辑总结它,它只是 ∑S(SO 上没有 MathJax,所以我不能很好地格式化这个)。

什么是 VDM 等价物?我在语言参考的数字/集合部分看不到任何内容。

0 投票
1 回答
81 浏览

casting - VDM++ 中有类型转换吗?

例如,我想在 VDM++ 中将nat转换为 char 的 seq 。

"X is {value of q}"在下面的代码中,如果 q 是 nat 类型并且 q < 3 ,我希望操作 setValueOfX 返回。

我试过使用^,但出现以下错误

错误 [207] : '^' 的 Rhs 不是序列类型
行为: nat
exp : ( seq1 of # | [] )

0 投票
1 回答
36 浏览

integer - 如何使用前置条件确保输入仅为 int 类型

假设我有一个函数返回 type 的两个输入值中的较小者int。我想将前提条件设置为只允许 a 和 b 类型int

当我省略前置条件并进入print Example.min(12.345, 0.123)解释器时,我得到 0.123 作为回报。

解释器窗口

如何确保该函数只接受 type 的输入int

0 投票
1 回答
31 浏览

file - 如何在 VDM++ 中建模接受 pdf 文件作为输入

假设我想为一个接受类型文件的程序建模pdf

我应该如何在 VDM++ 中模拟接受pdf文件作为输入?

0 投票
0 回答
30 浏览

recursion - {VDM-SL} 建议功能的定点解决方案

建议函数 T1(F,x,y) == if x = 0 then 1 else y * F(x-1,y) 的定点解决方案我没有回答使用两个变量的问题,例如 x & y 所以当谈到解决这个问题时,我不知道我什么时候完成,或者我是否完全正确。