6
www.bt-magazin.de 38 bt | 1.2013 Software Engineering Cyber-Physical Systems, emergente Software, Smart Ecosystems – was ändert sich wirklich? Softwareentwicklung 2020 ©iStockphoto.com/gmutlu

Softwareentwicklung 2020 - Fraunhofer IESE · kann dem Emergenzprinzip [4] folgen. Dabei müssen jedoch unter allen Umständen die Funktionalität und die qualitativen Eigenschaften

Embed Size (px)

Citation preview

www.bt-magazin.de38 bt | 1.2013

Software Engineering

Cyber-Physical Systems, emergente Software, Smart Ecosystems – was ändert sich wirklich?

Softwareentwicklung 2020

©iS

tock

phot

o.co

m/g

mut

lu

39bt | 1.2013www.bt-magazin.de

Vernetzung – der domänenübergreifende Megatrend für Soft-

ware und Systeme – ist die Herausforderung für Entwicklungsor-

ganisationen in der Zukunft. Zukünftig werden Softwaresysteme

offen gestaltet werden, sodass die Zusammenarbeit mit ande-

ren, zur Entwicklungszeit unbekannten Systemen ermöglicht

wird. Dabei muss eine hohe, systemübergreifende Qualität von

Anfang bis Ende der Systemkette erreicht werden. Damit dies

möglich wird, müssen sich auch die Entwicklungsorganisationen

hinter den Systemen wandeln. Partizipative Softwareentwick-

lung, also die offene Zusammenarbeit über Organisationsgren-

zen hinweg, ist der Schlüssel zum Erfolg bei der Softwareent-

wicklung 2020.

AUTOREN: JENS KNODEl UND CHRiSTiAN WEbEl

In modernen Unternehmen ist Software schon heute der entscheidende Treiber für Produkt- und Prozessinnovationen geworden. Alleinstellungs-merkmale gegenüber der Konkurrenz werden dabei zunehmend durch die Vernetzung der eigenen Software mit anderen Systemen erzeugt. Die Basis für die Entwicklung dieser Software der Zukunft ist ein Paradigmenwechsel in der Software industrie: weg von monolithischen Einzelsystemen hin zu of-fenen, vernetzten, skalierbaren und dienstorientierten Software Ecosystems. Abbildung 1 verdeutlicht diesen Trend. Dabei lassen sich traditionell zu-nächst zwei unterschiedliche Systemklassen charakterisieren:

•Informationssysteme: Ein Informationssystem beschreibt im Allgemeinen „die Summe aller geregelten betriebsinternen und -externen Informations-verbindungen sowie deren technische und organisatorische Einrichtung zur Informationsgewinnung“ [1] und -verarbeitung. Informationssysteme sind häufig prozessorientierte Systeme zur Unterstützung und/oder Auto-matisierung von Geschäftsprozessen.

•Eingebettete Systeme: Ein eingebettetes System ist ein stark anwendungs-orientiertes System zur produktintegrierten Kontrolle, Überwachung und/oder Regelung eines technischen Prozesses mittels Sensoren und Aktuato-

©iS

tock

phot

o.co

m/g

mut

lu

www.bt-magazin.de40 bt | 1.2013

ren. Die Recheneinheit ist hier im Gegensatz zu den Informationssystemen direkt in den technischen Kon-text integriert.

Daneben ist in den letzten Jahren im Geschäftsumfeld, auch aufgrund ihrer Popularität im privaten Bereich, eine dritte Systemklasse entstanden – die mobilen Sys-teme. Diese sind nicht eindeutig den Informationssys-temen oder den eingebetteten Systemen zuzuordnen, da sie Eigenschaften beider Systemklassen aufweisen.

•Ein mobiles System besteht aus mindestens einer Anwendung, die auf einem oder mehreren mobilen Endgeräten zum Einsatz kommt. Von mobilen Ge-schäftssystemen (oder -anwendungen) spricht man, wenn die mobile Anwendung mindestens einen Ge-schäftsprozess unterstützt bzw. erweitert.

Der Trend der Vernetzung wird in den beiden zuerst ge-nannten Systemklassen stets weiter vorangetrieben, und vermehrt werden auch mobile Systeme in die Abläufe integriert. Emergente Unternehmenssoftwaresysteme [2] stellen dabei die nächste Evolutionsstufe für Informati-onssysteme dar und ermöglichen das Internet der Diens-te. Vernetzte eingebettete Systeme hingegen werden zu Cyber-Physical Systems (CPS) [3] und führen schließlich zum Internet der Dinge.

