Keynotes
Continuous Software Engineering
Mittwoch, 09:00-10:00 Uhr, Pirouette
Sitzungsleitung: Uwe Zdun
Continuous Software Engineering ist seit Jahrzehnten ein kontinuierlich behandeltes Thema in der Forschung und der Praxis des Software Engineering. Traditionell fokussiert die kontinuierliche Softwareentwicklung auf Reverse und Re-Engineering Aktivitäten zur Weiterentwicklung langlebiger Softwaresysteme. In den letzten Jahren hat dieses Thema in der Praxis durch die Verfügbarkeit von leistungsfähigen Werkzeugen zur Automatisierung stark an Bedeutung gewonnen. Gleichzeitig ist eine Betonung automatisierter Qualitätssicherungsmaßnahmen zu beobachten. Continuous Integration und Continuous Delivery/Deployment sind dazu aktuelle Schlagworte. Für die kontinuierliche Softwareentwicklung ist es nun auch wichtig neben der Konstruktion und Weiterentwicklung von Software auch schon in der Entwicklung den späteren Betrieb im Rechenzentrum oder in eingebetteten Systemen zu berücksichtigen. Die DevOps-Bewegung zielt darauf ab die Zusammenarbeit von Softwareentwicklung (Dev für Development) und Betrieb (Ops für Operations) zu optimieren und Reibungsverluste zu vermeiden. In der (agilen) Softwareentwicklung ist es das Ziel, schnell viele Features bereitzustellen. Im Betrieb ist es das Ziel, stabile Dienste bereitzustellen – häufige Änderungen werden hier traditionell als unerwünscht angesehen. DevOps verfolgt nun den Ansatz viele, stabile Releases bereitzustellen. Die dazu erforderliche Qualitätssicherung und Effizienzsteigerung wird durch die Automatisierung von Entwicklungs- und Betriebsaufgaben erreicht. Generell führt die kontinuierliche Integration von Qualitätssicherungsmaßnahmen zu einer kontinuierlich hohen Qualität und damit zu vielen stabilen Releases. Zur kontinuierlichen Ãœberwachung der resultierenden Softwaredienste und auch der sogenannten Deployment-Pipelines muss möglichst viel automatisiert gemessen und überwacht werden (Monitoring). Durch DevOps bekommt das Thema Softwarearchitektur auch in der agilen Softwareentwicklung eine stärkere Bedeutung und Würdigung. Für DevOps ist es sinnvoll präskriptive und deskriptive Architektur-Modelle zu kombinieren. Präskriptive Modelle kommen aus der Softwareentwicklung (Forward Engineering). Deskriptive Modelle kommen aus der Beobachtung der im Betrieb befindlichen Softwaredienste (Reverse Engineering durch dynamische Analyse).
In diesem Vortrag werde ich diskutieren, warum Softwarearchitektur ein zentrales Artefakt an der Schnittstelle zwischen Entwicklung und Betrieb ist. Speziell Microservice-Architekturen und dem kontinuierlichen Monitoring der resultierenden Systeme kommt hier eine besondere Rolle zu.
Die Folien zu diesem Vortrag finden Sie unter http://eprints.uni-kiel.de/31415/.
Working with Robots in Smart Homes and Smart Factories – Robotic Co-Working
Donnerstag, 09:00-10:00 Uhr, Pirouette
Sitzungsleitung: Jens Knoop
Co-working is a new trend for integrating service robots into smart environments, such as homes or assembly lines of manufactories. Modern sensitive robots recognize human beings in their neighborhood and stop when touched, so that they can be integrated into their environment much better as in the past. Robots come out of the cage, and this creates a lot of opportunities for scalable automation in home and factory. In the future home, service robots will help elderly and handicapped people. In manufacturing lines in small and medium enterprises, simple steps can be taught to a smart robot, while the difficult steps can be left to humans. In both application areas, due to the safe integration into the smart environments, the investment costs for the use of robots sink considerably, and the degree of automation can be scaled accordingly. For industrial workshops, this new deployment model of sensitive robots will have a tremendous effect on all kinds of manufacture, because it shrinks the costs of robot-based automation and can be afforded by small companies. Thus, entire industries could make use of robots that did not deploy them so far. For the smart home, this means that once a sensitive service robot costs less than 20kEuro, the support of elderly people with automation-based services might become affordable and economic.
But how to software engineer these new friendly servants?