Softwaretechnik-Praktikum Sommersemester 2016

Themen, Betreuer, Tutoren

Thema Gruppen Betreuer Tutor Kontext
Multi-Agentensimulation abs16 Herr Scheller Herr Reichelt Webanwendung, Agentenframework
Datensuche für Linked Data dsl16 Herr Röder Marius Brunnert RDF, Java
Datadriven Template Publication dtp16 Herr Arndt Robert Rößling RDF, Webanwendung
E-Learning Metadaten-Management emm16 Frau Skudelny Herr Jobst RDF, Webanwendung, Java
Editieren von RDF-Datenbanken erd16 Frau Klimek Robert Rößling RDF, Webanwendung
Organisation von Ehrenamtlichen in der Flüchtlingshilfe fh16 Herr Arndt Franz Teichmann RDF, Webanwendung
Webanwendung zur Extraktion von Teildatensätzen aus DBpedia wetd16 Herr Brümmer Robert Rößling RDF, Webanwendung
Wordpress-Plugin für Ontologie-basierte Datenevaluation wpod16 Herr Frischmuth
Herr Abicht
Franz Teichmann RDF, Webanwendung, Wordpress
Wissensextraktion für RDF Daten wrd16 Herr Speck Marius Brunnert RDF, Java
Gebäude-Navigator für Leipzig spe16 (Basisvariante) Herr Abicht Johannes Römer RDF, Webanwendung

Ablauf des Praktikums

Gruppenergebnisse in der Übersicht

Gruppe Stärke Projektleiter/in A1 A2 A3 MST 1 A4/5 MST 2 A6 Impl.-
Phase
Gesamt-
bewertung*
abs16 7 Friedrich Schöne 9 8 5 7 5.5 5 6 7 2
dsl16 4 Marleen Wagner 10 8 8 8 9.5 10 7 10 1
dtp16 7 Christian Frommert 8 10 8 10 9.5 10 8 8 1
emm16 8 Paul Muschiol 9 6 9 8 6.5 9 6 7 3
erd16 7 Torben Jaeckel 9 10 6 9 8.5 10 10 9.5 1
fh16 8 Alexander Prull 7 10 7 7 8.5 10 9 9.5 1
wetd16 7 Hans Angermann 9 9 9 10 9 9 10 9 2
wpod16 7 David Geistert 8 7 8 8 8.5 10 8 9 1
wrd16 6 Tim Niehoff 9 7 9 9 9.5 10 10 10 1
spe16 4+2 Aaron Shehab 9 8 9 6 7 9 9 7 2

Ergebnisse der Gruppen im einzelnen

Gruppe abs16

Ziel des Pratikumsthemas war die Umsetzung einer Agentensimulation, die Innovationsdiffusion von Energietechnologien abbilden kann. Basierend auf der Simulation sollen Aussagen darüber getroffen werden können, inwiefern einzelne Produkte von bestimmten Milieus gekauft werden. Hierfür wurde eine Java-Anwendung mit einer im Agentenframework Jadex implementierten Simulation entwickelt. Die Interaktion erfolgt mittels einer JavaFX-GUI, die Eingabedaten verwaltet und als JSON laden und speichern kann.

Die Gruppe hat sich während des Praktikums in verschiedene Technologien, wie maven, git, Jadex, JavaFX und Jenkins eingearbeitet. Die Gruppe hat die Zielstellungen fachlich und technisch gut umgesetzt und ein lauffähiges Endergebnis produziert. Feedback wurde regelmäßig eingearbeitet.

Material:

Gruppe dsl16

Die Aufgabenstellung dieses Praktikumsthemas umfasste die Entwicklung einer Suchmaschine für RDF Datensätze im Linked Data Web. Diese Suchmaschine sollte (1) eine keyword-basierte Suche nach Datensätzen sowie (2) die Suche von ähnlichen Datensätzen zu einem gegebenen RDF Datensatz unterstützen. Beide Funktionen basieren auf einer Indexierung der Datensätze des Linked Data Web sowie der Berechnung von Ähnlichkeiten von gegebenen Datensätzen. Während die generelle Funktionsweise dieser beiden Module in einem Forschungsartikel beschrieben wurde, konnte zusätzlich zu dieser Beschreibung lediglich auf einen Forschungsprototypen zurückgegriffen werden, der Teile der benötigten Funktionalitäten umsetzte.

