imandra python:python程序的形式化验证与推理

imandra的Python项目详细描述


imandraImandra的python客户端,这是一个基于形式验证和符号推理的最新进展而构建的云本机自动推理引擎。

用法

客户端习惯性地公开了imandra迭代分解框架(idf)功能来分解状态转换算法。客户机接受包含要分解的python代码的sting—请参见the documentation以了解如何编写接受的模型代码:

code="""class State:     def __init__(self):          self.x : int = 0     def receive_Update(self, v : int):          self.x : int = vscenario = [ 'Update' , 'Update' ]"""

您可以使用imandra.idf.decompose在云中启动idf分解作业,并将代码字符串传递给它:

fromimandraimportidfdecomposition=idf.decompose(code)

使用decomposition对象作为句柄,您可以检查作业的状态,该作业可以处于queuedprocessingdoneerror状态:

print(decomposition.status())

分解作业完成后,可以获取为区域生成的python代码:

# Create a separate Python function per region predicate print(decomposition.dumps(kind='flat'))# Create a single optimized function that returns a region numberprint(decomposition.dumps(kind='tree'))

链接

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ArrayList中实体对象上的JAVA泛型   带Redis的爪哇芹菜vs单用Redis   java在设备面向横向时隐藏标题栏/通知栏   java JXTreeTable:如何使用ComponentProvider为一列设置渲染器   java创建异常的成本与记录异常的成本相比   java在方法参数中使用setter传递新对象   java在一个类中的方法与另一个类中的方法交互时遇到问题   java如何迭代2个大小相等的ArrayList   Java getDesktop()。open在Windows中工作,但在Mac中不工作   从tomcat切换到jetty后的java“无法启动嵌入式容器”,Spring引导   java如何使用void方法   java如何在解组时在JAXB的ValidationEventHandler中获取节点值?   如何使用Akka Java API创建不响应的TCP接收器   JavaScriptjQuery在java中将记录上传到数据库时的进度条   如何在重新绘制时在java小程序中显示上一个图像