autosar配置元素中的低和高多重性是什么?

时间:2017-08-02 08:55:14

标签: embedded autosar

autosar配置元素(模块,容器,参数或引用)中的上下多重性是什么。这在代码中意味着什么。我的意思是如果一个参数的multiplicity = 1,并且upper multiplicity = 5,那么在生成代码时它是如何反映的?

2 个答案:

答案 0 :(得分:1)

多重性意味着此元素(参数或容器)可以存在多少次。

  • 如果较低和较高的多重性相等,那么元素的实例必须非常多。最常见的是较低的==上限== 1。

  • 如果较低和较高的多重性不相等,则可能存在与较低多重性一样少的元素,以及与较高多重性一样多的元素。最常见的是较低的== 0和较高的== 1,这意味着该元素可以存在0或1次。也就是说,它是可选的。

  • 如果上部多重性用星号(*)表示,则表示无穷大。因此,具有较低== 1和较高== *的元素必须至少具有一个实例,并且可以任意多个。

多重性不会直接反映在生成的代码中,而是特定配置中的实例数量。

作为一个非常常见的例子,ComConfig下的ComSignal的多样性是0 to *。因此可能根本没有ComSignal个容器,或者可能有任何数量的容器。对于每个Com_Cfg.h元素,生成的代码肯定会在ComSignal中有一个信号ID,但生成的代码的细节取决于使用的生成器。

答案 1 :(得分:0)

根据Autosar软件架构,基本软件模块的一般要求。

“Multiplicity”定义实体的次数(在本例中为配置) 参数)被实例化。 必须记录每个配置参数的多样性。 描述: 应记录确定条目数量的内容(例如“每个条目一个 帧”)。

附加信息不在文档中:

1.容器的命名是因为容器包含配置参数。

  1. 容器/子容器可以引用其他容器/子容器,现在引用可以包含多重性值,multiplicity然后定义所包含参数的可能实例数。
  2. 当然,一个例子总是比这些词语更杰出

    实施例:  Dcm模块包含(当我说包含它实际上意味着来自这里的子容器),DcmConfigSet(存在一个配置为一组Dcm配置),如果你需要多个Dcm配置你可以添加其中许多,一个DcmConfigSet包含

      

    (DcmDsd [1],DcmDsl [1],DcmDsp [0..1],DcmGeneral [1],DcmPageBufferCfg [1],DcmProcessingConditions [0 .... 1])

    这意味着对于引用为[1]的子容器具有相同的下部和上部多重性,因此应该配置每个子容器的一个实例,而对于DcmDsp,DcmProcessingConditions(可以有0个实例化“无需配置”或者可以是根据您的功能需求进行配置 - 更高的多样性1)。

    我真的希望我能分享一些代码,但autosar代码不是开源的,所以我不能分享它。我仍然希望你理解这个要点。

    参考链接为General Software Architecture