阵列可扩展连接器问题

Array Expandable Connector Issue

我正在尝试通过以下方式使用阵列可扩展连接器:

model MWE
  expandable connector ControlBus
    extends Modelica.Icons.SignalBus;
  end ControlBus;
  ControlBus controlBus[1];
  Modelica.Blocks.Math.Gain gain(k=1);
equation 
  connect(gain.u, controlBus[1].a);
end MWE;

...但是 Dymola 抛出关于在记录扩展中找不到成员 'a' 的错误。

奇怪的是,如果我在 controlBus 声明之后(而不是之前!)声明一个整数参数并使用它来指定 controlBus 的大小,它会按预期工作而没有错误:

model MWE
  expandable connector ControlBus
    extends Modelica.Icons.SignalBus;
  end ControlBus;
  ControlBus controlBus[k];
  Modelica.Blocks.Math.Gain gain(k=1);
  parameter Integer k=1;
equation 
  connect(gain.u, controlBus[1].a);
end MWE;

我的主要问题是在Modelica中是否允许使用数组可扩展连接器?如果是这样,我的第一种方法有任何问题,或者 Dymola 是否有一些错误(显然恰好被第二种方法中的解决方法克服了)?

编辑:添加另一个相关示例,其中声明顺序似乎对可扩展连接器产生影响:

model MWE
  expandable connector ControlBus
    Real variable;
  end ControlBus;
  ControlBus controlBus;
  Modelica.Blocks.Sources.RealExpression realExpression(y=controlBus.variable);
end MWE;

此处 Dymola 会在检查时发出警告,但会编译。但是,如果我在 realExpression 之后声明 controlBus,它就不会抱怨了。

在 Modelica 中没有任何内容使该示例非法; a 是可扩展连接器组件 controlBus[1] 的未声明成员。 https://specification.modelica.org/maint/3.5/connectors-and-connections.html#expandable-connectors

Dymola 似乎需要改进才能处理这种情况,假设下一个常规版本不会发生任何奇怪的事情。