Filtern
Erscheinungsjahr
- 2018 (2) (entfernen)
Dokumenttyp
- Dissertation (1)
- Masterarbeit (1)
Institut
- Institut für Informatik (2) (entfernen)
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.
The term “Software Chrestomaty” is defined as a collection of software systems meant to be useful in learning about or gaining insight into software languages, software technologies, software concepts, programming, and software engineering. 101companies software chrestomathy is a community project with the attributes of a Research 2.0 infrastructure for various stakeholders in software languages and technology communities. The core of 101companies combines a semantic wiki and confederated open source repositories. We designed and developed an integrated ontology-based knowledge base about software languages and technologies. The knowledge is created by the community of contributors and supported with a running example and structured documentation. The complete ecosystem is exposed by using Linked Data principles and equipped with the additional metadata about individual artifacts. Within the context of software chrestomathy we explored a new type of software architecture – linguistic architecture that is targeted on the language and technology relationships within a software product and based on the megamodels. Our approach to documentation of the software systems is highly structured and makes use of the concepts of the newly developed megamodeling language MegaL. We “connect” an emerging ontology with the megamodeling artifacts to raise the cognitive value of the linguistic architecture.