欢迎来到天天文库
浏览记录
ID:6057409
大小:28.00 KB
页数:6页
时间:2018-01-01
《ada语言可重用性技术方法探究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Ada语言可重用性技术方法探究 摘要:Ada属于一种强类型通用程序设计语言,它比较适用于大型的复杂软件系统,尤其是实时和嵌入式系统。现在我国很多卫星型号软件都采用Ada语言进行开发。由于卫星使用的芯片代码区容量有限,为了实现更多的功能,提高卫星的使用率,对于代码的复用显得尤为重要。研究Ada语言的可重用性技术方法很有必要,通过对Ada语言重用性技术方法研究以及其实际应用介绍,能够更好的帮助软件开发人员以尽量少的代码来实现尽量多功能。关键词:卫星;Ada语言;可重用性;类属单元;C++绑定中图分类号:TP311文献标识码:A
2、文章编号:1009-3044(2014)02-0308-036自从问世以来,Ada得到了世界各国的广泛重视,已相继成为美国、欧洲主要西方国家的军用标准和国家标准,我国也于1992年制定为了国家标准语言(GJB1383-92)。可以把Ada语言视为现代程序设计语言的一个里程碑和顶峰,Ada语言在很多方面的评估上都要优于其他编程语言,如对风险程度的评估、生存期费用的评估、可维护性以及可扩展性的评估、可用性和可靠性的评估、效率的评估、能力的评估等六个方面,它的评分时优于现在比较常用的C、C++、FORTRAN、PASCAL等主要流
3、行编程语言。Ada语言的特点主要有:可读性好、允许分离编译、支持抽象和信息隐藏、促进软件的重用、实施强类型机制、提供多任务功能、具有异常处理能力等。因Ada在上述方面具有明显优点,所以它是非常适于大型和实时嵌入式系统开发和维护的通用高级语言。目前我国卫星型号的软件广泛应用Ada语言开发。1Ada语言的可重用性方法1.1软件可重用性软件的可重用性一直都是软件工程中人们所追求的目标之一。可重用性不但有助于提高软件的质量及其开发效率、而且有助于降低软件的开发费用和维护费用[1]。从另一个方面上理解,软件工程的可重用性还应该包括多个
4、方面,比如说:应用项目的重用性,规格说明的重用性,设计的重用性,概念和方法的重用性等等。总的来说,层次越高的重用,也就会带来的越大效益[2]。模板元的编程是一种编程方式,在编译期通过模板实例化进行计算。早在1994年,由ErwinUnruh6在一次C++标准委员会的会议上提出的[3]。因为其编译器执行的独特的优点,模板元编程很快就引起了大家广泛兴趣。此后,模板元编程得到了快速的发展,并且在软件开发过程中得到了成功的应用。到目前为止,很多种编程语言都对模板元编程提供了很好地支持。然而在传统的编程过程中,每个程序都要经过编译、链
5、接以及执行这三个必不可少的步骤。编译过程做的只是将代码翻译成机器能识别的机器语言。一般来说,在编译期能做的还是很少的,编程的任务大都在运行期执行。与传统编程相比较而言,模板元编程它具有如下2个特点:1)在编译期进行编程是模板元编程最显著的特点通过在编译期进行编程,这样的话很多在运行期才能进行的任务都可以在编译期来完成,这样做的好处就是能够在性能或者接口简单化方面带来很多好处[4]。2)以更少的开销提供更多的功能通过对编码的“再生”,能够提供比源代码更多的功能。由于在编译期承担了运行的一些执行期的任务,这就意味着运行期的开销就
6、会减少很多。模板元编程在软件开发中的作用也是十分明显的,在软件开发中有着广泛的应用前景[5]。1.2Ada语言类属单元代码重用是多年来软件开发一直强调的重点,也是程序员们的一个希望。但在C这些语言中,由于语言的先天不足,代码重用是有限的。Ada里提供了类属单元(Genericunit)的功能(和C++的模板template差不多),使得有可能创建更为通用的子程序或程序包[6]。6类属单元是一个程序单元,但它只是一个样板,不能直接使用,只有通过取例才能使用。类属单元体现了类型抽象的一种机制,这种机制支持了软件的可重用性概念。类
7、属单元是一种参数化的模板,它的主要用途是可以提高程序开发的生产效率,可以避免源代码的重复,可以提高程序的可维护性、可读性以及有效性。一个类属单元可以是程序包或子程序,允许执行的运算不依赖特定数据类型。1.3Ada95中对C++模板的绑定C++是当今公认的最为流行的面向对象编程设计语言之一,拥有着大量的、成熟的可重用类库资源。但Ada95标准中仅仅定义了针对C语言、FORTRAN语言和COBOL语言的过程级绑定接口。所以,研究Ada95与C++这两种面向对象语言的在类层次上的绑定生成技术,能够对重用C++的资源具有非常重要意义
8、。6Ada95和C++都支持参数的多态机制。C++提供的模板以描述具有相似特性的一组为一个类,与之对应的是在Ada95中的类属单元程序包。模板与类属的主要功能是将相似或重复定义交给编译器来完成。软件设计人员仅在程序设计时定义单一的模板或类属,以不同的类型参数来指定区别不同的实例。在编译阶段
此文档下载收益归作者所有