Please use this identifier to cite or link to this item: http://dx.doi.org/10.18419/opus-14482
Authors: Kästner, Max
Title: Analyzing software architectures of open-source AI-based software
Issue Date: 2024
metadata.ubs.publikation.typ: Abschlussarbeit (Bachelor)
metadata.ubs.publikation.seiten: 45
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-145016
http://elib.uni-stuttgart.de/handle/11682/14501
http://dx.doi.org/10.18419/opus-14482
Abstract: Recently, software systems that include artificial intelligence (AI) components (also called AI-based software systems) have become increasingly popular. However, the integration of AI into software systems brings new challenges compared to traditional software systems. In particular, the software architecture of AI-based software systems needs more research. In this thesis, we investigate the software architecture of open-source AI-based software applications, with an explicit focus on the design patterns and architectural tactics used in the architectures. For this purpose, we have mined open-source AI-based software systems from GitHub to analyze the software architecture of the software systems. To identify the design patterns, we use a design pattern catalog specifically created for AI-based software systems. We analyzed a total of 3 open-source AI-based software systems and were able to identify a total of 19 unique design patterns, with a balanced number of found traditional adapted design patterns and new AI-specific design patterns. We could see that design patterns from the categories Architecture and Deployment were more frequently identified in the systems than in the other categories Implementation, Process, Security & Safety and Testing & Quality Assurance. It was noticeable that many design patterns in the Architecture category were adapted from traditional design patterns, while several new AI-specific design patterns were found for Deployment, solving the problem of how to deploy the machine learning (ML) models. While a lot of new AI-specific design patterns for Security & Safety have been established, we could only identify very few. In addition, testing AI components is very unpopular in the analyzed systems and difficult as the correctness of an ML model is hard to test.
In letzter Zeit werden Softwaresysteme, die Komponenten der künstlichen Intelligenz (KI) enthalten (auch KI-basierte Softwaresysteme genannt), immer beliebter. Die Integration von KI in Softwaresysteme bringt jedoch im Vergleich zu traditionellen Softwaresystemen neue Herausforderungen mit sich. Insbesondere die Softwarearchitektur von KI-basierten Softwaresystemen bedarf weiterer Forschung. In dieser Arbeit untersuchen wir die Softwarearchitektur von Open-Source-KI-basierten Softwareanwendungen, wobei wir uns explizit auf die in den Architekturen verwendeten Entwurfsmuster und Architekturtaktiken konzentrieren. Zu diesem Zweck haben wir Open-Source-KI-basierte Softwaresysteme von GitHub gesammelt, um die Softwarearchitektur der Softwaresysteme zu analysieren. Um die Entwurfsmuster zu identifizieren, verwenden wir einen Entwurfsmusterkatalog, der speziell für KI-basierte Softwaresysteme erstellt wurde. Wir analysierten insgesamt 3 Open-Source-KI-basierte Softwaresysteme und konnten insgesamt 19 individuelle Entwurfsmuster identifizieren, mit einer ausgewogenen Anzahl von gefundenen traditionellen adaptierten Entwurfsmustern und neuen KI-spezifischen Entwurfsmustern. Es zeigte sich, dass Entwurfsmuster aus den Kategorien Architektur und Deployment häufiger in den Systemen identifiziert wurden als aus den anderen Kategorien Implementation, Process, Security & Safety und Testing & Quality Assurance. Es fiel auf, dass viele Entwurfsmuster aus der Kategorie Architektur aus traditionellen Entwurfsmustern adaptiert wurden, während für die Kategorie Deployment mehrere neue KI-spezifische Entwurfsmuster gefunden wurden, die das Problem lösen, wie die Modelle des maschinellen Lernens (ML) bereitgestellt werden können. Obwohl viele neue KI-spezifische Entwurfsmuster für Security & Safety entwickelt wurden, konnten wir nur sehr wenige identifizieren. Darüber hinaus ist das Testen von KI-Komponenten in den analysierten Systemen sehr unbeliebt und schwierig, da die Korrektheit eines ML-Modells schwer zu testen ist.
Appears in Collections:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Files in This Item:
File Description SizeFormat 
BT_Max_Kästner.pdf450,27 kBAdobe PDFView/Open


Items in OPUS are protected by copyright, with all rights reserved, unless otherwise indicated.