Kaiserslautern - Fachbereich Informatik
Refine
Year of publication
Document Type
- Report (28) (remove)
Language
- German (28) (remove)
Has Fulltext
- yes (28)
Faculty / Organisational entity
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.
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.
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.
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.
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.
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 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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.