You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Enterprise Architect中扩展Stereotype时重定义元类属性的疑问

在Enterprise Architect中扩展Stereotype:属性重定义的问题解答

核心理解确认

你的理解是正确的:Stereotype属性的Redefined Property字段确实用于重定义被扩展元类(或父Stereotype)的属性,作用是用自定义属性替换原有属性的名称、类型等特性,同时保留原属性的语义关联。

操作问题分析与解决方案

你导出的Profile中未体现重定义关系,核心原因是操作流程存在偏差,结合EA的Profile导出机制,具体分析如下:

1. 元类属性修改的误区

如果Metaclass A是标准UML元类(如Class、Package等),不要直接手动添加属性really_weird_attr_name——标准元类的结构是固定的,EA不会认可这类手动修改,自然无法在导出时识别重定义关联。
如果A是你自定义的元类,需确保A已被正确纳入当前Profile项目的元模型层级中,而非孤立添加。

2. 正确的属性重定义步骤

  • 在Stereotype Z中创建属性much_better_attr_name
  • 在属性编辑窗口的Redefined Property字段中,选择元类A原生存在的属性(而非手动新增的)
  • 导出Profile时,在Specialize > Publish Technology > Publish Diagram as UML Profile的设置面板中,确认勾选包含重定义关联的选项(不同EA版本可能命名为Include Redefinitions或类似)

3. 正确的导出代码示例

正常识别重定义后,导出的XML代码会包含redefines属性,示例如下:

[...]
<TaggedValues>
    <Tag name="much_better_attr_name" type="char" description="" unit="" values="" default="" redefines="A.really_weird_attr_name"/>
</TaggedValues>
[...]

关于Schema重定义Tablespace的示例

这类场景的核心逻辑是:通过构造型重定义关联元类的原生属性(比如Schema元类自带的tablespace属性),用自定义属性替换其展示名称或约束,EA会在导出时识别这种关联并生成对应的Profile语义。

内容的提问来源于stack exchange,提问作者dmeu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:20:39