Ein regelbasierter Ansatz zur Extraktion von Mega Modellen
A rule-based approach for the automatic extraction of Mega Models
- 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.
- Modern software projects are composed of several software languages, software technologies and different kind of artifacts. Therefore, the understanding of the software project at hand, including the semantic links between the different parts, becomes a difficult challenge for a developer. One approach to attack this issue is to document the software project with the help of a linguistic architecture. This kind of architecture can be described with the help of the MegaL ontology. A remaining challenge is the creation of it since it requires different kind of skills. Therefore, this paper proposes an approach for the automatic extraction of a linguistic architecture. The open source framework Apache Jena, which is focusing on semantic web technologies like RDF and OWL, is used to define custom rules that are capable to infer new knowledge based on the defined or already extracted RDF triples. The complete approach is tested in a case study on ten different open source projects. The aim of the case study is to extract a linguistic architecture that is describing the use of Hibernate in the selected projects. In the end, the result is evaluated with the help of different metrics. The evaluation is performed with the help of an internal and external approach.