通过组合软件组件路由信号

Routing signal though Composition Software Component

如何通过软件组合路由 "signal" 而无需复制它(使用一些代码)? 用例:SW-Composition 有一些 RPorts,其中数据必须被修改,然后在一些 PPorts 上提供。但是对于某些 RPorts/PPorts 组合,不需要触及数据,因此 "simply routed" 从 RPort 到 PPort。 这个想法是简单地将 RPortPrototype 与带有 DelegationSwConnector 的 PPortPrototype 连接起来。但根据规范,这是不可能的。 知道如何在不需要 "copy-code" 的情况下做到这一点吗?

软件组合只是一个结构分组。在生成 Rte 之前,您必须 运行 一个工具来创建一个 "EcuExtract"(请参阅系统模板)来展平模型。因此,Rte 的输入是一个大的根组合,它只包含原子组件,没有其他组合。因此,不会有"copy node",数据始终通过。

但是,(有一些限制)在 Ecu Extract 中,根组合的端口可能与组件的端口具有不同的类型,这将导致数据转换(例如,重新缩放数据或选择一个结构中的元素)。

如果我正确理解您的 P- 和 R- 端口在组合本身上(即它们是外部端口),您可以使用直通连接器(PassThroughSwConnector 模型元素)你的用例。它是组合的子元素,因此您将 PassThroughSwConnector 添加到您的 CompositionSwComponentType,并使用它直接连接您的两个端口。

请注意,如果通过装配连接器在两个端口之间存在另一条路径,则这是不可能的。这将创建一个由直通连接器和组装连接器组成的回路,这在规范中是明确禁止的。