2016-03-31 2 views
2

すべてのSoley Studioユーザーですか?
グラフのメタモデルを定義し始めました。私は別のノードクラス(ArchitectureRelated)を拡張する2つのノードクラス(ProdFunctionProdPart)を定義したいと思います。Soley Studioのメタモデルで、別のノードクラスを拡張するノードクラスを定義するにはどうすればよいですか?

しかし、毎回私は、エラーを確認するか、それは私にこのエラーを与えるソリューションを構築:

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

私はクラスの別の名前を試してみましたが、それは変更されませんでした。 「ノードタイプ」を定義する特別なキーワードはありますか? 私のノードのメタモデルのコードは次のとおりです。あなたが唯一の定義されたクラスを拡張することができ、メタモデルで

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

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

答えて

2

。したがって、ArchitectureRelatedをノードクラスとして定義する必要があります。私の理解から、このクラスのインスタンスを作成したくないのですか?だから私はそれをabstractクラスと定義しました。

また、最高のスーパークラスはIdentifiableNode,IdentifiableDirectedEdgeまたはIdentifiableUndirectedEdgeまで拡張する必要があります。

私はあなたの属性name:string;のためにあなたのスーパークラスArchitectureRelatedを使用することをお勧めしますし、それがクラス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)

+1

おかげで、あなたは私の問題を解決しました。もうエラーはありません! – hnnes

関連する問題