Die Gruppe musste sich während des Praktikums ein grundlegendes Verständnis des RDF Datenmodells erarbeiten. Zusätzliche musste sie mit verschiedenen Technologien wie Maven, dem Jena Framework, einem Topic Modeling Framework und JUnit umgehen. Trotz einer Halbierung der Gruppengröße während des Projektverlaufs konnte die Gruppe alle an sie gestellten Kernanforderungen sowie einige optionale Aufgaben umsetzen und hat ein einsetzbares Endergebnis abgeliefert. Die Gruppe arbeitete sehr selbstständig und hat Feedback angenommen und umgesetzt.

Material:

Gruppe dtp16

Ziel des Praktikumsthemas war der Entwurf und die Planung eines Tools zur Erzeugung und Publikation von HTML Ressourcen auf Basis von Templates und RDF Daten (LD Hypstr: Hypertext Publication System for Templated Resource Rendering). Das Tool sollte sich in einen existierenden Static Site Generator oder ein existierendes Templatesystem einbetten. Die Gruppe hat zur diesem Zweck aus mehreren Möglichkeiten sich entschieden ein Plug-In für Jekyll zu entwickeln.

Die Gruppe musste sich während des Praktikums in die Arbeit mit RDF Datenmodellen und deren Abfrage mit SPARQL, sowie Ruby, Jekyll und Liquid in Kombination mit Test-Technologien einarbeiten. Die Gruppe hat die Aufgabe vollständig und umgesetzt und ein einsetzbares Endergebnis abgeliefert. Die Gruppe hat selbständig gearbeitet und Feedback eingearbeitet.

Material:

Gruppe emm16

Ziel der Aufgabe war es, ein gemeinsames Portal für ein übergreifendes Metadaten-Managment für E-Learning-Kurse aufzubauen. Dies ist auf semantischen Technologien und der Transformation auf RDF-Basis geschehen.

Erarbeitet wurde eine Webseite, die in der Lage ist, E-Learning-Kurse sächsischer Hochschulen dazuzustellen und Kurse von OPAL und Moodle gemeinsam zu durchsuchen. Ein Crawler speichert eine Kopie der Daten der Portale lokal und übergibt sie in den Standardisierungsprozess. In diesem werden die Daten zunächst in das interne Datenmodell konvertiert. Für dieses Modell existiert ein Binding in Tripel, um diese dann in einem RDF-Store speichern zu können. Der RDF-Store läuft lokal mittels Apache Jena. Ein externer Zugriff kann über einen SPARQL-Endpunkt erfolgen. Im Webinterface kann der Nutzer eine Suche starten und erhält eine Liste von Kursen verschiedener Hochschulen/LMS, für die anschließend Detailinformationen angezeigt werden können.

Die Gruppe hat sich während des Praktikums in verschiedene Technologien und Frameworks wie RDF, Apache Jena, Fuseki eingearbeitet und Werkzeuge wie maven und das Coberta-Testkonzept eingesetzt. Das Arbeitsverhalten innerhalb der Gruppe gestaltete sich weitgehend produktiv. Arbeitsergebnisse wurden in wechselnden Qulitäten und Sorgfältigkeiten abgegeben. Die Umsetzung des Feedbacks erfolgte mit unterschiedlichem Eifer. Die Zielstellung wurde von der Gruppe erfüllt.

Material:

Gruppe erd16

Die Aufgabe der Gruppe bestand darin, für die erst kürzlich erstellte OWL-basierte Ontologie für Morpheme, MMoOn, eine Weboberfläche zu erstellen, welche es Experten erlaubt, das vorhandene Morphem-Inventar zu kuratieren und zu erweitern. Dabei sollte es möglich sein, schon vorhandene lexikalische und morphologische Einträge zu durchsuchen und zu sichten, "Datenlücken" einfach zu erkennen und aufzulisten, neue Einträge zu erstellen, bestehende Einträge anzupassen bzw. diese zu erweitern usw. Die Oberfläche sollte möglichst intuitiv gestaltet sein und kein Wissen über RDF oder OWL voraussetzen, aber Änderungen dennoch korrekt in die RDF-Datenbasis integrieren.

