Kaiserslautern - Fachbereich Informatik
Refine
Year of publication
Document Type
- Preprint (56)
- Master's Thesis (38)
- Report (28)
- Article (27)
- Doctoral Thesis (17)
- Study Thesis (8)
- Part of a Book (1)
Language
- German (175) (remove)
Has Fulltext
- yes (175)
Keywords
- AG-RESY (17)
- CoMo-Kit (10)
- Case-Based Reasoning (9)
- Fallbasiertes Schliessen (9)
- META-AKAD (8)
- PARO (6)
- Robotik (6)
- Case-Based Planning (5)
- Java 2 Enterprise Edition (4)
- Visualisierung (4)
Faculty / Organisational entity
Editorial
(2021)
In order to discuss the kinds of reasoning a visualization supports and the conclusions that can be drawn within the analysiscontext, a theoretical framework is needed that enables a formal treatment of the reasoning process. Such a model needs toencompass three stages of the visualization pipeline: encoding, decoding and interpretation. The encoding details how dataare transformed into a visualization and what can be seen in the visualization. The decoding explains how humans constructgraphical contexts inside the depicted visualization and how they interpret them assigning meaning to displayed structuresaccording to a formal reasoning strategy. In the presented model, we adapt and combine theories for the different steps intoa unified formal framework such that the analysis process is modelled as an assignment of meaning to displayed structuresaccording to a formal reasoning strategy. Additionally, we propose the ConceptGraph, a combined graph-based representationof the finite-state transducers resulting from the three stages, that can be used to formalize and understand the reasoning process.We apply the new model to several visualization types and investigate reasoning strategies for various tasks.
Editorial
(2020)
Editorial
(2020)
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.
Die dreidimensionale Darstellung hybrider Datensätze hat sich in den letzten Jahren als
ein wichtiger Teilbereich der wissenschaftlichen Visualisierung etabliert. Hybride Datensätze enthalten sowohl diskrete Volumendaten als auch durch geometrische Primitive
definierte Objekte. Bei der visuellen Verarbeitung einer gegebenen Szene spielen Schatteninformationen eine wichtige Rolle, indem sie die Beziehungen von Objekten untereinander verständlich machen. Wir beschreiben ein einfaches Verfahren zur Berechnung von Schatteninformation, das in ein bestehendes System zur Visualisierung hybrider Datensätze integriert wurde. An einem Beispiel aus der klinischen Anwendung werden die Ergebnisse illustriert.
W-Lisp Sprachbeschreibung
(1993)
W-Lisp [Wippennann 91] ist eine Sprache, die im Bereich der Implementierung höherer
Programmiersprachen verwendet wird. Ihre Anwendung ist nicht auf diesen Bereich beschränkt. Gute Lesbarkeit der W-Lisp-Notation wird durch zahlreiche Anleihen aus dem Bereich der bekannten imperativen Sprachen erzielt. W-Lisp-Programme können im Rahmen eines Common Lisp-Systems ausgeführt werden. In der WLisp Notation können alle Lisp-Funktionen (inkl. MCS) verwendet werden, so daß die Mächtigkeit von Common-Lisp [Steele 90] in dieser Hinsicht auch in W-Lisp verfügbar ist.
Neuronale Netze sind ein derzeit (wieder) aktuelles Thema. Trotz der oft eher schlagwortartigen
Verwendung dieses Begriffs beinhaltet er eine Vielfalt von Ideen, unterschiedlichste methodische
Ansätze und konkrete Anwendungsmöglichkeiten. Die grundlegenden Vorstellungen sind dabei nicht neu, sondern haben eine mitunter recht lange Tradition in angrenzenden Disziplinen wie Biologie, Kybernetik , Mathematik und Physik . Vielversprechende Forschungsergebnisse der letzten Zeit haben dieses Thema wieder in den Mittelpunkt des Interesses gerückt und eine Vielzahl neuer Querbezüge zur Informatik und Neurobiologie sowie zu anderen, auf den ersten Blick weit entfernten Gebieten offenbart. Gegenstand des Forschungsgebiets Neuronale Netze ist dabei die Untersuchung und Konstruktion informationsverarbeitender Systeme, die sich aus vielen mitunter nur sehr primitiven, uniformen Einheiten zusammensetzen und deren wesentliches Verarbeitungsprinzip die Kommunikation zwischen diesen Einheiten ist, d.h. die Übertragung von Nachrichten oder Signalen. Ein weiteres
Charakteristikum dieser Systeme ist die hochgradig parallele Verarbeitung von Information innerhalb
des Systems. Neben der Modellierung kognitiver Prozesse und dem Interesse, wie das menschliche Gehirn komplexe kognitive Leistungen vollbringt, ist über das rein wissenschaftliche Interesse hinaus in zunehmendem Maße auch der konkrete Einsatz neuronaler Netze in verschiedenen technischen Anwendungsgebieten zu sehen. Der vorliegende Report beinhaltet die schriftlichen Ausarbeitungen der Teilnehmerinnen des Seminars Theorie und Praxis neuronaler Netze , das von der Arbeitsgruppe Richter im Sommersemester 1993 an der Universität Kaiserslautern veranstaltet wurde. Besonderer Wert wurde darauf gelegt, nicht nur die theoretischen Grundlagen neuronaler Netze zu behandeln, sondern auch deren Einsatz in der Praxis zu diskutieren. Die Themenauswahl spiegelt einen Teil des weiten Spektrums der Arbeiten auf diesem Gebiet wider. Ein Anspruch auf Vollständigkeit kann daher nicht erhoben werden. Insbesondere sei darauf verwiesen, daß für eine intensive, vertiefende Beschäftigung mit einem Thema auf die jeweiligen Originalarbeiten zurückgegriffen werden sollte. Ohne die Mitarbeit der Teilnehmerinnen und Teilnehmer des Seminars wäre dieser Report nicht möglich gewesen. Wir bedanken uns daher bei Frank Hauptmann, Peter Conrad, Christoph Keller, Martin Buch, Philip Ziegler, Frank Leidermann, Martin Kronenburg, Michael Dieterich, Ulrike Becker, Christoph Krome, Susanne Meyfarth , Markus Schmitz, Kenan Çarki, Oliver Schweikart, Michael Schick und Ralf Comes.
Ein maßgeschneidertes Kommunikationssystem für eine mobile Applikation mit Dienstgüteanforderungen
(2004)
In diesem Beitrag wird die Maßschneiderung eines Ad-Hoc-Kommunikationssystems zur Fernsteuerung eines Luftschiffs über WLAN vorgestellt. Dabei steht die Dienstunterstützung bei der Übertragung mehrerer Datenströme im Vordergrund. Es werden verschiedene Dienstgütemechanismen erklärt und deren Entwicklung und Integration in ein Kommunikationsprotokoll mit Hilfe eines komponentenbasierten Ansatzes genauer erläutert.
Die Sichten von Projektmitgliedern auf Prozesse von Software-Entwicklungen sollen in der Prozeßmodellierungssprache MVP-L formuliert und anschließend in ein Umfassendes Prozeßmodell integriert werden. Dabei ist die Identifikation ähnlicher Informationen in verschiedenen Sichten von Bedeutung. In dieser Arbeit berichten
wir über die Adaption und Synthese verschiedener Ansätze zum Thema Ähnlichkeit aus unterschiedlichen Domänen (Schema-Integration beim Datenbank-Entwurf, Analoges und Fallbasiertes Schließen, Wiederverwendung und System-Spezifikation). Das Ergebnis, die Ähnlichkeitsfunktion vsim, wird anhand eines Referenzbeispiels illustriert. Dabei gehen wir insbesondere auf die Eigenschaft der Funktion vsim ein und berichten über Erfahrungen im Umgang mit dieser Funktion zur Berechnung der Ähnlichkeit zwischen Prozeßmodellen.
Formale Beschreibungstechniken (FDTs) erlauben durch ihre formale Syntax und Semantik eine präzise Systembeschreibung und sind Grundlage für die formale Verifikation. Bei der Implementierung von Systemen wird jedoch nach wie vor von Hand implementiert, selbst wenn ausgereifte Werkzeuge zur automatischen Generierung von Kode direkt aus der formalen Spezifikation existieren. Die Ursache dafür liegt in dem Ruf dieser Werkzeuge, Kode mit extrem geringer Leistungsfähigkeit zu erzeugen. Es gibt jedoch kaum quantitative Leistungsvergleiche zwischen manuell und automatisch generierten Implementierungen, die dieses Vorurteil stützen oder widerlegen könnten. In diesem Beitrag wird ein solcher Leistungsvergleich anhand des Hochleistungsprotokolls XTP und der FDT Estelle vorgestellt. Er liefert eine Bestandsaufnahme des momentanen Entwicklungsstandes bei der automatischen Generierung von Kode aus Estelle-Spezifikationen im direkten Vergleich zu gut optimierten Handimplementierungen. Es zeigt sich, daß in dem betrachteten Fall eines komplexen Protokolls die Handimplementierung zwar merklich leistungsstärker ist. Dieser Leistungsvorteil wird jedoch durch einen sehr hohen Implementierungsaufwand sowie die Schwierigkeit, die Korrektheit bzgl. der Spezifikation sicherzustellen, erkauft. Im einzelnen Anwendungsfall kann es daher trotz der Leistungseinbußen durchaus vorteilhaft sein, automatisch Kode zu erzeugen, zumal in der Bestandsaufnahme festgestellt wurde, daß automatisch generierte Implementierungen z.T. besser abschneiden als erwartet. Zudem besteht - anders als bei der bereits umfassend optimierten Handimplementierung - noch ein erhebliches ungenutztes Potential zur Leistungsverbesserung der automatisch generierten Implementierung.
In den Modellierungssystemen des CAD/CAM werden oft unterschiedliche Methoden zur mathematischen Beschreibung von Freiformkurven und -flächen eingesetzt. Als Basisfunktionen können sowohl Monome, Bernstein-Polynome, B-Spline-Basisfunktionen als auch nicht lineare Funktionen auftreten. In den einzelnen CAD-Systemen kann der maximal zulässige Grad dieser Basisfunktionen variieren. Müssen nun Daten zwischen verschiedenen CAD-Systemen ausgetauscht werden, so muß u. U. eine Basistransformation
und/oder eine Gradanpassung durchgeführt werden. Diese Transformationen sind i.a. nicht exakt möglich. Hier sind geeignete, möglichst optimale Approximationen nötig. Bisher wurden verschiedene Verfahren entwickelt. Das älteste geht zurück auf Forrest [Forr72]. Farin [FAR90] invertiert den Prozeß der Graderhöhung. Watkins und Worsey [Wat88] sowie Lachance [Lach88] reduzieren den Polynomgrad in der Tschebyscheff-Basis. Hoschek et al. [Hos89] sowie Plass und Stone [Plas83] approximieren die Kurve bzw. Fläche punktweise. Dadurch lassen sich alle Kurven- und Flächenrepräsentationen durch eine Bézier-Darstellung approximieren. Ein Approximationsfehler kann jedoch auch nur punktweise garantiert werden. Durch einen anschließenden Parameteriterationsprozeß läßt sich eine weitere Approximationsverbesserung erzielen. Eine solche Parameterkorrektur ist jedoch nur dann sinnvoll, wenn die Parametrisierung der Approximationskurve bzw. -fläche frei gewählt werden kann. In Fällen, in denen die Funktionswerte dei; zu approximierenden Flächen bzgl. ihrer Parameterwerte mit anderen Flächen korrespondieren, darf keine Parameteränderung durchgeführt werden, wie z.B. bei der Approximation sogenannter Eigenschaftsflächen, die eine bestimmte Eigenschaft einer anderen Fläche, wie etwa die Gausskrümmung oder die Normalenrichtung darstellen. In dieser Arbeit wird ein Verfahren zur optimalen Gradreduktion von Bézierkurven und -flächen vorgestellt. Damit eine \(C^0\)-stetige Approximation innerhalb einer vom Benutzer vorgegebenen Fehlertoleranz durchgeführt werden kann, muß die Approximation mindestens eine Berührordnung ersten Grades mit der Originalkurve bzw. -fläche aufweisen. Mit Hilfe arithmetischer Operationen auf Bézierdarstellungen [Faro88], [Schr92] werden lineare Gleichungssysteme für eine optimale Belegung der freien Parameter aufgestellt, sowie eine Fehlerkurve bzw. -fläche in Bézierform berechnet, um die Einhaltung einer Fehlertoleranz zu gewährleisten.
In der CAGD Literatur werden häufig Ableitungen und Graderhöhungen von Bezierkurven und -flächen wiederum in Bezierform angegeben [1][2][3][6]. Meistens werden diese Darstellungen nur für theoretische Betrachtungen verwendet, z.B. geometrischer Deutung von Stetigkeiten zwischen angrenzenden Flächenstücken. Für praktische Anwendungen reicht die Menge der Operationen jedoch nicht aus. Farouki und Rajan [4] zeigten, daß die Resultate arithmetischer Operationen, wie Addition und Multiplikation auf Bezierkurven auch als Bezierkurven darstellbar sind. Hier werden wir die Operationen auf polynomiale und rationale Tensorprodukt Bezierflächen und Flächen über Dreiecken ausdehnen. Eine Erweiterung auf rationale Flächen ermöglicht insbesondere die Ausführung einer Division, wie sie für viele Anwendungen benötigt wird. Das Rechnen mit Flächen hat im Gegensatz zu punktweisen Auswertungen den Vorteil gleichzeitig mit Hilfe von notwendigen Bedingungen an das entstandene Beziernetz sichere Ergebnisabschätungen angeben zu können. Diese lassen sich für adaptive Verfahren nutzen und sind insbesondere dort wichtig, wo es auf exakte Aussagen über das Verhalten von Flächen ankommt, wie z.B. bei der Qualitätsanalyse von Freiformflächen [5]. Mit Hilfe der hier vorgestellten Operationen läßt sich u.a. an Vorzeichenwechseln erkennen, ob eine zu untersuchende Bezierfläche konvex ist oder nicht (siehe Kapitel 4). Außerdem können Fehler, die bei punktweisen Auswertungen auf Gittern mit großer Maschenweite entstehen, vermieden werden. Nachdem in Kapitel 2 die zum Verständnis nötigen Definitionen und Schreibweisen erläutert wurden, werden in Kapitel 3 die grundlegenden Operationen für eine Arithmetik
auf Bezierflächen beschrieben. Dabei werden Formeln angegeben, die die Bezierpunkte und Gewichte der Ergebnisfläche aus denen der Operandenflächen bestimmen. Durch Aneinanderreihung und Verkettung einzelner Operationen lassen sich dann komplexe Berechnungen mit der gesamten Fläche ausführen. Zum Schluß werden in Kapitel 4 einige Beispiele aus dem Bereich der Qualitätsanalyse von Freiformflächen angegeben.
Software-Projekte bestehen aus einer Vielzahl von Teilaufgaben, die durch komplexe Wechselbeziehungen miteinander verknüpft sind. Systematische Unterstützung bei der Durchführung von Software-Projekten erfordert deshalb nicht nur die isolierte Unterstützung einzelner Teilaufgaben, sondern insbesondere der Wechselbeziehungen. Außerdem müssen Aktivitäten des Messens und Bewertens durchgeführt werden, um quantitative Aussagen über Produkte und Prozesse ableiten zu können. Ziel des MVP-Projekts (Multi-View Process modeling) ist es, derartige integrierte Unterstützung auf der Basis meßbarer Projektpläne zur Verfügung zu stellen. Projektpläne setzen sich dabei unter anderem aus Prozeß-, Produkt-, Ressourcen- und Qualitätsmodellen zusammen. Meßansätze werden nicht nur zur systematischen Unterstützung von Projekten, sondern auch zur Verbesserung existierender Prozeß-, Produkt-, Ressource- und Qualitätsmodelle aufgrund 'gemessener' Erfahrungswerte verwendet. Die Benutzer des MVP-Entwicklungssystems (MVP-S) werden durch ihre Rollen im Rahmen eines Projekts charakterisiert werden können. Es wird beschrieben, wie Rollen das MVP-System nutzen können. Dies geschieht entweder durch direkte Repräsentation ihrer Aufgaben als Prozesse oder indem die im Projektplan repräsentierte Information ausgewertet und präsentiert wird; entsprechend bezeichnen wir eine Rolle als "zustandsverändernd" oder als "zustandserfragend". Um diese Rollen zu unterstützen, existieren unterschiedliche Möglichkeiten abhängig vom Grad der Automatisierung. Es werden beispielhaft drei Stufen aufgezeigt. Anschließend wird die Realisierung einer prototypischen, qualitätsorientierten, prozeßsensitiven Software-Entwicklungsumgebung diskutiert. Zum Abschluß wird auf gegenwärtige und zukünftige Forschungsfragen im Rahmen des MVP-Projekts eingegangen.
Skelettbasierte implizite Flächen haben aufgrund ihrer Fähigkeit, durch automatisches Verschmelzen aus wenigen, einfachen Primitiven komplexe Strukturen zu formen, für Modellierung, Visualisierung und Animation zunehmend an Bedeutung gewonnen. Eine wesentliche Schwierigkeit beim Einsatz impliziter Flächen ist nach wie vor eine effiziente Visualisierung der resultierenden Objekte. In der vorliegenden
Arbeit werden die grundlegenden Ideen einer Methode zur partikelgestützten Triangulierung skelettbasierter impliziter Flächen beschrieben, die die Vorteile einer partikelgestützten Abtastung
impliziter Flächen mit der polygonalen Darstellung durch Dreiecke kombiniert. Der Algorithmus ist in der Lage, effizient auf dynamische Veränderungen der Gestalt sowie das Auseinanderreißen nicht allzu
komplexer implizit gegebener Objekte zu reagieren. Zusätzlich besteht die Möglichkeit, die Triangulierung krümmungsadaptiv zu gestalten, um bei gleichbleibender Darstellungsqualität eine Reduktion der Dreiecksanzahl zu erreichen.
Mobile Agenten im Internet
(2001)
Mobile Agenten haben sich in den letzten Jahren zunehmend in der Architektur und Programmierung verteilter Systeme bewährt. Es sind Programme, die einen Internen Zustand mit sich führen, während sie verschiedene, möglicherweise auf unterschiedlichen Plattformen basierende, Systeme besuchen. Auf dem jeweiligen System nehmen sie Dienste in Anspruch, indem sie entweder lokale Bibliotheken ansprechen, oder auf durch das System bereitgestellte Dienste zugreifen. Dabei müssen mobile Agenten sowohl alle vom Programm benötigten Daten, wie auch den gesamten Code mit sich führen. Zwar sind die Daten ein wichtiger (wenn nicht sogar der entscheidende) Teil eines Agenten, trotzdem wird in der Regel nicht als wertvoller, eigenständiger Part angesehen. Dies ist jedoch nicht immer ratsam, könnten doch Agenten am aktuellen Aufenthaltsort einen „Container" zurückzulassen um ihm anderen Agenten zur Verfügung zu stellen (natürlich erst nach erfolgter Zugriffskontrolle), bzw. die Daten erst dann auf ein Migrationsziel übertragen, wenn sich durch lokale Aufrufe des Systems herausgestellt hat, dass sie dort benötigt werden. Diese Arbeit ist zweigeteilt, insofern, als dass sie sich mit den zwei verschiedenen „Ebenen" der mobilen Agenten beschäftigt. Im ersten Teil werden die für die Migration und Nutzung der Resourcen notwendigen Aspekte besprochen. Dabei wird der Schwerpunkt auf die notwendige Unterstützung durch die Umgebung gelegt, wobei nicht eine neue integrierte Umgebung entworfen, sondern vielmehr die notwendigen Blöcke aufgezeigt werden sollen. Diese können dann als Teil eines Environments oder aber als eigentständige Komponente bereitsgestellt werden. Der zweite Teil beschäftigt sich mit den durch die Interaktion verschiedener Agenten entstehenden Probleme. Stichworte hierbei sind die Kostenkontrolle (wer bezahlt auf welche Art für in Anspruch genommene Dienste), Workflow Unterstützung, sowie Sicherheit in einem offenen, verteilten System, in dem es keine zentrale Überprüfung von Rechten und Identitäten geben kann. Abgeschlossen wird diese Ausarbeitung mit einer Bewertung der auf den beiden Ebenen gefundenen Problemen und Eigenheiten, wobei dann die Frage aufgeworfen wird, ob Agenten in der heutigen Form überhaupt sinnvoll sind.
Temporal stratifizierte Programme sind spezielle Logik-Programme auf der Grundlage einer linearen, temporalen Aussagenlogik, mit denen zustandsendliche reaktive Systeme spezifiziert werden können. Dabei wird die Umgebung eines zu implementierenden Steuerungsprogrammes durch eine Menge von PROLOG-ähnlichen Programmklauseln beschrieben; zusätzlich wird eine Sicherheitsbedingung angegeben, die in dem System gelten soll. Die Sprache ist so gestaltet, daß sie für resolutionsbasierte Verfahren zur Verifikation und Synthese von Steuerungsprogrammen geeignet ist. Wir zeigen, daß temporal stratifizierte Programme in ihrer Ausdrucksmächtigkeit endlichen Automaten gleichkommen.
In dieser Arbeit beschreiben wir einen Ansatz zur automatischen Synthese zustandsendlicher, reaktiver Systeme, ausgehend von einer rein deklarativen, logischen Spezifikation. Dazu verwenden wir temporal stratifizierte Programme,
das sind spezielle Logik-Programme auf der Grundlage einer linearen, temporalen Aussagenlogik. Die Umgebung eines zu implementierenden Steuerungsprogrammes wird hier durch eine Menge von PROLOG-ähnlichen Programmklauseln beschrieben; zusätzlich wird eine Sicherheitsbedingung angegeben, die in dem System gelten soll. Wir zeigen, wie durch eine solche Spezifikation ein sie implementierender endlicher Automat definiert ist und geben einen Algorithmus zu seiner Berechnung auf der Grundlage einer Fixpunkt-Iteration an.
Der ProLan-X - Sprachreport
(1992)
Bei der Realisierung großer Software-Projekte treten immer wieder Probleme auf, was die
Koordination der Mitarbeiter, die Ausnutzung der vorhandenen Ressourcen und nicht zuletzt die
Qualität der erzeugten Produkte angeht. Um die Vorgänge bei der Produktion von Software
durchschaubarer und verständlicher zu machen, versucht man, diese aus der Sicht von Meta-Modellen zu beschreiben. Dabei fließen die individuellen Rahmenbedingungen einer jeden
Entwicklungsumgebung ein; die vorhandenen Ressourcen werden ebenso modellien wie die
durchzuführenden Tätigkeiten und ihre Abhängigkeiten. Die Beschreibungssprache für den Software-Prozeß ProLan-X dient der (konkreten) Beschreibung der Bestandteile des Meta-Modells MoMo, das ebenfalls in dieser Arbeitsgruppe entwickelt wurde [Schramm]. Die am Projekt beteiligten Personen, Hardware- und Software-Ressourcen und ihre Aufgaben werden in möglichst natürlicher Weise verhaltensorientien beschrieben. Aus dieser Beschreibung kann eine Ablaufumgebung generien werden, die die Durchführung des Projekts unterstützt und protokolliert. Der vorliegende Bericht faßt die Eigenschaften der Sprache ProLan-X zusammen und erläuten ihre Verwendung. Er setzt das MoMo-Modell als bekannt voraus.
In dieser Arbeit wird eine Integration der temporallogischen Verarbeitungskonzepte
der Programmiersprache ExTeLL in die objektorientierte Wirtssprache \(C^{++}\) vorgestellt. Dabei war unser Ziel eine Schnittstelle zur komfortablen Kommunikation der Sprachkomponenten zu entwickeln, derart daß die Sprachsynthese eine homogene Gesamtsprache darstellt . Hierbei haben wir besonderen Wert auf die Nutzung der Möglichkeiten der jeweils hinzugefügten Sprachkomponente und einen syntaktisch einheitlichen Aufbau der Gesamtsprache gelegt. Dies erforderte insbesondere die Integration des Typkonzepts von \(C^{++}\) sowie der Mechanismen zur Überladung von Funktionen und Prozeduren in ExTeLL und in der zugrundeliegenden Temporallogik
EITeL.
In Laufe der letzten Jahrzehnte ist der Prozeß der Softwareentwicklung methodisiert und zum Teil auch formalisiert worden. I.a. unterteilt man den Vorgang in grobe Stufen, Entwicklungsphasen genannt. Jede dieser Phasen betrachtet den entstehenden Entwurf des Projekts aus verschiedenen Sichtweisen. Aus dieser Sichtweise resultieren etliche Modelle und Darstellungsformen und mit ihnen auch verschiedene rechnergestützte Entwicklungswerkzeuge. In frühen Phasen sind beispielsweise Datenflußdiagramme eine nützliche Darstellungsform, in späteren konkrete Algorithmenbeschreibungen. Entwurfsänderungen im Laufe der Entwicklungszeit müssen in allen betroffenen Ebenen neu formuliert werden, eine automatisierte phasenübergreifende Behandlung ist
daher i.a. nicht oder nur teilweise möglich. Um effizienter und weniger fehleranfällig arbeiten zu können, wurden aus diesem Grund in letzter Zeit Ansätze gemacht, den gesamten Softwareentwicklungsprozeß von der ·Anforderungsanalyse bis hin zur Wartungsphase einem einheitlichen Konzept und einer einheitlichen Darstellungsform zu unterwerfen, die sich darüberhinaus zur Realisation auf Rechnersystemen eignen. Der vorliegende Bericht entstand im Rahmen eines solchen Projekts. Es wurden eine allumfassende Systementwurfssprache und die dazugehörigen Konzepte entwickelt, die sämtliche Entwurfsphasen und die wichtigsten -prinzipien zu unterstützen vermögen. Es liegen bereits zwei Arbeiten zu diesem Projekt vor. Sie stellen im wesentlichen neben der eigentlichen Definition der Systementwurfssprache zwei Entwicklungswerkzeuge vor, die auf einer einheitlichen Datenbasis operieren [GK-91, Kel-90]. Ein Bereich innerhalb der Forschungen ist die Wiederverwendung von Softwareentwürfen. Schon existierende Lösungen sollen bei der Entwicklung eines neuen Entwurfs durch Vergleich und Bewertung des Grades der Ähnlichkeit ausgewählt und dem Entwickler nutzbar gemacht werden. Dieser Bericht beschäftigt sich mit einem Kernpunkt der Wiederverwendung, dem Vergleich zweier Softwareentwürfe. Es werden zunächst grundsätzliche Konzepte ausgearbeitet, die den Ähnlichkeitsaspekt unter verschiedenen Gesichtspunkten charakterisieren. Daraufhin werden Algorithmen konstruiert, die verschiedenartige Vergleichsfunktionen realisieren und zu einer Gesamtfunktion kombinieren. Um zu einem späteren Zeitpunkt die Leistungsfähigkeit dieser
Funktionen in der Praxis untersuchen zu können, liegt darüberhinaus ein lauffähiges
Programm vor.
In der industriellen Praxis werden immer häufiger Verbesserungs- und Meßansätze zur Steigerung der Qualität von Software-Produkten und -Projektdurchführungen diskutiert. Dieser Artikel gibt eine Übersicht über potentielle Ansätze zur kontinuierliche Software-Qualitätsverbesserung:
QIP, CMM und AMI. Aus dem Vergleich der Verbesserungsansätze geht hervor, daß u.a. zielorientiertes Messen eine integrale Technologie zur Verbesserung ist. Deshalb wird in diesem Artikel ein Ansatz für zielorientiertes Messen, der GQM-Ansatz, detaillierter diskutiert. Insbesondere wird auf die Anwendung in der Praxis eingegangen, wobei die Erfahrungen aus realen Projekten in Form von Richtlinien vorgestellt werden. Der Artikel will Praktikern einen Einstieg in die Software Qualitätsverbesserung mittels Messen vermittlen.
Vorliegender Bericht ist eine Studie für einen möglichen Immissionsdatenverbund in Österreich. Die Grundlage dieser ersten Version der Studie sind Gespräche, welche Anfang Januar 1992 im Forschungszentrum Seibersdorf und im Umweltbundesamt in Wien stattfanden. Seit einigen Jahren beschäftigt sich die von mir geleitete Gruppe Umweltinformatik an der Universität Kaiserslautern mit den besonderen Schwierigkeiten bei der Vernetzung und Integration heterogener Systeme, welche darüberhinaus unter unterschiedlichen Vollzugshoheiten stehen können. Wir haben diese Problemstellung bei der Führung verfahrenstechnischer Anlagen weitestgehend gelöst und beschäftigen uns, zum Teil in Zusammenarbeit mit Kollegen aus anderen Institutionen, nun hauptsächlich mit der Umsetzung dieser Lösungen in verteilten Systemen im Umweltschutz. Unsere derzeitigen Arbeiten haben zum Ziel, möglichst allgemeine Ansätze für die Integration in verteilten, offenen Umweltinformationssystemen (UIS) zu entwickeln. Dabei sind wir uns darüber bewußt, daß diese allgemeinen Ansätze nur aus den konkreten Gegebenheiten, Zielen und Vorstellungen abgeleitet werden können. Diese Studie soll zwei Dinge bezwecken: einerseits will ich versuchen, den Blick dafür zu öffnen, wie ein Immissionsdatenverbund aussehen könnte, welcher allen Betreibern eine hohe Funktionalität und großen Komfort bietet. Es soll auch diskutiert werden, welcher technischer und organisatorischer Aufwand unter Verwendung welcher Konzepte entsteht. Auch wenn man sich in naher Zukunft nicht dazu entschließen sollte, die von mir vorgeschlagenen oder ähnliche Wege zu gehen, so könnte man doch bei der Realisierung auf
niedrigerem funktionalen Niveau zukünftige Möglichkeiten schon heute berücksichtigen und damit zukünftige Entwicklungen begünstigen. Ich hoffe, daß die Leser dieser Studie in dieser Hinsicht von meinen Erfahrungen profitieren. Zum zweiten ist diese Studie für meine Arbeitsgruppe ein Einstieg in die konkreten Problemstellungen großer verteilter UIS. Meßnetze sind inhärente Komponenten solcher UIS und weisen aufgrund ihrer technischen Orientierung interessante Merkmale auf. Daher erhoffen wir uns, hier wichtige Erkenntnisse auch für unsere Arbeiten zu gewinnen. Im Prinzip weiß heute noch niemand, wie man einen großen Umweltdatenverbund organisieren könnte. Ein Teil eines solchen Verbundes sind die Meßnetze. Die damit verbundenen Probleme alleine technischer Art sind riesig und es gibt bisher nur wenige Personen, die in der Umweltinformatik sich überhaupt mit diesen Themen beschäftigen. Diese Studie versteht sich daher hochgradig als Diskussionpapier. Jegliche geäußerten Ideen und Konzepte sollen von Lesern kritisch bewertet, notfalls angegriffen und vernichtend geschlagen werden - sofern sie dies verdienen. Diese Diskussion ist notwendig, damit wir überhaupt einmal eine Ahnung davon bekommen, wohin die Umweltinformatik der verteilten Systeme gehen kann.
Im Bereich des Software Engineering werden komplexe Software-Entwicklungsprojekte betrachtet. Im Rahmen dieser Projekte werden große Mengen von Informationen bearbeitet. Diese Informationen werden in Software-Artefakten (z.B. in Projektplänen oder Entwicklungsdokumenten, wie Anforderungsbeschreibungen)
festgehalten. Die Artefakte werden während der Entwicklung und der Wartung eines Softwaresystems häufig geändert. Änderungen einer Information in einem Artefakt haben häufig Änderungen
im selben und in anderen Artefakten zur Folge, da Beziehungen innerhalb und zwischen den in den Artefakten festgehaltenen Informationen bestehen. Die Beziehungen liegen meist nicht explizit vor, so daß die Konsequenzen einer Änderung schwer zu überblicken sind. In dieser Arbeit wurde ein Verfolgbarkeitsansatz ausgewählt, der den Benutzer bei der Durchführung von Änderungen an Artefakten unterstützt. Unterstützung bedeutet hierbei, daß der Aufwand zur Durchführung einer Änderung reduziert wird und weniger Fehler bei der Durchführung gemacht werden.
In der Arbeit wurden Anforderungen an einen auszuwählenden Verfolgbarkeitsansatz gestellt. Eine Anforderung war, daß er auf verschiedene Bereiche des Software Engineering, wie z.B. Systementwurf oder Meßplanung, mit jeweils sehr unterschiedlichen Artefakten, anwendbar sein sollte. Die durchgeführte
Literaturrecherche und die anschließende Bewertung anhand der gestellten Anforderungen ergaben, daß das Prinzip der Metamodellierung in Verbindung mit Wissensbankverwaltungssystemen ein geeigneter Verfolgbarkeitsansatz ist. Eine Evaluation, die sich auf Fallstudien aus den Bereichen
"Objektorientierter Entwurf mit UML" und "Meßplanung mit GQM" bezog, ergab, daß das Wissensbankverwaltungssystem
ConceptBase, das auf der Wissensrepräsentationssprache 0-Telos basiert, ein geeignetes Werkzeug zur Unterstützung des Verfolgbarkeitsansatzes ist.
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.
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.
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.
Hadoop ist ein beliebtes Framework für verteilte Berechnungen über große
Datenmengen (Big Data) mittels MapReduce. Hadoop zu verwenden ist einfach: Der
Entwickler definiert die Eingabedatenquelle und implementiert die beiden
Methoden Map und Reduce. Über die verteilte Berechnung und Fehlerbehandlung muss
er sich dabei keine Gedanken machen, das erledigt das Hadoop-Framework.
Allerdings kann die Analyse von Big Data sehr lange dauern und da sich die
Eingabedaten jede Sekunde ändern, ist es vielleicht nicht immer die beste
Idee, die vollständige Berechnung jedes Mal aufs Neue auf die kompletten
Eingabedaten anzuwenden. Es wäre geschickter, sich das Ergebnis der
vorherigen Berechnung zu betrachten und nur die Deltas zu analysieren, also
Daten, die seit der letzten Berechnung hinzugefügt oder gelöscht wurden. In dem Gebiet der
selbstwartbaren materialisierten Sichten in relationalen Datenbanksystemen gibt
es bereits mehrere Ansätze, die sich mit der Lösung dieses Problems
beschäftigen. Eine Strategie liest nur die Deltas und inkrementiert oder
dekrementiert die Ergebnisse der vorherigen Berechnung. Allerdings ist diese
Inkrement-Operation sehr teuer, deshalb ist es manchmal besser, das komplette
alte Ergebnis zu lesen und es mit den Deltas der Eingabedaten zu kombinieren.
In dieser Masterarbeit wird ein neues Framework namens Marimba vorgestellt,
welches sich genau um diese Probleme der inkrementellen Berechnung kümmert. Einen
Map\-Re\-duce-Job in Marimba zu schreiben ist genau so einfach wie einen Hadoop-Job.
Allerdings werden hier keine Mapper- und Reducer-Klasse implementiert, sondern
eine Translator- und Serializer-Klasse. Der Translator ähnelt dem Mapper: Er
bestimmt, wie die Eingabedaten gelesen und daraus Zwischenwerte berechnet
werden. Der Serializer erzeugt die Ausgabe des Jobs. Wie diese Ausgabe berechnet
wird, gibt der Benutzer durch Implementierung einiger Methoden an, um Werte zu
aggregieren und invertieren.
Vier MapReduce-Jobs, darunter auch das Paradebeispiel für MapReduce WordCount,
wurden im Marimba-Framework implementiert. Das Entwickeln von inkrementellen
Map-Reduce-Jobs ist mit dem Framework extrem einfach geworden. Außerdem konnte
mit Performanztests gezeigt werden, dass die inkrementelle Berechnung deutlich
schneller ist als eine vollständige Neuberechnung.
Ein weiterer unter den vier implementierten Jobs berechnet
Wortauftrittswahrscheinlichkeiten in geschriebenen Sätzen. Dies kann
beispielsweise für Spracherkennung verwendet werden. Wenn ein Wort in einer
gesprochenen SMS nicht richtig verstanden wurde, hilft der Algorithmus zu raten,
welches Wort am wahrscheinlichsten an einer bestimmten Stelle stehen könnte,
abhängig von den vorherigen Wörtern im Satz. Damit dieser Algorithmus auch
brauchbare Ergebnisse liefert, ist die Menge und die Qualität der Eingabedaten
wichtig. Durchaus brauchbare Ergebnisse wurden durch die Verarbeitung von
Millionen von Twitter-Feeds, die deutsche Twitter-Nutzer in den letzten Monaten
geschrieben haben, erreicht.
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.
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.
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.
Das Handlungsreisendenproblem ist eines der bekanntesten NP-vollständigen kombinatorischen Optimierungsprobleme. Algorithmen mit unterschiedlichen Konzepten und Strategien wurden entwickelt, die sich in Lösungsqualität und Laufzeit unterscheiden. Ein vergleichsweise neuer Ansatz stellt jedoch das Kombinieren vorhandener Lösungen dar. Hier werden die Kantenmengen gegebener Handlungsreisendertouren als Ausgangsbasis für weitere Optimierungen verwendet. Erste Veröffentlichungen zu diesem Gebiet stellen bereits vielversprechende Ergebnisse vor, die nachfolgend vertieft evaluiert werden.
JSR 170 spezifiziert die Java Content Repository (JCR) Schnittstelle. Diese Schnittstelle wird als Standard im Bereich Web-Anwendungen und Content Management akzeptiert. Sie gliedert sich in Level 1 (lesender Zugriff) and Level 2 (Lese- und Schreibzugriffe) und beschreibt darüber hinaus vier weitere optionale Funktionen. Das in JSR 170 beschriebene hierarchische Datenmodell weist starke Analogie zu XML auf. Jedoch verwenden die meisten JCR-Implementierungen relationale Datenbanken. Durch native XML Datenbanken, wie XTC, können XML-Daten effizient verwaltet werden. Diese Arbeit beschreibt das Design und die Implementierung eines Level 2 JCRs, welches alle Anforderungen an die Persistenz mit Hilfe von DOM und XQuery Operationen auf XML-Dokumenten in XTC erfüllt. Die optionalen FuJSR 170 spezifiziert die Java Content Repository (JCR) Schnittstelle. Diese Schnittstelle wird als Standard im Bereich Web-Anwendungen und Content Management akzeptiert. Sie gliedert sich in Level 1 (lesender Zugriff) und Level 2 (Lese- und Schreibzugriffe) und beschreibt darüber hinaus vier weitere optionale Funktionen. Das in JSR 170 beschriebene hierarchische Datenmodell weist starke Analogie zu XML auf. Jedoch verwenden die meisten JCR-Implementierungen relationale Datenbanken. Durch native XML Datenbanken, wie XTC, können XML-Daten effizient verwaltet werden. Diese Arbeit beschreibt das Design und die Implementierung eines Level 2 JCRs, welches alle Anforderungen an die Persistenz mit Hilfe von DOM und XQuery Operationen auf XML-Dokumenten in XTC erfüllt. Die optionalen Funktionen “Versionierung” und “Transaktionen” werden ebenfalls unterstützt. Um die Implementierung zu testen werden zwei Demo-Anwendungen (Blog & Wiki) entwickelt und Vergleichstests gegen die Referenzimplementierung angestellt.
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.
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.
Selbstorganisation ist eine interessante und vielversprechende Möglichkeit, um die Komplexität verteilter Systeme beherrschbar zu machen. In diesem Beitrag schlagen wir ein leistungsfähiges Rechnersystem auf Basis von rekonfigurierbarer Hardware vor, welches aufgrund seiner Flexibilität in vielen Bereichen eingesetzt werden kann. Es wird die geplante Systemarchitektur und Systemsoftware beschrieben und ein intelligentes, verteiltes Kamerasystem vorgestellt, welches wir als Anwendung mit dem vorgeschlagenen System realisieren wollen, um Selbstorganisation in verteilten Systemen näher zu untersuchen.
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.
Die am Fraunhofer-Institut für Experimentelles Software Engineering entwickelte MARMOT-Methode beschreibt einen Ansatz für die komponentenbasierte Entwicklung eingebetteter Systeme. Sie baut auf der ebenfalls am IESE entwickelten KobrA-Methode auf und erweitert diese um spezielle Anforderungen für eingebettete Systeme. Die Idee dahinter ist es, einzelne Komponenten zu modellieren, implementieren und zu testen um später auf vorhandene qualitätsgesicherte Komponenten zurückgreifen zu können, und zu Applikationen zu komponieren ohne diese immer wieder neu entwickeln und testen zu müssen. Im Rahmen dieser Projektarbeit sollte mit Hilfe der MARMOT-Methode ein Antikollisionssystem für ein Modellauto entwickelt werden. Nach Auswahl der hierfür geeigneten Hardware wurde zunächst ein Grundkonzept für die Sensorik entwickelt. Die vom verwendeten RADAR-Sensor gelieferten Signale müssen für die weitere Verwendung durch einen Mikrocontroller aufbereitet werden. Vor der eigentlichen Systemmodellierung musste deshalb zu diesem Zweck eine Sensorplatine entwickelt werden. Anschließend folgte die Modellierung des Antikollisionssystems in UML 2.0 und die Implementierung in C. Zum Abschluss wurde das Zusammenspiel der Hard- und Software getestet.
Ein typisches Mittelklassefahrzeug hat mittlerweile 100 Computerprozessoren,die miteinander kommunizieren, und bildet damit ein komplexes Softwaresystem. Die steigende Anzahl der miteinander kommunzierenden Funktionen trägt dazu bei, dass die Komplexität der Steurungssoftware immer schwerer zu beherrschen ist. Trotz eines enormen Kostenaufwands zur Entwicklung der entsprechenden Softwarekomponenten sind Softwarefehler bei Fahrzeugen der automobilen Oberklasse eine der am häufigsten angeführten Ursachen in der Pannenstatistik. Die Tatsache, dass die angeführten Funktionalitäten verteilt und parallel auf einer steigenden Anzahl unterschiedlicher Mikrokontroller abgearbeitet werden, birgt zusätzliche Probleme. Es ist jedoch Fakt, dass der Markt nach Funktionalitäten wie ABS, ASR und ESP verlangt, die zu einem wesentlichen Teil aus Software bestehen. Es ist also notwendig, einen alternativen Softwareansatz zu finden, der die Komplexität der Steuerungssoftware beherrschbar werden lässt und dennoch den Anforderungen des automobilen Umfelds, wie zum Beispiel der Verlässlichkeit gerecht wird. Dies wird in dieser Arbeit mit hilfe einer verhaltensbasierten steuerung erreicht.
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.
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.
Das Ziel dieser Arbeit ist es, ein Framework und einen funktionsfähigen Prototypen für eine Middleware zu entwickeln, die es ermöglicht, Berechnungen verteilt in einem Peer-to-Peer-Netz auszuführen. Dabei sollen verschiedene Arten der Berechnung unterstützt werden. Eine Art der Berechnung sind Aufträge, die massiv parallel berechnet werden können, d.h. solche, die in unabhängige Teilaufträge zerlegt werden können und ohne gegenseitige Kommunikation auskommen. Diese Aufträge können entweder so parametrisiert sein, dass jeder Teilauftrag einen anderen Satz Parameter erhält (z.B. Fraktalberechnung), oder zufallsbasiert, so dass jeder Teilauftrag mit den gleichen Ausgangswerten berechnet wird und unterschiedliche Ergebnisse resultieren. Eine andere Art der Berechnung setzt voraus, dass Knoten, die am gleichen Auftrag arbeiten, auch miteinander kooperieren und durch Nachrichten beispielsweise Teillösungen austauschen (z.B. verteilte evolutionäre Algorithmen). Alle Knoten in diesem Netz sollen gleichberechtigt sein, d.h. jedem Knoten soll es möglich sein, eigene Anwendungen und Aufgaben im Netz zu verteilen. Den verteilten Anwendungen soll zudem die Möglichkeit gegeben werden, mit anderen Knoten, die an der gleichen Aufgabe arbeiten, kommunizieren zu können. Alle benötigten Informationen zur Berechnung eines Auftrags (d.h. Parameter, ausführbarer Code der Anwendung, Anzahl der zu berechnenden Fälle) sollen den rechnenden Knoten durch Middlewarefunktionen zur Verfügung gestellt werden, ebenso soll der Rücktransport der Ergebnisse zum Initiator durch die Middleware erfolgen. Der Nutzer soll also an seinem Arbeitsplatz seine verteilte Anwendung starten können und die Ergebnisse schließlich wieder auf seinem Rechner vorfinden. Die Implementierung soll möglichst modular angelegt sein und nicht auf ein konkretes P2P-Protokoll beschränkt sein, sondern einen leichten Austausch bzw. eine nutzergesteuerte Auswahl von verschiedenen Protokollen ermöglichen. Im Rahmen dieses Prototypen soll ein epidemisches P2P-Protokoll realisiert werden.
Das Internet ist kein statisches Objekt, das keinen Veränderungen ausgesetzt ist. Ständig werden neue Informationsmaterialien hinzugefügt, bestehende Inhalte verändert oder ganz entfernt. Das Verändern und Entfernen von Materialien ist ein Problem, das von META-AKAD nicht außer Acht gelassen werden darf. Es ist notwendig die erschlossenen Lehr- und Lernmaterialien ständig auf Veränderung und auf ihre Verfügbarkeit hin zu prüfen. Im Rahmen dieser Projektarbeit soll eine Aktualisierungskomponente entwickelt werden, die es ermöglicht die gesammelten und bereits erschlossenen Lehr- und Lernmaterialien in festgelegten Zyklen automatisch auf ihre Aktualität und Verfügbarkeit hin zu überprüfen. Dies erleichtert es, die gesammelten Materialien zu kontrollieren und zu verwalten. Weiterhin soll die Aktualisierungskomponente dabei helfen nicht mehr verfügbare oder veraltete Dokumente aus der Menge der erfassten Materialien ausfindig zu machen, um diese eventuell entfernen zu können.
Das Projekt Meta-Akad hat das Ziel, Lernenden und Lehrenden den möglichst einfachen, umfassenden und schnellen Zugriff auf Lehrmaterial zu ermöglichen. Dabei werden verschiedene, über die Aspekte einer reinen Internet- Suchmaschine hinausgehende Aspekte berücksichtigt: Neben dem Aufbau einer umfangreichen und repräsentativen Sammlung von Lerndokumenten sollen diese mittels bibliothekarischer Methoden erschlossen und mit umfangreichen Metadaten, wie beispielsweise einer inhaltlichen Einordnung, versehen werden. Um dem Problem der fraglichen Qualität von Dokumenten aus dem Internet gerecht zu werden, bietet Meta-Akad die Möglichkeit diese durch Beguchtachtungsverfahren sicherzustellen. Aufgrund dieses Mehrwerts versteht sich das Projekt als virtuelle, über das Internet erreichbare Bibliothek. Der Zugriff auf die erfassten Dokumente ist durch eine Web-basierte Schnittstelle realisiert: Diese soll sowohl die Möglichkeit einer Suche durch Angabe von Schlüsselwörtern, als auch das Blättern in der Dokumentsammlung erlauben. Eine Suche nach Schlüsselwörtern soll neben den Meta-Daten auch den gesamten textuellen Inhalt der Dokumente betreffen. Die Integration der Volltextsuche in den bereits vorhandenen Meta-Daten Suchvorgang ist das Kernthema dieser Projektarbeit.
Diese Projektarbeit beschreibt die Anforderungen, den Aufbau und die Implementierung der Anfrageverarbeitung (Query-Engine). Im diesem Kapitel werden die Zielsetzungen des Meta-Akad Projekts und die Realisierungsmöglichkeiten mit dem Java 2 Enterprise Edition Framework erörtert. Ferner wird die Einordnung der Anfrageverarbeitung in das Gesamtsystem gezeigt. Das zweite Kapitel erläutert grob Anforderungen sowie Ablauf der Anfrageverarbeitung und stellt das Implementierungskonzept dar. In den Nachfolgenden Kapitel wird dann näher auf die einzelnen Phasen der Verarbeitung und die auftretenden Probleme eingegangen. Am Ende werden im Kapitel Ausblick Möglichkeiten für Erweiterungen und Verbesserungen der Anfrageverarbeitung des Meta-Akad Suchdienstes dargelegt.
Ähnlich wie Data-Mining die Analyse strukturierter numerischer Daten bezeichnet, beschreibt der Begriff des Text-Mining eine Menge von Methoden zur (halb-) automatischen Auswertung großer Mengen natürlichsprachlicher Texte. Das Gebiet des Text Mining umfaßt vielfältige Methoden zur Extraktion von Informationen aus natürlichsprachlichen Texten. In diesem Gebiet bzw. in dem Forschungsgebiet der Namenserkennung und Namensklassifikation werden viele Algorithmen vorgestellt und dokumentiert. Bei diesen Namenerkennungssystemen, die Teile der sogenannten "Information-Extraction-Systems" sind, werden hauptsächlich zwei Ansätze verwendet und zwar der sogenannte "Knowledge-Engineering-Approach" und "Automatic-Training-Approach"
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.
Im Rahmen dieser Diplomarbeit werden die Konzepte zur Unterstützung von datenbankorientierten Software-Produktlinien durch domänenspezifische Sprachen am Beispiel von Versionierungssystemen untersucht. Ziel dieser Arbeit ist es, die zeitlichen Kosten, die durch die Nutzung einer domänenspezifischen Sprache entstehen, zu bestimmen. Dabei werden unterschiedliche Datenbankschemata verwendet, um zu untersuchen, welcher Zusammenhang zwischen der Komplexität des Datenbankschemas und der Übersetzung einer domänenspezifischen Anweisung in eine Reihe von herkömmlichen SQL-Anweisungen besteht. Um die zeitlichen Kosten für die Reduktion zu bestimmen, werden Leistungsuntersuchungen durchgeführt. Grundlage für diese Leistungsuntersuchungen sind domänenspezifische Anweisungen, die von einem speziell für diesen Zweck entwickelten Generator erzeugt wurden. Diese generierten domänenspezifischen Anweisungen werden mit den unterschiedlichen Datenbanktreibern auf dem passenden Datenbankschema ausgeführt.
Das Projekt META-AKAD beschäftigt sich mit dem automatisierten Sammeln und bibliothekarischen Erschließen von Lehr- und Lernmaterialien. Es ist unterteilt in drei zentrale Säulen (Anfrageverarbeitung, Ergebnisverarbeitung und XML-Dokument-Management). Die vorliegende Arbeit beschäftigt sich mit dem XML-Dokument-Management. Es stellt eine generische Schnittstelle bereit, um neue XML-Dokumente in das System einzufügen und bestehende Daten zu aktualisieren oder zu löschen. Hierbei wurden Konzepte entwickelt und umgesetzt, um vom verwendeten Datenbank- und Metadatenschema abstrahieren zu können.
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.
Diese Arbeit beschäftigt sich mit der Ergebnisverarbeitung (Result-Set-Processing) im Projekt META-AKAD. Das materialisierte Anfrageergebnis, dient als Grundlage für die Ausführung von Meta-Queries. Für die Schnittstelle zum Web-Tier wurden zwei unterschiedliche Implementierungen (zustandslos und zustandsbehaftet) zur Verfügung gestellt und miteinander vergliechen.
Es handelt sich um den Aufbau des ersten Roboter-gestützten Systems zum Fräsen an der lateralen Schädelbasis. Durch Rückkopplung der Sensordaten lässt sich ein menschähnliches Fräsen nachahmen. Mehr noch: Es besteht die Möglichkeit der automatisierten Detektion der Dura mater durch Analyse der Standardabweichung der Kräfte, da die Dura mater dämpfend auf den Fräser wirkt. Mit dem Roboter ist es möglich, ein exaktes Implantatbett im Bereich der lateralen Schädelbasis auszufräsen.
Den in der industriellen Produktion eingesetzten Manipulatoren fehlt in der Regel die Möglichkeit, ihre Umwelt wahrzunehmen. Damit Mensch und Roboter in einem gemeinsamen Arbeitsraum arbeiten können, wird im SIMERO-System die Transferbewegung des Roboters durch Kameras abgesichert. Dieses Kamerasystem wird auf Ausfall überprüft. Dabei werden Fehler in der Bildübertragung und Positionierungsfehler der Kameras betrachtet.
Diese Arbeit ist ein Bestandteil des Projekts META-AKAD. Ziel dieser Arbeit ist die Entwicklung einer Softwarekomponente, die in der Lage ist, automatisiert Klassifikationen nach der Regensburger Verbundklassifikation (RVK) und Schlagworte aus der deutschen Schlagwortnormdatei (SWD) für Dokumente, die als Lehr- oder Lernmaterial eingestuft wurden, zu vergeben. Die automatische Indexierung wird auf Basis einer Support-Vektor-Maschine durchgeführt. Die Implementierung erfolgte in der Programmiersprache Java.
Die Domäne der Operationsroboter liegt heute in Fräsarbeiten an knöchernen Strukturen. Da Roboter über eine extreme Präzision verfügen und nicht ermüden bietet sich ihr Einsatz ins-besondere bei langwierigen und zugleich hochpräzisen Fräsvorgängen im Bereich der later-alen Schädelbasis an. Aus diesem Grunde wurde ein Verfahren entwickelt, welches aus einer geometrischen Beschreibung des Implantates eine geeignete Fräsbahn errechnet und eine kraftgeregelte Prozesskontrolle des Fräsvorganges implementiert. Mit einem 6*achsigen Knickarmroboter erfolgten die Untersuchungen primär an Tierpräparaten und zur Optimierung an Felsenbeinpräparaten.
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 SIMERO-System gliedert sich in die vier Hauptkomponenten Bildverarbeitung, Robotermodellierung, Kollisionserkennung und Bahnplanung. Diese Komponenten werden im einzelnen vorgestellt. Die Leistungsfähigkeit des Systems und die weiteren Verbesserungen werden an einem Versuch exemplarisch gezeigt.
Die Domäne der Operationsroboter liegt heute in Fräsarbeiten an knöchernen Strukturen. Da Roboter über eine extreme Präzision verfügen und nicht ermüden bietet sich ihr Einsatz ins-besondere bei langwierigen und zugleich hochpräzisen Fräsvorgängen im Bereich der lateralen Schädelbasis an. Aus diesem Grunde wurde ein Verfahren entwickelt, welches aus einer geometrischen Beschreibung des Implantates eine geeignete Fräsbahn errechnet und eine kraftgeregelte Prozesskontrolle des Fräsvorganges implementiert. Mit einem 6*achsigen Knickarmroboter erfolgten die Untersuchungen primär an Tierpräparaten und zur Optimierung an Felsenbeinpräparaten.
Handhabung deformierbarer linearer Objekte: Programmierung mit verschiedenen Manipulation-Skills
(2002)
Diese Arbeit beschreibt verschiedene Bewegungsprimitive zur Lösung einiger häufig auftre-tender Probleme bei der Handhabung von deformierbaren linearen Objekten. Anhand der beispielhaften Montage einer Feder wird die Nützlichkeit der verschiedenen Manipulation-Skills im einzelnen, aber auch deren Kombination dargestellt.
Die Domäne der Operationsroboter liegt heute in Fräsarbeiten an knöchernen Strukturen. Da Roboter über eine extreme Präzision verfügen und nicht ermüden bietet sich ihr Einsatz insbesondere bei langwierigen und zugleich hochpräzisen Fräsvorgängen im Bereich der lateralen Schädelbasis an. In jüngsten Arbeiten wurden Prozessparameter zur Anlage eines Implantatlagers bspw. für ein Cochlea Implantat oder für eine roboterunterstützte Mastoidektomie ermittelt. Gemessen wurden die Parameter Kraft, Moment, Vibration und Temperatur bei unterschiedlichen Vorschüben, Drehzahlen, Bahnkurven und unterschiedlichem Knochenmaterial (Mastoid, Kalotte). Hieraus ergaben sich Optimierungsparameter für solche Fräsvorgänge. Auffallend waren unvermittelt auftretende und extrem weit über dem Grenzwert liegende Spitzenwerte für Kräfte, bei im Normbereich liegenden Mittelwerten. Aus diesem Grunde wurde ein Verfahren entwickelt, welches aus einer geometrischen Beschreibung des Implantates eine geeignete Fräsbahn errechnet und eine Kraft-geregelte Prozesskontrolle des Fräsvorganges implementiert. Mit einem 6-achsigen Knickarmroboter erfolgten die Untersuchungen primär an Tierpräparaten und zur Optimierung an Felsenbeinpräparaten.Durch intraoperative online Rückkopplung der Kraft - Sensorik war eine lokale Navigation möglich. Bei steigenden Kräften über den Grenzwert wurde die Vorschubgeschwindigkeit automatisch reguliert, auch konnte das Errreichen der Dura an Hand der Werte detektiert werden. Das Implantatlager ließ sich durch das entwickelte Computerprogramm exakt ausfräsen. Die Untersuchungen ergaben, dass eine zufriedenstellende Anlage eines Implantatbettes in der Kalotte durch einen Kraft-geregelten Fräsvorgang mit einem Roboter, im Sinne einer lokalen Navigation, gelingt.
Versions- und Konfigurationsmanagement sind zentrale Instrumente zur intellektuellen Beherrschung komplexer Softwareentwicklungen. In stark wiederverwendungsorientierten Softwareentwicklungsansätzen -wie vom SFB bereitgestellt- muß der Begriff der Konfiguration von traditionell produktorientierten Artefakten auf Prozesse und sonstige Entwicklungserfahrungen erweitert werden. In dieser Veröffentlichung wird ein derartig erweitertes Konfigurationsmodell vorgestellt. Darüberhinau wird eine Ergänzung traditioneller Projektplanungsinformationen diskutiert, die die Ableitung maßgeschneiderter Versions- und Konfigurationsmanagementmechanismen vor Projektbeginn ermöglichen.
Die Entwicklung des Zusammenlebens der Menschen geht immer mehr den Weg zur Informations- und Mediengesellschaft. Nicht zuletzt aufgrund der weltweiten Vernetzung ist es uns in minutenschnelle möglich, fast alle erdenklichen Informationen zu Hause auf den Bildschirm geliefert zu bekommen. Es findet sich so jeder zwar in einer gewissen schützenden Anonymität, aber dennoch einer genauso gewollten, wie erschreckenden Transparenz wieder. Jeder klassifiziert in gewisser Weise Informationen, die er preisgibt etwa in öffentliche, persönliche und vertrauliche Nachrichten. Gerade hier müssen Techniken und Methoden bereitstehen, um in dieser anonymen Transparenz Informationen, die nur für spezielle Empfänger gedacht sind vor unbefugtem Zugriff zu schützen und nur denjenigen zugänglich zu machen, die dazu berechtigt sind. Diesen Wunsch hat nicht nur allgemein die Gesellschaft, sondern im speziellen wird die Entwicklung auf diesem Gebiet gerade von staatlichen und militärischen Einrichtungen gefordert und gefördert. So sind häufig eingesetzte Werkzeuge die Methoden der Kryptologie, aber solange es geheime Nachrichten gibt, wird es Angreifer geben, die versuchen, sich unberechtigten Zugang zu diesen Informationen zu verschaffen. Da die ständig wachsende Leistung von EDV-Anlagen das "Knacken" von Verschlüsselungsmethoden begünstigt, muß zu immer sichereren Chiffrierverfahren übergegangen werden. Dieser Umstand macht das Thema Kryptologie für den Moment hochaktuell und auf lange Sicht zu einem zeitlosen Forschungsgebiet der Mathematik und Informatik.
Da gerade in der heutigen Zeit viele zusammenarbeitende Softwareentwickler benötigt werden, um immer komplexer werdende Applikationen zu entwerfen, geht der Trend mehr und mehr in die Richtung des räumlich getrennten Arbeitens. Begünstigt wird diese Entwicklung nicht zuletzt durch die Möglichkeiten der Kommunikation und des Datenaustauschs, die durch das Internet geboten werden. Auf dieser Basis sollen Werkzeuge konzipiert und entwickelt werden, die eine effiziente verteilte Softwareentwicklung ermöglichen. Die Nutzung des Internet zu diesem Zweck löst das Verbindungsproblem für sehr große Entfernungen, die Nutzung von Webservern und -browsern wird der Anforderung der Betriebssystemunabhängigkeit und der Realisierung der Verteiltheit im Sinne des Client/Server-Prinzips gerecht. Unter dem Oberbegriff "Software Configuration Management" versteht man die Menge aller Aufgaben, die bei der Produktverwaltung im Bereich der Softwareherstellung anfallen. In dieser Ausarbeitung sollen zunächst die Anforderungen an ein webbasiertes SCM-System formuliert, einige technische Möglichkeiten genannt und verschiedene existierende SCM-Produkte, die eine Web-Schnittstelle bieten auf die Anforderungen überprüft und miteinander verglichen werden.
Gerade in einer Zeit, in der das Internet in nahezu alle Bereiche des menschlichen Lebens vorgedrungen ist und sich nicht zuletzt aufgrund seiner unbegrenzt scheinenden Möglichkeiten zur Beschaffung und zum Austausch von Informationen und zur weltweiten Kommunikation eines sehr starken Zuspruchs erfreut, liegt es nicht nur im Sinne von Rechenzentren und Dienstanbietern, eine Möglichkeit zur Abrechnung der in Anspruch genommenen Ressourcen in die Hand zu bekommen. Die Erschließung neuer Regionen, sowie der Ausbau vorhandener Netze in Richtung einer Bereitstellung höherer Bandbreiten zur Verbesserung der Übertragungsgeschwindigkeiten ist mit immensen Kosten verbunden. Es ist nicht Aufgabe dieser Arbeit zu entscheiden, auf welche Art und Weise die Kosten auf die Benutzer umgelegt oder verteilt werden sollen. Wir wollen hier auch keine Vorschläge zu solchen Überlegungen einbringen, da dergleichen die Domäne anderer Disziplinen, wie beispielsweise der Betriebs- und Volkswirtschaftslehre und der Politik, darstellt. Unsere Aufgabe ist es aber, die informatikspezifischen Probleme der rechnerinternen Erfassung von Accountinginformationen zu beleuchten und so gesammelte Werte den Spezialisten anderer Fachgebiete zur weiteren Verarbeitung zu überlassen. So befasst sich diese Arbeit zunächst mit den grundlegenden Eigenschaften und Modellen des zu betrachtenden Datenverkehrs, um im folgenden Voraussetzungen und Möglichkeiten zur Realisierung einer benutzerorientierten Erfassung und Abrechung der genutzten Netzwerkressourcen aufzuzeigen und herauszuarbeiten.
Es wird die Aufgabe der vollständigen räumlichen Abdeckung von Regionen in durch mobile Roboter betrachtet. Da-bei können die Regionen in vollständig, teilweise oder nicht bekannten Umgebungen liegen. Zur Lösung wird ein Verfahren aus der Computer-grafik zum Füllen von Bildregionen zugrunde gelegt. Das Verfahren hat eine lokale Sichtweise und läßt somit den Einsatz von Sensordaten und das Auftreten von unvorhergesehenen Hindernissen zu. Die Regionen können durch Karten off-line vorgegeben sein oder durch Sensordaten on-line aufgebaut werden. Dennoch ist eine vollständige und genau einma-lige Flächenbearbeitung garantiert. Dies wird an Beispielen in einer graphischen Visualisierung der Realzeit-Steuerung des Roboters validiert.
Diese Arbeit skizziert einen allgemeinen Ansatz zur Montage deformierbarer linearer Werkstücke (wie Kabel, Drähte, Schläuche, Blattfedern) mit Industrierobotern. Hierzu werden insbesondere die folgenden zwei Aspekte betrachtetet. Erstens die zuverlässige Ausführung der Montage unter Berücksichtigung der Werkstückdeformation und anderer Unsicherheiten, zweitens die numerische Simulation des Werkstückverhaltens. Zur robusten Ausführung der Montage wird das aus der Montage starrer Werkstücke bekannte Konzept der Manipulation-Skills auf deformierbare Werkstücke übertragen. Bei der numerischen Simulation wird insbesondere die Bestimmung der Greifertrajektorie bei gegebener Aufgabenstellung betrachtet.
Anwendungen effizienter Verfahren in Automation - Universität Karlsruhe auf der SPS97 in Nürnberg -
(1998)
On-line Kollisionserkennung mit hierarchisch modellierten Hindernissen für ein Mehrarm-Robotersystem
(1991)
Dieses Kapitel gliedert sich in drei Teile. Zuerst wird die Vorgehensweise in dieser Diplomarbeit zusammengefaßt. Dann folgen die gewonnenen Schlußfolgerungen mit einer Bewertung der verglichenen Ansätze. Der letzte Teil ist ein Ausblick auf die möglichen Anwendungen der Ergebnisse dieser Arbeit. Methodik Bei der Aufgabe, eine on-line Kollisionserkennung mit hierarchisch modellierten Hindernissen für ein Mehrarm-Robotersystem zu untersuchen, wurden folgende Schritte vorgenommen: " Klassifizierung der bisherigen Ansätze zur Beschleunigung der Kollisionserkennung mit einem Arm. Dabei wurde unterschieden zwischen dem Einsatz-Zeitpunkt und der Methode der Ansätze. " Modifikation des Weltmodells der Kollisionserkennung für den Einsatz von mehreren Roboterarmen. Kollisionsklassen wurden in einer formalen Darstellung eingeführt und ihre Eigenschaften betrachtet. " Untersuchung der Approximation von Objekten (z. B. Armsegmente und Hindernisse) durch Primitive. Dabei wurden Algorithmen zur Berechnung der Approximationen entworfen und implementiert. Unterschiedliche Strategien zur Abstandsberechnung mit Primitiven-Approximationen wurden entwickelt. " Untersuchung und Erweiterung der hierarchischen Modellierung für den Einsatz bei bewegten Objekten (wie z. B. Roboterarmen). Dazu wurden eine on-line Aktualisierung der Geometrie und eine Auswahl der optimalen Baumstruktur eingesetzt. " Implementierung der bisherigen und eigenen Beschleunigungs-Ansätze. Für die Durchführung von Experimenten wurden die Ansätze in ein Simulationssystem eingebunden und das Simulationssystem erweitert. " Vergleich und Bewertung der Beschleunigungs-Ansätze durch Messung von Laufzeiten und Qualität der resultierenden Abstandsvektoren. Untersuchung anderer einflußnehmender Parameter, wie z. B. der Sicherheitsabstand oder die Frequenz (Schrittweite) der Kollisionserkennung. Schlußfolgerungen Die Untersuchung der implementierten Ansätze zur on-line Kollisionserkennung erlaubt folgende Bewertung und Folgerungen: " Die on-line Kollisionserkennung mit Abstandsvektoren für mehrere Arme ist bei der Verwendung der entsprechenden Beschleunigungs-Ansätze möglich. Die Berechnungszeit pro Bewegungsschritt liegt im Bereich von wenigen Millisekunden. " Die eingeführte Unterteilung der Umwelt in Kollisionsklassen schafft einen einfachen Mechanismus zur Kollisionserkennung in Szenen mit mehreren bewegten Objekten. Die Kollisionsklassen ermöglichen eine systematische Kollisionserkennung für ein Mehrarm-Robotersystem. " Der Vergleich der Primitiven-Approximationen zeigt, daß der ausschließliche Einsatz der Bounding-Box als Primitiv zu besseren Ergebnissen führt als der Einsatz von mehreren Primitiven wie z. B. in [Adolphs]. Die Verbesserungen betreffen den Aufwand der Abstandsberechnung und die Qualität des Abstandsvektors. " Schon bei wenigen Objekten empfiehlt sich eine hierarchische Darstellung zur Beschleunigung der Kollisionserkennung, da sie zu sehr schnellen Abstandsberechnungen führt. Vor allem bei Szenen mit vielen Objekten ist eine hierarchische Darstellung unverzichtbar. " Durch das neue Konzept der dynamischen Hierarchien ist eine hierarchische Modellierung auch für bewegte Objekte möglich. Die dynamischen Hierarchien garantieren eine optimale Darstellung und ermöglichen eine relativ genaue Modellierung des Roboterarms. Bei der Kollisionserkennung für mehrere Roboterarme ist durch den Einsatz von dynamischen Hierarchien ein Beschleunigungsfaktor von 100 gegenüber dem einfachen Verfahren erreicht worden. Damit ist eine on-line Anwendung möglich. Ausblick Aufbauend auf den hier erzielten Ergebnissen sind folgende Anwendungen denkbar: " Eine on-line Bahnplanung basierend auf den berechneten Abstandsvektoren ist möglich. Von Punkt zu Punkt geplante Bahnen können mit Hilfe der Abstandsvektoren modifiziert und Ausweichtrajektorien generiert werden. " Die Potential-Feld-Methode zur lokalen Bahnplanung kann aufgrund den on-line berechneten Abstandsvektoren angewendet werden. " Auch exakte Abstände können schnell berechnet werden. Diese Abstandsberechnung wird effizient durch die Kombination der dynamischen Hierarchien mit einer A*-Suche. " Die schnelle Abstandsberechnung kann auch für andere Gebiete eingesetzt werden. Beispiele dafür sind der Aufbau von Konfigurations-Räumen oder die Layout-Planung. " Bei zu handhabenden Objekten, wie z. B. Werkstücke, kann das Konzept der Kollisionsklassen einfach um einen dynamischen Wechsel erweitert werden. Dabei wechselt z. B. ein Werkstück, wenn es von dem Arm gegriffen wird, die Klasse.
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.
Die Bewegungsplanung für Industrieroboter ist eine notwendige Voraussetzung, damit sich autonome Systeme kollisionsfrei durch die Umwelt bewegen können. Die Berücksichtigung von dynamischen Hindernissen zur Laufzeit erfordert allerdings leistungsfähige Algorithmen, zur Lösung dieser Aufgabenstellung in Echtzeit. Eine Möglichkeit zur Beschleunigung der Algorithmen ist der effiziente Einsatz von skalierbarer Parallelverarbeitung. Die softwaretechnische Umsetzung kann aber nur dann erfolgreich sein, wenn ein Parallelrechner zur Verfügung steht, der einen hohen Datendurchsatz bei geringer Latenzzeit bietet. Darüber hinaus muß dieser Parallelrechner unter vertretbarem Aufwand bedienbar sein und ein gutes Preisleistungsverhältnis aufweisen, damit die Parallelverarbeitung verstärkt in der Industrie zum Einsatz kommt. In diesem Artikel wird ein Workstation-Cluster auf der Basis von neun Standard- PCs vorgestellt, die über eine spezielle Kommunikationskarte miteinander vernetzt sind. In den einzelnen Abschnitten werden die gesammelten Erfahrungen bei der Inbetriebnahme, Systemadministration und Anwendung geschildert. Als Beispiel für eine Anwendung auf diesem Cluster wird ein paralleler Bewegungsplaner für Industrieroboter beschrieben.
Im Bereich der Expertensysteme ist das Problemlösen auf der Basis von bekannten Fallbeispielen ein derzeit sehr aktuelles Thema. Auch für Diagnoseaufgaben gewinnt der fallbasierte Ansatz immer mehr an Bedeutung. In diesem Papier soll der im Rahmen des Moltke -Projektes1 an der Universität Kaiserslautern entwickelte fallbasierte Problemlöser Patdex/22 vorgestellt werden. Ein erster Prototyp, Patdex/1, wurde bereits 1988 entwickelt.
Das System ART (ASF RRL Translation) stellt im wesentlichen eine Umgebung dar,in welcher die Modularisierbarkeit von Beweisen (Induktionsbeweisen über Gleichungs-spezifikationen) untersucht werden kann. Es wurde die bereits bestehende Spezifikati-onsprache ASF (siehe [BeHeKl89]), in welcher modularisierte Spezifikationen möglichsind, so erweitert, daß zusätzlich auch Beweisaufgaben spezifiziert werden können. Imfolgenden wird diese erweiterte Spezifikationsprache auch ASF genannt. Als Bewei-ser für die Beweisaufgaben einer Spezifikation wurde RRL (siehe [KaZh89]) gewählt.RRL kann sowohl Kommandos aus einem File abarbeiten, wie auch Sitzungsprotokolleanfertigen, mit deren Hilfe sich die Beweisverläufe und Benutzereingaben der entspre-chenden RRL-Sitzung rekonstruieren lassen. In ART kann nun eine ASF-Spezifikation,die Beweisaufgaben umfassen kann, in ein File übersetzt werden, welches von RRLabgearbeitet werden kann. Dies wird im folgenden kurz mit 'Übersetzung von ASF nach RRL' bezeichnet. Bei der Abarbeitung eines solchen Files wird von RRL ein Sit-zungsprotokoll angelegt. ART kann dieses Sitzungsprotokoll dazu heranziehen, neueErgebnisse, wie etwa den erfolgreichen Beweis einer Beweisaufgabe, zu ermitteln, umdiese Ergebnisse der ursprüngliche Spezifikation hinzuzufügen. Dies wird im folgendenkurz mit 'Rückübersetzung von RRL nach ASF' bezeichnet. Im Kern besteht ART alsoaus einer Komponente zur Übersetzung von ASF nach RRL und aus einer Komponentezur Rückübersetzung von RRL nach ASF.
Ohne auf wesentliche Aspekte der in [Bergstra&al.89] vorgestellten alge-braischen Spezifikationssprache ASF zu verzichten, haben wir ASF um die folgenden Konzepteerweitert: Während in ASF einmal exportierte Namen bis zur Spitze der Modulhierarchie sichtbarbleiben müssen, ermöglicht ASF + ein differenziertes Verdecken von Signaturnamen. Das fehlerhafteVermischen unterschiedlicher Strukturen, welches in ASF beim Import verschiedener Aktualisie-rungen desselben parametrisierten Moduls auftritt, wird in ASF + durch eine adäquatere Form derParameterbindung vermieden. Das neue Namensraum_Konzept von ASF + erlaubt es dem Spe-zifizierer, einerseits die Herkunft verdeckter Namen direkt zu identifizieren und anderseits beimImport eines Moduls auszudrücken, ob dieses Modul nur benutzt oder in seinen wesentlichen Ei-genschaften verändert werden soll. Im ersten Fall kann er auf eine einzige global zur Verfügungstehende Version zugreifen; im zweiten Fall muß er eine Kopie des Moduls importieren. Schließlicherlaubt ASF + semantische Bedingungen an Parameter und die Angabe von Beweiszielen.
Die systematische Verbesserung von Techniken zur Entwicklung und Betreuung von Software setzt eine explizite Darstellung der in einem Projekt ablaufenden Vorgnge (Prozesse) voraus. Diese Darstellungen (Prozemodelle) werden durch Software- Prozemodellierung gewonnen. Eine Sprache zur Beschreibung solcher Modelle ist MVP-L. Verschiedene Standard-Prozemodelle existieren bereits. Bisher gibt es jedoch kaum dokumentierte Software-Entwicklungsprozesse, die speziell fr die Entwicklung reaktiver Systeme entworfen worden sind, d. h. auf die besonderen Anfordernisse bei der Entwicklung reaktiver Systeme zugeschnitten sind. Auch ist bisher nur wenig Erfahrung dokumentiert, fr welche Art von Projektkontexten diese Prozesse gltig sind. Eine Software- Entwicklungsmethode, die - mit Einschrnkungen - zur Entwicklung reaktiver Systeme geeignet ist, ist SOMT (SDL-oriented Object Modeling Technique). Dieser Bericht beschreibt die erfahrungsbasierte Modellierung der Software-Entwicklungsprozesse von SOMT mit MVP-L. Zunchst werden inhaltliche Grundlagen der Software-Entwicklungsmethode SOMT beschrieben. Insbesondere wird auf die eingesetzten Techniken und deren Kombination eingegangen. Anschlieend werden mgliche Projektkontexte charakterisiert, in denen das SOMT-Modell im Sinne eines Erfahrungselements Gltigkeit hat. Darauf werden der Modellierungsvorgang sowie hierbei gemachte Erfahrungen dokumentiert. Eine vollstndige Darstellung des Modells in grafischer MVP-L-Notation befindet sich im Anhang. Die Darstellung des Modells in textueller Notation kann der SFB-Erfahrungsdatenbank entnommen werden.
Ziel dieser Arbeit ist es, eine Methode zur Verfügung zu stellen, mit der ein Simulator für gebäudespezifische Aufgaben modelliert werden kann. Die Modellierung muß dabei so angelegt sein, daß sowohl einfache als auch sehr komplexe Simulatoren für spezielle Gebäude entworfen werden können. Aus dem erstellten Modell ist es anschließend möglich, mit Hilfe von Generatoren automatisch ein Programm zu erzeugen. Dadurch kann ein Entwerfer ohne spezielle Kenntnisse auf dem Gebiet der Simulation einen Gebäude-Simulator entwickeln. Zur Modellierung wurde ein domänenspezifischer Katalog von Entwurfsmustern erstellt. Dabei können die einzelnen Muster direkt zur Modellierung und Codegenerierung eingesetzt werden.
Die Entwicklung und Wartung von Software-Systemen wird ständig komplexer, da die entwickelte Software selbst immer komplexer und umfangreicher wird. Daher bietet sich zur Entlastung der Projektleiter, Projektmanager und weiterer Projektmitarbeiter eine Rechnerunterstützung der Software-Entwicklung und -wartung an. So können sie einen Überblick über den gesamten Prozess bekommen und diesen optimieren. Eine Möglichkeit der Unterstützung liefert die Modellierung des Software-Entwicklungsprozesses. Um einen Software-Entwicklungsprozess modellieren zu können, müssen die notwendigen Basisstrukturen identifiziert und bereitgestellt werden, was Thema dieser Arbeit ist.
Die Lösung einer Konfigurationsaufgabe innerhalb einer technischen Domäne besteht in der Konstruktion eines komplexen Objektes, das sowohl alle in der Aufgabe gestellten Anforderungen bezüglich seiner Funktionalität erfüllt, als auch den innerhalb der Domäne vorhandenen Restriktionen vollständig genügt. Durch die als bekannt vorausgesetzte Struktur der Anwendungsdomäne wird ein Suchraum aufgespannt, in dem es eine in diesem Sinne korrekte - und wenn möglich besonders gute - Lösung zu finden gilt. Wegen der Grösse des Suchraums wird zu diesem Zweck im allgemeinen ein Verfahren zur Tiefensuche eingesetzt.
Ein umfangreiches Gebiet der Künstlichen Intelligenz beschäftigt sich mit dem Bereich Planung. Im wesentlichen gibt es zwei Planungsansätze, zum einen nicht-hierarchische und zum anderen hierarchische arbeitende Verfahren. Als Beispiel für einen nicht-hierarchischen Ansatz kann SNLP1 genannt werden. Die nachfolgende Ausarbeitung ist auf dem zweiten Gebiet, der hierarchischen Planung, angesiedelt: Der Planungsassistent CAPlan2, der eigentlich auf dem nicht-hierarchischen Planungsansatz SNLP beruht, soll um die Möglichkeiten der hierarchischen Planung erweitert werden.
CAPlan[Web94] basiert auf dem SNLP-Algorithmus [BW92], einer bekannten Version des Originalalgorithmus von McAllester und Rosenblitt [MR91]. Seit dessen Veröffentlichung hat eine Flut von Papieren die Überlegenheit dieses Planers gegenüber herkömmlichen Planverfahren gezeigt. Diese Überlegenheit liegt einerseits in seinem nur partiell ordnenden least-commitment Ansatz begründet und anderseits in der Systematik der Suche, die einen minimalen Suchraum garantiert.
Problemspezifikation für die Arbeitsplanerstellung rotationssymmetrischer Drehteile mit AutoCAD
(1996)
Um den Anforderungen am industriellen Markt gerecht werden zu können, sind Unternehmer gezwungen, immer komplexere, speziell auf den Kunden abgestimmte Produkte möglichst schnell in kleinen Losgrössen herzustellen. Dabei umfasst die Herstellung eines neuen Produkts eine Vielzahl von Arbeitsschritten. Um den Marktanforderungen zu genügen wird bereits heute ein grosser Teil dieser Arbeitsvorgänge computerunterstützt durchgeführt.
Das Lernen ist für den Menschen ein wichtiger Teil des Entwicklungsprozesses und erlaubt ihm, aus positiven und negativen Erfahrungen Konsequenzen für sein weiteres Verhalten abzuleiten, insbesondere für seine Entscheidungsfindung. Diese Art des Lernens, das Lernen aus Erfahrung, kann jedoch nur stattfinden, wenn diese Erfahrungen erklärt werden können. Auf diesem Ansatz aufbauend, werden seit einigen Jahren Verfahren zur Übertragung erklärungsbasierter Lernprozesse auf Computersysteme untersucht.
David Chapman hat 1987 mit seinem Artikel Planning for Conjunctive Goals einen wichtigen Schritt in Richtung der Formalisierung von partiell ordnen der Planung und ihrem Verständnis gemacht. Grundlegendes Konzept von David Chapman ist die Idee modaler Wahrheit in Plänen; sein Modal Truth Criterion (MTC) macht Aussagen über die Gültigkeit einer Aussage in einem partiell geordneten Plan. Kambhampati und Nau zeigten mit ihrem Papier On the Nature of Modal Truth Criteria in Planning einige wesentliche Mängel bzw. begriffliche Ungenauigkeiten an Chapmans Kriterium auf und machten mit ihrem Modal Conditional Truth Criterion Vorschläge für eine Korrektur. Insbesondere bekam die Frage nach der Ausführbarkeit eines Planes hier ein grösseres Gewicht. Ziel dieser Projektarbeit ist es zunächst, das MTC von Chapman sowie die Modifikation darzustellen und, als praktische Aufgabe, die Realisierung des MTC für den Causal Link Planer CAPlan, basierend auf der bestehenden Implementation des Systems.
Planung ist ein vielfach untersuchtes Gebiet im Bereich der Künstlichen Intelligenz. Die hier vorgestellte Arbeit ist in diesem Gebiet angesiedelt: es geht um ein Planungssystem, welches auf die Unterstützung der Arbeitsplanerstellung in der computerintegrierten Fertigung abzielt. Der Bereich der computerintegrierten Fertigung ist allerdings nur als ein spezieller Anwendungsbereich für das System zu sehen.
In dieser Arbeit wird eine Kombinationsmöglichkeit von fallbasiertem und induktivem Schliessen, basierend auf k-d- und Entscheidungsbäumen, entwickelt. Dabei wurde versucht, die Vorteile des induktiven Mechanismus, wie z. B. die sehr effiziente Klassifiz ierung und automatische Generierung, in den fallbasierten Mechanismus zu integrieren. Die Aufgabe zerfällt dabei in zwei Teilaufgaben, die im folgenden zusammengefasst werden.
Planabstraktion ist eine Möglichkeit, den Aufwand bei der Suche nach einem Plan zur Lösung eines konkreten Problems zu reduzieren. Hierbei wird eine konkrete Welt mit einer Problemstellung auf eine abstrakte Welt abgebildet. Die abstrakte Problemstellung wird nun in der abstrakten Welt gelöst. Durch die Rückabbildung der abstrakten Lösung auf eine konkrete Lösung erhält man eine Lösung für das konkrete Problem. Da die Anzahl der zur Lösung des abstrakten Problems benötigten Operationen geringer ist und die abstrakten Zustände und Operatoren einer weniger komplexen Beschreibung genügen, wird der Aufwand zur Suche einer konkreten Problemlösung reduziert.
In diesem Beitrag wird ein Ansatz vorgestellt, mit dem Entwurfsprozesse geplant, koordiniert und durchgeführt werden können. In der Projektplanung wird zunächst ein explizites Modell des Entwurfsprozesses erstellt. Dieses wird von einem Workflowmanagementsystem als Basis für die Projektdurchführung benutzt. Projektplanung und -durchführung können miteinander verzahnt werden, d. h. während der Durchführung kann weiter-, um- und feingeplant werden. Während der Projektabwicklung werden kausale Abhängigkeiten zwischen (Teil-) Ergebnissen (wie z. B. Anforderungen, Vorentwürfen und Zeichnungen) fein-granular erfaßt, repräsentiert und verwaltet. Diese Abhängigkeiten werden im wesentlichen automatisch aus dem Prozeßmodell abgeleitet. Durch die Repräsentation der kausalen Abhängigkeiten wird die Verfolgbarkeit des Entwicklungsprozesses erhöht und dessen Ergebnisse dokumentiert. Basierend auf den repräsentierten Abhängigkeiten kann auf Änderungen gezielt reagiert werden, wodurch die Entwicklungskosten sinken. Die entwickelten Techniken werden am Beispiel der Bebauungsplanung erläutert.
In diesem Papier vergleichen wir Hypermedia- und Expertensystemansaetze zur Wissensverarbeitung. Wir zeigen, wie ein integrierter Ansatz die Erstellung von Expertensystemen erleichtert. Das von uns entwickelte und implementierte System ermoeglicht einen "sanften" Entwicklungsprozess ausgehend von initialen Protokollen zu einer semi-formale Strukturierung in Form eines getypten Hypertextes. Dem Hypertext ist eine aufgabenorientierte Struktur aufgepraegt, so dass eine anschliessende Operationalisierung in Form eines Expertensystems vereinfacht wird. Die in diesem Prozess erzeugte Zwischenrepraesentation (der Hypertext) wird von einem Interpreter direkt zur interaktiven Loesung von Problemen benutzt, wobei die einzelnen Aufgaben auf die verschiedenen Sachbearbeiter verteilt werden. Abschliessend erlaeutern wir, dass Hypertext und Expertensysteme nur die Raender eines Kontinuums einer allgemeinen Wissensverarbeitung sind.
In diesem Beitrag wird gezeigt, wie mit Hilfe von Knowledge Engineering Techniken eine komplexe Domäne, die Entwicklung von Bebauungsplänen, modelliert werden kann. Dabei wird insbesondere auf notwendige Erweiterungen bekannter Ansätze eingegangen, die sich aus einer praxisbezogenen Entwurfsdomäne ergeben. Der beschriebene Ansatz unterstützt die Koordination mehrerer Agenten durch die Verwaltung von Abhängigkeiten. Das beschriebene Projekt "Intelligenter Bebauungsplan" integriert GIS/CAD, Hypertext und Expertensystemtechnologie. Die Strukturierung der benötigten Informationen als Hypertext wurde von den beteiligten Stadtplanern gewünscht und ist eine natürliche Repräsentation für Gesetzestexte (und Kommentare), da sie ohnehin viele Querverweise enthalten.