论文部分内容阅读
随着“后PC”时代的到来,人类生活越来越依赖于嵌入式实时系统的应用,而应用的范围也从一些安全关键系统逐步涉及到人类生活的诸多方面,如数字通信、信息家电、航空航天、工业过程控制及军事电子等。然而嵌入式实时系统结构的日趋复杂,功能的日趋强大对嵌入式实时软件开发技术提出了新的挑战。为了应对这些挑战,满足嵌入式实时软件所具有的可配置性、良好的通用性、灵活裁减性和安全关键性等需求,需要将构件技术和形式化方法等先进技术应用到嵌入式实时软件的开发中。与此同时,一个可以控制软件功能的复杂性、减少开发难度、保障软件质量和缩短开发周期的嵌入式实时开发平台也显得十分重要。在对嵌入式实时软件开发技术的现状进行系统地分析后,本文设计并实现了一个基于构件的嵌入式实时软件开发平台-CERTSDP,为基于构件的嵌入式实时软件开发提供了最基本的软件平台支持,并对平台的设计和实现过程中的一些相关关键技术进行了详细的研究。本文的具体研究工作如下:
(1)基于构件的嵌入式实时软件开发技术中的关键问题研究。随着嵌入式实时软件功能的复杂度越来越高,如何提高开发效率和质量对于嵌入式实时软件的开发至关重要。本文首先针对嵌入式实时软件的实际特性,结合构件技术的重用性特点,从系统的角度分析了基于构件的嵌入式实时软件的开发过程中应该解决的几个关键问题:软件结构规约、软件行为规约、构件配置和执行、程序代码产生和软件配置。然后根据分析的结果,在现有的CORBA构件模型的基础上,提出了CERTSDP平台的构件模型。此构件模型有着良好的结构和构件模型定义标准,便于构件的开发、替换和维护。实践证明,基于构件的开发方法使得设计者不需要花很多的时间去适应新的嵌入式实时软硬件平台,它可以直接使用现有的软件构件加以整合,大大地减少了开发时间,同时较好地适应了嵌入式实时系统软硬件的多样性特点。
(2)基于形式化软件开发方法的嵌入式实时软件开发技术研究。为了确保安全关键的嵌入式实时软件的功能正确性,并满足如时间和空间约束等非功能性需求,本文在嵌入式实时软件的开发过程中全面应用形式化方法。按照形式化软件开发方法的流程,将嵌入式实时软件的开发过程分为形式化建模、形式化综合和形式化验证阶段。
在形式化建模阶段,提出了结合UML建模方法和形式化方法的精确化建模方法,从而降低形式化方法建模的难度。利用UML建模技术先对嵌入式实时软件进行面向对象的半形式化建模,然后将这些UML模型转换成具有精确语义的形式化模型。根据平台中对模型的分析和验证需求的不同,具体转换内容包括将UML顺序图和状态图模型转换成具有中断描述能力的着色时间Petri网和时间自动机模型。在形式化综合阶段,提出了具有中断处理能力的嵌入式实时软件的混合调度算法和代码自动生成算法分别对嵌入式实时软件模型进行调度并自动生成程序代码,这样就确保产生的程序代码不仅能够符合指定的时间和空间约束等,而且可以减少人为的程序错误及撰写程序代码的时间。在形式化验证阶段,提出了基于模型检验技术的嵌入式实时软件模型验证方法,从而可以让设计者经由形式化验证的方式,完整地验证软件功能的正确性,避免软件执行可能发生的错误。本文在上述形式化方法在嵌入式实时软件开发中的应用研究基础上,并且根据CERTSDP平台的构件化模型,将这几个开发阶段的功能封装成几个基本功能构件,如规约构件、建模构件、综合构件和验证构件等,并且将这些构件以插件的形式无缝集成到CERTSDP平台中。
(3)设计并实现了一个基于构件的嵌入式实时软件开发平台。根据上面的研究成果实现了CERTSDP平台的原型及相关支持工具。在CERTSDP平台中,整合了基于构件的软件重用,形式化建模,形式化综合,形式化验证及自动化程序代码生成等技术。目前已经实现了该平台的硬件抽象层、平台底层总线和总线适配器、构件库管理系统、项目管理系统和集成开发环境等。基于CERTSDP平台进行嵌入式实时软件开发的实例证明平台的应用极大地提高了嵌入式实时软件开发效率和质量。