论文摘要
嵌入式系统发展迅速,而与之相关的嵌入式软件不仅要满足复杂功能性需求,同时还要满足各种非功能性(时间、功耗、资源、安全、可靠等)需求。开发传统的嵌入式软件,大多数是基于以手工代码为中心的嵌入式开发环境下进行,这样忽视对整个系统的体系结构的全局把握。并且在系统完成后,系统存在漏洞太多,尽管系统经过反复测试后,漏洞有所减少,但不能完全消除。从而对软件设计理论和开发方法提出了一系列新的挑战。要解决这些挑战,应该发展基于模型驱动方法(Model-Driven Architecture)的开发方法,即把模型的技术引入到嵌入式软件开发过程,通过模型指导软件设计的需求分析、系统设计、代码编辑、代码重构、代码测试以及系统维护等各个阶段。通过形式化的方法对模型进行验证和仿真分析(如可靠性和可调度性分析),及早的暴露模型不足和漏洞,然后开发模型的代码自动生成技术。这样形成一条嵌入式软件的生产线,提高软件开发的效率和代码的质量。论文首先介绍基于NXT的嵌入式软件生产线的背景和内容,以及相关的技术和工具。接着是生产线的设计和实现。基于NXT的嵌入式软件生产线,结合具体的NXT硬件和OSEK实时操作系统,采用模型驱动的软件开发体系为指导,分为:模型与平台无关性,模型与平台相关性,模型代码的整合这样的三个开发阶段。模型与平台无关性阶段,使用Simulink和Stateflow构建模型。可以用它来设计和仿真复杂的与具体平台无关的功能模型。为此,设计了平台无关代码生成器,把Simulink模型映射为可执行的C代码;模型与平台相关性阶段,使用体系结构分析设计语言AADL构建模型。可以用它设计和验证复杂的与具体平台相关的非功能模型。为此,设计了平台相关代码生成器把AADL模型映射为可执行的C代码。模型代码的整合阶段,是把从不同层次的模型映射得到的可执行代码到可执行程序。针对前两阶段生成的C代码,设计了代码整合程序,把生成C代码编译和连接为可执行程序,并把可执行程序下载到NXT机器人的Flash上。在此基础上,对生产线进行了功能测试和性能测试。论文最后,对课题的特点和不足进行总结,并对后面的研究进行展望。
论文目录
摘要ABSTRACT第一章 绪论1.1 课题背景1.2 课题来源和内容1.3 国内外研究的现状和发展态势1.4 论文的结构第二章 相关的技术和工具2.1 模型驱动体系结构(MDA)2.2 体系结构分析设计语言AADL 及开发工具集2.3 Matlab 建模工具Simulink 和Stateflow2.3.1 建模工具Simulink2.3.2 建模工具Stateflow2.3.3 代码生成工具Real-Time Workshop2.4 NXT 机器人平台和嵌入式汽车电子操作系统规范OSEK/VDX2.4.1 硬件组件2.4.2 软件组件2.5 机器定理自动证明器PVS2.6 本章小结第三章 总体设计3.1 系统设计3.2 系统总体框架3.3 系统流程图3.4 本章小结第四章 平台无关模块4.1 工具4.2 方案4.3 AADL FunctionList 模块库的设计4.4 平台无关模块代码生成器4.4.1 RTW 的配置4.4.2 RTW 生成程序4.5 本章小结第五章 平台相关模块5.1 工具5.2 方案5.2.1 体系结构分析设计语言AADL 的元模型5.2.2 OSEK 的元模型5.3 AADL 属性集OSEK 和转换规则描述5.3.1 AADL2C 转换规则5.3.2 AADL201L 转换规则5.4 平台相关模块代码生成器5.4.1 信息采集模块5.4.2 规则映射模块5.5 平台相关模块代码生成器接口5.6 平台相关模型的可靠性分析(基于PVS)5.7 可靠性分析实例5.7.1 经典的读写者问题5.7.2 验证读写者问题5.8 本章小结第六章 整合模块6.1 整合工具6.2 整合方案6.3 代码整合具体的实现6.3.1 Java 执行MATLAB 命令6.3.2 Makefile 的自动生成6.3.3 编译和下载6.4 创建NXT 嵌入式生产线的应用程序向导6.5 本章小结第七章 系统测试7.1 系统运行测试7.1.1 平台无关过程7.1.2 平台相关过程7.1.3 代码整合过程7.1.4 下载运行过程7.1.5 系统运行测试结果7.2 系统性能测试7.3 本章小结第八章 展望8.1 课题总结8.2 课题特点8.3 课题的不足和展望致谢参考文献
相关论文文献
标签:模型论文; 模型驱动架构论文; 平台无关论文; 平台相关论文;