•Emergente Unternehmenssoftwaresysteme: Dies sind komponentenbasierte Informationssysteme, die durch

Integration, Kombination und Veränderung von Soft-warekomponenten unterschiedlicher Hersteller entste-hen. Die Integration und Kombination muss in dieser Form nicht zwangsläufig vorgeplant sein, sondern kann dem Emergenzprinzip [4] folgen. Dabei müssen jedoch unter allen Umständen die Funktionalität und die qualitativen Eigenschaften des Gesamtsystems er-halten bleiben oder wertschöpfend verbessert werden. Durch dieses intelligente Verknüpfen von vorhande-nen Angeboten und das Hinzufügen von ergänzenden Komponenten und Dienstleistungen können in kurzer Zeit völlig neue Produkte oder Prozesse entstehen. Anwender emergenter Unternehmenssoftware erhal-ten individuelle Lösungen „aus einem Guss“ – durch einfache Zusammenstellung von Standardlösungen mehrerer Anbieter. Der Vorteil ist ein wartungsarmes Produkt (aus Sicht des Anwenders), das mit geringen Investitionen angeboten werden kann. Geschäftsmo-delle können so flexibilisiert und marktorientierter be-trieben und in Software abgebildet werden.

•Cyber-Physical Systems (CPS): Sie beschreiben die enge Integration von eingebetteten Systemen über dedizierte Kommunikationsinfrastrukturen mit dem Internet [5]. Mithilfe von Sensoren und Aktuatoren erfolgt eine Repräsentation der physikalischen Welt durch digitale Objekte, was zum einen neue An-wendungen mit hohem wirtschaftlichem Potenzial ermöglicht, zum anderen aber auch eine sehr hohe Komplexität mit sich bringt. In Anbetracht der Tat-sache, dass es sich bei den meisten dieser Systeme um

Abb. 1: informationssysteme und eingebettete Systeme entwickeln sich zu Smart Ecosystems

41bt | 1.2013www.bt-magazin.de

sicherheitskritische Systeme handelt, ist die Fähigkeit eines Unternehmens, die Qualität eines Systems si-cherzustellen und zu garantieren, ein Schlüsselfaktor dafür, dass mit dem eigenen System als Teil eines CPS auch wirklicher Geschäftserfolg erzielt werden kann.

Die Treiber der beiden neuen Systemklassen sind unter-schiedlich. Bei emergenten Unternehmenssoftwaresys-temen wird eher der Geschäftsprozess optimiert: Triebfeder sind die Informationssysteme, die Top-down durch Verfügbarkeit von Daten aus eingebetteten Syste-men in Echtzeit kontrollieren und reagieren können. Im Gegensatz dazu stehen die technischen Regelungs- oder Überwachungsprozesse bei den Cyber-Physical Systems im Vordergrund: Hier sind die eingebetteten Systeme die Triebfeder. Sie optimieren Bottom-up durch Kom-munikation mit anderen eingebetteten Systemen die technischen Prozesse. Schon heute wird beispielsweise in der chemischen Industrie durch vertikale Integra-tion eine Verzahnung von Informationssystemen und eingebetteten Systemen angestrebt, angefangen bei der Unternehmensebene (ERP) über die Betriebs- und Pro-zessleitebene (MES) bis hin zur Steuerungsebene (SPS) als Schnittstelle zum technischen Produktionsprozess mit Sensoren und Aktuatoren. Und über standardisier-te Schnittstellen können Prozesse auf jeder Systemebene unternehmensübergreifend gekoppelt werden.

Smart ECoSyStEmSEs lässt sich schon heute absehen, dass diese beiden Systemklassen zukünftig immer weiter zusammen-wachsen werden. So genannte Smart Ecosystems sind die nächste Evolutionsstufe. Sie schlagen eine Brücke zwischen der Domäne der Informationssysteme und der der eingebetteten Systeme. Sie vernetzen emergen-te Systeme und CPS zu einem einzigen Ökosystem, in dem Internet der Dienste, Dinge, und Daten miteinan-der verschmelzen. Geschäftsprozesse und technische Prozesse sind gleichwertig und beeinflussen sich gegen-seitig. Optimierungen werden aus globalen Gesichts-punkten durchgeführt:

