Softwaresprachen und Technologien zu verstehen, die bei der Entwicklung einer Software verwendet werden, ist eine alltägliche Herausforderung für Software Engineers. Textbasierte Dokumentationen und Codebeispiele sind typische Hilfsmittel, die zu einem besseren Verständnis führen sollen. In dieser Dissertation werden verschiedene Forschungsansätze beschrieben, wie existierende Textpassagen und Codebeispiele identifiziert und miteinander verbunden werden können. Die Entdeckung solcher bereits existierender Ressourcen soll dabei helfen Softwaresprachen und Technologien auf einem konzeptionellen Level zu verstehen und zu vergleichen. Die Forschungsbeiträge fokussieren sich auf die folgenden Fragen, die später präzisiert werden. Welche existierenden Ressourcen lassen sich systematisch identifizieren, um strukturiertes Wissen zu extrahieren? Wie lassen sich die Ressourcen extrahieren? Welches Vokabular wird bereits in der Literatur verwendet, um konzeptionelles Wissen zur Struktur und Verwendung einer Software auszudrücken? Wie lassen sich Beiträge auf Wikipedia wiederverwenden? Wie können Codebeispiele zur Verwendung von ausgewählten Technologien auf GitHub gefunden werden? Wie kann ein Modell, welches Technologieverwendung repräsentiert, reproduzierbar konstruiert werden? Zur Beantwortung der Forschungsfragen werden qualitative Forschungsmethoden verwendet, wie zum Beispiel Literaturstudien. Des Weiteren werden Methoden entwickelt und
evaluiert, um relevante Artikel auf Wikipedia, relevante Textpassagen in der Literatur und Codebeispiele auf GitHub zu verlinken. Die theoretischen Beiträge werden in Fallstudien evaluiert. Die folgenden wissenschaftlichen Beiträge werden dabei erzielt: i.) Eine Referenzsemantik zur Formalisierung von Typen und Relationen in einer sprachfokussierten Beschreibung von Software; ii.) Ein Korpus bestehend aus Wikipedia Artikeln zu einzelnen Softwaresprachen; iii) Ein Katalog mit textuell beschriebenen Verwendungsmustern einer Technologie zusammen mit Messergebnissen zu deren Frequenz auf GitHub; iv.) Technologiemodelle, welche sowohl mit verschiedenen existierenden Codebeispielen als auch mit Textpassagen verknüpft sind.
Mittels SPARQL können Anfragen in Form von RDF Tripeln auf RDF Dokumente gestellt werden. OWL-DL Ontologien sind eine Teilmenge von RDF und können über spezifische OWL-DL Ausdrücke erstellt werden. Solche Ontologien über RDF Tripel anzufragen kann je nach Anfrage kompliziert werden und eine vermeidbare Fehlerquelle darstellen.
Die SPARQL-DL Abstract Syntax (SPARQLAS) löst dieses Problem indem Anfragen mittels OWL Functional-Style Syntax oder einer der Manchester Syntax ähnlichen Syntax gestellt werden. SPARQLAS ist eine echte Teilmenge von SPARQL und verwendet nur die nötigsten Konstrukte, um mit möglichst wenig Schreibaufwand schnell die gewünschten Ergebnisse zu Anfragen auf OWL-DL Ontologien zu erhalten.
Durch die Verringerung des Umfangs einer Anfrage und der Verwendung einer dem Nutzer bekannten Syntax lassen sich komplexe und verschachtelte Anfragen auf OWL-DL Ontologien einfacher realisieren. Zur Erstellung der spezifischen SPARQLAS Syntax wird das Eclipse Plugin EMFText verwendet. Die Implementation von SPARQLAS beinhaltet zudem noch eine ATL Transformation zu SPARQL. Diese Transformation erspart die Entwicklung eines Programms zur direkten SPARQLAS Verarbeitung und erleichtert so die Integration von SPARQLAS in bereits laufende Entwicklungsumgebungen.
Ontologies play an important role in knowledge representation for sharing information and collaboratively developing knowledge bases. They are changed, adapted and reused in different applications and domains resulting in multiple versions of an ontology. The comparison of different versions and the analysis of changes at a higher level of abstraction may be insightful to understand the changes that were applied to an ontology. While there is existing work on detecting (syntactical) differences and changes in ontologies, there is still a need in analyzing ontology changes at a higher level of abstraction like ontology evolution or refactoring pattern. In our approach we start from a classification of model refactoring patterns found in software engineering for identifying such refactoring patterns in OWL ontologies using DL reasoning to recognize these patterns.
Semantic descriptions of non-textual media available on the web can be used to facilitate retrieval and presentation of media assets and documents containing them. While technologies for multimedia semantic descriptions already exist, there is as yet no formal description of a high quality multimedia ontology that is compatible with existing (semantic) web technologies. We explain the complexity of the problem using an annotation scenario. We then derive a number of requirements for specifying a formal multimedia ontology, including: compatibility with MPEG-7, embedding in foundational ontologies, and modularisation including separation of document structure from domain knowledge. We then present the developed ontology and discuss it with respect to our requirements.