题名 Apla中泛型约束机制研究
被引量:13
1
作者
左正康
薛锦云
机构
中国科学院软件研究所计算 机科学国家重点 实验室
江西省 高 性能 计算 技术 重点 实验室 (江西师范大学 )
中国科学院大学
出处
《软件学报》
EI
CSCD
北大核心
2015年第6期1340-1355,共16页
基金
国家自然科学基金(61462039
61020106009
+5 种基金
61363012
61363013)
江西省自然科学基金(20142BAB217023
20142BAB217026
20142BAB207026)
江西省教育厅科技项目(GJJ14268)
文摘
泛型程序设计可大幅提高程序的可重用性、可靠性和开发效率.泛型约束机制是对泛型参数进行形式描述,并对其合法性进行检测及验证,从而保证泛型程序的可靠性和安全性.分析总结多种主流语言的泛型约束特性,存在难以描述及验证基于动态语义的复杂约束需求问题,与完整实现GP尚有距离;以抽象程序设计语言Apla为宿主语言,提出了基于代数结构及公理语义的泛型约束方法,给出了基本数据类型、自定义抽象数据类型和子程序的3类泛型约束机制,拓展了泛型程序设计约束的应用范围.同时,支持静态语法和动态语义层约束,提高了泛型约束的精确度;借助Isabelle定理证明器,设计了泛型约束匹配检测和验证算法;进一步设计了泛型约束机制在PAR平台的实现方案及其系统原型.实验部分给出了该泛型约束机制描述、检测及验证一系列复杂泛型约束问题的全过程,自动生成的C++模板程序的可靠性和安全性得到显著提高.
关键词
泛型约束机制
APLA语言
代数结构
动态语义约束
安全性
Keywords
generic constraints mechanism
Apla language
algebraic structure
dynamic semantic constraint
safety
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
题名 Radl算法到Apla程序的生成系统
被引量:10
2
作者
谢武平
薛锦云
机构
软件工程国家重点 实验室 (武汉大学 )
江西省 高 性能 计算 技术 重点 实验室 (江西师范大学 )
武汉大学 计算 机学院
出处
《计算机研究与发展》
EI
CSCD
北大核心
2014年第4期856-864,共9页
基金
国家自然科学基金项目(60573080
60273092)
国家自然科学基金重大国际(地区)合作研究项目(61020106009)
文摘
算法设计是一项创造性工作,传统的设计与描述方法难以保证算法的正确性.在PAR方法中通过定义具有数学引用透明性的算法描述语言Radl,可实现对问题规约进行形式化推导得到用递推关系描述的算法.Radl算法的核心就是递推关系组,从而易于进行形式化推导和证明.通过深入剖析Radl算法特性,揭示Radl算法与抽象顺序程序Apla(abstract programming language)间本质关系,定义基于Radl语法产生式的Apla程序生成规则,实现了Apla程序自动生成系统,并对其可靠性进行系统研究,着重形式化验证了实现系统的核心算法.使用PAR方法开发的算法是正确的,采用形式化证明的生成系统具有可靠性保证,从而保证了算法从设计到实现的高可靠性,并通过实现自动化开发工具提高了程序的开发效率.
关键词
PAR方法
Radl算法
程序生成
算法推导
生成规则
Keywords
PAR method
Radl algorithms
program generation
algorithm derivation
generation rule
分类号
TP301
[自动化与计算机技术—计算机系统结构]
题名 关系代数派生算子语义表达式间等价性证明
被引量:2
3
作者
杨波
薛锦云
机构
江西省 高 性能 计算 技术 重点 实验室 (江西师范大学 )
出处
《计算机科学与探索》
CSCD
2008年第1期97-103,共7页
基金
the National Natural Science Foundation of China under Grant No.60573080( 国家自然科学基金)
the National Grand Fun-damental Research 973 Program of China under Grant No.2003CCA02800( 国家重点基础研究发展规划( 973) 前期研究专项) .
文摘
关系代数的派生算子在关系数据库查询语言中得到了广泛应用。它们的语义有两种常见的表示方式,一种是基于原始算子的表达式,一种是基于一阶逻辑的表达式。但有关的文献资料都没有给出这两种表达式等价性的严格证明。文章尝试通过一系列等价变换,证明派生算子语义的这两种表达式间的等价性。从派生算子(主要是除算子)语义的原始算子表达式出发,根据关系代数表达式的特点,通过一步步的等价变换,得到派生算子语义的一阶逻辑表达式。所使用的变换方法能为关系代数表达式的正确性证明打下基础。
关键词
关系代数的派生算子
原始算子
一阶逻辑
除算子
等价变换
Keywords
derived relational algebra operators
original relational algebra operators
one order logic
relational division operator
formal deductions
分类号
TP311
[自动化与计算机技术—计算机软件与理论]