•Smart Ecosystems: In einem Software Ecosystem stel-len verschiedene Organisationen Daten, Funktionali-täten oder Services bereit, die zu innovativen Lösungen verknüpft werden können. Software Ecosystems wer-den als „smart“ bezeichnet, wenn sie nicht triviale Informationssysteme zur Erreichung von Unterneh-menszielen und nicht triviale eingebettete Systeme zur Erfüllung von technischen Zielen integrieren. Sie wir-ken dabei als eine Einheit, um gemeinsame übergeord-nete Ziele zu erreichen (die kein Einzelsystem alleine

erreichen könnte). In Smart Ecosystems werden dyna-misch kontextabhängige Informationen genutzt, wo-bei die einzelnen Systeme sich gegenseitig beeinflussen.

Einer der Hauptunterschiede zu heutiger Softwareent-wicklung in Smart Ecosystems ist die Offenheit. Neben der Öffnung der Systeme zur Laufzeit (die wir auch schon bei emergenten Systemen oder Cyber-Physical Systems beobachten können) werden auch die Organisa-tionen zur Entwicklungszeit über Unternehmensgrenzen hinweg geöffnet. Das einzelne Unternehmen wird in na-her Zukunft seine Produkte und Geschäftsmodelle nicht mehr alleine entwickeln, sondern sich im Verbund mit gleichwertigen Partnern zusammenschließen.

offEnE SyStEmE zur LaufzEitSmart Ecosystems ermöglichen das Verweben von An-wendungen und Prozessen über Unternehmensgrenzen hinweg sowie die dynamische Komposition von Diens-ten unterschiedlicher Anbieter zu neuen Diensten und deren agile Integration in die adaptiven Geschäftspro-zesse von Anwendern. Dabei werden Komponenten und Prozesse in das Ökosystem verlagert. Die zentra-le Voraussetzung dafür ist die Gewährleistung eines durchgängigen Niveaus an Sicherheit, Datenschutz und vor allen Dingen Dienstqualität. Dies muss so gesche-hen, dass mögliche Haftungsansprüche auf ein akzep-tables Niveau begrenzt, aber auch durchgesetzt werden können. Die Herausforderungen für die partizipative Softwareentwicklung ergeben sich direkt aus den An-forderungen. So müssen die für das Smart Ecosystem erstellten Komponenten in der Lage sein, sich an unvor-hergesehene Einsatzmöglichkeiten anzupassen, sowohl während der Entwicklungszeit als auch zur Laufzeit. Dabei dürfen jedoch keine kritischen Kerneigenschaften des Systems verletzt werden, was als weitere Heraus-forderung zur Entwicklungszeit die Qualitätssicherung bringt. Des Weiteren muss jede Komponente des Smart Ecosystems in der Lage sein, Daten über die Nutzung der Komponente in Echtzeit zu sammeln und zur Verfü-gung zu stellen. Diese Daten werden zum einen für die ständige Überwachung von Service-Level Agreements (SLA) zur Laufzeit benötigt, aber auch als Feedback für die Entwickler zur Wartung der Komponenten. Darü-ber hinaus müssen Vertrauensmodelle etabliert werden, und es müssen Mechanismen zur Daten(fluss)kontrolle im Smart Ecosystem vorhanden sein.

Die Integration von Komponenten oder Diensten kann typischerweise automatisiert über die Plattform eines Providers innerhalb des Ökosystems erfolgen, die entsprechende Mechanismen zur Erreichung der not-wendigen Offenheit bereitstellt. Für viele Unternehmen

www.bt-magazin.de42 bt | 1.2013

stellen Software Ecosystems eine elegante Möglichkeit dar, auch kleinere Kundengruppen oder Marktnischen zu adressieren, die für sich genommen nicht profitabel genug sind. Diese Unternehmen nutzen eine Ecosystem-Plattform, um ihre Standardsoftware externen Entwick-lern oder Dienstleistern zugänglich zu machen, die dann die originären Anwendungen anpassen, erweitern und im jeweiligen Nischenmarkt ausrollen.

