Motivation
Software durchdringt heute alle Bereiche der Arbeitswelt und Gesellschaft. Öffentliche Verwaltung sowie Leitung und Organisation von Unternehmen sind ohne Software nicht mehr vorstellbar. In jedem Haushalt finden sich softwaregesteuerte Geräte. In der Regel steht die Software nicht allein, sondern ist in Geräte (Hardware und Elektronik) oder Geschäftsprozesse (Wertschöpfung in Unternehmen) eingebettet.
Das Problem
Die kontinuierliche Steigerung der Größe und Komplexität von Software-intensiven Systemen hat inzwischen dazu geführt, dass Software-intensive Systeme die komplexesten von Menschen geschaffenen künstlichen Systeme sind. Diese kontinuierliche Weiterentwicklung ist zu einem Punkt gekommen, an dem klassische Methoden und Verfahren der Informatik an ihre Grenzen stoßen und auf Dauer nicht weiter skalieren werden. So wie im Bereich der klassischen Ingenieurwissenschaften ein einzelnes Gebäude noch zentral planbar, erklärbar und realisierbar ist, aber für die Planung, Entstehung und Entwicklung einer Stadt ganz andere Modelle, Mechanismen und Paradigmen erforderlich sind, so steht auch die Informatik vor einem Paradigmenwechsel. Komplexe, vernetzte, eingebettete Systeme, große verteilte Informationssysteme, vernetzte, verteilte Software-intensive Systeme wie auch „Systems of Systems“ stellen spezielle Herausforderungen dar. Klassische Methoden der Softwareentwicklung und Validierung sind nicht mehr ausreichend, um die Sicherheit und Zuverlässigkeit dieser Systeme zu gewährleisten. Darüber hinaus ist es auf Grund der hohen Vernetzungs- und Interaktionsdichte nicht mehr zielführend, einzelne Softwaresysteme isoliert von ihrer Umgebung zu betrachten.
Unser Lösungsvorschlag: Das IT-Ökosystem
Wir schlagen deshalb vor, diese Systeme stattdessen als Teil eines größeren IT-Ökosystems aufzufassen. In Analogie zu dem Begriff des Ökosystems aus der Biologie, ist ein IT-Ökosystem eine sich stetig verändernde Gemeinschaft von unabhängigen, teilweise kooperierenden und konkurrierenden Individuen. Dazu gehören im IT-Ökosystem die Menschen, die komplexen Software-intensiven Systeme, deren Komponenten einzeln mit der Umgebung interagieren, die aber auch mit anderen rechnerbasierten Systemen in vielfältiger Weise kommunizieren, kooperieren und sich abstimmen müssen, ihre physikalische Umgebung, sowie die sie umgebende Umwelt. Wie in jedem Ökosystem basiert auch ein IT-Ökosystem auf dem Konzept der Autonomie der einzelnen Individuen, die allerdings in vielfältiger Weise interagieren. Eine zentrale Frage ist daher aufgrund der Komplexität die Beherrschbarkeit des Ökosystems. Das Verhalten des Ökosystems wird durch ein zugrundeliegendes Regelsystem festgelegt. In einem funktionierenden Ökosystem kommt es zu einem Gleichgewicht zwischen den Kräften der beteiligten Individuen (Autonomie) sowie dem Regelsystem des Ökosystems (Beherrschbarkeit). Ist dieses Gleichgewicht gestört, zerbricht das Ökosystem: Die Beherrschbarkeit ist nicht mehr gegeben. Möchte man ein IT-Ökosystem am Leben erhalten und kontinuierlich weiter entwickeln, so ist es notwendig dieses Gleichgewicht zu verstehen.
Es ist nicht möglich, ein solches IT-Ökosystem in einem Stück im Voraus zu planen und zu entwickeln. Die damit einhergehende Globalisierung und verteilte Entwicklung großer Softwaresysteme stellt neue Herausforderungen an Spezifikation, Entwicklungsprozesse und Validierung. Das Paradigma des Ökosystems ist ebenfalls auf die hier erforderlichen allgemeineren Entwicklungsprozesse anwendbar. Denn auch hier besteht das Spannungsfeld zwischen der Autonomie der beteiligten Gruppen und der Beherrschbarkeit des Gesamtprozesses.
Autonomie als zentrales Konzept
Autonomie in IT-Systemen wird bereits als viel versprechendes neues Paradigma vorgeschlagen. Zahlreiche aktuelle Forschungsinitiativen setzen bereits auf diesen Ansatz. (auch an den beteiligten Standorten wird dieser Ansatz bereits verfolgt). Dabei betrachtet man zunächst kleine Teilsysteme mit beherrschbarer Komplexität, deren Verhalten und Interaktion autonom beschrieben und entwickelt wird. Emergenz, Selbstorganisation, Selbstoptimierung, Selbstüberwachung, Selbstheilung (Self-X-Ansätze) werden untersucht. Im Rahmen des hier vorgeschlagenen Forschungsprogramms möchten wir diese Ansätze nutzen und weiterentwickeln. Die zentrale Frage ist die Beherrschbarkeit des IT-Ökosystems. Dabei geht es einerseits um die kontinuierliche Sicherstellung der gewünschten Funktionalität, andererseits und darüber hinausgehend um die Qualitätssicherung im weitesten Sinn (Kosten, Performanz, Anpassbarkeit, Berücksichtigung weiterer nicht-funktionaler Randbedingungen wie zum Beispiel Standards und gesetzliche Vorgaben).
Durch das Forschungsprogramm soll das Paradigma der IT-Ökosysteme – unter gleichrangiger Behandlung der Fragen Autonomie und Beherrschbarkeit – konkretisiert und durch die Entwicklung entsprechender Methoden und Werkzeuge umgesetzt werden. Die in den Forschungsprojekten entstehenden Ansätze werden parallel zu ihrer Weiterentwicklung anhand der gemeinsamen Anwendungsvision Smart City kontinuierlich evaluiert und gegenseitig abgestimmt.
Gebündelte Kompetenz an drei Standorten
Die drei beteiligten Standorte bieten herausragende Kompetenzen zur Bearbeitung dieses Forschungsfelds. Beispielhaft seien hier die Forschungsgruppen zu den Themenbereichen Multiagentensysteme, Organic Computing, Ambient Intelligence, Softwaretechnik und eingebettete Systeme genannt. Darüber hinaus sind die drei Standorte in den Anwendungsdomänen Produktion, Verkehr und Energietechnik besonders ausgewiesen. Diese Kompetenzen fließen in den Anwendungsbereich Smart City ein.