Institut für Informatik
Filtern
Dokumenttyp
- Masterarbeit (14) (entfernen)
Schlagworte
- API analysis (1)
- API-Analyse (1)
- CSCA (1)
- Cicero (1)
- Computer Supported Cooperative Work (1)
- Datenschutz (1)
- Developer profiling (1)
- Echtzeit-Interaktion (1)
- Entwickler Profil (1)
- InstaHub (1)
Semantische Daten zusammen mit General-Purpose-Programmiersprachen zu verwenden stellt nicht die einheitlichen Eigenschaften bereit, die man für eine solche Verwendung haben möchte. Die statische Fehlererkennung ist mangelhaft, insbesondere der statischen Typisierung anbetreffend. Basierend auf vorangegangener Arbeit an λ-DL, welches semantische Queries und Konzepte als Datentypen in ein typisiertes λ-Kalkül integriert, bringt dieses Werk dessen Ideen einen Schritt weiter, um es in eine Echtwelt-Programmiersprache zu integrieren. Diese Arbeit untersucht, wie λ-DLs Features erweitert und mit einer existierende Sprache vereinigt werden können, erforscht einen passenden Erweiterungsmechanismus und produziert Semantics4J, eine JastAdd-basierte Java-Sprachintegration für semantische Daten für typsichere OWL-Programmierung, zusammen mit Beispielen für ihre Verwendung.
Motion Capture bezeichnet das Aufnehmen, Weiterverarbeiten und auf ein 3D Modell Übertragen von reellen Bewegungen. Nicht nur in der Film- und Spieleindustrie schafft Motion Capture heute einen nicht mehr wegzudenkende Realismus in der Bewegung von Mensch und Tier. Im Kontext der Robotik, der medizinischen Bewegunsthearpie, sowie in AR und VR wird Motion Capture extensiv genutzt. Neben den etablierten optischen Verfah- ren kommen aber gerade in den letzen drei Bereichen auch vermehrt alternative Systeme, die auf Intertialsystemen (IMUs) basieren zum Einsatz, da sie nicht auf externe Kameras angewiesen sind und somit den Bewegungsraum deutlich weniger beschränken.
Schnell vorranschreitender technischer Fortschritt in der Herstellung solcher IMUs, erlaubt den Bau kleiner Sensoren die am Körper getragen werden können und die Bewegung an einen Computer übertragen. Die Entwicklung in der Anwendung von Inertialsystemen auf den Bereich des Motion Capture, steckt allerdings noch in den Kinderschuhen. Probleme wie Drift können bis- her nur durch zusätzliche Hardware, zur Korrektur der Daten, minimiert werden.
In der folgenden Masterarbeit wird ein IMU basiertes Motion Capture System aufgebaut. Dies umfasst den Bau der Hardware sowie die softwa- reseitige Verarbeitung der erhaltenen Bewegungsinformationen und deren Übertragung auf ein 3D Modell.
Geographisches Cluster-basiertes Routing ist ein aktueller Ansatz, wenn es um das Entwicklen von effizienten Routingalgorithmen für drahtlose ad-hoc Netzwerke geht. Es gibt bereits eine Anzahl an Algorithmen, die Nachrichten nur auf Basis von Positionsinformationen durch ein drahtloses ad-hoc Netzwerk routen können. Darunter befinden sich sowohl Algorithmen, die auf das klassische Beaconing setzen, als auch Algorithmen, die beaconlos arbeiten (keine Informationen über die Umgebung werden benötigt, außer der eigenen Position und der Position des Ziels). Geographisches Routing mit Auslieferungsgarantie kann auch auf Overlay-Graphen durchgeführt werden. Bisher werden die dafür benötigten Overlay-Graphen nicht reaktiv konstruiert.
In dieser Arbeit wird ein reaktiver Algorithmus, der Beaconless Cluster Based Planarization Algorithmus (BCBP), für die Konstruktion eines planaren Overlay-Graphen vorgestellt, der die benötigte Anzahl an Nachrichten für die Konstruktion eines planaren Overlay-Graphen, und demzufolge auch Cluster-basiertes geographishes Routing, deutlich reduziert. Basierend auf einem Algorithmus für Cluster-basierte Planarisierung, konstruiert er beaconlos einen planaren Overlay-Graphen in einem unit disk graph (UDG). Ein UDG ist ein Modell für ein drahtloses Netzwerk, bei dem alle Teilnehmer den gleichen Senderadius haben.
Die Evaluierung des Algorithmus zeigt, dass er wesentlich effizienter ist als die Baecon-basierte Variante. Ein weiteres Ergebnis dieser Arbeit ist ein weiterer beaconloser Algorithmus (Beaconless LLRAP (BLLRAP)), für\r\nden zwar die Planarität, aber nicht die Konnektivität nachgewiesen werden konnte.
Diese Arbeit schlägt die Benutzung von MSR (Mining Software Repositories) Techniken zum Identifizieren von Software Entwicklern mit exklusiver Fachkenntnis zu spezifischen APIs und Programmierfachgebieten in Software Repositories vor. Ein versuchsweises Tool zum finden solcher “Islands of Knowledge” in Node.js Projekten wird präsentiert und in einer Fallstudie auf 180 npm packages angewandt. Dabei zeigt sich, dass jedes package im Durchschnitt 2,3 Islands of Knowledge hat, was dadurch erklärbar sein könnte, dass npm packages dazu tendieren nur einen einzelnen Hauptcontributor zu haben. In einer Umfrage werden die Verantwortlichen von 50 packages kontaktiert und nach ihrer Meinung zu den Ergebnissen des Tools gefragt. Zusammen mit deren Antworten berichtet diese Arbeit von den Erfahrungen, die mit dem versuchsweisen Tool gemacht wurden, und wie zukünftige Weiterentwicklungen noch bessere Aussagen über die Verteilung von Programmierfachwissen in Entwicklerteams machen könnten.
The publication of open source software aims to support the reuse, the distribution and the general utilization of software. This can only be enabled by the correct usage of open source software licenses. Therefore associations provide a multitude of open source software licenses with different features, of which a developer can choose, to regulate the interaction with his software. Those licenses are the core theme of this thesis.
After an extensive literature research, two general research questions are elaborated in detail. First, a license usage analysis of licenses in the open source sector is applied, to identify current trends and statistics. This includes questions concerning the distribution of licenses, the consistency in their usage, their association over a period of time and their publication.
Afterwards the recommendation of licenses for specific projects is investigated. Therefore, a recommendation logic is presented, which includes several influences on a suitable license choice, to generate an at most applicable recommendation. Besides the exact features of a license of which a user can choose, different methods of ranking the recommendation results are proposed. This is based on the examination of the current situation of open source licensing and license suggestion. Finally, the logic is evaluated on the exemplary use-case of the 101companies project.
Wir analysieren versionsbasierte Softwareprojekte, um den Entwicklern API- und Domänen-Wissen zuzuordnen. Genauer gesagt analysieren wir die einzelnen Commits in einem Repository in Hinblick auf die API-Nutzung. Auf dieser Grundlage können wir APIs (oder Teile davon) den Entwicklern zuordnen und dadurch auf die API-Erfahrung der Entwickler schließen. Im transitiven Schluss können wir auf Domänen-Erfahrung schließen, da jeder API eine Programmierdomäne zugewiesen wird.
Cicero ist eine asynchrone Diskussionsplattform, die im Rahmen der Arbeitsgruppe Informationssysteme und Semantic Web (ISWeb) der Universität Koblenz-Landau entwickelt wurde. Die webbasierte Anwendung folgt dem Gedanken eines semantischen Wikis und soll insbesondere beim Arbeitsablauf von Entwurfsprozessen eingesetzt werden. Dabei verwendet Cicero ein restriktives Argumentationsmodell, das einerseits strukturierte Diskussionen von schwierigen Prozessen fördert und andererseits den Entscheidungsfindungsprozess unterstützt. Im Zentrum der Arbeit steht die Evaluation von Cicero, wobei im vorhergehenden theoretischen Teil die Hintergründe und Funktionsweisen vorgestellt werden und im nachfolgenden praktischen Teil die Anwendung anhand einer Fallstudie evaluiert wird. Die Studie wurde im Rahmen der Übungsveranstaltung zu Grundlagen der Datenbanken der Universität Koblenz im Wintersemester 2008/2009 durchgeführt , und die Studenten hatten die Aufgabe, einen Entwurfsprozess mit Hilfe von Cicero zu diskutieren. Über die erhobenen Daten der Fallstudie wird ein Akzeptanztest durchgeführt. Hierbei wird überprüft, ob die Benutzer Cicero positiv annehmen und die Methodik richtig anwenden. Denn aufgrund des vorgegebenen Argumentationsmodells müssen die Benutzer ihr Kommunikationsverhalten ändern und ihren herkömmlichen Diskussionsstil der Anwendung anpassen. Ziel der Evaluation ist es, kritische Erfolgsfaktoren im Umgang mit Cicero ausfindig zu machen. Anhand der identifizierten Schwachstellen werden abschließend gezielte Maßnahmen vorgeschlagen, die die Akzeptanz der Benutzer gegenüber Cicero erhöhen könnten.
Fehler in der Anforderungsanalyse führen häufig zu Misserfolgen in der Entwicklung von Softwaresystemen. Seit einiger Zeit wird versucht, diesem Problem durch Requirements- Engineering zu begegnen. Durch die frühe Beteiligung aller Stakeholder an der Entwicklung eines Systems sowie eine strukturierte Vorgehensweise zur Ermittlung und Analyse von Anforderungen an ein zu erstellendes System hat es als erster Schritt in der Entwicklung von Softwaresystemen zunehmend an Bedeutung gewonnen. Die steigende Komplexität moderner Softwaresysteme bringt jedoch eine gewaltige Menge an Informationen mit sich, die während der Analyse erfasst und verwaltet werden müssen. Dieser Informationsflut ist ohne Unterstützung durch entsprechende Software kaum beizukommen. Vor allem in größeren, räumlich verteilten Projekten wäre ein effektives Requirements-Engineering sonst kaum möglich. Es gibt inzwischen eine Vielzahl von Tools, die das Requirements-Engineering unterstützen. Diese Tools sind bereits seit geraumer Zeit im Einsatz und setzen in ihren aktuellsten Versionen die wichtigsten Konzepte des Requirements-Engineering um. Im Rahmen dieser Arbeit werden einige dieser Tools im Hinblick auf Funktionsumfang und Verzeichnisstruktur untersucht. Besonderes Interesse galt der Verwaltung von Anforderungen und deren Abhängigkeiten untereinander. Die gewonnenen Erkenntnisse werden anschließend in ein Referenzmodell integriert.
Moderne Softwaresysteme bestehen aus verschiedenen Programmiersprachen, Softwaretechnologien und Artefakten. Dadurch wird es für Entwickler komplexer, den Quelltext sowie die enthaltenen Abhängigkeiten zu verstehen. Entsprechend muss ein größerer Aufwand in die Erstellung von Dokumentation gesteckt werden. Eine Möglichkeit zur Dokumentation einer Software mit dem Fokus auf die benutzten Technologien stellen linguistische Architekturen dar. Diese können z. B. durch die MegaL Ontologie beschrieben werden. Da die Erstellung einer solchen linguistischen Architektur für ein beliebiges Softwareprojekt kompliziert ist, beschreibt diese Arbeit einen Ansatz zur automatischen Erstellung einer solchen linguistischen Architektur. Dafür wird das Open Source Framework Apache Jena verwendet, welches Semantic Web Technologien wie RDF und OWL benutzt. Mit diesem können spezifische Regeln definiert werden, welche aus existierenden RDF-Triplen neue ableiten. Dieser Ansatz wird schließlich in einer Case Study an zehn verschiedenen Open Source Projekten getestet. Dabei soll eine linguistische Architektur in MegaL extrahiert werden, welche die Nutzung von Hibernate beschreibt. Mit der Hilfe von spezifischen Metriken wird das Ergebnis dann mit einem internen und externen Ansatz evaluiert.