UML - Unified Modelling Language
Standard
- Abkürzungsglossar
- Begriffsglossar deutsch-englisch
- zusammengestellt aus Übersetzung der UML_Begriffe, Wikipedia
Sekundärliteratur
- UML-diagramms.org
-
- Mario Jeckle u.a: "UML 2.0: Evolution oder Degeneration?", Objekt Spektrum 3/2004
- Beschreibt die Neuerungen von UML 1.x zu UML 2.x
- Wikipedia über UML
- hier gibt es einen Überblick über die UML
- Training Course UML in english i po polski
Einführungen
- UML-Tutorial von Uni Rostock
- Rumpe: Modellierung mit UML
- E-Tutorials über UML
Geschichte
UML1 war die Kombination der drei führenden objektorientierten Methoden Booch, OMT und OOSE
Wichtige Eigenschaften von UML2:
- Formales allgemeines MOF basiertes Metamodell: Abstrakte Syntax definiert die Modellierungskonzepte, ihre Attribute und Beziehungen (Wichiger Fortschritt gegenüber UML1)
das Metamodell ist nun der Schwerpunkt der UML2 - Wende bei UML
- Compliance - Kriterien: Regeln, wenn Werkzeuge ordnungsgemäß die Spezifikation erfüllen. Dieses wird durch die XMI-Modell Austausch-Format erreicht.
- Technologieunabhängige Semantik der UML
UML Spracharchitektur
- Erfüllungsebenen (Compliance-Levels)
- erlauben Herstellern, die UML2.x-Tools schrittweise zu entwickeln
ab UML2.5 abgeschafft - L1 und L2 sind eigentlich unrelevant und haben sich auch so als unrelevant erwiesen.
- Infrastruktur mit Metamodellierung und Superstruktur
-
UML (M2) ist Instance von MOF (M3) (Standard Kap. 7.5)
Wiederbenutzung der Infrastruktur in zwei Dimensionen: (Standard Kap.7.7)
- UML-Metamodel ist eine Instanz der Meta-Meta-Klassen der Infrastuktur
- Das UML-Metamodel importiert und spezialisiert die Metaklassen in der Infrastruktur-Library
- Language-Units - Teilsprachen
- Eine Unit besteht aus enggekoppelten Modellkonzepten
Die UML-Sprache ist erweiterbar:
Teilsprachen
(UD=Umldiagrams.org,WP=Wikipedia)
Bemerkungen zu UML-Konstrukten
Mit Profilen kann man sich eine Domain Specific Language auf Basis der UML bilden [Papyrus-Tutorial].
Insbesondere Generatoren können aus Elementen wie Stereotypen speziellen Code erzeugen.
- Modelling and Analysis of Real-Time and Embedded Systems
UML-Modellierung an praktischen Anwendungen
- Uwe Katzke: "Spezifikation und Anwendung einer Modellierungssprache für die Automatisierungstechnik auf Basis der UML", Uni Kassel 2008
- beschreibt ein UML-PA Profil für die industrielle Prozeßautomatisierung.
- Es werden die Anforderungen für Sprachen in diesem Gebiet und Probleme spezifiziert.
- Es wird ein UML-PA spezifiziert
- schließlich wird ein empirisches Verfahren zur Bewertung der praktischen Anwendbarkeit vorgestellt und damit die Nutzung von UML und UML-PA vergleichen.
Austausch zwischen Tools verschiedener Hersteller
- XMI
ist eine Vorschrift, wie man Objektmodelle in XML abbildet
- DI-Standard beschreibt den Austausch von Diagrammen
Sonstiges
Textuelles UML
UML ist eigentlich als graphische Sprache gedacht. Seit UML2 ist das Metamodell Schwerpunkt, und UML kann sehr abstrakt gedacht werden. Das graphische Editieren kann auch mühsam sein.
- XMI ist zwar eine Textform, aber sehr schwer zu schreiben.
- Programmiersprachen, insbesondere Objektorientierte, eignen sich zur Präsentation der Klassendiagramme. aber dies ist keine vollständige UML-Notation. Dies gilt auch für IDL
- Domaenenspezifische Sprachen wie Kompodsl können eine Hilfe sein bei der Eingabe
- textuml macht eine Textuelle Repräsentation von UML
Automatische Diagrammgenerierung
Ein Harvester sammelt Informationen aus einem Quellcodebaum und rekonstruiert ein Modell.
Orthogonal könnte ein Graphlayout-Tool aus einem UML-Modell Diagramme erzeugen.
Auch ein gutes UML-Tool könnte von einem Element alle direkten Elemente in ein Diagramm holen (kann Rational Rose). Das Layout eine Diagrammes sollte auf Wunsch automatisch erfolgen.
- enWP
-
- hohe Abstraktion - Abstraktion auf Anwendungsniveau, totale Abstraktion von der Platform
- MDA: PIM → PSM : Hohe automatische Optimierung ist möglich
- fUML Foundational Subset for Executable UML-Modells
-
hier wird eine Untermenge von UML definiert, die dann auch ausgeführt werden kann.
- ALF Action Language for Foundational UML - konkrete Syntax der UML Action Language - noch im Beta-Stadium
- Programming in UML: An Introduction to fUML and ALF
-
- Mit UML kann man schon detailiert modellieren, deswegen soll es auch ausgeführt werden können
- Detailiertes Verhalten ist am besten mit einer textuellen Aktion Language formuliert. (S8,9)
- Das Verhalten soll aber auf der selben Abstraktionsebene wie der Rest des Modells spezifiziert werden. (S8)
- fUML Foundational UML spezifiziert präzise Semantik für eine ausführbare Untermenge von UML
Implementierung
- fUML Reference Implementation
- in Java
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber