Kaiserslautern - Fachbereich Informatik
Refine
Year of publication
- 2004 (3) (remove)
Document Type
- Doctoral Thesis (3) (remove)
Language
- German (3)
Has Fulltext
- yes (3)
Keywords
- Ausdrucksfähig (1)
- Ausdrucksfähigkeit (1)
- Automation (1)
- Autonomer Agent (1)
- Containertypen (1)
- Containertypes (1)
- Dienstgüte (1)
- Dienstschnittstellen (1)
- ESTELLE (1)
- Effizienter Algorithmus (1)
Faculty / Organisational entity
In dieser Arbeit wird gezeigt, wie durch eine Automatisierung von Software-Entwicklungsaktivitäten sowohl Effizienz- als auch Qualitätsgewinne erzielt und komplexe Aktivitäten beherrschbar gemacht werden können. Dazu wird zunächst eine solide Basis für eine modellbasierte Software-Entwicklung geschaffen. Nach der Identifikation der Probleme der bisher üblicherweise eingesetzten Metamodellierung wird eine verbesserte Multiebenenmodellierung vorgeschlagen, welche die explizite Angabe der Instanziierbarkeit (Tiefe und Automatismus der Instanziierung) der Modellelemente erlaubt und damit eine deutliche Vereinfachung und bessere Verständlichkeit der Metamodelle ermöglicht. Zur operationalen Beschreibung von Modelltransformationen im Kontext dieser Multiebenenmodellierung wird sodann die Aktionssprache AL++ konzipiert. Insbesondere durch die Einführung von Sprachelementen für die Handhabung von Relationen und Attributen und die Aufnahme von Reflexionskonstrukten in die Sprache AL++ werden Transformationen kompakt und generisch beschreibbar. Anwendung finden diese Ansätze in der modellbasierten Entwicklung reaktiver Systeme. Dazu wird eine existierende Entwicklungsmethode erweitert, um eine durchgängige Automatisierung realisieren zu können. Die wichtigste Erweiterung ist dabei die modifizierte Automatenmodellierung, bei welcher erweiterte Endliche Automaten durch die Komposition getrennt modellierter Zustandsübergänge spezifiziert werden, was eine eindeutige Verfolgbarkeit zu den Anforderungen erlaubt. Eingesetzt werden obige Techniken für die statische Analyse von Spezifikationen, wobei insbesondere die automatische Detektion von Feature-Interaktionen (also die Feststellung kritischer Wechselwirkungen zwischen Produktmerkmalen) in dieser Form erstmalig für den Bereich der reaktiven Systeme durchgeführt wird. Daneben werden automatisierte dynamische Analysen auf der Basis generierter Prototypen betrachtet. Die Analyseergebnisse können automatisiert für die Modifikation und Neukonstruktion der Prototypen genutzt werden, womit Software-Entwicklungsexperimente vollständig in einem „virtuellen Labor“ durchgeführt werden können. Wichtigstes experimentelles Ergebnis ist, dass eine statische Parametrisierung einer „intelligenten“ Temperaturregelung möglich ist und daher eine Reduktion der notwendigen Produktmerkmale (und damit der Komplexität) erreicht werden kann. In Fallstudien wird am Ende der Arbeit nachgewiesen, dass alleine durch die automatische Erzeugung von Entwicklungsdokumenten und die konsistente Änderung vorhergehender Dokumente durch die in dieser Arbeit implementierten Werkzeuge ein Effizienzgewinn von 54 % erreicht werden kann. Die Erstellung der eingesetzten Werkzeuge hätte sich dabei bereits nach zwei ähnlichen Projekten bezahlt gemacht.
Die formale Spezifikation von Kommunikationssystemen stellt durch die mit ihr verbundene Abstraktion und Präzision eine wichtige Grundlage für die formale Verifikation von Systemeigenschaften dar. Diese Abstraktion begrenzt jedoch auch die Ausdrucksfähigkeit der formalen Beschreibungstechnik und kann somit zu problemunangemessenen Spezifikationen führen. Wir untersuchen anhand der formalen Beschreibungstechnik Estelle zunächst zwei solche Aspekte. Beide führen speziell in Hinsicht auf die Domäne von Estelle, der Spezifikation von Kommunikationsprotokollen, zu schwerwiegenden Beeinträchtigungen der Ausdrucksfähigkeit. Eines dieser Defizite zeigt sich bei dem Versuch, in Estelle ein offenes System wie z. B. eine Protokollmaschine oder einen Kommunikationsdienst zu spezifizieren. Da Estelle-Spezifikationen nur geschlossene Systeme beschreiben können, werden solche Komponenten immer nur als Teil einer fest vorgegebenen Umgebung spezifiziert und besitzen auch nur in dieser eine formale Syntax und Semantik. Als Lösung für dieses Problem führen wir die kompatible syntaktische und semantische Estelle-Erweiterung Open-Estelle ein, die eine formale Spezifikation solcher offener Systeme und ihres Imports in verschiedene Umgebungen ermöglicht. Ein anderes Defizit in der Ausdrucksfähigkeit von Estelle ergibt sich aus der strengen Typprüfung. Wir werden zeigen, dass es in heterogenen, hierarchisch strukturierten Kommunikationssystemen im Zusammenhang mit den dort auftretenden horizontalen und vertikalen Typkompositionen zu einer unangemessenen Modellierung von Nutzdatentypen an den Dienstschnittstellen kommt. Dieses Problem erweist sich beim Versuch einer generischen und nutzdatentypunabhängigen Spezifikation eines offenen Systems (z. B. mit Open-Estelle) sogar als fatal. Deshalb führen wir die kompatible Containertyp-Erweiterung ein, durch die eine formale Spezifikation nutzdatentypunabhängiger und somit generischer Schnittstellen von Diensten und Protokollmaschinen ermöglicht wird. Als Grundlage für unsere Implementierungs- und Optimierungsexperimente führen wir den „eXperimental Estelle Compiler“ (XEC) ein. Er ermöglicht aufgrund seines Implementierungskonzeptes eine sehr flexible Modellierung des Systemmanagements und ist insbesondere für die Realisierung verschiedener Auswahloptimierungen geeignet. XEC ist zudem mit verschiedenen Statistik- und Monitoring-Funktionalitäten ausgestattet, durch die eine effiziente quantitative Analyse der durchgeführten Implementierungsexperimente möglich ist. Neben dem vollständigen Sprachumfang von Estelle unterstützt XEC auch die meisten der hier eingeführten Estelle-Erweiterungen. Neben der Korrektheit ist die Effizienz automatisch generierter Implementierungen eine wichtige Anforderung im praktischen Einsatz. Hier zeigt sich jedoch, dass viele der in formalen Protokollspezifikationen verwendeten Konstrukte nur schwer semantikkonform und zugleich effizient implementiert werden können. Entsprechend untersuchen wir anhand des Kontrollflusses und der Handhabung von Nutzdaten, wie die spezifizierten Operationen effizient implementiert werden können, ohne das Abstraktionsniveau senken zu müssen. Die Optimierung des Kontrollflusses geschieht dabei ausgehend von der effizienten Realisierung der Basisoperationen der von XEC erzeugten Implementierungen primär anhand der Transitionsauswahl, da diese speziell bei komplexen Spezifikationen einen erheblichen Teil der Ausführungszeit bansprucht. Wir entwickeln dazu verschiedene heuristische Optimierungen der globalen Auswahl und der modullokalen Auswahl und werten diese sowohl analytisch wie auch experimentell aus. Wesentliche Ansatzpunkte sind dabei verschiedene ereignisgesteuerte Auswahlverfahren auf globaler Ebene und die Reduktion der zu untersuchenden Transitionen auf lokaler Ebene. Die Überprüfung der Ergebnisse anhand der ausführungszeitbezogenen Leistungsbewertung bestätigt diese Ergebnisse. Hinsichtlich der effizienten Handhabung von Daten untersuchen wir unterschiedliche Ansätze auf verschiedenen Ebenen, die jedoch in den meisten Fällen eine problemunangemessene Ausrichtung der Spezifikation auf die effiziente Datenübertragung erfordern. Eine überraschend elegante, problemorientierte und effiziente Lösung ergibt sich jedoch auf Basis der Containertyp-Erweiterung, die ursprünglich zur Steigerung des Abstraktionsniveaus eingeführt wurde. Dieses Ergebnis widerlegt die Vorstellung, dass Maßnahmen zur Steigerung der effizienten Implementierbarkeit auch immer durch eine Senkung des Abstraktionsniveaus erkauft werden müssen.
Im Informationszeitalter haben die Menschen überall und jederzeit Zugang zu einer kontinuierlich ansteigenden Fülle von Informationen. Hierzu trägt vor allem die explosionsartig wachsende globale Vernetzung der Welt, insbesondere das Internet, maßgeblich bei. Die Transformation der verfügbaren Informationen in Wissen sowie die effiziente Nutzung dieses Wissens stellen dabei entscheidende Faktoren für den Erfolg eines Unternehmens oder eines Einzelnen dar. Es stellt sich also die Frage: Leben wir im Informationszeitalter? Diese Frage erinnert an die von Immanuel Kant in [65] gestellte Frage "Leben wir jetzt in einem aufgeklärten Zeitalter?" und dessen Antwort "Nein, aber wohl in einem Zeitalter der Aufklärung.". Entsprechend lässt sich auch die Frage "Leben wir in einem informierten Zeitalter?" mit "Nein, aber wohl in einem Zeitalter der Information" beantworten (vergleiche [14]). Das Problem, dass sich die überwältigende Fülle an Information ohne geeignete Hilfsmittel vom Menschen nicht oder nur schwer beherrschen lässt, hat im Laufe des letzten Jahrzehnts maßgeblich zur Entwicklung des äußerst dynamischen Forschungs- und Anwendungsgebietes der Visualisierung als Teilgebiet der Computergrafik beigetragen. Der Grund hierfür liegt in der Tatsache, dass der Mensch wesentlich besser mit visuellen Eindrücken als mit abstrakten Zahlen oder Fakten umgehen kann. Die Erkennung von Mustern in Daten (z. B. Gruppierungen und Häufungen) wird durch die Visualisierung stark vereinfacht und lässt vielmals Zusammenhänge zwischen Daten überhaupt erst greifbar werden. Unter computergestützter Visualisierung versteht man die in der Regel interaktive grafische Umsetzung von Daten. Handelt es sich dabei um physikalische Daten (z. B. entstanden durch Messvorgänge), so spricht man von Scientific Visualization. Handelt es sich eher um abstrakte bzw. nicht-physikalische Daten, so ordnet man die entsprechenden Verfahren der Information Visualization zu. Beide Teilgebiete der Visualisierung verfolgen jedoch das gemeinsame Ziel, Informationen dem Menschen sichtbar und verständlich zu machen und verwenden hierzu geeignete visuelle Paradigmen, häufig verbunden mit entsprechenden Interaktionsmöglichkeiten. Die vorliegende wissenschaftliche Arbeit ist in den Bereich der angewandten Computergrafik, speziell der interaktiven Visualisierung, einzuordnen. Die primären Ziele lagen dabei in der Übertragung des Begriffes kontextsensitiv auf den Bereich der Visualisierung zur Sicherstellung effizienter und kontextsensitiver Visualisierungsapplikationen sowie die Anwendung in aktuellen praktischen Aufgabenstellungen. Die Umsetzung einer kontextsensitiven Visualisierung gelingt im Rahmen dieser Arbeit durch die zukunftsweisende Kopplung von Visualisierungspipeline und Agententechnologie. Basierend auf der Identifikation zentraler Szenarien der kontextsensitiven Visualisierung wird eine agentenbasierte Visualisierungskontrolle durch intelligente Überwachung und Regelung der Visualisierungspipeline vorgestellt. Nach einer Zusammenfassung der relevanten Grundlagen aus den Gebieten der Visualisierung und der Agententechnologie folgen eine theoretische Klassifizierung und ein Überblick über existierende Systeme und Anwendungen aus beiden Bereichen. Anschließend wird das im Rahmen dieser Arbeit erarbeitete Paradigma der kontextsensitiven Visualisierung vorgestellt und die praktische, komponentenbasierte Umsetzung erläutert. Einen nicht unerheblichen Anteil der Arbeit machen drei innovative, auf der kontextsensitiven Visualisierung basierende Visualisierungsapplikationen aus, welche die Möglichkeiten und die Funktionsfähigkeit der entwickelten Architektur aufzeigen. Die Entwicklung einer plattformunabhängigen interaktiven Visualisierung beschäftigt sich insbesondere mit dem Auffinden der aktuell maximal möglichen Performance durch Abwägung der gegenläufigen Hauptparameter Qualität und Interaktivität und behandelt damit vor allem den System- und Interaktionskontext. Der Gedanke der plattformunabhängigen interaktiven Visualisierung wird anschließend auf mobile Informationssysteme ausgeweitet. Hier ist neben den Performanceaspekten vor allem die Art des Ausgabemediums, d. h. der Darstellungskontext, ein entscheidender Faktor. Die dritte Anwendung stellt eine agentenbasierte Applikation für die Bekleidungsindustrie in Form eines interaktiven Individual-Katalogs dar und behandelt insbesondere den Daten- und den Benutzerkontext. Eine kurze Zusammenfassung sowie ein Ausblick auf geplante zukünftige Entwicklungen runden letztlich die Betrachtungen ab.