Die Gruppe musste sich zunächst ein Grundverständnis von RDF, Datenmodellen und OWL aneignen sowie sich mit Techonologien vertraut machen, welche es erlauben, mit den gegebenen Datensatz zu arbeiten. Ein spezifischer Aspekt ergab sich mit der Verwendung von IRI's, um den hebräischen Datensatz korrekt darzustellen. All diese Aspekte hat die Gruppe sehr gut umgesetzt und ein Produkt erstellt, welches alle Anforderungen erfüllte.

Auch die interne Gruppenarbeit war sehr gut. Jedes Mitglied hat ordnungsgemäß mitgewirkt, es gab kaum Personen, welche überdurchschnittlich viel in der Implementierungsphase gearbeitet haben. Weiterhin stand die Gruppe im regen Kontakt mit dem Betreuer, um zu garantieren, dass die Oberfläche intuitiv und leicht verständlich wird. Sowohl das Projekt als auch die Gruppenarbeit waren sehr gut.

Material:

Gruppe fh16

Ziel der Gruppe war es ein Software-System zu entwickeln, welches die Koordination von ehrenamtlichen Helferinnen und Helfern, Projekten, Informationen und Initiativen erleichtert. Zu diesem Zweck wurde eine Web-Anwendung entwickelt, die es ermöglicht, Informationen der Helfer und Helferinnen (z.B.: Adresse, Sprachkenntnisse, Verfügbarkeit) und Informationen zu Projekten, Initiativen und Anlaufstellen bzw. Verantwortlichen aufzunehmen, zu durchsuchen, zu filtern und zu verwalten.

Zur Umsetzung der Aufgabe musste die Gruppe Anforderungen der beabsichtigten Nutzer erheben und Absprachen mit ihnen treffen. Zur technischen Umsetzung hat sich die Gruppe in Java, Webtechniken, wie AngularJS, REST-APIs und JSON, sowie notwendige Technologien zur Durchführung von Tests eingearbeitet. Die Gruppe hat Feedback eingearbeitet und die Arbeit zur Zufriedenheit der beabsichtigten Nutzer durchgeführt und ein lauffähiges Ergebnis abgeliefert.

Material:

Gruppe wetd16

Die Aufgabe der WETD-16 Gruppe bestand darin, eine Applikation zu entwickeln, die in der Lage ist, Inkonsistenzen in Bezug auf Datentypen und Relationsarten in RDF-Modellen zu erkennen und diese zu verhindern. Dazu sollte eine Webanwendung erstellt werden, welche eine Auswahl relevanter Teildatensätze über Objektklassen trifft, diese Teildatensätze und deren Relationen anzeigt, die Konsistenz dieser Relationen überprüft, deren Werte aufeinander mappt, relevante Statistiken anzeigt und die Möglichkeit bietet, den ausgewählten Datensatz herunterzuladen.

Dabei musste sich die Gruppe selbst ein Grundverständnis von RDF Datenmodellen, deren Abfrage mit SPARQL, Ruby on Rails und RDFunit aneignen. Die Gruppe hat die meisten Aufgaben erfüllt und konnte nur weniger relevante Aspekte wie das Mapping der Relationen nicht implementieren. Das erstellte Produkt ist als sehr gut bis gut einzuschätzen. Die Gruppenarbeit war anfänglich sehr gut, jedoch lag die Arbeitslast in der Implementationsphase im wesentlichen auf nur zwei Gruppenmitgliedern. Dennoch ist die allgemeine Arbeit der Praktikumsgruppe als gut zu bewerten.

Material:

Gruppe wpod16

Bei dem Praktikumsthema ging es um die Erstellung eines WordPress-Plugins zur Datenerfassung im Bereich Gebäude und Barrierefreiheit. Es fand in Zusammenarbeit mit dem Behindertenverband Leipzig (BVL) statt. Der BVL nahm an einem Treffen mit dem Team teil und gab einen Einblick in seine Arbeit mit Menschen mit Behinderung. Das Plugin sollte es ermöglichen, dass man Ontologien (in RDF modelliert) hochlädt und mit deren Hilfe Formulare (Twig-Code) für die Dateneingabe generiert. Diese Formulare sollten danach verwendet werden, um Informationen über Gebäude und deren Grad der Barrierefreiheit zu erfassen. Kurz zur Erklärung: Der Grad der Barrierefreiheit beschreibt, welche Hilfsmittel einem Menschen zur Verfügung gestellt werden, wenn er ein Angebot an einem Ort nutzen möchte (z.B. Behinderten-WC, Hörschleifen für Menschen mit Hörschädigung). Formulareingaben wurden gegen die Ontologie geprüft und im Fehlerfall wurde die Speicherung verweigert (Ontologie-basierte Datenevaluierung).

