Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

08.10.2004 - 

Hypes in der IT/Von der Komponenten- zur Agentenorientierung

Es tut sich was in der SW-Entwicklung

08.10.2004
Hypes in der Softwareentwicklung, gibt es die? In der Tat entdeckt der Beobachter bei genauerem Hinsehen einen spannenden Wettkampf der Methoden, findet Newcomer und Altmeister, Comebacks, Revivals und die Etappensieger einer ungewöhnlichen Entwicklungsgeschichte. Von Johannes Kelch*

Was macht eigentlich die Hype Softwaretechnik GmbH? Ist das eine Firma, die sich dem Hype, dem Rummel und der Publicity in der Software-Entwicklung verschrieben hat? Nein, protestiert der promovierte Mathematiker Frank Henningsen, Vorstandsmitglied des 2001 gegründeten Unternehmens. Der Firmenname leite sich nicht von "Hype" ab, sondern von "Hypertext". Das Start-up-Unternehmen sei eine Ausgründung aus der Daimler-Chrysler-Forschung, beschäftige sich "seriös" mit dem "Ideen- und Innovationsmanagement" und folge nie und nimmer irgendwelchen Software-Hypes.

Umstritten: Extreme Programming

Doch mit welcher Methode entwickelt die Firma Software? "Extreme Programming", auch bekannt unter dem Kürzel XP, sagt Henningsen. Für den Mathematiker ist das alles andere als ein Hype-Thema. Er prognostiziert, dass sich diese Vorgehensweise mehr und mehr durchsetzen wird. XP sei "schon sehr umfassend", eröffne "eine extrem breit gefächerte Palette von Möglichkeiten" und habe sich in der Praxis "unglaublich gut bewährt". Aus dem breiten Spektrum der XP-Möglichkeiten hat sich die Bonner Firma die "Projektsteuerung" sowie die Art des Umgangs mit dem Kunden, nämlich Mitsprache während der laufenden Arbeit, herausgepickt.

Eine sehr viel weniger gute Meinung von XP hat der Leiter des Fraunhofer-Instituts für experimentelles Software-Engineering IESE, Dieter Rombach. Der Hochschullehrer sieht für XP nur einen kleinen Ausschnitt an Einsatzmöglichkeiten - überall da, wo es auf besondere Qualität nicht ankommt. Mit XP werde man "nie garantieren können, dass etwas Gutes rauskommt". Wer versuche, eine Software mit einer Million Zeichen Code ohne Dokumentation vom TÜV abnehmen zu lassen, werde Probleme bekommen, gibt der Fachmann für experimentelle Software-Entwicklung zu bedenken.

Skepsis gegenüber Komponententechnik

In der "agilen Software-Entwicklung", die neben XP noch andere umstrittene Methoden umfasst, sieht Dieter Rombach "die Gegenrevolution zum prozess- und planorientierten Vorgehen des Software-Engineering". Der Institutsleiter wörtlich: "Viele Programmierer, die quasi wie Hacker ausgebildet sind, fühlen sich durch das Software-Engineering stark eingeschränkt. Vor allem Firmen, die als chaotisch zu betrachten sind, geben vor, XP zu betreiben, und versuchen damit lediglich, ihr technisch mangelhaftes Vorgehen zu kaschieren."

Wie XP verspricht die "Komponententechnologie", die Software-Entwicklung erheblich zu beschleunigen. Doch hat sich die verblüffend einleuchtende Idee durchgesetzt, Software-Systeme unter Einsatz ausgeklügelter, gründlich getesteter, plattformunabhängiger und auf dem Markt käuflicher Bauteile zu entwickeln? Vor fünf bis zehn Jahren wurde diese Idee vom Max-Planck-Institut für Informatik in Saarbrücken propagiert. Was ist aus dieser Idee geworden?

Die Firma Algorithmic Solutions, eine Ausgründung aus dem Institut, verfügt heute über drei Software-Bibliotheken. Es handelt sich dabei laut Web-Auftritt der Firma um die "weltweit umfangreichste Sammlung effizienter Algorithmen und Datenstrukturen". Doch Software-Komponenten sind nach Angaben von Geschäftsführer Christian Uhrig "nicht der Markt, auf dem man das meiste Geld verdient". Komponenten herzustellen sei derzeit "keine Garantie für Erfolg". In anderen Themen, zum Beispiel Bioinformatik, sei "mehr Hype drin".

Am besten läuft das Komponentengeschäft noch mit den USA und Japan. Hingegen besteht in Deutschland nur verhaltenes Interesse, obwohl die in Saarbrücken ansässige Firma hier beraten und helfen könnte. Christian Uhrig erklärt dies damit, dass Firmen in Deutschland traditionell Kompetenzen intern aufbauen, in das Know-how der Mitarbeiter investieren und sich nicht von externen Lösungen abhängig machen wollen. Demgegenüber sei in den USA angesichts des allgegenwärtigen "hire and fire" die Bereitschaft, Kompetenz einzukaufen und vorgefertigte Lösungen einzusetzen, weitaus stärker ausgebildet.

