Tutorials auf der SE2008
Monday, February 25th, 2008Hallo,
kürzlich habe ich zwei Tutorien auf der Software-Engineering-Konferenz 2008 besucht, nämlich “Architekturprüfung in der Praxis” und “Validation and Verification on Model and Coding Level“.
Ich habe das neue Gelände der Technischen Universität München in Garching zum ersten Mal persönlich gesehen. Es ist ein großes, geräumiges Gelände mit dedizierten Gebäuden für die verschiedenen Fakultäten und viel Raum dazwischen. Ich fand das Gelände sehr einladend, wozu sicher auch der strahlende Sonnenschein beigetragen hat. Auch die Gebäude selbst sind sehr schön gestaltet, viel Licht, räumlich großzügig, viele Pflanzen, viel Holz und Metall. Die Atmosphäre wirkte ideal für eine Hochschule, ruhig und konzentriert.
Das Tutorium “Architekturprüfung in der Praxis” wurde von zwei Frauen gehalten, die als Beraterinnen für das Software-Unternehmen C1 WPS tätig sind. Im wesentlichen haben die beiden das kommerzielle Softwaretool Sotoarch des deutschen Unternehmens Software-Tomography vorgestellt. Sotoarc analysiert die Beziehungen zwischen den Klassen eines Softwaresystems und erlaubt es verschiedene Schichten zu definieren. Weiterhin können Regeln festgelegt werden, wie die derart gebildeten Subsysteme auf einander zugreifen können. Sotoarc zeigt dann Verletzungen dieser Regeln auf und unterstützt das finden von refactorings die die Einhaltung der Regeln wieder herstellen.
Im wesentlichen wird man also dabei unterstützt, eine sinnvolle Aufteilung der Verantwortlichkeiten einer Software auf code-Ebene zu erreichen. Damit werden vor allem die Ziele einer leichteren Wartbarkeit (durch Verringerung der Abhängigkeiten) und der besseren Testbarkeit angestrebt.
Ich persönlich würde die Aspekte die Sotoarch unterstützt eher als Design und weniger als Architektur betrachten aber diese Begriffe sind ja ohnehin nicht klar definiert. Zur Software-Architektur zählen für mich eher Konzepte die von der Strukturierung der Software auf Quelltext-Ebene unabhängig sind, wie z.B. die Aufteilung von Funktionalitäten auf verschiedene Rechner, Verfahren zu Speicherung von Daten und Kommunikation, Verwendung von threads, die Auswahl der Infrastruktur etc.
Sotoarc verwendet eine Datenbank, d.h. nach dem parsen des Quellcodes wird eine Repräsentation der Quellcode-Dateien, der in Ihnen definierten Software-Elemente und ihrer Beziehungen dort gespeichert. Dies ist bei grossen Software-systemen sicher von Vorteil, das das Ermitteln dieser Informationen sonst bei jedem Programmstart viel Zeit brauchen würde. Außerdem bekommt man dann mit der Datenbank eine Abfragesprache geschenkt, mit sich erst die interessanten Information extrahieren lassen.
Von der gleichen Firma gibt es die Erweiterung Sotograph, die die Datenbasis von Sotoarc nutzt. Sotograph berechnet im wesentlichen verschiedene Metriken und weist auf die Verletzung vordefinierter Bandbreiten hin. Solche Werkzeuge sind durchaus nützlich, um Schwachstellen in der Software aufzudecken.
Insgesamt war es ein informativer, professioneller Vortrag, vom Focus her aber etwa beschränkter als ich es mir erwartet hatte.
Der zweite Vortrag war hingegen ziemlich enttäuschend. Zum einen war der Fokus eindeutig zu stark auf das Produkt Simulink gesetzt, zum anderen war mir nicht klar dass Simulink in einem so hohen Masse ein domänenspezifisches (Schaltungs- und Regelungstechnik) Produkt ist.
Insgesamt hat es ziemlich Spaß gemacht, mal wieder etwas anderes zu hören und sich mit anderen Software-Entwicklern auszutauschen.
Viele Grüße,
Andreas