PartiziPativE zuSammEnarbEit zur EntwiCkLungSzEit Das Zusammenspiel zwischen Entwicklungsorganisa-tionen wird sich von der Beauftragung im klassischen Auftraggeber-Auftragnehmer-Verhältnis hin zu einer ge-meinsamen, partizipativen Entwicklung von mehr oder weniger gleichberechtigten Partnern wandeln. Der End-kunde entscheidet letztendlich, welche Dienstleistungen von welchen Anbietern er in sein Smart Ecosystem inte-grieren möchte. Die Prinzipien des Software Engineer-ing werden eine besondere Art von Software Ecosystem etablieren, in dem über Organisationsgrenzen hinweg entwickelt wird. Hierzu müssen heutige Entwicklungs-methoden (z. B. agile Vorgehensweisen oder das V-Mo-dell) den zukünftigen Herausforderungen entsprechend angepasst werden.

Hochgradig komplexe Anwendungslandschaften wie Smart Ecosystems erfordern die Bündelung der Kom-petenzen der einzelnen Partnerorganisationen, um als Ganzes erfolgreich zu sein. Wegen der zu hohen Inves-titionskosten und des zu großen Risikos ist es ohnehin unwahrscheinlich, dass eine einzelne Organisation es anstrebt, ein komplettes Ökosystem zu gestalten. Viel-mehr wird der Nutzen im Zusammenspiel der einzelnen

Partner gesehen, um schnell und dynamisch auf neue Anforderungen zu reagieren.

Wie in Abbildung 2 gezeigt, gehen wir auch davon aus, dass das Entwickeln, Betreiben und Warten eines Smart Ecosystems signifikanten Einfluss auf die einzel-nen Rollen innerhalb der Wertschöpfungskette haben wird. Heute bestellt ein Kunde klassischerweise bei ei-nem Lösungsanbieter oder einem Systemintegrator ein fertiges Produkt. Was von diesem Produkt vom Lö-sungsanbieter selbst entwickelt oder durch einen Liefe-ranten erstellt wurde, ist oft nicht transparent, für den Kunden meist jedoch irrelevant. Diese Rollenverteilung wird sich in Zukunft ändern.

Kunden in einem Smart Ecosystem sind zwar wei-terhin Endanwender oder Unternehmen, die für eine bestimmte Dienstleistung zahlen, sie müssen sich al-lerdings viel stärker mit ihren eigenen Anforderungen, insbesondere hinsichtlich der nicht funktionalen Eigen-schaften, auseinandersetzen. Sie müssen in die Lage ver-setzt werden, aus dem Angebot der Dienstleistungen die für sie optimalen Dienste auszuwählen und zu nutzen. Hier sind beispielsweise mithilfe einer domänenspezi-fischen Sprache Anforderungen zu beschreiben, damit eine (teil-)automatisierte, aber optimale Auswahl, Kon-figuration und Komposition von vorhandenen Kompo-nenten oder Diensten unterschiedlicher Anbieter oder Lieferanten zur Realisierung eines Geschäftsmodells möglich ist.

Lösungsanbieter werden zu Dienstleistern und offe-rieren Mehrwertdienste durch Integration und Adaption von Komponenten und Diensten unterschiedlicher Lie-feranten. Ein Lösungsanbieter benutzt dabei im Gegen-satz zum Kunden die Komponenten und Dienste Dritter

Abb. 2: Verändertes Rollenmodell

43bt | 1.2013www.bt-magazin.de

nur, um seinen eigenen Dienst zu konstruieren. Er ist da-rüber hinaus gegenüber dem Endkunden für die bereit-gestellte Dienstgüte, beschrieben in einem Service-Level Agreement (SLA), verantwortlich. Da er üblicherweise mehr als einen Kunden hat, ist die große Herausforde-rung für ihn, die im Ökosystem bereitgestellte Leistung entsprechend der SLAs auf seine Kunden aufzuteilen. Auch muss er sein Risiko zwischen den SLAs zu seinen Kunden und seinen SLAs zu den Lieferanten abwägen. Die Rolle des Lösungsanbieters in einem Smart Eco-system ist wichtig, um die Notwendigkeit von spezifi-schen Methoden für die wertschöpfende Integration von Softwarekomponenten unterschiedlicher Hersteller bei gleichzeitiger Abwägung der genannten Risiken auszu-drücken.

