论文部分内容阅读
随着嵌入式实时应用系统的迅速发展,面对着不断增长的嵌入式软件开发的复杂性压力,如何高效的开发嵌入式应用程序,成为软件工程学迫切需要解决的问题;同时,系统的非功能属性,如时间约束、容错策略、安全性、可靠性等,也已经被赋予极高的要求,当系统非功能属性正面对越来越复杂的嵌入式系统时,如何满足其严格的约束成为一个巨大的挑战。为了解决以上问题,软件工业标准化组织OMG(Object Management Group)提出了MDA(Model Driven Architecture)方法。MDA是一种用于软件系统开发的软件设计解决方案,包括模型开发、模型集成、模型解释、模型转换等等。由于对建模的需求,美国机动车工程师学会提出了AADL(Architecture Analysis & Design Language)语言。AADL语言是一种对体系结构分析建模的语言,在软件生产技术中,对可靠性系统的探索做出了重要的贡献。AADL语言主要面向的是嵌入式实时系统,通过对系统架构的描述,为实时系统的分析提供了有效方法,其模型到可执行C代码的代码生成工作正得到越来越广泛的关注。本文在基于MDA设计思想的基础之上,以AADL为研究对象,结合面向汽车电子的OSEK/VDX平台,提出了一种将AADL组件转换为C代码的设计策略,并通过规则引擎方法将其实现。OSEK/VDX是用于汽车控制的开放式系统及其相应的接口,本文根据OSEK标准设计实现了一个实时操作系统。为满足基本的汽车电子系统需求,该OSEK系统中包含了任务模块、报警器模块、时钟模块、事件模块、中断模块等,能够为模型驱动提供一个实时的嵌入式平台。本文实现了AADL系统模型和simulink功能模型的代码转换,对OSEK的OIL文件进行合成和处理,搭建编译环境,最终完成交叉编译。系统以Eclipse框架为开发技术,以乐高机器人为硬件应用目标平台,集成了乐高机器人的开发环境和开发工具,完成了在OSEK实时系统上以模型驱动应用,使MDA模型驱动理念在该特殊的嵌入式硬件环境和软件环境中得到实现和验证,拓展了模型驱动方法在多种平台上的生命力,特别是在非通用计算机平台上的应用,本文作出了探索性的研究。