Filtern
Erscheinungsjahr
- 2012 (22) (entfernen)
Dokumenttyp
- Diplomarbeit (22) (entfernen)
Schlagworte
- 101companies (1)
- API Analysis (1)
- API Migratiom (1)
- ArcGIS (1)
- Aspect-orientation (1)
- Aspekt-Orientierung (1)
- Automatisches Beweisverfahren (1)
- Beschreibungslogik (1)
- CamInSens (1)
- Design Pattern (1)
Software Projekte nutzen typischerweise mehrere externe Programmbibliotheken. Die Schnittstelle, die solch eine Programmbibliothek zur Verfügung stellt, wird als API (application programming interface) bezeichnet. APIs werden üblicherweise laufend weiterentwickelt, was es notwendig macht, dass die Anwendungen, welche sie verwenden, entsprechend modifiziert werden. Zudem kann es kann vorkommen, dass eine Programmbibliothek durch eine andere ersetzt werden soll, was ebenfalls zur Folge hat, dass die Anwendungen, wo die API verwendet wurde, modifiziert werden müssen. Den Vorgang eine Anwendung so zu modifizieren, dass eine andere API verwendet wird, bezeichnet man als API Migration. Manuelle API Migration ist eine mühselige und zeitintensive Aufgabe, deshalb ist automatische API Migration ein aktives Forschungsfeld. Ein verwandtes Forschungsgebiet ist API Analyse, welches Daten zur Verfügung stellt, die helfen können Werkzeuge für API Migration zu entwickeln. Die hier vorliegende Arbeit behandelt Techniken und Technologien für die Entwicklung von Werkzeugen für API Analyse und API Migration. Die Ergebnisse werden als Design Patterns präsentiert, welche auf unseren Erfahrungen mit API Analyse und API Migration innerhalb des Software Languages Teams basieren.
In dieser Arbeit wird der Nutzen von GPGPU (Allzweckberechnungen auf Grafikprozessoren) zur robusten Deskription von natürlichen, markanten Bildmerkmalen mit Hilfe der Grafikprozessoren mobiler Geräte bewertet. Dazu wurde der SURF-Deskriptor [4] mit OpenGL ES 2.0/GLSL ES 1.0 implementiert und dessen Performanz auf verschiedenen mobilen Geräten ausgiebig evaluiert. Diese Implementation ist um ein Vielfaches schneller als eine vergleichbare CPU-Variante auf dem gleichen Gerät. Die Ergebnisse belegen die Tauglichkeit moderner, mobiler Grafikbeschleuniger für GPGPU-Aufgaben, besonders für die Erkennungsphase von NFT-Systemen (Tracking mit natürlichen, markanten Bildmerkmalen), die in Augmented-Reality-Anwendungen genutzt werden. Die nötigen Anpassungen am Algorithmus des SURF-Deskriptors, um diesen effizient auf mobilen GPUs nutzen zu können, werden dargelegt. Weiterhin wird ein Ausblick auf ein GPGPU-gestütztes Tracking-Verfahren gegeben.
Quadrokopter sind Helikopter mit vier in einer Ebene angeordneten Rotoren. Kleine unbemannte Modelle, die oft nur eine Schubkraft von wenigen Newton erzeugen können, sind im Spielzeug- und Modellbaubereich beliebt, werden aber auch von Militär und Polizei als Drohne für Aufklärungs- und Überwachungsaufgaben eingesetzt. Diese Diplomarbeit befasst sich mit den theoretischen Grundlagen der Steuerung eines Quadrokopters und entwickelt darauf aufbauend eine kostengünstige Steuerplatine für einen Modellquadrokopter.
Die theoretischen Grundlagen enthalten eine Untersuchung der Dynamik eines frei fliegenden Quadrokopters, bei der Bewegungsgleichungen hergeleitet und mit den Ergebnissen verglichen werden, die in "Design and control of quadrotors with application to autonomous flying" ([Bou07]) vorgestellt wurden. Weiterhin wird die Funktionsweise verschiedener Sensoren beschrieben, die zur Bestimmung der aktuellen räumlichen Ausrichtung geeignet sind, und es werden Verfahren besprochen, mit denen die Ausrichtung aus den Messwerten dieser Sensoren abgeschätzt werden kann. Zusätzlich wird in den Schiefkörper der Quaternionen eingeführt, in dem dreidimensionale Rotationen kompakt dargestellt und effizient verkettet werden können.
Daran anschließend wird die Entwicklung einer einfachen Steuerplatine beschrieben, die sowohl einen autonomen Schwebeflug als auch Fernsteuerung ermöglicht. Die Platine wurde auf einem X-Ufo-Quadrokopter der Firma Silverlit entwickelt und getestet, der daher ebenfalls vorgestellt wird. Die eingesetzten Bauteile und deren Zusammenspiel werden besprochen. Dabei ist insbesondere die WiiMotionPlus hervorzuheben, die als kostengünstiges Gyrosensormodul verwendet wird. Daneben werden verschiedene Aspekte der Steuersoftware erläutert: die Auswertung der Sensordaten, die Zustandsschätzung mit Hilfe des expliziten komplementären Filters nach Mahony et al. ([MHP08]), die Umsetzung des Ausrichtungsreglers sowie die Erzeugung der Steuersignale für die Motoren. Sowohl die Steuersoftware als auch Schaltplan und Platinenlayout der Steuerplatine liegen dieser Arbeit auf einer CD bei. Schaltplan und Platinenlayout sind zusätzlich im Anhang der Arbeit abgedruckt.
Augmented Reality bedeutet eine reale Umgebung mit, meistens grafischen, virtuellen Inhalten zu erweitern. Oft sind dabei die virtuellen Inhalte der Szene jedoch nur ein Overlay und interagieren nicht mit den realen Bestandteilen der Szene. Daraus ergibt sich ein Authentizitätsproblem für Augmented Reatliy Anwendungen. Diese Arbeit betrachtet Augmented Reality in einer speziellen Umgebung, mit deren Hilfe eine authentischere Darstellung möglich ist. Ziel dieserArbeitwar die Erstellung eines Systems, das Zeichnungen durch Techniken der Augmented Reality mit virtuellen Inhalten erweitert. Durch das Anlegen einer Repräsentation soll es der Anwendung dabei möglich sein die virtuellen Szeneelementemit der Zeichnung interagieren zu lassen. Dazu wurden verschiedene Methoden aus den Bereichen des Pose Tracking und der Sketch Recognition disktutiert und für die Implementierung in einem prototypischen System ausgewählt. Als Zielhardware fungiert ein Android Smartphone. Kontext der Zeichnungen ist eine Dungeon Karte, wie sie in Rollenspielen vorkommt. Die virtuellen Inhalte nehmen dabei die Form von Bewohnern des Dungeons an, welche von einer Agentensimulation verwaltet werden. Die Agentensimulation ist Gegenstand einer eigenen Diplomarbeit [18]. Für das Pose Tracking wurde ARToolkitPlus eingesetzt, ein optisches Tracking System, das auf Basis von Markern arbeitet. Die Sketch Recognition ist dafür zuständig die Inhalte der Zeichnung zu erkennen und zu interpretieren. Dafür wurde ein eigener Ansatz implementiert der Techniken aus verschiedenen Sketch Recognition Systemen kombiniert. Die Evaluation konzentriert sich auf die technischen Aspekte des Systems, die für eine authentische Erweiterung der Zeichnung mit virtuellen Inhalten wichtig sind.
Ein neueres Thema innerhalb des Forschungsbereichs Semantic Web behandelt die Verarbeitung von Anfragen über Linked Open Data (LOD). Wie in der Literatur bereits diskutiert wurde, lässt sich der losen Zergliederung innerhalb des "Web of Data" und dessen Datenquellen durch moderne föderierte Verarbeitungsstrategien bezüglich eingehender Anfragen begegnen. Dieser Ansatz ist jedoch umso mehr abhängig von aktuellen statistischen Informationen (Datenstatistiken) über sämtliche der benutzten Datenquellen einerseits, und genauen Schätzungen von Kardinalitäten und Selektivitäten andererseits. Da föderierte Datenquellen im Allgemeinen keine Auskunft über die Statistik der von ihnen verwalteten Daten geben, schlagen sich Änderungen an diesen Daten nicht automatisch in den zentralen Datenstatistikkatalogen nieder - die verwalteten Datenstatistiken werden obsolet. In der vorliegenden Arbeit wird die Erweiterung eines RDF-basierten Query-Federators beschrieben, die die Obsoleszenz von zentral verwalteten Datenstatistiken beurteilen und eine gegebenenfalls notwendige Aktualisierung einzelner Datenstatistiken unternehmen können soll. Als Grundlage dazu dient die Beobachtung auftretender Fehler in der Kardinalitätsschätzung ausgewerteter Queries. Eine Evaluation des Systems wird anschließend beschrieben. Die Ergebnisse zeigen die prinzipielle Richtigkeit der zugrundeliegenden Überlegungen, die praktische Anwendbarkeit kann jedoch nicht überzeugend demonstriert werden. Die Wiederverwendung der entwickelten Systemerweiterung für vielversprechendere Ansätze erscheint jedoch möglich und wird diskutiert.
Computer unterstützen Menschen zunehmend in Alltagssituationen. Ihre fortwährend voranschreitende Miniaturisierung erlaubt die Erschließung weiterer Einsatzmöglichkeiten und trägt zu einer wachsenden Bedeutung und Verbreitung in der Gesellschaft bei. Längst sind solche Systeme in vielerlei Alltagsgegenständen Realität und ihre Mobilität spielt eine immer größer werdende Rolle: von Laptops über Smartphones und Tablets hin zu am oder im Körper tragbaren Systemen (engl. wearable computing) wie Hörgeräte und Pulsuhren, unterstützen sie den Menschen aktiv und kontextsensitiv in ihrem Alltag.
Als ein Teilgebiet des wearable computing gilt die Entwicklung von Head-mounted Displays (kurz HMD). Das sind Helme oder Brillen die dem Benutzer auf einer oder mehreren Darstellungsflächen computergenerierte Bilder (virtual reality) oder mit Zusatzinformationen versehene Aufnahmen der Umgebung (enhanced reality) präsentieren. Aktuell sind HMDs welche LC-Displays nutzen weit verbreitet, innovativer sind solche welche das Bild direkt auf die Netzhaut des Benutzers projizieren. Neuste Entwicklungen deuten auf weitere Miniaturisierung des Konzepts, hin zu Kontaktlinsen mit integriertem Bildschirm. Für die Sammlung dazustellender Daten werden eine Vielzahl Sensoren hinzugezogen, wie Head-Tracker oder GPS. Auch durch Erweiterungen im Bereich der Bedienbarkeit - zum Beispiel durch Spracheingabe über ein Mikrofon - und die Steigerung des Immersionsgefühls - zum Beispiel durch stereoskopische Bilder oder integrierte Kopfhörer - wandeln sich HMDs von einfachen Anzeigen hin zu stetig besser ausgerüsteten Geräten mit ständig wachsenden Einsatzgebieten. Längst werden HMDs in einer Vielzahl von Feldern benutzt. rnIm Vordergrund dieser Arbeit steht der Entwurf und die Erstellung einer Anwendung für das Betriebssystem Apple iOS 5, als softwaretechnischen Beitrag zur Entwicklung eines HMD auf Basis von Apple-Mobilgeräten mit hochauflösendem Retina Display. Das RollerCoaster2000-Projekt soll zur Darstellung des grafischen Inhalts genutzt werden, aus Gründen einer freien Lizenz, frei zugänglichen Quellcodes sowie einer effizienten OpenGL-ES-Portierung. Dabei soll ein leichter Austausch oder die Erweiterung dieses grafischen Grundgerüsts gegeben sein um die Einsatzmöglichkeiten des HMD zu erhöhen. Über die reine Nutzung als Darstellungsmedium soll die erstellte Anwendung die vielfältigen, sensorischen Fähigkeiten und Vernetzungsmöglichkeiten aktueller Apple-Endgeräte nutzen um mehrere Geräte zu einer Datenbrille zu verbinden und die Kopfbewegungen des Benutzers auszuwerten, in der virtuellen Szene abzubilden und zwischen den Geräten synchron zu halten. Zur leichten Orientierung des Benutzers während der Bedienung soll außerdem auf die integrierte Gerätekamera zugegriffen werden.
Um die Realisierung einer den Kriterien gerecht werdenden Anwendung zu ermöglichen wird in dieser Arbeit in den Bereich der iOS-Entwicklung eingeführt. Zuerst erfolgt eine Einleitung in die historischen Entwicklungen auf dem Gebiet der mobilen Entwicklung für Apple-Mobilgeräte, von der Entstehung des objektorientierten Paradigmas hin zur heutigen Ausprägung des iOS-SDK. Letzteres ergibt sich dabei aus der Summe einer Vielzahl, stark kohärenter Komponenten. Dazu gehören die Grundsteine einer jeden iOS-Applikation, die objektorientierte, dynamische und streng typisierte Sprache Objective-C sowie den durch Apple an die eigenen Bedürfnisse angepassten LLVM-Compiler und die von Apple angepasste LLVM-Laufzeitumgebung. Zudem sind das Cocoa Framework und die Entwicklungsumgebung Xcode, die zur Erstellung mobiler Anwendungen von Apple entwickelt wurden, Gegenstand dieser Arbeit. Anhand der gewonnenen Kenntnisse im Bereich der mobilen Anwendungsentwicklung werden Anforderungen an eine Anwendung für ein HMD erhoben und die Erstellung einer, diesen Kriterien genügenden, Software beschrieben.
Zur Entwicklung von Webanwendungen und Webseiten existieren viele verschiedene Technologien und Konzepte. Jede dieser Technologien implementiert bestimmte Anforderungen, wie z.B. das Erzeugen von Inhalten oder die Kommunikation zwischen Client und Server. Verschiedene Konzepte helfen, diese Technologien innerhalb einer Webanwendung zusammenzufügen. Nicht zuletzt Architekturstile und -muster gehören zu diesen Konzepten. Die Diplomarbeit beschreibt einen Ansatz zur Erstellung einer Taxonomie dieser Technologien und Konzepte unter Zuhilfenahme der freien Enzyclopädie Wikipedia, im speziellen der Kategorie "Web-Application Framework". Unser 101companies Projekt benutzt Implementationen, um die einem Web-Application-Framework zugrunde liegenden Technologien zu identifizieren und zu klassifizieren. Innerhalb des Projekts werden Taxonomien und Ontologien mit Hilfe dieser Klassifikationen erstellt. Zusätzlich beschreibt die Ausarbeitung, wie nützliche Web-Application-Frameworks mit der Hilfe von Wikipedia priorisiert werden. Abschließend enthält die Diplomarbeit auch die Dokumentation der betreffenden Implementationen.
Mittels facettierter Suche lassen sich große, unbekannte Datensätze einfach und gezielt erkunden. Bei der Implementation von Anwendungen für Smartphones ist zu beachten, dass im Gegensatz zu Desktop-Anwendungen ein kleinerer Bildschirm und nur beschränkte Möglichkeiten zur Interaktion zwischen Benutzer und Smartphone zur Verfügung stehen. Diese Beschränkungen können die Benutzbarkeit einer Anwendung negativ beeinflussen. Mit FaThumb und MobileFacets existieren zwei mobile Anwendungen, die die facettierte Suche umsetzen und verwenden, aber nur MobileFacets ist für gegenwärtige Smartphones mit Touchscreenbildschirm ausgelegt.
Jedoch bietet FaThumb eine neuartige Facettennavigation, die durch MFacets in dieser Arbeit für aktuelle Smartphones neu realisiert wird. Außerdem befasst sich diese Arbeit mit der Durchführung einer summativen Evaluation zwischen den beiden Anwendungen, MFacets und MobileFacets, bezüglich der Benutzbarkeit und präsentiert die ausgewerteten Ergebnisse.
Standards haben längst Einzug in das Gebiet der Informatik gehalten. Verschiedenste Organisationen beschäftigen sich mit der Beschließung von Normen für die standardisierte Lösung von Problemen in der Informatik. Ein wichtiger Teilaspekt ist die Spezifizierung von Datenformaten, die die Interoperabilität von Programmen sichern kann. Dabei existieren viele verschiedene Schemasprachen, die auf unterschiedliche Anforderungen ausgelegt sind, und mit deren Hilfe die Menge der konformen Dokumente beschrieben werden kann. Die Kombination mehrerer Schemasprachen ist sinnvoll, da die Mächtigkeit einer Sprache oftmals nicht ausreicht, um die Anforderungen zu erfassen. So auch im Fall der, von IMS entwickelten, Spezifikation Common-Cartridge. Das Common-Cartridge-Format beschreibt valide Zip-Pakete, die dazu genutzt werden können, verschiedene Lernobjekte zu aggregieren und als zusammenhängende Lerneinheit in eine Lernplattform zu importieren. Die Spezifikation benutzt bereits vorhandene und bewährte Spezifikationen, um Teile gültiger XML-Dokumente zu beschreiben. Diese sind selbst Teil eines Pakets und können Referenzen enthalten, die den Inhalt mit der Paketstruktur in Verbindung bringen. Dabei wird das Common-Cartridge-Format durch ein sogenanntes Domain-Profile erfasst. Ein solches erlaubt die Anpassung einer oder mehrerer Standards bzw. Spezifikationen, um die Bedürfnisse einer bestimmten Domäne abzudecken. Zudem können sogenannte Testregeln definiert werden, die für die Bestimmung der für ein Datenpaket auszuführenden Testaufgaben genutzt werden können. Letztlich kann die automatische Erstellung eines Testsystems veranlasst werden, welches diese Aufgaben ausführen kann. Somit stellt sich die Frage, ob ein Domain-Profile ebenso dazu eignet ist, die Anforderungen anderer paket-basierter Datenformate zu erfassen, und ob die nötigen Änderungen an den unterstützenden Tools vorgenommen werden können. Schließlich würde dies die Überprüfung gestellter Anforderungen ermöglichen.
Diese Arbeit soll sich mit einer beispielhaften Anwendung des Verfahrens befassen, um diese Fragen nach Möglichkeit zu beantworten. Dazu soll der verwendete Ansatz auf die Datenformate übertragen werden, die Teil der Spezifikation des Virtual Company Dossiers - VCD - sind. Diese legen ebenso paket-basierte Formate fest, die innerhalb eines elektronischen Ausschreibungsprozesses verwendet werden. Sie ermöglichen die Erfassung von Evidenzen, die die notwendige Qualifikation eines Bewerbers, sowie die Erfüllung der, mit dem Ausschreibungsverfahren verbundenen Kriterien nachweisen.
Im praktischen Teil werden somit zuerst die Ähnlichkeiten der beiden Formate herausgearbeitet. Diese dienten der Identifizierung abstrakter Anforderungen, die, soweit möglich, mit den gleichen Formalismen festgehalten wurden. Dabei wurden Änderungen an den unterstützenden Tools vorgenommen, um die Erfassung aller VCD-spezifischen Anforderungen zu ermöglichen. So wurden das Format, und das Tool zur Erstellung von Applikationsprofilen, angepasst. Schließlich erfolgten Änderungen am generischen Testsystem, welches zur Herleitung konkreter Testsysteme genutzt wird. Letztlich stellte sich heraus, dass ähnliche Anforderungen bestehen, und die unterstützenden Tools in einer Weise angepasst werden konnten, die die Menge der erfassbaren Anforderungen erweitert. Da der Hintergrund der beteiligten Spezifikationen sich zudem signifikant unterscheidet, ist davon auszugehen, dass das Verfahren in einem weiten Spektrum von Anwendungsfällen eingesetzt werden kann.