Beitrag zur metrikbasierten Erfassung von CASE-Entwurfsumgebungen für elektronische Systeme

Stingl, Thomas; FZI-Publikation, 1/2001, Forschungszentrum Informatik an der Universität Karlsruhe, Dissertation, 2001 (Inst. Prof. K.-D. Müller-Glaser)

CASE-Werkzeuge haben in der Produktion von eingebetteten Systemen wie sie in vielen Alltagsprodukten vorkommen eine zunehmende finanzielle und organisatorische Bedeutung. Technischer Fortschritt der Computertechnologie, Vielfältigkeit der Applikationen und Weiterentwicklung in der CASE-Methodologie bringen die regelmässige Einführung neuer CASE-Werkzeuge mit sich, deren Funktionalität von potentiellen Anwendern geprüft werden muss. Grössere Institutionen haben bereits eine Kollektion installierte CASE-Werkzeuge, stehen jedoch bei jedem neuem Projekt vor der Frage, welches dieser Werkzeuge am geeignetsten für die neue Aufgabe ist.

Zur methodischen und rechnerbasierten Unterstützung dieser Problematiken wird in der vorliegenden Dissertation ein anschliessend realisierter Lösungsansatz beschrieben, ausgehend von praktischer Arbeit in einer industrieorientierten Forschungseinrichtung mit einer grossen Vielfalt an installierten Entwicklungs- umgebungen. Die hierfür notwendigen Grundlagen im gegebenen Umfeld sind konzise zusammengestellt worden, zunächst im Bereich Systementwicklungsprozess und Systementwurf nach dem V-Modell, darauf aufbauend orientiert an den CASE-Phasen Anforderungsverwaltung, Spezifikation, Simulation, Implementierung sowie Test, Wartung und Diagnose. Hiermit wurde der Stand der Technik bezüglich der Eigenschaften von CASE-Werkzeugen erarbeitet, parallel und geordnet nach dem zeitgleich aufgebauten und später beschriebenen Kriterienkatalog.

Die Diskussion hinführender Grundlagen zur Thematik Messen und Metriken beinhaltet eine Auseinandersetzung mit den im Bereich der Systementwicklung relevanten Metriken sowie weiteren Grundlagen auf dem Gebiet Vergleich und Auswertung, darauf aufbauend wird der Stand der Technik im Bereich Bewertung und Vergleich von CASE-Werkzeugen diskutiert. Eine Vielfalt an Empfehlungen und Richtlinien im Umfeld der gestellten Thematik wurde gefunden, jedoch keine direkt einsetzbare Unterstützung für die Untersuchung von CASE-Werkzeugen zum Entwurf elektronischer Systeme. Von den zu den gefundenen Lücken entsprechenden Anforderungen ausgehend wird ein Ansatz zur Lösung des Problems konzipiert.

Das skizzierte System zur Unterstützung von Werkzeugevaluierungen soll sowohl individuelle und gemittelte Werkzeugbewertungen ermöglichen als auch eine projektspezifische Positionierung erlauben.
Zur Analyse der Thematik wurden in repräsentativer Breite in den Anwendungsgebieten Luft- und Raumfahrt, Automobiltechnik sowie Multimedia hinführende CASE- und Standardisierungsarbeiten durchgeführt. Bei den Untersuchungen zu den speziellen Anforderungen in der Luft- und Raumfahrt zeigten sich Parallelitäten zu Anforderungen, wie sie z. B. auch auf dem Gebiet der Reaktortechnik oder der modernen Medizintechnik auftreten.
Im Umfeld Automobil ist die Umsetzung moderner CASE-Methoden vielfältiger. CASE-Werkzeugeinsatz im Bereich Multimedia konzentriert sich zumeist nicht auf die klassische Algorithmenumsetzung, sondern zum einen auf den Bereich der zugehörigen Telekommunikationsprotokolle, zum anderen auf die objektorientierte Entwicklung komplexer interaktiver Endsysteme basierend auf PC-ähnlicher Hardware. Begleitende Arbeit in Standardisierungsgremien und in der Anwendung zeigten einerseits den durch die Existenz vieler proprietärer Lösungstechniken gegebenen typischen hohen Reibungsverlust auf, andererseits konnten die Vorteile standardisierter Schnittstellen gewinnbringend eingesetzt werden.
Der durch die Erarbeitung der Grundlagen, Stand der Technik und eigener Projektarbeit geformte Kriterienkatalog wurde anschliessend vollständig aufgeführt, mit dem Anspruch möglichst für jedes Einzelkriterium Grundlagen für Metriken bereitzustellen. Die metrikenorientierten Antwortvorgaben für die Mehrzahl der aufgestellten Kriterien reflektieren das Spektrum der Antwortmöglichkeiten nach dem derzeitigen Stand der Technik. Dabei ist der grösste Teil der Kriterien aus Literatur bezüglich früherer CASE-Werkzeuganwendungen erarbeitet, ein nicht unwesentlicher Beitrag ist jedoch auch durch eigene Erfahrung mit der Anwendung und Evaluierung von CASE-Werkzeugen im wissenschaftlichen und industriellen Umfeld gewonnen. Prinzipiell ist der Kriterienkatalog nicht vollständig - projektspezifische Eigenheiten und Vorgaben erzwingen die in der Realisierung auch vorgesehene Möglichkeit der Einflussnahme und Anpassung der Kriterien durch den Anwender.

