1. 什么是模型基工程?
模型基工程(Model-Based Engineering,MBE)旨在建立和分析系统模型,这样就能够预测和了解该系统的能力和工作质量属性 (如性能、可靠性或信息安全性)。在系统集成和验收试验之前,很难发现一些系统级的问题,而通过模型基工程,就可以避免在开发和维修中进行为时已晚的、昂贵的返工。
模型是客观事物的抽象表示。而模型基工程是通过使用规范语言构建的系统模型,完成包括软件密集型系统的分析、设计、构建、演示验证、使用和维护等各项活动在内的工程开发。下图说明了基于模型构建的软件系统的建模和验证过程:
如图,领域要求无关或应用要求无关的平台无关模型(Platform Independent Model ,PIM),通常是利用UML/xUML 构建的;平台要求相关的平台特定模型 (Platform Specific Model,PSM) ,则需在利用软件工具转换PIM 的基础上,结合 AADL 构建。这两种模型之间的转换过程是一个可逆的过程。也就是说,如果新的可执行系统没有达到规定功能和性能要求 (包括互用性要求),也可将执行系统的执行代码逆向转换为PSM 乃至PIM ,再利用UMI/xUML修改或重新构建PIM,继而结合新统的特定配置文件,转换成新的 PSM,然后再继续原流程,验证系统的规定功能和性能。故而,上述转换过程实际上是一个可迭代的过程。
上述 UML/xUML 与 AADL 建模语言的区别是UML/xUML 只是一种纯软件的建模方法,而AADL 所建立的模型中则既包含了软件要素(软件组件),也包含了硬件要素 (硬件组件)。故而,前者所建立的模型只是一个从概念数据视角和逻辑数据视角构建的平台无关的抽象。而后者所建立的模型则是一个从平台数据视角构建的平台特定的抽象。这是一种需经不断细化和迭代的建模和模型转换的过程。
需要指出,图中的转换工具和代码生成器也是两个很关键的环节。目前,有不少软件开发商已开发出作为货架商品的这类模型自动转换工具和代码自动生成器。而在 PIM 与 PSM 之间的正反向转换也是可以利用转换工具自动执行的。
2. 什么是体系结构分析和设计语言?
体系结构分析和设计语言(Architecture Analysis and Design Language,AADL)是SAE 国际标准 (AS 5506A), 是用于模型基软件系统工程的统一框架,可使用它获取静态的模块化体系结构、以通信任务为基础的运行时体系结构、用于部署软件的计算机平台体系结构,以及与之进行系统交互的任何物理系统或环境。使用AADL,可以在单一的体系结构模型中获取静态结构和动态,并且解释其与各种工作特性的分析相关的信息。
由 AADL 提供的概念,如线程、进程或设备,已经明确地定义了执行语义,这种执行语义使得我们能够进行系统分析。此外,利用其扩展性的结构组成,可以将自定义分析和规范技术与核心 AADL 能力结合起来,以便为体系结构建模和分析建立一个完整的工程环境。
AADL是一个用以区分各种组件接口规范 (组件类型说明)、组件实现蓝图 (组件实现说明) 以及组件实例 (分组件说明) 之间的区别的组件基建模语言。组件类型和组件实现指的是组件分类符。AADL 还区分了具有特定语义的组件类别之间的区别,以实现应用软件(如线程、进程、数据)、执行平台(如处理器、总线、设备) 和复合组件(系统)建模。AADL标准文件使用诸如系统类型说明 (System Type Declaration) 或系统实现说明 (System Implementation Delaration) 的术语。
3. 为什么需要AADL?
传统的制造后测试型系统设计方法,在构建当今的嵌入式、软件依赖性系统十分费时费力,而且成本昂贵。而我们可以利用 AADL 可以通过建模,对诸如性能、可信性、系统安全和数据完整性一类的关键性实时因素,进行简练而严格的分析,并能够在用户工程环境下集成额外建立的客户分析/规范技术,开发完全统一的体系结构模型,从而使得用户能够更容易地构建满足要求的可靠系统。
4. 本书的示例应用系统是什么?
本书使用汽艇自动驾驶仪 (PBA) 控制系统作为全书示例的基础。PBA 是用于海上船只的速度、导航和制导控制的嵌入式实时系统。但是,PBA 是为提供一个验证 AADL的背景而建立的杜撰的发明,它并不代表任一特定的民用、军用或研究系统。当 PBA 作为一个海上应用示例时,它代表一个大范围应用的飞行器 (包括飞机、航天飞机、汽车和其他陆地车辆) 控制的关键要素。