论文部分内容阅读
目前,实时控制系统已经获得了空前的应用和发展。实时控制系统软件与PC软件开发相比较,普遍存在技术要求高、性能要求高、软件变更与维护难等特点。另外,随着实时控制应用系统功能复杂度的提高、人们对软件产品的非功能约束给予的特别关注以及由于市场的激烈竞争导致实时控制软件推出周期的缩短,都使得实时控制软件开发人员面临着严峻的危机和考验。如何提高实时控制系统软件的开发效率,缩短开发周期,提高软件质量,满足实时控制系统发展的各项要求迫在眉睫。尽管采取了很多的技术和手段,软件产品及开发过程仍然存在诸如软件模块化程度低,体系结构层次不清,可维护性差,开发效率低等许多的问题。本文正是基于此背景,探索和研究了改善实时控制系统软件产品及其开发过程的解决方案并做了如下工作:第一,设计和实现了一个使用于中低端微控制器上运行性能良好的ARTIC微内核,它充分考虑中低端微控制器的硬件特点和实时控制系统软件的需求,采用完全事件驱动的思想。使用ARTIC进行实时应用软件开发时,对实时控制系统进行升级,只要用新模块替换旧模块,不需要改变整个实时操作系统,这样就可提供更好的可扩展性和更加有效的应用环境。微内核中的任务管理模块和时间管理模块可被ARTCSF框架调用以实现其非核心功能,提高了模块的可追踪性和可重用性。第二,提出了一种基于状态的主动对象设计模式并将其应用于ARTCSF框架开发中。根据实时系统通常由多个控制线程组成的特点,把实时系统软件构建成多个主动对象的组合。与传统的开发方法相比,它直接支持实时系统的并行性。第三,分析了传统软件体系结构中存在的问题和不足。详细讨论了实时控制系统的基本构成要素,设计原则和实时控制系统软件设计的共性。采用AOP技术解决各构成要素间导致系统开发效率和软件质量低下的横断关系,并基于分层体系结构模式和面向对象设计模式,创新的提出了一种通用的、松散耦合的面向方面的实时控制系统框架ARTCSF。与基于传统软件体系结构开发结果相比,采用该框架能够提高软件系统的开发效率和软件质量。第四,实现了ARTCSF的关键技术之一是方面编织器的设计和实现。本文探讨了采用大众化的开发工具实现方面编织器的方法,结合编译原理,给出了方面编织器的实现过程,实现了基于C/C++语言的方面编织器,并应用于实时控制系统软件开发中,取得了很好的效果。第五,应用ARTCSF框架,给出了实例系统EL&AS的详细设计和实现过程。与传统面向对象系统相比,本系统从分析和设计的层面实现了AOP技术,在软件开发过程中降低了组件间的关联度,使组件职责更加清晰。最后,对本文的研究内容进行总结,并提出存在的问题和继续研究的方向。