我正在使用Enterprise Architect 13.5,正在创建部署图。我将服务器定义为节点,并在它们上使用属性,以便可以指定其详细信息,例如Disk Controller = RAID 5
或Disks = 4 x 80 GB
。
将这些节点的实例拖到图表上时,我可以在它们上选择“设置运行状态”并为我定义的所有属性设置值-就像在EAExample项目的部署图中所做的一样:
由于我们的设计将有几台服务器使用相同的配置,因此我的计划是使用节点上属性定义中的“初始值”列来指定默认配置,以便我创建的所有实例自动得出合理的值,并且当默认值更改时,我只需更改原始节点上的“初始值”,而不必转到所有实例:
我的问题是,即使我定义了初始值,当我将它们拖到图表上时,我创建的所有实例也不显示任何值。只有在每个实例上设置“运行状态”,我才能使它们显示所需的值:
这是预期的行为吗?顺便说一句,我可以使用类和它们的实例来重现它们,所以这不仅仅是部署图的问题。
任何想法都将不胜感激!如果您能描述一种更好的方法来使用EA达到相同的效果,以防万一我做错了,我也很感谢。
答案 0 :(得分:2)
您可以做的是写一个脚本来辅助它,或者创建一个插件来带来更多的自动化。脚本易于实现,但是您需要手动运行脚本(但是可以为新创建的图对象批量添加值)。如果您挂接到EA_OnPostNewElement
,则可以在元素创建时使用外接程序。
您需要做的是首先获取对象的分类器。使用
Repository.GetElementByID(object.ClassifierID)
将返回该值。然后,您可以检查该类的属性,并列出具有初始值的那些属性。最后,通过为object.RunState
分配一个粗略的字符串来添加对象的运行状态。例如。对于a != 33
,它将是
@VAR;Variable=a;Value=33;Op=!=;@ENDVAR;
只需加入所需的多个运行状态即可。