Christian Bühler ist Mitgründer von KnowGravity Inc. und arbeitet als Berater im Bereich Software-Engineering Er verfügt über mehrere Jahre Erfahrung im Bereich MDA/xUML und kennt sich ebenso gut in Programmiersprachen wie Java, C++, VB und Prolog aus.
18.01.2005
LOCATION: Zürich
SPEAKER: Christian Bühler COMPANY: KnowGravity Inc.
SLIDES: 050118_MDA_xUML.pdf
MDA ist nun schon seit einiger Zeit ein Schlagwort und viele Tool-Hersteller haben ihre Werkzeuge in diese Richtung ausgebaut. Einige Vorträge mit diesem Thema sind bereits in JUGS präsentiert worden: Warum also einen weiteren?
Der Vortrag wird über 3 Jahre Erfahrungen in einem "hardcore" MDA projekt zusammenfassen. In diesem Projekt müssen 100% der funktionalen Anforderungen eines komplexen Bahn-Stellwerkes in ausführbahrer UML (xUML) erfasst werden. Dieses xUML-Modell ist direkt ausführbar und testbar ohne dass auch nur eine einzige Zeile Code geschrieben wird.
Dabei werde ich zwei Schwerpunkte setzen:
Die meisten Modellierer verwenden die UML hauptsächlich zur Entwicklung und Dokumentation der Struktur des zu erstellenden Systems. Dazu werden Klassendiagramme verwendet. Sollen UML-Modelle jedoch direkt ausführbahr sein, muss auch das gesamte dynamische Verhalten und damit die Funktionalität des Systems modelliert werden. Mithilfe von Zustandsdiagrammen und der UML Action-Language kann auch die Funktionalität präzise modelliert und damit simuliert werden. Themen wie die Vererbung von Zustandsautomaten, das Handling von mehreren hundert Objektinstanzen und deren Kommunikation untereinander spielen hier eine zentrale Rolle. Zusätzlich werden die selten genutzen, aber sehr mächtigen UML-change-Events im praktischen Einsatz gezeigt und Realtime-Anforderungen behandelt.
Christian Bühler ist Mitgründer von KnowGravity Inc. und arbeitet als Berater im Bereich Software-Engineering Er verfügt über mehrere Jahre Erfahrung im Bereich MDA/xUML und kennt sich ebenso gut in Programmiersprachen wie Java, C++, VB und Prolog aus.
JUG Switzerland aims at promoting the application of Java technology in Switzerland.
JUG Switzerland facilitates the sharing of experience and information among its members. This is accomplished through workshops, seminars and conferences. JUG Switzerland supports and encourages the cooperation between commercial organizations and research institutions.
JUG Switzerland is funded through membership fees.