AUTOSAR图解==>AUTOSAR_TPS_FeatureModelExchangeFormat
AUTOSAR 特性模型交换格式详解
目录
- 1. 概述
- 1.1 AUTOSAR中的变体处理
- 1.2 特性模型的必要性
- 2. AUTOSAR特性模型架构
- 2.1 类图结构
- 2.2 特性分解结构
- 3. 特性选择流程
- 3.1 特性选择状态转换
- 4. 特性映射机制
- 4.1 特性到变体选择点的映射
- 5. 总结
1. 概述
AUTOSAR(汽车开放系统架构)在其第4版中引入了变体处理(Variant Handling)功能,为汽车软件的灵活配置提供了强大支持。特性模型交换格式(Feature Model Exchange Format)是AUTOSAR的一个重要扩展,专门用于描述产品线中的特性变体和它们之间的关系。
1.1 AUTOSAR中的变体处理
AUTOSAR的变体处理功能为汽车软件开发带来了两个关键创新:
-
变体选择点:在AUTOSAR模型中引入变体选择点,使单个模型能够描述具有共同结构但在某些位置有所不同的多个AUTOSAR模型。通过绑定这些变体选择点(保留某些变体并丢弃其他变体),可以创建无变体的AUTOSAR模型。
-
变体描述:AUTOSAR定义了表达特定变体的方法,例如在"经济型"变体中选择哪些变体选择点,在"豪华型"变体中选择哪些变体选择点。这是必要的,因为带有变体选择点的AUTOSAR模型可能描述了大量变体,但只有少数被实际使用。
1.2 特性模型的必要性
虽然AUTOSAR的变体选择点能够表达模型中变化发生的位置,并且能够描述相关变体,但有两个方面尚未得到充分覆盖:
-
高层次视图:变体选择点是在较低级别表达的。例如,"经济型"和"豪华型"变体通常由大量的变体选择点组成,但这些变体选择点共同作用的事实在模型中并不明确可见。
-
依赖关系:变体选择点之间存在依赖关系。例如,"经济型"和"豪华型"变体是互斥的,但这种关系在模型中再次不明确可见。
特性模型交换格式正是为了解决这些额外方面而设计的,它将特性(Feature)作为问题域中的抽象概念,独立于具体实现和产品架构,提供了对变体的更高层次描述。
2. AUTOSAR特性模型架构
AUTOSAR特性模型定义了一组类和关系,用于描述特性及其组织方式。这些模型元素形成了特性模型交换格式的核心。
2.1 类图结构
特性模型交换格式的核心由以下几个主要部分组成:特性模型(Feature Model)、特性选择(Feature Selection)和特性映射(Feature Map)。下图展示了这些类及其关系:
图2.1: AUTOSAR特性模型交换格式的类图结构
这个类图展示了特性模型交换格式的三个主要包:
-
特性模型包:
- FMFeatureModel:特性模型的顶层容器,包含多个特性和一个可选的根特性。
- FMFeature:表示单个特性,具有名称、描述和绑定时间等属性。
- FMFeatureDecomposition:描述特性的分解结构,定义父特性和子特性之间的关系。
- FMFeatureRelation:表示特性之间的关系,如需要、禁止、推荐、不鼓励。
- FMFeatureRestriction:表示对特性的限制。
- FMAttributeDef:定义特性的属性,包括类型、最小值、最大值和默认值。
-
特性选择包:
- FMFeatureSelectionSet:特性选择的集合,可以包含其他特性选择集。
- FMFeatureSelection:表示对单个特性的选择,指定特性的状态(已选择、已排除或未决定)。
- FMAttributeValue:为特性的属性赋值。
- FMFeatureState:特性的状态枚举类型。
-
特性映射包:
- FMFeatureMap:特性到变体选择点的映射集合。
- FMFeatureMapElement:单个特性到变体选择点的映射元素。
通过这些类和它们之间的关系,AUTOSAR特性模型能够全面描述产品线中的变体及其组织结构。
2.2 特性分解结构
特性模型中,特性可以通过各种方式进行分解和组织。以下图表展示了特性分解的概念结构:
图2.2: AUTOSAR特性模型的分解关系结构
特性分解关系描述了特性之间的层次结构和组织方式,主要包括四种类型:
-
强制性特性(MANDATORYFEATURE):
- 当父特性存在时,子特性必须存在。
- 示例:汽车控制系统必须包含控制器和监控功能。
-
可选特性(OPTIONALFEATURE):
- 当父特性存在时,子特性可能存在也可能不存在。
- 示例:GPS导航和语音控制是汽车控制系统的可选功能。
-
替代特性(ALTERNATIVEFEATURE):
- 当父特性存在时,必须且只能选择一个子特性。
- 示例:发动机类型(汽油、柴油、电动)是互斥的选择。
-
多重特性(MULTIPLEFEATURE):
- 当父特性存在时,可以选择多个子特性,选择数量受min和max属性约束。
- 示例:车门数量(2门、4门、5门)可以有多种配置选择。
图表还展示了特性之间的约束关系,例如:
- 汽油发动机需要GPS导航
- 电动发动机需要语音控制
- 2门车型排除使用汽油发动机
这些分解关系和约束共同定义了有效的特性组合,确保产品配置的一致性和完整性。
3. 特性选择流程
在使用AUTOSAR特性模型时,特性选择是一个重要的过程,涉及对特性状态的设置以及各种约束的验证。
3.1 特性选择状态转换
特性选择过程中,特性状态的转换遵循一定的规则和流程,如下图所示:
图3.1: AUTOSAR特性选择的状态转换流程
特性选择过程包含以下关键步骤:
-
初始化和读取特性模型:
- 首先读取
FMFeatureModel
,获取特性结构和关系。 - 创建
FMFeatureSelectionSet
作为特性选择的容器。
- 首先读取
-
特性状态选择过程:
- 每个特性初始状态为"未决定"(
UNDECIDED
)。 - 用户可以将特性设置为"已选择"(
SELECTED
)或"已排除"(DESELECTED
)。 - 特性状态的变化会自动影响其他相关特性:
- 选择特性会自动选择其强制子特性
- 选择特性会自动排除其排斥特性
- 选择一个替代特性会排除同组中的其他特性
- 排除父特性会自动排除其强制子特性
- 排除被依赖的特性会导致依赖它的特性也被排除
- 每个特性初始状态为"未决定"(
-
设置属性值和绑定时间:
- 为已选择的特性设置属性值(
FMAttributeValue
)。 - 设置特性的绑定时间(
BindingTime
),指明特性何时被绑定。
- 为已选择的特性设置属性值(
-
验证特性选择有效性:
- 确保所有强制特性都已选择
- 验证特性关系约束是否满足
- 检查特性分解规则是否满足
- 确认属性值在有效范围内
-
应用到变体选择点:
- 通过
FMFeatureMap
将特性选择映射到AUTOSAR模型中的变体选择点。 - 配置相关联的变体以生成最终产品模型。
- 通过
通过这一流程,系统工程师可以通过选择特性而不是直接操作大量的变体选择点,从而更高效地配置产品变体。
4. 特性映射机制
特性模型定义了问题域中的抽象特性,而特性映射机制则将这些抽象特性连接到解决方案域中的具体变体选择点。
4.1 特性到变体选择点的映射
特性映射过程展示了抽象特性如何影响AUTOSAR模型中的具体变体选择点:
图4.1: AUTOSAR特性映射的序列流程
特性映射过程包括以下几个主要阶段:
-
准备阶段:
- 系统工程师创建特性模型,定义特性结构和关系。
- 创建特性选择,指定特性的状态(
SELECTED
/DESELECTED
/UNDECIDED
)。 - 创建特性映射,定义特性到变体选择点的映射关系。
-
特性映射分析:
- 特性选择集向特性映射提供已选择的特性。
- 特性映射验证特性的有效性。
- 对每个已选择的特性,查找关联的映射元素(
FMFeatureMapElement
)。 - 确定每个特性影响的变体选择点。
-
变体选择点应用:
- 将特性选择映射到相应的变体选择点。
- 对每个受影响的变体选择点:
- 应用配置值
- 根据特性选择的绑定时间更新变体选择点的绑定时间
-
验证阶段:
- 验证特性选择的有效性,确保满足所有约束。
- 验证映射的完整性。
- 检查变体选择点配置是否有效。
-
完成阶段:
- 生成最终的产品模型。
- 应用所有变体选择,输出变体配置后的AUTOSAR模型。
通过这种映射机制,特性模型提供了一个高层次的抽象,使系统工程师能够基于特性而非底层变体选择点进行决策,从而简化了复杂系统的配置过程。
5. 总结
AUTOSAR特性模型交换格式为汽车软件的变体管理提供了强大而灵活的解决方案。通过引入特性模型、特性选择和特性映射这三个核心概念,它弥补了AUTOSAR变体处理中的不足,提供了更高层次的变体描述和管理能力。
特性模型交换格式的主要优势包括:
-
抽象层次提升:将变体从具体实现细节抽象为问题域中的特性概念,使变体管理更加直观。
-
依赖关系表达:明确表达特性之间的依赖关系,如强制、可选、替代和多重关系,以及特性间的需要、禁止等约束。
-
变体一致性保证:通过特性模型的约束和验证机制,确保产品配置的一致性和有效性。
-
工具交换支持:为不同的特性建模工具之间提供了标准化的交换格式,促进了工具链的互操作性。
通过特性模型交换格式,AUTOSAR实现了从特性到变体选择点的映射,使系统工程师能够在更高的抽象层次上工作,减少了处理大量低级变体选择点的复杂性,极大地提高了汽车软件配置的效率和可靠性。