【问题标题】:What is lower and upper multiplicity in autosar configuration element?autosar 配置元素中的上下多重性是什么?
【发布时间】:2017-08-02 08:55:13
【问题描述】:

autosar 配置元素(模块、容器、参数或引用)中的低和高多重性是什么。在代码中是什么意思。我的意思是如果一个参数的下重数=1,上重数=5,生成时如何反映在代码中?

【问题讨论】:

    标签: embedded autosar


    【解决方案1】:

    多重性是指这个元素(参数或容器)可以存在多少次。

    • 如果下重数和上重数相等,则该元素的实例数必须恰好如此之多。最常见的是 lower == upper == 1。

    • 如果下重数和上重数不相等,则元素可能与下重数一样少,而与上重数一样多。最常见的是 lower == 0 和 upper == 1,这意味着元素可以存在 0 次或 1 次。也就是说,它是可选的。

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

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

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

    【讨论】:

      【解决方案2】:

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

      “多重性”定义了一个实体的次数(在这种情况下是配置 参数)被实例化。 必须记录每个配置参数的多样性。 描述: 应记录决定条目数量的因素(例如“一个 框架”)。

      文档中没有的其他信息:

      1.容器之所以这样命名是因为容器包含配置参数。

      1. 一个容器/子容器可以引用其他容器/子容器,现在这个引用可以保存一个多重值,多重性然后定义了所包含参数的可能实例数。

      当然,一个例子总是比这些话更显赫

      示例: 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

      【讨论】:

        猜你喜欢
        • 2021-06-10
        • 1970-01-01
        • 1970-01-01
        • 2011-01-12
        • 1970-01-01
        • 1970-01-01
        • 2020-04-30
        • 2019-07-05
        • 1970-01-01
        相关资源
        最近更新 更多