论文部分内容阅读
嵌入式系统在消费类电子产品、通讯系统、车辆控制装置、遥感设备等多个领域得到日益广泛应用。嵌入式软件与PC软件开发相比较,普遍存在技术要求高、性能要求高、软件变更与维护难等特点。另一方面,随着因特网的迅速普及,各种嵌入式设备对接入以因特网为首的网络的需求也日益提高。自动售货机是用于销售合装、罐装等有形、防震防压性能好的商品的机器。自动售货机作为大型嵌入式系统设备同样面临着上述的普遍问题及需求。如何提高自动售货机软件的开发效率,缩短开发周期,提高软件质量,满足自动售货机发展的各项要求迫在眉睫。尽管采取了很多的技术和手段,软件产品及开发过程仍然存在诸如软件模块化程度低,体系结构层次不清,可维护性差,开发效率低下等许多的问题。本文以自动售货机控制软件为应用背景,探索和研究改善大规模嵌入式软件产品及其开发过程的解决方案。目的是:为大规模嵌入式软件系统的开发提供一套完整的开发平台以实现系统对网络的接入更加容易;通过改善嵌入式软件系统的体系结构来提高软件质量;研究一套从分析、设计、编码到测试整个过程可使用的,可视化程度高的软件开发方法,以提高软件的开发效率,缩短软件的开发周期。为了实现上述目的,论文对“面向方面技术(Aspect Oriented Technology,AOT)”进行了详细的分析,提出了自己的观点,并把AOT应用于自动售货机控制软件开发中,有效地改善了自动售货机控制软件产品及开发过程。主要研究成果有:(1)设计和实现了一种基于Java技术的嵌入式软件开发平台,解决了嵌入式软件可扩展性差、系统集成难的问题;(2)提出了一种面向方面的嵌入式软件体系结构模型,改善了软件内部结构,提高了软件的可维护性和可重用度;(3)提出了基于UML和形式化方法的AO描述方法,提高了软件设计和实现间的一致性以及建模准确度;(4)设计和实现基于C语言的方面组织器(Aspect Weaver);(5)提出了面向方面的敏捷统一软件开发过程,能够严格地指导嵌入式软件系统的开发,克服了传统开发过程方法论的缺点。论文的主要研究工作内容如下:(1)综述了面向方面技术的发展历史、原理和发展现状以及嵌入式软件系统的特点和当前面临的挑战,分析了大规模嵌入式软件系统及其开发过程中的问题点及需求特性,明确阐述了本文研究的背景、意义以及主要的研究内容和成果。(2)根据AOT的基本思想,开发平台特性的实质是一种横断关注点,始终保持平台特性关注点和其他功能性关注点的分离十分必要。为了实现这种平台特性关注点的分离,设计和实现了一种基于Java技术的嵌入式软件系统开发平台。介绍了该平台的软硬件结构、功能、关键技术及其特点。实际应用表明,使用该平台易于实现嵌入式系统对网络的集成和系统功能的扩展。(3)分析了传统软件体系结构中存在的问题和不足。详细讨论了嵌入式系统的基本构成要素,设计原则和嵌入式软件设计的共性。采用AOT解决各构成要素间导致系统开发效率和软件质量低下的横断关系,定义了面向方面软件体系结构的基本构件及各构件间的连接器,进而提出了一种面向方面的嵌入式软件体系结构模型。通过在自动售货机控制软件开发中的实际应用,说明了基于该模型的软件设计过程。与基于传统软件体系结构开发结果对比表明,采用该软件体系结构模型能够提高软件系统的开发效率和软件质量。(4)分析了前面提出的嵌入式软件体系结构模型的本质,进一步抽象出该体系结构的构成要素及构成要素间关系,并讨论了使用该软件体系结构模型的面向方面软件系统的基于UML和形式化方法的描述方法。(5)实现AO(Aspect Oriented)设计的关键技术之一是方面编织器(Weaver)的设计与实现。本文探讨了采用大众化的开发工具实现方面编织器的方法,结合编译原理,给出了方面编织器的实现思路,实现了基于C语言的方面编织器,并应用于自动售货机控制软件开发中,验证了上述各章节的研究结果。(6)整合了AO、极限编程(eXtreme Programming,XP)和统一过程的软件开发方法,将AO和XP的思想融入到统一过程中,提出了基于面向方面的敏捷统一软件开发过程(Aspect Oriented eXtreme Unified Process,AOXUP)框架,给出了该过程框架的核心流程。自动售货机的应用实践表明,使用该过程框架使得软件开发过程的复杂度下降,开发过程更加容易管理。最后,作为本文的结束语,对上述各章节进行总结,提出目前存在的问题和继续研究的方向,并对面向方面技术领域的进一步应用研究提出了看法。