AK-Graph

FFG BRIDGE, 2021 – 2024

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

Im Projekt AK-Graph beschreiben wir Architekturwissen in einem Knowledge Graph, um die Grundlage zu schaffen Architekturwissen automatisiert mittels Reasoning- und KI-Methoden zu verarbeiten. Das Ziel ist Softwarearchitekten beim Entwurf komplexer Softwaresystem zu unterstützen. Damit steigern wir die Produktivität von Softwarearchitekten sowie die Qualität von Softwaresystemen.

Kontext und Motivation

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.

Ziele und anvisierte technologische Entwicklungen

Ziel dieses Grundlagenforschungsprojektes ist es, Konzepte und Methoden zu entwickeln, mit denen Architekturwissen automatisiert verarbeitet werden kann.  Wir untersuchen, wie informell definiertes (natürlichsprachliches) Architekturwissen, das in der Praxis häufig verwendet wird, mithilfe von Knowledge Graphen, maschinellem Lernen, und Datenanalysetechniken automatisch verarbeitet werden kann.

Softwarearchitekten sollen im Rahmen des Architekturdesignprozesses aktiv unterstützt werden, indem ihnen relevantes Architekturwissen kontext-abhängig vorgeschlagen wird. Bestehende Systemarchitekturen sollen automatisiert evaluiert werden, um mögliche Probleme und Schwachstellen zu identifizieren und durch erprobte Lösungen zu verbessern.

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 Softwaresystemen.

Wissenschaftliche Kooperationen

Dieses Grundlagenforschungsprojekt ist eine Forschungskooperation zwischen dem Software Competence Center Hagenberg (SCCH) und der Limes Security GmbH.

  • Software Competence Center Hagenberg (Leitung)
  • Limes Security GmbH

Fördergeber

Das Projekt wird im Rahmen vom FFG Programm BRIDGE gefördert.

Projektdauer

3 Jahre, 1.7.2021 - 30.6.2024