Die Praktikums-Gruppe hat das Thema unter Verwendung des Symfony- und Saft Frameworks in PHP umgesetzt. Dabei wurde die MVCS-Architektur gewählt. Die Zusammenarbeit gestaltete sich im Großen und Ganzen gut und war von thematischen Diskussionen geprägt, da u.a. die Themen Ontologie, RDF und PHP für einen Großteil der Studenten noch neu war. Die abgegebenen Dokumente waren inhaltlich überwiegend auf hohem Niveau. Randthemen, welche von Studenten gern ignoriert werden, wie z.B. Testabdeckung und Code-Dokumentation, wurde durch diese Gruppe überdurchschnittlich gut umgesetzt.

Relevante Quellen:

Material:

Gruppe wrd16

Ziel dieses Praktikumsthemas war die Erarbeitung eines generischen Wissensextraktionsframeworks, welches adaptiv Entitäten (NER) und Relationen (RE) aus Text extrahieren und samt der Provenance (PROV-O) der Daten ablegen kann. Dazu mussten u.a. Interfaces für die Erkennung von Entitäten sowie für die Erkennung von Relationen erarbeitet und implementiert werden.

Entstanden ist das Java Framework "Axolotl", das die Möglichkeit bietet, einen in Plain-Text- oder im NIF-Format gegebenen Text mithilfe der Tools Fox für NER und BOA oder Patty für RE zu analysieren. Dabei werden aus dem gegebenen Korpus Entitäten und Relationen zwischen diesen Entitäten extrahiert und in einem oder mehreren der RDF Serialisierungsformate gespeichert.

Das Team hat sich während des Praktikums in verschiedene Technologien wie Git, Maven, Lucene, RDF, PROV-O, NER, RE eingearbeitet. Das Arbeitsverhalten in der Gruppe war überwiegend produktiv und die Zielstellungen wurde vom Team sehr zufriedenstellend erfüllt. Entstanden ist ein einsetzbares und leicht zu erweiterndes Framework.

Relevante Quellen:

Material:

Gruppe spe16

Es sollte eine Anwendung für Menschen mit Behinderung entwickelt werden, über welche sie sich Gebäude in Leipzig filtern und auf einer Karte anzeigen lassen können.

Die Gruppe musste sich am Anfang in mehrere Thematiken einarbeiten. Es galt eine JavaScript-basierte Webumgebung umzusetzen, welche für Rapid-Prototyping geeignet ist. Daneben musste sie sich in die Thematiken RDF und Semantic Web, sowie barrierefreie Webseiten einarbeiten.

Es wurde sich für eine React-basierte Webumgebung entschieden, wobei die genutzte Entwicklungsumgebung auf Node.js und NPM aufbaute. Die Gruppe hat sich hier etwas verhoben, da diese Technologien eine hohe Lernkurve erfordern. Es wurde am Ende festgestellt, dass es für anfängliches Ausprobieren und Prototyping auch eine einfache jQuery-Anwendung getan hätte.

Die Anfangs gestellte Anforderung, dass die Daten über RDF einzubinden sind, wurde später aufgrund technischer Einschränkungen wieder fallen gelassen. Empfehlungen des W3C für barrierefreie Webseiten wurden recherchiert und grundlegend umgesetzt.

Die Gruppe erhielt eine zeitliche Verlängerung. Diese Zeit wurde jedoch genutzt, um die Anwendung so weiterzuentwickeln, dass sie für die Endnutzer bereits jetzt schon einen Mehrwert darstellt. Das Projekt entstand in Zusammenarbeit mit dem Behindertenverband Leipzig e.V., welcher auch Feedback im Entwicklungsprozess gegeben hat. Eine Weiterentwicklung dieses Prototypen ist angedacht und befindet sich zur Zeit in Planung.

Weitere Informationen dazu werden künftig unter https://github.com/AKSW/building-navigator/ zu finden sein.

Material: