Kaiserslautern - Fachbereich Informatik
Refine
Year of publication
Document Type
- Doctoral Thesis (17) (remove)
Language
- German (17) (remove)
Has Fulltext
- yes (17)
Keywords
- Visualisierung (4)
- AG-RESY (2)
- Akquisition (1)
- Ausdrucksfähig (1)
- Ausdrucksfähigkeit (1)
- Automation (1)
- Autonomer Agent (1)
- Bahnplanung (1)
- Bildverarbeitung (1)
- Clustering (1)
- Containertypen (1)
- Containertypes (1)
- Controller Synthesis (1)
- Datenbanken (1)
- Dienstgüte (1)
- Dienstschnittstellen (1)
- Dreidimensionale Bildverarbeitung (1)
- Dynamischer Test (1)
- ESTELLE (1)
- Effizienter Algorithmus (1)
- Effizienz (1)
- Effizienzsteigerung (1)
- Energie (1)
- Expressiveness (1)
- FERAL (1)
- Fast Mode-Signaling (1)
- Formale Beschreibungstechnik (1)
- Human-Robot-Coexistence (1)
- Human-Robot-Cooperation (1)
- Imote2 (1)
- Implementation (1)
- Implementierung (1)
- Kommunikation (1)
- Komponentenmodell (1)
- Kontextbezogenes System (1)
- LOADBAL (1)
- Mehragentensystem (1)
- Mensch-Maschine-Kommunikation (1)
- Mensch-Roboter-Koexistenz (1)
- Mensch-Roboter-Kooperation (1)
- Mobile Computing (1)
- Mode-Based Scheduling with Fast Mode-Signaling (1)
- Modellgetriebene Entwicklung (1)
- Modellierung (1)
- Modelling (1)
- Modusbasierte Signalisierung (1)
- NoSQL (1)
- Object-orientation (1)
- Objektorientierung (1)
- Open Estelle (1)
- Quality (1)
- Qualität (1)
- Raumordnung (1)
- Regelung (1)
- Rekonstruktion (1)
- Robotik (1)
- SDL (1)
- SIMERO (1)
- Scheduling (1)
- Service Access Points (1)
- Simulation (1)
- Simulationen (1)
- Software (1)
- Software Engineering (1)
- Softwareentwicklung (1)
- Softwarespezifikation (1)
- Sprache (1)
- Symbolic Methods (1)
- Temporal Logic (1)
- Time-motion-Ultraschallkardiographie (1)
- UML (1)
- Ultraschallkardiographie (1)
- Umweltinformatik (1)
- VIACOBI (1)
- Virtual Prototyping (1)
- Voronoi-Diagramm (1)
- XEC (1)
- inverses Pendel (1)
Faculty / Organisational entity
Zur Planung und Steuerung von komplexen rechnerintegrierten Fertigungssystemen (CIM) ist die Abarbeitung vieler extrem aufwendiger Algorithmen notwendig. Aus dem Bereich der Fertigungssteuerung zählt die Generierung von Maschinenbelegungsplänen (scheduling) dazu. Zur Steigerung der Lösungsgeschwindigkeit bzw. zum Erreichen exakter Ergebnisse bietet sich der massive Einsatz von Rechenparallelität an. Mit Parallelrechnern ist durch die gleichzeitige Verwendung von vielen Prozessoren potentiell eine sehr große Leistungssteigerung zu erreichen. Dafür muß jedoch die vorhandene Parallelität effektiv genutzt werden. Die dazu erforderliche Verteilung der anstehenden Arbeit auf eine große Menge von Prozessoren heißt Lastverteilung und stellt den Kern dieser Arbeit dar. Als allgemeiner Algorithmus zur Lösung kombinatorischer Optimierungs-probleme wird das Branch-and-bound-Verfahren eingesetzt und auf fein-körnigen Parallelrechnerarchitekturen ausgeführt. Zur Lastverteilung werden folgende drei Ansätze verfolgt und untersucht: " Statische Lastverteilung: Es werden mehrere Methoden zur Initialisierung der Prozessoren, welche vor dem eigentlichen Optimierungsalgorithmus ausgeführt werden, analysiert. Es zeigt sich, daß sich die statische Last-verteilung überproportional stark auf die Laufzeit des nachfolgenden Branch-and-bound-Algorithmus auswirkt. Es ist daher wichtig, der bisher unterschätzten statischen Lastverteilung für die parallele Baumsuche mit realen Problemstellungen, besondere Aufmerksamkeit zu schenken. " Dynamische Lastverteilung: Es wird ein vereinfachtes, gut skalierbares Flüssigkeitsmodell als erste synchrone lokale Lastverteilung entwickelt, welche besonders für Parallelrechner mit kurzer Verzögerungszeit beim Aufbau von Kommunikationsverbindungen effizient ist. Die Methode wird mit dem bekannten, aus dem Asynchronen übertragenen, Mittelungs-Ansatz verglichen. Zum analytischen Vergleich wird als ein realistischeres Aufwandsmaß die Kommunikationsmenge statt der üblichen Anzahl von Kommunikationsschritte verwendet. Der in der Prozessoranzahl bisher benötigte quadratische Zeitaufwand wird durch das Flüssigkeitsmodell auf einen linearen Aufwand reduziert, wobei das Flüssigkeitsmodell auch bzgl. der konstanten Zeitfaktoren signifikant effizienter ist. " Implizite Lastverteilung: Zur Vermeidung von Wartezeiten der unbe-teiligten Prozessoren während der Lastverteilung wird der Lastverteilungs-prozeß mit dem Branch-and-bound-Prozeß verschmolzen. Das neuartige Konzept der k-Expansion unterstützt eine automatische Lastverteilung und approximiert eine globale Suchstrategie. Zur Validierung der Ergebnisse werden Simulationen und Experimente mit einem Satz von Benchmark-Problemen durchgeführt. Der zugrunde liegende SIMD-Rechner ist eine MasPar MP-1 mit 16.384 Prozessoren in einem 2- dimensionalen Torus. Als exemplarische, NP-harte Anwendungsdomäne werden statische, non-operationale Planungsprobleme betrachtet.
Zur Zeit haben Industrieroboter nur eine sehr begrenzte Wahrnehmung ihrer Umwelt. Wenn sich Menschen im Arbeitsraum des Roboters aufhalten sind sie daher gefährdet. Durch eine Einteilung der möglichen Roboterbewegung in verschiedene Klassen kann gezeigt werden, dass die für einen Menschen im Arbeitsraum gefährlichste Bewegung die freie Transferbewegung ist. Daher besteht die betrachtete Aufgabe darin, diese Transferbewegung eines Manipulators durchzuführen, ohne mit dynamischen Hindernissen, wie zum Beispiel Menschen, zu kollidieren. Das vorgestellte SIMERO-System realisiert eine globale Ganzarmkollisionsvermeidung auf der Basis von Bildern stationärer Kameras. Das System gliedert sich in die vier Hauptkomponenten Bildverarbeitung, Robotermodellierung, Kollisionserkennung und Bahnplanung. Diese Komponenten werden im einzelnen vorgestellt.
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.
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.
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.
Ultraschall ist eines der am häufigsten genutzen, bildgebenden Verfahren in der Kardiologie. Dies ist durch die günstige Erzeugung, die Nicht-Invasivität und die Unschädlichkeit für die Patienten begründet. Nachteilig an den existierenden Geräten ist der Umstand, daß lediglich zwei-dimensionale Bilder generiert werden können. Zusätzlich können diese Bilder aufgrund anatomischer Gegebenheiten nicht aus einer wahlfreien Position akquiriert werden. Dies erschwert die Analyse der Daten und folglich die Diagnose. Mit dieser Arbeit wurden neue, algorithmische Aspekte des vier-dimensionalen, kardiologischen Ultraschalls ausgehend von der Akquisition der Rohdaten, deren Synchronisation und Rekonstruktion bis hin zur Visualisierung bearbeitet. In einem zusätzlichen Kapitel wurde eine neue Technik zur weiteren Aufwertung der Visualisierung, sowie zur visuellen Bearbeitung der Ultraschalldaten entwickelt. Durch die hier entwickelten Verfahren ist es möglich bestimmte Einschränkungen des kardiologischen Ultraschalls aufzuheben oder zumindest zu mildern. Hierunter zählen vor allem die Einschränkung auf zwei-dimensionale Schnittbilder, sowie die eingeschränkte Sichtwahl.
Die Computerisierung der Gesellschaft bedingt ein ständiges Zunehmen der Geschwindigkeit, mit der neue Daten erzeugt werden. Parallel zu dieser Entwicklung steigt der Bedarf an geeigneten Analyseverfahren, die in diesen großen und oftmals heterogenen Datenmengen Muster finden, Zusammenhänge entdecken und damit Wissen erzeugen. Das in dieser Arbeit entwickelte Verfahren findet die passende Struktur in einer ungeordneten, abstrakten Datenmenge, ordnet die zugrunde liegenden Informationen und bündelt diese somit für eine gezielte Anwendung. Dieser Prozess des Information Clustering ist zweistufig, es erfolgt zuerst ein generelles Clustering, an das sich eine interpretierende Visualisierung anschliesst. Für das Clustering wird das Verfahren der Voronoidiagramme erweitert. Durch den Einsatz einer generellen Distanzfunktion wird die Modellierung der durch die großen Datenmengen entstehenden multidimensionalen Parameter sowie weiterer Gewichte ermöglicht. Eine anschließende Visualisierung aus dem Bereich der Informationsvisualisierung unterstützt die Interpretation der neu gewonnenen Informationen. Für die praktische Anwendung wird die Stadtplanung betrachtet. In der Stadtplanung wird das Modell des Planungsablaufes eingesetzt, mit dem verschiedene Planungsalternativen erzeugt werden. Dieses Modell ist jedoch zu starr, um den dynamischen Anforderungen in der Realität gerecht zu werden. Das Information Clustering erweitert den klassischen Planungsablauf, die Flexibilität des Modells wird dadurch erhöht und die Komplexität reduziert. Das Ergebnis der Berechnung ist genau eine Planungsalternative, die sämtliche Eingabeparameter kanalisiert.
Software stellt ein komplexes Werkzeug dar, das durch seine umfassenden Möglichkeiten die moderne Gesellschaft entscheidend geprägt hat. Daraus ergibt sich eine Abhängigkeit von Funktion und Fehlfunktion der Software, die eine an den funktionalen Anforderungen orientierte Entwicklung und Qualitätssicherung der Software notwendig macht. Die vorliegende Arbeit schafft durch Formalisierung und Systematisierung der Verfahren im funktionsorientierten Test eine fundierte Basis für eine Hinwendung zu den funktionsorientierten Techniken in Softwareentwicklung und –qualitätssicherung. Hierzu wird in der Arbeit zunächst ein formales Modell für das Vorgehen im dynamischen Test beschrieben, das sich an der Begriffsbildung der Literatur und dem Verständnis der Praxis orientiert. Das Modell beruht auf wenigen zentralen Annahmen, eignet sich für formale Untersuchungen und Nachweise und ist wegen seiner sehr allgemein gehaltenen Definitionen breit anwendbar und einfach erweiterbar. Auf dieser Basis werden Vorgehen und Verfahren zum funktionsorientierten Test analysiert. Zunächst wird dazu das Vorgehen im funktionsorientierten Test im Rahmen des Modells dargestellt. Darauf aufbauend werden zentrale Verfahren des funktionsorientierten Tests analysiert, die zum Gegenstand die systematische Prüfung der Umsetzung von weitgehend informal beschriebenen Anforderungen in einem Softwareprodukt haben. Betrachtet werden Verfahren der funktionalen Partitionierung, der funktionalen Äquivalenzklassenanalyse und Grenzwertbildung, Verfahren zur Prüfung von kausalen Zusammenhängen zwischen Ursachen und Wirkungen, Verfahren zur Prüfung von graphisch spezifizierter Funktionalität in Syntaxdiagrammen, Aktivitätsdiagrammen, Sequenz- und Kollaborationsdiagrammen und Petrinetzen, Verfahren zum Test zustandsbasierter Systeme sowie Ansätze einer funktionalen Dekomposition. Die Analyse und Diskussion der bekannten Verfahren im formalisierten Rahmenwerk führt zu zahlreichen Ergebnissen und Verfahrensergänzungen. So zeigt sich, dass in den klassischen, informalen Beschreibungen häufig Unklarheiten bestehen. Diese werden hier adressiert und durch Angabe von Kriterien präzisiert, Optimierungsmöglichkeiten werden aufgezeigt. Darüber hinaus wird an der einheitlichen formalen Darstellung der in der Literatur meist separat betrachteten Verfahren deutlich, welche Vergleichbarkeit zwischen den Verfahren besteht, welche Verfahrenskombinationen sinnvoll sind und wie durch ein kombiniert funktions- und strukturorientiertes Vorgehen eine hohe Aussagekraft in der analytischen Qualitätssicherung erreicht werden kann. Bei der Formulierung der Verfahren im Rahmen des Modells wird herausgearbeitet, wo zur Verfahrensdurchführung die kreative Leistung des Testers notwendig ist und welche Anteile formalisiert und damit automatisiert unterstützt werden können. Diese Betrachtungen bilden die Grundlage für die Skizzierung einer integrierten Entwicklungsumgebung, in der ein funktionsorientiertes Vorgehen in Entwicklung und Qualitätssicherung umgesetzt wird: Hier helfen funktionsorientierte Beschreibungsformen bei der Angabe der Spezifikation, ihrer Verfeinerung und ihrer Vervollständigung, sie unterstützen die Entwicklung durch Modellbildung, sie liefern die Basis für eine funktionsorientierte Testdatenselektion mit Adäquatheitsprüfung, sie können bei geeigneter Interpretierbarkeit über den Datenbereichen zur automatisierten Testfallgenerierung genutzt werden und unterstützen als suboptimale Testorakel eine automatisierte Auswertung des dynamischen Tests. Diese Skizze zeigt die praktische Umsetzbarkeit der vorwiegend theoretischen Ergebnisse dieser Arbeit und setzt einen Impuls für ein verstärktes Aufgreifen funktionsorientierter Techniken in Wissenschaft und Praxis.
Die vorliegende Arbeit beschäftigt sich mit der visuellen Kontrolle raumplanerischer Entwürfe. Grundlage der Überlegungen ist das gegenwärtige Verfahren, der Planungsprozess, das zur Erstellung der Entwürfe führt. Der Entscheidungsweg hin zum endgültigen Ergebnis erfolgt zurzeit noch ohne Rechnerunterstützung. Die in den Planungsprozess Involvierten stützen ihre Entscheidungen bspw. auf Pläne, eigene Erfahrungen und Statistiken und fertigen im Verlauf von Diskussionsrunden verschiedene Entwürfe an. Dieser Ablauf ist komplex, aufgrund der eingehenden Daten und der damit zusammenhängenden Diskussionen, und langwierig da erst nach einigen Iterationsschritten ein Ergebnis vorliegt. Die Arbeit verfolgt das Ziel, die Akteure durch eine Rechnerunterstützung schneller und zielgerichtet zu einer Entscheidungsfindung zu führen. Meine Untersuchung des Anwendungsumfeldes hat ergeben, dass dies nur möglich ist, wenn zum Einen das entstehende System in der Lage ist, die großen, heterogenen Datenmengen zu verarbeiten und andererseits die Visualisierung der Ergebnisse in einer Form erfolgt, die den Akteuren vom bisherigen Planungsprozess her bekannt ist. Die Visualisierung darf dabei keine bewertende Aussage treffen, sondern muss die Informationen der Analyse neutral in einem dem Nutzer bekannten Format abbilden. Als Ansatzpunkt stellt sich der informelle Bereich der Entscheidungsfindung dar. Es werden zwei Lösungswege aus dem Bereich der Clusteringalgorithmen verfolgt, die die großen Datenmengen verarbeiten und analysieren. Als Ergebnis erhalten die Akteure durch das Voronoi-Diagramm direkt einen Entwurf, der die Einschätzungen aller Akteure widerspiegelt und durch ein Übereinanderlegen mit der Karte des Plangebietes dem klassischen Format im Rahmen des Planungsprozesses entspricht. Dadurch wird die Akzeptanz der Rechnerunterstützung bei den Beteiligten des Planungsprozesses gesteigert. Sollte dieser Entwurf noch keine direkte Zustimmung finden, kann über die entwickelte Informationsvisualisierung eine Anzeige und in der Folge eine Anpassung der Eingangsgrößen erfolgen und somit sehr schnell ein neuer Entwurf entwickelt werden. Die Visualisierung übernimmt dabei die Funktion der bisher in Papierform erstellten Pläne im Entscheidungsprozess und bietet damit auch fachfremden Beteiligten eine visuelle Kontrollmöglichkeit der Qualität des Entwurfes. Insgesamt werden mit dem Tool IKone die Akteure in Anlehnung an die standardmäßigen Abläufe und visuellen Darstellungen mittels eines rechnergestützten Systems unterstützt.
Beim funktionsorientierten Testen von Steuergeräten im automobilen Bereich ist das Expertenwissen aufgrund der hohen Komplexität der Testfälle unersetzlich. Bei Basistesttechniken wie der Grenzwertanalyse ist die Absicht eines Testfalls implizit durch die Technik gegeben. Beim Expertenwissen wird jedoch zur Zeit zu jedem erstellten Testfall zusätzlich ein Prosatext verfasst um die Testabsicht anzugeben. Diese Prosabeschreibung ist anfällig für Mehrdeutigkeiten, fällt bei jedem Testentwickler unterschiedlich aus und der inhaltliche Bezug zum Testfall ist lose. Ziel der Arbeit ist eine Spezifikationssprache für die Testfallbeschreibung zu entwerfen um die Nachteile der natürlichen Sprache zu minimieren und testablaufspezifische Sprachelemente zu definieren, so dass sie als ein Grundgerüst für einen Testfall verwendet werden kann. Dazu wird aus der Einsatzumgebung (Systemspezifikation, Testimplementierung und Testprozessthemen) Sprachelemente für die Beschreibung abgeleitet und Ansätze für die Überführung der Beschreibung in die Testimplementierung betrachtet. Das Ergebnis ist eine Testfall-Spezifikationssprache, die auf formaler Grundlage basiert und u.a. in eine graphische Sicht überführt werden kann. Ähnlich der UML wird der Mehrwert erst durch eine werkzeugunterstützte Eingabe deutlich: So sind die Testentwickler in der Lage, einheitliche, formale, wieder verwendbare, verständliche Testfälle zu definieren.
Im Bereich der Automobilelektronik ist eine Zunahme an Fahrerassistenzsystemen zu bemerken, die den Fahrer neben einer warnenden Funktion durch autonomes aktives Eingreifen in seiner Fahraufgabe unterstützen. Dadurch entsteht eine hohe Anforderung an die funktionale Sicherheit dieser Systeme, um ein einwandfreies Verhalten in allen Fahrsituationen zu garantieren und sicherheitskritische Situationen zu vermeiden oder zu entschärfen. Die funktionale Sicherheit derartiger Fahrerassistenzsysteme muss u. a. durch adäquate Testmethoden und einen effizienten Umgang damit innerhalb der etablierten industriellen Entwicklungsprozesse erhöht und sichergestellt werden.
Diese Arbeit bietet einen Überblick über existierende wissenschaftliche wie industrielle Ansätze zum Testen von Automobilelektronik sowie über aktive Fahrerassistenzsysteme. Der Schwerpunkt wird dabei auf diejenigen Systeme gelegt, die Informationen über ihre Umgebung aus Kamerasensoren gewinnen. Aus der Herausforderung, die funktionale Absicherung derart sicherheitskritischer Systeme zu gewährleisten, werden spezifische Anforderungen abgeleitet. Aus dem „Delta“ zwischen Anforderungen und Stand der Technik ergibt sich ein Handlungsbedarf, um neue Methoden und für deren Anwendung nötige Vorgehensweisen und Werkzeuge zu erforschen bzw. bestehende zu erweitern.
Die Methode des „Visual Loop Tests“ wird dafür vorgestellt. Sie kann durch die Anwendung sog. Grafik-Engines als neuer Bestandteil der Test-Technologien zur Absicherung eingesetzt werden. Dabei werden fotorealistische Grafiken zur Stimulation der Assistenzsysteme erzeugt. Die für die effiziente Anwendung dieser Technologien benötigten neuen Vorgehensweisen zur Beschreibung und Erzeugung von Testfällen in einem visuell repräsentierbaren Format werden erarbeitet.
Dadurch können moderne Assistenzfunktionen gleichzeitig effizienter, zuverlässiger, sicherer und kostengünstiger entwickelt werden und die Sicherheit auf den Straßen wird erhöht. Die erste empirische Bewertung im Rahmen der prototypischen Umsetzung bestärkt diese Einschätzung.
Modellgetriebene Entwicklung von Kommunikationsprotokollen für drahtlos vernetzte Regelungssysteme
(2013)
Funkvernetzte Sensorsysteme sind heutzutage allgegenwärtig.
Sie werden sowohl in Rauchmeldern, in Raumtemperaturüberwachungen und Sicherheitssystemen eingesetzt.
Das Sensorsystem soll seine Aufgabe zuverlässig und über viele Jahre ohne Batteriewechsel erfüllen.
Durch die Vernetzung der Sensorsysteme und ihre immer komplexer werdenden Aufgaben wird die Programmierung in einer maschinennahen Sprache immer aufwändiger.
Die modellgetriebene Entwicklung erhöht die Wartbarkeit und reduziert die Entwicklungszeit wodurch im Allgemeinen die Produktqualität steigt.
In Folge der höheren Komplexität, der Abstraktion von der konkreten Hardwareplattform und den immer kürzere Produktentwicklungszeiten bleibt oft keine Zeit für Energieoptimierung, wodurch die Batterielaufzeit geringer ausfällt, als dies möglich wäre.
In dieser Arbeit werden verschiedene Ansätze vorgestellt, die es ermöglichen, bereits während der Modellierung den Stromverbrauch zu berücksichtigen und diesen zu optimieren.
Am Beispiel des inversen Pendels, einem sehr instabilen Regelungssystem, wird dazu mit Hilfe der modellgetriebenen Entwicklung eine funkvernetzte, verteilte Regelung spezifiziert.
Der aus der Spezifikation erzeugte Kode wird direkt auf den Sensorknoten ausgeführt und muß dazu performant und zuverlässig sein, um die Echtzeitanforderungen des Regelungssystems zu erfüllen, aber gleichzeitig so wenig Energie wie möglich zu verbrauchen.
m die Zuverlässigkeit der verteilten Regelung zu gewährleisten ist eine deterministische kollisionsfreie Datenübertragung über das drahtlose Kommunikationsmedium erforderlich.
Die Synchronisation ist eine weitere Voraussetzung zur Ermittlung eines konsistenten Systemzustands.
Entwicklung von TDMA-basierten QoS-Routing-Protokollen und Simulationskomponenten für Ad-Hoc-Netze
(2016)
Ad-Hoc-Netze sind selbstorganisierende Netze ohne zentrale Infrastruktur, die heutzutage in vielen Bereichen Verwendung finden. Sie bestehen aus drahtlosen Knoten, die zur Erfüllung ihrer Aufgaben miteinander kommunizieren. Jedoch befinden sich nicht notwendigerweise alle Knoten in Reichweite zueinander. Damit entfernte Knoten einander erreichen können, werden Routingverfahren benötigt. Die Etablierung einer beliebigen Route ist jedoch oft nicht ausreichend, denn viele Anwendungen stellen spezielle Dienstgüteanforderungen (QoS-Anforderungen) an die Verbindung, beispielsweise die Gewährleistung einer Mindestbandbreite. Um diese QoS-Anforderungen erfüllen zu können, werden sie bereits bei der Ermittlung einer Route berücksichtigt, und die benötigten Ressourcen werden entlang der Route reserviert. Dazu dienen QoS-Routing- und Reservierungsprotokolle.
In dieser Arbeit wird zunächst der Aspekt der deterministischen Reservierung von Bandbreite in Form von konkreten Zeitslots einer TDMA-basierten MAC-Schicht betrachtet. Da sich die Übertragungen verschiedener Knoten in drahtlosen Netzen gegenseitig stören können, wurde ein Interferenzmodell entwickelt. Dieses identifiziert Bedingungen, unter denen Zeitslots innerhalb eines Netzes für mehr als eine Übertragung verwendet werden können. Zudem definiert es durch Aggregation der Informationen anderer Knoten Möglichkeiten zur Ermittlung der benötigten Informationen, um zu entscheiden, welche Zeitslots für eine störungsfreie Übertragung verwendet werden können.
Weiterhin werden existierende QoS-Routing- und Reservierungsprotokolle auf inhärente Probleme untersucht, wobei der Schwerpunkt auf Protokollen liegt, die deterministische Reservierungen von Zeitslots vornehmen. In diese Kategorie fällt auch das im Rahmen der Arbeit entwickelte Protokoll RBBQR, dessen Hauptziel darin besteht, die identifizierten Probleme zu eliminieren. Ferner wird das ebenfalls zu dieser Kategorie gehörende Protokoll QMRP beschrieben, welches zentralisiert Multicast-Routen inklusive der zugehörigen Reservierungen in teilstationären Netzen ermittelt.
Ein weiterer Bestandteil der Arbeit behandelt die Entwicklung von Simulationskomponenten, welche beispielsweise zur Evaluation von QoS-Routing- und Reservierungsprotokollen genutzt werden können. Das existierende Simulationsframework FERAL wurde um eine Komponente erweitert, die die Verwendung von Kommunikationstechnologien des Netzwerksimulators ns-3 ermöglicht. Weiterhin wurde ein Modul zur Simulation eines CC2420-Transceivers entwickelt, welches in eigenständigen ns-3-Simulationen und in Simulationen mit FERAL verwendet werden kann.
In der aktuellen technologischen Entwicklung spielen verteilte eingebettete Echtzeitsysteme eine immer zentralere Rolle und werden zunehmend zum Träger von Innovationen. Durch den hiermit verbundenen steigenden Funktionsumfang der verteilten Echtzeitsysteme und deren zunehmenden Einsatz in sicherheitsrelevanten Anwendungsgebieten stellt die Entwicklung solcher Systeme eine immer größere Herausforderung dar. Hierbei handelt es sich einerseits um Herausforderungen bezogen auf die Kommunikation hinsichtlich Echtzeitfähigkeit und effizienter Bandbreitennutzung, andererseits werden geeignete Methoden benötigt, um den Entwicklungsprozess solcher komplexen Systeme durch Tests und Evaluationen zu unterstützen und zu begleiten. Die hier vorgestellte Arbeit adressiert diese beiden Aspekte und ist entsprechend in zwei Teile untergliedert.
Der erste Teil der Arbeit beschäftigt sich mit der Entwicklung neuer Kommunikationslösungen, um den gestiegenen Kommunikationsanforderungen begegnen zu können. So erfordert die Nutzung verteilter Echtzeitsysteme im Kontext sicherheitsrelevanter Aufgaben den Einsatz zeitgetriggerter Kommunikationssysteme, die in der Lage sind, deterministische Garantien bezüglich der Echtzeitfähigkeit zu gewähren. Diese klassischen auf exklusiven Reservierungen basierenden Ansätze sind jedoch gerade bei (seltenen) sporadischen Nachrichten sehr ineffizient in Bezug auf die Nutzung der Bandbreite.
Das in dieser Arbeit verwendete Mode-Based Scheduling with Fast Mode-Signaling (modusbasierte Kommunikation) ist ein Verfahren zur Verbesserung der Bandbreitennutzung zeitgetriggerter Kommunikation, bei gleichzeitiger Gewährleistung der Echtzeitfähigkeit. Um dies zu ermöglichen, erlaubt Mode-Based Scheduling einen kontrollierten, slotbasierten Wettbewerb, welcher durch eine schnelle Modussignalisierung (Fast Mode-Signaling) aufgelöst wird. Im Zuge dieser Arbeit werden verschiedene robuste, zuverlässige und vor allem deterministische Realisierungen von Mode-Based Scheduling with Fast Mode-Signaling auf Basis existierender drahtgebundener Kommunikationsprotokolle (TTCAN und FlexRay) vorgestellt sowie Konzepte präsentiert, welche eine einfache Integration in weitere Kommunikationstechnologien (wie drahtlose Ad-Hoc-Netze) ermöglichen.
Der zweite Teil der Arbeit konzentriert sich nicht nur auf Kommunikationsaspekte, sondern stellt einen Ansatz vor, den Entwicklungsprozess verteilter eingebetteter Echtzeitsysteme durch kontinuierliche Tests und Evaluationen in allen Entwicklungsphasen zu unterstützen und zu begleiten. Das im Kontext des Innovationszentrums für Applied Systems Modeling mitentwickelte und erweiterte FERAL (ein Framework für die Kopplung spezialisierter Simulatoren) bietet eine ideale Ausgangsbasis für das Virtual Prototyping komplexer verteilter eingebetteter Echtzeitsysteme und ermöglicht Tests und Evaluationen der Systeme in einer realistisch simulierten Umgebung. Die entwickelten Simulatoren für aktuelle Kommunikationstechnologien ermöglichen hierbei realistische Simulationen der Interaktionen innerhalb des verteilten Systems. Durch die Unterstützung von Simulationssystemen mit Komponenten auf unterschiedlichen Abstraktionsstufen kann FERAL in allen Entwicklungsphasen eingesetzt werden. Anhand einer Fallstudie wird gezeigt, wie FERAL verwendet werden kann, um ein Simulationssystem zusammen mit den zu realisierenden Komponenten schrittweise zu verfeinern. Auf diese Weise steht während jeder Entwicklungsphase ein ausführbares Simulationssystem für Tests zur Verfügung. Die entwickelten Konzepte und Simulatoren für FERAL ermöglichen es, Designalternativen zu evaluieren und die Wahl einer Kommunikationstechnologie durch die Ergebnisse von Simulationen zu stützen.
NoSQL-Datenbanken werden als Alternative zu klassischen relationalen Datenbanksystemen eingesetzt, um die Herausforderungen zu meistern, die „Big Data“ mit sich bringt. Big Data wird über die drei V definiert: Es sind große Datenmengen („Volume“), die schnell anwachsen („Velocity“) und heterogene Strukturen haben („Variety“). NoSQL-Datenbanken besitzen zudem meist nur sehr einfache Anfragemethoden. Um auch komplexe Datenanalysen durchzuführen, kommen meist Datenverarbeitungsframeworks wie MapReduce, Spark oder Flink zum Einsatz. Diese sind jedoch schwieriger in der Benutzung als SQL oder andere Anfragesprachen.
In dieser Arbeit wird die Datentransformationssprache NotaQL vorgestellt. Die Sprache verfolgt drei Ziele. Erstens ist sie mächtig, einfach zu erlernen und ermöglicht komplexe Transformationen in wenigen Code-Zeilen. Zweitens ist die Sprache unabhängig von einem speziellen Datenbankmanagementsystem oder einem Datenmodell. Daten können von einem System in ein anderes transformiert und Datenmodelle dementsprechend ineinander überführt werden. Drittens ist es möglich, NotaQL-Skripte auf verschiedene Arten auszuführen, sei es mittels eines Datenverarbeitsungsframeworks oder über die Abbildung in eine andere Sprache. Typische Datentransformationen werden periodisch ausgeführt, um bei sich ändernden Basisdaten die Ergebnisse aktuell zu halten. Für solche Transformationen werden in dieser Arbeit verschiedene inkrementellen Ansätze miteinander verglichen, die es möglich machen, dass NotaQL-Transformationen die vorherigen Ergebnisse wiederbenutzen und Änderungen seit der letzten Berechnung darauf anwenden können. Die NotaQL-Plattform unterstützt verschiedene inkrementelle und nicht-inkrementelle Ausführungsarten und beinhaltet eine intelligente Advisor-Komponente, um Transformationen stets auf die bestmögliche Art auszuführen. Die vorgestellte Sprache ist optimiert für die gebräuchlichen NoSQL-Datenbanken, also Key-Value-Stores, Wide-Column-Stores, Dokumenten- und Graph-Datenbanken. Das mächtige und erweiterbare Datenmodell der Sprache erlaubt die Nutzung von Arrays, verschachtelten Objekten und Beziehungen zwischen Objekten. Darüber hinaus kann NotaQL aber nicht nur auf NoSQL-Datenbanken, sondern auch auf relationalen Datenbanken, Dateiformaten, Diensten und Datenströmen eingesetzt werden. Stößt ein Benutzer an das Limit, sind Kopplungen zu Programmiersprachen und existierenden Anwendungen mittels der Entwicklung benutzerdefinierter Funktionen und Engines möglich. Die Anwendungsmöglichkeiten von NotaQL sind Datentransformationen jeglicher Art, von Big-Data-Analysen und Polyglot-Persistence-Anwendungen bis hin zu Datenmigrationen und -integrationen.
Drahtlose Kommunikationssysteme dringen in immer mehr Anwendungsbereiche vor. Für einige Anwendungsszenarien, wie etwa die Prozessautomatisierung in Fabriken und Industrieanlagen, ist die Zuverlässigkeit vieler drahtloser Kommunikationssysteme wie IEEE 802.11 (WLAN) oder Bluetooth aber noch unzureichend. Daher wurden für diese Anwendungsbereiche spezielle Kommunikationssysteme wie WirelessHART oder ISA 100.11a entwickelt. Diese basieren meist auf Time Division Multiple Access (TDMA) und erreichen durch exklusive Reservierungen deterministische Zuverlässigkeit, falls kein anderes Kommunikationssystem die genutzten Kanäle stört.
Diese Arbeit behandelt geeignete Protokolle und Algorithmen, um die Zuverlässigkeit drahtloser Kommunikationssysteme zu verbessern. Im ersten Teil der Arbeit werden Verfahren für TDMA-basierte Kommunikationssysteme betrachtet. Basierend auf IEEE 802.15.4 werden mehrere Funktionalitäten für ProNet 4.0, einem an der Arbeitsgruppe Vernetzte Systeme der TU Kaiserslautern entwickelten Kommunikations-Stack für Industrie 4.0, entworfen und auf Imote 2 Sensorknoten implementiert. Zuverlässige Kommunikation bedarf Kenntnis von sowohl der Kommunikationstopologie, über die Knoten miteinander kommunizieren können, als auch der Interferenztopologie, die angibt, wie Knoten sich gegenseitig stören können. Dazu stellt die Arbeit mit dem Automatic Topology Discovery Protocol (ATDP) ein Verfahren zur automatischen Topologieerkennung vor. Anschließend wird QoS Multicast Routing betrachtet und mit dem QoS Multicast Routing Protocol (QMRP) ein Verfahren für partiell mobile Netzwerke entwickelt. Weiterhin wird mit ProMid eine Kommunikations-Middleware beschrieben, die ein hohes Abstraktionslevel aufweist und die darunter liegenden Schichten steuert. Die dienstorientierte Architektur nutzt eine verteilte Service Registry, wobei die Auswahl der Registry-Knoten anhand eines dafür entwickelten Clustering-Algorithmus erfolgt. Das Heterogeneous Network Clustering (HNC) genannte Verfahren berücksichtigt ein heterogenes Netzwerkmodell mit Knoten, die Clusterhead bzw. Gateway werden müssen, können bzw. nicht dürfen.
Der zweite Teil der Arbeit behandelt Protokolle und Algorithmen für zuverlässige wettbewerbsbasierte Kommunikationssysteme. Die in diesem Kapitel vorgestellten Verfahren sind in einem auf WLAN basierenden Kommunikations-Stack implementiert und evaluiert worden. Zunächst wird ein Verfahren für die Topologieerkennung in WLAN-Netzwerken vorgestellt. Anschließend wird ein auf dem Token Bucket-Mechanismus basierendes Verfahren zur Verkehrskontrolle entwickelt. Daraus wird mit der Unusable Wasted Bandwidth Ratio eine Metrik abgeleitet, die es erlaubt, die Auslastung des Mediums abzuschätzen. Aufbauend auf dem Verfahren zur Verkehrskontrolle wird eine kooperative faire Bandbreitenskalierung für WLAN vorgestellt. Das Verfahren verteilt die Bandbreite fair unter den internen Knoten unter Berücksichtigung der Quality of Service (QoS) Anforderungen. Dabei reagiert es dynamisch auf Änderungen des externen Verkehrs und verhindert so Überlastsituationen. Letztlich wird ein Clustering-Protokoll vorgestellt, welches durch das Anwendungsszenario der Überwachung von Güterzügen motiviert ist und Linientopologien bildet sowie dynamisch repariert. Das auf Bluetooth LE aufbauende Verfahren dient dazu, Energie einzusparen, und wurde in einer Kooperation mit der Bosch Engineering GmbH entwickelt.