2010-11-10 4 views
5

UML-Klassendiagramme sind eine standardmäßige grafische Notation zur Beschreibung von Klassen und ihrer Beziehungen.Textdarstellung für UML-Klassendiagramme - DSL für UML

Gibt es eine Standard Textnotation (DSL), um das gleiche zu beschreiben? Sag nicht XMI oder EMF ;-)

Ich denke, du könntest das mit Corba IDL machen und Schnittstellen für Klassen verwenden, aber das ist irgendwie zu viel auf der Corba Seite. Sie könnten Java Interfaces verwenden, aber das ist zu Java.

Hintergrund meiner Frage ist das Schreiben von Generatoren. Ich denke, es ist einfacher, einen Generator zu schreiben, der auf dem Syntaxbaum einer DSL basiert, als eine grafische Notation zu parsen. Eine grafische Notation muss zuerst in einen Syntaxbaum übersetzt werden (der wäre derselbe, den Sie von der entsprechenden DSL bekommen würden). Ich denke, eine grafische Notation in den Syntaxbaum zu übersetzen ist schwieriger als eine DSL zu übersetzen (wo man ANTLR verwenden kann).

+0

Was erwarten Sie, von XMI oder EMF, anders zu sein? –

+1

@Doc Brown: Nur eine Vermutung, aber lesbar würde wahrscheinlich sehr hoch sein ... :-) – sfinnie

Antwort

0

Keine Standardnotation meines Wissens, aber eine gute Zusammenfassung der Optionen here.

hth.

9

Sie haben die Antwort bereits, aber ich möchte klarstellen. Es gibt eine Standard Notation, es heißt HUTN, und niemand benutzt es.

2

Es ist kein Zufall, dass UML abstrakte und konkrete Syntax trennt.

Es ist keine gute Idee, die Codegenerierung in eine nutzerorientierte Notation einzubinden. Werkzeuge (Codegeneratoren) und Personen (Modellierer) haben völlig unterschiedliche Bedürfnisse, so dass keine einzelne Syntax beide Zielgruppen gut bedienen kann. Ganz zu schweigen davon, dass Sie die Möglichkeit verlieren, denselben Code-Generator auf Modelle anzuwenden, die mit verschiedenen Notationen erstellt wurden.

TextUML ist eine konkrete Syntax, die auf Modellierer zugeschnitten ist. XMI ist eine viel bessere Notation für Werkzeuge und das UML2-Objektmodell macht es sehr einfach zu handhaben.

Rafael

http://abstratt.com/blog