next up previous contents index
Nächste Seite: 8.4 Zusammenfassung Emergenz in Aufwärts: 8 Emergenz in der Vorherige Seite: 8.2 Bewältigung von Emergenz   Inhalt   Index

8.3 Gestaltung von Emergenz in der Softwareentwicklung

Ebenso interessant wie die Frage nach Bewältigung von Emergenz ist die Aufgabe Emergenz bewusst zu gestalten. Während im vorherigen Punkt eine lange Liste von Mittel aufgeführt werden konnte, ist dies für die Gestaltung von Emergenz in der Softwareentwicklung (noch) nicht möglich. Die Gestaltung setzt voraus, dass ein System geschaffen wird, in dem Nicht-Linearität und Nicht-Determinismus möglich sind, damit Selbstorganisation auftreten kann. Eine direkte Anwendung findet momentan lediglich durch Emergent Design53 statt. Hier erfolgt die Entstehung einer Softwarearchitektur durch die Anwendung eines dynamischen Prozesses. Es findet keine präzise Planung statt. Überarbeitungen sind erlaubt und werden direkt gefordert.

Es kann davon ausgegangen werden, dass die Mittel zur Bewältigung von Emergenz selbst in ihrer Gesamtheit Emergenz hervorrufen. ,,Die Verfahren und Prinzipien [von Extreme Programming]54 arbeiten zusammen und unterstützen einander gegenseitig, um eine Synergie zu erzeugen, die größer als die Summe der einzelnen Teile ist.`` (Bec00, S. 149) Dieser Punkt bedarf zukünftig weiterer Untersuchungen.

Wahrscheinlich existieren viele weitere Verfahren und Möglichkeiten zur Gestaltung von Emergenz in der Softwareentwicklung. So ist es durchaus denkbar das in der Sozionik entwickelte Agentenkonzept in der Softwareentwicklung umzusetzen. In dieser Vision sind autonome Agenten für das Design, die Implementierung, den Test und die Dokumentation einer Software verantwortlich. Lediglich die Analyse ist durch den Menschen durchzuführen und die daraus abgeleiteten Anforderungen den Agenten mitzuteilen. Dabei ist es vorstellbar, dass für verschiedene Teilbereiche der zu erstellenden Software verschiedene spezialisierte Agenten eingesetzt werden. Anhand der den Agenten übergebenen Anforderungen stellen diese Hypothesen für die zu entwickelnde Software auf. Eine Überprüfung der Hypothesen durch den Entwickler oder - idealerweise - durch den zukünftigen Nutzer, ist sinnvoll.

Dieser Ansatz der Softwareentwicklung beruht somit auf der Verarbeitung von Wissen. Dabei geht der Ansatz aber über die Nutzung einer logischen Programmiersprache wie Prolog oder Lisp hinaus, da explizit keine Programmierung durch den Menschen erfolgt. Auf der anderen Seite kann dieser Ansatz gegen Verfahren wie Model Driven Architecture abgegrenzt werden, da bei dieser Vision kein Design durch den Nutzer erfolgt, sondern lediglich die Analyse der Nutzeranforderungen. Das Design und die darauf folgenden Arbeitsergebnisse entstehen durch sich selbstorganisierende Agenten. Diese lassen sich somit nicht auf ,,intelligente Quelltextgeneratoren`` in ihrer Funktion reduzieren, da sie vor der eigentlichen Quelltextgenerierung zunächst ein Design entwickeln. Bereits heute existieren einige grundlegende Forschungsarbeiten zu dieser Vision, wie z. B. das Tropos Projekt (vgl. z. B. GPS02)55. Neben der Sozionik könnten die Erfahrungen aus der Künstlichen Intelligenz Forschung im Bereich Wissensrepräsentation (vgl. Gör00, S. 153ff) genutzt werden.

Im Bereich Gestaltung von Emergenz in der Softwareentwicklung sollten deshalb zukünftige Forschungsarbeiten ansetzen. Für die Beantwortung der Fragestellung dieser Arbeit bedeutet dies, dass im Bereich bewusster Gestaltung und Nutzung von Emergenz in der Softwareentwicklung noch gewaltige Chancen stecken und erst eine kleine Anwendung dieser Möglichkeit stattfindet.


next up previous contents index
Nächste Seite: 8.4 Zusammenfassung Emergenz in Aufwärts: 8 Emergenz in der Vorherige Seite: 8.2 Bewältigung von Emergenz   Inhalt   Index
Sebastian Stein 2004-08-30