Microsoft Keynote: Tools for Architects & Future Directions in ModelingIn dieser Keynote stellt Microsoft im Prinzip wieder einmal ihren Ansatz zum Thema Software Factories vor. Allerdings gab es einige interessante Details.
Der Vortrag fing mit dem Thema an, dass man die typischen Rezepte in der Software Entwicklung automatisieren will. Der Prozess ist das Problem und manchmal muss man extrem viele Artefakte bauen. Der Vortragende ging auch auf den Chaos Report von der Standish Group ein, der ja bekanntermaßen einen hohen Anteil an schief gegangenen Großprojekten konstantiert.
Das ganze soll die Motivation für Software Factories sein. Dabei sollen eben statt Economy of Scale (Massenproduktion gleicher Sachen) Economy of Scope (vereinheitlichte Produktion ähnlicher Sachen) genutzt werden. Dazu werden Domain Specific Languages verwendet werden. Dazu sind Domain Specific Languages notwendig. Neu war die Notation von Domain Specific Processes.
Für Microsoft läuft dies auf ein Customizing der IDE hinaus, aber auch Process und Porject Management Sachen sollen in dem Tool sein. Das erinnert ein wenig an das, was Ivar Jacobson in seiner Keynote sagte.
Das Tool bringt dann viele Viewpoints wie Requirements, Deployment oder Orchestration. Außerdem ist die Integration eigener DSLs relevant.
Es schloss sich dann eien Visual Studio 2005 Demo an. Das ganze war recht elegant und war vor allem eine High-Level-Architektur mit der Definition von Komponenten und dem Deployment der Anwendung. Das ist natürlich in Java auch möglich, aber ich habe das Gefühl, dass es dort nicht so elegant ist und auch nicht vereinheitlicht. Es gibt eben Eclipse GEF/EMF, die Netbeans Ansätze, die Dinge von intelliJ, OpenArchitectureWare und verschiedene UML basierte Ansätze wie AndroMDA.
Visual Studio hat eine eigene Engine für die ganze Sache. Durch das DSL Tool erwartet Microsoft einen neuen Markt mit eigenen DSLs, wie das auch schon bei den Komponenten der Fall war.
Es schloß sich eine Demo an, bei der gezeigt wurde, wie man UML Use Case Diagramme und Aktivitäts Diagramme selbst als DSL definieren kann. Das führt natürlich zu der Frage, warum man das nicht direkt in die Plattform integriert hat. Eine Firma namens Statesoft soll auch schon eine eigene DSL als Produkt haben.
Die Zusammenfassung war dann, dass man mit diesem Verfahren das Wissen konsolidieren kann. Dadurch Dadurch soll sich Produktivität, Vorhersagbarkeit und weniger Kosten und Risiken ergeben. DSLs beuten Gemeinsamkeiten aus und unterstützt Veränderlichkeit.
Die wichtigste Sache aus dieser Keynote war für mich, dass Microsoft immer noch DSLs als sehr wichtig ansieht. Und die Qualität der Tools ist recht gut - von daher ein sehr guter Weg. Schauen wir mal, wo das hingeht, und wie Java darauf reagiert.