Das Software Competence Center Hagenberg (SCCH) konzentriert sich in seiner Forschung auf die beiden Standbeine Data & Software Science. Die COMPUTERWELT hat mit Geschäftsführer Klaus Pirklbauer über aktuelle Projekte gesprochen. [...]
Welche Projekte gibt es zu den aktuellen Trendthemen Industrie 4.0 und künstliche Intelligenz beziehungsweise deren Verzahnung?
Der Großteil der Partnerunternehmen kommt aus der produzierenden Industrie. Die gemeinsamen Projekte haben mit Digitalisierung zu tun und sind damit im Themenfeld Industrie 4.0 angesiedelt. Im Bereich Software Science entwickeln wir Methoden und Werkzeuge für den Umgang mit der steigenden Menge, Größe und Komplexität von Software im Maschinenbau sowie der Vernetzung. Zusätzlich kommen steigende Qualitätsanforderungen dazu, die neue Methoden im Softwaretest verlangen. Die geforderte Variabilität der Produkte und Maschinen spiegelt sich auch stark in der Konfigurierbarkeit und den Varianten der Software wieder und ist daher ein besonderer Schwerpunkt des SCCH in den nächsten Jahren. Im Umgang mit der wachsenden Software können wir auch auf die Forschung aus dem Bereich Data Science zurückgreifen und Softwareanalysen umsetzen.
Das SCCH beschäftigt sich intensiv mit Deep Learning und Transfer Learning. Was hat es damit auf sich und wie können Unternehmen profitieren?
Deep Learning ist eine spezielle Art des Machine Learning, bei dem sogenannte tiefe neuronale Netze zum Einsatz kommen. Tief werden diese Netze genannt, weil sie eine große Anzahl an hintereinandergeschalteten Schichten mit Neuronen aufweisen – bis in den dreistelligen Bereich. Es gibt verschiedene Arten von Schichten – Convolutional Layers, Pooling Layers – die verschiedene Aufgaben der Verarbeitung übernehmen. Wichtig für die jeweilige Problemlösung ist vor allem die Architektur des verwendeten Netzes, also wie welche Schichten miteinander verbunden werden.
Beim Transfer Learning geht es darum, bereits bestehende Datensätze sowie darauf trainierte Modelle für neue Aufgabengebiete, für die es erst wenige Daten gibt, übernehmen, also transferieren, zu können. Mit dieser Wissenswiederverwendung könnten zum Beispiel Trainingszeiten von Modellen respektive Netzen reduziert werden.
Unternehmen können vom Knowhow des SCCH sowie der wissenschaftlichen Partner wie etwa Professor Sepp Hochreiter oder Professor Gerhard Widmer auf dem Gebiet des Machine und Deep Learnings sowie der am SCCH vorhandenen Hardware, einer nvidia DGX-1, einem Computer speziell ausgelegt für Deep Learning, profitieren.
Predictive Maintenance und Predictive Analytics sind ebenfalls Themen des SCCH. Welche Vorteile bringen diese Technologien auch im Hinblick der Digitalen Transformation?
Prognosen über die Zukunft machen zu können, ist natürlich ein immer schon dagewesener Wunsch der Menschheit. Bezogen auf das Thema Predictive Maintenance soll durch eine vorausschauende Instandhaltungsplanung die Verfügbarkeit von Maschinen oder Anlagen erhöht werden, wobei sich anbahnende Fehler frühzeitig erkannt werden sollen. Dadurch kann noch reagiert und entsprechende Instandhaltungsmaßnahmen gesetzt werden, um Stillstände, etwa in der Produktion, zu vermeiden, was auch die Planbarkeit der Instandhaltungen erhöht. Schlussendlich können auf diese Weise auch Material- und Energiekosten reduziert werden, da Instandhaltungen nicht mehr aufgrund vordefinierter Pläne, sondern bedarfsgerecht durchgeführt werden.
Das SCCH betreibt mit dem COMET-Kompetenzzentrum auch erfolgreich Forschung. Was sind die aktuellen Themen und welche Erkenntnisse konnten gewonnen werden?
Software-Analyse, Modellbasiertes Testen, benutzerzentrierte Softwareentwicklung und künstliche Intelligenz sind die Forschungsthemen, mit denen wir uns beschäftigen und die wir in Zukunft ausbauen. Unsere Erfahrung aus den Industrieprojekten und aus der Forschungscommunity hat gezeigt das in diese Bereichen auch große Fragen offen sind, die dringend praktikable Lösungen brauchen. Unsere Anwendungsorientierte Forschung passiert in enger Zusammenarbeit mit der Industrie, die Ergebnisse können bei den Partnern konkrete Probleme lösen. Vielfach geht es um die Beherrschung der Komplexität von Software, den Umgang mit der Variantenvielfalt und Architekturen für eine agile und skalierbare Anwendungsentwicklung. Die Digitalisierung des Softwareengineering ist die Antwort darauf. Aktuelle Forschungsthemen sind Themen wie die Wiederverwendung von Modelwissen (Stichwort Transfer Learning), möglichst effiziente Umsetzung von Netzen um sie auch auf embedded Systemen einsetzen zu können sowie die Erklärbarkeit von neuronalen Netzen. Angewendet werden die Deep Learning Methoden im medizinischen und industriellen Umfeld.
Ein relativ neuer Schwerpunkt des SCCH ist auch Secure Software Analytics. Worum geht es dabei?
Die steigende Bedeutung von Security und Privacy in einer zunehmend vernetzten Welt, in der immer mehr Daten erfasst und verarbeitet werden, ist unbestritten. Unsere Expertise im Bereich Software Engineering hat sich sehr stark auf Qualität konzentriert. Fragen wie zum Beispiel „Wie können Qualitätsprobleme in der Software erkannt und behoben werden?“ oder „Wie können Tests eine möglichst große Abdeckung erreichen?“ standen im Mittelpunkt. Mittlerweile ist aber auch Security ein wichtiges Qualitätsmerkmal, das besondere Aufmerksamkeit während des Softwareengineerings erfordert. Wir wollen daher unsere Software-Analyse-Methoden zum Erkennen und Vermeiden von Security-Problemen während des Softwareengineerings, aber auch im Betrieb, zum Monitoring verwenden. Das bietet ein Sicherheitsnetz und erhöht die Sensibilität für Security im Softwareengineering. Darüber hinaus werden wir uns mit sicherer Software-Architektur auseinandersetzen und mit Methoden zur Individualisierung von Software um die Anfälligkeit von „Software-Monokulturen“ zu vermeiden.
Wie kann die Qualität in Software Science und Data Science sichergestellt werden?
Softwarequalität hat viele Aspekte, die einzeln betrachtet werden müssen. Vielfach wird unter Qualität verstanden, dass die Software so funktioniert wie sie soll. Dabei ist es wichtig, dass alle ein gleiches Bild vom Soll haben. Die Anforderungen sind daher Ausgangsbasis für die Entwicklung der Qualitäts- oder der Teststrategie. Gleichzeitig erfordert die notwendige Entwicklungsgeschwindigkeit und die Komplexität der Software hochautomatisierte Analyse-Umgebungen zur Sicherstellung der Qualität.
In Zukunft wird nicht nur die Ausführung automatisiert sein, sondern auch die Erzeugung der Testfälle um eine breitere Testabdeckung erreichen zu können. Dazu müssen Modelle des gewünschten Softwareverhaltens erstellt werden, die als Basis für die Testfallgenerierung dienen. Zusätzlich werden zunehmend statische und dynamische Software-Analyse-Methoden Probleme bereits vor Ausführung der Software erkennen. Durchgängiges Tracing und künstliche Intelligenz werden bei der Fehlersuche und Behebung helfen.
Welche Rolle spielen moderne Softwareentwicklungsansätze wie Agile Development in diesem Zusammenhang?
Moderne Softwareentwicklungsansätze adressieren die agile Natur und die Komplexität von Softwareprojekten. Man entwickelt in kleinen Schritten und holt währenddessen permanent Feedback ein. Das erfordert eine vollständige Automatisierung des Softwareengineerings und der Qualitätssicherung um zu jeder Zeit ein geprüftes, lauffähiges System zu haben. Wir verwenden zum Beispiel moderne Virtualisierungsmethoden wie Docker, die es überhaupt erst ermöglichen, eine Vielzahl von Frameworks in unterschiedlichen Versionen schnell zu testen und zu verwenden.
Be the first to comment