Ein wichtiger Einwand beim Einsatz von einfachen, grössenbezogenen Metriken im Bereich Echtzeitsystemapplikationen ist die Tatsache, dass es oft für die Qualität des Endprodukts günstiger ist, weniger komplexe und umfangreiche Software zu schreiben. Genau dieses wird jedoch bei direkter Anwendung von Komplexitätsmetriken bei der Entwicklung der Software bestraft. Noch dazu ist das Entwicklungsziel an sich oft an einer bestimmten vorgegebenen physikalischen Grösse orientiert. Es wird also dringend empfohlen, die resultierenden Zahlen aus der Anwendung von Metriken zwar als Richtlinien für eine Gesamtbeurteilung zu betrachten, jedoch die Grenzen der Interpretation zu berücksichtigen.
Absolute Zahlenwerte sind bei der Anwendung von Metriken nicht wichtig an sich, von Bedeutung ist, dass überhaupt beobachtet wird und darüber hinaus hinterfragt wird was die unterliegenden Daten sind. Die in der Software-Analyse gebräuchlichen Metriken sind nicht direkt zur Bewertung der Funktionalität des komplexen Systems CASE-Werkzeug anwendbar. Diese Metriken sind im Einsatz beschränkt und optimiert für Quellcode-Untersuchungen, teilweise erweitert für den Prozess der Software-Entwicklung. Dies ist geeignet um ein CASE-Werkzeug auf längere Zeit hin zu analysieren, in dieser Arbeit war die Massgabe jedoch eine Vielzahl von Werkzeugen in relativ kurzer Zeit - prinzipiell sogar in periodischer Reihenfolge - evaluieren zu können.

Die Systemrealisierung erfolgte nach einer funktionalen Spezifikation gegliedert nach den Komponenten Kernsystem, Datenhaltung, Kalkulation und Benutzerschnittstelle. Beschreibungsmöglichkeiten moderner UML-basierter CASE-Werkzeuge - die in einer Doppelrolle auch Anwendungsfälle des Systems waren - wurden zur Unterstützung der objektorientierten Realisierung herangezogen. Begleitende Implementierungen ergänzten die praktische Auseinandersetzung mit der Thematik. Eine Validierung der theoretischen und praktischen Arbeit erfolgte durch die Einführung des Systems sowohl im Forschungsinstitut als auch bei industriellen Projektpartnern. Dabei wurde eine Vielzahl von CASE-Werkzeugen für den Entwurf elektronischer Systeme analysiert, zusätzlich auch einige relevante Werkzeuge im Umfeld.

Neben der Werkzeugauswahl ist begleitend die Wahl oder Definition einer Methodik wichtig. In typischen industriellen Anwendungsfällen kommt häufig die Frage auf, warum, trotz "besserem" Werkzeug, die Situation unverändert problematisch bleibt. Die potentiellen Vorteile, dass ein neues Werkzeug durch kürzere Entwicklungszeiten direkte Kosten sparen würde kann durch insgesamt höhere Kosten aufgrund der Einführung des neuen Werkzeugs aufgehoben werden. Ein anderer Grund kann z. B. eine erschwerte Wartung des neuen Codes sein, was wiederum bei Berücksichtigung des kompletten Lebenszyklus des Systems insgesamt für die herkömmliche Lösung sprechen kann.
Bei allen Untersuchungen zur Auswahl der bestmöglichen Methoden und Werkzeuge dürfen also das Umfeld und die Randbedingungen nicht vergessen werden. Voraussetzung für den effektiven Einsatz von SEU ist die ausreichende Untersuchung und Optimierung interner Prozesse und Vorgehensweisen. Der Einsatz von CASE-Werkzeugen, welche etablierte, jedoch suboptimale Entwurfspraktiken automatisieren, ist nicht anzustreben. Gegenwärtig ist Realität, dass es eine unübersichtliche Anzahl verschiedener Methoden gibt; schon allein die Informationsverbreitung darüber ist diskussionswürdig. Material über Methodologien und ihre praktische Anwendung sollte idealerweise in einem einheitlichen Format modular vorliegen. Ausserdem ist auch die Einschätzung der ermittelten Werte einer Messung von Bedeutung: eine laut Metrik sehr komplexe Systemlösung muss nicht unbedingt die Beste sein, oft sind technisch machbare Eigenschaften von CASE-Werkzeugen nicht sinnvoll einsetzbar im jeweiligen industriellen Umfeld. Das Ergebnis einer Bewertung von CASE-Werkzeugen mit dem hier vorgestellten System kann daher nur eine Grundlage sein auf der eine Entscheidung aufbaut, es stellt jedoch keinesfalls schon selbst die Entscheidung dar.

