AK-Graph

AI-based Software Architecture Design for the Engineering of Secure and Sustainable Systems

Programm / Ausschreibung Bridge, Brückenschlagprogramm, 32. Ausschreibung Bridge 1 Status laufend
Projektstart 01.07.2021 Projektende 30.06.2024
Zeitraum 2021 - 2024 Projektlaufzeit 36 Monate
Keywords Software Architektur; Software Architektur Wissensmanagement; Knowledge Graph; Künstliche Intelligenz; Security

Projektbeschreibung

Software hat tiefgreifende Auswirkungen auf unsere Gesellschaft und ist der Treiber für Industrie 4.0 und digitale Transformationsprozesse. Der Entwurf moderner, qualitativ hochwertiger Softwaresysteme wird immer komplexer, da der Entwurf Expertise in vielen verschiedenen Bereichen erfordert - von der Anwendungsdomäne über allgemeine Softwareentwicklungspraktiken, bis hin zu von der konkreten Systemart abhängigen anwendungs- und technologie-spezifischen Fachwissens. Heutzutage existiert eine beachtliche Menge sich ständig weiterentwickelndes Architekturwissens, das Softwarearchitekten bei der Architekturentwicklung berücksichtigen müssen, z.B. Referenzarchitekturen, Architekturstile und -muster, Richtlinien, Standards, aber auch Gesetze und Vorschriften. In der Praxis werden wichtige Qualitätsattribute wie zum Beispiel Sicherheit und Nachhaltigkeit jedoch häufig vernachlässigt und nicht ausreichend berücksichtigt. Das Design von Softwarearchitekturen ist ein wissensintensiver sowie ein humanzentrierter Prozess, der aktuell primär manuell durchgeführt wird. Das verlangt nach der Entwicklung von neuartigen, integrierten, wissensbasierten Ansätzen mit dem Ziel, neue Methoden zur Unterstützung von Softwarearchitekten beim Entwurf von Softwarearchitekturen zu entwickeln.
In diesem Forschungsprojekt beschreiben wir Architekturwissen in einem Knowledge Graph, und schaffen damit die Grundlage für die automatische Verarbeitung von Architekturwissen mit Reasoning- und KI-basierten Methoden, mit dem Ziel Softwarearchitekten während des Architektur Design Prozesses zu unterstützen und Architekturevaluierung zu automatisieren. Wir untersuchen, wie informell definiertes (natürlich sprachliches) Architekturwissen, das in der Praxis häufig verwendet wird, mithilfe von Knowledge Graphen, maschinellen Lernen, und Datenanalysetechniken automatisch verarbeitet werden kann. Durch die Automatisierung von Architekturdesignprozessen steigern wir die Produktivität von Softwarearchitekten sowie die Qualität von Softwarearchitekturen. Die Machbarkeit der automatisierten Verarbeitung von Architekturwissen basierend auf Knowledge Graphen wird anhand von zwei ausgewählten Anwendungsbereichen gezeigt - der Entwicklung von nachhaltigen Mikroservice-Architekturen, und der Entwicklung von sicheren Softwarearchitekturen.
Dieses Grundlagenforschungsprojekt ist eine Forschungskooperation zwischen dem Software Competence Center Hagenberg (SCCH) und der Limes Security GmbH. Während SCCH für die Grundlagenforschung verantwortlich sein wird, wird Limes Security sein Fachwissen auf dem Gebiet der Sicherheit, i.e. Security by Design, einbringen und die Evaluierung der Forschungsergebnisse in einem industriellen Kontext unterstützen. Limes Security wird die Forschungsergebnisse nach Projektende verwerten, um zukünftige Produkte und Dienstleistungen zu entwickeln.

Abstract

Software has a profound impact on our society and is the driver behind industry 4.0 and digital transformation processes. The design of state of the art software systems is becoming increasingly complex, since the design of high quality systems requires expert knowledge in many different fields, ranging from the application domain, over general software engineering practices, to system kind-specific application and technology-specific expertise and experience. Today, there exists a significant body of continuously evolving architecture knowledge, which software architects need to consider during architecture design, e.g., reference architectures, architectural styles and patterns, guidelines, standards, but also laws and regulations. However, in practice, important system quality attributes like security and sustainability are often neglected and not considered sufficiently. Software architecture design is a knowledge-intensive, as well as a human-centric activity that still has mostly to be carried out in manual fashion. This knowledge-intensive and human-centric nature strive for novel integrated knowledge-based approaches with the goal to develop new methods for supporting software architects in software architecture design activities.
In this research project, we describe software architecture knowledge in a knowledge graph to lay out the foundation for automatically processing architecture knowledge with reasoning- and AI-based approaches in order to provide architecture design guidance and automate architecture evaluation. We research how informally defined architecture knowledge, which is often used in industry, can automatically be processed by means of a knowledge graph, machine learning, and data analysis techniques. By automating architecture design activities, we aim at increasing the productivity of software architects, and at improving the quality of software architecture designs. The feasibility of the envisioned fundamental concept of this project will be demonstrated for two selected usage domains, i.e., the development of sustainable microservice architectures and the development of secure software architectures.
This fundamental research project is a research cooperation between the Software Competence Center Hagenberg GmbH (SCCH) and Limes Security GmbH. While SCCH will be responsible for the fundamental research, Limes Security will bring in their expertise in the field of security, i.e., security by design, and will support the evaluation of the research results in an industrial context. Limes Security will further exploit the research results after the end of the project by developing future products and services.