Refine
Year of publication
Document Type
- Preprint (759)
- Article (402)
- Working Paper (119)
- Doctoral Thesis (93)
- Diploma Thesis (47)
- Conference Proceeding (41)
- Book (37)
- Bachelor Thesis (36)
- diplomthesis (28)
- Report (25)
Has Fulltext
- yes (1619)
Is part of the Bibliography
- no (1619)
Keywords
Institute
- Informatik (1619) (remove)
This paper proves several generic variants of context lemmas and thus contributes to improving the tools to develop observational semantics that is based on a reduction semantics for a language. The context lemmas are provided for may- as well as two variants of mustconvergence and a wide class of extended lambda calculi, which satisfy certain abstract conditions. The calculi must have a form of node sharing, e.g. plain beta reduction is not permitted. There are two variants, weakly sharing calculi, where the beta-reduction is only permitted for arguments that are variables, and strongly sharing calculi, which roughly correspond to call-by-need calculi, where beta-reduction is completely replaced by a sharing variant. The calculi must obey three abstract assumptions, which are in general easily recognizable given the syntax and the reduction rules. The generic context lemmas have as instances several context lemmas already proved in the literature for specific lambda calculi with sharing. The scope of the generic context lemmas comprises not only call-by-need calculi, but also call-by-value calculi with a form of built-in sharing. Investigations in other, new variants of extended lambda-calculi with sharing, where the language or the reduction rules and/or strategy varies, will be simplified by our result, since specific context lemmas are immediately derivable from the generic context lemma, provided our abstract conditions are met.
Fraktale Planetengenerierung
(2006)
Wie die Diplomarbeit gezeigt hat, lassen sich zwar ganze Planeten ohne größere Verzerrungen mit Hilfe fraktaler Methoden modellieren. Allerdings stößt die Darstellungsqualität an ihre Grenzen, da sich gängige Level-of-Detail-Algorithmen, wie ROAM bzw. Röttger, nicht einfach an die durch das Surface-Refinement gegebenen Bedingungen anpassen. Insbesondere die Triangulierung durch gleichseitige Dreiecke hat sich als problematisch erwiesen. Ohne diese LOD-Techniken kann aber nur eine relativ geringe Auflösung berechnet werden. Der vorgestellte Level-of-Detail-Algorithmus stellt zwar keinen Ersatz für die obengenannten Verfahren dar. Er bietet aber eine sehr gute Grundlage, denn er schränkt einfach und dadurch sehr schnell den Bereich ein, in dem sich der Betrachter bzw. die virtuelle Kamera befindet. Dies ist vorallem auch deshalb wichtig, weil die bisher entwickelten LOD-Algorithmen nur mit vergleichsweise kleinen Flächen wirklich effizient funktionieren. Eine Kombination aus dem in der Diplomarbeit entwickelten Verfahren und einem ROAM/Röttger-ähnlichen Algorithmus würde deren jeweiligen Schwächen beheben. Die eigentliche Modellierung der Landschaft bzw. der Gebirgszüge lässt sich dagegen problemlos auch auf sphärische Körper übertragen, zumindest wenn man dafür den Plasma-Algorithmus verwendet.
Reasoning about the correctness of program transformations requires a notion of program equivalence. We present an observational semantics for the concurrent lambda calculus with futures Lambda(fut), which formalizes the operational semantics of the programming language Alice ML. We show that natural program optimizations, as well as partial evaluation with respect to deterministic rules, are correct for Lambda(fut). This relies on a number of fundamental properties that we establish for our observational semantics.
Wiki-Systeme im eLearning
(2006)
Wiki-Systeme lassen sich in den verschiedensten Anwendungsgebieten auf angenehme Weise, aufgrund ihrer Open-Source Lizenz, durch die Anreicherung entsprechender Zusatzmodule anpassen. An dieser Stelle muss jedoch bedacht werden, dass durch die Integration vermehrter Funktionen, das charakteristische Merkmal der Wiki-Systeme 'Einfachheit' an Präsenz verlieren kann. Dieses, für Wikis typische Charakteristikum ist eine nicht zu unterschätzende Stärke, da sowohl die Expansion der Enzyklopädie Wikipedia, als auch die zunehmende Anzahl bestehender Wikis im Internet geradezu Beweis dafür sind, dass keine anderen Anwendungen in diesem Verhältnis existiert haben. Würde somit das Wiki, aufgrund der Anpassung an ein vorliegendes Konzept an Einfachheit verlieren, so müssten die Beweggründe des Wiki-Einsatzes noch mal überdacht werden. Ebenso könnte in den Bereichen, in denen die Stärken von Wikis unbrauchbar sind, ein anderes System womöglich bessere Ergebnisse liefern als ein Wiki. Aus diesen Gründen sollte vor einem Wiki-Einsatz überprüft werden, ob die vorhandenen Merkmale und Funktionen eines Wikis mit den eigenen Anforderungen übereinstimmen. Die im Rahmen dieser Arbeit durchgeführte Befragung hat gezeigt, das Wikis größtenteils als Präsentationsmedium, zur gemeinsamen Texterstellung und als Informationsplattform genutzt werden. Es ist deutlich geworden, dass die Integration von Wikis im Lehrbereich geeignete Anwendung findet. Auffallend war, dass zwar bei (fast) allen Befragten Schwierigkeiten aufgetreten sind und sogar erhoffte Erwartungen teilweise nicht erfüllt wurden, dennoch war der größte Teil der Befragten mit dem Wiki-Einsatz zufrieden und bewertete diesen als positiv. Die Art der aufgetretenen Schwierigkeiten und Schwachstellen zeigt, dass den Lehrenden gewisse Anleitungen und Richtlinien für einen erfolgreichen Wiki-Einsatz fehlten. Denn Informationen zum didaktischen Rahmen - in denen Wikis eingesetzt werden können - und wie Wikis eingesetzt werden sollen, waren nicht vorhanden. Somit sollen die - in dieser Arbeit - erarbeiteten Empfehlungen und Kriterien, Lehrende zu einem optimierten Wiki-Einsatz in Lehrveranstaltungen verhelfen. Außerdem sind in dieser Arbeit Vorgaben enthalten, wie Wiki-Einsätze von Lehrenden gestaltet werden können, so dass die häufig auftretenden Probleme vermieden werden können. Die erarbeiteten Empfehlungen und Kriterien sind gleichermaßen aus den positiven, wie auch aus den negativen Erfahrungen der Befragten entstanden. Insbesondere sollen die Empfehlungen und Kriterien, die von den Befragten permanent beklagten auftretenden Schwierigkeiten und Probleme verhindern. Eine Garantie jedoch, dass die Einhaltung dieser Empfehlungen und Kriterien zu einem erfolgreichen Wiki-Einsatz führen und ob keine relevanten Kriterien unbeachtet gelassen sind, kann an dieser Stelle nicht gegeben werden. Ob sich nun die Probleme, die sich mit Wiki-Einsätzen wiederholt ergeben haben, durch die Befolgung dieser Kriterien und Empfehlungen vermeiden lassen, könnte im Rahmen einer nachfolgenden Diplomarbeit untersucht werden, in der Wiki- Einsätze, begleitet werden. Weiterhin sollte im Rahmen einer weiteren Arbeit die Situation der Lernenden und die Auswirkung auf das Lernverhalten in Verbindung mit Wiki-Systemen evaluiert werden, so dass einige Thesen dieser Arbeit belegt oder gar widerlegt werden können.
ALPHA ist die Architektur einer lokationssensitiven Puppe für hydropneumatische Animation. Es ist ein Animations-Eingabegerät. Die Puppe soll ein Objekt repräsentieren, welches animiert werden soll. Ihre Gliedmaßen, welche aus Knochen und Gelenken bestehen, sind beweglich. Sie wird an einen Computer angeschlossen und die gegenwärtige Stellung ihrer Gelenke kann mittels eines ebenfalls entwickelten Treibers von diesem Computer eingelesen werden. Des Weiteren wird erklärt was eine hydropneumatische Animation ist. Die Diplomarbeit weist die folgende Gliederung auf: • Motivation • Technische Grundlagen und State-Of-The-Art-Analyse • Anforderungsanalyse • Das eigene Konzept, die lokationssensitive Puppe (ALPHA) • Evaluation • Ausblick Die Motivation beschäftigt sich mit der Entwicklung der Filmanimation und einiger Errungenschaften in der Laufbahn der Animationstechnologischen Entwicklung. Die technischen Grundlagen beschränken sich auf die Funktionsweise von Messapparaturen, welche als Gelenkstellungssensoren fungieren können. Im Einzelnen sind das der optische Resolver, der Optoencoder und die Kombination von einem Drehpotentiometer und einem Analog/Digital-Wandler. Zur State-Of-The-Art-Analyse gehört die Erläuterung bereits entwickelter Stellungs- und Bewegungsmessender Technologien, wie das Stop-Motion-Verfahren, das Motion-Capturing, das Dinosaur-Input-Device und der Datenhandschuh. Eine Zusammenstellung der Defizite dieser Verfahren schließt dieses Kapitel ab. Die Analyse der Anforderungen an ein zu entwickelndes System ist im Kapitel Anforderungsanalyse zu finden. Zum eigenen Konzept gehört die gesamte Entwicklung einer lokationssensitiven Puppe. Die Puppe ist das Ebenbild des Skeletts eines zu animierendes Objekts. Sie besteht aus mehreren Gliedmaßen, welche an ihren Gelenken beweglich sind. Die Gelenkstellung wird von Potentiometern gemessen, dessen Signal ein A/D-Wandler empfängt. Die Umschaltung der einzelnen Messwerte erfolgt über Analog-Multiplexer. Die gesamte Steuerung der Bauteile und das Auslesen des A/D-Wandler werden durch einen Treiber über den Parallelport eines PCs gesteuert. Die Funktionsweise des Treibers und seine Implementierung werden ebenfalls in diesem Kapitel erläutert. Im Kapitel Evaluation befindet sich eine Bewertung des Konzepts und der Erfüllung der Anforderungsanalyse. Schließlich zeigt der Ausblick die Möglichkeiten der Anwendungen der Puppe und einen Blick in zukünftige Technologien.
We develop a proof method to show that in a (deterministic) lambda calculus with letrec and equipped with contextual equivalence the call-by-name and the call-by-need evaluation are equivalent, and also that the unrestricted copy-operation is correct. Given a let-binding x = t, the copy-operation replaces an occurrence of the variable x by the expression t, regardless of the form of t. This gives an answer to unresolved problems in several papers, it adds a strong method to the tool set for reasoning about contextual equivalence in higher-order calculi with letrec, and it enables a class of transformations that can be used as optimizations. The method can be used in different kind of lambda calculi with cyclic sharing. Probably it can also be used in non-deterministic lambda calculi if the variable x is "deterministic", i.e., has no interference with non-deterministic executions. The main technical idea is to use a restricted variant of the infinitary lambda-calculus, whose objects are the expressions that are unrolled w.r.t. let, to define the infinite developments as a reduction calculus on the infinite trees and showing a standardization theorem.
Simulation von Prüfungsordnungen und Studiengängen mit Hilfe von Constraint-logischer Programmierung
(2006)
In dieser Arbeit wurde versucht die Prüfungsordnung des Bachelorstudiengangs Informatik mit Hilfe der Constraint-logischen Programmiersprache - genauer der Programmiersprache ECLiPSe e zu simulieren und diese auf logische Fehler zu überprüfen. Hierfür wurden die beiden deklarativen Programmierparadigmen, die logische Programmierung und die Constraint-Programmierung, getrennt erläutert, da sie unterschiedliche Techniken bei der Problembehandlung einsetzen. Zunächst wurde als Grundlage die Prädikatenlogik (Kapitel 2), erarbeitet und ausführlich dargestellt. Anschließend wurde die logische Programmierung mit der, auf Prädikatenlogik basierenden, Programmiersprache Prolog erläutert (Kapitel 3). Nach der Erläuterung des logischen Teils wurde die Constraint-Programmierung (Kapitel 4) eingehend erläutert. Damit wurde eine Basis geschaffen, um die Constraint-logische Programmierung zu erläutern. Die Constraint-logische Programmierung (Kapitel 5) wurde als eine Erweiterung der logischen Programmierung um Constraints und deren Behandlung dargestellt. Dabei wurde zunächst ein allgemeiner Ansatz der Constraint-logischen Programmierung (CLP-Paradigma) erläutert. Mit der Einführung der Programmiersprache ECLiPSe, wurden alle Werkzeuge behandelt, die für die Simulation benötigt wurden. Schließlich wurde genauer auf die Modellierung des Problems und seine Implementierung in der Sprache ECLiPSe eingegangen (Kapitel 6). Grundidee der Simulation war, die Regeln der Prüfungsordnung als Constraints zu formulieren, so dass sie formal bearbeitet werden konnten. Hier wurden zwei Arten von Tests durchgeführt: • Constraint-Erfüllbarkeitsproblem: Mit dem ersten Test wurde nach eine Lösung gesucht, in der alle Constraints erfüllt sind. • Constraint-Optimierungsproblem: Hier wurde nach einer optimalen Lösung gesucht unter mehreren Kandidaten, in der alle Constraints erfüllt sind. Fazit: Die Constraint-logische Programmierung ist ein viel versprechendes Gebiet, da sie ein Mittel zur Behandlung kombinatorischer Probleme darstellt. Solche Probleme treten in vielen verschiedenen Berufsfeldern auf und lassen sich sonst nur mit großem Aufwand bewältigen. Beim Auftreten solcher Probleme kann schnell ein konzeptuelles Modell erstellt werden, das sehr einfach in ein ausführbares Programm (Design-Modell) umgewandelt wird. Programm-Modifikation ist erheblich leichter als in den prozeduralen Programmiersprachen.
In der vorliegenden Arbeit wurde ein klinisches Alarmsystem für septische Schock-Patienten aufgebaut. Zweckmäßigerweise wurden hierfür metrische körpereigene Variablen verwendet, da Analysen belegt haben, dass die metrischen Daten besser zur Alarmgenerierung geeignet sind als die symbolischen Daten. Für das Training des adaptiven Neuro-Fuzzy-Systems wurden die Daten der letzten Tage des Intensivaufenthalts verwendet, da in diesem Zeitraum, im Gegensatz zu den ersten Tagen, eine gute Klassifikationsperformanz erreicht wurde. Die daraus resultierenden Alarmhistorien liefern zuverlässige Hinweise für den Intensivmediziner auf besonders kritische Patienten. Durch diese Arbeit wird es möglich werden, den medizinischen SOFA-Score, der aus 10 Variablen zusammengesetzt ist, durch die einfachere Kombination "Systolischer Blutdruck / Diastolischer Blutdruck / Thrombozyten" zu ersetzen mit einer mindestens genauso guten Performanz. Durch die Hinzunahme weiterer Variablen ist es möglich, die Performanz des SOFA-Scores zu überbieten, wobei der SOFA-Score bereits die beste Klassifikationsperformanz unter den getesteten Scores erreichte. Die erzeugten Regeln konnten die Klassifikationsentscheidung sinnvoll untermauern. Im Gegensatz zur automatischen Regelgenerierung war es Ärzten nicht möglich ahnlich sinnvolle formale Regeln zu formulieren.
Wir betrachten in dieser Diplomarbeit die Sicherheit des ringbasierten Public Key Kryptosystems NTRU, das 1996 von J. Hoffstein, J. Pipher und J.H. Silverman vorgeschlagen wurde. Dieses Kryptosystem bietet schnelle Kodierung und Dekodierung in Laufzeit O(n exp 2) bei kleinem Sicherheitsparameter n. Die Sicherheit des Systems beruht auf einem Polynomfaktorisierungsproblem (PFP)im Polynomring Zq[X]/(X exp n -1). Das PFP wurde von Coppersmith und Shamir auf ein Kürzestes Vektor Problem im Gitter Lcs reduziert. Die neuen Ergebnisse dieser Arbeit bauen auf dem Gitter Lcs auf. Wir betrachten die Nachteile von Lcs und konstruieren verbesserte Gitterbasen zum Angriff auf das NTRU-Kryptosystem. Dabei nutzen wir Strukturen des Polynomrings Zq[X]/(X exp n -1) und der geheimen Schlüssel aus. Durch die neuen Gitterbasen wird der Quotient aus der Länge des zweitkürzesten und der Länge des kürzesten Gittervektors vergrößert. Da wir Approximationsalgorithmen zum Finden eines kürzesten Vektors verwenden, beschleunigt dies die Attacken. Wir präsentieren verschiedene Methoden, wie man die Dimension der Gitterbasen verkleinern kann. Durch die verbesserten Gitterattacken erhalten wir eine Cryptanalyse des NTRU-Systems in der vorgeschlagenen mittleren Sicherheitsstufe. Beträgt die Zeit zum Brechen eines Public-Keys unter Verwendung der Coppersmith/Shamir-Basis 1 Monat, so verringert sich die Laufzeit durch einen kombinierten Einsatz der neuen Gitterbasen auf ca. 5 Stunden auf einem Rechner und bei Parallelisierung auf ca. 1:20 Stunde auf 4 Rechnern. Wir erwarten, daß die neuen Methoden NTRU in hoher Sicherheitsstufe n = 167 brechen, obwohl für dieses n bisher nur "schwache" Schlüssel gebrochen wurden. Trotz signifikanter Verbesserungen deuten die experimentellen Ergebnisse auf ein exponentielles Laufzeitverhalten bei steigendem Sicherheitsparameter n hin. Der Laufzeitexponent kann allerdings gesenkt werden, so daß man n größer wählen muß, um Sicherheit gegenüber den neuen Attacken zu erzielen. Auch wenn das NTRU-Kryptosystem nicht vollständig gebrochen wird, verliert es seinen größten Vorteil gegenüber anderen Public Key Kryptosystemen: Die effiziente Kodierung und Dekodierung bei kleinem Sicherheitsparameter n.
Durch zunehmende Vernetzung steigt auch das Interesse elektronische Wahlen mit Hilfe kryptographischer Methoden auf Rechnernetzen zu verwirklichen. In der folgendern Arbeit werden Wahlschemata behandelt, deren Ziel es ist, die gesamte Wahl auf einem Rechnernetz durchzuführen. Die Arbeit beschränkt sich auf Wahlen mit zwei Wahlvorschlägen. Auf Wahlen mit drei oder mehr Wahlvorschlägen wird nicht eingegangen. Im ersten Kapitel wird eine Einleitung in die elektronischen Wahlen gegeben. Im zweiten Kapitel wird das verwendete Modell eines Wahlschemas und die Anforderungen, bezüglich der die Wahlschemata untersucht werden, vorgestellt. Im dritten Kapitel werden die kryptographische Methoden für die folgenden Kapitel vorgestellt. Im vierten Kapitel werden zwei Wahlschemata betrachtet, deren Ansatz es ist, die Stimmen mit Hilfe von Schwellenwerten auf mehrere Behörden zu verteilen. Die Sicherheit der Wahlschemata in diesem Kapitel basiert auf dem diskreten Logarithmus. Im fünften Kapitel werden weitere Wahlschemata betrachet, bei denen die Wähler mit Hilfe von Verschlüsselungsmethoden ihre Stimmen an die Behörden senden. Die Sicherheit dieser Schemata basiert auf dem Wurzelziehen modulo einer zusammengesetzten Zahl mit unbekannter Faktorisierung. In diesem Kapitel lernen wir auch das erste quittungsfreie Wahlschema kennen. Im sechsten Kapitel werden Wahlschemata betrachtet, die das Konzept eines Mixes benutzen. Auch in diesem Kapitel lernen wir ein quittungsfreies Wahlschema kennen.
Durch das Semantische Web soll es Maschinen ermöglicht werden Metadaten zu verstehen. Hierin steckt ein enormes Potenzial, wodurch sich der Umgang mit dem heutigen Internet grundlegend ändern kann. Das Semantische Web steht jedoch noch am Anfang. Es gilt noch einige offene und strittige Punkte zu klären. Das Fundament des Semantischen Webs wird durch das Resource Description Framework (RDF) gebildet, worauf sich diese Arbeit konzentriert. Hauptziel meiner Arbeit war die Verbesserung der Funktionalität und der Nutzungsfreundlichkeit für RDF-Speicher- und Anfragesysteme. Dabei stand die allgemeine Nutzung für ein Informationsportal oder eine Internetsuchmaschine im Vordergrund. Meine Überlegungen hierzu wurden in dem Speichersystem RDF-Source related Storage System (RDF-S3) und der darauf aufsetzenden Anfragesprache easy RDF Query Language (eRQL) umgesetzt. Insbesondere wurden die folgende Kernpunkte berücksichtigt: • Allgemeine Nutzbarkeit der Anfragesprache, sodass auch unerfahrene Nutzer einfach und schnell Anfragen erstellen können. Um auch von unerfahrenen Nutzern bedient werden zu können, konnte keine komplexe Syntax verwendet werden, wie dies bei den meisten existierenden Anfragesprachen der Fall ist. Es wurde sich daher an Anfragesprachen existierender Suchmaschinen angelehnt. Entsprechend bilden sogenannte Ein-Wort-Anfragen, die den Suchbegriffen entsprechen, eine wichtige Rolle. Um gezieltere Anfragen stellen zu können, sind jedoch die Schemainformationen der gespeicherten Daten sehr wichtig. Hier bietet bereits die RDF Query Language (RQL) viele hilfreiche Kurzschreibweisen, an die sich eRQL anlehnt. • Bereitstellung glaubwürdiger Metadaten, sodass den Anfrageergebnissen vertraut werden kann. Das Semantische Web ist ein verteiltes System, wobei keine Kontrolle auf die Datenquellen ausgeübt werden kann. Den Daten kann daher nicht ohne weiteres vertraut werden. Anders ist dies mit Metadaten, die von eigenen Systemen erzeugt wurden. Man weiß wie sie erzeugt wurden und kann ihnen entsprechend vertrauen. Wichtig ist eine klare Trennung zwischen den Daten und den Metadaten über diese, da sonst eine absichtliche Nachbildung der Metadaten von außen (Suchmaschinen-Spamming) das System unterlaufen kann. Für die Glaubwürdigkeit von Anfrageergebnissen sind vor allem die Herkunft der Daten und deren Aktualität entscheidend. In den umgesetzten Entwicklungen zu dieser Arbeit wurde sich daher auf diese Informationen konzentriert. In RDF-S3 wird die Verknüpfung der RDF-Aussage mit ihren Herkunftsdaten im Speichermodell abgebildet. Dies ermöglicht eine gezielte Ausnutzung dieser Daten in eRQL-Anfragen. Durch den sogenannten Dokumenten-Modus bietet eRQL die Möglichkeit Anfragen auf eine Gruppe von Quellen zu begrenzen oder bestimmte unglaubwürdige Quellen auszuschließen. Auch können die Herkunftsdaten das Anfrageergebniss erweitern und dadurch das Verständnis und die Glaubwürdigkeit für das Ergebnis erhöhen. • Anfrageergebnisse können um ihre Umgebung erweitert werden, sodass sie besser verstanden werden können. Für eRQL-Anfragen besteht die Möglichkeit die Umgebnung zu den Treffern (RDF-Aussagen) mit zu berücksichtigen und im Ergebnis mit anzuzeigen. Dies erhöht das Verständnis für die Ergebnisse. Weiterhin ergeben sich hierdurch neue Möglichkeiten wie das Auffinden von Pfaden zwischen Teilergebnissen einer Anfrage. • Unterstützung und Kombination von Daten- und Schemaanfragen. Mit eRQL werden beide Anfragetypen unterstützt und können sinnvoll miteinander kombiniert werden. Die Einbeziehung der Umgebung ermöglicht für die Kombination von Daten- und Schemaanfragen neue Möglichkeiten. Dabei werden sowohl Daten- als auch Schemaanfragen (oder deren Kombination) durch das Speichermodell von RDF-S3 optimal unterstützt. Weitere nennenswerte Eigenschaften von RDF-S3 und eRQL sind: • Durch die Möglichkeit gezielt einzelne Quellen wieder zu entfernen oder zu aktualisieren, bietet RDF-S3 eine gute Wartbarkeit der gespeicherten Daten. • RDF-S3 und eRQL sind zu 100 % in Java entwickelt, wodurch ihr Einsatz unabhängig vom Betriebssystem möglich ist. • Der Datenbankzugriff erfolgt über JDBC, wobei keine besonderen Eigenschaften für die verwendete RDBMS nötig sind . Dies sorgt für eine hohe Portabilität. RDF-S3 und eRQL wurden als Beispielimplementierungen entwickelt. Für einen produktiven Einsatz sollten die Systeme an die gegebene Hardware-Umgebung und Anwendungsfall angepasst werden. In Kapitel 6 werden Erweiterungen und Änderungsmöglichkeiten genannt, die je nach Situation geprüft werden sollten. Ein noch vorhandenes Problem für einen produktiven Einsatz auf großen Datenmengen ist die aufwendige Berechnung der Umgebungen für Anfrageergebnisse. Die Berechnung von Umgebungen im Vorhinein könnte hier eine Lösung sein, die jedoch durch die Möglichkeit der Einschränkung auf glaubwürdige Quellen erschwert wird.
RDF is widely used in order to catalogue the chaos of data across the internet. But these descriptions must be stored, evaluated, analyzed and verified. This creates the need to search for an environment to realize these aspects and strengthen RDFs influence. InterSystems postrelational database Caché exposes many features that are similar to RDF and provide persistence with semantic part. Some models for relational databases exist but these lack features like object-oriented data-structures and multidimensional variables. The aim of this thesis is to develop an RDF model for Caché that saves RDF data in an object-oriented form. Furthermore an interface for importing RDF data will be presented and implemented.
Wir haben in dieser Arbeit einige Probleme auf Objekten betrachtet, deren Struktur wohlgeformten Klammerworten entspricht. Dies waren spezielle Routing-Probleme, das Umformen und Auswerten algebraischer Ausdrücke, sowie die Berechnung korrespondierender Symbole zweier Ausdrücke. Eine effiziente Lösung dieser Probleme gelang durch einen rekursiven Divide-and-Conquer Ansatz, der auf Grund der “natürlichen” rekursiven Definition der betrachteten Objekte auch nahe liegt. Im Divide-Schritt wurde das jeweilige Problem in viele wesentlich kleinere Teilprobleme zerlegt, so daß die gesamte Laufzeit des Algorithmus asymptotisch gleich der des Divide-Schrittes und des Conquer-Schrittes blieb. Das Zerlegen der Probleme erfolgte im wesentlichen unter Anwendung bekannter Routing-Algorithmen für monotone Routings und Bit-Permute-Complement Permutationen. Im Conquer-Schritt für das Klammerrouting und das Knotenkorrespondenzproblem wurden nur die Datenbewegungen des Divide-Schrittes rückwärts ausgeführt. Für das Tree-Contraction-Problem wurde dagegen im Conquer-Schritt die Hauptarbeit geleistet. Die Methode der Simulation eines PRAMAlgorithmus durch die Berechnung seiner Kommunikationsstruktur und eine entsprechende Umordnung der Datenelemente konnte sowohl für eine effiziente Implementierung des Tree-Contraction Conquer-Schrittes auf dem Hyperwürfel als auch für die Konstruktion eines einfachen NC1-Schaltkreises zum Auswerten Boolescher Formeln angewandt werden. In einer Implementierung eines Divide-and-Conquer Algorithmus auf einem Netzwerk müssen den generierten Teilproblemen für ihre weitere Bearbeitung Teile des Netzwerks zugeordnet werden. Um die weiteren Divide-Schritte nach der gleichen Methode ausführen zu können, sollte die Struktur dieser Teilnetzwerke analog zu der des gesamten Netzwerks sein. Wir haben das Teilnetzwerk-Zuweisungsproblem für den Hyperwürfel und einige hyperwürfelartige Netzwerke untersucht. Der Hyperwürfel und das Butterfly-Netzwerk können so in Teilnetzwerke vorgegebener Größen aufgeteilt werden, daß nur ein geringer Anteil der Prozessoren ungenutzt bleibt, und die Teilprobleme können schnell in die ihnen zugeordneten Teilnetzwerke gesendet werden. Unter Anwendung dieser Teilnetzwerk-Zuweisungs-Algorithmen haben wir optimale Implementierungen für eine große Klasse von Divide-and-Conquer Algorithmen auf dem Hyperwüfel und hyperwürfelartigen Netzwerken erhalten. Wir konnten garantieren, daß die Laufzeit der gesamten Implementierung des Divide-and-Conquer Algorithmus asymptotisch gleich der Laufzeit ist, die sich aus dem gegebenen Divide-Schritt und Conquer-Schritt ergibt, wenn man alle mit der Teilnetzwerk-Zuweisung verbundenen Probleme außer acht läßt. Wir haben die hier vorgestellte allgemeine Divide-and-Conquer Implementierung im optimalen Teilwürfel-Zuweisungs-Algorithmus, im Klammerrouting-Algorithmus, der selbst ein wesentlicher Teil des Tree-Contraction-Algorithmus ist, und im Algorithmus für das Knotenkorrespondenzproblem eingesetzt.
Moderne Softwaresysteme gewinnen zunehmend an Komplexität und bestehen inzwischen aus einer für Menschen nicht mehr überschaubaren Menge an Quellcode-Zeilen. Die Problematik könnte damit zusammenhängen, dass Programmiersprachen als Sprachen linear orientiert sind. Es stellt sich die Frage, ob graphische Darstellungen besser geeignet wären. Durch das Hinzufügen einer zweiten Dimension könnten Vererbungshierarchien und vernetzte Zusammenhänge – wie beispielsweise Funktionsaufrufe – besser visualisiert und durch das Ausblenden von Implementierungsdetails auf einen Blick erfasst werden. In dieser Arbeit werden Möglichkeiten der Visualisierung untersucht, bei denen der Sourcecode graphisch dargestellt wird und bei denen eine Änderung in der graphischen Darstellung in einem veränderten Sourcecode resultiert. Die Kernfrage, die in dieser Arbeit untersucht werden soll, ist, ob graphisch orientierte Tools die Programmierung wesentlich beschleunigen können. Dabei wird hauptsächlich auf die Visualisierung der vernetzten Strukturen von Klassen und Methoden Wert gelegt sowie auf die automatische Generierung. Ohne eine Automatisierung muss zu viel Zeit investiert werden, um die Darstellung zu erzeugen und mit geänderten Code konsistent zu halten. Dabei werden bisherige Konzepte wie die graphische Modellierungssprache UML beschrieben und die Umsetzung in unterschiedlichen Programmen untersucht. Die Abbildung von UML-Diagrammen in Sourcecode und von Sourcecode in UMLDiagramme bereitet jedoch einige Probleme, da viele Konzepte von UML zu stark abstrahieren und eine Abbildung nicht eindeutig und teilweise nicht möglich ist. Aus diesem Grund wird aufbauend auf den vorhandenen Möglichkeiten ein neues Konzept entwickelt, das prototypisch implementiert wird. Dabei werden viele Elemente von UML genutzt und auf die gestellten Anforderungen angepasst, sodass eine automatische graphische Darstellung parallel zur Programmierung in Textform möglich ist.
Konzept und Implementierung eines Systems zur Visualisierung von Zelldifferenzierungssimulationen
(2004)
Ziel der vorliegenden Arbeit ist es, zunächst den Stand der Forschung auf dem Gebiet der Zelldifferenzierungssimulatoren und –visualisierungen zu ermitteln. Davon ausgehend wurde ein eigenes Konzept für ein Visualisierungssystem entwickelt. Es wurde in einer prototypischen Implementierung mit dem Titel D-VISION umgesetzt. Die Recherchearbeiten ergaben, dass in der Forschung bisher hauptsächlich biochemische Reaktions-Netzwerke, die mithilfe von Differentialgleichungen gelöst werden, für Zell-Simulationen benutzt werden. Der dabei verwendete Abstraktionsgrad der repräsentierten Zellen ist zu hoch, um die gestellten Anforderungen einer realistischen 3D-Darstellung der Zellen zu erfüllen. Die grundlegende Idee, die Zelldifferenzierung aufgrund ihrer Genexpression also der in den Zellen vorhandenen Substanzen zu beschreiben, wurde als Basis für das Konzept für D-VISION verwendet. Die Daten, die visualisiert werden sollen, sind die Zellen selbst, die Substanzen, die in der Zelle vorhanden sind, Substanzen an der Zellhülle und die Gene, die in einer Zelle aktiv sind. Die Visualisierung wird durch Darstellung von aufeinander folgenden Standbildern vorgenommen, in denen navigiert werden kann. Zellen werden in Form von Kugeln repräsentiert, die, um eine realistischere Ansicht zu erreichen, so deformiert werden, dass sich die Kugeloberflächen aneinander angleichen. Die Deformation bietet nicht nur in der Ansicht von außen ein natürliches Bild. Auch die Möglichkeit, ein Schnittbild durch den Zellhaufen zu erzeugen, ergibt durch die Deformation eine mit realen Mikroskopieaufnahmen vergleichbare Darstellung. Ein solches zweidimensionales Schnittbild kann durch Verschieben der Schnittebene eine stufenlose Fahrt durch die Schichten des simulierten Zellhaufens zeigen. Neben den Zellen selbst, liegt ein besonderes Augenmerk auf der Darstellung von Substanzkonzentrationen. Sie werden durch kleine Objekte (Tiny Cubes) dargestellt. Allerdings unterscheidet sich ihr Einsatz von der bisher verbreiteten Methode, volumetrische Daten durch Farbskalen zu repräsentieren. Sie geben die Stoffmengen allein durch ihre Anzahl wieder. Um Zusammenhänge mit der Zelldifferenzierung erkennbar zu machen, können bis zu drei verschiedene Stoffe gleichzeitig angezeigt werden. Der Benutzer hat die Möglichkeit, Regeln bezüglich des Zustandes von Zellen zu formulieren. Die so definierten Zellklassen, fassen Zellen gleichen Typs zusammen und ermöglichen so die Darstellung von Zelldifferenzierung. D-VISION wurde konzipiert, um auch mit Simulatoren zusammen zu arbeiten, die Grid Computing für ihre Berechnungen nutzen. Ein separater Datenaufbereiter soll die Simulationsdaten verwalten. Der entwickelte Prototyp ist flexibel genug, um auch mit einfacheren Simulatoren zusammenzuarbeiten. Auf welchem Weg die visualisierten Daten gewonnen werden, spielt keine Rolle. Auch reine Messwerte, können zu guten Bildern führen.
Die Darstellung photorealistischer Szenen durch Computer hat in Folge der Entwicklung immer effizienterer Algorithmen und leistungsfähigerer Hardware in den vergangenen Jahren gewaltige Fortschritte gemacht. Täuschend echt simulierte Spezialeffekte sind aus kaum einem Hollywood-Spielfilm mehr wegzudenken und sind zum Teil nur sehr schwierig als computergenerierte Bilder zu erkennen. Aufgrund der Komplexität von lebenden Organismen gibt es allerdings noch kein einwandfreies Verfahren, welches ein komplettes Lebewesen realistisch, sei es statisch oder in Bewegung, mit dem Computer simulieren kann. Im Bereich der Animation sind wirkungsvolle Resultate zu verzeichnen, da das Skelett eines Menschen oder Wirbeltieres durch geeignete Methoden simuliert und Bewegungen damit täuschend echt mit dem Computer nachgebildet werden können. Die Schwierigkeit, eine komplett realistische Visualisierung eines Lebewesens zu erreichen, liegt allerdings in der Darstellung weiterer Strukturen eines Organismus, die zwar nicht direkt sichtbar sind aber dennoch Einfluss auf die sichtbaren Bereiche haben. Bei diesen Strukturen handelt es sich um Muskel- und Fettgewebeschichten. Die Oberfläche von Figuren wird durch Muskeln sowohl in der Bewegung als auch in statischen Positionen deutlich sichtbar verändert. Dieser Effekt wird bisher bei der Visualisierung von Lebewesen nur unzureichend beachtet, was zu den aufgeführten nicht vollständig realistisch wirkenden Ergebnissen führt. Bei der Simulation von Muskeln wurden bis heute verschiedene Muskelmodelle entwickelt, die einen Muskel als Gesamtheit in Hinblick auf seine grundsätzlichen physikalischen Eigenschaften, wie z. B. Kraftentwicklung oder Kontraktionsgeschwindigkeit, sehr gut beschreiben. Viele Effekte des Muskels, die sich hauptsächlich auf einer tiefer liegenden Ebene abspielen, sind bis heute noch nicht erforscht, was folglich auch keine entsprechende Simulation auf dem Computer zulässt. Beschrieben werden die verschiedenen Muskeltypen (Skelett-, glatte und Herzmuskulatur) und Muskelformen (spindelförmige, einfach/doppelt gefiedert, etc.). Des weiteren wird auf die unterschiedlichen Muskelfasertypen (FTO, STO, usw.) mit ihren Eigenschaften und Funktionen eingegangen. Weitere Themen sind der strukturelle Aufbau eines Skelettmuskels, der Kontraktionsmechanismus und die Ansteuerung durch Nervenreize. Im Bereich Biomechanik, also der Forschung nach den physikalischen Vorgängen im Muskel, führte die Komplexität der Struktur und Funktionsweise eines Muskels zu einer ausgedehnten Vielfalt an Forschungsarbeiten. Zahlreiche Effekte, die bei einem arbeitenden Muskel beobachtet werden können, konnten bis heute noch nicht erklärt werden. Die Erkenntnisse, die für diese Arbeit relevant sind, sind jedoch in einem ausreichenden Maße erforscht und durch entsprechende mathematische Modelle repräsentierbar. Die Mechanik, die einem Muskel zugrunde liegt, wird auf diesen Modelle aufbauend beschrieben. Neben den Größen, die im später vorgestellten Modell verwendet worden sind, wird auch auf sonstige für biomechanische Untersuchungen relevante Eigenschaften eingegangen. Weiterhin wird dargestellt, wie verschiedene Kontraktionen (Einzelzuckung, Tetanus) mechanisch funktionieren. Für Muskelarbeit und Muskelleistung werden verschiedene Diagramme vorgestellt, welche die Zusammenhänge zwischen den physikalischen Größen Kraft, Geschwindigkeit, Arbeit und Leistung zeigen. Nach Vorstellung der ISOFIT-Methode zur Bestimmung von Muskel-Sehnen-Eigenschaften werden mathematische Formeln und Gleichungen zur Beschreibung von Kraft-Geschwindigkeits- und Kraft-Längen-Verhältnissen sowie der serienelastischen Komponente und der Muskelaktivierung, die zur Bewegungsgleichung führen, angegeben. Es folgen weitere mathematische Funktionen, welche die Aktivierungsvorgänge unterschiedlicher Muskelkontraktionen beschreiben, sowie das Muskelmodell nach Hill, welches seit vielen Jahren eine geeignete Basis für Forschungen im Bereich der Biomechanik darstellt. Bezüglich der Computergraphik wird ein kurzer Abriss gegeben, wie künstliche Menschen modelliert und animiert werden. Eine Übersicht über verschiedene Methoden zur Repräsentation der Oberfläche von Körpern, sowie deren Deformation unter Berücksichtigung der Einwirkung von Muskeln gibt die State-of-the-Art-Recherche. Neben den Oberflächenmodellen (Starrkörperdeformation, lokale Oberflächen-Operatoren, Skinning, Konturverformung, Deformation durch Keyshapes) werden auch Volumen- (Körperrepräsentation durch Primitive, Iso-Flächen) und Multi-Layer-Modelle (3-Layer-Modell, 4-Layer-Modell) vorgestellt und deren Vor- und Nachteile herausgearbeitet. Eine geeignete Repräsentation der Oberfläche, die Verformungen durch Muskelaktivität einbezieht, wurde durch die Benutzung von Pneus gekoppelt mit der Quaoaring-Technik gefunden. Dieses Verfahren, das auf Beobachtungen aus der Biologie basiert und zur Darstellung von organischen Körpern benutzt wird, ist ausgesprochen passend, um einen Muskel-Sehnen-Apparat graphisch darzustellen, handelt es sich doch hierbei auch um eine organische Struktur. Um die beiden Teilmodelle Simulation und Visualisierung zu verbinden, bietet sich die aus der Biomechanik bekannte Actionline an, die eine imaginäre Kraftlinie im Muskel und der Sehne darstellt. Die bei der Quaoaring-Methode verwendete Centerline, welches die Basis zur Modellierung des volumenkonstanten Körpers ist, kann durch die Kopplung an die physikalischen Vorgänge zu einer solchen Actionline erweitert werden. Veränderungen in der Länge und des Verlaufs der Actionline z. B. durch Muskelkontraktion wirken sich dadurch direkt auf die Form des Muskels aus und die Verbindung zur Visualisierung ist hergestellt.
Diese Diplomarbeit beschäftigt sich sowohl mit der Akquisition, der Verwaltung und der winkelabhängigen, spektralen Reflexionsfunktion BRDF (Bidirectional Reflectance Distribution Function) und BTFs (Bidirection Texture Functions) von einigen ausgewählten realistischen Materialoberflächen bei fester Beleuchtung, als auch der Generierung der BTFs aus vorhandenen BRDFs und BTFs und der Anwendung der Beschreibung von Oberflächen mittels BRDFs und BTFs bei Erzeugungen von 3D-Szenen. Im Rahmen dieser Diplomarbeit werden Konzepte für eine effektivere Nutzung von BTFs in der photorealistischen Bilderzeugung entwickelt und prototypisch umgesetzt. Der Fokus liegt dabei auf einer vereinfachten Synthese von BTFs aus vorhandenen BRDF- und BTF-Daten, sowie in einer effizienten Nutzbarmachung dieser Informationen für Rendering-Prozesse.