Lieferanten stellen Funktionalitäten oder Dienstleis-tungen als wiederverwendbare Komponenten zur Verfü-gung. Diese Komponenten müssen einerseits hochgradig flexibel und anpassbar sein, andererseits aber auch eine gewisse Qualität und Stabilität aufweisen. Der Lieferant ist gegenüber dem Lösungsanbieter, aber auch gegen-über dem Endkunden für die Qualität seines Dienstes oder seiner Komponente verantwortlich, was für ihn ein gewisses Risiko birgt. Ein Lieferant benutzt in der Regel keine Komponenten oder Dienste Dritter.

Die Rolle des Lieferanten ist wichtig, um die Not-wendigkeit von neuartigen partizipativen Software-En-gineering-Methoden auszudrücken, beispielsweise zur Definition von Anforderungen an Komponenten oder Dienste ohne Kenntnis des finalen Einsatzes oder zur Be-schreibung von Komponententestverfahren ohne Kennt-nis der Zielkonfiguration.

zuSammEnfaSSungGenau wie die Systemklassen an sich wird sich auch das Software Engineering im Jahr 2020 wandeln. Ne-ben neuen Methoden, Prozessen, Techniken und Tech-nologien wird die größte Neuheit aus unserer Sicht die Offenheit in zweifacher Form sein. Zum einen werden Systeme offen entwickelt, sodass zur Laufzeit dynamisch beliebige, aber vertrauenswürdige Erweiterungen inner-halb des Ökosystems ausgeführt werden können. Zum anderen werden sich auch die Entwicklungsorganisati-onen öffnen müssen. Das klassische Auftraggeber-Auf-tragnehmer-Modell hat ausgedient. Es wird partizipativ – also gemeinsam zwischen gleichberechtigten Partnern – entwickelt werden. Hierzu müssen Organisationen zur Entwicklungszeit interne Informationen an Dritte weitergeben, sodass die eigenen Systeme erweitert oder adaptiert werden können. Aus unserer Sicht wird das schließlich zu globalen Teams führen, die über Unter-nehmensgrenzen hinweg gemeinsam Nutzen und Mehr-

Dr.-ing. Jens knodel leitet die Research Area „Smart Ecosystems“ am Fraunhofer-insti-tut für Experimentelles Software En-gineering (iESE) in Kaiserslautern, Deutschland. Er ist verantwortlich für Projektmanagement, Methodenent-wicklung und Technologietransfer in Forschungs- sowie industrieprojekten.

Dr.-ing. Christian webel ist seit 2008 Mitarbeiter am Fraun-hofer iESE in Kaiserslautern und ver-antwortlich für mehrere nationale und internationale Forschungskooperati-onen, darunter auch das leitprojekt EMERGENT des Software-Clusters. Daneben verantwortet er den bereich Dienstgüte (Quality of Service).

wert für alle beteiligten Partner erzeugen. Der Nutzen für Organisationen ergibt sich dabei aus dem möglichen Verkauf der gemeinsamen Mehrwertleistungen; zwi-schen den Organisationen selbst wird partizipativ, also offen, kollaborativ und gleichberechtigt, zusammenge-arbeitet. Das partizipative Software Engineering als Pa-radigma der Zusammenarbeit bietet Lösungen für die Herausforderungen bei der Entwicklung, beim Betrieb und bei der Evolution eines Smart Ecosystems, das sich aus Beiträgen verschiedener Partner über Organisations-grenzen hinweg zusammensetzt.

Links & Literatur[1] Gabler Verlag (Hrsg.), Gabler Wirtschaftslexikon: http://wirt-

schaftslexikon.gabler.de/Definition/informationssystem.html[2] liggesmeyer, P.; Rombach, D. (Hrsg.): „Software Engineer-

ing eingebetteter Systeme“, Heidelberg, berlin, Elsevier Spektrum-Verlag 2005, 585 Seiten, iSbN 3-8274-1533-0

[3] http://de.wikipedia.org/wiki/Emergenz[4] Frischbier, Sebastian; Gesmann, Michael; Mayer, Dirk; Roth,

Andreas; Webel, Christian: „Emergence as Competitive Advantage – Engineering Tomorrow's Enterprise Software Systems“, Proceedings of the 14th international Conference on Enterprise information Systems (iCEiS 2012), Wroclaw, Poland, July 2012, iSbN 978-989-8565-12-9

[5] Geisberger, Eva; broy, Manfred (Hrsg.): „agendaCPS – inte-grierte Forschungsagenda Cyber-Physical Systems“ (acatech STUDiE), Heidelberg u.a., Springer Verlag 2012