G语言系统模型转换与验证的研究

来源 :太原理工大学 | 被引量 : 0次 | 上传用户:wusic
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
G语言是一种基于数据流的程序化框图语言,内部有多种完全封装的算法模块,其应用领域非常广。目前,G语言未列入ANSI标准语言,且与NI(National Instruments)硬件绑定使用。为了保留现有的算法模块及已经在产品中应用的成熟算法,并降低硬件产品的成本,有必要将G语言转化为某种国际标准语言,以兼容通用硬件平台。ANSI-C是一种在嵌入式开发领域最受欢迎的语言,可以应用于多种硬件产品。因此,设计实现一种G2ANSI-C系统模型转化平台,拓展G语言的应用范围,并实现软硬件的解耦是亟需解决的问题之一。目前,G语言开发的智能产品,越来越多地走入了人们的生活,故对于产品的可靠性和安全性就提出了更高的要求。采用G语言进行系统设计时,涉及控制后台逻辑的程序化框图和负责与人交互的前面板,对其进行阅读、检查时比较困难,且没有针对其进行检测的工具。一般地,对系统进行检测,可以利用手动代码演练、同行评审、静态源代码分析、简单的旧单元和集成测试等,这些方法虽然可以有效地捕捉错误,但它们检测的效率较低。因此,需要利用自动化验证工具SPIN对G语言系统进行系模型验证,即实现G2Promela是亟需解决的问题之二。本文设计并实现了G2ANSI-C和G2Promela。其技术框架采用编译器的三层经典架构进行的,即前端-中端-后端,并进行了一系列改进和优化。在整体系统的实现中,二者共享一个前端,中端完成了基于创建的G2ANSI-C与G2Promela映射表进行优化的工作,后端是分别对G2ANSI-C与G2Promela优化结果的输出。在前端设计中,主要利用了FA算法和正则表达式理论完成Token集的获取,利用改良的BNF范式完成了文法规则的设计,采用改进的算法LALR(1)进行了语法分析构建AST,其中分析表的构建是研究的重点。在课题研究过程中通过对三种语言的规则分析比对,创建了G2ANSI-C映射表以及G2Promela映射表。基于这两个表,对中端的优化工作分别进行分类实现。在G2ANSI-C的转化中,中端采用了DFS深度优先算法对抽象语法树遍历,完成了对关键字替换、冗余代码消除、运算符处理、IO流变量识别及被调函数黑盒转换的优化工作。在G2Promela的转化中,为保证G语言的主体逻辑保持不变,从关键字、变量、方法函数、基本结构及指针等方面进行优化,使G语言的各个Token都符合Promela的规范,从而成功建模完成验证。在目标代码的输出阶段,在同一个模块HeaderCodeGen下,采用DFS遍历方式依次获取叶子结点,并输出到.pml后缀的文件内。在获取生成的目标代码ANSI-C后,利用Modex工具进行建模,并采用SPIN工具对其进行自动化验证。在获取Promela模型后,直接在SPIN工具中进行验证。验证工作经过Syntax Check、Redundancy Check、Symbol Table、Automata View、Simulate Replay及Verification 6个阶段,包含模型异常、进程流程、运行时间、是否存在死锁、存储容量大小及可达路径深度等多项指标。最终,通过对结果的分析,得出生成的ANSI-C程序各项指标均优于直接从G语言提取的模型,验证了所构建的模型转换和验证系统的有效性。基于本文构建的系统,可以实现G语言平台的解耦,扩展了G语言应用范围,同时为G语言提供了自动化验证手段,具有很强的理论和实用价值。
其他文献
目的探讨环境和遗传因素在混合牙列期对软组织H平面的影响,为确立牙齿的正确矫治计划提供理论依据。方法测量6~12岁183对双生子女童的头颅侧位片,利用双生子法得出生长发育过
目的:观察龙胆泻肝汤合桃红四物汤加减治疗艾滋病带状疱疹的临床疗效。方法:33例艾滋病带状疱疹患者采用龙胆泻肝汤合桃红四物汤加减治疗,10 d为1疗程。结果:治疗1疗程后,33
第二次世界大战以后,日本经济空前繁荣,日本企业飞速发展,日本企业管理文化也得到了空前发展。日本企业文化经过三者之间的不断整合、碰撞,形成了其独特性。二战后的日本企业
以知识为导向的中职英语教学方式对于现阶段的职业教育要求已经无法满足,难以培养出符合现代化发展需求的技能应用型人才。为了改善这一局面,为社会输送更多高素质人才,中职
[目的]采用EB病毒血清学方法筛查鼻咽癌高中危人群,并对筛查出的高中危人群的转归与检出鼻咽癌的关系进行探讨。[方法]选取2009年8月到2010年7月中山市某镇鼻咽癌筛查项目中
目的:观察香砂养胃汤治疗慢性萎缩性胃炎的临床疗效。方法:92例患者随机分为对照组和治疗组各46例,对照组予西沙必利及胃必治口服治疗,治疗组予自拟香砂养胃汤治疗,两组均3周
目的:观察雷公藤内酯醇(TP)对IgA肾病(IgAN)大鼠尿蛋白和足细胞nephrin、podocin蛋白及mRNA表达的影响。方法:采用牛血清白蛋白+四氯化碳+脂多糖的方法建立IgAN大鼠模型。将6
断裂与裂缝是碳酸盐岩储层发育的一个重要主控因素,有效识别解释断裂系统和裂缝发育特征对储层预测具重要意义。通过应用相干体、蚂蚁体、曲率体及地层趋势面技术、地层倾角变
试验将体重约10kg的35日龄断奶仔猪135头随机分成9组,通过添加豆粕、鱼粉、血浆蛋白粉3种不同蛋白源分别配制18%、20%、22%三个不同蛋白水平的日粮,研究蛋白源与蛋白水平对断奶仔