Modellierung mit
UML
Loading

C Die Syntax der UML/P

C.1 UML/P-Syntax Übersicht

Form der Syntaxdefinition

Für eine detaillierte Diskussion und für die Einführung von Techniken zum Einsatz einer Sprache ist eine saubere Beschreibung der Sprache und ihrer Bedeutung unabdingbar. Wie in [HR00HR04] diskutiert, ist die gewünschte Präzision der Semantik einer Sprache auch abhängig von der Leserschaft. Weil gegenüber dem UML-Standard einige Modifikationen an der Syntax vorgenommen wurden, ist es notwendig, die syntaktische Form der UML/P-Diagramme noch einmal präzise festzulegen. Dazu wird das im Anhang A eingeführte Verfahren zur Darstellung kombinierter graphischer und textueller Sprachen verwendet.

Die Nutzung einer Kombination aus EBNF und Syntaxklassendiagrammen (SCD) zur Definition von Klassendiagrammen birgt natürlich die Gefahr einer zirkulären Definition. Im Anhang A wird die dadurch entstehende Problematik diskutiert und darauf basierend Auswege gezeigt. Erfolgreiche Beispiele, wie etwa die EBNF, die genutzt werden kann, um sich selbst zu beschreiben, oder die deutsche Sprache, die ebenfalls genutzt wird, um sich selbst zu beschreiben (siehe Lexikon, Wörterbuch und Grammatik) zeigen, dass eine zirkuläre Definition einer Sprache in sich selbst keine echte Problematik ist. Durch die Anwendung einer Sprache auf sich selbst entsteht eine Schichtung in eine normale Sprachebene und eine „Meta-Sprachebene“. In Ansätzen der Metamodellierung wird die Tatsache, dass auf beiden Ebenen dieselbe Sprache genutzt wird, darüber hinausgehend verwendet, um Zugriff von einer Sprachebene auf die nächste zu erlauben. Insgesamt entsteht dann ein bis zu vier Schichten umfassendes Metamodell wie die MOF („meta object facility“ [OMG01b]), deren Anwendung auf die UML sicher die Flexibilität der UML erhöht, jedoch auch ihre Komplexität verstärkt und damit ihre Verständlichkeit deutlich reduziert. In diesem Ansatz wird deshalb auf eine strikte Trennung der Sprachebene UML/P und der Darstellung dieser Sprache durch EBNF und SCD geachtet.

UML/P

Die UML/P ist eine syntaktisch präzise festlegbare Sprache, bestehend aus mehreren Diagramm- und Textarten, die auch ineinander integriert verwendet werden können. Abbildung C.1 beschreibt die oberste Produktion für die UML/P, die diese Aufteilung widerspiegelt. Nichtterminale, die aus anderen Abbildungen entnommen sind, werden durch Angabe der definierenden Abbildung markiert. So ist das Nichtterminal KlassendiagrammC.2 in Abbildung C.2 definiert.

Die in der UML/P verwendeten Artefakte können Namen beinhalten und dadurch innerhalb anderer Artefakte referenziert werden. Damit können zum Beispiel Gruppen von Artefakten genutzt werden, um einen Testfall zu definieren.

UML/P ::= UMLPunit*
UMLPunit ::= KlassendiagrammC.2
| OCLC.7
| ObjektdiagrammC.14
| StatechartC.16
| SequenzdiagrammC.19
| CompilationUnitB.2
Abbildung C.1: Oberste Ebene der Syntax für UML/P

Die hier dargestellte Form der UML/P beinhaltet kein Gruppierungskonzept wie das zum Beispiel bei Java mit den „packages“ und in der UML in ähnlicher Form existiert. Außerdem sind weitere Diagrammarten wie Komponenten-, Kommunikations-, Use Case- und Aktivitätsdiagramm in der in diesem Buch dargestellten Form der UML/P nicht enthalten.


Bernhard Rumpe. Agile Modellierung mit UML. Springer 2012