[发明专利]一种基于时序逻辑语言MSVL的函数调用方法有效

专利信息
申请号: 201410531029.2 申请日: 2014-10-10
公开(公告)号: CN104281480B 公开(公告)日: 2017-06-06
发明(设计)人: 段振华;张南;田聪;王小兵;赵亮 申请(专利权)人: 西安电子科技大学
主分类号: G06F9/45 分类号: G06F9/45
代理公司: 北京科亿知识产权代理事务所(普通合伙)11350 代理人: 汤东凤
地址: 710071 陕西省*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 时序 逻辑 语言 msvl 函数 调用 方法
【说明书】:

技术领域

发明属于计算机系统形式化建模与验证技术领域,主要涉及的是逻辑程序设计语言的实现,特别是一种基于时序逻辑语言MSVL的函数调用方法,可用于在MSVL程序中调用其它多种不同语言程序,有利于代码的复用和集成,简化程序设计。

背景技术

1977年,A.Pnueli将时序逻辑引入到计算机科学领域,主要用于对实时、并发系统进行建模和验证。经过近40年的研究,时序逻辑领域已经得到了很大的发展,形成了三大分支:线性时序逻辑(Linear Temporal Logic)、分支时序逻辑(Branching Temporal Logic)和区间时序逻辑(Interval Temporal Logic)。

投影时序逻辑(Projection Temporal Logic)是一种区间时序逻辑,区间的含义为有穷或无穷的状态序列,序列中的状态个数减1为区间长度,当为无穷状态序列时,区间长度被定义为无穷大,即ω。PTL以投影操作符(prj)为特色,可用于描述执行在不同粒度区间上的并发进程的并行执行。

逻辑程序设计语言(MSVL)是投影时序逻辑的一个可执行子集,可用于对并发、实时系统进行建模(Modeling)、仿真(Simulation)和验证(Verification)。MSVL包含了大多数命令式程序设计语言(如C语言)中的常用语句和编程结构,例如赋值语句(:=)、顺序结构(;)、分支结构(if-then-else)和循环结构(while),因此它可以实现一般命令式程序设计语言能够实现的大多数功能。MSVL中还包括一些并发类编程结构,如合取(and),并行(||)和投影(prj),其中合取结构P1 and P2表示进程P1和P2并行执行在同样长度的区间上,且共享区间上的所有状态;并行结构P1||P2表示进程P1和P2可自行规定各自执行的区间长度,且共享较短区间上的所有状态;投影结构(P1,...,Pm)prj Q表示进程Pi(i=1,...,m)顺序执行,由每个Pi执行区间的端点状态顺序排列构成的一个较粗粒度的投影区间,或该投影区间的某个前缀,或以该投影区间为前缀的某个区间被作为进程Q的执行区间。投影结构体现了多个进程之间的并发性和自治性。另外,由于在时序逻辑程序设计中,变量的值不能自动从当前状态传递到下一状态,因此MSVL中的框架结构(frame)用于变量值在相邻状态间的传递。除此,MSVL中还包括异步通信结构(await),可用于对分布式系统进行建模和验证。MSVL中的数据类型包括整数类型,浮点类型,字符类型,字符串类型,指针类型和结构类型。基于MSVL的类型系统,可以定义函数和谓词。函数是程序设计中一种十分有用的构建模块,函数可以对数据和操作进行有效封装,对外只提供一个简单的函数接口,当程序需要执行一个同样的功能时,可以直接调用写好的函数,而不用重新编写代码,从而提高代码复用率,简化程序设计,使程序更加简洁精炼,但MSVL中还没有给出函数定义及调用的实现方法,这一缺陷给MSVL程序设计带来不便,同时导致MSVL程序冗长,不易理解。

发明内容

针对现有技术的不足,本发明旨在提供一种基于时序逻辑语言MSVL的函数调用方法,通过该方法,可以在同一程序中以不同的方式对被调用函数进行解释;并且在MSVL程序中可以调用由C语言和Java语言编写的函数,有利于多种不同编程语言程序的集成,有效降低程序开发的难度,提高代码复用率。

为了实现上述目的,本发明采用如下技术方案:

一种基于时序逻辑语言MSVL的函数调用方法包含如下步骤:

步骤1,判断被调用函数是否为MSVL函数,如果是,定义该函数;如果不是,判断被调用函数是否为有返回值的外部函数,如果是,则执行步骤2,如果被调用函数为无返回值的外部函数,则执行步骤3;

当所述被调用函数为MSVL函数时,根据形式的不同,分四种情况对该函数进行定义:

1)有参数有返回值,则定义格式如下:

def ine f(in_type x1,...,in_type xn,out_type y1,...,out_type ym,return_type RV[]){MSVL程序};

2)有参数无返回值,则定义格式如下:

def ine f(in_type x1,...,in_type xn, out_type y1,...,out_type ym){MSVL程序};

3)无参数有返回值,则定义格式如下:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410531029.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top