Das Themenkarussell dreht sich weiter

Gewisse Erfolge sind der Komponententechnologie nicht abzusprechen. So ist nach Uhrigs Beobachtung zumindest firmenintern die Wiederverwendung einmal produzierter Komponenten durchaus üblich. Und einige käufliche Komponenten sind sehr wohl gefragt: Uhrig nennt an erster Stelle "Graphen", "Netzwerk-Algorithmen" sowie vorgefertigte Software für das "Geometrische Rechnen".

Komponententechnologie klingt nicht mehr aufregend, sorgt für keine Schlagzeile, reizt nicht zum Diskutieren. So dreht sich das Themen-Karussell weiter: "Autonomous Computing", "Ubiquitous Computing", "Ambient Intelligence", "Pervasive Computing", "Mobile Computing", "Semantic Web Engineering".

Eines der jüngsten und spannendsten Themen für Entwickler ist das "agentenorientierte Software Engineering" (AOSE). Zahlreiche Unternehmen engagieren sich inzwischen in diesem Arbeitsgebiet, und agentenorientierte Software wird von IBM, Microsoft und SAP thematisiert oder eingesetzt. Einige Großunternehmen, zum Beispiel Siemens, unterhalten sogar Forschungsabteilungen, die sich mit "Agenten" beschäftigen. Darüber hinaus haben sich Start-ups der Agententechnologie verschrieben, so beispielsweise Agentscape, Agentbuilder, Agentis oder Whitestein.

Devices mit Herz, Hirn und Emotionen

Wer auf den Websites solcher Newcomer recherchiert, gewinnt den Eindruck, die Entwicklung virtueller Agenten gehöre längst zum Alltag, passende Entwicklungswerkzeuge seien bereits verfügbar, Produkte eingeführt und bewährt, ihr Nutzen durch Fallstudien mehrfach nachgewiesen. So bewirbt die amerikanisch-australische Firma Agentbuilder das gleichnamige "software toolkit, das es Entwicklern erlaubt, rasch intelligente Software-Agenten und Agenten-basierende Anwendungen zu entwickeln".

Das Berliner Start-up Agentscape hingegen entwickelt nach eigener Darstellung "sozial-intelligente Mensch-Maschine-Schnittstellen mit Hilfe von Agententechnologie". Wörtlich heißt es auf der Website: "Wir halten es für essentiell, dem Web und anderen digitalen Devices Herz, Hirn und Emotionen zu verleihen." Ein Agent mit Hirn und Herz aus der Berliner Firma ist der "Cyb", ein virtueller Butler, persönlicher Freund und Assistent, der seinen User schrittweise kennen lernt, ihm den Umgang mit Computer und Internet erleichtert, von ihm ein Profil erstellt und es im Web veröffentlicht.

Handelt es sich bei der AOSE überhaupt um einen ernst zu nehmenden Ansatz? Gerhard Weiß, Informatiker und Experte für Künstliche Intelligenz an der Technischen Universität München, sieht in der Agentenorientierung "eine qualitativ neue, im Entstehen begriffene Systembetrachtungsweise". Er bescheinigt ihr ein "sehr hohes Potenzial" im Kontext der Software-Entwicklung, da sie kompatibel mit anderen bereits etablierten Orientierungen sei (Objekt-, Komponenten-, Aufgaben- und Prozessorientierung). Aufgrund der wachsenden Komplexität von IT-Systemen durch Vernetzung, Offenheit und Dynamik müsse Software "zwangsläufig" mit mehr Autonomie, Flexibilität und Interaktivität - eben den Eigenschaften von Agenten - ausgestattet werden.

Als Anwendungsbeispiel nennt Weiß einen persönlichen Software-Reiseassistenten, der für seinen menschlichen Benutzer eine Geschäftsreise organisiert, Flüge, Hotel und Mietauto auswählt, auf Wunsch gleich bucht und auch noch Veranstaltungsvorschläge für freie Abende macht. Solch ein Reiseassistent muss laut Weiß in der Lage sein, die Interessen seines Benutzers zu berücksichtigen, wie Kostenrahmen und bevorzugte Fluggesellschaften, und mit anderen Softwareagenten zu verhandeln, etwa dem eines Reisebüros. Weitere typische Szenarien für den Einsatz von Software-Agenten sind Wissens-Management, Fertigungssteuerung und Logistik.

Agentenbegriff inflationär verwendet

Gerhard Weiß warnt jedoch vor einer "inflationären und zu wenig reflektierten Verwendung des Agentenbegriffs". Es sei "sehr bedauerlich, wenn herkömmliche Software, die keine Autonomie, Flexibilität und Interaktivität aufweist, nur ein neues Label aufgedruckt bekommt". Die oberflächliche Verwendung des Agentenkonzepts könne eine sinnvolle agentenorientierte Systemrealisierung "erschweren oder sogar unmöglich machen". Das Potenzial des neuen Ansatzes würde dadurch "abgewürgt".

