在Enterprise Architect中覆盖属性初始化器和设置运行状态之间有什么区别?为什么它的行为有所不同?

时间:2018-06-05 08:38:05

标签: uml enterprise-architect

这是我关于SO的第一个问题,所以请在我的道路上运用一些善意来表达完美的问题。

在我当前的项目中,我尝试在EA v14.0中对部署进行建模,我希望在执行环境中部署组件,并将其设置为某些值。

但是,根据我部署的方式(作为Deployment ArtifactComponent Instance),我会得到不同的行为。在Deployment Artifacts我被提供给Override Attribute Initializers。在Component Instance我被提供给Set Run State。当我尝试在DeploymentArtifact上设置属性时,我收到一条错误消息,指出没有要覆盖的初始化程序。当我尝试在Component Instance上设置运行状态时,我可以设置一个值。但是,我收到一条UML验证错误消息,我不能将组件实例链接到执行环境:

  

MVR050002 - 错误((部署)):部署对于实例不合法:组件1 - > ExecutionEnvironment1

  1. 这就是我的开始。我创建了一个具有部署规范的组件:enter image description here

  2. 然后,我创建了一个部署图来部署我的组件:enter image description here一次为Deployment Artifact,一次为Component Instance

  3. 当我尝试覆盖属性初始值设定项Override Attribute Initializers时,收到错误消息DeploymentArtifact没有要覆盖的属性初始值设定项。

  4. 当我尝试设置运行状态Set Run State时,我实际上可以输入值enter values

  5. 然而,当我验证我的包时,我收到上述错误消息。

  6. 任何人都可以解释我做错了什么或者这应该如何工作?

    非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

实际上这里有多个问题。

  1. 你的第二张图是无效的(可能EA已经在这里呻吟了,因为它在V12中这样做了。)

    您可以在节点实例上部署工件,并使用部署规范作为关联类,如p所示。 UML 2.5规范中的654个:

  2. enter image description here

    但你不能在抽象的东西上部署一些东西。你需要双方的实例。

    您可以通过关闭选项中的严格连接器检查来消除EA关于警告的信息:

    enter image description here

    1. 要回答标题中的问题:覆盖初始值设定项会查看对象分类器的属性列表,并提供所有运行状态(即运行时的属性值)。此外,Set Run State允许设置不是分类器属性的任意键值对。这表示例如节点中的RAM大小或类似的东西。