预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

AADL在模型驱动中的应用研究 1.引言 AADL(ArchitectureAnalysisandDesignLanguage)是一种面向架构分析与设计的建模语言,已经被广泛地应用于实时嵌入式系统领域,如航空航天、汽车、铁路、医疗设备等;它可以描述系统整体结构和各个组件之间的关系,为系统建模提供了一种全新的方法。 模型驱动开发(Model-DrivenDevelopment,MDD)是近年来软件开发领域蓬勃发展的一种方法,它以模型作为软件开发的基本元素,通过自动化工具链将模型转化成代码,并将代码部署到目标系统上。MDD的本质是把系统的设计、实现、验证、维护等工作都到模型层面进行,从而提高软件开发的效率和质量。 AADL作为一种特殊的建模语言,与MDD结合起来能够提供全面的建模支持、快速的自动生成代码等优点。本文将重点介绍AADL在模型驱动开发中的应用研究。 2.AADL简介和特点 AADL是一种面向实时嵌入式系统的建模语言,最初由美国空军研究实验室(AFRL)开发。它的主要特点包括以下4点: 2.1结构描述 AADL的结构描述包括两个层次的部件和连接,即组件(Component)和连接(Connection);其中组件包括部件(Part)、端口(Port)、特征(Feature)和数据类型(DataType)等元素,连接包括端点(Endpoint)和连接路径(ConnectionPath)等元素。AADL的部件和连接是单独定义的,因此可以重复使用,以便更好地进行概念开发和应用模板。 2.2视图描述 AADL的视图描述包括系统结构、任务分配、性能、安全等方面的视图,其中系统结构描述包括了组件集成、组件间的通信和处理等方面的信息。 2.3实时特性 AADL具有用来描述实时特性的属性,例如执行时间、响应时间、任务切换时间、延迟时间等,以实现对系统实时性能的描述。 2.4分析和验证功能 AADL提供分析和验证功能,包括空间一致性(SpatialConsistency)、状态等价性(StateEquivalence)、时序特性(TemporalProperties)等检查和分析方法,以帮助开发者尽早检测和修复系统的缺陷。 3.MDD简介 MDD(Model-DrivenDevelopment)是一种通过模型为基础的开发方法,它以建模为中心,将系统模型作为软件组件的设计规范和开发文档,完成软件开发过程中的需求分析、系统设计、实现、测试等一系列操作。主要特点包括: 3.1面向模型 软件开发者不再直接处理代码,而是根据模型指导软件开发,并通过模型实现对系统的各个层面进行抽象和设计。 3.2自动化代码生成 通过自动化代码生成技术,MDD可以将模型直接转化为可执行代码,提高了开发效率和质量,避免了手写代码过程中的低级错误。 3.3泛化能力强 通过模型的抽象化,MDD可以为不同领域的应用提供可重复使用的组件和模板,从而实现领域知识、组件和模板的可泛化性。 4.AADL在MDD中的应用 AADL在MDD中的应用主要包括: 4.1AADL模型的构建 通过AADL描述模型优点在于构建模型效率高,灵活性强,可重用性高等,因此可以轻松构建各类实时嵌入式系统的描述模型,从而为MDD的后续工作提供保障。 4.2系统状态机的自动生成 AADL模型可以生成与之对应的状态机,这可以使得系统的行为模型能够极为精确地对系统体现。而这只需通过自动化代码生成器完成,并将AADL模型作为输入参数,生成的状态机是完全与AADL模型一致的,并且具有高度可读性。 4.3AADL模型检查 AADL模型在MDD的实现过程中,也可以使用检查工具对其进行检查,例如空间一致性、状态等价性等检查和分析。这些检查和分析可以最大程度的保证系统的质量和安全。 5.结论 AADL作为一种架构建模语言,不仅可以很好地描述嵌入式系统的架构,而且其丰富的控制流、数据流和时序特性,使得它能够很好地与MDD相结合,为实时嵌入式系统的自动化开发提供了强大的支持和保障。精准的模型描述和自动生成系统状态机,使得系统的行为变得清晰可见,同时也大大降低了系统开发的时间成本和维护成本。总之,AADL在MDD的应用为嵌入式系统的建模和开发提供了一种全新的思路和方法,有望成为未来嵌入式系统开发的主流方向之一。