论文部分内容阅读
AADL(Architecture Analysis & Design Language);是一种字符化和图形化的语言,主要用于对嵌入式系统进行建模。MDA(Model Driven Architecture)是OMG(Object ManagementGroup)大力提倡的一种模型开发过程。它的主要思想是用户建立平台无关模型PIM(Platform Independent Model),结合具体平台信息生成平台相关模型PSM (Platform Specific Model),然后再生成代码Code。如何在MDA开发过程中使用AADL,对嵌入式系统进行建模,是本文研究的主要内容。文章分成三个部分进行重点研究。首先,分析了AADL在嵌入式领域建模方面的优越性。为了使用流行的UML工具建立AADL模型,本文提出了UML模型与AADL模型转换的方法,即在Eclipse建模框架EMF(Eclipse Modeling Framework)基础上,借助ATL (Atlas Transformation Language)模型转换工具,制定UML+MARTE (UML Profile for Modeling and Analysis of Real-time and Embedded Systems)与AADL元模型间的转换规则,根据这种转换规则,可以实现两种模型的转换。其次,针对AADL模型的调度问题,在Eclipse平台上开发了一个调度分析与仿真工具。这个工具可以从用户建立的AADL模型中提取系统、进程、线程等必要信息。调度器根据所获得的必要信息,分析模型的调度性,并仿真执行整个系统的运行过程。从而以直观可见的形式将系统信息反馈给用户,便于用户对系统进行评估和改造。最后,开发了一个AADL模型到Linux平台C代码的转换工具。AADL模型生成的代码可以称为框架代码,是系统框架结构的反映;线程要完成的具体功能可以通过Simulink模型来建立,并生成具体的功能代码。这个代码转换工具不仅可以从AADL模型生成C代码,而且可以自动把Simulink模型生成的代码与之结合起来。然后使用交叉编译工具进行编译链接,生成可执行文件,再远程下载到Linux平台上运行和调试。这三部分工作是根据MDA的思想展开的,即系统设计者构建系统、对系统进行必要的分析验证、生成代码。通过这种方式,作者试图达到嵌入式系统流水线开发的目的。