2016-03-31 3 views
2

Alle Soley Studio Benutzer?
Ich begann das Metamodell für mein Diagramm zu definieren. Ich möchte zwei Knotenklassen definieren (ProdFunction und ProdPart), die beide eine weitere Knotenklasse erweitern (ArchitectureRelated).Wie kann ich im Metamodell von Soley Studio eine Knotenklasse definieren, die eine weitere Knotenklasse erweitert?

Aber immer wenn ich auf Fehler überprüfen oder die Lösung bauen sie mir diesen Fehler gibt:

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

ich verschiedene Namen für die Klasse versucht, aber es änderte sich nicht. Gibt es spezielle Schlüsselwörter, um einen "Knotentyp" zu definieren? Der Code für meinen Knoten Metamodell ist:

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

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

Antwort

2

Im Metamodell von Ihnen definierten Klassen nur erweitern können. Daher müssen Sie ArchitectureRelated als eine Knotenklasse definieren. Aus meiner Sicht wollen Sie keine Instanzen dieser Klasse erstellen? Also habe ich es als abstract Klasse definiert.

Denken Sie auch daran, dass die höchste Oberklasse IdentifiableNode, IdentifiableDirectedEdge oder IdentifiableUndirectedEdge verlängern muss.

Ich würde empfehlen, dass Sie übergeordnete Klasse zu verwenden ArchitectureRelated für das Attribut name:string; und lassen Sie es ProdFunction und ProdPart den Klassen erben.

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

node class ProdFunction extends ArchitectureRelated{ 
mode:string; 
} 

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

Sie können mehr über ein Metamodell hier definieren: Soley Help Center (Metamodel)

+1

Danke, gelöst Sie mein Problem. Keine Fehler mehr! – hnnes

Verwandte Themen