论文部分内容阅读
用形式化方法开发软件,被当今计算机界誉为克服“软件危机”、提高软件可靠性和生产效率的革命性途径,是实现软件自动化的关键。薛锦云教授在国家863和多项国家自然科学基金的资助下,根据多年从事算法程序设计理论研究的成果,提出了一种实用的开发和证明算法程序的方法——PAR方法。本项研究是PAR方法开发算法程序的一个重要步骤,也是两项国家自然科学基金课题《基于PAR方法的算法设计形式化和自动化研究》和《PAR方法应用于Java程序开发方法研究》的子课题。 本研究主要完成了以下工作: 1、比较Apla语言和C#语言的文法,研究两种语言之间的关系,并得出Apla->C#的转换规则。 2、利用PAR方法,研制了核心转换器,以自扩展的方式将Apla语言定义的组合数据类型转换为C#类,从而将其进一步生成动态链接库(DLL)。 3、研究Apla语言中的泛型程序设计机制,得出C#实现Apla中类型参数化机制的方法,并在C#预定义组合数据类型库中实现了泛型思想。 4、研制Apla到C#自动程序转换系统。在部件库的支持下,转换系统能实现带有类型参数化的Apla程序的转换。 5、用PAR方法推导了大量典型的Apla程序,用其对自动程序转换系统进行了测试。 在本系统的研制过程中,进行了多方面的创新:集成化的软件开发环境、组合数据类型的方便使用性、精巧和复杂算法的语言描述及实现、.NET Generic机制实现的C#可重用部件库等。 本系统中的Apla语言预定义组合数据类型均由PAR方法推导得到,由核心转换器转换生成C#可重用部件库,充分保证了可重用部件库的正确性;系统集词法分析、语法分析、语义一致性分析、转换、编译、运行为一体,便于经形式化推导和证明得到的算法程序的直接运行,有利于高可靠性软件的开发。本项研究是语言从抽象到具体的自动求精过程,使非创造性的劳动机械化,可节约大量劳动力;系统的研制成功将大幅度地提高C#程序设计的效率和可靠性,能为有效克服“软件危机”做出一定的贡献。