Fachmann Weiß wendet sich entschieden gegen jeglichen Hype in der Darstellung der AOSE als einer völlig unproblematischen Technologie. Agentenorientierte Software befinde sich, wenn auch erfolgreich, erst seit wenigen Jahren auf dem Weg von den Forschungsstätten in die breite kommerzielle und industrielle Anwendungspraxis. Zahlreiche Entwicklungswerkzeuge für AOSE seien frei erhältliche "Prototypen".

Agentenorientierung als Softwareprinzip stellt laut Gerhard Weiß hohe Anforderungen an Systemsicherheit und Datenschutz. Schließlich ist für den Experten die schnelle "Anbindung des agentenorientierten Software-Ansatzes an praxisrelevante Qualitäts- und Entwicklungsstandards" eine große Herausforderung. (bi)

*Johannes Kelch ist Wissenschaftsjournalist in München.

Hier lesen Sie ...

- welche Vorgehensweisen sich in der Softwareentwicklung während der vergangenen Jahre etabliert haben;

- wie Fachleute die unterschiedlichen Vorgehensweisen beurteilen;

- welche Methoden als besonders schnell gelten;

- wie es generell um den Erfolg bestimmter Verfahren bestellt ist;

- wo Softwareentwicklung noch eine Herausforderung ist.

Interview

CW: Was halten Sie von "Agile Development" und "Extreme Programming", kurz XP?

ROMBACH: Es kommt immer darauf an, was damit gemacht wird. Überall, wo es um nachweisbare Qualität geht, sind diese Methoden nicht geeignet. Die Steuerung eines Flugzeugs lässt sich ohne prozess- und planorientiertes Vorgehen nicht programmieren. Bei einer Website mag es unerheblich sein, ob sie funktioniert oder nicht, aber schon bei einem Bankenportal ist das anders. Große Projekte mit vielen Mitarbeitern - Stichwort: Toll-Collect - lassen sich ohne Dokumentation und Plan nicht erfolgreich durchführen.

CW: Open Source ist in aller Munde. Wie beurteilen Sie diese Bewegung?

ROMBACH: Grundsätzlich ist es gut, wenn viele Entwickler in einer Gemeinschaft etwas entwickeln - auch wir am Fraunhofer IESE arbeiten bei manchen Projekten so. Open-Source-Produkte sind aber nicht für alles einsetzbar. Wenn Sie für ein sicherheitskritisches Produkt, zum Beispiel ein Antiblockier-System (ABS), die Verantwortung bis hin zur Haftung übernehmen müssen, können Sie sich nicht bedenkenlos auf Open-Source-Software verlassen. Leider reagiert die Open-Source-Gemeinde unverständlicherweise empfindlich auf die Aussage, dass ihre Produkte nicht für alle denkbaren Anwendungsfälle gleichermaßen gut geeignet sind.

CW: Ist aus Ihrer Sicht die Unified Modeling Language, kurz UML, ein Hype-Thema?

ROMBACH: Diese Methode zur Modellierung von Prozessen hat den großen Vorteil, dass man die gleiche Art von Modellen sowohl auf Anforderungs- als auch auf Entwurfsebene nutzen kann. Sie ist eine Alternative zur bisherigen "Kraut- und Rüben-Modellierung" nach unterschiedlichen und bisweilen zueinander inkompatiblen Modellen. Für Praktiker hat sie allein dadurch schon große Vorteile. Theoretiker se- hen aber den Nachteil, dass die grafischen Modelle nicht wirklich formal in ihrer Bedeutung sind. Dies lässt unterschiedliche Interpretationen zu und damit ist eine Verifikation nicht möglich. Die fehlende formale Semantik macht UML problematisch bei der Programmierung sicherheitskritischer Systeme. Aus der Sicht des Ingenieurs muss man sich über die Stärken und Schwächen von UML im Klaren sein.

CW: Komponententechnologie ist vor vier bis fünf Jahren propagiert worden. Was meinen Sie dazu?

ROMBACH: Der Anteil wiederverwendbarer Komponenten muss größer werden. Voraussetzung für den Einsatz von Komponenten ist aber, dass man alle relevanten Fakten zu deren Wiederverwendung zur Verfügung hat - von der präzisen Spezifikation der Komponente über die ihrer Schnittstellen bis zu den Testergebnissen. Derzeit funktioniert die Wiederverwendung von Komponenten meistens nur firmenintern. Irgendwann werden jedoch Bibliotheken verfügbar sein, die zu den Komponenten die nötige Zusatzinformation bieten und schließlich den Firmen übergreifenden Einsatz ermöglichen. Es wird aber auch in Zukunft weiterhin Komponenten geben, die proprietär sind.

Dieter Rombach,

Leiter des Fraunhofer-Instituts für Experimentelles Software-Engineering IESE in Kaiserslautern.