为了对相关的元模型元素进行简洁的描述,本章集中讨论和解释了概念方面的内容。
阅读本章并不是理解后面章节的先决条件。
它只是为本文档其他各章中使用的概念方面的详细描述提供了一个中心位置。
基础概念分8节:
1、测量和校准
2、运行时和数据一致性方面
3、软件组件模板中的变量处理
4、组成组件类型的通信规范
5、PRPortPrototype
6、假装联网
7、可变大小的数组数据类型
8、结构中的可选元素
分四部分讲述,本章讲述:
1、测量和校准
当使用MCD工具(测量、校准和诊断)执行校准过程时,校准工程师需要在运行时对CPU内的数据有一个特定的洞察力。
这种洞察力是通过访问ECU内部变量(也称为测量)和校准参数(有时也称为特征值)来提供的。
测量变量和校准参数的描述基本一致。在AUTOSAR中,两者最终都以数据原型的形式出现。
标定参数是表征控制算法动态特性的参数。从软件实现的角度来看,它是一个变量,在ECU的正常操作期间只有读访问权限。特征是专门化的数据原型实体(就其关联的类型而言),但以类似的方式使用。
这意味着可以定义校准参数
• 在SwComponentType的SwcInternalBehavior中,通过在perInstanceParameter角色中(类似于PerInstanceMemory)的ParameterDataPrototype的聚合来单独获取SwComponentPrototype。
• 通过在sharedParameter或constantMemory角色中聚合一个ParameterDataPrototype,在SwcInternalBehavior中共享同一SwComponentType的所有swcomponentprototype。
• 对于几个swcomponentprototype(使用带有参数接口的端口/接口概念)。
请注意:
• 关于perInstanceParameter、sharedParameter或constantMemory的定义将在以后章节中进一步描述。
如上所述,可以在SwcInternalBehavior上下文中使用ParameterDataPrototype,也可以在portprototype上下文中使用它。
为了提供在其他SwComponentType中可见的校准参数,必须将继承自SwComponentType的专用参数SwComponentType用作CompositionSwComponentType中的SwComponentPrototype。
每个需要访问共享校准参数的SwComponentType都有一个由ParameterInterface输入的RPortPrototype。在CompositionSwComponentType上下文中,这种共享校准访问的定义将通过在相关swcomponentprototype之间创建SwConnector来定义。
请注意,参数接口并不局限于可以实际校准的参数。在软件正常运行过程中,如果没有对数据的写访问,即只有常量数据在界面上可见,则可以使用。
即使在使用DelegationSwConnectors和AssemblySwConnectors的CompositionSwComponentTypes上,也可以提供和需要对共享校准参数的访问。
这意味着在SwComponentProtoType之间对校准参数的每个访问都是显式可见的。如果SwConnector跨越两个不同的ecu上的SwComponentProtoType映射之后,系统生成过程必须确保正确分配参数数据原型,而校准系统必须处理在受影响的ecu上同步设置参数的问题。
SwComponentPrototypes之间共享校准参数相同的SwComponentType之间共享校准参数相同的几个SwComponentPrototypes SwComponentType, ParameterDataPrototype连着一个SwcInternalBehavior sharedParameter角色。
为了在多个具有相同SwComponentType类型的swcomponentprototype之间共享校准参数,可以将ParameterDataPrototype附加到sharedParameter角色中的SwcInternalBehavior。
当SwcInternalBehavior由AtomicSwComponentType聚合时,ParameterDataPrototype的实际校准参数对于所有SwComponentProtoType都是相同的。
另外,还可以通过附加到角色constantMemory中的SwcInternalBehavior上的ParameterDataPrototype来描述共享特征值的实现。与sharedParameter角色中的ParameterDataPrototype不同,这种内存不是由RTE实例化的。通过避免由RTE的组件数据结构引起的额外间接访问,它支持更有效的实现(特别是对于作为目标代码提供的软件组件)。
此外,这种内存减少了软件组件实现对生成的RTE代码的依赖,RTE代码具有安全相关的功能。
然而,关于这些特征值的信息必须考虑到A2L文件的生成。
这种实例之间共享代码的典型例子是处理多个汽缸组引擎中的两个lambda传感器,其中(至少)每个lambda传感器的两个SwComponentProtoType将使用相同的校准参数。
为了提供实例单独的校准参数,ParameterDataPrototype由perInstanceParameter角色中的SwcInternalBehavior拥有。
当SwcInternalBehavior附加到AtomicSwComponentType时,实际的校准值是特定于每个SwComponentPrototype的。