我如何在 Soley Studio 的元模型中定义一个扩展另一个节点 class 的节点 class?

How can I define a node class, which extends another node class, in the metamodel of Soley Studio?

有没有 Soley Studio 用户?
我开始为我的图表定义元模型。我想定义两个节点 classes(ProdFunctionProdPart),它们都扩展了另一个节点 class(ArchitectureRelated)。

但每次我检查错误或构建解决方案时,它都会给我这个错误:

"ArchitectureRelated" is a error type but a node type is expected

我为 class 尝试了不同的名称,但它没有改变。是否有特殊关键字来定义 "node type"? 我的节点元模型的代码是:

node class ProdFunction extends ArchitectureRelated{
mode:string;
name:string;
}

node class ProdPart extends ArchitectureRelated{
name:string;
partnumber:int;
hierLevel:int;
}

在元模型中,您只能扩展已定义的 classes。因此,您必须将 ArchitectureRelated 定义为节点 class。据我了解,您不想创建此 class 的实例?所以我将它定义为 abstract class.

还要记住最高的superclass必须扩展IdentifiableNodeIdentifiableDirectedEdgeIdentifiableUndirectedEdge

我建议您将 superclass ArchitectureRelated 用于属性 name:string; 并让它继承到 classes ProdFunctionProdPart.

abstract node class ArchitectureRelated extends IdentifiableNode{
name:string;
}

node class ProdFunction extends ArchitectureRelated{
mode:string;
}

node class ProdPart extends ArchitectureRelated{
partnumber:int;
hierLevel:int;
}

您可以在此处找到有关定义元模型的更多信息:Soley Help Center (Metamodel)