%0 Journal Article %T apla中泛型约束机制研究 %A 左正康? %A 薛锦云? %J 软件学报 %P 1340-1355 %D 2015 %R 10.13328/j.cnki.jos.004628 %X 泛型程序设计可大幅提高程序的可重用性、可靠性和开发效率.泛型约束机制是对泛型参数进行形式描述,并对其合法性进行检测及验证,从而保证泛型程序的可靠性和安全性.分析总结多种主流语言的泛型约束特性,存在难以描述及验证基于动态语义的复杂约束需求问题,与完整实现gp尚有距离;以抽象程序设计语言apla为宿主语言,提出了基于代数结构及公理语义的泛型约束方法,给出了基本数据类型、自定义抽象数据类型和子程序的3类泛型约束机制,拓展了泛型程序设计约束的应用范围.同时,支持静态语法和动态语义层约束,提高了泛型约束的精确度;借助isabelle定理证明器,设计了泛型约束匹配检测和验证算法;进一步设计了泛型约束机制在par平台的实现方案及其系统原型.实验部分给出了该泛型约束机制描述、检测及验证一系列复杂泛型约束问题的全过程,自动生成的c++模板程序的可靠性和安全性得到显著提高. %K 泛型约束机制 %K apla语言 %K 代数结构 %K 动态语义约束 %K 安全性 %U http://www.jos.org.cn/ch/reader/view_abstract.aspx?file_no=4628&flag=1