基于NXT的嵌入式软件生产线的设计和实现

基于NXT的嵌入式软件生产线的设计和实现

论文摘要

嵌入式系统发展迅速,而与之相关的嵌入式软件不仅要满足复杂功能性需求,同时还要满足各种非功能性(时间、功耗、资源、安全、可靠等)需求。开发传统的嵌入式软件,大多数是基于以手工代码为中心的嵌入式开发环境下进行,这样忽视对整个系统的体系结构的全局把握。并且在系统完成后,系统存在漏洞太多,尽管系统经过反复测试后,漏洞有所减少,但不能完全消除。从而对软件设计理论和开发方法提出了一系列新的挑战。要解决这些挑战,应该发展基于模型驱动方法(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 和Stateflow
  • 2.3.1 建模工具Simulink
  • 2.3.2 建模工具Stateflow
  • 2.3.3 代码生成工具Real-Time Workshop
  • 2.4 NXT 机器人平台和嵌入式汽车电子操作系统规范OSEK/VDX
  • 2.4.1 硬件组件
  • 2.4.2 软件组件
  • 2.5 机器定理自动证明器PVS
  • 2.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 课题的不足和展望
  • 致谢
  • 参考文献
  • 相关论文文献

    标签:;  ;  ;  ;  

    基于NXT的嵌入式软件生产线的设计和实现
    下载Doc文档

    猜你喜欢