Eine wesentliche Ursache für Misserfolg beim Einsatz von CASE-Werkzeugen ist das Versäumnis eine durchdachte Einführungsstrategie zu entwickeln und für eine angemessene Personalqualifizierung zu sorgen. Dieser Punkt ist besonders kritisch da durch die Möglichkeiten von VHDL-Generierung und weiterführenden Entwicklungen (z. B. SystemC) die CASE- und die traditionelle EDA-Welt zusammenwachsen und Entwickler mit sehr verschiedenem Hintergrundwissen die gleichen CASE-Werkzeuge beherrschen müssen.

Man lernt in der Regel mehr aus den Fehlern als aus Erfolgen. Richtlinien (Styleguides) sind enorm wichtig für die Praxis - vom Autor mit erstellt wurden z. B. ein Dokument mit Modellierungsrichtlinien für eine verbreitete CASE-Methode. Im Gegensatz zu den höheren Ebenen des software-orientierten Systementwurfs ist in der traditionellen Fertigung das Design - also die Bearbeitung der Architektur und Komponentenstruktur - immer von Berechnungen begleitet. Im hier gegebenen Umfeld ergibt die Anwendung von Metriken eine empirische Validierung. Extreme Werte können als Warnsignal z. B. hohe Komplexität erkennbar machen.

Erfahrene Anwender haben meistens eine schlechtere Meinung von der Nützlichkeit der CASE-Werkzeuge, was zum einen durch Desillusionierung in vorheriger Unkenntnis von CASE-Werkzeugen, zum anderen durch die Erarbeitung eigener optimierter Arbeitstechniken herrühren kann. Andererseits sehen diese Entwickler oft nicht die Vorteile, die CASE-Werkzeuge insbesondere für neue oder gelegentliche Anwender bieten. Bei vielen Kriterien, z. B. in Hinsicht auf Benutzerschnittstelle geht der Evaluierungsaufwand theoretisch gegen unendlich. An diesen Stellen gilt es beispielhaft zu prüfen und von Stichproben auf die Gesamtimplementierung zu schliessen. Aus der unvermeidlich subjektiven Art der Fragestellungen der Mehrzahl der Kriterien resultieren aufwendige Interviews sowohl mit Entwicklern als auch Anwendern. Weiterhin unterstützt das in dieser Arbeit entwickelte System aktiv die Bewertung durch ein heterogen zusammengesetztes Team.

Eine der Schlussfolgerungen aus den oben beschriebenen Untersuchungen ist die Feststellung, dass Projekte die Verwendung von Hardware anstreben sollten, welche es erlaubt, Software ohne risikoreiche Kompromisse zu entwerfen und implementieren. Ein hoher Zeitanteil der Entwicklung wird heute damit verbracht, komplexe Algorithmen für nicht angemessene Hardware zu realisieren; z. B. muss oft auf mögliche Laufzeitprüfungen (wie z. B. in Ada möglich) verzichtet werden und die Ausnahmebehandlung wird aus Platzgründen nur rudimentär verwirklicht. Aufgrund von Massenproduktion und enger Preiskalkulationen muss jedoch in bestimmten Anwendungsgebieten auch in Zukunft von Ressourcenknappheit ausgegangen werden.

Die realisierte Systemkonzeption beinhaltet wesentliche Kennzeichen eines Expertensystems, auch und vor allem im Bereich Benutzerschnittstelle. Dies ist eine Möglichkeit zum weiteren Ausbau der vorliegenden Implementierung. Ein reales, weiter zu entwickelndes System kann nie voll spezifiziert sein und muss ständig angepasst werden. Dies gilt an dieser Stelle sowohl für die untersuchten CASE-Werkzeuge, für die zu erstellenden Applikationen und für das im Rahmen dieser Arbeit entwickelte Evaluierungssystem. Besonders die CASE-Werkzeuge entwickeln sich rasant weiter, der technische Fortschritt stellt für die nahe Zukunft z. B. die Integration von 3D-Darstellungen von räumlichen Objekten und weltweite transparente netzbasierte Gruppenarbeit in Aussicht. Das in dieser Arbeit entwickelte System ist als ein solches "lebendes Projekt" angelegt, d. h. es muss, den jeweiligen neuen Aspekten folgend, in Zukunft ständig weiterentwickelt und benutzt werden.
In einer typischen Industrieumgebung müssen relevante Daten zu CASE-Werkzeug- Analysen aus Kostengründen oft nur innerhalb sehr kurzer Zeit erfasst werden, noch dazu mit beschränktem Personalaufwand und mit nicht ohne weiteres reproduzierbaren Ergebnissen. Im Gegensatz dazu hat das hier vorgestellte Konzept vor allem durch die nachvollziehbare Berechnungsmethode, die Rechnerunterstützung, die flexible Konfigurierbarkeit der Komplexität der Untersuchungen und die reproduzierbare Datenhaltung erhebliche Vorteile demonstriert.