我只记得我的大学课程,并想知道是否有人在这里甚至在专业环境中使用“Z符号”。老实说,我必须说这是我一生中参加过的最无聊的课程。也许是因为老师,但当时我们都认为这是浪费大量时间。我可能错了,这就是为什么我想听听你的意见。
如果您正在使用它或某种衍生语言(Z ++),我只想知道它对您有用。只是想知道Z或您的应用程序的一些常见应用程序。
答案 0 :(得分:3)
值得一看的是B方法(http://en.wikipedia.org/wiki/B-Method)。这是Z的稍微务实的后代。这个想法是你可以通过改进步骤(借助隐藏在幕后的定理证明器)实际释放一堆证明义务,然后最终直接从你的规范生成代码。我相信它已被用于许多“现实世界”的项目中。
答案 1 :(得分:3)
Z(正如您所指出的)是规范符号,而不是旨在促进形式验证的编程语言。
使用符号指定的较大(公知)项目之一是Mondex智能卡平台中使用的协议。最近有a revival来确定原始手动校样的正确性,并由多个团队进行机械检查,其中包括original Z specifications的验证。毫不奇怪,没有发现新的基本错误,尽管大多数团队都认为许多假设无效。
国家安全局Tokeneer project在Z中指定,然后在Spark Ada子集中实施。
鉴于表示法的表现力,它不太可能被延长。这也会使证明变得更加复杂并适得其反。
答案 2 :(得分:2)
当我读到XCB(X11中原始Xlib API的替代品)是proven correct with Z-notation时,我第一次遇到Z符号。
答案 3 :(得分:1)
Web Services Description Language (WSDL)是使用Z表示法开发的。您可以在此处找到带有Z表示法的规范:http://www.w3.org/TR/wsdl20/wsdl20-z.html。规范说明
Z符号用于提高定义组件模型的规范性文本的质量,并帮助确保测试套件涵盖组件模型隐含的所有重要规则。
答案 4 :(得分:0)
我不得不在大学做回Z!带回记忆,如果你有一个Linux安装方便尝试这个应用程序CADiZ ...
答案 5 :(得分:0)
'Z ++'被称为object-Z。自90年代早期以来,我一直没有活跃过Z(部分工作在CADiZ的Windows端口上,似乎已经消失了),所以不知道它现在的社区,还有一些最近发表的论文。 using object-Z to formalise UML