Home
Seminarband - Informatik
Contents
1. O gt i r u LAO PH s fez pr LAO P az o jan ye ml LAO ml i Jopo 1 Waar WEN WPLY N DIEN hu LO L i L L f v KI 4 0 wo sAS USYJISJI9A WI 9SSIZOLG A9PUV BPMN Verteilter wechselseitiger Ausschluss Variante 2 Abbildung 26 Modellierung paralleler Abl ufe in OC Systemen 89 5 Schluss Jedes Modell ist eine Vereinfachung der Wirklichkeit Viele Datails l t man weg dadurch wird die Komplexit t des Problems reduziert und gleichzeitig w chst die bersichtlichkeit und die Verst dnlichkeit des Modells Welche Details wesent lich und welche unwesentlich sind h ngt von der gew nschten Perspektive vom Blickwinkel auf das Problem Bei den Sequenzdiagrammen werden die Interak tionen zwischen den Kommunikationspartnern als wesentlich betrachtet Nach welchen Regeln die Nachrichten gesendet werden l t sich aud den Sequenzdia grammen nicht ablesen Bei Business Process Diagrammen BPD werden wie der Name schon sagt die Organisationsabl ufe als wesentlich betrachtet Die Kommunikation zwischen den Prozessen in verteilten Systemen l t sich mit Pools darstellen Die bersichtlichkeit der Diagramme sinkt allerdings drastisch wenn mehr als 2 kommunizierende Prozesse modelliert werden sollen Viele Systeme sind reaktiv d h sie m ssen auf Umweltreize reagieren um irgendwelche Aktionen anzusto en triggern Ausl ser f r Events k nnen z B sein ankom
2. Gerade dort wo Skalierung wichtig ist viele if else Bedingungen auftreten und schnell Regel nderungen umgesetzt oder ausgef hrt werden m ssen ist eine Rule Engine ideal RuleML stellt einen Ansatz zur standardisierten Beschreibung von Regeln auf Basis von XML dar und bietet Elemente zur Implementierung von ver schiedenen Logik und Regelsystemen Das aktuelle RuleML Design ist eine Hierarchie von Regeln und Die Wurzel dieser Hierarchie bildet Rules Dann verzweigt sie sich in Reactionen Rules und Transfomation Rules die selbst sich weiter unterteilen Drools ist ein Open Source vorw rtsverkettendes Rule Engine Drools stellt ihre Notation auf der Basis der Metasprache XML mit eingebettetem Java Code in eine gute Kombination Drools ist eigentlich eine Klassenbibliothek in Java die sich einfach und problemlos in eigene Java Anwendungen integrieren l sst Literatur rm J Baydoun Regelsprachen institut f r informatik fh berlin 2005 Unter http www ag nbi de Lehre 05 S_MOD Regelsprachen_ 180505 pdf Zu griff 25 02 08 H Beck Einsatz von Rule Engines zur flexiblen Wissensverarbeitung im betrieb lichen Umfeld Bachelorarbeit an Fachhochschule Darmstadt 2005 C Beierle and G Kern Isberner Methoden wissensbasierter Systeme Vieweg Verlag p71 2006 C Beierle and G Kern Isberner Methoden wissensbasierter Systeme Vieweg Verlag p78 2006 C Beierle and G Kern Isberner Methoden wissensbasiert
3. Controller Observer Parts of observer Interface for communication Interactions Abbildung 8 Architektur der AMUN Middleware 12 8 47 Wenn man die gesamte AMUN Architektur mit der Observer Controller Archi tektur vergleicht stellt man fest dass der System Monitor genau unser Observer ist und der Autonomic Manager der Controller 12 S 47 3 4 3 Zeroth Level Classifier System ZCS Ein weiteres praktisches Bei spiel f r eine verfeinerte Observer Controller Architektur ist das von Stewart W Wilson entwickelte Zeroth Level Classifier System ZCS Es besteht aus meh reren Komponenten was auch in Abbildung 9 demonstriert wird Sensoren Detektoren Sie empfangen und messen Parameter aus der Umwelt und geben sie bin r an die Classifier P weiter Einfiihrung in Organic Computing 19 Classifier P Hierbei handelt es sich im wesentlichen um Tupel aus Be dingung Aktion und St rke Bedingung und Aktion sind bin r codiert die Starke kann dezimal angegeben werden werden als Wildcards angesehen und k nnen f r 0 oder 1 stehen Die Classifier in P werden duch einen ge zielten genetischen Algorithmus erzeugt Die genaue Funktionsweise dieses Algorithmus kann je nach konkreter Implementierung variieren und soll hier der Einfachheit halber vernachl ssigt werden Im Prinzip sorgt er aber daf r dass alte Classifier die sich als zu schwach herausgestellt haben verworfen und neue bessere erstellt werden Eb
4. Abbildung 2 ASOC Design Methodologie und Autonomic Hardware Layer 23 Am Ende von Phase I steht nun neben einer Design Methode auch ein Hard ware Modell zur Verfiigung Dariiber hinaus existiert eine Selbstheilende CPU Pipeline die fehlertolerant ist Ein Selbstheilender BUS wurde ebenfalls entwi ckelt 3 4 3 Bewertung F r Phase II werden Monitore entwickelt um eine ausge glichene Zuverl ssigkeit der Performance gew hrleisten zu k nnen damit der Chip auch im Fehlerfall noch mit angemessener Performance weiter arbeiten kann Konzepte f r die Hardware und Software Implementierung sollen geschaf fen werden und die einzelnen Autonomic Elements AE des Autonomic Layers verbunden werden um einen emergenten Mehrwert zu bilden Endziel ist es einen ASOC Simulator und einen Prototyp zu erzeugen Es gibt viele Einsatzge biete f r eine derartige fehlertollerante Architektur Beispielsweise wenn einzelne Bereiche des Chips nicht mehr funktionieren oder nur eingeschr nkt bzw lang sam anzusprechen sind Der ASOC Chip k nnte diese Bereiche umlagern und somit eine maximale Fehlertoleranz erreichen Interessant w re ein derartiger Chip nicht nur f r den Organic Computing Bereich sondern auch f r viele weite re Anwendungsgebiete in denen Selbst Heilung und Fehlertoleranz unabdingbar sind ASOC ist ein vielversprechendes Konzept und erh lt mit zunehmendem Grad der physikalischen Transistorgrenzen immer gr ere Bedeutung SPP1183 Organ
5. nderungen an der Policy unter umst nden das gesamte System ver ndert werden muss um ihr angepasst zu werden Au erdem ist die Entwicklung mit diesem Ansatz sehr aufwendig da alle Zust nde die ein System einnehmen kann bereits zur Entwick lungszeit bekannt seien m ssen um die Reaktion des Systems festzulegen Bei der Gr e heutiger IT Systeme ist dies allerdings nicht mehr m glich Daraus resultieren Fehler im Verhalten und die Notwendigkeit Anpassungen vorzuneh men Eine weitere Herausforderung moderner Softwaresysteme ist dass mit zu nehmender Gr e neue Architekturen wie die komponentenbasierten Software oder Service Oriented Architecture Einzug gehalten haben Diesen neuen Para digmen is gemein dass ein System nicht als ein einziges monolithisches Gebilde aufgebaut ist sondern aus einer Vielzahl kleiner Bausteine besteht die jeweils einen kleinen Teil der Gesamtaufgabe erf llen Der Aufwand f r Konfiguration und Wartung immer hier drastisch zu da nicht nur jede Komponente f r sich konfiguriert werden muss sonder auch das Zusammenspiel der Komponenten untereinander Zudem sind solche System meist r umlich und logisch verteilt so dass die Konfiguration noch weiter erschwert wird Eine Gefahr die sich bei verteilten Systemen ergeben kann ist dass unerw nschtes emergentes Verhalten auftritt Darunter versteht man ein Verhalten dass nicht aus der Betrachtung der einzelnen Teile ableitbar ist Bei der blichen A
6. unterlagen 0C2 a pdf abgerufen am 24 02 2008 S Mostaghim and H Schmeck Organic Computing Architecture of OC April 2007 http www aifb uni karlsruhe de Lehre Sommer2007 0C unterlagen 0C3 pdf abgerufen am 24 02 2008 M Naylor Glossary Self organisation http www geos ed ac uk homes mnaylor Glossary html abgerufen am 24 02 2008 W Trumler J Petzold F Bagci and T Ungerer AMUN An Autonomic Middleware for the Smart Doorplate Project http ubisys cs uiuc edu proceedings_04 amun pdf abgerufen am 24 02 2008 W Trummler Organic Computing Vorlesung an der Universit t Augsburg April 2007 T Ungerer Smart Doorplate http www informatik uni augsburg de lehrstuehle sik forschung ubicomp smartdoorplate abgerufen am 24 02 2008 Wikipedia Architektur Informatik http de wikipedia org wiki Architektur_ 28Informatik 29 abgerufen am 24 02 2008 Wikipedia Darwinismus http de wikipedia org wiki Darwinismus abge rufen am 24 02 2008 Wikipedia Emergenz http de wikipedia org wiki Emergenz abgerufen am 24 02 2008 Wikipedia Selbstorganisation http de wikipedia org wiki Selbstorganisation abgerufen am 24 02 2008 Wikipedia Self management computer science http en wikipedia org wiki Self management_ 28computer_science 29 abgerufen am 24 02 2008 Wikipedia Ubiquitous Computing http de wikipedia org wiki Ubiquitous_Computing abgerufen am 24 02 2008 22 C Stempfle 23 S W Wils
7. 14 von Erich Gamma Richard Helm Ralph Johnson und John Vlissi des der sogenannten Gang of Four GoF In diesem Buch werden insgesamt 23 Entwurfsmuster katalogisiert welche f r die objektorientierte Softwareentwick lung eingesetzt werden k nnen Die Autoren dieses Buches haben darauf Wert gelegt dass bew hrte Verfah ren Best Practices aus der objektorientierten Softwareentwicklung beschrieben werden welche den Entwurf und die Umsetzung von Software Architekturen und Komponenten erleichtern Weiter verfolgen sie generelle Ans tze f r den Softwareentwurf und verzichten auf dom nen spezifische Patterns Auf diese Weise profitieren unerfahrene Softwareentwickler direkt vom Wis sen der Sachverst ndigen um Code sauber zu strukturieren und wiederkehrende Probleme bei der Softwareerstellung einheitlich zu l sen 22 Die GoF unterscheiden anhand des Einsatzgebietes der Design Patterns grund legend zwischen Creational Pattern Structural Pattern und Behavioral Pattern Die Creational Pattern Erzeugungsmuster widmen sich dem Objekterzeu gungsprozess Das Ziel ist die Erzeugung des Objekts von seiner Repr sentation zu entkoppeln um die Unabh ngigkeit und dadurch h here Flexibilit t zu errei chen Bekannte Vertreter sind das Singleton Pattern das Factory Pattern und das Prototype Pattern Die Structural Pattern Strukturmuster zeigen die M glichkeiten zur Anord nung und Zusammensetzung von Objekten und Klassen auf um gr
8. 3 3 2 Ergebnisse In Phase I ist ein Organic Design Pattern ODP enworfen worden mit welchem es weitaus einfacher ist Entwurfsprobleme beim Softwa redesign auszuschlie en Innerhalb des ODP gibt es verschiedene Entit ten wie z B agents roles tasks ressources und capabilities Dabei bildet die Rollenver teilung das Kernelement des Organic Systems Das ODP wurde so entworfen dass es sich sowohl f r eine Implementierung eignet als auch f r eine formale Analyse 9 Mit Hilfe des OPD wurde eine Fallstudie f r einen Produktionsab lauf simuliert In dieser Produktionsumgebung gab es Roboter mit unterschied lichen Rollen Alle Roboter waren dabei aber gleichwertig und hatten die selben F higkeiten Sollte ein Roboter ausfallen wird dies an Andere kommuniziert die in Abstimmung untereinander ihre Rollen selbst ndig neu verteilen damit der Ausfall durch eine Reparatur behoben werden kann Dabei passen sich auch die autonomen F rderfahrzeuge der Produktionsstra e der neu verteilten Rollen und SPP1183 Organic Computing Phase I 155 somit an den neuen Ablauf an W hrend des Ausfalles blieb der Produktions ablauf voll funktionsf hig und nach der abgeschlossenen Reparatur des defekten Robotors wurde dieser wieder in die Produktion automatisch eingebunden 9 Es wurde ein Theorem aufgestellt mit dem sich ermitteln l sst in welchem Grade das System selbst heilend ist bzw wie gro der Verlust sein kann bis das System zum Stillstand kommt
9. 4 1 1 RuleML Design Das aktuelle RuleML Design ist eine Hierarchie von Regeln wie in der Abbildung 6 Die Wurzel dieser Hierarchie bildet Rules Dann verzweigt sie sich in Reactionen Rules und Transfomation Rules die selbst sich weiter unterteilen 1 lt trans gt a m gt reaction rules transformation rules l S 3 1 l Ee derivation rules lt implies gt I 5 l l l l l f facts querie I 6 e l integrity constraints Abbildung 6 Regelhierarchie in RulesML 1 Reaktionsregeln Bestehen aus einem Ereignis einer Bedingung einer Aktion und m glicherweise einer Nachbedingung Z B Wenn X ein Mietauto ist nicht reparaturbed rftig ist und nicht anderem Mieter zugeweisen ist dann gilt dass es zur Verf gung steht Nr 10 12 14 16 18 20 22 Rules im Org Comp 37 Transformationsregeln Bestehen aus einer Bedingung einer Konklusion und einer Transformationsausgabe Z B Transform die lange Beschreibung eines Bu ches in eine kurze Beschreibung die nur den Titel dieses Buches enth lt Ableitungsregeln Ableitungsregeln sind sie Schlussregeln und bestehen aus ei ner oder mehreren Bedingungen und einer Konklusion Z B Ein Auto ist zur Verf gung steht wenn es ein Mietauto ist nicht reparaturbed rftig ist und nicht anderem Mieter zugewiesen ist Integrationsregeln Bestehen nur aus Bedingungen Z B Ein Mietautofahrer muss mindestens 22 Jahre alt sein 4 1 2 Synt
10. Patterns auf wiederkehrende Probleme effizient anwenden lassen In dieser Arbeit werden Design Patterns f r autonome dezentrale Systeme untersucht Dazu werden im Folgenden die Konzepte und Prinzipien der Patterns aus der objektorientierten Programmierung betrachtet um festzustellen welchen Nutzen spezielle Patterns f r autonome dezentrale Systeme haben Abschlie end wird auf eine Auswahl an existierenden Design Patterns f r autonome dezentrale Systeme eingegangen und diese in einem Fallbeispiel angewendet Design Patterns fiir autonome dezentrale Systeme 109 In Kapitel 2 wird eine bersicht ber objektorientierte Entwurfsmuster pr sentiert Darin wird n her auf die Design Patterns von Erich Gamma et al ein gegangen und eine klassische Vorlage f r die Beschreibung der Design Patterns vorgestellt Kapitel 3 besch ftigt sich mit den Design Patterns f r autonome dezentrale Systeme und zieht den Vergleich zu den Entwurfsmustern der objektorientierten Programmierung Zun chst wird die verwendete Terminologie definiert und der Zusammenhang zwischen autonomen dezentralen Systemen und Multi Agenten Systemen hergestellt bevor anschlie end auf Patterns f r autonome dezentrale Systeme eingegangen wird Abschlie end kommen im 4 Kapitel die vorgestellten Design Patterns im Anwendungsbeispiel eines Paketlieferdienstes zum Einsatz 2 Objektorientierte Patterns Auf ihrer Suche nach einer neuen Methodik f r die objektorientierte Progr
11. Seite von Emergenz zu sp ren bekommt Die Kunst ist es nun die positiven Effekte zu nutzen und dabei negative Ph nomene zu vermeiden was wohl nicht immer gelingen wird Emergenz wird in der Philosophie schon seit ber einem Jahrhundert untersucht wohingegen in der Informatik und den Ingenieurswis senschaften das Studium emergenten Verhaltens in technischen Systemen noch ein ziemlich junges Forschungsgebiet ist Der Begriff der Emergenz l sst sich noch feiner aufspalten Wir unterscheiden zwischen starker und schwacher Emergenz Beide werden nun kurz charakteri siert immer mit der Einbettung in den philosophischen Hintergrund 3 3 2 Schwache Emergenz Die schwache Emergenz basiert auf drei Thesen der These des physikalischen Monismus der These der systemischen Eigenschaf ten und der These des synchronen Determinismus Die These des physikalischen Monismus besagt dass alle Systeme einschlie lich solcher die emergente Eigen schaften zeigen nur aus physisch realen Komponenten bestehen Es gibt keine bernat rlichen Kr fte die von Au en irgendwie solches Verhalten hervorru fen k nnen Die These der systemischen Eigenschaften trifft das oben beschrie bene Verhalten das besagt dass das System als Ganzes Eigenschaften zeigen kann die einzelne Komponenten niemals alleine vorweisen k nnen Die These des synchronen Determinismus besagt zudem noch dass Eigenschaften sowohl von der Mikrostruktur abh ngen die Abh ngigkeit allerdings
12. Standard zu einem wichtigen Werkzeug bei der Verwendung von regelbasierten Systemen werden Dann k nnte auch der Austausch von Rule Sets zwischen ver schiedenen Systemen verschiedener Hersteller greifbar da kosteng nstig wer den Wobei stellt Drools eine eigene Rule Engine dar die mittlerweile in einer stabilen und ausgereiften Version zur Verf gung steht Dieses System ist eigent lich eine Klassenbibliothek in Java die sich einfach und problemlos in eigene Java Anwendungen integrieren l sst 5 Fazit Selbstorganisation fokussiert sich auf die Systemumgebungsgrenzen wenn die Grenze zwischen inneren und u eren als Teilen betrachtet werden Im Gegenteil dazu nimmt der Prozess des Emergenz Pl tze an der Grenze zwischen dem System und seinen Bestandteilen Ein Regelbasiertes System ist ein Wissensbasiertes System in dem regelba siertes Schlie en stattfindet Regeln sind formalisierte Konditionals tze der Form if A then B Es gibt zwei Strategien zum Schlie en von neuem Wissen Vorw rtsverket tung und R ckw rtsverkettung 42 B Turki Hatam Rete Algorithmus bietet eine effiziente Implementierung fiir Vorwirtsverket tung Es erh ht auch die Performance des Systems Ein Rule Engine ist ein raffinierter Interpreter fiir if then Aussagen Die Verwendung einer Rule Engine bringt sicherlich in einigen Bereichen viele Vorteile Es ist aber immer abzuw gen was genau in Rules abgebildet werden soll
13. bei einem Organischen Computersystem dadurch dass er selbst optimierend selbst konfigurierend selbst heilend selbst sch tzend und selbst bewusst arbei tet 16 Organische Computersysteme bauen auf einem Zusammenspiel von einer gro en Anzahl von Einzelkomponenten auf Dabei ist es wichtig dass sich die se Einzelkomponente an die jeweiligen Anforderungen von au en anpassen und nicht starr den programmierten Vorgaben folgen 12 Durch das selbstorganisie rende und damit ohne zentrale Kontrolle stattfindende Zusammenwirken dieser oft gro en Anzahl von Einzelkomponenten entstehen neue Strukturen bzw Ei genschaften die als Emergenz bezeichnet werden Als selbstorganisierendes System nehmen wir ein intelligentes eingebette tes System wie Smart Car House Office Factory an Hier sollte das System selbst ndig sein und die Notwendigkeit und Zuverl ssigkeit von Ver nderungen und ihren Ablauf berwachen Dabei k nnen im ersten Schritt einfache Regeln f r den Selbstschutz angewandt werden Z B bei Smart Car soll das Auto sich an verschiedene Fahrer Stra enverh ltnisse anpassen Das Auto soll auch in der Lage sein die aktuellen besten Fahrstrecken zu berechnen und in speziel len Ereignissen oder F llen mit anderen Fahrzeugen zu kommunizieren ohne die Aufmerksamkeit des Fahrers zu st ren Das Auto soll die Interaktion mit seiner Umgebung bernehmen und die Gr te des Fahrers in sein Netzwerk integrieren Die Einhaltung so
14. erstellt wird Aktionen stellen die Konsequenzen der Regeln dar Die Konsequenz des obigen Beispiels lautet Gew hre dem Kunden 15 Rabatt Diese Konsequenz berech net im einfachsten Fall nur den Gesamtpreis der Bestellung neu und erzeugt damit einen neuen Fakt Aber meistens f hren die Aktionen zu komplexeren Operationen Arbeitsspeicher Working Memory Wie im Anschnitt 3 2 gezeigt wurde enth lt der Arbeitsspeicher Menge von Fakten auf die das Regelset angewendet werden soll Der Arbeitsspeicher ist ein wichtiger Bestandteil einer Rule Engine weil auf ihn viele wichtige Operationen angewendet werden wie z B hinzuf gen entfernen und modifizieren von Fakten und auch Regel feuern Regelinterpreter entscheidet welche Regeln auf grund der gegeben Fakten und Bedingungen angewendet werden gefeuert werden und der Interpreter kann die Entsprechenden Aktionen starten Aus diesem Grund ist der Regelinterpreter der Kern einer Rule Engine Die Komplette Wissensbasis d h die Fakten und die Regeln muss dem Regelinterpreter zur Verf gung gestellt werden Zusammenspiel dieser Komponenten Wie es in diesem Kapital erl utert wurde dass es verschiedene Implementierungen von Rule Engines gibt aber der Ablauf bei Einsatz einer Rule Engine ist grunds tzliche derselbe und wie folgendes 2 Regel Laden Neuen Arbeitsspeicher erstellen 34 B Turki Hatam Fakten in den Arbeitsspeicher hin fiigen Rule Engine Starten Das
15. folgendes Schema verwendet Pattern Name welchen Namen tr gt das Design Pattern Aliases welche alternativen Bezeichnungen existieren f r das Design Pattern Problem Applicability f r welche Problemsituation en ist das Entwurfs muster anwendbar Solution Effect welches Designproblem wird durch das Pattern gel st bzw welche Wirkungsweise besitzt es Granularity handelt es sich um ein elementares Entwurfsmuster oder ist es aus mehreren grundlegenden Komponenten zusammengesetzt Known Uses f r welches Anwendungsgebiet ist das Pattern bestimmt Categorisation welcher Kategorie geh rt das Entwurfsmuster an 3 5 berblick ber aktuelle Design Patterns In den letzten Jahren haben verschiedene unabh ngige Institute einen Bedarf an Entwurfsmuster f r dezentrale autonome Systeme erkannt und begonnen f r ihre pr ferierte Entwicklungsmethodologie und bevorzugten Metamodelle De sign Pattern Kataloge 9 26 16 zusammen zu stellen Die Untersuchung ergab dabei dass die meisten Kataloge f r propriet re Multi Agenten Systeme geschaf fen wurden sich die enthaltenen Konzepte aber auch auf dezentrale autonome Systeme bertragen lassen Im Rahmen dieser Untersuchung wurden Design Patterns f r Koordinati onsmechanismen Informationsaustausch soziales Verhalten sowie Patterns auf Organisationsebene ausgemacht Viele dieser Patterns gehen auf bekannte Pro blemstellungen der Informations und Kommunikationstechnologie
16. ndern kann Damit l sst sich folgende Teilmengenbeziehung feststellen die auch in Abbildung 5 dargestellt wird selbstorganisierend lt self managing lt self manageable C manageable C adaptiv 8 S 3 7 11 S 11 14 Um ber die Struktur eines Systems sprechen zu k nnen m ssen uns bestimmte Systemparameter bekannt sein Der wohl wichtigste Punkt hierbei ist die Syste marchitektur die wir in einem sp teren Kapitel genauer betrachen werden 3 2 5 Ameisenalgorithmus als Beispiel Als letztes sind wir noch ein Bei spiel zur Selbstorganisation schuldig Wir werden dazu kurz in die Biologie ein steigen und uns den Ameisen widmen die sich in Kolonien organisieren ohne eine zentrale Instanz zu haben die das Vorgehen vorgibt Wir nehmen den Fall an dass wir zwei hungrige Ameisen haben A und B haben die beide auf der Suche nach Futter sind Von ihrem Ameisenh gel f hren normalerweise mehrere Wege zur n chsten Futterquelle Der Einfachheit halber wollen wir annehmen 12 C Stempfle self organising manageable manageable adaptive Abbildung 5 Die Abstufungen und Beziehungen der Begriffe 11 8 12 dass in diesem Fall nur zwei relevante Wege dorthin f hren bezeichnet als s und s2 wobei wir annehmen dass s lt s2 Ameise A macht sich nun ber Weg s auf die Reise zum Futter B benutzt die Strecke s2 W hrend dieser Reise hinterlassen die Ameisen Duftstoffe sogenannte Pheromone auf dem Weg die
17. wird von den Agenten beeinflusst Je nachdem wie die Objekte Agenten Umgebung Pheromone program miert werden kann man die Funktionsweise des Algorithmus beeinflussen e Verschiedene Nahrungsquellen veranlassen die Agenten unterschiedliche Pheromone abzusetzen e Wenn sich Pheromone schnell verfl chtigen werden Wege zur Nahrung schnell vergessen und es werden neue Wege zu den Nahrungsquellen ge funden Wichtige neue Informationen Pfade zu neuen Nahrungsquellen werden schnell integriert und berfl ssige Informationen Pfade zu aufgebrauchter Nahrung werden schnell vergessen Der Ausfall einzelner Agenten ist unkritisch da sie nur einen sehr begrenzten Einfluss auf das gesamte System haben Auch nach nderungen der Umgebung finden die Agenten ihren Weg zum Ziel Werden neue Pheromone auf einen bestehenden Pfad abgelegt wirken diese als positives Feedback siehe Abschnitt 2 6 Das Verfl chtigen der Phero mone hingegen wirkt als negatives Feedback Die Komplexit t der Agenten und der Umgebung ist bei diesem Verfahren sehr gering gehalten jedoch ist wie bei allen agentengesteuerten dezentralen Ko ordinationsmechanismen die Logik in den Agenten h her als die der Umgebung Agenten m ssen unterschiedliche Pheromone erkennen diese an die Umgebung abgeben k nnen und sofern noch kein Pfad vorhanden ist Nahrung suchen Die Umgebung muss in diesem Modell f hig sein Pheromone aufzunehmen Um die Verfl c
18. 1 zur Verf gung gestellt Agenten k nnen sich anhand dieser Felder ber die Distanz zum Feldmittelpunkt r umlich ausrichten und koordinieren Granularity Aus elementaren Pattern zusammengesetzt Known Uses 1 Gradient Fields k nnen zur r umlichen Anordnung und Bewegung von Agenten verwendet werden 2 Kann zur Kontrolle von Charakteren in Videospielen zum Einsatz kommen 3 Unterst tzt Software Agenten das World Wide Web zu erforschen Categorisation Koordinations und Kommunikationsmechanismus 122 M Burkhard Me ve initiator of ne gradient Abbildung 1 Ein Gradient Field mit Ausbreitungsrichtung und Agentenbewe gung 3 7 2 Digital Pheromone Paths Aliases Pheromone Trails Pheromone Field Problem Applicability Wie kann eine autonome Einheit oder eine Nachricht einen optimalen Weg zwischen Quelle und Ziel zur cklegen Solution Effect Autonome Einheiten suchen proaktiv nach Zielen Aufgaben oder Gegenst nden und hinterlassen auf ihren Pfaden Pheromonspuren Stigmergie an denen sich andere autonome Einheiten orientieren k nnen Folgen weitere autono me Einheiten diesem Pfad wird die Pheromonspur verst rkt Aggregation Pattern und andere autonome Einheiten auf diesen Pfad gelockt ber die Zeit verdunsten die Pheromone Evaporation Pattern und Pfade verlieren sich falls keine neue Pheromonspur gelegt wurde Granularity Aus elementaren Pattern zusammengesetzt Known Uses L sung von gr
19. 2 3 10 11 12 13 14 15 E Bonabeau M Dorigo and G Theraulaz Swarm intelligence from natural to artificial systems Oxford University Press Inc New York NY USA 1999 G Candea Predictable software a shortcut to dependable computing Technical report Stanford University http arxiv org abs cs 0S 0403013 11 March 2004 T De Wolf and T Holvoet Emergence versus self organisation different con cepts but promising when combined In S Brueckner G Di Marzo Serugendo A Karageorgos and R Nagpal editors Engineering Self Organising Systems Me thodologies and Applications volume 3464 of Lecture Notes in Computer Science pages 1 15 Springer Verlag 2005 M Dempster A self organising systems perspective on planning for sustainability Master s thesis University of Waterloo School of Urban and Regional Planning 1998 G B Dyson Darwin Among the Machines The Evolution of Global Intelligence Perseus Books Group 1998 N Feamster and H Balakrishnan Pip Detecting the unexpected in distributed systems In Proc NSDI pages 43 56 May 2005 S Floyd and V Jacobson The synchronization of periodic routing messages SIGCOMM Comput Commun Rev 23 4 33 44 1993 S Floyd and V Jacobson The synchronization of periodic routing messages IEEE ACM Trans Netw 2 2 122 136 1994 N Foukia and S Hassas Towards self organizing computer networks A complex system perspective 2003
20. 62 77 Springer 2004 Bibliographisches Institut amp F A Brockhaus AG Brockhaus Naturwissenschaft und Technik Mannheim und Spektrum Akademischer Verlag GmbH 2003 G Booch J Rumbaugh and I Jacobson Das UML Benutzerhandbuch Addison Wesley 1999 Der Brockhaus in 15 B nden Permanent aktualisierte Online Auflage Leipzig Mannheim F A Brockhaus 2002 2007 W Cunningham and K Beck Using pattern languages for object oriented pro grams Technical report OOPSLA Conference on Object Oriented Program ming Systems Languages and Applications 1987 T de Wolf and T Holvoet A catalogue of decentralised coordination mechansims for designing self organising emergent applications August 2006 M Dorigo and L Gambardella Ant colonies for the traveling salesman problem In BioSystems 1997 J Wei Duden der Informatik Ein Fachlexikon f r Studium und Praxis 2003 M Fowler Patterns of Enterprise Application Architecture Addison Wesley Boston 2003 S Franklin and A Graesser Is it an agent or just a program A taxonomy for autonomous agents In Proceedings of the Third International Workshop on Agent Theories Architectures and Languages published as Intelligent Agents III volume 1193 pages 21 35 Springer Verlag 1996 E Gamma R Helm R Johnson and J Vlissides Design patterns elements of reusable object oriented software Addison Wesley 1995 H Kasinger Ein mda basierter ansatz zur entwicklung von
21. Als Unterschied k nnte man anf hren dass der Fokus des Organic Computing eher im verteilten Umfeld und bei eingebet teten Systemen liegt wohingegen das Autonomic Computing das Selbstmana gement von Servern als Ziel hat Ein an der Universit t Augsburg realisiertes Projekt im Bereich Organic Computing ist der Prototyp der sogenannten Smart Doorplates Die Smart Doorplates intelligente T rschilder zeigen eine neue Vision f r das B rogeb ude der Zukunft auf Die T schilder stellen aktuelle In formationen ber B roinhaber dar k nnen in deren Abwesenheit bestimmte 8 C Stempfle Handlungen bernehmen und weisen Besuchern den Weg zum gegenw rtigen Aufenthaltsort des B roinhabers ber ein Location Tracking System 16 Nun aber wollen wir die graue Theorie und die reinen Definitionen verlassen und ein praktisches Beispiel anf hren das zum Feld Organic Computing geh rt Als eines der herausragenden Prinzipien der Natur l sst ich die von Darwin auf gestellte Evolutionstheorie sehen Seiner Meinung nach berlebt nur immer der am besten Angepasste 18 Dazu m ssen nat rlich alle Individuen irgendwie voneinander unterscheidbar sein also unterschiedliche Eigenschaften besitzen Bei der Fortpflanzug kommt es dann zu Variationen im Erbgut die wiederum an die Nachkommen weitergegeben werden Somit entstehen wieder Individuen mit unterschiedlichen Merkmalen Bei der Fortpflanzung kommt es meistens auch zu einer ber
22. An gebot und Nachfrage f hrt daher auch Gleichgewichtspreis genannt wird Wenn die Nachfrage f r ein Gut steigt wird auch der Preis f r dieses Gut steigen und umgekehrt In Abbildung 4 kann man erkennen dass im Fall A bei einem gerin gen Preis f r das Gut die Nachfrage hoch ist das Angebot jedoch sehr niedrig da wenige Anbieter zu diesem Preis verkaufen Daher wird sich der Preis erh hen damit mehr G ter dieser Art angeboten werden wodurch aber die Nachfrage f r dieses Gut sinkt Die Gerade verschiebt sich nach oben Im Fall B ist der Preis sehr hoch viele Verk ufer bieten ihre G ter zu diesem Preis an Die Nachfrage ist deutlich geringer als das Angebot Die Verk ufer werden ihre Preise senken um mehr G ter abzusetzen Mit fallenden Preisen steigt die Nachfrage und die Gerade verschiebt sich nach unten In beiden F llen wird der f r Angebot und Nachfrage optimale Preis der Marktpreis erreicht In 3 wird beschrieben dass das Ziel der marktbasierten Kontrolle in der In formatik grundlegend verschieden zu den Theorien der Volkswirtschaftslehre ist Die Prinzipien von Angebot und Nachfrage werden als gegeben hingenommen und es ist nicht die kritische Frage ob diese Theorie das menschliche Verhalten reflektiert Wichtig ist stattdessen wie diese Theorie auf die Ressourcenvergabe Eigenschaften dezentraler Koordinationsmechanismen 103 in Computersystemen bertragen werden kann Die Agenten im System m ssen wie H ndler pr
23. Dazu wurde das Modell in eine verification engine lan guage bersetzt Das dabei entstandene Ableitungsproblem lies sich automatisch l sen 3 3 3 Bewertung Das vorliegende Design Pattern erleichtert die Entwicklung eines effizienten Organic Computing System Dabei wurde nicht nur die Formale Verifikation des selbigen ber cksichtigt sondern auch ein formales Messinstru ment f r den Grad der Selbstheilung entworfen Somit sind die ersten wichti gen Schritte gemacht f r die Konstruktion eines solchen Systems In Phase II wird das ODP in den Softwareengeneering Prozess eingegliedert das formale Messinstrument um die anderen Selbst X Eigenschaften erweitert die Analyse bestehender Organic Algorithmen Zusammenarbeit mit OCy 3 6 und die An wendung der verwandten Methoden auf andere Dom nen Zusammenarbeit mit ASOC 3 4 durchgef hrt 3 4 Architecture and Design Methodology for Autonomic System on Chip ASOC Steigende Komplexit t integrierter Schaltkreise erm glicht immer komplexere System on Chip SoC Anwendungen Unter SoC versteht man die Integration aller wichtigen Systemfunktionen auf einem einzigen Silizium Chip blicherwei se finden SoC ihr Einsatzgebiet in eingebetteten Systemen Durch zunehmende Miniaturisierung und der damit verbundenen physikalischen Grenzen der ein zelnen Transistoren wird das Fehlerverhalten jedoch immer instabiler und das System somit gegen St rung weitaus anf lliger 23 Der Gedanke ist daher die
24. Diagram BPD besteht aus einer Menge grafischer Ele mente die in 4 Hauptkategorien eingeteilt sind Flow Objects Connecting Objects Swimlanes Artifacts Flow Objects sind die wichtigsten grafischen Elemente um das Verhalten von Gesch ftsprozessen zu definieren Es gibt 3 Flow Objects Events Activities Gateways Es gibt 3 M glichkeiten Flow Objects miteinander zu verbinden oder andere Informationen mit Flow Objects zu verbinden Sequence Flow Message Flow Association Es gibt 2 M glichkeiten die wichtigsten grafischen Elemente zu gruppieren Pools Modellierung paralleler Abl ufe in OC Systemen 77 Lanes Artifacts werden verwendet um zus tzliche Informationen bereitzustellen Es gibt drei Artifacts aber Designer oder Modellier Werkzeuge d rfen zus tzliche Artefakte einf gen Zur Zeit sind 3 Artefakte standardisiert Data Objects Group Annotation Abbildung 16 zeigt nur diejenigen Elemente die im Kapitel 4 bei Business Pro cess Diagrammen verwendet wurden BPMN unterscheidet 3 Typen von Prozessen Process Sub Process und Task Jeder Typ wird als abgerundeter Rechteck dargestellt Der Grund f r verschie dene Namen reflektiert die hierarchische Beziehungen unter ihnen Ein Business Process Diagramm modelliert immer einen Prozess der normalerweise aus be liebig vielen Unterprozessen besteht Eine Task darf nicht weiter unterteilt de composed
25. Engine gegeben sehe Abschnitt 3 5 Ein Regelbasiertes System besteht aus drei unterschiedlichen Bestandteilen 1 Datenbank Arbeitsspeicher Working Memory Der Arbeitsspeicher enth lt eine Menge von Fakten und T tigkeiten die den momentanen Zustand des modellierten Weltausschnitts beschreiben 2 Regelbasis Rulebase Enth lt die Regeln des Systems 3 Regelinterpreter Interpreter entscheidet welche Regeln angewendet werden und steuert das regelbasierte System 3 3 Schlie en von neuem Wissen Inferenz Das Schlie en von neuem Wissen aus vorhandenem Wissen und gegebenen Re geln wird Inferenz genannt Im einfachsten Fall kann bei Eintreffen einer Be dingung schon aus einer Regel eine neue Information gewonnen werden Es ist aber auch m glich aus der Verkettung mehrerer Regeln Informationen zu ge winnen Dabei werden zwei Strategien unterschieden die Vorw rtsverkettung Forward chaining bzw datengetriebene Inferenz data driven inference und die R ckw rtsverkettung backward chaining bzw zielorientierte Inferenz goal oriented inference 4 Beispiel 1 Sei die Wissensbasis enth lt die Objekte A B C D E F G H LJ K L M jeweils mit den Werten true false und die folgenden Regeln Abbildung 3 zeigt das zugeh rige Regelnetzwerk das eine graphische Pr sen tation der Regeln aus Beispiel 1 darstellt 4 3 3 1 Vorw rtsverkettung Bei der Vorw rtsverkettung wird versucht die aus Regeln gewonnenen neuen Informati
26. Event Typen zeigen ver schiedene M glichkeiten wie eine Aktivit t unterbrochen werden kann nachdem sie gestartet ist Jeder Event Typ besitzt ein grafisches Symbol das in der Mitte des Event Kreises platziert wird Ein Gateway wird verwendet um das Aufspalten und Zusammenf hren von sequentiellem Flu Sequence Flow zu kontrollieren Gateways werden als Rau ten dargestellt Interne Symbole zeigen die Art der Gateways z B Parallel ga teway mit in Abb 17 oder XOR gateway mit leerer Raute in Abb 20 Sequence Flow zeigt die Reihenfolge in welcher Aktivit ten in einem Pro zess abgearbeitet werden 78 N Klimov Task 1 egegegcll i Tex Annotation Nachricht descrition Sequence Flow Message Flow Association Activity Exclusive Gateway start event None end event None intermediate event Message intermediate event Rule intermediate event Link throwing intermediate event Link catching Text Annotation Data Object Pool Abbildung 16 Einige grafische Elemente der BPMN Modellierung paralleler Abl ufe in OC Systemen 79 Message Flow zeigt den Flu der Nachrichten zwischen zwei Teilnehmern die bereit sind zu senden oder zu empfangen Zwei getrennte Pools im Diagramm repr sentieren je einen Teilnehmer Eine Association verkn pft Informationen mit Flow Objects Ein Pool repr sentiert einen Teilnehmer Data Objects sind Artefakte weil sie keinen direkten Einfl
27. Fuhrparkverwaltung her angezogen werden in der eine Policy regelt dass derjenige der ein Fahrzeug zuerst reserviert es auch bekommt Wird das selbe Fahrzeug nun aber von zwei verschiedenen Personen gleichzeitig reserviert kann das System anhand dieser Policy nicht entscheiden was geschehen soll Zur aufl sung solcher Konflikte gibt es eine Vielzahl an Techniken Implizite Priorisierung das Zuweisen expliziter Priorit ten und die Berechnung eise Ab standes zwischen den Policies und dem zu verwaltenden Objektes sind sind nur einige die hier kurz vorgestellt werden sollen PBM amp OC 57 4 1 Priorisierung von positiven negativen Policies Diese Art der Konfliktl sung ist sehr einfach Entweder werden negative Policies priorisiert das hei t wenn etwas von einer Policy verboten wird ist es verboten auch wenn eine andere Policy es erlaubt oder es werden positie Policies priori siert was bedeutet dass alles was von einer Policy erlaubt wird auch ausgef hrt werden darf Mit dieser Art der Priorisierung lassen sich jedoch nur solche Kon flikte l sen bei denen Policies das selbe erlauben und verbieten Betrachtet man das Beispiel in 3 so stellt man fest dass es keine Einteilung in positive und ne gative Policy gibt und der Konflikt daher nicht mit dieser Methode aufgel st werden kann Tabelle 3 Zwei positive Policies Emails die lter als 2 Monate sind werden archiviert Emails die lter als 2 Monate sind und einen Anhang hab
28. Hauptfunktionen Monitor Analyse Planung und Ausf hrung werden im Folgenden erl utert und in Abbildung 2 skizziert Monitor Er sammelt und verarbeitet Informationen von gemanageten Res sourcen Diese Informationen bekommt er ber eine Schnittstelle von einem Sensor Er tut dies solange bis ein Symptom auftritt das analysiert wer den soll Symptome werden vom Monitor erzeugt indem dieser gesammelte Daten miteinander in Beziehung bringt und verarbeitet Dabei weisen Sym ptome auf den Zustand einer oder mehrerer gemanageter Ressourcen hin Analyse Diese Funktion stellt Mechanismen zur Verf gung die das ber wachen und analysieren von Symptomen bernehmen Au erdem stellt die Analyse fest ob nderungen erforderlich sind Wenn ja wird ein nderungs wunsch an die Planung geschickt Die nderung wird aber weiterhin von der Analyse berwacht Sie stellt auch fest ob die der Planung vorgeschlagene nderung die zu Beginn aufgetretenen Symptome behandelt hat Planung Diese Komponente ist daf r verantwortlich eine geeignete Pro zedur auszuw hlen oder zu kreieren welche gemanagte Elemente und Res sourcen ver ndert Nach der Erstellung eines nderungsplans wird dieser an die Ausf hrungsfunktion weitergeleitet Solch ein Plan kann im einfachsten Fall eine einzige Anweisung enthalten in komplexen Systemen aber auch dutzende Befehle die mehrere hundert Ressourcen ver ndern Ausf hrung Execute Sie ist zust n
29. Natur Gleich zeitig versucht man dies in aktuellen Anwendungsszenarien praktisch einzu setzen Wichtig ist dabei die Zusammenarbeit und Abstimmung der Erkennt nisse untereinander Manche Projekte verfolgen dabei einen hnlichen Ansatz und k nnen durch die B ndelung ihrer Kompetenzen besser agieren Durch das Schwerpunktprogramms sollen die in 5 bis 8 Jahren verf gbaren technologischen Komponenten die Basis f r den Systementwurf darstellen Da die zuk nftigen Computersysteme immer komplexer in ihrer eigenen Struktur und der Struktur ihrer Kommunikation werden wird es zunehmend schwerer f r ein Individuum SPP1183 Organic Computing Phase I 167 die gesamte Struktur zu iiberblicken und zu verstehen Durch das Organic Com puting sollen zukiinftige Systeme selbststandig interagieren und kommunizieren und dabei sehr fehlertollerant und zuverl ssig die Arbeit verrichten ohne von einer zentralen Stelle gesteuert zu werden Dennoch muss dabei sicher gestellt sein dass in letzter Instanz eingegriffen werden kann und das System nicht den Anwender dominiert 5 2 Stand der Forschung Zunehmende Vernetzung der gegenw rtigen Ger te und Computer erh ht den Druck diese beherrschbar und kontrollierbar zu machen Die Grundlagen des Or ganic Computing wurden an die Natur angelehnt und auf die Technik projeziert Dennoch befindet sich der Forschungszweig des Organic Computing noch immer in den Anf ngen Der seit 2002 bestehende Zweig der Informatik e
30. Projekten im SPP1183 wird dabei noch intensiviert werden 3 6 Organic Computing Middleware for Ubiquitous Environments Mit diesem Teilprojekt soll eine Organic Computing Middleware geschaffen wer den OC Geboren wurde die Idee aus einem weiteren Projekt des Lehrstuhls dem smart doorplate project 24 Die Doorplates sind Bestandteil des flexi ble office Konzepts Man will durch interaktive T rschilder dem Besucher den Weg weisen oder z B Informationen ber die Belegung eines Raumes ber diese door plates verbreiten Hierbei wurde eine spezialisierte Middleware eingesetzt die Vision ist es aber eine universell einsetzbare Middleware zu schaffen 3 6 1 Hintergrund und Ziele Eine universelle Organic Computing Middle ware soll entworfen werden bei der das System auf vielen Knoten nodes verteilt l uft Eine Applikation ist dann eine B ndelung von Services die auf den ein zelnen Knoten laufen W hrend der Laufzeit k nnen diese Services umgezogen werden falls ein Knoten berlastet ist oder die Gefahr besteht dass dieser bald ausf llt Dabei sollte sich das Gesamtsystem in Abh ngigkeit einiger vorgegebe ner Paramter selbst optimieren Ein weiteres Designziel war es ein asynchrones eventbasiertes Nachrichtensystem zu schaffen bei dem der Nachrichtenaustausch mit getypten Nachrichten verl uft 3 6 2 Ergebnisse Wie in Abbildung 3 zu sehen wurde bei OCu eine knotenba sierte 2 Schicht Architektur geschaffen Die Organi
31. Systemen kann solch ein emergentes Verhalten durchaus gew nscht sein zum Beispiel im bereich der Selbstorganisation Eine wesentlich wichtigere Aufgabe von Policies ist allerdings die Emmergenz in einem System so zu bescr nken also das globale Verhalten so zu steuern dass das System seine Aufgabe erf llen kann 3 Policyrefinement Policies ergeben sich aus den Anforderungen an ein System Betrachtet man wie die Systemanforderungen erarbeitet werden so stellt man fest dass es sich um eine kontinuierliche Verfeinerung der Anforderungen handelt von den wirt schaftlichen ber die fachlichen bis hin zu den technologischen und technischen Aspekten des gew nschten Systems F r das Erstellen von Policies bedarf es daher auch Methoden und Technologien die diesen Prozess unterst tzen Man PBM amp OC 51 spricht hierbei von Policyrefinement Der Sinn des Policyrefinement ist analog zu dem des Anforderungsrefinements aus der Softwareentwicklung bei dem die Anforderungen an ein System von den fachlichen ber die funktionalen bis hin zu den technischen immer genauer ausgearbeitet werden Eine Policy auf der wirtschaftlichen Ebene wie zum Beispiel Premiumkunden werden bevorzugt behandelt ist bei weitem zu abstrakt als dass ein Rechner sie verstehen geschweige denn umsetzen k nnte In weitern Schritten muss genauer gekl rt werden welche Kun den als Premiumkunde gelten und was bevorzugt behandelt werden bedeu tet
32. Zusammenspiel der Komponenten einer Rule Engine und diesen Ablauf ist in Abbildung 5 dargestellt starten Aktionen Aktionen erzeugen neue Feuernde Fakten Regeln Faktenbasis Working Memory Regelbasis Regelinterpreter Rule Engine Abbildung 5 Bestandteile einer Rule Engine 2 3 6 Rule Engines in der Praxis In jedem Unternehmen existieren Regelungen f r die ablaufenden Prozesse wie z B f r die Vermarktung f r das Personal usw Diese Gesch ftsregelungen sind schon vorhanden sie sind jedoch oft nicht einheitlich formuliert Der Einsatz von Rule Engine bzw Business Rule Engine erh ht die Flexibilit t der IT Systeme Die Rule Einige wird die vorhandenen Regelungen explizit machen Business Rule Engine BRE ist eine technische Softwarekomponente als Be standteil eines Business Rule Management Systems BRMS die eine effiziente Ausf hrung von Gesch ftsregeln bzw Business Rules erm glicht 21 Rules im Org Comp 35 und eine automatisierte Verarbeitung von diesen Regelungen f hren und die in einer Form von Wenn Dann Regeln festlegen Da die Rolle von Rule Engines so bestechend ist sind eine Vielzahl von Rule Engines entwickelt worden teils kommerziell teils im Opensource Bereich Die Rule Engines k nnen nach den unterst tzten Inferenzstrategie unterschieden werden und wie folgend 3 6 1 Vorw rtsverkettende Systeme Die meisten Rule Engines in der Praxis unterst tzen diese Art vo
33. auch in umge kehrter Richtung vorhanden ist Das bedeutet dass die nderung an einem von beiden gleichzeitig auch eine Ver nderung des Anderen bewirkt 11 S 20 3 3 3 Starke Emergenz Die starke Emergenz beinhaltet alle Thesen der schwachen Emergenz enth lt aber zus tzlich die Forderung nach der Irreduzibi lit t Dabei gilt eine systemische Eigenschaft als irreduzibel wenn sie prinzipiell nicht aus dem Verhalten den Eigenschaften und der Struktur von Komponenten hervorgeht Dabei ist es gleichg ltig ob die Komponenten voneinander isoliert sind oder sich in einer anderen Konfiguration befinden Eine reduzierte Erkl rung existiert aber nicht und wird es auch nie geben Man k nnte also zusammenfas 14 C Stempfle send sagen dass starke Emergenz es unm glich macht die systemische Eigen schaft im Mikro und im Makrokosmos zu analysieren 11 5 22 3 3 4 Entstehung F r unsere Zwecke werden wir im Weiteren nur die schwa che Emergenz betrachten Emergenz tritt in Organic Computing Systemen fters auf als ein Ph nomen das sich zun chst nicht erkl ren l sst wenn wir das Sys tem und seine Komponenten nicht ausreichend im Vorfeld spezifiziert haben Im Folgenden betrachten wir nun wie Emergenz beispielsweise entstehen kann Bei Selbstorganisation kann wie schon besprochen Emergenz auftreten Den besprochenen Ameisenalgorithmus kann man auch als positiv genutzte Emer genz ansehen Er erf llt alle Thesen der schwachen E
34. beinhalten nach A ver schoben An die Aktuatoren und Effektoren wird nun die ausgewahlte Aktion weitergeleitet welche sie wiederum an die Umwelt weitergeben Abschlie end findet eine Bewertung der Classifier statt Classifier die in A enthalten sind werden mit Hilfe einer Belohnung die aus der Umwelt kommt aufgewertet d h ihre St rke wird erh ht und somit ist es wahrscheinlicher dass sie beim n chsten Durchlauf bei passender Bedingung f r das Match Set ausgew hlt werden die anderen Classifier die nur in M und nicht in A sind werden entsprechend abgewertet 23 S 3 8 15 Durch das Zusammenspiel der Umwelt und der verschiedenen Komponenten dieses Systems ist es offensichtlich m glich dass sich das System in gewissem Rahmen selbst steuern kann Durch den Belohnungsmechanismus ist es an die Umwelt gekoppelt und bekommt wieder ein Feedback ber die Qualit t der zuvor ausgew hlten Aktion wie das auch im Observer Controller Schema ist Das System ist also bem ht eigenst ndig ohne Eingriff des Menschen immer bessere L sungen f r dasselbe Problem zu finden 20 C Stempfle Classifier P Match Set M 011 01 43 Cond Act Str Ss 011 0 43 v 1 00 32 Abbildung 9 Zeroth Classifier System ZCS 15 4 Zusammenfassung und Ausblick Organic Computing ist sicherlich ein aufstrebender Zweig innerhalb in der Infor matik Da unsere Welt und damit auch unsere Systeme die gr tenteils schon diese Wel
35. bis schlie lich Regeln entstehen die vom System umgesetzt werden k nnen In diesem Beispiel k nnten einige davon etwa so lauten Benutze f r Premiumkunden den IP Tunnel FASTLANE Bestellungen von Premiumkunden erhalten den Status eilt 3 1 Das Policy Kontinuum Das Policy Kontunuum ist ein Modell dass diese Verfeinerungsschritte in Ebe nen Layers abbildet siehe Abbildung 3 1 Der Zentrale Punkt dabei ist dass die Policies nicht einer Ebene zugeordnet sind sonder jede Ebene eine Andere Sicht auf die Policies darstellt F r unser oben genanntes Beispiele bedeutet das dass Premiumkunden werden bevorzugt behandelt die selbe Policy repr sentiert wie Benutze f r Premiumkunden den IP Tunnel FASTLANE Bestellungen von Premiumkunden erhalten den Status eilt Ersteres ist die Sicht des Busi ness Layers das Zweite die des Administration Layers Das bedeutet dass auf jeder Ebene die selben Policies vorhanden sind nur in einer unterschiedlichen Repr sentation und somit dem Bed rfnissen der jeweiligen Ebene angepasst M chte man ein Policy Kontinuum f r ein System implementieren muss man folgendes festlegen Die verwendeten Abstraktionsebenen Die Policysprache n jeder Ebene Transformationen f r jede Ebene zur darunterliegenden Im Folgenden sollen die drei verbreitesten Layer des Policy Kontinuums kurz vorgestellt werden 3 1 1 Der Business Layer ist eine sehr abstr
36. darauffolgenden Abschnitt 4 2 die Anwendung der Patterns auf den Sachverhalt beschrieben 4 1 Problemstellung Kunden k nnen zu beliebiger Zeit einen Paktdienst beauftragen ein Paket per s nlich abzuholen und diese Sendung zu einem gew nschten Empf nger zu be f rdern Zum Transport steht eine Reihe selbstst ndig agierender Lastwagen zur Verf gung welche sich optimal an die Kundennachfrage anpassen m ssen Auf diese Weise entsteht auf abstrakter Ebene ein dynamisches Netzwerkmodell auf Basis der vom Kunden in Auftrag gegebenen Absender und Empfangsadressen sowie den Lastwagen die selbstst ndig durch die Stra en navigieren m ssen siehe Abbildung 2 Die Herausforderungen sind dabei 124 M Burkhard der Versand jeder neue Kundenauftrag muss einem Lastwagen zugewiesen werden der fiir die Abwicklung der Bef rderung verantwortlich ist die Navigation jeder Lastwagen muss selbstst ndig durch die Stra en navi gieren k nnen um die neuen Absenderadressen effizient anzufahren und die Pakete in k rzester Zeit an die richtige Empfangsadresse zuzustellen In beiden F llen treten dabei st ndig dynamischen nderungen auf W hrend Kunden jederzeit neue Lieferungen in Auftrag geben k nnen sollen die Emp fangsadressen bereits in Auftrag gegebener Sendungen nachtr glich ge ndert werden k nnen Die Lastwagenfahrer sind zudem den blichen Stra enverkehrs problemen ausgesetzt So k nnen sich Staus bilden oder Hindernisse
37. der Nahrung zum Nest Pheromone hinterlassen wird dieser Duft auf der k rzeren der beiden Strecken intensiver als auf der l ngeren da diese Strecke st rker frequentiert wird Somit werden weitere Ameisen den k rzeren st rker duftenden Weg bevorzugen was wiederum zu einer erneuten Intensivierung des Pheromonpfades f hrt Der k rzeste aller gefundenen Pfade muss jedoch nicht unbedingt der k rzeste aller m glichen Pfad vom Nest zur Nahrungsquelle sein Es ist durchaus denkbar dass keine Ameise diesen k rzes ten aller m glichen Wege gefunden hat Die Idee des Digitalen Pheromonpfades besteht darin dieses effektive Sys tem der Natur auf die Informatik zu bertragen Die Umgebung muss f hig sein digitale Pheromone aufzunehmen welche sich ber die Zeit verfl chtigen Die 100 M Boegler Agenten sind sehr einfach strukturiert und miissen sobald sie ihr Ziel erreicht haben den Weg nach Hause finden sowie Pheromone absetzen bzw diese in der Umgebung erkennen k nnen Die Richtung der Pheromone spielt dabei eine wichtige Rolle Eigenschaften des Digitalen Pheromonpfades Durch das Zusammenspiel und die dezentrale Koordination aller Agenten untereinander organisiert sich das System selbst Der Pfad stellt die L sung des Problems im modellierten System dar Das System erf hrt eine Selbst Optimierung in dem k rzere Wege bevorzugt werden Es werden nur lokale Informationen ben tigt und nur die direkte Umgebung
38. der die Systemteile einzeln betrachtet werden In der Natur finden sich viele Vorbilder deren Verhalten durch das Verst ndnis genetischer bzw evolution rer Algorithmen nachgeahmt werden soll Man be fasst sich daher z B mit der Erforschung von Schwarmintelligenz und versucht die gewonnen Erkenntnisse dabei auf verteilte Systeme zu bertragen um die Koordination und die Kommunikation zu verbessern 3 Review der Projekte im SPP1183 Organic Computing Phase I Teil 2 Im folgenden werden sieben ausgew hlte Projekte des von der Deutschen For schungsgemeinschaft DFG ber eine Laufzeit von 6 Jahren mit einer Summe von 10 5 Mio gef rderten SPP1183 vorgestellt 20 und die Ergebnisse der Projekte aus Phase I bewertet 3 1 Smart Teams Local Distributed Strategies for Self Organizing Robotic Exploration Teams Dieses Projekt legt seinen Fokus auf die Selbstorganisation einer Gruppe von mobilen Robotern die ein unbekanntes Terrain erforschen Die Robotergruppe Smart Team soll dabei ohne zentrale Steuerung ihre aufgetragene Aufgabe erf llen Jedes Individuum hat dabei nur lokales Wissen und eine beschr nkte Kommunikationsreichweite Denkbare praktisches Einsatzgebiet w ren f r ein solches Team Rettungs oder Aufkl rungsaufgaben SPP1183 Organic Computing Phase I 151 3 1 1 Hintergrund und Ziele Das Smart Team sollen sich nur mit einfachen lokalen Regeln selbst organisieren aber dabei sein Handeln immer dem globalen Ziel
39. der markt basierten Kontrolle direkt miteinander Die Angebote werden direkt an einen Agenten in der Nachbarschaft gemacht und laufen nicht wie beim Digitalen Phe romonpfad aus Abschnitt 4 2 ber die Umgebung Auch wird die Koordination der einzelnen Agenten nicht von der Umgebung vorgenommen Die Agenten rea gieren unabh ngig nach ihren lokalen Bed rfnissen Bei diesem Verfahren kann ber allgemeine Vorgaben das System beeinflusst werden So kann das Preislimit das jeder Agent hat die Anzahl der Agenten die Anzahl der virtuellen Geld einheiten die jeder Agent zur Verf gung hat und die Anzahl der zur Verf gung stehenden Ressourcen das System ver ndern Eigenschaften der Marktbasierten Kontrolle Der Markt liefert den Agenten Informationen ber den Ressourcenbedarf Ein hoher Marktpreis geht mit einem aktuell hohen Ressourcenbedarf oder einem niedrigen Ressourcenangebot einher Der Preis agiert als Feedback in diesem System Ein hoher Preis veranlasst Agenten weniger zu kaufen Aufgrund des negativen Feedbacks der geringen Nachfrage wird der Preis fallen Bei niedrigen Preisen ist es umgekehrt es tritt somit das postive Feedback auf es wird mehr gekauft Durch die Kombination von negativem und postivem Feedback n hert sich das System dem Gleichgewichtspreis an Werden einzelnen Agenten zu Beginn weniger virtuelle Geldeinheiten zur Verf gung gestellt kann somit eine geringere Wichtigkeit des Agenten mo delliert we
40. die Logik in den Agenten bei dieser Methode sehr einfach gehalten wohin gegen die Umgebung relativ komplex ist Die Gradienten m ssen sich ber das System erstrecken und zu bzw abnehmen k nnen Die Umgebung erstellt somit den roten Teppich dem die Agenten nur folgen m ssen M gliche Einsatzgebiete finden sich laut 3 im Netzwerkrouting wie auch im st dtischen Stau Management 4 Agentengesteuerte dezentrale Koordination Im Gegensatz zur umgebungsgesteuerten dezentralen Koordination siehe Kapi tel 3 bernehmen im agentengesteuerten dezentralen Fall die Teilnehmer selbst die Koordination Je nach Modell kommunizieren die Agenten direkt Kapitel 4 3 Marktbasierte Kontrolle oder ber die Umgebung z B Digitaler Pheromon pfad aus Abschnitt 4 2 miteinander Je nach Algorithmus muss die Umgebung bzw der Agent f hig sein diese Kommunikationsart zu unterst tzen Aufgrund der Komplexit t werden nur einige ausgew hlte Verfahren be schrieben die einen berblick ber die Vielzahl der M glichkeiten geben sollen In 3 werden detailliert weitere M glichkeiten vorgestellt wie f r verschiedene Anwendungsgebiete dezentrale Koordination erm glicht werden kann 4 1 Gemeinschaftlich verst rktes Lernen In der Literatur wie auch im weiteren Verlauf der Arbeit wird gemeinschaftlich verst rktes Lernen mit CRL abgek rzt Dies leitet sich vom englischen collabo Eigenschaften dezentraler Koordinationsmechanismen 97 rative r
41. einen lokalen Plan etwas zu essen der sich nur in der Pr ferenz der Nahrung unterscheidet Es werden auch nur Informationen aus der direkten Umgebung verwendet n mlich der Geruch in der 96 M Boegler Luft Das Ziel wird jeweils erreicht indem Sie dem roten Teppich dem immer st rker werdenden Duft folgen Man kann sich in diesem Zusammenhang auch vorstellen dass ein Mensch der D nergeruch nicht leiden kann sich so weit vom D nerstand entfernen wird bis er den Geruch nicht mehr wahrnimmt Es kommt auf die Pr ferenzen des Agenten an ob er sich in Richtung der Quelle oder von ihr weg bewegt Grunds tzlich jedoch haben alle Agenten das gleiche Verhalten Eigenschaften der Gradientenfelder Durch eine Bewegung der Quelle erfolgt eine globale Selbst Organisation Je nachdem wie ein Agent auf die Gradienten der Quelle reagiert folgt er der sich bewegenden Quelle oder bewegt sich von ihr weg Da die Teilnehmer gierig sind finden sie selbstst ndig den k rzesten Weg zum Initiator der Gradienten Ziel des Verlaufsfeldes sollte sein dass die Agenten an der Quelle die L sung f r das aktuelle Problem finden Erh hungen der Agentenanzahl k nnen vom System ohne Probleme verar beitet werden Ver nderungen der Gradienten z B das Stoppen des Aussendens der Gra dienten k nnen von diesem Koordinationsmechanismus verarbeitet werden Da es sich um eine umgebungsgesteuerte dezentrale Koordination handelt ist
42. evolution res Design berlegen sein 3 3 Formal Modeling Safety Analysis and Verification of Organic Computing Applications SAVE ORCA Gerade im Organic Computing ist Verf gbarkeit eine wichtige Anforderung da viele Anwendungen verteilt laufen und die Selbst X Eigenschaften erf llt werden sollen Das Software Design hat sich in der Vergangenheit zur Ingenieursdisziplin gewandelt Daher m ssen Grundlagen und Verfahren f r den korrekten Entwurf von Software im Organic Bereich geschaffen werden 3 3 1 Hintergrund und Ziele Es soll ein Verfahren entwickelt werden um systematisch derartige Systeme zu entwickeln Mit einem top down Design sol len die Systeme den Anforderungen an die Hochverf gbarkeit und die Anpas sungsf higkeit gen gen Diese Zuverl ssigkeit muss dabei schon bei den Grund lagen beginnen und daher muss die Software auf funktionale Korrektheit und Sicherheit berpr ft werden Sicherheit impliziert zwei Auspr gungsformen die wir mit dem Begriff verbinden Zum Einen Betriebssicherheit und zum Anderen die Angriffssicherheit Diese beiden Auspr gungen sollen selbst bei unerwarteten St rungen und Fehlern weiterhin die Funktion gew hrleisten k nnen Am En de des Projekts soll ein Framework zur Verf gung stehen mit dem es m glich ist ein selbstadaptives und selbstorganisierendes System zu entwickeln Der An satz vereint dabei formale Spezifikation und Verifikation mit Fehleranalyse und intelligenter Rekonfiguration
43. ftigt sich mit den Design Pat terns f r autonome dezentrale Systeme Zun chst werden Entwurfsmus ter aus der objektorientierten Programmierung n her betrachtet und auf ein Klassifizierungsschema eingegangen Im Zentrum der Untersu chung steht die Frage nach der Notwendigkeit von Design Patterns f r autonome dezentrale Systeme Abschlie end stellt dieses Dokument ei ne Auswahl an Entwurfsmuster vor und veranschaulicht deren Anwen dungsm glichkeit am Fallbeispiel eines Paketlieferdienstes 1 Einleitung Der Begriff Pattern Muster wurde 1977 vom Architekturprofessor Christopher Alexander in seinem Buch A Pattern Language Towns Building Construction 1 gepr gt Each Pattern describes a problem which occurs over and over again in our environment and then describes the core of the solution to that problem in such a way that you can use this solution a million times over without ever doing it the same way twice Demnach beschreibt ein Pattern ein wiederkehrendes Problem und bietet f r dieses Problem eine geeignete allgemeing ltige L sungsm glichkeit in Form einer Vorlage an die sich jederzeit wiederholt anwenden l sst Inzwischen haben sich Design Patterns Entwurfsmuster als L sungsstruk turen f r Entwurfsprobleme in der Praxis bew hrt indem sie Erfahrungswissen von Experten leichter zug nglich machen Entwickler profitieren demnach durch die Formalisierung und Dokumentation von erprobten Entw rfen indem sich
44. gemeinsam genutzte Datenstukturen lesen oder aktualisieren kann es zu Inkostinzenzen f hren Damit dass nicht passiert muss ein wechselseitiger Ausschluss sichergestellt werden Der Algorithmus funktioniert wie folgt Jeder Prozess kann einen von drei Zust nden annehmen 1 Zustand Ruhe Prozess befindet sich nicht im kritischen Bereich und will auch nicht in diesen eintreten 2 Zustand Angefordert Prozess will in den kritischen Bereich eintreten 3 Zustand Kritisch Prozess befindet sich im kritischen Bereich er liest oder aktualisiert irgendwelche Daten Es gibt zwei Arten von Nachrichten Anforderungsnachricht ID Zeit und Best ti gungsnachricht OK Nachricht Jeder Prozess im System verh lt sich nach fol genden Regeln in Abh ngigkeit davon in welchem Zustand er sich befindet Zustand Ruhe Wenn neue Nachricht eintrifft egal welcer Art sendet der Prozess eine OK Nachricht an den Sender Zustand Angefordert Der Prozess will in den kritischen Bereich eintre ten Dazu erzeugt er eine Anforderungsnachricht mit Prozess ID und aktuel ler Zeit Zeitstempel und verschickt diese an alle anderen Prozesse im Sys tem Nach dem Senden geht der Prozess in den Zustand Angefordert ber und wartet solange bis er von allen anderen Prozessen Bes tigungen OK Nachricht erh lt Es kann aber sein dass andere Prozesse zur gleichen Zeit auch in den kritischen Bereich eintreten wollen Welche
45. hat Erfolg mit solchen Techniken gezeigt wie eine von Romer f r dynamischen Seitenmapping 20 beschriebene Technik Parunak und VanderBok beschreiben mehrere Mehrzwecktechniken um emer gentes Verhalten in Steuerungssystemen zu erkennen die auf ihren Gliederung von Ursachen basiert 18 Zum Beispiel periodisches Verhalten kann durch die Emergentes Fehlverhalten 143 Fourieranalyse entdeckt werden hnliche Techniken k nnten von Betriebssyste men und ihren assoziierten Managementsystemen eingesetzt werden Das Diagnoseproblem ist schwerer zu l sen Ein Ansatz w re die Systemdesi gnererwartungen zum Diagnosesystem auszustellen Patrick Reynolds mit seinen Kollegen hat ein System entwickelt mit dem Namen Pip um Verhaltenspro bleme in verteilten Systemen zu diagnostizieren 19 Im Pip Ansatzt dr ckt der Programmierer seine Erwartungen ber die Systemleistung und kausale Struk tur aus inklusiv sowohl lokale als auch pfadbasierte globale Erwartungen Ei ne Middlewareschicht kontrolliert dann Anwendungsverhalten einschlie lich die Kommunikation zwischen Knoten um verletzte Erwartungen zu entdecken Die ser Ansatzt baut sich auf Perl und auf der berpr fungstechnik von Perfomanz feststellung f r parallele Anwendungen Wichtig ist dass der Pip Ansatz von der F higkeit der Programmierer die formellen und richtigen Spezifizierungen zu schreiben nicht abh ngt Pip ver sucht nicht den empirischen Ansatzt zu vermeiden nur
46. in Phase I ist es eine generische und modulare Architektur zu schaffen und diese in einen einzelnen isolierten Knotenpunkt zu implementieren Sp ter soll dann die fexible Zusammenarbeit mit weiteren Kntotenpunkten erfolgen Das System muss sich dabei an drei Vorkommnisse anpassen Langzeitver nderungen Kurzzeitver nderungen Wiederverwendung des Gelernten 162 M Buthut Die l ngerfristigen Ver nderungen sollen durch kontinuierliches Lernen des Systems erreicht werden um damit die Verhaltensweisen zu optimieren Unter Kurzzeitver nderungen versteht man Schwankungen in der Verkehrslast oder Ausf lle Bei einem solchen Vorkommnis muss schnell gehandelt werden Dies ist mit einem Reflex in der Natur vergleichbar Gewisse Aufgaben m ssen im Fehlerfall sofort durchgef hrt werden Das System soll aber auch das bisher Ge lernte wieder verwenden k nnen Um dies m glich zu machen ist ein Speicher f r das Wissen notwendig auf den das System dann zur ck greifen kann Eine Ampel muss ein hochverf gbares System sein sie muss dabei aber extrem fehler tollerant und exakt arbeiten Ansonsten w re der sichere Verkehrsfluss auf einer Kreuzung nicht mehr gew hrleistet Deshalb steht die Sicherheit in diesem Pro jekt ganz gro geschrieben Um den Effekt m glicher Fehler feststellen zu k nnen werden die verschiedenen Szenarien simuliert da diese nicht real getestet werden k nnen Alle nderungen und Anpassungen m ssen dabei aber n
47. in Organic Computing 1 Rules im Organic Computing ov ee 23 Policies m Organio Com pwn ne ae 47 Modellierung paralleler Abl ufe in Organic Computing Systemen 62 Eigenschaften dezentraler Koordinationsmechanismen 91 Design Patterns f r autonome dezentrale Systeme 04 108 Emergentes Fehlverhalten 00 cece cee eee eee eee ern 129 Review ausgew hlter Projekte im SPP1183 Organic Computing Phase I 148 IV Einf hrung in Organic Computing Christoph Stempfle Universitat Augsburg Christoph Josef Stempfle student uni augsburg de Zusammenfassung In dieser Arbeit wird zunichst auf die Notwendig keit eingegangen bestimmte Prozesse innerhalb von komplexen System zu automatisieren Um dies zu erreichen kann man auf die Prinzipien des Autonomic und Organic Computing zuriickgreifen Es wird zu bei dem eine Einfiihrung geboten die auf die Geschichte Eigenschaften und typische Architekturtypen eingeht welche auch anhand konkreter Bei spiele erl utert werden Somit soll das Verst ndins geweckt werden dass zuk nftige Systeme immer mehr autonom agieren werden und m ssen und die Prinzipien des Organic Computing eine M glichkeit darstellen das Komplexit tsproblem besser beherrschbar zu machen 1 Einleitung In den letzten 15 Jahren haben Computersysteme weltweit zunehmend an Kom plexit t gewonnen Konnte man fr her seine Server noch alle per Hand verwalten und konfigu
48. macht den gleichen Vergleich und stellt fest dass er gewonnen hat deswegen stellt C A Anforderung in seine Warteschlange C hat nun von allen Prozessen im System eine Best tigung erhalten und tritt in den kritischen Bereich ein c B will in den kritischen Bereich eintreten und sendet deswegen Anforde rungen an C und A C befindet sich im kritischen Bereich deswegen stellt C B Anforderung in die Warteschlange und sendet nichts A befindet sich im Zu stand Angefordert A vergleich die Zeitstempel B 21 gr er A 12 A gewinnt A stellt B Anforderung in seine Warteschlange d C verl t kritischen Bereich und sendet eine Best tigung f r jede Anforde rung in seiner Warteschlange A erh lt eine Best tigung von C und tritt in den kritischen Bereich ein e A verl t kritischen Bereich in seiner Warteschlange ist nur eine Anforde rung von B deswegen sendet A eine Bes tigung an B B hat nun alle Best ti gungen gesammelt und kann in den kritischen Bereich eintreten Modellierung paralleler Abl ufe in OC Systemen 83 stellt der Prozess die eingehende Anforderung in die Warteschlange und sen det nichts Sobald alle Berechtigungen eingetroffen sind kann der Prozess in den kritischen Bereich eintreten Zustand Kritisch Wenn neue Anforderungsnachricht eintrifft stellt der Prozess die eingehende Anforderung in die Warteschlange und sendet nichts Wenn der Prozess sich entscheidet den kritischen Bereich zu verlasse
49. organic computing systemen Technical report Universit t Augsburg 2005 M Kolp P Giorgini and J Mylopoulos A goal based organizational perspective on multi agent architectures In ATAL 01 Revised Papers from the 8th Interna tional Workshop on Intelligent Agents VIII pages 128 140 London UK 2002 Springer Verlag C Larman Applying UML and Patterns An Introduction to Object Oriented Analysis and Design and Iterative Development 3rd Edition Prentice Hall PTR October 2004 E Lawler J Lenstra A RinnooyKan and D Shmoys The travelling salesman problem 1985 C Miiller Schloer Informatiklexikon der gesellschaft fiir informa tik e v 2004 https www gi ev de service informatiklexikon informatiklexikon detailansicht meldung 58 C Miiller Schloer H Schmeck and T Ungerer Antrag auf einrichtung eines neuen dfg schwerpunktprogramms 2004 Organic Computing W Pree Design patterns for object oriented software development 1995 W Reif and H Seebach Vorlesung softwaretechnik Universit t Augsburg Win tersemester 2005 2006 J Rumbaugh M Blaha W Premerlani F Eddy and W Lorensen Object oriented modeling and design Prentice Hall Inc 1991 128 24 M Burkhard M W P Savelsbergh and M Sol The general pickup and delivery problem Transportation Science 1995 G Weiss Agent orientation in software engineering 2003 T D Wolf and T Holvoet Design patterns for decentralised c
50. ren wir die Begriffe wie Selbst Organisation Emergenz und auch emergentes Verhalten Emergentes Fehlverhalten 131 2 1 Selbst Organisation Die intuitive Definition von Selbst Organisation die im Jahr 1998 von Demps ter 4 gegeben wurde lautet wie folgt Self organisation refers to exactly what is suggested systems that ap pear to organise themselves without external direction manipulation or control Die Organisation bezieht sich vor allem auf die Ordnung im Systemverhalten Selbst Organisation bedeutet vor allem die spontane dynamisch produzierte Re Organisation Weiter sind einige Definitionen genannt die sich auf unter schiedliche Verhaltensweise von selbst organisierenden Systemen beziehen Bonabeau 1 btrachtet die Schw rme als ein Beispiel f r selbst organisirende Systeme F r Schw rmverhalten definiert er folgende Mechanismen die das iden tifizieren Vielfachwechselwirkung zwischen Individuen R ckwirkendes positives Feedback Steigerung von Pheromonen wenn Nah rung gefunden ist R ckwirkendes negatives Feedback Verd mpfung von Pheromonen Steigerung von Verhaltensmodifikation Steigerung von Pheromonen wenn die neuen Pfade gefunden sind Prigogine und seine Kollegen 11 haben vier notwendigen Anforderungen f r Systeme mit selbst organisierendem Verhalten unter externem Druck identi fiziert Mutual Causality Mindestens zwei Systemkomponenten haben die Kreisbe ziehungen eine bei
51. rlich ein viel zu gro er Aufwand w re alle Kombinationen f r die Konfiguration und Lasten zu testen benutzt man eine Technik aus dem Bereich des Machine Learning einen Entscheidungsbaum basierten Classifier Diese Technik erlaubt es anhand einer kleinen Menge an Lerndaten sehr genaue Vorhersagen ber das zu erwartende Verhalten zu machen 98 richtige Vorhersagen vergleiche 8 Table 4 3 3 1 Classificationbased Policyrefinement Beispiel Dieses Beispiel ist 8 entnommen Ziel ist es hier die folgenden high level QoS Policies auf low level Metriken herunter zu brechen Antwortzeit von Mo Fr 08 00 17 00 soll j85ms sein Verf gbarkeit von 08 00 20 00 99 95 Compliance ber einen Monat 97 Es soll weniger als 100 Transaktionen Sekunde geben Nachdem auf einem Testsystem eine Anzahl von Lasttests durchgef hrt wurden erh lt man die Testdaten in Form von Tupeln die wie folg aussehen Metrik 1 Metrik 2 Metrik n TRUE bzw Metrik 1 Metrik 2 Metrik n FALSE Die ersten Eintr ge sind die gemessenen Werte der low level Metriken der letzte gibt an ob die high level Policies eingehalten TRUE oder verletzt FALSE wurden Anhand dieser Daten kann nun ein Entscheidungsbaum wie in 3 erstellt werden Betrachtet man diesen Baum so stellt man fest dass jeder Pfad von der Wurzel bis zu einem Blatt eine Konstellation bei den Metriken repr sentiert die zum Einhalten oder einer Verletzung der Policy f hren Da wir dar
52. sehr gro en Zustandsraum hat bzw seine Skalierbarkeit ganz gro ist das Problem der Vorhersage wird sogar gr er 2 Pl tzliche Verhalaltens nderungen wenn das Verhalten vom System sich schnell zwischen Modis mit sehr unterschiedlichen Perfomanzeigenschaften ndern kann ist sein Verhalten sehr schwer vorherzusagen wenn die Para metern die diesen Modus steuern beim kritischen Punkt sind Zum Beispiel Ethernet Capture Effect 3 3 1 steigert pl tzlich wenn Chipdesigners das Inter Packet Gap zum bei Spezifikation erlaubten Minimum verringern 3 Verst rkung von anscheinend unwichtigem Verhalten Vorhersage ist eifa cher wenn wir unwichtige Abweichungen von erwateten Verhalten ignorie ren k nnen Wenn diese kleine Abweichungen durch die solchen Efekkte wie Resonanzen oder Koinzidenzen verst rkt werden k nnen k nnen sie zum unvorhersagbaren Verhalten f hren Eine schwierige Frage ist ob chaotisches Fehlverhalten besser zu verstehen als emergegentes Fehlverhalten ist oder doch nicht John Holland 14 schreibt die Definition von Emergenz wie folgt I ll not call a phenomenon emergent unless it is recognizable and re curring when this is the case Ill say the phenomenon is regular That a phenomenon is regular does not mean that it is easy to recognize or explain Diese Definition beinhaltet kein chaotisches Verhalten da es um die periodischen Erreignise geht Auch Parunak und VanderBok 18 unterscheiden explizit
53. selbstorganisierend wurden auf das Agentenorientierte Softwareengineering AOSE sowie deren Entwicklungsmethodologien eingegangen In Abschnitt 3 3 wurde klargestellt dass spezielle Design Patterns f r au tonome dezentrale Systeme notwendig sind und diese sich aufgrund der un terschiedlichen Abstraktionsebenen nicht zwingend mit den objektorientierten Patterns berschneiden Anhand des Fallbeispiels eines Paketlieferdienstes wurden abschlie end ge zeigt dass w hrend die Komplexit t bei der Softwareentwicklung weiter zu nimmt autonome dezentrale Systeme die M glichkeit bieten diese Komplexit t besser zu beherrschen Vielversprechende Ans tze liefert dazu der Forschungs bereich Organic Computing 20 15 Literatur 1 C Alexander S Ishikawa and M Silverstein A pattern language towns building construction 1977 2 3 4 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Design Patterns f r autonome dezentrale Systeme 127 J Andrews Threading the ogre3d render system 2006 http cache www intel com cd 00 00 33 13 331357_331357 pdf B Bauer Vorlesung model driven software development Universit t Augsburg Sommersemester 2006 C Bernon M Cossentino M P Gleizes P Turci and F Zambonelli A study of some multi agent meta models In J Odell P Giorgini and J P M ller editors AOSE volume 3382 of Lecture Notes in Computer Science pages
54. threadsichere Bibliotheken zu ent wickeln Die Objekte werden dupliziert und f r den Fall eines gleichzeitigen Zugriffs mehrerer unabh ngiger Threads auf ein Objekt wird lediglich die Kopie des Objektes ver ndert und die nderung in einem sp teren Takt in das Originalobjekt bernommen 2 2 Bei Grafikkarten wird Replication f r Doulbe Buffering eingesetzt um ber einen zweiten Bildspeicher das Flackern des Bildschirms beim Neuzeichnen zu verhindern Categorisation Informationsaustausch 4 Granularitat K rnung in der Informatik ein Merkmal f r die Anzahl von Unter gliederungen eines Elements Die Unterteilung liegt im Bereich von grob bis fein 7 120 M Burkhard 3 6 2 Evaporation Aliases Problem Applicability Wie kann ber die Zeit Information reduziert bzw entfernt werden Solution Effect ber Zeitstempel Countdown wird veraltete Information von der Umgebung erkannt und ber die Zeit entfernt Letztendlich bleibt keine Information mehr brig Granularity Es handelt sich um ein elementares Pattern Known Uses Kommt bei stigmergie basierten Anwendungen wie beispielsweise Digital Phe romone Paths zum Einsatz Categorisation Informationsverarbeitung 3 6 3 Aggregation Aliases Problem Applicability Wie kann die Menge an verarbeiteter Information zusammengefasst werden Solution Effect Agenten bergeben Informationen an ihre Umgebung Die Umgebung fasst die se neue Information m
55. unten Die Abszisse stellt die Strecke dar die Haltestellen Bahnh fe werden als vertikale Linien gezeichnet Die planm ige Verbindung eines Zuges ist eine farbige zackige Linie die immer von oben nach unten und entweder von links nach rechts oder von rechts nach links verl uft Anhand der Linie und der beiden Koordinatenachsen lassen sich Fragen zur Position und Zeit des Zuges beantwor ten Wo befindet sich der Zug zum bestimmten Zeitpunkt oder Wann wird der Zug diesen Ort durchqueren Au erdem ist die Geschwindigkeit des Zuges ableitbar je flacher die Linie desto langsamer und je steiler desto schneller der Zug Vgl Abbildung 3 Modellierung paralleler Abl ufe in OC Systemen 67 Ort A Ort B Ort C 10 00 4 10 30 11 00 11 30 12 00 12 30 Abbildung 3 Fiktives Bildfahrplan mit drei Z gen RE1 RE2 und ICE und drei Orten bzw ihren Bahnh fen Die Bahn Strecke zwischen A und B ist zweigleisig die Strecke B C dagegen eingleisig ausgebaut 68 N Klimov 3 2 Kontrollstrukturen beim Bildfahrplan Bei der Eisenbahn sind die Gleise eine kritische Resource im Sinne der Informa tik Die Ziige RE1 und RE2 kreuzen sich auf der Strecke zwischen den Orten A und B um etwa 10 30 Uhr Angenommen die Strecke A B ist zweigleisig aus gebaut dann k nnen die Z ge auf verschiedenen Gleisen fahren eine Kollision ist ausgeschlossen Gibt es aber nur einen Gleis zwischen den Orten A und B dann m ssen sich zwei Z ge ein G
56. unterordnen Um ein unbekanntes Terrain zu erforschen soll dabei ein ro bustes und energiesparendes Kommunikationsnetz gespannt werden Die Teams sollen m glichst lange ihre Aufgabe erf llen Um dies gew hrleisten zu k nnen muss der Energiebedarf jedes Teil und des Gesamtsystems minimiert werden Dabei muss sowohl die Erforschung optimal als auch der Engergieverbrauch f r die Bewegung eines Roboters optimal sein Es m ssen dazu nicht nur die theore tische Grundlage und die Algorithmen analysiert und verbessert werden sondern auch die Qualit t der Strategie im praktischen Einsatz ermittelt werden Explo ration und Kommunikation sind die Themen welche in Phase I hautps chlich umgesetzt werden sollen Energieeffizienz und die Ressourcenverteilung sollen in Phase II vertieft werden 3 1 2 Ergebnisse Um nun die fundierte Analyse der Strategien vornehmen zu k nnen wurden die Problemstellungen formal definiert Beispielsweise wird die zu erforschende Gegend als Graph repr sentiert in dem die Knoten die Lokatio nen und die Kanten die Erreichbarkeit selbiger widerspiegeln Dabei ist es nicht zwingend notwendig dass alle Kanten durchlaufen werden m ssen Adjazente Kanten k nnen sich von den anderen Kanten unterscheiden Der Graph ist aber zu Beginn nicht bekannt und muss erst aufgebaut werden 19 Jeder Roboter sieht dabei nur adjazente Kanten und kann mit anderen Robotoren kommuni zieren die sich innerhalb des selben Knotens befinden Die
57. von Knoten verbinden Die Stellen von denen die Kanten zu einer Transition laufen hei en Vorbereich von t und die Stellen zu denen von t aus Kanten f hren hei en Nachbereich oder Output Stellen von t In der Abb 11 ist Petrinetz zu sehen das aus 9 Knoten besteht sl s2 s3 s4 s5 t1 t2 t3 t4 Die Kanten sind durch Pfeile dargestellt Transition t1 hat im Vorbereich zwei Stellen sl uns s4 und Nachbereich eine Stelle s3 Transition t3 hat im Vorbereich eine Stelle s3 und im Nachbereich 2 Stellen sl und s4 Ein Ablaufflu wird mit Hilfe von Marken tokens simuliert Marken k nnen in Petrinetzen folgende Rollen spielen ein physisches Objekt z B ein Produkt ein Teil eine Ware Information z B eine Nachricht ein Signal Menge von Objekten z B Lieferwagen mit Waren eine Datei Zustandsindikator z B der Zustand in welchem sich der Prozess befindet Bedingungsindikator z B Vorhandensein von einem Token an einer Stelle sagt aus dass eine bestimmte Bedingung erf llt ist Die Marken haben bestimmten Datentyp Verwendet man den Datentyp bool dann hei t das Petrinetz auch Bedingungs Ereignis System Die Stellen d rfen 0 oder mehr Marken enthalten Eine Transition ist dann aktiviert wenn jede der eingehenden Stellen mindestens ein Marke enth lt Man sagt eine aktivier te Transition kann feuern bzw schalten Wenn eine Stelle feuert konsumiert sie eine Marke von jeder Stelle im Vorbereich und p
58. von Wissen welches von Agenten verarbeitet wird Agenten orientierte Ans tze betrachtet werden soziale Hierarchien wie z B Agent Gruppe oder Organisation Objektorientierte Ans tze die bestehenden Konzepte aus der OOP werden um Agenten Technologie erweitert Knowledge Engineering Agenten orientierte Ans tze Objektorientierte Ans tze CoMoMAS Gaia KGR MAS CommonKADS SODA MaSE CommonKADS Cassiopeia MASSIVE MIKE AALAADIN AOAD PROTEGE ROADMAP MASB ADELFE AOR EXPAND PASSI Prometheus Tropos MESSAGE Tabelle 1 bersicht ber die Entwicklungsmethodologien 15 25 Design Patterns fiir autonome dezentrale Systeme 117 Speziell fiir die Entwicklung von agenten basierten Systemen ist bereits eine groBe Anzahl von agenten spezifischen Sprachen verfiigbar die in drei Hauptka tegorien eingeteilt werden k nnen agenten orientierte interaktions orientierte und markt orientierte Programmierung Softwareingenieure k nnen mithilfe die ser propriet ren Sprachen die Anforderungen von agenten basierten Systemen besser realisieren Eine gute bersicht zu den agenten spezifischen Sprachen bie tet 25 Eine wichtige Erkenntnis bei der Untersuchung der Design Patterns ist dass ein Pattern von den Modellen abh ngig ist die in der angewandten Methodologie verwendet werden Die Modelle und deren Konzepte werden wiederum durch die Metamodelle beschrieben 3 3 Metamodelle Ein Metamodell definiert die Sprache zur Beschrei
59. werden durch Einschr nkung der zu berpr fenden Datenelemente Bei jeder Ein gabe bzw Regelanwendung wird jeweils nur ein kleiner Teil des Arbeitsspei chers ver ndert nur dieser muss betrachtet werden Einschr nkung der zu berpr fenden Bedingungen Die Bedingungs teile der Regeln sind im allgemein nicht disjunkt gleichartige Test k nnen zusammengefasst und damit der Testaufwand reduziert werden Rules im Org Comp 31 Auf der Grundlage dieser berlegungen liefert der Rete Algorithmus eine ef fiziente Implementierung des Matching bei Vorw rtsverkettung mit Teilbedin gungen und der Instanziierung von Regeln Der Rete Algorithmus wird in vielen regelbasierten Systemen verwendet in denen es auf Effizienz ankommt wie z B Jess Log JRules IBM Common Rules 20 Rete baut einen Baum aus Knoten verschiedenen Typen auf 10 Pr missenknoten Diese Knoten stellen eine Pr misse dar Verbindungsknoten Enth lt eine Regel mehr als eine Pr misse so werden die Verkn pfungen zwischen jeweils zwei Pr missen durch einen Verbindungs knoten dargestellt Das Ergebnis eines solchen Knotens ist genau dann wahr wenn beide Pr missen erf llt sind Aktionsknoten Dieses Ergebnis am Ende dient dann als Eingabewert f r den Aktionsknoten der die Aktion der Regel repr sentiert Beim ersten Evaluierungsdurchgang werden alle Pr missenknoten berechnet und die Ergebnisse werden gespeichert Ab dem zweiten Durchgang werden da
60. zur ck grei fen aber auch moderne Konzepte selbstorganisierender Systeme auf wie bei spielsweise Stigmergie und Emergenz Design Patterns fiir autonome dezentrale Systeme 119 Aus der Menge an untersuchten Entwurfsmustern wird in folgenden beiden Abschnitten eine Auswahl vorgestellt die entsprechend ihrer Granularit t 4 ein geteilt wurden 3 6 Elementare Patterns Bei den elementaren Patterns handelt es sich um grundlegende Entwurfsmus ter die sich nicht aus anderen Design Patterns zusammensetzen sondern aus denen andere komplexeren Entwurfsmustern aufgebaut sind Die Wahl fiel auf Replication Evaporation und Aggregation 3 6 1 Replication Aliases Duplication Redundancy Problem Applicability 1 Wie kann die Zugriffszeit auf Information verringert werden 2 Wie kann dem Verlust von Information vorgebeugt werden im Falle eines Komponentenausfalls verursacht durch b swillige Dritte oder h here Ge walt Solution Effect Die Agenten bertragen Information an alle benachbarten Agenten Ein zus tz licher Zeitstempel sorgt daf r dass die Information bei allen Agenten stets aktuell gehalten wird ber die Umgebung wird nderungen an einer Infor mation oder neue Information erkannt Liegt ver nderte oder neue Informa tion vor leitet der betroffene Agent die Information an benachbarte Agenten weiter Granularity Es handelt sich um ein elementares Pattern Known Uses 1 Replication kann eingesetzt werden um
61. BR lt 154804 0 amp amp 11424 7 lt wwwWCR lt 12352 3 IA IA M it dieser Verfeinerten Policy sind dem System nun von ihm beeinflussbare Parameter und ihre Wertebereiche bekannt um die high level QoS Policies zu erf llen 3 4 Automatisierung der Policytransformationen Die Automatisierbarkeit der Transformationen zwischen zwei Ebenen nimmt im allgemeinen mit dem Abstraktionsgrad ab Die in 1 vorgestellte Methode auto matisiert beispielsweise alle Schritte von den low level Zielen bis hin zur Strate gie vollst ndig aber die Verfeinerung der high level Ziele zu low level Zielen muss manuell durchgef hrt werden Ebenso wie in der Softwareentwicklung k nnen Modelle oft zumindest teilweise transformiert werden Transformationen auf der selben Ebene sind auf Grund des gleich bleibenden Abstraktionsgrades leichter durch zu f hren und daher leuchter zu automatisieren Als Beispiel soll hier die automatische Transformation der UML Modelle in den Event Kalk l in 1 die nen Es ist aber durchaus m glich f r eine beschr nkte Dom ne eine vollst ndige Automatisierung der Policytransformationen zu realisieren In 7 wird ein Poli cy Kontinuum f r das Management eines Netzwerkes mit 3 Diensten und 3 QoS 56 A Meixner Leveln vorgestellt in dem alle Policies von der obersten bis zur untersten Ebene mit Hilfe von XML und XSLT vollst ndig automatisch transformiert werden 4 Policy Konflikte In jedem System in dem mehr als eine P
62. Buthut i i objective function Li a 1 4 H t i simulation model adaptation module oF H Tr g LES e CH EE E b 8 eck ee b 3 i f a stuation H 3 1 mapping gt action st gt evaluation i Sei F Cotte A S amp 8 Tean H 2 i i action selector ji controller bes U action A EEEE EBENE PE E EEN o o0 0000 860 0070 ge gt SE under observation and control SuOC Dee 0 0 9 ee 00 000 e 0700 i Abbildung 5 SuOC Architektur 7 Anwedungsszenarien ging es vorwiegend um das Lernen eines Einzelnen In Pha se II soll dies nun durch das kollektive Lernen erweitert werden und die gesamte Observer Controller Architektur auf verteilten System ablaufen Aus den dabei gewonnenen Erkenntnissen erhofft man sich neue design patterns f r den Ent wurf neuer Systeme Als komplexes Anwendungsgebiet wird f r die Phase II eine Zusammenarbeit mit dem OTC Projekt angedacht 4 1 5 Zusammenfassung und Ausblick In dem SPP1183 wurden die unterschiedlichsten Projekte durchgef hrt von de nen hier neun ausgew hlte vorgestellt wurden Die Auswahl fiel dabei auf Pro jekte die entweder einen neuen Ansatz verwenden oder die Ergebnisse in inter essanten Anwendungsszenarios umsetzen 5 1 Beurteilung der Ergebnisse Viele der vorgestellten Themen befassen sich mit der Erforschung der Grundla gen und dem grunds tzlichen Verst ndnis ber die Verfahren der
63. COK BT q C7 oO C8 A7 Im AN A OK gt B8 wi A ist im kritischen Bereich B ist im kritischen Bereich Abbildung 23 Sequenzdiagramm Ein m gliches Szenario f r den Ablauf des verteilten wechselseitigen Ausschlusses Nebenl ufige und kausale Beziehun gen zwischen Ereignissen sind leicht zu erkennen es sind genau die Ereignisse z B zu B3 nebenl ufig von denen bzw zu denen keine Information entlang der Pfeile nach bzw von B3 flie t Nebenl ufige Ereignisse zu B3 A2 C2 C3 B3 ist dagegen von A1 kausal abh ngig A1 ist die Ursache f r B3 Modellierung paralleler Abl ufe in OC Systemen 85 sB3 sB5 sB4 nehmen Marken vom Typ Nachricht auf Die anderen Stellen sA1 sA6 sA8 sA10 und die spiegelgleichen Stellen vom Prozess B nehmen Mar ken vom Typ bool auf Die Kante zwischen sA9 und tA6 ist die sogenannte Inhibitor Kante Diese Art von Kanten ist eine Erweiterung von klassischen Petrinetzkanten Diese Kante erm glicht es eine Stelle auf Leerheit zu pr fen was oft n tzlich ist Transition tA6 ist nur dann aktiviert wenn die Stelle sA9 leer ist und die Stelle sA10 eine Marke hat tA6 schaltet also nur wenn der Prozess den kritischen Bereich verlassen hat und die Warteschlange leer ist Petrinetze werden zur Modellierung und Simulation von allgemeinen Vorg ngen insbesondere von Arbeitsabl ufen verwendet 9 Seite 490 Petrinetze besitz
64. Fahrer Fu g nger und Verkehrskontrol leuren produziert Die Verkehrsstaus wird meistens als Ergebnis von emergentem Fehlverhalten betrachtet 3 2 Computerhardwarebereich Wir sind daran gew hnt dass die Festplatten mit einander nur durch die Stora ge Controllers bzw Storage Protokolle wie z B SCSI kommunizieren In den gr eren Installationen sind mehrere Festplatten auf den Racks montiert Auf solche Weise k nnen die Leistungen von einer Festplatte durch die Vibrationen von Nachbarnfestplatten beeinflusst werden Die Hersteller ber cksichtigen es bei der Produktion von solchen Festplatten auch deswegen kosten sie mehr als die normale Festplatten 3 3 Computernetzwerkeberiech Computernetzwerkbereich bietet viele Beispiele von emergentem Fehlverhalten wahrscheinlich deswegen weil die Netzwerke sehr oft gro sind und ihre Leis tungsf higkeitsprobleme weit verbreitete Effekte aufweisen Jedoch einige Bei spiele unten passieren bei der kleinsten Netzwerkgr e Zwei Knoten Netzwer ken 3 3 1 Ethernet Capture Effect Der Ethernet Capture Effect ist ein gutes Beispiel von emergentem Fehlverhalten Capture Effect erzeugt signifikante Un klarheit in bestimmten CDMA CD Umgebungen Betrachten wir den Fall von einem kurzen LAN mit genau zwei Host Rechner A und B beide sind mit vielen Paketen zum Senden A und B werden gleichzeitig das Kanal als frei erkennen beiden werden Pakete senden und die Kollision verursacht die Berechnung
65. Left Hand Side genannt w hrend die Formel im Dann Teil also B in Eq 1 Konklusion oder Konsequenz genannt wird wird auch RHS Reight Hand Side genannt Wenn Pr misse einer Regel erf llt ist die Regel also angewendet werden kann so sagt man auch die Regel feuert Gilt die Regelin Eq 1 immer also ohne Ausnahme so spricht man auch von einer deterministischen Regel Als Beispiel f r eine Regel Wenn ich m de bin dann gehe ich ins Bett Die zwei Teile einer Regel k nnen je nach Kontext unterschiedlich interpre tiert werden z B Schlussregeln wenn Pr misse dann Konklusion stellungen dient Beispiele sind Systeme zur Unterst tzung medizinischer Diagnosen oder zur Analyse wissenschaftlicher Daten 19 28 B Turki Hatam Hypothesenbildung etwa bei Diagnose wenn Evidenz dann Hypothese Produktionen wenn Bedingung dann Aktion Regeln wurden und werden gerne in Produktionssystemen zur Steuerung eingesetzt wobei die Konsequenz einer Regel oft mit Aktion verbunden ist 3 Eine einzelne Regel stellt im Idealfall eine Wissenseinheit dar aber eine Men ge von Regeln zusammen mit einer Ausf hrungsstrategie stellt eine Art von Programm dar f r die L sung eines Problems oder einer Problemklasse vgl Prolog Programm Regelbasierte Systeme 3 2 Aufbau eines Regelbasierten Systems In diesem Abschnitt werden die Bestandteile eines Regelbasierten Systems kurz gekl rt Mehr dar ber wird unter Rule
66. Policy Refinement ist eine Technik die Strate gien entwerfen soll um die Policies in einem System zu erf llen Unter Strategie versteht man dabei einen Plan der angibt welche Systemfunktionen in welcher Reihenfolge ausgef hrt werden sollen Der Erste Schritt ist also aus den Policies und den Systemanforderungen die Ziele zu ermitteln Man erh lt dadurch die sogenannten high level Goals die noch zu abstrakt sind um mit ihnen weiter zu arbeiten F r das Refinement der Ziele wird der KAOS Ansatz von Darimont 2 vorgeschlagen Das Ergebnis sind Ziele die so weit verfeinert sind dass jedes da von von einer einzigen Systemkomponente funktion erreicht werden kann Bei den verfeinerten Zielen weren zwei Arten unterschieden konjunktive es m ssen alle Unterziele erreicht werden um das bergeordnete Ziel zu erreichen und disjunktive es muss nur eines der untergeordneten Ziele erreicht werden um das bergeordnete zu erreichen Als n chster schritt findet die Zuweisung der low level ziele zu den Systemkomponenten die sie erf llen k nnen statt Ist das geschehen kann durch abductive reasoning eine Strategie also ein Ausf hrungs plan erstellt werden bei dem sichergestellt ist dass das System seine Aufgabe unter Einhaltung aller Policies erf llt F r die Umsetzung dieses Refinemnt prozesses wird neben den Policies auch eine formale beschreibung des Systems ben tigt Bandara 1 schl gt das Event Kalk l Event Calculus EC vor da es ein
67. Prozesse h ngen nicht von deren Bearbeitung ab 2 2 Synchronisation Sehr oft braucht man Prozesse die miteinander kooperieren indem sie Zwi schenergebnisse und Daten austauschen Man sagt dass die Prozesse miteinander kommunizieren Dabei beeinflu en sie gegenseitig ihren weiteren Ablauf sodass man sie nicht immer in unabh ngige Pfade aufspalten kann Die Bearbeitungs folge und bestimmte Abl ufe m ssen eingeschr nkt vermieden werden da der Zugriff mehrerer Prozesse auf eine gemeinsame Datenstruktur zu nicht korrekten Resultaten bzw zu Inkosistenzen f hren kann Bei speichergekoppelten Multiprozessoren befinden sich alle Daten in einem gemeinsamen Speicher shared memory Die Prozesse k nnen direkt auf alle Daten zugreifen Der wechselseitige auch gegenseitiger Ausschluss mutual ex clusion garantiert dass zu einem bestimmten Zeitpunkt nur ein Prozess in einen kritischen Bereich eintreten kann 6 S 589 2 S 470 Der Prozess kann dann al le Datenver nderungen vornehmen ohne dass Inkostistenzen race conditions entstehen Die Abb 11 zeigt die Grundidee als Petrinetz modelliert Weitere M glichkeit die Prozesse zu synchronisieren stellt das Prinzip der Schranke H rde barrier dar Zwei oder mehr Prozesse m ssen an einer ge wissen Stelle in ihrem Programmcode oder in ihrem Ablauf angekommen sein Wenn nicht alle Prozesse angekommen sind k nnen m ssen Prozesse auf die anderen langsameren warten An der Schranke e
68. Roboter haben nur drei M glichkeiten ihre Aktionen in einem Schritt auszuf hren sie k nnen ent weder kommunizieren lokale Berechnungen durchf hren oder sich bewegen bzw verweilen Die zu optimierenden Paramter sind dabei die maximale Anzahl an Kanten berquerungen sowie die Gesamtzeit der Exploration Die Ergebnisse die ser Untersuchung sind dass die Abbildung f r die Gesamtzeit wichtig aber f r die Energieeffizienz nicht in einem vergleichbaren Ma gravierend ist 19 F r die effiziente Kommunikation wird eine Kommunikationskette aufgebaut in der die Roboter die sich zwischen den Enden befinden als Relay fungieren Oberstes Ziel dabei ist aber die Kommunikation in jeder Situation aufrecht zu erhalten Somit leiten also die Roboter eingehende Nachrichten weiter an Ihren n chsten Nachbarn bis die Nachricht des erforschenden Roboters den Empf nger erreicht hat Das Hopping der Nachrichten ist also wesentlich effizienter als der Versand mit erh hter Sendeleistung direkt zum Empf nger Dabei wurde die notwen dige Anzahl der Relaystationen f r das Hopping minimiert Die theoretischen Grundlagen wurden gelegt und Algorithmen entwickelt welche in einer entwor fenen Simulation SmartS 3 auf die Auswirkung der eingesetzten Strategien hin getestet wurden 3 1 3 Bewertung In Phase I wurden die theoretischen Grundlagen gelegt und die angewendeten Strategien und Algorithmen auf Ihre Effizienz hin betrachtet In Phase II wird die Ressource
69. Spiel des Lebens oder eine Funktion Aufgabe wie Bildung vom Kurs zeitplan von einigen lokalen Elementen sein Folgende Eigenschaften muss das System erf llen wenn es Emergenz aufweist Es muss zwei Niveaus Mikro und Makroniveau im System geben Das System muss mindestens auf dem Makroniveau wahrnehmbar sein Keine Reduzierbarkeit von Eigenschaften des h hen Niveaus zu den Eigen schaften des niedrigen Niveaus Gegenseitige Abh ngigkeiten zwischen den Niveaus e Makroniveau zwingt das Mikroniveau e Mikroniveau verursacht das Makroniveau Das System muss Neuheit aufweisen etwas neues was fr her nicht existierte wird produziert Es muss auch Zusammenhang aufweisen in der Sinne dass es sein eigenes Identit t hat Es wird auch mit den Teilen stark verkn pft die Emergenz produzieren Hat das System die Objekte mit linearen Aktivit ten wird die Erkl rung und die Vorhersagem glichkeit des globalen Zusatandes m glich Um umergentes Ph nomen zu bekommen braucht man im Gegenteil nicht lineare Aktivit ten auf dem Mikroniveau 2 3 Vergleich von Selbst Organisation und Emergenz Emergenz und Selbt Organisation sind zwei Ph nomene die sowohl hnlich keiten als auch Unterschiede haben Diese zwei Begriffe werden sehr oft falsch gegenseitig benutzt 2 3 1 hnlichkeiten Da die Emergenz und die Selbst Organisation sehr un terschiedliche Aspekte von Systemverhalten hervorheben gibt es zwischen i
70. Universit t Augsburg Institut f r Informatik Programmierung verteilter Systeme Konzepte und Techniken im Organic Computing WS 2007 2008 Seminarband Bernhard Bauer Holger Kasinger Raphael Romeikat Viviane Sch bel Vorwort Im Wintersemester 2007 2008 wurde von der Gruppe Programmierung verteilter Systeme der Universitat Augsburg das Seminar Konzepte und Techniken im Or ganic Computing veranstaltet Dieser Seminarband umfasst alle studentischen Arbeiten die im Rahmen des Seminars erstellt wurden Den Beginn des Bandes bildet die Arbeit von Christoph Stempfle welcher eine umfassende Einf hrung in das Forschungsgebiet Organic Computing OC bietet Im Anschluss daran stellt Bekr Turki Hatam in seiner Arbeit Rules als eine erste grundlegende Technik zur Regelung des lokalen Verhaltens von OC Systemen vor Diese Technik ist im Kontext des OC eng mit dem Begriff der Policies verbunden einer Technik zur Steuerung des globalen Verhaltens von OC Systemen Letztere betrachtet Andreas Meixner in seiner Arbeit genauer Nikolai Klimov widmet sich in seiner Arbeit der Tatsache dass in modernen Rechnern sowie in verteilten Systemen viele Vorg nge parallel ausgef hrt wer den welche zum besseren Verst ndnis f r den Entwickler Benutzer oder Admi nistrator mit geeigneten Sprachen modelliert werden m ssen Da in verteilten dezentralen Systemen dar berhinaus die Koordination einzelner Entit ten eine wichtige Rolle spielt ze
71. aben und muss genau ein consequence Subelement Konklusionen besitzen 4 2 2 Regelattributen no loop typ Boolean default Wert false Es ist m glich dass die Konsequenz einer Regel dazu f hren w rde dass diese Regel nochmals evaluiert wird Mit diesem Parameter kann man verhindern dass die Regel mehrmals evaluiert wird salience typ integer default Wert 0 Salience ist eine Art Priorit t Wert Regeln mit einem h heren Saline Wert werden eher ausgef hrt als solche mit niedrigem Wert Man kann hier einen positiven sowie auch negativen Wert angeben activation group typ String default Wert NULL m 10 12 14 40 B Turki Hatam Mit dem Festlegen einer Activation Group k nnen mehrere Regeln zu einer solchen Gruppe zusammengefasst werden Die erste Regel dieser Gruppe die ausgef hrt wird schickt allen anderen der Gruppe ein Signal sodass diese nicht mehr ausgef hrt werden Beispiel rule meine Regel salience 42 activation group wichtig when 4 2 3 Syntax Beispiel In Drools steht rule f r Regel condition f r Bedin gung Pr misse und consequence f r Konklussion Aktion F r dasselbe Beispiel von RuleML sollte die Regelbeschreibung von dieser Regel mittels XML so aus schauen lt rule name the discount for a customer gt lt parameter identifier customer gt lt class gt com camunda Customer lt class gt lt parameter gt lt condition gt customer status equels pr
72. ach k nnen die objektorientieren Entwurfsmuster und die Design Pat terns der dezentralen autonomen Systeme innerhalb der selben Architektur auf verschiedenen Abstraktionsebenen verwendet werden Um die Abh ngigkeit der Design Patterns von der jeweiligen Methodologie zu l sen haben Carole Bernon et al in ihrer Studie zwischen ADELFE Gaia und PASSI einen Vergleich angestellt Sie haben dabei nicht nur die Konzepte der je weiligen Metamodelle analysiert sondern versucht aus den vielversprechendsten Emergenz ist dabei als die Eigenschaft eines Gesamtsystems definiert welches nicht durch einfache Summation von Teileigenschaften errechnet werden kann 19 3 Bei Stigmergie handelt es sich um einen speziellen Selbstorganisationsmechanismus der bei der Kommunikation die Umgebung mit einbezieht Siehe 15 118 M Burkhard Aspekten der einzelnen Metamodelle ein einheitliches Metamodell zu erstellen Jedoch war das Metamodell zu umfangreich um darauf eine bergreifende Ent wicklungsmethodologie definieren zu k nnen 4 3 4 Klassifizierungsschema In Abschnitt 2 1 wurde als Klassifizierungsschema die Formatvorlage der Gang of Four f r die OO Design Patterns als Beispiel vorgestellt An diesem Schema haben sich viele Arbeiten ber Design Patterns dezentraler autonomer Systeme orientiert und sie an den spezifischen Kontext angepasst Um den berblick zu bewahren und die Design Patterns in Abschnitt 3 5 vergleichen zu k nnen wurde
73. achvollziehbar bleiben Das bedeutet nichts anderes als dass es f r den Menschen lesbar bleiben muss Dabei soll aber der manuelle Eingriff so gering wie m glich bleiben um die Autonomie des Systems gew hrleisten zu k nnen 4 1 2 OTC Architektur Die Ziele die sich gesetzt worden sind erfodern eine Multilayer Architektur des Organic Traffic Control Systems In diesem Fall entschied man sich f r eine 3 Schicht Architektur Situation Quality of control Abbildung 4 Organic Traffic Control 3 Schicht Architektur 2 SPP1183 Organic Computing Phase I 163 Layer 0 bildet die Steuerung der Ampel diese erh lt Sensordaten und schal tet dann durch den Controller die entsprechenden Lichtsignale Der Verkehr wird dadurch beeinflusst und liefert wiederum neue Sensordaten Layer 0 kann aber nur auf kleine Ver nderungen im Verkehr reagieren Das Verhalten wird dabei von einigen wenigen festen Parametern bestimmt Layer 1 und 2 sind wieder nach dem bekannten Observer Controller Prinzip aufgebaut Layerl beherbergt den Observer 1 der die Verkehrssituation berwacht und versucht mit Hilfe ei nes modifiziertem Learning Classifier System LCS anhand passender Regeln ein angemessenes Parameter Set auszuw hlen Es werden also in Layer 1 gr ere Ver nderungen im Verkehr behandelt denn genau diese gr eren Ver nderun gen ben tigen ein neues Paramter Set Layer 3 ist f r die eigentliche Erzeugung von passenden Parametern zust ndig Dazu wer
74. akte Sicht Hier werden vor allem wirtschaftliche Aspekte in der Vordergrund gestellt Da dieser Layer f r technisch zumeist nicht geschulte Mitarbeiter gedacht ist werden die Policies sehr pr gnant und intuitiv dargestellt Es kommen Policysprachen wie SBVR zum Einsatz Auf Grund des hohen abstraktionsgrades sind die Transformatio nen meistens nur teilweise automatisierbar 52 A Meixner hoch DEI SUONYENSAQY Administration Layer Abbildung 2 Ein Policy Kontinuum mit den 3 gebr uchlichsten Ebenen niedrig PBM amp OC 53 3 1 2 Der Domain Layer ist deutlich konkreter als der Busines Layer aber immer noch so abstrakt das die Policies mit dieser Sicht noch nicht von Rechnern verarbeitet werden k nnen Die Zielgruppe dieser Sicht sind Dom nenexpreten wie Web Datenbank oder CRM Experten Die Sprache f r diese Sicht m ssen sich an die jeweilige Dom ne anpassen k nnen oder es werden dom nenspezifi sche Sprachen verwendet 3 1 3 Der Administration Layer ist wie der Name schon sagt die Sicht f r die Systemadministratoren Die Policies in dieser Sicht sind in einer Form dass sie dirkt vom System verarbeitet werden oder von den Administratoren ohne weitere Informationen in eine Konfiguration berf hrt werden k nnen Die Policies sind in formalen f r Rechner vearbeitbaren Sprachen und hersteller spezifischen Formaten notiert 3 2 Goalbased Policyrefinement Das in 1 vorgestellte Goal based
75. als Ganzes zu definieren und manchmal Entwickler beschreiben sie zu detailliert im Vergleich zu dem wof r sie verantwortlich sind Sowohl Parunak und VanderBok als auch Huberman und Hogg weisen darauf hin dass die Verz gerung einer der Hauptbeitragender von emergentem Fehlver halten ist Verz gerung ist inh rent in verteilten und Netzwerksystemen Wobei es scheinen kann dass die prim re unerw nschte Folge von Latenz die langsame Ausf hrung vom System ist k nnte Latenz sogar mehr sch dlich sein weil es Verst ndnis und Kontrolle von einem System verschlechtert Wie Huberman und Hogg hinweisen Verz gerung bedeutet dass kein ein zelner Gesichtswinkel v llig konsequenten und aktuellen Ansicht vom globalen Systemzustand haben kann das ist was zu Schwingungen und Chaos f hrt 5 Umgang mit emergentem Fehlverfahren 5 1 Erkennung von emergentem Fehlverhalten Hat man die Klassifikationen von emergentem Fehlverhalten und seinen Ursa chen so kann man auch die Techniken f r Erkennung und auch f r Ursachendia gnose entwickeln In vielen F llen ist das das Beste was wir tun k nnen wenn man davon ausgeht dass emergentes Verhalten urspr nglich unvorhersagbar ist Um die Erkennung zu unterst tzen kann das Betriebssystem oder die In frastruktur von verteilten Systemen ihre Applikationen f r allgemeine berein stimmung mit solchen Mustern wie Flattern Livelock unerw nschte Periodi zit t usw beobachten Dieser Ansatz
76. am mierung OOP bertrugen Kent Beck und Ward Cunningham 1987 das Konzept des Pattern von Alexander auf die Softwaretechnik um den neuen Herausforde rungen von OOP zu begegnen und das Potenzial der OOP besser auszusch pfen 8 Inspiriert von dieser Idee ist eine Reihe unterschiedlicher Design Patterns entstanden und Kataloge welche eine Vielzahl der Entwurfsmuster zusammen fassen Zwei bekannte Entwurfsmuster Kataloge die Design Pattern der Gang of Four GoF und die General Responsibility Assignment Software Patterns GRASP werden in folgenden Abschnitten vorgestellt Weitere bekannte Wer ke zum Thema Design Patterns fiir objektorientierte Softwareentwicklung sind Design Patterns for Object Oriented Software Development 21 von Wolfgang Pree und Patterns of enterprise application architecture 12 von Martin Fowler Ma geblich f r den Einsatz von Entwurfsmuster ist dabei die Einteilung Klassifikation der Design Patterns nach gemeinsamen Merkmalen Das Klas sifizierungsschema erleichtert dabei die Identifikation der L sungsm glichkeit anhand der Problembeschreibung und erm glicht den Vergleich zwischen den Patterns untereinander 2 1 Klassifizierungsschema Bei der Beschreibung der Design Patterns entscheidet sich der Autor neben bergeordneter Kategorie f r eine konsistente einheitliche und strukturelle For matvorlage die allen Entwufsmustern zugrunde gelegt wird Dieses Klassifizie rungsschema gibt dem Softwarearchit
77. an interessiert sind dass die Policies eingehalten werden sind f r uns die mit TRUE beschrifte ten Bl tter und ihre Pfade von Interesse Verfolgt man den Pfad von der Wurzel bis zum Blatt 29 unten rechts in 3 so kann man daraus diese Policy ableiten dbCPU gt 7 03 amp amp wwwCPU lt 27 2 amp amp wwwRX PR gt 8769 72 amp amp dITXPR lt 9666 55 amp amp RBR gt 10477 8 amp amp dbT X PR gt 37 93 amp amp wwwWCER gt 11424 7 N ach weiteren Iterationen bei denen mehrfach auftretende Metriken zusam mengefasst werden erh lt man folgende Policy PBM amp OC 55 a ee dbCPU lt 7 03 dbCPU gt 7 03 dbCPU lt 0 9 dbCPU gt 0 9 WWWCPU lt 27 2 wwwCPU gt 27 2 wna ome gt m dbRER lt 31583 QbRBR gt 31583 5 WWWRXPR lt 8769 9VRXPR gt 8769 72 e mem dbRBR lt 32378 9 dbRBR 32378 9 bTXPR lt 9666 5 TXPR gt 9666 55 dhTXBR lt 21 360 HERBR gt 2136061 67 dbCPU lt 5 6 dbCPU gt 5 6 dbRBR lt 10477 6ubRBR gt 10477 8 WHER lt 61 2048ER gt 61201 95 dbTXPR lt 3790 99 TXPR gt 3790 93 WWWANBR lt 20498MH WBR gt 20496 45 WWWANCR lt 1142MAMNOR gt 11424 7 WWWWNBR lt 1085660 WBR gt 10855 67 Abbildung 3 Ein mit dem Random Tree Algorithmus berechneter Entschei dungsbaum Quelle 8 7 03 lt dbCPU lt 12 434 amp amp 3 61269 lt wwwCPU e 27 2 amp amp 8769 72 wwwRXPR lt 183002 0 amp amp 3790 93 lt dbTXPR lt 9666 55 amp amp 10477 8 dbR
78. an laut 10 von Selbst Heilung Probleme k nnen hierbei kleinere Fehler wie z B ein Bit Fehler in einem Speicher Chip Hard warefehler oder schwerwiegendere Probleme wie z B fehlerhafte Eintr ge im Verzeichnisdienst Softwarefehler sein Das System versucht den Fehler zu be heben wobei die Methode zur Fehlerbehebung dem System selbst berlassen bleibt Es kann z B auf eine redundante Komoponente wechseln oder ein Soft wareupdate installieren Wichtig ist dass als Ergebnis des Heilungsprozesses das System nicht mehr besch digt ist nur dann spricht man von Selbst Heilung Diese Fehlertolleranz ist ein wesentlicher Aspekt der Selbst Heilung Selbst Schutz bedeutet laut 10 wenn sich ein System vor b sartigen Angrif fen oder Benutzern die aus Versehen nderungen in der Software vornehmen z B wichige Dateien l schen sch tzt Das System ver ndert sich sofort um Si cherheit Datenschutz und Datensicherheit zu gew hrleisten Sicherheit ist ein wichtiger Aspekt des Selbst Schutzes 2 5 Selbst anpassend anpassungsf hig Laut 5 liegt der Unterschied der beiden Begriffe darin dass anpassungsf hige Systeme an ihre eingesetzte Umgebung angepasst werden k nnen wohingegen sich selbst anpassende Systeme ohne Benutzereingriff an ihre Umgebung anpas sen Angepasst werden anpassungsf hige Systeme durch einen externen Benut zer indem dieser die zur Verf gung gestellten Interfaces nutzt Selbst anpassende 94 M Boegler Sy
79. aphentheoretischen Problemen wie beispielsweise das Traveling Salesman Problem 18 10 Categorisation Koordinations und Kommunikationsmechanismus Design Patterns fiir autonome dezentrale Systeme 123 3 7 3 Market based Coordination Aliases Problem Applicability 1 Wie k nnen Ressourcen effizient ber dezentrale und verteilte Mechanismen bereitgestellt werden 2 Wie werden lokal Informationen ber das globale Angebot und Nachfrage von Ressourcen verf gbar Solution Effect In Anlehnung an die konomische Markttheorie wird auf einem virtuellen Markt um Ressourcen gehandelt Der Preis f r die Ressourcen entsteht dynamisch aus Angebot und Nachfrage durch die autonomen Einheiten Jedes autonome System kann anhand des aktuellen Marktpreises dar ber entscheiden ob es eine Ressource erwirbt oder nicht Granularity Aus elementaren Pattern zusammengesetzt Known Uses 1 Bei der Energieverteilung herrscht Angebot und Nachfrage nach Energie 2 Bei der Wegewahl in Netzwerken Routing wird um die verf gbare Netz werkbandbreite gehandelt Categorisation Koordinations und Kommunikationsmechanismus 4 Anwendungsbeispiel Paketlieferdienst Die Anwendung der vorgestellten Koordinationspattern Gradient Fields Digital Pheromone Paths und Market based Coordination werden in der folgenden Fall studie eines Paketlieferdienstes 26 24 illustriert Im Abschnitt 4 1 wird auf die Problemstellung des Beispiels eingegangen und im
80. arallelit t Definition Nebenl ufigkeit engl concurrency Mehrere Vorg nge Programme Objekte oder Prozesse hei en nebenl ufig wenn sie voneinander unabh ngig bearbeitet werden k nnen 9 S 433 Definition Parallelit t Modellierung paralleler Abl ufe in OC Systemen 63 Steeg Funktionsbaum 1 A B C D E F E N 2 B A C D E F A D C N gt B A 3 Ave Se ESF Act Ablauf mit 2 Prozessen 4 B e Prozess et st A gt C gt D PR Bl 5 C D gt B gt A E gt F e E gt F Prozess 2 Abbildung 1 Zubereitung von Folienkartoffeln Die Zubereitung besteht aus 7 Schritten Operationen Vorg ngen A Karoffeln kaufen B Den Backofen auf 250 Grad Celcius vorheizen C Die Kartoffeln reinigen und auf ein St ck Folie setzen D Folie verschlie en E Die Kartoffeln auf einem Backbleck im Backofen etwa 50 Min garen F Die Kartoffeln herausnehmen Alufolie ffnen Der Funktionsbaum zeigt die Abh ngigkeiten der Vorg nge Eltern Knoten sind unmittelbar von ihren Kinderknoten abh ngig Vorgang C z B ben tigt die Daten Kartoffeln von A Vorgang F kann erst am Schlu ausgef hrt wer den wenn alle Vorg ngerknoten erfolgreich erledigt wurden Man mu die Vorg nge in bestimmter Reihenfolge ausf hren Links in der Abbil dung sind 5 Abl ufe zu sehen Die Abl ufe 1 2 3 4 sind korrekt Ablauf 4 ist dagegen nicht korrekt Wegen der sequentiellen Abfolge ausgef hrter Operationenen werde
81. auf und m ssen von hochspeziali sierten Experten gewartet kontrolliert ver ndert aufgesetzt und betrieben werden 2 Systeme die zur Gruppe Managed geh ren b ndeln Informationen auf geschickte Weise so dass ein geringerer Aufwand zur Administration ent steht 3 Als Predictive bezeichnet man Infrastrukturen die bestimmte typische Zust nde des Systems erkennen und den Administratoren auf Grund von Erfahrungen also abgespeicherten Daten Empfehlungen zum weiteren Vor gehen aussprechen Somit wird das Personal das f r die Verwaltung des Sy tems zust ndig ist erheblich entlastet Au erdem k nnen Entscheidungen damit viel schneller und effizienter getroffen und die nderungen umgesetzt werden 4 In der Stufe Adaptive vergleicht das System seinen Zustand st ndig mit so genannten Service Level Agreements SLAs und leitet anhand dieser geeig nete Ma nahmen ein Somit findet nur noch eine geringe Mensch Maschine Interaktion statt Solche Systeme kann man schon als agil und robust be zeichnen 5 Der h chste Level in diesem Modell nennt sich Autonomic Solche Systeme sind h chst dynamisch Um dies zu gew hrleisten m ssen Businessregeln und Policies aufgestellt werden anhand derer das System wei wie es im Weiteren vorgehen soll Die IT Abteilung kann sich nun anstatt st ndig ein Auge auf das System an sich werfen zu m ssen wirklich auf Gesch ftprozesse konzentrieren 3 2 4 Architekturt
82. aul Horn von der Firma IBM pr gte den Begriff des Autonomic Computing Er definierte autonome Systeme folgenderma en Computer Systems that can regulate themselves much in the same way as our autonomic nervous system re gulates and protects our bodies 1 25 Man versucht die oben beschriebene Problematik nun nicht mehr mit zus tzlicher Rechenpower in den Griff zu be kommen sondern durch gezieltes Sammeln und Einsetzen von Daten Nach Aus wertung dieser Daten kann das System dann automatisch entsprechend wenn m glich auch richtig reagieren IBM nennt diesen Ansatz Autonomic Compu ting Ein autonomes Computersystem hat folgende Eigenschaften zu erf llen Es sollte flexibel immer erreichbar und transparent sein 5 Unter flexibel versteht man dass die zu sammelnden Daten von berall her kom men k nnen Transparenz bedeutet in diesem Zusammenhang dass das System zuverl ssig arbeitet obwohl der User von der innernen Struktur des Systems nichts wei Nat rlich war es ein weiteres Erfordernis dass die neue Technologie eine deutliche Kostenersparnis zu lteren Ans tzen bieten musste Zudem musste ein autonomes System trotz seiner Autonomie weiterhin zuverl ssig funktionie ren Wenn erstmal die Grundfunktionalit t gew hrleistet und erforscht worden war sollte mit diesem Mechanismus aber auch eine Zusammenarbeit von ver schiedensten Komponenten auf der ganzen Welt besser funktionieren Durch Selbstko
83. ax Beispiel Bei der Beschreibung von Fakten und Regeln ist es m glich sich weitergehend an der logischen Programmsprache Prolog zu orien tieren In RuleML werden die Regeln in einer Baumstruktur geschrieben wie im folgenden Beispiel f r die Ableitungsregeln Derivation Rules The discount for a customer buying a product is 5 percent if the customer is premium and the product is regular In dieser Regel gibt es zwei Pr missen du eine Konklusion Die zwei Pr miss en werden durch die Einf hrung eines expliziten lt And gt gel st Im RuleML 0 91 steht body f r die Pr missen head f r die Konklusionen und lt Atom gt f r die logischen Ausdr cke Die RuleML Notation f r die Regel hat die folgende Gestalt 6 lt Implies gt lt head gt lt Atom gt lt Rel gt discount lt Rel gt lt Var gt customer lt Var gt lt Var gt product lt Var gt lt Ind gt 5 0 lt Ind gt lt Atom gt lt head gt lt body gt lt And gt lt Atom gt lt Rel gt premium lt Rel gt lt Var gt customer lt Var gt lt Atom gt lt Atom gt lt Rel gt regular lt Rel gt lt Var gt product lt Var gt lt Atom gt lt And gt lt body gt lt Implies gt Syntax f r weitere Regelarten in RuleML kann wie folgendes dargestellt wer den Transformationsregel m m 38 B Turki Hatam lt trans gt lt _head gt Konklusion lt _head gt lt _body gt lt and gt Bedi BedN lt and gt lt _b
84. back Adaptation und Steuerungsmodelle die 130 A Ostroverkhov das erste Mal im Jahre 1950 vorgeschlagen wurden Dieser kybernetische An satzt ist sehr interresant f r die zukunftigen Systeme braucht man etwas sogar mehr radikales wie Selbstorganisation Der Begriff Selbstorganisation wird sp ter in diesem Artikel erl utert jetzt k nnen wir sagen dass die Systeme die Selbstorganisation aufweisen haben so genannte Selbst X Eigenschaften und zwar Selbst Konfiguration Selbst Hei lung Selbst Optimierung und Selbst Schutz Zukunftige Systeme sind somit mehr unabh ngig flexibel und selbstst ndig Die Systeme mit solchen Selbst X Eigenschaften werden oft als Selbst Managing Systeme genannt Entwicklung und Design von solchen Systemen ist aber nicht eine einfache Aufgabe Es werden sehr oft die Beispiele aus der Natur entlehnt um die Systeme mit Selbst X Eigenschaften zu bauen Solche biologischen Systeme wie Amei sen Bienen Termiten Fisch und V gelschw rwe sind einige Beispiele wo man die oben erw hnten Selbst X Eigenschaften sehr schnell identifiziert In solchen Systemen gibt es immer mehrere einfache Objekte die grunds tzlich nur mit ein ander kommunizieren Es gibt kein zentrales Objekt das f r Systemsteuerung und Kontrolle verantwortlich ist In solchen biologischen Systemen kann man aber auch eine andere Eigenschaft bemerken Das Verhalten von einzelnen Ob jekten l sst sich nicht das Verhalten von dem Syst
85. ber jederzeit wieder ndern kann auf Grund ver nderter Anforderungen an das System Beispielsweise k nnte sich eine Komponente im System ndern Somit m ss ten alle anderen Knoten mit denen diese Komponente auf welche Weise 10 C Stempfle auch immer verbunden ist jegliche Verweise auf die ver nderte Komponente updaten da diese eventuell ganz andere Dienste zur Verf gung stellt als die urspr ngliche 2 Selbstreferenz Aus allen hier vorgestellten Defintionen sticht dieser Aspekt klar heraus er bildet sozusagen den Kern der Selbstorganisation Durch Ak tionen die intern im System ausgel st werden ohne dass von au en ein bestimmter Befehl daf r verantwortlich war werden die Parameter des Sys tems ge ndert Die nderung der Parameter hat vermutlich wieder Auswir kungen auf eine neue systeminterne Aktion die ausgel st werden k nnte Somit besteht eine Referenz zwischen den Zust nden eines Systems 3 Redundanz Es gibt in selbstorganisierenden Systemen keine Trennung zwi schen organisierenden gestaltenden und lenkenden Teilen Alle Komponen ten sind prinzipiell Gestalter was zu Redundanz f hrt 4 Autonomie Systeme die selbstorganisierend sind sollten m glichst auto nom in Bezug auf die Beziehungen und Interaktionen sein die im System stattfinden d h dass ein solches System keinen Ansto von Au en braucht um sich selbst in bestimmter Form zu verwalten Nat rlich befindet sich ein System immer in irgend
86. bung der Modelle Es umfasst die Konzepte Syntax und Semantik die bei der Modellierung angewendet wer den Im Falle der UML sind das beispielsweise Klassen Attribute Operationen und Komponenten wie sie aus der OOP bekannt sind 3 In den im vorherigen Abschnitt vorgestellten Entwicklungsmethodologien werden anstelle der UML vorwiegend dom nenspezifische Metamodelle zur Be schreibung der Konzepte der Multi Agenten Systeme eingesetzt Die MAS Mo delle besitzen deshalb auch eine andere Semantik als sie beispielsweise von der UML definiert wird Aufgrund des unterschiedlichen Sinngehalts der Modelle und Konzepte lassen sich die bestehenden Design Patterns der OOP nicht im mer auf autonome dezentrale Systeme bzw Multi Agenten Systeme bertragen Stattdessen m ssen f r die dom nenspezifischen Konzepte jeweils eigene Design Patterns erstellt werden Wie bereits die bersicht in Tabelle 1 zeigt k nnen dezentrale autonome Systeme auch mit objektorientierten Sprache wie z B Java C oder C rea lisiert werden unter Verwendung der vorgestellten GoF und GRASP Patterns Bei der Umsetzung der Konzepte und Mechanismen Emergenz Stigmergie etc der dezentralen autonomen Systeme wird dann von der objektorientieren Implementierungsebene abstrahiert Oftmals werden auf dieser Abstraktionsebe ne die besprochenen Metamodelle und Programmiersprachen eingesetzt die auf die Paradigmen und Konzepte der dezentralen autonomen Systeme beruhen Demn
87. c Computing Prinzipien wie die Selbst X Eigenschaften wurden als Services bzw Monitors implementiert Der Transport selbst wird per p2p mit JXTA umgesetzt Der Event Dispatcher SPP1183 Organic Computing Phase I 159 OrganicManager SystemMonitor Information Abbildung 3 OCu Middleware Architektur 25 kiimmert sich um die Nachrichtenlieferung Sowohl Broadcast Mitteilungen als auch direkt adressierte Nachrichten werden unterstiitzt Der Event Dispatcher entscheidet ob die Nachrichten lokal zugestellt werden k nnen oder ob diese an einen anderen Node geschickt werden miissen Der Service Proxy kiimmert sich automatisch um die Nachrichtenzustellung fiir Services die mitlerweile auf einen andern Node umgezogen sind Durch die optimale Verteilung der einzelnen Ser vices auf unterschiedliche Nodes hat man eine gute Skalierbarkeit erreicht Mo nitore sammeln die versandten Informationen iiber den Ist Zustand der Knoten fiir den Organic Manager welcher entscheidet ob ein Service evtl umgezogen werden sollte Im Bereich der Selbstheilung wurde ein distributed self healing data store geschaffen in dem die Statusinformationen der einzelnen Services abgelegt werden Die Fehlererkennung berwacht die Kommunikationsf higkeit der Services um evtl nicht errreichbare Services bzw Nodes zu detektieren Wurde ein Ausfall erkannt wird versucht den Service neu zu starten oder auf einen anderen Knoten umgezogen In Anlehnung an den menschlic
88. d f r unter schiedliche Anforderungsmodelle geeignet Abschlie end erfolgt eine bersicht ber alle vorgestellten dezentralen Koordinationsmechanismen mit den jeweils realisierten selbst x Eigenschaften 92 M Boegler 2 Begriffskl rung Einige Begriffe die in dieser Arbeit verwendet werden sind in der Literatur nicht eindeutig definiert Um den daraus m glicherweise resultierenden Missverst nd nissen entgegen zu wirken wird in diesem Abschnitt eine Definition gew hlt wie die einzelnen Begriffe in dieser Arbeit zu verstehen sind Weitere Begriffe werden der Einfachheit halber hier erkl rt da an mehreren Stellen der Arbeit darauf verwiesen wird bzw die Begriffe zum Verst ndnis der einzelnen Verfahren ben tigt werden 2 1 Dezentrale Kontrolle Zentrale Kontrolle Laut 2 bedeutet dezentrale Kontrolle nur lokale Mechanismen zu verwenden um globales Verhalten zu beeinflussen Es gibt keine zentrale Kontrolle Diese Art von Kontrolle ist vor allem f r immer komplexer und dynamischer werdende Systeme n tig da eine von einem zentralen Koordinator ausgehende Kontrol le einen enormen Kommunikationssaufwand erfordert und somit Zeit und Geld kostet Es ist durch die Dynamik der Systeme oft nicht m glich einen zentra len Koordinator einzusetzen Des Weiteren m ssen moderne Systeme teilweise selbstst ndig handeln um auf unvorhersehbares Verhalten reagieren zu k nnen Zentrale Kontrolle hingegen bedeutet dass ein zentraler K
89. das Drei Phasen Handshake Protokoll das beim TCP im Internet verwendet wird Die Sende und Emp fangsereignisse sind durchnummeriert Als erstes sendet der Client eine SYN Nachricht an den Server um zu pr fen dass der Server sich auf die kommen de TCP Verbindung vorbereitet Ereignis Nummer 1 Zweitens wenn der Ser ver SYN Nachricht erh lt Ereignis Nr 2 und bereit ist eine TCP Sitzung zu startet sendet er eine SYN ACK SYN Nachricht zur ck zum Client Ereig nis Nr 3 Wenn der Client SYN ACK Nachricht erh lt Ereignis Nr 4 wei er dass seine erste SYN Nachricht den Server erreicht hat Schlie lich sen det der Client ACK SYN Nachricht um dem Server zu best tigen dass sei ne SYN ACK SYN Nachricht angekommen war Das Drei Phasen Handshake Protokoll wird bei der Initial Phase von TCP verwendet damit sich beide Seiten ber die Folgenummerierung der Pakete einigen k nnen weitere Informationen finden Sie in 7 Interaktionen k nnen sehr komplex werden deswegen hat UML2 kombi nierte Fragmente eingef hrt Ein kombiniertes Fragment besteht aus einem Interaktionsoperator und einem oder mehreren Interaktionsoparanden Im Se quenzdiagramm in der Abb 8 ist ein Alternatives Fragment zu sehen Der In teraktionsoperator hei t alt die 2 Interaktionsoparanden sind condition und else Jeder Operand enth lt Interaktionsframente d h Teile des Sequenzdia gramms die alternativ ausgef hrt werden Der Operand dessen boolischer Au
90. den Um den Unterschied zwischen Emergenz und Selbstorganisation abzugren zen und vorzustellen sehen wir die Abbildung 1 Selbstorganisation fokussiert sich auf die Systemumgebungsgrenzen wenn die Grenze zwischen inneren und u eren als Teilen betrachtet werden Im Gegenteil dazu nimmt der Prozess des Emergenz Pl tze an der Grenze zwischen dem System und seinen Bestandtei len wenn die Grenzen zwischen dem lokalen und globalen Mikro und Makro durch Individuen und gesamtes Verhalten gekreuzt werden sehe Abbildung 1 11 Es unterscheidet zwischen lokalen Low Level Komponenten und globalen High Level Patterns Organic Computing besteht aus einer gro en Anzahl von Einzel Komponenten Dabei wird von den Komponenten erwartet dass sie sich nicht starr an einpro grammierte Vorgaben halten sondern adaptiv auf Anforderungen von au en reagieren Das Gesamt Systemverhalten ergibt sich dann wieder aus dem Zu sammenspiel der Elemente Emergenz Von zentraler Bedeutung f r den tech nischen Einsatz der Prinzipien des Organic Computing wird daher ein tiefe res Verst ndnis organischer Systemarchitekturen sein Es geht dabei sowohl um ein Verst ndnis nat rlicher emergenter Systeme wie auch um die Frage der Be herrschbarkeit von Selbstorganisation und Emergenz in technischen Systemen 12 Beherrschung der Selbstorganisation in technischen Systemen bedeutet die Vision von freundlichen Systemen und wie das System seinen eigenen Willen du
91. den die Gebote auf dem Markt mittels dieser speziellen Gradienten bertragen indem sie den Gradienten des Handelspartners folgen Voraussetzung f r die Interaktion ist dass jeder Markteilnehmer einen Market Communication Gradient emittiert Mithilfe der vorgestellten Gradient Fields lassen sich ebenfalls die Sonderf lle wie die Behandlung von Staus und Hindernisse abdecken Einen Spezialfall stellt dagegen eine Lastwagen Panne dar In diesem Fall m ssten beispielsweise die umliegenden Lastwagen mittels zus tzlicher Gradient Fields ber den Unfall in formiert werden und die enthaltenen Pakete zusammen mit dem Auftrag je nach verf gbaren Platz auf die anderen Fahrzeuge aufgeteilt werden Zudem stellt die Unfallstelle ein zus tzliches Stra enhindernis dar an dem Staus entstehen k nnen Das Anwendungsbeispiel zeigt dass mit einem umfangreichen Pattern Katalog die Designprobleme eines dezentralen autonomen Systems reduziert werden k n nen Ein Softwarearchitekt kann ber die Design Patterns auf das Wissen anderer Experten zur ckgreifen und sich auf die wesentlichen Aufgaben konzentrieren um sein Ziel zu erreichen 5 Zusammenfassung und Ausblick Zu Beginn dieser Arbeit wurde ein berblick ber objektorientierte Design Pat terns der Gang of Four und der GRASP Patterns gegeben und eine klassische Formatvorlage zur Klassifizierung von Patterns vorgestellt Nach der Einf hrung und Erl uterung der Eigenschaften autonom dezentral und
92. den diese mittels eines Evolu tion ren Algorithmus EA erzeugt und deren Qualit t f r einen praktischen Einsatz in einer Simulationssoftware getestet Layer 2 kann damit auch auf ein externes System ausgelagert werden In Phase I liegt das Augenmerk hier auf der Selbst Parametrisierung erst in Phase II will man dann an der Kooperation verschiedener Traffic Light Controller TLC arbeiten Das LCS erh lt als Ein gabedaten die Fahrzeuge pro Stunde flow in Relation zu diesem Knotenpunkt Als Ausgabe wird ein Parameter Set welches das Programm f r den TLC be schreibt erwartet Das Set kann dabei entweder eine fixe oder eine flexible Zeit steuerung der Ampel repr sentieren Die zu optimierende Funktion ist dabei der Level of Service LOS Aus dem in Amerika gebr uchlichen Highway Capacity Manual HCM ist dabei dieses Konzept der Unterteilung der Verkehrsqualit t in Stufen in das deutsche Handbuch f r die Bemessung von Stra enverkehrs anlagen bernommen worden Es spiegelt die durchschnittliche Wartezeit pro Verkehrsteilnehmer wieder was wiederum R ckschl sse auf die Qualit t und die Leistungsf higkeit der Verkehrstechnischen Einrichtung zul sst Die Warte zeit soll dabei minimiert werden 2 gt flow taetay 3 flow F r die Simulation wurden gro e Kreuzungsbereiche in Hamburg und Han nover verwendet Von diesen Knotenpunkten liegen Verkehrsz hlungen und die jetzigen Ampelschaltpl ne vor Nun implementierte man diese Kr
93. derts Eine der Schl sselaufgaben ist die Wissens Aufbereitung die sich mit der Verarbeitung von Informationen besch ftigt In der Praxis sind Regelbasierte Systeme inzwischen weit verbreitet und in vielen Bereichen eingesetzt werden wie z B in der Medizin in der Industrie bis hin zur Entwicklung von Computerspie len Regelbasierte Systeme wurden lange Zeit als Prototypen f r Expertensys teme angesehen In Abbildung 2 sieht man die verschiedenen Unterkategorien der wissensbasierten Systeme 7 auf die hier nicht n her eingegangen wird Ein wissensbasiertes System WBS ist ein intelligentes Informationssystem in dem Wissen mit Methoden der Wissensrepr sentation und Wissensmodellierung abgebil det nutzbar gemacht wird 17 3 Als Expertensystem XPS wird eine Klasse von Software Systemen bezeichnet die auf der Basis von Expertenwissen zur L sung oder Bewertung bestimmter Problem Rules im Org Comp 27 Knowledge Based System Rule Based System RBSscreated by Experts Experts Systems Abbildung 2 Verschiedene Arten von Wissensbasierten Systemen 7 3 1 Was Sind die Regeln Regeln sind formalisierte Konditionals tze der Form 18 Wenn if Adann then B 1 Mit der Bedeutung Wenn A wahr erf llt bewiesen ist dann schlie e dass auch B wahr ist wobei A und B Aussagen sind Die Formel im Wenn Teil einer Regel also A in Eq 1 wird als Pr misse Bedingung oder Antezedenz der Regel bezeichnet wird auch LHS
94. die in diesem Sze nario eingesetzt werden k nnten Nach der Untersuchung der Auslieferungsrate der Nachrichten und der Geschwindigkeit bei maximalem Datenverkehrsaufkom men erwies sich das entwickelte AutoCast Protokoll als bester Kompromiss 22 158 M Buthut AutoCast funktioniert wie wahrscheinlichkeitstheoretisches Fluten des Netzes periodisch wird dabei eine vollst ndig Liste mit Hash Werten der Daten Ein heiten per Broadcast verteilt Wenn eine unvollst ndige Liste empfangen wird muss sofort mit gleicher Wahrscheinlichkeit geantwortet werden Damit ist es m glich selbst bei maximaler Netzauslastung noch kommunizieren zu k nnen F r die Simulation wird das selbst entwickelte Tool SUMO eingesetzt Zus tzlich wurden die Erkenntnisse real mit 10 Robotern der Firma Lego exemplarisch getestet 3 5 3 Bewertung Das Projekt verfolgt einen interessanten und neuen An satz zur Stauerkennung und Vorhersage Allerdings ist es sehr stark von der technischen Grundlage der Car2Car Kommunikation abh ngig Dort gibt es noch viele Unklarheiten ber Sicherheit und Zuverl ssigkeit des 802 11 bertra gungsmedium Der praktische Einsatz ist dabei einerseits von der Akzeptanz der Fahrzeugf hrer zu Car2Car und der Akzeptanz der Verkehrsleitstellenbetreiber abh ngig Dennoch wird das Projekt in Phase II fortgef hrt mit dem Fokus auf die Struktur der Verkehrsnetze und auf Algorithmen f r das distributed compu ting Die Zusammenarbeit mit anderen
95. die mit heutigen Mitteln auf Grund von zu hohem Managementaufwand nicht betrieben werden k nnten bedarf es neuer Techniken Zwei dieser Techniken sind Organic Computing und Policy Based Management OC Systeme sind Compu tersysteme die sich vor allem dadurch auszeichnen dass sie ihr Verhal ten in vielen Bereichen seblstst ndig entscheiden k nnen Durch diese Selbstst ndigkeit wird der Bedarf an menschlicher Interaktion wie Kon figuration und Anpassung an neue Voraussetzungen minimiert Gleich zeitig besteht aber die Notwendigkeit das Verhalten der Systeme zu be einflussen und zu lenken um negatives Verhalten auszuschlie en Man denke hierbei an die zahlreichen Horrorvisionen von Science Fiction Au toren wie beispielsweise die Kinoklassiker Terminator und Matrix Eine Technik diese Diskrepanz zwischen Entscheidungsfreiheit und Kontrolle des Verhaltens zu berwinden ist die des Policy Based Managements In dieser Arbeit soll beleuchtet werden was Policies sind wie sie f r das Systemmanagement insbesondere im bereich OC dienen k nnen und was heute bereits umgesetzt und anwendbar ist 1 Was ist eine Policy Das Wort Policy ist aus dem Bereich der Politik und bedeutet politischer Kurs Richtlinie oder auch Regelwerk Eine wichtige Eigenschaft der Policy ist dass sie nicht immer streng eingehalten wird sondern als eine Art Entscheidungshel fer dient Beispielsweise sollte die Policy einer Partei folgende Regel beinhalten Wir we
96. dieser Ar beit auch Koordinationsm glichkeiten beschrieben die ihren Ursprung in der Volkswirtschaftslehre haben Diese Mechanismen haben zum Ziel dass eine Vielzahl von unabh ngig agierenden Agenten zusammenarbei tet um ein angestrebtes systemweites Verhalten zu erreichen Hierf r sammeln die Agenten lokale Informationen verarbeiten diese und rea gieren darauf Das Gesamtsystem kann dadurch ein Verhalten erlangen das den einzelnen Agenten nicht einprogrammiert wurde und zu einer Selbst Optimierung Selbst Konfiguration oder hnlichen selbst x Eigen schaften des kompletten Systems f hren kann 1 Einleitung Diese Arbeit beginnt in Kapitel 2 mit einer Begriffskl rung f r dezentrale Koordi nation In Kapitel 3 und 4 werden einige ausgew hlte Verfahren der dezentralen Koordination erl utert Grunds tzlich werden die Koordinationsm glichkeiten in dieser Arbeit in zwei Bereiche eingeteilt die jedoch in der Praxis flie end ineinander bergehen In Kapitel 3 wird beschrieben wie die Teilnehmer eines Systems durch die Umgebung koordiniert werden Im Kapitel 4 wird beschrie ben wie die Agenten sich untereinander koordinieren was wiederum direkt oder auch indirekt ber die Umgebung geschehen kann Bei diesem Verfahren ber nehmen die Agenten selbst die Koordination Bei beiden Koordinationstypen m ssen die Umgebung sowie auch die Agenten auf das jeweilige Modell ab gestimmt sein Diese verschiedenen Koordinationsalgorithmen sin
97. dieser Eigenschaft erlaubt es sich w hrend des Betriebs umzukonfigurieren und das mit minimaler Interak tion mit dem Menschen Somit sind Ver nderungen in der Infrastruktur des Systems wie das Hinzuf gen neuer Komponenten nicht l nger ein Problem Dies kann nat rlich die Produktivit t erheblich steigern da nun viel weniger Konfigurationsaufwand seitens der Administratoren erfolgen muss und das erweiterte System schneller einsatzf hig ist Selbstoptimierend Hier kommt es darauf an die zur Verf gung stehenden Ressourcen m glichst gut auszunutzen Da dies oft ein hochkomplexer Vor gang ist w re es sch n diese Verantwortlichkeit von der Administration in gro en Teilen auf das System selbst zu bertragen da ihm hierf r bei geschickter Datenhaltung alle notwendingen Informationen vorliegen Als kurzfristiges Ziel in der Entwicklung des Autonomic Computing wird nur die berwachung und Verwaltung der Performance des Systems angestrebt Mittel bis langfristig k nnte dieses Ziel spezieller werden das System k nn te aus alten Erfahrungen lernen und seine Performance auf ganz spezielle Businessprozesse hin ausrichten Selbstsch tzend Das Ziel des Selbstschutzes ist dem richtigen Benutzer die richtige Information zur richtigen Zeit zur Verf gung zu stellen Dies wird ber vordefinierte Policies dem System bekannte Regeln und Richtlinien an das es sich halten muss und ber verschiedene Rollen die die Benutzer kategoris
98. dig f r die eigentliche Durchf hrung der nderung und deren Scheduling Diese einzelne Stufe ist vor allem wie der in gro en Systemen notwendig da eine nderung des Gesamtzustands des Systems wiederum aus vielen kleinen Anpassungen besteht welche alle 6 C Stempfle einem Kommando im Ausf hrungsplan entsprechen Die Ausf hrungsfunk tion gibt die Befehle an sogenannte Effektoren weiter die f r die letztliche physikalische Ausf hrung der Vorg nge zust ndig sind Eine weitere Auf gabe der Ausf hrungseinheit ist die Aktualisierung der Wissensdatenbank auf die der autonome Manager zur ckgreift um Elemente zu verwalten 2 S 18 26 12 S 32 36 Policy Analyzing r Planning N E54 D Sensor Effector Monitoring Abbildung 2 Die MAPE Architektur 2 9 19 Bei MAPE handelt es sich um ein hybrides Observer Controller System wo bei der Monitor und die Analyse Teil des Observers sind die Planung und Ausfiihrung hingegen Teil des Controllers Durch die Uberwachung der Anderun gen konnte man die Analyse jedoch auch zu einem Teil dem Controller zuschrei ben Das Wissen auf das der autonome Manager zuriickgreift ist im Observer und Controller vorhanden Ein Unterschied zum sp ter beschriebenen klassi schen Observer Controller System ist dass es keine explizite Kommunikation mit der Au enwelt gibt das Ganze findet immer innerhalb des Systems statt Die Aspekte nach denen ein MAPE System berwacht werde
99. dung 1 Beispiel eines Gradientenfeldes aus 4 bewegen Sie k nnen sich nicht nur auf die Quelle zu oder von ihr weg bewe gen sondern haben auch die M glichkeit wie in Abbildung 1 zu sehen sich quipotential auf der gleichen Verlaufswelle bleibend zu bewegen Durch die Einf hrung mehrerer Quellen werden mehrere Verlaufsfelder initiiert wodurch die Agenten sich entscheiden k nnen auf welche Quelle sie reagieren m chten Als praktisches Beispiel wird der Geruch eines Brath hnchen und D ner standes genommen Die Agenten sind in diesem Fall Menschen die entweder einen D ner oder ein Brath hnchen essen m chten Der Geruch der von beiden St nden ausgeht wird ber die Umgebung in diesem Fall die Luft bertra gen Es ist ersichtlich dass die Intensit t der Verlaufswellen in diesem Beispiel der Geruch ber die Distanz abnimmt Ebenfalls kann ein Mensch die beiden Ger che unterscheiden Wenn ein hungriger Kunde ein Brath hnchen m chte wird er sich in Richtung Brath hnchenstand bewegen Er wird versuchen den k rzesten Weg zu w hlen und folgt dem immer st rker werdenden Geruch der Brath hnchen bis er sein Ziel erreicht Nach dem gleichen Prinzip wird ein Mensch vorgehen der einen D ner bevorzugt Beide werden den k rzesten Weg zu ihrem Ziel nehmen und sich nicht von dem jeweils anderen Geruch irritie ren lassen Die direkte Bewegung zum Stand hin kann als gieriges Verhalten bezeichnet werden Beide Menschen haben
100. e Architekturform noch feiner untergliedern Man kann hier hinsichtlich zweier Parameter unterscheiden De Zentral Eine Architektur wird als zentral bezeichnet wenn sie f r das Gesamtsystem das wiederum aus einzelnen Subsystemen bestehen kann jeweils nur einen einzigen Observer und Controller zur Verf gung stellt De zentrale Architekturen sehen f r jedes Subsystem eine eigene Beobachtungs und Kontrolleinheit vor Einstufig Hierarchisch Als hierarchisch bezeichnet man eine Architektur die pro Sub System mehrere Observer und Controller hat die sich bei spielsweise wieder gegenseitig steuern Diese werden in Schichten angeord net d h ein Observer Controller Paar h ngt wiederum in beiden Richtun gen von je einem solchen Paar wieder ab Diese Schichtenarchitektur ist auch grundlegender Baustein des ISO OSI Modells Dies kann f r komplexe Sys teme n tzlich sein in denen jeder Observer und Controller wiederum nur eine einzelne oder wenige Aufgaben erf llt und seine Ergebnisse an die an deren Schichten weiterreicht Einstufige Systeme dagegen besitzen nur einen Observer und Controller f r das ganze Sub System Diese Merkmale lassen sich jetzt in den verschiedensten Varianten miteinander kombinieren Dies ist auch in Abbildung 7 dargestellt Neben den klassischen Kombinationsm glichkeiten gibt es auch noch un gew hnlichere Kombinationen die keine Eigenschaft in ihrer Reinform wie oben Einfiihrung in Organic Comp
101. e Ausf hrung Sp ter eintreffende Nachricht vom X wird vom Y ignoriert sd XOR Join j I I I alt if any condition true 4 TJ else Abbildung 10 Sequenzdiagramm XOR Join Modellierung paralleler Abl ufe in OC Systemen 73 3 5 Petrinetze Petrinetz engl petri net Modell zur Beschreibung und Analyse von Abl ufen mit nebenl ufigen Prozessen und nichtdeterministischen Vorg ngen 9 Seite 487 Petrinetze beschreiben dynamische Systeme mit einer festen Grundstruktur z B Betriebssysteme B roabl ufe oder Organisationsabl ufe bei Herstellungs verfahren Ein Petrinetz ist ein gerichteter Graph der aus zwei verschiedenen Sorten von Knoten besteht Stellen und Transitionen Stellen auch Pl tze genannt k nnen folgende Rollen im Petrinetz spielen Kommunikationsmedium z B Telefonlinie Kommunikationsnetzwerk Buffer z B ein Lagerhaus eine Warteschlange oder ein Briefkasten Geographische Position z B ein Platz in einem Buro oder Fabrik Rolle der Transitionen Freignis z B Starten einer Operation Umschalten von Ger ten wie Licht ein Licht aus Transport eines Objekts z B Warentransport Senden von Daten Transformation an einem Objekt wie Aktualisieren einer Datenbank Stellen werden durch Kreise Transitionen durch Rechtecke oder durch Balken dargestellt Die Kanten Verbindungen zwischen den Knoten d rfen nur zwei verschiedene Sorten
102. e System abbrechen wenn eine kritische Komponente des Systems einfach nicht mehr funktioniert wird es einen Systemabbruch erwartet Inh rent uneffiziente Algorithmen manche algorithmische Aswahlen sind voraussagbar uneffizient Zum Beispiel das replizierte Dateisystem das mit den Repliken eher seriell als parallel kommuniziert wird wohl sub optimale Perfomanz aufweisen Man kann sie vorhersagen ohne das zu wissen wie die Repliken verhalten Mangelhafte Resourcen Primitive Resourcen z B CPU Speicher Netz werklatenz und Bandbreite Speicherkapazit t Latenz und Bandbreite in h rent verhindern das System von der Perfomanz auf dem gefordeten Niveau Zum Beispiel man kann nicht 1 Gigabyte Data ber 56 Kbit sec Dialup in 1 Minute senden Obwohl Dyson 5 schreibt dass emergentes Verhalten nach der Definition ist etwas was geblieben ist nach dem schon alles erkl rt wurde es scheint nicht genug zu sein emergentes Fehlverhalten so zu definieren wie etwas was nicht zum vorhersagbaren Verhalten passt Hier ist eine Liste mit der einigen Eigenschaften von emergentem Fehlverhalten 136 A Ostroverkhov 1 Inh rent schwer vorhersagbares Verhalten wenn sogar die Regeln eines Sys tems die sein Verhalten bestimmen sind bekannt und deterministisch es kann sehr schwer sein das ganze Verhalten vom System vorherzusagen wenn das System auch die wahrscheinlickeitbasierten oder nicht linearen Kompo nente beinhaltet
103. e beim Einsatz des Patterns entstehen Implementation eine Reihe von Tipps Hinweisen und Techniken sollen den Einsatz erleichtern und die falsche Anwendung vermeiden Sample Code durch Programmfragmente wird die Implementierung beispiel haft dargestellt Known Uses schildert Anwendungsgebiete aus der Praxis Related Patterns zeigt die Verwandschaftsbeziehungen zwischen den Ent wurfsmustern auf Eine ausdrucksvolle Bezeichnung der Pattern hilft Softwareingenieuren sich ber die jeweiligen Entwurfsmuster zu verst ndigen Im Mittelpunkt des Sche mas stehen die Problembeschreibung und die L sungsm glichkeit welche den Kern des Problems treffen m ssen aber gleichzeitig allgemein genug verfasst sein sollten Ein Szenario sowie eine visuelle Beschreibung der Struktur unterst tzen das Verst ndnis der Problembeschreibung Ein Beispielprogramm zeigt zudem wie sich die L sung exemplarisch verwirklichen l sst Design Patterns fiir autonome dezentrale Systeme 111 Neben dem Klassifizierungsschema ist in Design Pattern Katalogen oftmals eine Problem L sungstabelle aufgef hrt die einen Gesamt berblick ber alle vorhandenen Patterns bietet Eine Kurzbeschreibung der Problemstellung und der zugeh rigen L sungsm glichkeit erleichtert die Auswahl der Entwurfsmuster f r den sp teren Entwicklungseinsatz 2 2 Gang of Four Design Patterns Im Jahr 1994 erschien Design Patterns Elements of Resusable Object Oriented Software
104. e rahmeniibergreifenden Eingaben ab bevor sie verletzbare Komponente erreichen Ausgabew chter erkennen schein baren Komponentenausfall und brechen verd chtige Module ab und dadurch zwingen Byzantiner zum Fail Stop Verhalten Jedoch nimmt der Vorschlag von Candea an dass Fehlverhalten entweder bei der Komponenteneingabe oder bei der Komponentenausgabe offenbar ist systemweites emergentes Fehlverhalten k nnte auf diesem Niveau entweder unsichtbar sein oder k nnte so durchdringend sein dass Softwaresicherungen oder W chter das ganze System effektiv zumachen w rden Ein Schutzt gegen emergentem Fehlverhalten ist eher mehr als eine Form von D mpfung um die Verbreitung des Problems zu verringern oder Festklemmen um die Menge des Schadens zu beschr nken anzunehmen Das Ziel von vielen Forschungen von verteilten Systemen war die Entwicklung von komplexen Systemen die immer funktionieren sowohl durch die grundlegen den Designprinzipien z B two phase commit and replication als auch durch die bessere Engineering z B Model berpr fung und Type Safe Sprachen 5 3 Vorhersage und Vermeidung von emergentem Fehlverhalten Es ist sehr oft mehr wichtig eine vorhersehbare als eine optimale Leistungs fahigkeit zu haben Wenn die Leistungsfahigkeit vorhersehbar aber gleichzeitig suboptimal ist kann man bereit sein die vorausgesehene Uneffizienz zu bezah len Wenn aber die Leistungsfahigkeit manchmal unvorhersehbar schlecht ist der Sy
105. e sind auch f r Laien verst ndlich z B f r Endbenutzer Gesch ftspartner etc 4 2 Petrinetz F r die Praxis sind Petrinetze mit schwarzen Marken in vielen F llen nicht ausreichend In sogenannten High level Petrinetzen k nnen Marken selbst Infor mationen tragen Die Marken sind vom bestimmten Typ wie in der Programmie rung z B bool int zusammengesetzte Datentypen records etc Die Kanten beschriftung legt fest welche Marken beim Schalten einer Transition konsumiert und produziert werden Als Beschriftung sind Variablen erlaubt Transitionen erhalten boolische Ausdriicke Eine Transition kann nur dann schalten wenn der Ausdruck zum boolischen Wert True evaluiert In Abb 24 ist ein High Level Netz zu sehen der verteilten wechselseitigen Ausschluss realisiert Linkes Teilnetz modelliert Prozess A rechtes Teilnetz Prozess B Das Netz zeigt die Situation im verteilten System wo A und B gleichzeitig in den kritischen Bereich eintreten wollen Es gibt zwei Typen von Marken Marken die eine Bedingung und Marken die eine Nachricht repr sentieren Die Stellen sA4 sA5 sA2 sA7 84 N Klimov sd Algorithmus Verteilter wechselseitiger Auschluss Prozess A Prozess B Prozess C Al A i Cl A 12 l gt F 1 C8 AR a C8 C2 A3 4 c SE A C3 OK A4 ia Di A OK CA AS gt B4 OK f 65 B 21 B5 B6 B 21 kritischer Bereich A6 i lt gt C6
106. ebruar 2008 4 Object Management Group Business Process Modeling Notaion specification February 2006 5 Object Management Group Omg unified modeling language superstructure v2 1 2 November 2007 G P Peter Rechenberg Informatik Handbuch Hanser 2002 D 90 N Klimov 7 A Tanenbaum Computer Networks Prentice Hall 1996 8 A S Tanenbaum and M von Steen Verteilte Systeme Grundlagen und Para digmen Pearson Studium 2003 9 P C und Prof Dr Andreas Schwill Duden Informatik Ein Fachlexikon f r Stu dium und Praxis Dudenverlag 2003 10 P W Vogler Petrinetze vorlesungsskript SS2007 Eigenschaften dezentraler Koordinationsmechanismen Michael Boegler Universitat Augsburg michael boegler student uni augsburg de Zusammenfassung Dezentrale Koordination spielt in heutigen Syste men die stetig gr er dynamischer und un bersichtlicher werden eine immer wichtigere Rolle Ob in Sensornetzen mobilen Ad Hoc Netzen im Netzwerk Topologie Management oder im Peer to Peer Bereich ei ne zentrale Kontrolle ist praktisch nicht oder nur mit unverh ltnism ig gro em Aufwand realisierbar In dieser Arbeit werden dezentrale Mecha nismen aufgezeigt die die Koordination der einzelnen Teilnehmer regeln Zur Koordination k nnen die Agenten g nzlich unterschiedliche Algo rithmen verwenden deren Grundgedanken oft aus der Natur stammen Neben den von der Natur inspirierten Verfahren werden in
107. ede Output Stelle Nachbereich Feuern ist atomar d h der Vorgang des Weg nehmens der Marken aus den Input Stellen der feuernden Transition und des Produzierens des Marken fur die Output Stellen darf nicht unterbrochen wer den Mehrere Transitionen k nnen aktiviert sein welche Stelle zuest feuert ist nichtdeterministisch Der Zustand des Netzes ist repr sentiert durch die Vertei lung der Marken uber die Stellen ganannt auch als Markierung 3 6 Kontrollstrukturen bei Petrinetzen AND Split Wenn Transition t1 in der Abb 12 schaltet konsumiert sie die Marke in sl und produziert je eine in s2 und s3 Der Prozess mit der Knoten menge s2 t2 und Prozess mit der Knotenmenge s3 t3 werden nebenl ufig ausgef hrt s2 t2 t1 s1 GE 2 sg C s3 t3 t2 s2 Abbildung 12 Petrinetz AND Abbildung 13 Petrinetz AND Split Join bzw Synchronisation XOR Split Beide Transitionen t1 und t2 in der Abbildung 14 sind aktiviert und k nnen schalten Die Transition die zuerst schaltet entfernt die Marke aus sl und f gt eine Marke in ihren Nachbbereich hinzu im Bild mit drei Punkten angedeutet Die andere Transition die nicht geschaltet hat kann nicht schalten und damit auch nicht eine Marke in ihren Nachreich legen Somit wird nur derjenige Pfad des Ablaufs gew hlt der die Transition t1 als Knoten hat Welche Transition zuerst schaltet ist nichtdeterministisch AND Join Transitionen t1 und t2 in der Abb 13 k nnen schalten weil ihr Vorbereic
108. einer Umgebung mit der es normalerweise auch Informationen austauscht Dies verletzt auch nicht die Pr misse der Auto nomie 20 3 2 3 Aufbau Der Weg damit ein selbstorganisierendes System auch diesen Namen verdient ist ziemlich lang und f hrt ber verschiedene Zwischenstufen Im folgenden Abschnitt wollen wir selbstorganisierende Systeme genauer cha rakterisieren Dabei wird unser System S als Blackbox dargestellt die folgende Ein und Ausgangsparameter besitzt was auch Abbildung 4 veranschaulicht Regul re Eingabevariable r Rs Diese bezeichnet alle Eingaben ins Sys tem die prinzipiell von jeder Art Sensor oder anderen Kommunikationsver bindungen stammen kann Eingabevariablen k nnen als Funktion bez glich einer Zeit t aufgefasst werden Ausgabevariable 0 Og Diese bezieht sich auf alle Werte und Attribute die von 5 beeinflusst und der Umgebung wahrgenommen werden k nnen Ausgabe geschieht zu einer Zeit t 1 ist somit also auch wieder als Funktion bez glich der Zeit aufzufassen Kontrolleingabevariable c Cs Solche Variablen beziehen sich auf eine andere Art der Eingabe die das Verhalten des Systems beeinflusst Sie sind auch wiederum zeitab ngig Eingabevariable i I Rg U Cs Das Verhalten 8 I Os ist eine totale Relation f r die gilt Vi I Jo Os mit B i o 8 S 2 11 S 10 3 2 4 Stufen zur Selbstorganisation Mit Hilfe dieses vereinfachten Sys temsmodells k n
109. einforcement learning ab Laut 6 ist CRL ein dezentraler Ansatz zur Erstellung und Aufrechterhaltung von systemweiten Eigenschaften in dezentra len Systemen CRL basiert auf RL dem reinforcement learning RL bezieht sich auf einzelne Agenten die wie in 6 und 5 beschrieben durch die Versuch und Irrtum Me thode mit der Umgebung kommunizieren Bei der Versuch und Irrtum Methode werden laut 7 zuf llig ausgew hlte Techniken zur L sung einer Aufgabe auspro biert sich erfolgreiche Handlungsweisen gemerkt und bei sp teren Gele genheiten erneut angewendet Das Ziel eines RL Agenten ist es durch die Auswahl der richtigen Aktionen die Verst rkung seiner lokalen Pr ferenzen ber einen Zeitraum zu maximieren Da die Auswahl der Aktionen von Wahrscheinlichkeiten abh ngt entsteht die schon genannte Versuch und Irrtum Methode Dies ist f r verteilte Systeme kein angemessenes Verfahren um selbst x Verhalten zu erlernen da vor allem Systeme die in Echtzeit laufen eine suboptimale Aktionsauswahl nicht dulden Daher erweitert CRL laut 6 RL um ein Koordinationsmodell das auf einer Variante des Schwarm Intelligenz Algorithmus siehe 8 basiert bei dem Agen ten mit ihren direkten Nachbarn kommunizieren und vom Erfolg ihrer Nachbarn lernen Wie bei einem dezentralen Ansatz blich gibt es kein globales Wissen Jeder Agent wei nur ber sich und seine Kommunikationsnachbarn bescheid Um systemweite Optimierungsprobleme z
110. ejydsaLe Bun gsejsag yne az Su 2utau1 sje JOSSOOIB ISI uaz X SO Bun gsejsag mg ayem abuejyosapemn ap ul Buruepojuy X SSOZOJ JNS sjjepuopue yey J nsejsaq X SS9Z014 ssep syuoy u UL X SSIZOIT WOA JYILIYIEN 499 Wa zo a 2 JFN2EISOq uassazoig UIJL 7 Quid 23 el q d wl l x z oul ia X SSSZOld 88 uoa YSIaag USYISNLIY sje Jury ISI ue aje ue 25 uap ur y nurg umz ua yezeujow Qieusew Se nn BZ MO pu s u apuas F 3 SUNISPIOJUY Sula X 5S9Z01dJ Zo usjannzule yo qseg Sa up Won u y snuy u p ul X SS9ZOoIg WOANYIY VN 2020 ue Won JOA Jey 8Z0Jd X SS2Z014 WOA WPuYJLyN onou jeye se6 ssezoiq abuejyoseyem aip ul Bursepsojuy x 8892044 att X SS9Z0ld ue AO PU S UNY PUEISNZ ayny Abbildung 25 BPMN Verteilter wechselseitiger Ausschluss Variante 1 N Klimov 88 EE Buruapsojuy X 5902014 asp aBuejyosauem aip ul Sunuapiojuy x ssazoud amS Vetsiroue yojeseg yey J nsejsaq uay squy u p ul X SS9ZOld JOA JY SS Z0Jd ssep oe yeueyse6 ssezo1g 499 qru uassezo1g X SS8Z0lq x 8020 eeneg we WOLLEN X SS9Z0Jd ue abuenpsayem sne me apem epues ne em MO apuas nn AO Spuas Nopsoja uy puejsn HOS Pp Sun WOIS S WAHA Ul SSOZOIg JOSIQaI Ig g 3 E zZ
111. ekten nicht nur die M glichkeit f r ihre Problemstellung die passenden L sungen zu finden sondern die Alternativen gegen berzustellen auszuw hlen und anzuwenden Ein klassisches Beispiel einer solchen Vorlage ist das Klassifizierungsschema aus dem Buch der GoF 14 110 M Burkhard Pattern Name and Classification der Name des Patterns muss ausdrucks stark genug sein um das Wesentliche des Patterns zu beschreiben Das Pat tern wird dariiber hinaus einer geeigneten tibergeordneten Kategorie zuge teilt Intent es stellt sich die Frage welchem Zweck das Pattern dient Welches Designproblem behandelt das Pattern Also Known As eine Liste an Synonyme f r das Entwurfsmuster Motivation ein Szenario soll das Designproblem verdeutlichen sowie heraus stellen auf welche Weise das Pattern dieses Problem l st Applicability bei welcher Gegebenheit kann das Entwurfsmuster angewendet werden Welche Beispiele existieren f r schlechtes Design Wie k nnen diese Gegebenheiten erkannt werden Structure zur Beschreibung der Struktur kommt als grafische Notation die Object Modeling Technique OMT 23 von James Rumbaugh zum Einsatz aus der wenige Jahre sp ter die Unified Modeling Language UML 6 11 entstanden ist Participants f hrt die am Entwurfsmuster beteiligten Klassen auf Collaborations beschreibt die Zusammenarbeit der beiligten Klassen Consequences bietet eine bersicht ber die Vor und Nachteile di
112. elbst Optimierung Selbst Heilung Selbst Schutz Digitaler Pheromonpfad Selbst Konfiguration Selbst Optimierung Selbst Heilung Selbst Schutz Marktbasierte Kontrolle Selbst Konfiguration Selbst Optimierung Pareto Optimiert Selbst Heilung Selbst Schutz 6 Schluss Neben den in dieser Arbeit erl uterten dezentralen Koordinationsmechanismen sind vor allem die in 3 beschriebenen Verfahren Tags und Tokens zu erw hnen Das Tag Verfahren basiert auf einem sozialen Grundgedanken Soziale Struk turen bilden sich spontan und ergeben zweckm ige Strukturen Institutionen und Organisationen Aufbauend auf dieser Idee schlie en sich beim Tag Ver fahren Agenten zu Gruppen zusammen wenn Sie die selben Interessen haben 106 M Boegler Ob Agenten die selben Interessen haben k nnen sie an den Tags der anderen erkennen Vergleichbar sind diese Tags z B mit dem Kleidungsstil verschiedener sozialer Gruppierungen Als Mensch werde ich die Zugeh rigkeit zu einer sozia len Gruppe zeigen indem ich mich ihr optisch anpasse Analog dazu kopieren Agenten die Tags der jeweiligen Gruppe um ihre Zugeh rigkeit zu demonstrie ren Anwendungsgebiete sind laut 3 z B das Peer to Peer Filesharing bei dem sich Gruppen bilden welche die gleichen Interessen haben und Teilnehmer die keine Dateien anbieten sondern nur herunterladen m chten ausgeschlossen wer den Das Gesamtsystem wird zum Erfolg wenn alle Age
113. elegt Ziel ist es den Zusammenhang zwischen Ursache und Ef fekt in komplexen skalierungsfreien Systemen zu behandeln Als Musterbeispiel einer solchen Struktur wurden Sensornetze gew hlt Ein Sensornetz ist dabei ein drahtlos kommunizierender adhoc Verbund winziger Computer die mittels ihrer Sensoren eine Umgebung berwachen Charakteristikum solcher Sensornetze ist die hohe Anzahl an Mitgliedern und die beschr nkte Kommunikationsreichweit und Rechenleistung F r st ndig ndernde Gegebenheiten und Fehlertolleranz muss das Sensornetz gewappnet sein Die von jedem einzelnen Knoten gesam melten Daten werden dann an den Empf nger Senke weitergeleitet Konkre te Anwendungsszenarien k nnen dabei z B Brandschutzbek mpfung Erupti ons berwachung oder der Schutz vor berflutung sein Das Ziel ist es unter der Verwendung der Organic Computing Prinzipien die Funktion des Netzes maximal lange aufrecht erhalten zu k nnen und die Robustheit zu maximieren Heutige Netze wie z B das Internet besitzen wenige Knotenpunkte mit vielen Verbindungen und sind somit fehleranf lliger f r Angriffe als Netze die aus vielen Knoten mit wenig Verbindngen bestehen 3 7 2 Ergebnisse Jeder einzelne Netzknoten kann dabei selbst seine hiera chisch aufgebaute Rolle ndern und sich auf eine Aufgabe spezialisieren ohne jedoch das Gesamtziel zu verletzen Die Lebenszeit des Netzes konnte mit dy namischer Rollenanpassung um 40 gegen ber der einmalig zugeteilten Rol
114. em im Ganzen zu verstehen Der globale Zustand von solchen Systemen kann man nicht von den Zust nden der Objekten vorhersagen Dieses Ph nomen ist unter dem Begriff Emergenz bekannt Die Systeme die Emergenz aufweisen haben somit emergentes Verhalten Wobei die Natursysteme haben ihr Verhalten seit vielen Jahrhunderts verbes sert und angepasst die von Menschen produzierenden k nstlichen Systeme ha ben sehr oft das Verhalten das weit vom Ideal ist Emergentes Verhalten von k nstlichen Systemen kann sehr oft zum unerw nschten Konsequenzen f hren und wird als emergentes Fehlverhalten genannt Was emergentes Fehlverhalten ist wie kann man damit umgehen und welche Klassifikationsmethode daf r exis tieren wird in diesem Artikel untersucht und beschrieben Der Rest von diesem Artikel ist auf folgende Weise gebaut im Abschnitt 2 werden die Begriffe Selbst Organisation und Emergenz erkl rt und vergliechen Danach werden die Begriffe emergentes Verhalten und emergentes Fehlverhalten dargestellt Im Abschnitt 3 stellen wir einige Beispiele von emergentem Fehl verhalten aus unterschiedlichen Bereichen dar Danach im Abschnitt 4 gehen wir auf die Klassifikation von emergentem Fehlverhalten und desses Ursachen ein Weiter werden einige Techniken f r Umgang mit emergentem Fehlverhalten genannt Am Schlu kommt die Zusammenfassung und Zukunftsausblick 2 Definitionen Bevor wir auf die Definition von emergentem Fehlverhalten eingehen definie
115. emer gentes Chaos von der echten Zuf lligkeit Nicht alles emergentes Verhalten ist chaotisch Zum Beispiel in Router Synchronisierung Abschnitt 3 3 2 gibt es ein Problem dass konvergentes Verhalten ohne R cksicht auf Ausgangsbedinungen aufgekommen ist 3 Beispiele von emergentem Fehlverhalten In diesem Abschnitt stellen wir einige Beispiele von emergentem Fehlverhalten in unterschiedlichen Bereichen dar 3 1 Non Computerbereich Am ersten Tag der Er ffnung von der Millennium Footbridge haben die unerwar teten berma igen Quervibrationen zum Erschweren vom Fu g ngerbewegungen gef hrt Die Konstrukteure haben nicht erwartet dass die Synchronisierung von einzelnen Schritten mit einander und mit der eigenen Bewegung der Br cke zum diesen Effekt kommt Emergentes Fehlverhalten 137 Dieses Problem ist uns wirklich interessant da die Br ckenkonstrukteure diese Art von Problemen ziemlich gut kennen Man sollte auch den verrufenen Abbruch von der Tacoma Narrows Bridge seit vier Monaten nach der Er ffnung erw hnen Dieser Fall ist jedem Br ckenkonstrukteur in der Welt auch sehr be kannt Das Br ckenform hat in Wind gen genden Auftrieb generiert um die Hauptschwingungen zu induzieren So sieht man dass sogar in den technischen Bereichen mit mehrj hrigen Erfahrungen man auch emergentes Fehlverhalten treffen kann Ein anderes Beispiel von emergentem Verhalten ist Autoverkehr das wird als Ergebnis von der Entscheidungen der
116. emium lt condition gt lt condition gt customer product equels regular lt condition gt lt consequence gt apply5PercentDiscountAction customer drools lt consequence gt lt rule gt Drools Rule Language DRL unterst tzet nat rlich Java und au erdem ei nige Skriptsprachen wie z B Python und Groovy Fiir jede dieser Sprachen gibt es in DRL einen eigenen Namensraum Setzt man Java ein sieht ein condition Element so aus lt java condition gt lt java condition gt Dabei ist der Inhalt des Elements natiirlich ein Java Ausdruck mit einem Booleschen Wert Und unter Java sieht ein consequence Element so aus lt java consequence gt lt java consequence gt wobei der Inhalt ein Block von Javacode ist 4 2 4 Einsatz von Drools Drools unterst tzt den Standard JSR 94 des Java Community Prozesses definiert eine Schnittstelle zu einer Rule Engine die un abh ngig von der konkreten Implementierung der Rule Engine also unabh ngig vom eingesetzten Rule Engine Produkt machen soll 13 Im 2006 hat sich das Drools Projekt dem Unternehmen JBoss Inc angeschlossen unter anderem Ent wickler des popul ren gleichnamigen Applikation Servers 23 Drools ist eigent lich eine Klassenbibliothek in Java die sich einfach und problemlos in eigene 14 Der Java Community Process JCP definiert in Kooperation mit Unternehmen Hochschulen und Organisationen Standards f r die Programmiersprache Java Rule
117. en jedoch eine statische Natur Will man z B das Netz in Abb 24 auf mehr als 2 Prozesse erweitern mu man mehr als 20 neue Knoten einf gen und au erdem das vorhandene Netz entsprechend anpassen Die Lesbarkeit und Verst ndlich keit sinkt mir der wachsenden Zahl der Prozesse Ein weiterer gro er Nachteil von Petrinetzen dass sie keinen Konzept der Zeit kennen Ausf hrliche Infor mationen zu Petrinetzen finden Sie in 10 und 1 4 3 Business Process Modeling Notation Abb 25 und Abb 26 sind zwei Variationen die ein und denselben Algorith mus modellieren verteilter wechselseitiger Ausschluss Variante Nr 1 verwendet Intermediate Events mit dem Trigger Nachricht Briefcouvert im Kreis um die eintreffenden Nachrichten zu modellieren Variante Nr 2 in Abb 26 verwen det Pools um die Interaktionen zwischen Prozessen deutlich zu machen Beide Varianten sind unendliche Prozesse die vom Start Event irgendwann gestartet werden und danach unendlich lange laufen Wann und von wem der Start Event ausgel st getriggert wird ist aus dem Diagramm nicht ersichtlich Nachdem das Start Event ausgel st wird startet die Task Zustand Ruhe der Prozess geht in den Zustand Ruhe ber Task Task Zustand Ruhe wartet auf neue Nach richten von anderen Prozessen Diese Task kann auf zwei Wegen beendet werden 1 wenn neue Nachricht eintrifft oder 2 wenn sich der Prozess irgendwann ent scheidet in den kritischen Bereich einzu
118. en werden gel schet 4 1 1 Explizite Priorisierung Eine feingranularere Priorisierung l sst sich durch das Zuweisen von expliziten Priorit ten erreichen F r gew hnlich sind die Priorit ten Zahlenwerte bei denen ein niedrigerer Wert eine h here Priorit t bedeutet Der Nachteil hierbei ist dass die Werte manuell angegeben werden m ssen Gerade bei gro en Systemen bei denen mehrere Angestellte f r die Pflege der Policies zust ndig sind kann das schnell zu Inkonsistenzen bei der Priorisierung f hren Man stelle sich vor dass ein Administrator f r die Prio rit ten die Werte 1 10 verwendet ein anderer aber die von 1 100 4 1 2 Abstandsberechnung von Policies Ein Weg die oben genannten Probleme zu umgehen ist die automatische und objektive Berechnung der Prio rit t einer Policy Es wird also nicht mehr f r jede Policy ein fester Wert angege ben sondern eine Funktion die die Priorit t ermittelt Ein Beispile hierf r ist die Rechteverwaltung in vielen modernen Dateisystemen Die Priorit tsfunktion ist hier die Ordnerhierarchieebene Im Normalfall gelten die Zugriffsberechtigungen des bergeordneten Ordners auf Ebene n gibt es neue Berechtigungen auf Ebene n m so haben diese eine H here Priorit t und berschreiben die der Ebene n 5 Technologien 5 1 SBVR SBVR Semantics of Business Vocabulary and Rules ist eine Spezifikation der OMG Es spezifiziert eine Sprache zur Beschreibung von Policies auf dem Busi ness Layer der P
119. ende Technologie der Fahrzeuge auf den Stra en Die Fahrzeuge vereinen mehr Kommunikationsm glichkeiten in sich als je zuvor Car2Car Kommunikation beschreibt dabei einen Ansatz wie Fahrzeuge untereinander Informationen und Wissen austauschen k nnen 16 Dieses Pro jekt verwendet diesen Ansatz um auf komplexe sich ver ndernde Verkehrssitua tionen angemessen reagieren zu k nnen Als bergeordnete Ziele sollen dabei der Gesamtbenzinverbrauch und die mittlere Reisezeit gesenkt werden 3 5 2 Ergebnisse Statt Induktionsschleifen in der Fahrbahn werden schwe bende Datenwolken Hovering Data Clouds HDCs an Verkehrsstrukturen z B Verkehrsstaus etabliert die durch ein Ereignis hervor gerufen werden 5 Diese bilden organische Informationseinheiten Organic Information Complexes OICs die als funktionale Einheiten den Verkehrsfluss beschreiben Die HDCs werden wiederum von einzelnen Fahrzeugen getragen k nnen sich aber unabh ngig vom Fahrzeug bewegen und ver ndern Somit kann mittels am Stauende und anfang aufgebauter HDCs durch einen OIC ein Verkehrsstau erkannt werden selbst wenn die im Stau befindlichen Fahrzeuge wechseln Einzelne Fahrzeuge lei ten ihre Informationen an andere weiter und somit bleiben die HDC s am Stau ende bzw anfang Der Datenaustausch funktioniert mittels 802 11 Standard Damit ist ein Radius von 250m bei 1Mbit s bertragungsleistung m glich Es wurden vier verschiende bertragungsprotokolle untersucht
120. enen zuk nftige Systeme den Anforderungen gen gen k nnen Die Selbstorganisation stellt dabei eine der wichtigsten grundlegenden Anforde rung dar 150 M Buthut A self organizing system not only regulates or adapts its behavior it creates its own organization 4 Ein Beispiel eines selbstorganisierenden Systems ist ein Ameisenstaat 1 Ein zelne Individuen werden erst durch die Selbstorganisation und dem zusammen arbeitenden Verhalten zu einem komplexen System das vielf ltigste Aufgaben bernehmen kann Das ganze System bildet in der Betrachtung auf der Ma kroebene eine andere Darstellung als auf der Mikroebene Dieser Mehrwert des Gesamtsystems bildet die Emergenz Unter Emergenz versteht man Emergence is defined as a property of a total system which cannot be derived from the simple summation of properties of its constituent sub systems Emergent phenomena are characterized by 1 the interaction of mostly large numbers of individuals 2 without central control with the re sult of 3 a system behaviour which has not been pprogrammed xplicitly into the individuals 17 Ein Beispiel f r eine emergente Eigenschaft ist die Resonanzfrequenz eines Schwing kreises Die beiden Bestandteile des Schwinkreise die Spule und der Transistor haben einzeln keine Resonanzfrequenz Erst ihr Zusammenwirken erzeugt diese Eigenschaft 1 So hat das gesamte System auf Makroebene andere Eigenschaf ten als auf der Mikroebene bei
121. enerieren damit potenziell viel BGP Updateverkehr und diese Instabilit t kann auch die Bearbeitungskapazit ten von Internetrouter berlasten BGP beinhaltet soweit Route Flap Damping RFD Mechanismus um die Verbreitung von Routinginformation zu begrenzen Mao hat gezeigt dass der standarte RFD Mechanismus bedeutsam die Kon vergenzzeiten von relativ stabilen Routern verschlimmern kann 16 Resultie rende Konvergenzzeit kann bis zu 60 Minuten sogar nach einem Routerabzug sein Das Problem dass Mao St mme von einer Wechselwirkung zwischen zwei BGP Mechanismen identifiziert der Routerabzugprozess und der Mechanismus der Stabilit t der ganzen Infrastruktur sichert Sie zeigen dass der mehr all gemeine Fall dieses Problems withdrawal triggered suppression genannt in To pologien unter einer bestimmten kritischen Gr e nicht erscheint D h dieses Problem ist eine Folge des globalen Netzwerkarchitektur oder mindestens eines gem igt gro en Subgraphen und seinen Wechselwirkungen mit lokalen Imple mentierungsauswahlen Die von Mao durchgef rte Analyse von einfachen Topologien erm glichte sie die Frequenz der withdrawal triggered suppression im echten Internet zu sch tzen Obwohl die existierenden BGP Traces nicht direkt die F lle dieses Problems zeigen Mao hat verstanden dass sie die wahrscheinlichen F lle der withdrawal triggered suppression von einer charakteristischen Unterschrift schlie Den konnten Sie haben heraus
122. enso verh lt es sich mit dem sogenann ten Covering das auch nur zur Auff llung von P verwendet wird wenn M zum Beispiel leer w re Covering erstellt dann einen neuen Classifier des sen Bedingung zur eintreffenden passt und f gt ihn in P und M ein Die St rke des neuen Classifiers wird anhand der Durchschnittsst rke aller bisher vorhandenen Classifier ermittelt die Aktion die er ausf hrt wird zuf llig bestimt Somit kann M nie leer sein und der Algorithmus l uft planm ig weiter Match Set M Im Match Set landen die Classifier aus P welche diesel be Bedingung aufweisen die auch vom Sensor an P weitergegeben wurde Dabei werden nat rlich auch die Wildcards ber cksichtigt Somit wird also aus einer gro en Anzahl an Classifiern eine kleinere ausgew hlt die eine zur vorgegebenen Bedingung passende Aktion ausf hren k nnen Action Set A F r das Action Set wird aus M ein Classifier nach der Roulette Wheel Methode ausgew hlt und dorthin kopiert Bei der Roulette Methode dient die St rke der jeweiligen Classifier als Gewichtung f r die Auswahl Haben wir beispielsweise in M drei Classifier A B und C A besitzt St rke 50 B St rke 30 und C St rke 20 Als n chstes wird eine Zu fallszahl zwischen 1 und 100 ausgew hlt F r 1 lt i lt 50 wird A ins Action Set kopiert f r 51 lt i lt 80 B und f r 81 lt i lt 100 C Zudem werden alle anderen Classifier in M welche dieselbe Aktion
123. entem Fehlverhalten Hier werden allgemeine Kategorien von emergentem Fehlverhalten in Software systemen betrachtet Die Liste kann folgendes enthalten Flattern Wettbewerb ber die verdichteten Resourcen die aber im Raum zerstreut sind wobei die Kosten f r Umschalten zwischen verdichteten Grup pen dominiert ber der m glichen nutzlichen Arbeit Es ist auch n tzlich das Form von Flattern zu unterscheiden das durch die bessere Koordinati on bzw Plannung vermieden werden kann von dem Form bei dem klar ist dass System mehr Resourcen braucht um die Aufgaben zu erf llen Unerw nschte Synchronisierung Hier geht es um eine Reihe von Sys temen deren zeitlich wechselndes Verhalten unkorreliert werden soll wobei sie versuchen sich immer zu korrelieren D h die auf dem statischen Multi plexing basierte Resourcenzuweisung kann durchfallen Das Millenium Foot bridge Problem von Floyd und Jacobson beschriebene Synchronisierung der Routingnachrichten alle kommen in diese Kategorie Unerw nschte Oszillation oder Periodizit t Das System pendelt zwi schen den Zust nden wegen dem zuf lligen bzw schlecht entwickelten Feed back Loop zwischen mehreren Komponenten Deadlock Der Progress bleibt wegen den Kreisabh ngigkeiten stehen Dead lock kann sicherlich in einem System auftreten wo jede Komponente richtig funktioniert Livelock Der Progress bleibt stehen wegen zwei oder mehreren Threads die trotzt st ndige
124. entstehen die berwunden werden m ssen oder Lastwagen aufgrund einer Panne zum Er liegen kommen Dar ber hinaus sind eine Reihe von Zeitvorgaben einzuhalten Abholzeit bis wann muss das Paket von der Absenderadresse abgeholt wor den sein Lieferzeit bis wann muss das Paket zugestellt worden sein Pausen wie lange dauern die Fahrer Pausen und wann finden sie statt etc F r dieses hochdynamische Problem bei dem der Informationsaustausch und die Koordination dezentral zwischen den Lastwagen Kunden und den Stra en erfolgen bieten sich autonome dezentrale Systeme als vielversprechende L sung an OSSTACLE Abbildung 2 Das Paketlieferdienst Problem nach 26 4 2 Anwendung der dezentralen Koordinations Patterns Der L sungsansatz f r dieses komplexe Problem ergibt sich aus dem Zusammen spiel der einzelnen dezentralen autonomen Teilsysteme innerhalb des vorgestell ten Systems Die Teilsysteme sollen gegenseitig alle notwendigen Informationen Design Patterns fiir autonome dezentrale Systeme 125 austauschen um zur Zielerreichung alle notwendigen Entscheidungen und Ma nahmen treffen zu k nnen Ein Softwarearchitekt muss folglich herausfinden welche Informationen die autonomen Teilsysteme ben tigen um den Versand und die Navigation effizient durchf hren zu k nnen und anschlie end entschei den welches Koordinations Pattern f r diese Anforderungen in Frage kommt Im Falle des Versands muss f r jeden eingehende
125. equentiellen Pfad in zwei oder mehr nebenl ufige Pfade aufzuspalten AND Join Synchronisation verschmelzt zwei Pfade zu einem Die Kontroll fl e aller eingehenden Pfade m ssen beendet worden sein bevor der Ablauf fortgesetzt wird XOR Split Exclusive Choice Decision Der Pfad wird in zwei oder mehr alternative Pfade aufgespalten wird XOR Split entscheidet welcher an welchem einem Pfad der Kontrollflu fortgesetzt wird XOR Join Discriminator verschmilzt mehrere Pfade zu einem Wenn der Kontrollfluss von einem Pfad am XOR Join eintrifft wird der ausgehende Pfad aktiviert Sp ter eintreffende Kontrollfl sse von anderen eingehenden Pfaden werden vom XOR Join ignoriert Im n chsten Kapitel wird gezeigt wie diese 4 parallelen Kontrollstrukturen in verschiedenen Modellierungssprachen aussehen 3 Modellierungssprachen und Techniken 3 1 Bildfahrplan Ein Bildfahrplan engl train graph auch grafischer Fahrplan oder Zeit Weg Diagramm genannt dient der Darstellung der Bewegung von Ver kehrsmitteln und tragt zu diesem Zweck die Zeit gegen den Weg auf Wichtigster Spezialfall ist der Betrieb auf einer Bahn Strecke der mit diesem Hilfsmittel grafisch dargestellt wird Die anderen Fahrplandoku mente werden daraus abgeleitet 3 Aus dem Bildfahrplan in der Abbildung 3 lassen sich die Ankunfts Abfahrts und Haltezeiten einzelnen Z gen ablesen Die Ordinate repr sentiert die Zeit die Uhrzeiten verlaufen von oben nach
126. er wenn ben tigt auch R ckw rtsverkettung Jess hat bei der Regelbeschreibung seine eigene Wege Zur Deklaration der Regeln wird die an die Syntax von Lisp angelehnte Beschreibungssprache CLIPS verwendet die im Vergleich zu herk mmlichen Programmiersprachen bzw Markup Sprachen wie XML sehr gew hnungsbed rftig ist was die Einf hrung im Unternehmen und die Akzeptanz deutlich erschweren k nnte 6 10 Mehr Informationen unter http www ilog com products jrules 11 Mehr Informationen unter http mandarax sourceforge net 12 Mehr Informationen unter http herzberg ca sandia gov 13 LISP steht f r List Processing und ist eine Familie von Programmiersprachen die 1958 erstmals spezifiziert wurde und am Massachusetts Institute of Technolo gy MIT in Anlehnung an den Lambda Kalk l entstand 22 36 B Turki Hatam 4 Drools und RuleML im Vergleic In Diesem Kapitel wird beschrieben wie die konkrete Implementierung von Regel im RuleML und Drools erfolgen kann Anhand von konkretem Beispiel werden wir sehen wie die beiden Regelsprache sich gegeniiber stellen 4 1 RuleML RuleML ist die Abkiirzung fiir Rule Markup Language Beschreibungssprache fiir Regel RuleML stellt einen Ansatz zur standardisierten Beschreibung von Regeln auf Basis von XML dar und bietet Elemente zur Implementierung von verschiedenen Logik und Regelsystemen Somit ist RuleML als Transfermedium zwischen Rule Engines und anderen Systemen geeignet
127. er Algorithmus kann wie in Anhang A Abbildung 8 ange geben formuliert werden 3 3 2 R ckw rtsverkettung Die R ckw rtsverkettung geht von einem Ziel punkt aus und versucht dessen Bedingungen zu best tigen sehe Abbildung A Abbildung 9 Merkmale der R ckw rtsverkettung Man geht vom Zielpunkt aus stellt Hypothesen auf berpr ft die Vermutungen Wir betrachten wieder die Regel im obigen Abschnitt und wenden dieses Verfahren an Die folgenden Schritte w rden r ckw rts durchgef hrt werden 1 Ich ziehe dann einen Schlafanzug an wenn ich ins Bett gehe 2 Und ich gehe dann ins Bett wenn ich m de werde Also h ngt der Wahrheitsgehalt der These dass der Sprecher einen Schlafan zug anzieht von zwei Bedingungen ab Dass diese beiden Bedingungen dar ber hinaus direkt voneinander abh ngen ist hier nur Zufall Es k nnten auch belie big viele voneinander unabh ngige Bedingungen sein Das allgemeine Vorgehen wird durch den Algorithmus im Anhang A Abbildung 10 beschrieben 30 B Turki Hatam I S B R4A R2A R4B Abbildung 3 Regelnetzwerk eines regelbasierten Systems die Kreisb gen sym bolisieren konjunktive Verkniipfungen 5 3 4 Rete Algorithmus Bei naiver Implementierung der Regelinstanziierung m ssen in jedem Schlei fendurchlauf alle Eingaben mit den Bedingungsteilen aller Regeln verglichen werden Das wird aber sehr problematisch bei gro en Regelnmengen sein Eine Effizienzsteigerung kann erreicht
128. er Systeme Vieweg Verlag p81 2006 H Boley The ruleml family of web rule languages university of new brunswick canda 2006 Unter http 2006 ruleml org slides RuleML Family PPSWR06 talk up pdf Zugriff 25 02 08 A Champandard AI Game Development Synthetic Creatures with Learning and Reactive Behaviors Kapitel 11 Rule Based Systems New Riders 2003 CLIPS CLIPS A Toll for Building Expert System Un ter http www ghg net clips CLIPS html Zugriff 25 02 08 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Rules im Org Comp 43 A Depot Methods of rule based systems Unter hitp ai depot com Tutorial RuleBased Methods html Zugriff 25 02 08 E Friedman Hill Jess The Rete Algorithm Sandia National Laboratories 2000 J Fromm Ten Questions about Emergence Arriv preprint nlin AO 0509049 2005 S H U T and C M ller Schloer Antrag auf Einrichtung eines neuen DFG Schwerpunktprogramms Unter http www organic computing de spp Zugriff 25 02 08 JBoss Jboss org community driven Unter http labs jboss com Zugriff 25 02 08 H Kasinger Ein MDA basierter Ansatz zur Entwicklung von Or ganic Computing Systemen 2005 Unter http www informatik uni augsburg de lehrstuehle swt vs publikationen reports 2005 08 Zugriff 25 02 08 C Merz Entwicklung eines computerspiels mit dem schwerpunkt auf kiinstlicher intelligenz Diplomarbeit an Hochschule Ravensburg Wein
129. erBok Managing emergent behavior in distributed con trol systems In ISA Tech 97 Instrument Society of America 1997 P Reynolds C E Killian J L Wiener J C Mogul M A Shah and A Vahdat Pip Detecting the unexpected in distributed systems In NSDI 2006 T H Romer D Lee B N Bershad and J B Chen Dynamic page mapping policies for cache conflict resolution on standard hardware In Operating Systems Design and Implementation pages 255 266 1994 J Searle The Rediscovery of the Mind MIT Cambrige MA 1992 G D M Serugendo M P Gleizes and A Karageorgos Agentlink first technical forum group self organisation in multi agent systems AgentLink Newsletter Issue 16 23 24 2004 C R Shalizi Causal architecture complexity and self organization in time se ries and cellular automata PhD thesis THE UNIVERSITY OF WISCONSIN MADISON 2001 H von Foerster On self organizing systems and their environments In M Yovitts and S Cameron editors Self Organizing Systems pages 31 50 Pergamon New York 1960 Review ausgew hlter Projekte im SPP1183 Organic Computing Phase I Michael Buthut Universit t Augsburg michael buthut student uni augsburg de Zusammenfassung Das von der Deutschen Forschungsgemeinschaft gegr ndete SPP 1183 l uft bereits seit knapp zwei Jahren Das Pro gramm umfasst 18 Projekte und ist in zwei Phasen gegliedert In Pha se I werden die projektspezifischen Grundlagen f r die Ziel
130. erdings dynamisch ver ndert werden Dazu sendet die Kontrolleinheit eine R ckmeldung Feedback an den Observer ber den ausgef hrten Kontrollvorgang Aus diesem Feedback k nnen R ckschl sse gezogen werden welche Attribute und Eigenschaften im aktuellen Kontext interessant erscheinen und mit welcher Gewichtung sie zu ber cksichtigen sind Controller Die Kontrolleinheit ist der zweite wichtige Pfeiler innerhalb ei ner Observer Controller Architektur Die vom Observer aufgesammelten und interpretierten Informationen ber das SuOC werden an den Controller wei tergereicht Dieser hat nun die Aufgabe das Verhalten des Systems in die richtige Richtung die von der Umwelt dem System in Form von Zielen vor gegeben wird zu steuern beispielsweise mit Blick auf Emergenz Es sollen also nur gew nschte emergente Effekte auftreten Unerw nschte Verhaltens weisen sollen m glichst schnell und effizient unwirksam gemacht werden Mit 16 C Stempfle Ziel all dies einzuhalten versetzt der Controller das System in einen neuen Zustand der im besten Fall alle diese Kriterien erf llt 12 S 9 Wenn alle oben erw hten Bausteine in geeigneter Weise zusammenarbeiten spricht man von einer Observer Controller Architektur Die untenstehende Ab bildung 6 illustriert dies selects observation model Teen Ene ects observation mode status Abbildung 6 Observer Controller 12 S 11 Dar ber hinaus kann man dies
131. ere Struk turen zu erzeugen Bekannte Patterns sind Decorator Facade und Proxy Bei den Behavioral Pattern Verhaltensmuster steht die Objektinteraktion im Mittelpunkt Spezielle Kommunikations Patterns sollen eine flexible Kommu nikation zwischen den beteiligten Objekten erm glichen Beispiele f r Behavioral Patterns sind das Mediator Pattern Observer Pattern und Strategy Pattern Zwei Pattern 14 mit jeweils unterschiedlicher Kategorie werden in einem verk rzten Schema vorgestellt Singleton Creational Pattern Intent Stellt sicher dass von einer Klasse lediglich eine Instanz erzeugt werden kann und globaler Zugriff darauf besteht Motivation 112 M Burkhard 1 Lediglich ein Dateisystem oder ein Window Manager soll existieren 2 Uber globale Variablen wird zwar der Zugriff sichergesteellt aber nicht die mehrfache Instanziierung verhindert Applicability 1 F r den Fall dass genau eine Instanz einer Klasse erstellt werden darf 2 Falls die Klasse mithilfe von Vererbung erweiterbar sein soll und eine er weiterte Klasse ohne nderung nutzbar sein soll Structure EE instance Singleton Singleton getInstance Singleton 14 operation Participants 1 Singleton definiert eine Methode iiber welche auf die Instanz zugegriffen werden kann und verhindert dass unkontrolliert eine Instanz der Klasse erzeugt wird 2 Client greift auf das Singleton zu Consequences 1 Der Zugriff auf d
132. erkennen kann Sie schreiben dass diese Fehler waren von sehr einfachen Single Router Fehler bis zum komplexen netzwerk breiten Fehler der Zusammenspiel zwischen meheren Router involviert 6 Zusammenfassung und Ausblick Wir werden nie k nnen alle emergenten Fehlverhaltenprobleme zu l sen beson ders mit der st ndigen Erh hung von Komplexit t Wir konnen und sollen aber im Zustande sein die wiederkehrenden Fehlverhaltenmuster zu erkennen und genug von der vergangenen Erfahrung zu lernen damit diese Muster zu vermei den und auszubessern Da wir brauchen die globale Sicht zu bauen spielen die Forschungen von Computersystemen besonders im Erkennen von emergentem Fehlverhalten eine bedeutsame Rolle Einige Firmen haben die ehrgeizige Perspektive f r die Zukunft von der kom plexen Computersystemen ge u ert was sie mit Unm glichkeit erkl rt haben diese Systeme immer wieder mit der lteren Methoden erfolgreich zu steuern 146 A Ostroverkhov Diese Perspektive konfrontiert mit dem emergentem Fehlverhaltenproblem Das ist kein un berwindliches sondern ein unvermeidliches Problem So zum Beispiel hat IBM seine Perspektive von Autonomic Computing ge u ert wobei die Systeme selbst konfigurierend selbst optimierend und selbst heilend sind HP hat Adaptive Enterprise Perspektive ge u ert wo die IT Umgebung die schnellen nderungen in Business Level Strategien und Taktiken unterst tzt Literatur 1
133. erkennen und daraufhin ihr bisheriges Verhalten ndern und dem Pfad in Richtung Nahrung folgen Auch sie werden auf dem R ckweg zum Nest Pheromone freigeben was dazu f hrt dass der Pheromonduft auf dem Pfad verst rkt wird Je mehr Ameisen nun diesem Pfad folgen desto intensiver wird auch der Duft des Pfades Da sich die Pheromone mit der Zeit verfl chtigen f hrt das sobald keine Nahrung mehr vorhanden ist und somit keine Ameisen mehr Pheromone auf dem Pfad hinterlassen zur Abnahme des Duftpfades bis Eigenschaften dezentraler Koordinationsmechanismen 99 dieser komplett verschwunden ist Dadurch wird verhindert dass weitere Amei sen diesem Pfad ins Nichts folgen Abbildung 2 illustriert dieses Beispiel und zeigt den emergenten Effekt des Algorithmus A straight pheromone trail NEST CG oe B obstacle introduced wW RK DW E Loop aPC Rete NEST P H gt ae Ri C B two optionsare explored NEST D NEST ome Abbildung 2 Beispiel eines Digitalen Pheromonpfad aus 3 Nicht nur dass mit dieser dezentralen Methode die Koordination der Amei sen zur Nahrung gew hrleistet wird und eine Selbst Organisation entsteht es entwickelt sich auch eine Selbst Optimierung des Systems Werden z B von zwei verschiedenen Ameisen zwei verschiedene Wege vom Nest zur Nahrungsquelle gefunden so wird ber die Zeit der k rzere Pfad bevorzugt Da die Ameisen auf jedem R ckweg von
134. ern St rungen oder sogar Zerst rungen wider stehen Wenn Systemschaden zu gro sind verschlechtern sich die Funktionen vom System allerdings ohne pl tzliche Zerst rung bzw Systemabbruch Stabilit t und Widerstandsf higkeit von den selbst organisierenden Syste men bedeutet allerdings nicht dass sie statisch oder rigid sind Solche Systeme adaptieren ihre Organisation zu jeweiligen Umgebungs nderungen lernen neue Tricks um mit nicht vorgesehenen Problemen zu kooperieren ndert sich die Umgebung adaptieren die mit der Umgebung zusammenwirkenden Systemkom ponenten sofort ihre Zust nde um das System wieder in Ordnung zu bringen So wird das System st ndig reorganisiert Je mehr St rungen passieren desto gr er die Anzahl von moglichen Konfi gurationen die das System untersucht und desto besser wird der Endzustand vom System Der Kybernetiker von Foerster 24 hat dieser Prinzip als order from noise und der Thermodynamiker Prigogine 11 hat das als order through fluctuations genannt Naturbeispiele von selbst organisierenden Systemen sind allbekannte soziale Insektensysteme wie Ameisen Termiten und Bienen Die Kommunikation in diesen Systemen entsteht mittels Pheromonen die in der Umgebung ausgebreitet werden Die anderen Beispiele von selbst organisierenden Tieren sind V gel oder Fischschw rme Die k nstlichen selbst organisierenden Systeme sind sehr oft von den Natur beispielen inspiriert Dabei die Schw rme sind d
135. ern die Unternehmen ihre Rahmen bedingung immer schnell deswegen war es in letzten Jahren n tigt neue Regelinterpreter zu entwickeln die universell verwendbar sind Solche In terpreter wurden Rule Engines genannt Wie Rule Engines arbeiten und woraus sie bestehen und wie sie in der Praxis eingesetzt werden wird auch in dieser Arbeit erl utert Zum Schluss werden zwei Regelsprachen RuleML und Drools betrachtet und durch Beispiele ihre Unterschiede und Gemeinsamkeiten kennen gelernt 1 Einf hrung Die Zahl von technischen Systemen und deren Komplexit t nimmt stark zu Dies gilt sowohl f r einzelne technische Ger te von denen wir im Alltag umgeben sind als auch f r die Systeme die die Infrastruktur f r eine massive Vernetzung bilden Das Verst ndnis der zunehmenden Komplexit t gilt als eine der gr ten Herausforderungen der mittelfristigen Zukunft in den Techniken der Informati onsverarbeitung Sie will und muss beherrscht werden will man weiterhin der rasanten Weiterentwicklung folgen k nnen Ansatzpunkt zum Verst ndnis der Komplexit t sind organische Computersysteme inspiriert von Strukturen aus der Natur wie z B das menschliche Nervensystem oder das selbst organisierende 24 B Turki Hatam Verhalten von Ameisen bzw Tierschw rmen Bei Organic Computing handelt es sich um dynamische sich den jeweiligen Umgebungsbed rfnissen von selbst an passende Computersysteme Diese F higkeit zur Selbstorganisation u ert sich
136. erreichung gelegt In Phase II werden dann die gewonnen Erkenntisse in den je weiligen Anwendungsszenarien umgesetzt sofern das Projekt in Phase II fortgef hrt wird Auf neun ausgew hlte Projekte wird im Folgenden eingegangen davon werden Organic Traffic Control und QE in einem detailierten Fokus betrachtet 1 Einleitung In der Vergangenheit war die heutige Vielzahl komplexer Ger te schwer vor stellbar dennoch hat sich diese Diversit t der Ger te durchgesetzt Die Vorz ge der modernen Technik die immer und berall verf gbar scheinen werden sehr gesch tzt Aber genau dadurch entstehen neue Herausforderungen Fortschrei tende Vernetzung intelligenter und komplexer Systeme erm glicht die Entwick lung vieler neuen Anwendungen Aber gleichzeitig beherbergt die Vernetzung das Problem der Kontrolle und der Beherschbarkeit dieser Systeme Um die Kontrolle und Steuerung dieser Systeme zu erleichtern sollen diese selbst ndig und verl sslich im Hintergrund agieren Aus dieser Vision heraus wurde der Fachbereich Organic Computing geschaffen Organic Computing ist ein Kon zept dass versucht derartige Systeme robust sicher zuverl ssig flexibel und vertrauensw rdig zu machen Vor allem ist auch eine deutlichere Orientierung an den Bed rfnissen der Anwender dringend notwending Dazu werden zuk nf tige Systeme autonomer handeln d h sie werden selbst lebens hnlich aufge baut sein und lebens hnlich handeln Deshalb werden derartige Sy
137. erseits formal und damit von Rechnern verarbeitbar ist sich aber auch f r die Modellierung von dynamischen Systemen eignet F r die eigentliche Model lierung der Policies und des Systems werden allerdings UML Dialekte anstatt des EC verwendet Vor der Berechnung einer Strategie erden diese UML Modelle zuerst in den EC bersetzt 3 3 Classificationbased Policyrefinement Diesem von Hewlett Packard und der North Carolina State University 8 entwi ckelte Ansatz des Policyrefinement liegt die Annahme zugrunde dass in high level Policies Metriken zum Einsatz kommen die im operativen System nur 54 A Meixner als Zusammenwirken von mehreren low level Metriken existieren Beispielsweise spricht eine abstrakte Policy von der Verf gbarkeit einer Datenbank im eigent lichen System ist diese aber von vielen Faktoren wie dem Routing im Netzwerk CPU Auslastung des Servers verwendeten Caching Algorithmen und vielen wei teren abh ngig Zun chst m ssen also die verwendeten high level Metriken in en Policies identifiziert und auf im System messbare low level Metriken herunter gebrochen werden Danach f hrt man auf dem System Testl ufe unter realen Bedingungen mit unterschiedlichen Konfigurationen durch Aus den gesammel ten Daten der low level Metriken wird dann ermittelt unter welchen Bedinungen das heisst welche Werte die Metriken annehmen d rfen dass die Policieas einge halten werden und wann dies nicht mehr der Fall ist Da es nat
138. ersuchung und die genaue Betrachtung des Ablaufs von Emergenz in selbst organisierenden Systemen Dieses Ziel soll haupts chlich in Hannover untersucht werden Die Untersuchung und die genaue Betrachtung der Mechanismen um die Emergenz zu beeinflussen bzw deren Effekte zu steuern Dieses Ziel soll haupts chlich in Karlsruhe verwirklicht werden und als drittes Ziel SPP1183 Organic Computing Phase I 165 Die Realisation von Tools und deren Validierung in verschiedenen Test Sze narien Fiir Phase I wird man von konkreten technischen Anwendungen abstrahieren und einfachere k nstliche Systeme untersuchen Erst sp ter will man dann seine Erkenntnisse mit dem Projekt Organic Traffic Control 4 1 zusammenbringen 4 2 2 Architektur und Strategien Man hat eine Observer Controller Ar chitektur geschaffen um autonome Teile zu koordinieren und ein emergentes Ver halten entstehen zu lassen Als Beispiel diente ein Schwarm H hner Jedes Huhn mit seiner eigenen beschr nkten Intelligenz sollte zusammen mit den Ande ren einen intelligenten Schwarm bilden Dazu wurde zuerst ein Schwarm H hner implementiert der anschlie end mit der Observer Controller Architektur ber wacht wurde Der Observer berwacht dabei das Verhalten des Schwarms und leitet den gemessenen Kontext an den Controller weiter Nun leitet der Control ler in Abstimmung mit einem extern gegebenem Ziel angemessene nderungen des Systems ein Integriert wurde hiebe
139. erufen am 24 02 2008 IBM Autonomic Computing Adoption Model http www 03 ibm com autonomic about_get_model html abgerufen am 24 02 2008 IBM Autonomic Computing The 8 Elements http www research ibm com autonomic overview elements html abgerufen am 24 02 2008 IBM Autonomic Computing The Solution http www research ibm com autonomic overview solution html abgerufen am 24 02 2008 J O Kephart and D M Chess The Vision of Autonomic Computing January 2003 http www research ibm com autonomic research papers AC_Vision_ Computer_Jan_2003 pdf abgerufen am 24 02 2008 C Lucas Self Organizing Systems SOS FAQ http www calresco org sos sosfaq htm 1 2 abgerufen am 24 02 2008 G M hl M Werner M A Jaeger K Herrmann and H Parzyjegla On the Definition of Self Managing and Self Organizing Systems http www kbs cs tu berlin de publications fulltext kivs2007_2 pdf abgerufen am 24 02 2008 C M ller Schloer H Schmeck and T Ungerer Antrag auf Ein richtung eines neuen DFG Schwerpunktprogramms Februar 2004 http www aifb uni karlsruhe de Forschungsgruppen EffAlg projekte oc inhalte download SPP Antrag0C20040216 pdf abgerufen am 24 02 2008 C Miiller Schloer C von der Malsburg and R P Wiirz Organic Computing Informatik Spektrum 27 4 332 336 August 2004 S Mostaghim and H Schmeck Organic Computing Self Organisation and Emergence http www aifb uni karlsruhe de Lehre Sommer2007 0C
140. erungen und Regelun gen http www imtek de systemtheorie content upload vorlesung 2005 steuerungsentwurf ss2005 01 pdf 2005 Wegener Axel Hellbr ck Horst Fischer Stefan Schmidt Christiane and Fekete Sandor Autocast An adaptive data dissemination protocol for traffic information Proceedings of the 66th IEEE Vehicular Technology Conference Fall 2007 Wolfgang Rosenstiel Andreas Herkersdorf Architecture and design me thodology for autonomic system on chip 3rd 1183 colloquium in stuttgart http www aifb uni karlsruhe de Forschungsgruppen EffAlg projekte oc inhalte inhalte PresentationsStuttgart 04_presentation ASoC pdf September 2006 Wolfgang Trumler Faruk Bagci Jan Petzold Theo Ungerer editor Smart Door plate The First International Conference on Appliance Design 1AD 2003 Wolfgang Trumler Jan Petzold Faruk Bagci and Theo Ungerer editor Towards an Organic Middleware for the Smart Doorplate Project GI Workshop on Organic Computing September 2004
141. es weniger schmerzhaft zu machen und Programmierer leicht zu zwingen die M glichkeit unerwartetes Verhalten zu konfrontieren Systementwickler konnen hier damit helfen mehr berwachungen und Log ging ins System einzubauen Somit k nnten die Diagnosetools einen globalen Sicht von Systemverhalten zu bauen und so k nnte das unerw nschte Verhal ten erfasst werden Systementwickler neigen Hinzuf gung von solchen berwa chungen wegen den Run Timekosten zu vermeiden aber die Kosten von einem Systemausfall k nnen viel gr er und sicherlich weniger vorhersagbar sein Das Space Shuttle Programm stellt zur Verf gung ein klares Beispiel der Shuttle wurde seit zwei Dekaden eingesetzt bevor NASA daf r entschied Kameras am Bord zu verwenden um zu sehen dass Schaumstoff aufgel st wurde 5 2 Kontrolle des emergenten Fehlverhaltens In manchen Situationen ist es unm glich emergentes Fehlverhalten zu diagno stizieren bzw eine Diagnose kann darauf zeigen dass die Ursache nicht direkt behoben werden kann An diesen Stellen sind Techniken f r Verbesserung bzw Umgang mit emer gentem Fehlverhalten n tig Zum Beispiel Floyd und Jacobson 7 zeigen wie die Einf hrung von zus tzlicher Zuf lligkeit ins Routing Update Timing die un erw nschte Synchronisierung abbbrechen kann Sie haben sogar berechnet wie viel Zuf lligkeit braucht man daf r Die Einf hrung von Zuf lligkeit ist eine bli che Methode Parunak und VanderBok be
142. euzungen um damit am PC testen zu k nnen Man muss erst offline Lernen um ein Verst ndnis f r die Auswirkungen der verschiedenen Parameter zu entwickeln Die Ver nde rungen werden dann ermittelt und mit dem vorhanden starrem zeitbasiertem Referenzcontroller verglichen Dabei ist vorallem die Reaktionszeit und die po sitive Auswirkung auf den Verkehrsfluss interessant LOS 4 1 3 Ausblick und Bewertung In Phase II soll nun die Zusammenarbeit verschiedener TLC getestet werden Es bieten sich daf r zwei m gliche Ans tze an Zum einen eine hierachisch aufgebaute Organisation mit zentraler Steuerung zum anderen eine dezentral organisierte Struktur In der zentralen Steuerung 164 M Buthut berwacht ein einzelner Observer das gesamte Netzwerk an TLCs und nimmt evtl nderungen vor Somit beeinflussen seine nderung die das gesamte Netz werk optimieren sollen auch die Strategien der einzelnen Knoten Anders verh lt es sich beim dezentralen Ansatz Dort m ssen die einzelnen Knoten Ihre nde rungen und ihre Daten an die Nachbarknoten weiterleiten Diese k nnen dann entscheiden wie sie darauf reagieren um das gesamte Netz zu optimieren Am Ende von Phase I liegt nun die fertige Architektur vor und eine Simulati on f r die Tests wurde implementiert Beispielsweise konnte die durchschnitliche Wartezeit von 61 2s beim Referenzcontroller auf 36 3s gesenkt werden 2 F r Phase II des SPP wird eine intensive Zusammenarbeit mit dem Pro
143. fassung In modernen Rechnern und in verteilten Systemen werden viele Vorg nge parallel ausgef hrt mit dem Ziel alle Komponen ten gleichm ig auszulasten oder Leistung zu erh hen Diese Vorg nge sind von Natur aus kompliziert Um sie besser verstehen und analysie ren zu k nnen werden verschiedene Modellierungssprachen eingesetzt Diese Arbeit verschafft einen berblick ber aktuell verwendete Model lierungssprachen ihre M glichkeiten und Grenzen 1 Einleitung Im Bereich der Betriebssysteme versteht man unter einem Prozess ein auf einem Rechner im Ablauf befindliches Programm zusammen mit all seinen ben tigten Ressourcen 2 6 In der Wirtschaft spricht man von Arbeitsabl ufen und von Gesch ftprozessen die in einer Organisation Firma erledigt werden Der Begriff Ablauf und der Begriff Prozess werden manchmal als Synomyme verwendet Anhand eines Beispiels soll der Unterschied zwischen Prozess und Ablauf gezeigt werden siehe Abb 1 Im Kapitel 2 werden Begriffe und Probleme der parallelen Programmierung definiert Kapitel 3 stellt verschiedene Modellierungssprachen vor und erl utert deren parallele Kontrollstrukturen Kapitel 4 zeigt anhand eines verteilten Al gorithmus wie man seine Abl ufe und Koordination der Prozesse im verteilten System modellieren kann Am Schlu werden die Vorteile und Nachteile der Mo dellierungssprachen diskutiert 2 Grundlagen der parallelen Programmierung 2 1 Nebenl ufigkeit und P
144. g 5 Composite Policy Typen bei Ponder Role Relationship Management Structure helfen dabei die Policies ausgehend von den Gesch ftsstrukturen zu gliedern und damit bersichtlicher und leichter wartbar zu machen Eine Rolle stehen f r mehrere Systemteile die die selbe Aufgabe erledigen und f r die daher die selben Policies gelten Anstatt nun jedem Dieser Systemteile die Policies einzeln zuzuweisen werden sie in der Rolle gesammelt und jedem Systemteil wird diese Rolle zugewiesen Relationships sind Rollen sehr hnlich allerdings erden hier die Policies zusammengefasst die die Interaktion von Rollen miteinander regeln Management Structures sind der abstrakteste Typ der Composite Policies Sie fassen Rollen und Relationships zusammen die fin mehreren Unternehmenstei len auftreten F r eine Universit t kann zum Beispiel die Management Structure Lehrstuhl einmal erstellt werden und muss dann f r jeden tats chlichen Lehr stuhl nur instanziiert werden Dies setzt nat rlich voraus dass die Rollen und Relationships in jedem Lehrstuhl sehr hnlich sind Zus tzlich zu der Policysprache bietet das Ponder Framework noch einige Tools f r das Policy Management Hier ist vor allem das Compiler Frame work das automatisierte Transformationen von Ponder Policies auf eine Viel zahl von Sicherheitsplatformen Firewalls Datenbanken und Betriebssystemen bietet Ausserdem wird ein Editor f r die Policies mit integriertem Compiler suppor
145. garten 2006 C M ller Schloer C von der Malsburg and R W rt Organic Computing Informatik Spektrum 27 4 332 336 2004 Wikipedia Wikipedia Die freie Enzyklop die Unter http de wikipedia org wiki Wissensbasiertes_ System lZugriff 25 02 08 Wikipedia Wikipedia Die freie Enzyklop die Unter http de wikipedia org wiki Regelbasiertes_ System Zugriff 25 02 08 Wikipedia Wikipedia Die freie Enzyklop die Unter http de wikipedia org wiki Expertensystem Zugriff 25 02 08 Wikipedia Wikipedia Die freie Enzyklop die Unter http en wikipedia org wiki Rete_ algorithm Zugriff 25 02 08 Wikipedia Wikipedia Die freie Enzyklop die Unter http de wikipedia org wiki Business Rule Enginehttp Zugriff 25 02 08 Wikipedia Wikipedia Die freie Enzyklop die Unter http de wikipedia org wiki LISP Zugriff 25 02 08 Wikipedia Wikipedia Die freie Enzyklop die Unter http en wikipedia org wiki Drools Zugriff 25 02 08 Anhang A 44 B Turki Hatam K i d Select pony Ex If specified by Abbildung 7 Vorw rtsverkettung 9 Datengetriebene Infernz Eingabe Eine Wissenbasis RB Objekte und Regeln Eine Menge F von Fakten Ausgabe Die Menge der Fakten 1 Sei F die Menge der gegebenen evidentiellen Fakten 2 f r jede Regek if Athen B der Regelbasis RB berpr fe ist A erf llt so schlie auf B F Fu B 3 Wiederhole Schritt 2 bis F n
146. geben Die Umgebung in der sich die Agenten bewegen bedarf keiner besondern Logik Einsatzgebiete sind laut 6 z B das Load Balancing in einem Netzwerk 4 2 Digitaler Pheromonpfad Laut 3 wird der Algorithmus verwendet voneinander unabh ngige Agenten dezentral zu koordinieren um ein gemeinsames Ziel zu erreichen Es werden nur lokale Informationen verwendet um dieses globale Ziel zu erreichen Das Vorbild f r diesen Algorithmus kommt aus der Natur Es wird beispiels weise das Verhalten von Ameisenkolonien auf ihrer Suche nach Nahrung nach gebildet Im Gegensatz zu den Gradientenfeldern aus Kapitel 3 bernehmen hier die Agenten die Koordination um zum Ziel zu gelangen Die Kommunika tion erfolgt jedoch nicht direkt wie bei CRL siehe Abschnitt 4 1 sondern die Umgebung muss eine indirekte Kommunikation erm glichen Diese Kommuni kationsform wird in der englischsprachigen Literatur als Stigmergy bezeichnet Stigmergy bedeutet dass die Agenten miteinander kommunizieren indem sie ihre momentane lokale Umgebung beeinflussen bzw ver ndern 3 Bei den Ameisen erfolgt diese indirekte Kommunikation mittels Pheromo nen Sobald eine Ameise Nahrung gefunden hat begibt sie sich damit zur ck zum Nest und hinterl sst auf ihrem Weg in bestimmten Abst nden Duftstoffe die anzeigen dass eine Nahrungsquelle gefunden wurde Diese Pheromone ver fl chtigen sich mit der Zeit Andere Ameisen k nnen die St rke und den Verlauf der Pheromone
147. gefunden dass das relativ oft vorkommen kann 3 3 4 TCP s Nagle Algorithmus Zwei Hosts Rechner die die Daten ber TCP tauschen k nnen das schlechte Zusammenspiel zwischen dem TCP Na gle Algorithmus von der Absenderseite und dem Delayed Acknowledgment Al gorithmus von der Empf ngerseite erfahren Diese Wechselwirkung reizt vom traditionellen Design vom Netzwerkstack Das Problem ist aber nicht nur rein akademisch die Benutzer sto en sehr oft darauf besonders wenn sie ber die Netzwerke kommunizieren deren maximale Paketengr e gr er als Ethernet gr e ist Emergentes Fehlverhalten 139 3 4 Bereich der verteilten und Betriebssystemen 3 4 1 Falschkonfigurirter Load Balancer Abbildung 2 zeigt uns die Stuk tur von einer einfachen Multi Tiered verteilten Apllikation mit vielen ber In ternet verteilten Klienten Front End Server einem Load Balancer zwei Appli kationservern und zwei Datenbankservern Die ganze Apllikation sammelt peri odische Messreports von den Klienten macht die Bearbeitung auf den Applika tionservern und danach speichert die Reports in dem replizierten Dantenbank Internet with lots of clients Load Balancer App Server 1 App Server 2 DB server 1 DB server 2 Abbildung 2 Beispiel von multi tiered verteiltem System Quelle Mogul 17 Der Load Balancer in dem System hat zwei Aufgaben er verteilt gleichm ig den Arbeitslast zwischen verf gbare
148. genstandsbereich der gegenw rtigen Wissenschaftstheorie 7 116 M Burkhard Fiir die weitere Untersuchung von autonomen dezentralen Systemen liegt der Fokus auf den Multi Agenten Systemen die ber eigene Entwicklungsmethodo logien verfiigen 3 2 Entwicklungsmethodologien Eine Entwicklungsmethodologie besteht iiblicherweise aus einem Software Ent wicklungsprozess und einer Modellierungssprache Der Entwicklungsprozess legt unter anderem das Vorgehensmodell die Prozess Phasen sowie den auszuf hren den Aktivit ten fest Beispiele f r Vorgehensmodelle sind das Wasserfallmodell V Modell Spiralmodell und der Rational Unified Process Mithilfe der Model lierungssprache werden die Modelle auf Basis einer grafischen Notation Syntax erstellt 15 Bevor ein Softwarearchitekt mit der Analyse Design und Implementierung beginnen kann muss er sich eine bersicht verschaffen welche Technologien verf gbar sind und mit welchen Vorgehensweisen Architekturen Sprachen und Werkzeugen er sein Ziel erreichen kann Im Falle der Multi Agenten Systeme existieren bereits eine Reihe von Metho dologien und Konzepte auf die bei der Entwicklung von autonomen dezentralen Systemen zur ckgegriffen werden k nnen Tabelle 1 bietet eine bersicht ber die bekanntesten Entwicklungsmethodo logien die in folgende drei Kategorien eingeordnet wurden Knowledge Engineering der Schwerpunkt liegt auf der Identifikation Erfas sung und Modellierung
149. gt daf r dass bei der Zuteilung immer ein globales Optimum erreicht wird Im Falle der Navigation wird nach einer L sung gesucht welche den Last wagen erm glicht sich auf den Stra en zu orientieren Geeignete Kandidaten f r r umliche Koordination sind die Digital Pheromone Paths oder das Gradient Fields Pattern Um eine Auswahl treffen zu k nnen m ssen beide Patterns im Detail untersucht und verglichen werden Digital Pheromone Paths erweisen sich f r die Problemstellung als weniger geeignet da die Lastwagen dann aktiv nach den Abholadressen Lieferadressen und den Angeboten suchen m ssten Stattdessen k nnen sich die Lastwagen auf den Stra en mithilfe der Gradient Fields orientieren Insgesamt kommen drei verschiedene Arten von Gradient Fields zum Einsatz Pickup Location Gradients jede Abholadresse emittiert einen Gradienten um auf die Anwesenheit eines neuen Auftrags aufmerksam zu machen Erh lt ein Lastwagen den Auftrag muss er lediglich dem Gradienten folgen 5 Die Auftrags Systeme sind autonome dezentrale Systeme welche die eingehenden Auftr ge repr sentieren 126 M Burkhard Delivery Location Gradients jede Liederadresse emittiert einen Gradien ten sobald ein Lastwagen einen neuen Auftrag erhalt Um die Liederadresse zu erreichen folgt der Lastwagen diesem Gradienten Market Communication Gradients erm glichen die direkte Verst ndigung und Verhandlung zwischen den Lastwagen und den Auftr gen Dabei wer
150. h Antibiotika eingesetzt 8 Abk rzung f r C Language Integrated Production System CLIPS wurde 1984 am Johnson Space Center der NASA entwickelt und wurde 1986 ffentlich zug nglich 8 Rules im Org Comp 33 3 5 1 Bestandteile eines Rule Engines Auf dem Markt gibt es verschiede ne Rule Engine Implementierungen Der Unterschiede liegen z B in den Strate Sien oder in den Algorithmen zur Konfliktl sung Dennoch hneln sich fast alle Produkte in ihrer Prinzipiellen Funktionsweise und verwenden fast die gleichen oder hnlichen Begriffe zur Bezeichnung der jeweiligen Bestandteile Regeln und Regelbasis Wie im Abschnitt 3 1 erl utert wurde stellen Regeln eine Wenn dann Aussage dar Sobald das erste Teil Pr misse oder die Bedin gung einer Regel erf hlt wird das zweite Teil die Konsequenz oder die Aktion der Regel ausgef hrt Als Beispiel f r Regel aus der Praxis Wenn der Gesamtpreis der Bestellung gr er als 200 Euro ist dann gew hre dem Kunden 15 Rabatt Alle Regeln des Systems werden in die Regelbasis rule base enthalten und die Definition der Regeln erfolgt mit Hilfe einer Regelsprache Fakten stellen die Datengrundlage f r die Rule Engine dar Fakten werden zur Erstellung der Pr misse einer Regel verwendet D h die Pr missen sind jeweils Abfragen auf einen einzelnen Fakt In obigem Beispiel stellt der Gesamtpreis den Fakt dar auf dessen Grundlage die Pr misse Ist der Gesamtpreis gr er als 200 Euro
151. h leer ist Transition t3 kann nur dann schalten wenn in beiden Stellen s1 und s2 mindestens eine Marke liegt Wenn t3 schaltet entfernt sie je eine Marke aus den Stellen s1 und s2 und legt eine Marke in ihren Nachbereich im Bild mit drei Punkten angedeutet Der Ablauf mit Transition t3 kann also dann ausgef hrt werden wenn beide nebenl ufige Prozesse t1 s1 und t2 s2 mindestens einmal geschaltet haben XOR Join Beide Transitionen t1 und t2 in der Abb 15 k nnen schalten t3 aber nicht Schaltet t1 oder t2 liegt eine Marke in s1 Transition t3 ist dann akti viert und k nnte schalten Es ist also nicht erforderlich dass t1 und t2 schalten damit der Ablauf ab t3 fortgesetzt wird 76 N Klimov t1 t1 z gt S Abbildung 15 Petrinetz XOR Abbildung 14 Petrinetz XOR Join Split bzw Alternative s1 t3 3 7 Business Process Modeling Notation Business Process Modeling Notation BPMN stellt eine Notation zur Verf gung die leicht verst ndlich f r alle Gesch ftspartner ist Die Wirt schaftsanalysten k nnen damit ihre Anfangsentw rfe f r Prozesse erstel len Die Entwickler sind verantwortlich f r die Implementierung mithilfe der Technnologien welche diese Prozesse ausf hren werden Schlie lich berwachen und verwalten die Gesch ftsleute die Prozesse Die BPMN schafft somit einen Standard wie f r das Design von Gesch ftsprozessen so auch f r die Prozessimplementierung 4 Seite 1 Ein Business Process
152. he XML mit eingebettetem Java Code in eine gute Kombination 23 Als relativ junges Projekt wird es zum gr ten Teil von Entwicklern zum Einsatz in eigenen Java Projekten bzw zur Evaluierung der M glichkeiten genutzt Diese Entwickler sind sehr vertraut mit Java das dar ber hinaus auch den kompletten Sprachumfang zur Formulierung von Be dingungen und Aktionen bereit stellt F r XML gelten dabei hnliche Argumen te Die Vorteile auf Seiten der Entwickler liegen ebenfalls auf der Hand Sowohl die Interpretation von Java Code als auch der Umgang mit XML Dateien kann ber fertige Komponenten abgewickelt werden Damit entf llt die Entwicklung eigener Komponenten zur Erfassung und Verarbeitung der Regeln 4 2 1 Drools Design Die Grundstruktur eines DRL Dokuments ist folgende das Wurzelelement hei t rule set und muss ein Attribut name besitzen kann aber auch ein Attribut description haben das Wurzelelement kann beliebig viele rule Subelemente besitzen die wie derum ebenfalls ein Attribut name besitzen m ssen der Wert des name Attributs muss im ganzen Dokument eindeutig sein ein rule Element kann beliebig viele Parameter Subelemente besitzen wobei ein Parameter Element ein Attribut identifier haben muss Der Inhalt eines Parameter Elements ist in der Regel ein class Subelement dessen Inhalt der qualifizierte Klassenname des Parametertyps angibt ein rule Element kann beliebig viele condition Subelemente Bedingungen h
153. hen K rper gibt es Antik rper und einen Thymus der Antik rper mittels Negativselektion der Bitmuster der Nachrichten ausw hlt brig bleiben damit nur Antik rper die auf b sartige Muster hin deuten und zu deren Detektion dienen Umgebungs bewusstsein und vorrauschauendes Handeln ist Hauptaufgabe der Applikation die dann mit OCy realisiert wird Die Middleware bildet nur einen Vermittler 3 6 3 Bewertung Die im Rahmen dieses Projektes generierte Middleware wird momentan auch in dem Smart door plate project 24 an der Universit t Augsburg eingesetzt In Phase II des Projektes soll die Selbst Konfiguration verbessert werden In diesem Bereich m chte man auch mit dem Project SAVE ORCA 3 3 zusammenarbeiten und die Selbst Konfiguration formal verifizieren Die Fehlererkennung soll nicht nur weiter verbessert werden sondern dar ber hinaus soll eine Fehlerwiederherstellung eingef hrt werden die sich an psycholo 160 M Buthut gischen und soziologischen Prinzipien orientiert Durch einen dezentralen Thy mus m chte man auch den Selbstschutz perfektionieren und komplettieren 3 7 Energy Aware Self Organized Communication in Complex Networks Das Projekt der Universit t Rostock besch ftigt sich mit der Erforschung der Regeln und des Verhaltens mit denen es die Natur schafft aus diesen einfachen Mustern komplexe Systeme bzw Netzwerke zu steuern 3 7 1 Hintergrund und Ziele Der Fokus wird hierbei auf komplexe Netz werkstrukturen g
154. hnen nur wenige hnlichkeiten Die Haupt hnlichkeit ist dass Emergenz und Selbst Organisation beide dynamische Prozesse sind Die beide sind auch robust Jedoch die Robustheit der Emergenz bezieht sich auf die Flexibilit t in bestimmten Tei len die emergente Eigenschaften verursachen So ein Ausfall des einzigen Teiles f hrt nicht zum Systembruch Die Robustheit der Selbst Organisation bezieht sich auf die Anpa barkeit und die M glichkeit den gesteigerten Zustand zu un terst tzen Zu wenig hnlichkeiten schlie t allerdings nicht aus dass die beiden Konzepte verwandt sind Sie erg nzen einander wenn sie kombiniert werden 134 A Ostroverkhov SYSTEM SYSTEM SYSTEM i 4 i a MICRO LEVEL MICRO LEVEL b c Abbildung 1 a Selbst Organisation ohne Emergenz b Emergenz ohne Selbst Organisation c Emergenz mit Selbst Organisation Quelle De Wolf Holvoet 3 2 3 2 Unterschiede Oben wurde es gezeigt dass Emergenz und Selbst Orga nisation unterschiedliche Eigenschaften von einem System betonen Die beiden Konzepte k nnen in Isolation existieren Erstmal betrachten wir Selbst Organi sation ohne Emergenz danach Emergenz ohne Selbst Organisation Die Abbil dung 1 a illustriert schematisch ein System mit Selbst Organisation aber ohne Mikro Makro Effekt Es gibt keine externe Kontrolle vom System Die gekr mm ten Pfeilen repr sentieren das interne Organisationsprozess Die Eigenschaften die f r Emergenz spezifi
155. hrt 1 Emergenz ist generell als ein Prozess verstanden Vergleich Abschnitt2 Rules im Org Comp 25 2 Lokales und globales Verhalten Selbstorganisierende Systeme bilden eine geschlossene geordnete Organisation um eine Funktion zu erf llen Daraus resultieren emergente Eigenschaften Emer genz ist generell als ein Prozess verstanden welcher zur Entstehung einer Struk tur f hrt die nicht direkt von den existierenden Bedingungen und den momenta nen Kr ften die eine System kontrollieren beschrieben werden kann 14 Emer genz und selbstorganisierendes System sind sehr Nah verbunden und Emergenz ist ein wichtiger Aspekt der Selbstorganisation und zeigt wie die Beobachtung das lokale Handeln der Individuen eines sich selbst organisierenden Systems ein globales beobachtbares Verhalten ergeben kann Von Emergenz redet man immer dann wenn ein System die folgenden Eigenschaften hat gem der Definition in der Zeitschrift Emergence 11 Das globale Verhalten ist von anderer Art als das der einzelnen Komponenten insbesondere keine lineare Kombination der Einzelhandlungen Die Entfernung einzelner Komponenten f hrt nicht zu einem Ausfall des gesamten Systems Das globale Verhalten ist v llig neuartig im Vergleich mit den vorhande nen Komponenten d h das emergente Verhalten scheint unvorhersehbar und nicht ableitbar von den einzelnen Komponenten des Systems zu sein und es kann auch nicht auf diese reduziert wer
156. ht einer gro en Vielfalt von Verhalten zu erreichen Foukia und Hassas 9 formulieren das im Bezug auf ein Gleichgewicht zwischen der Erforschung und Ausnutzung Ein System kann Chaos aufweisen z B das Betrachten einer gro en Vielfalt von Verhalten und auch st ndige Umschaltung zwischen ihnen das aus den Wech selwirkungen zwischen den Mikroniveauteilen emergierte So ein System ist aber nicht selbstorganisierend weil es sich nicht organisiert um eine Sonderfunktion zu f rdern 2 4 Emergentes Verhalten und emergentes Fehlverhalten Das Begriff emergentes Verhalten ist sehr leicht vom Begriff Emergenz nach zuvollziehen Genau wie Emergenz kann emergentes Fehlverhalten durch die Analyze von den Niveaus die einfacher als das System im ganzen sind nicht vorhersagen werden Wenn die einzelnen Teile vom System ein anderes Verhalten als das System im ganzen haben und das Verhalten vom System ist nicht die Summe von den Verhalten der Teilen so spricht man ber emergentes Verhalten Das Konzept emergentes Fehlverhalten im Gegenteil ist komplexer und kann sowohl zu breit als auch zu eng verwendet werden Um zu verstehen was man als emergentes Fehlverhalten nennen soll brauchen wir einige Tests durchzuf hren Wenn wir aus der Definition von emergentem Verhalten oben ausgehen k nnen wir sehr leicht bestimmte F lle von Fehlverhalten definieren die sicher lich nicht emergent sind Bugs von Einzelnkomponenten die das ganz
157. htigung bzw das Verschwinden sollten sich die Pheromon Objekte selbst k mmern Einsatzgebiete sind z B laut 3 Das Problem des Handlungsreisenden Der Indizierungsalgorithums von Google Eigenschaften dezentraler Koordinationsmechanismen 101 Mobiles Ad Hoc Netzwerkmanagment Die Kontrolle und Koordination von Schw rmen unbemannter milit rischer Fahrzeuge zu Luft und oder zu Land Den Unterschied zwischen den Verfahren Digitaler Pheromonpfad und Gra dientenfeldern verdeutlicht Abbildung 3 WERT path a AGI A Je ENT gene RRI Ys Phth pogsible ible with phe om Weg So Abbildung 3 Gradientenfelder und Digitaler Pheromonpfade aus 3 Uber die Gradientenfelder wiirde der Agent den kiirzesten Weg zur Quelle finden dies ist beim Ameisenalgorithmus nicht zwingend der Fall Bei diesem Beispiel ist jedoch zu erkennen dass der Agent der auf die Verlaufsfelder reagiert nicht zu seinem Ziel kommen kann da ihn eine Mauer behindert Ein Agent der den Digitalen Pheromonpfad Algorithmus verwendet wiirde das Ziel irgendwann erreichen und auf dem Riickweg eine Pheromon Spur zum Ziel legen Dadurch k nnen nun andere Agenten diesem Pfad folgen und ihr Ziel erreichen Ein bedeutender Unterschied der beiden Verfahren ist dass bei Gradienten feldern die Umgebung den roten Teppich zur Verf gung stellt die Koordination umgebungsgesteuert abl uft Beim Digitalen Pheromonpfad m ssen die Age
158. i auch ein Verfahren des maschinellen Lernens XCS 6 Aufzugsteuerungen dienten neben dem H hnerschwarm zus tzlich als Te stumgebung So wurden mit der geschaffenen SuOC System under observation and control Architektur 50 Durchl ufe in einem Geb ude mit zehn Stockwerken und vier Aufz gen untersucht und optimiert Ein Durchlauf hatte dabei 10 000 Zeiteinheiten Das Ganze wurde wie auch schon die H hner Agentenbasiert im plementiert F r die Kontrolle der Aufz ge bildeten sich folgende zwei adequate Strategien heraus 6 singleCarBlind W hle den Lift mit gr tem Abstand gegen ber dem Ziel zum n chst m glichen Dieser Lift reagiert nicht mehr auf Erdgeschoss Rufe Der ausgew hlte Lift wird beschleunigt nextCallHide W hle den Lift mit gr erem Abstand zum Ziel zu n chst m glichen Liften Alle Lifte reagieren nicht auf den n chsten Erdgeschoss Ruf Alle ausgew hlten Lifte werden beschleunigt Es zeigte sich dass die singleCarBlind Strategie in allen durchgef hrten Tests den besten Kompromiss darstellte und sich die durchschnittliche Wartezeit damit um fast 35 verk rzen lie 6 4 2 3 Ausblick und Bewertung Mit Abschluss der Phase I steht eine Ob server Controller Architektur zur Verf gung in die bereits maschinelles Lernen integriert wurde Durch experimentelle Ermittlung wurden die Auswirkungen und das Verhalten von Emergenz ermittelt In den einfacheren beispielhaften 166 M
159. ic Computing Phase I 157 3 5 Self organized and self regulation coordination of large swarm of self navigating autonomous vehicles as occuring in highway traffic AutoNomos In diesem Projekt besch ftigt man sich mit einem verteilten und selbstregulieren den Ansatz zur Selbstorganisation von gro en Systemen mit mobilen Objekten Ein passendes Anwendungsszenario ist dabei der Stra enverkehr Im Moment wird die Verkehssituation durch Induktionsschleifen im Stra enbelag erfasst und an eine zentrale Verkehrsleitstelle propagiert Von dort aus werden aus den Daten wichtige Informationen wie Stausituation generiert und an die Verkehrsteilneh mer weitergeleitet Die Weiterleitung funktioniert dabei im Moment entweder per Ferkehrsfunk bzw TMC oder GSM bzw GPRS Basierend auf Methoden f r mobile ad hoc Netzwerke und Ideen aus dem Bereich verteilter Algorithmen soll die Erkennung optimiert werden und Vorhersagen ber den Verkehrfluss m glich sein 3 5 1 Hintergrund und Ziele Die Herausforderung die sich dabei stellen sind nicht nur monet rer sondern auch politischer Natur Zu kl ren gilt es wer f r die Montage und Instandhaltung der Sensoren aufkommt und wer die gewonnen Informationen verwaltet Dabei muss nat rlich beachtet werden dass nicht berall Sensoren installiert werden k nnen Gewonnene Informationen sol len dabei eine Korrektheit von min 70 gew hrleisten k nnen Eine g nstige Gelegenheit bietet dabei die fortschreit
160. icht mehr vergr ert wirden kann Abbildung 8 Algorithmus zur datengetriebenen Inferenz 4 Rules im Org Comp 45 Examine working memory and goals to see if goals are known true in knowledge base Recursively back chain Each condition of fired rule is a goal Ze No retum false to recursive procedure For each rule condition recursively backchain with condition as goal rules to fire by checking conclusions and goals e vn One or more goals failed Check next matching rule Abbildung 9 R ckw rtsverkettung 9 46 B Turki Hatam Zielorientierte Infernz Eingabe Eine Wissensbasis RB Objekte und Regeln Eine Menge F von Fakten eine Liste von Zelen atomaren Anfragen gq1 qn Ausgabe yes falls alle gi ableitbar sind sonst no BACKCHAIN q1 oul BACKCHAIN j qn if n 0 then returen yes if qleF then BACKCHAIN q2 qn else for each Regel p1x pm aus RB mit ql q2 do if BACKCHAIN p1 pm q2 qn yes then return yes endfor endif return no Abbildung 10 Algorithmus zur zielorientierten Inferenz 4 Policies im Organic Computing Andreas Meixner Universitat Augsburg andreasmeixner gmx de Zusammenfassung Der Konfigurations und Managementaufwand mo derner IT Systeme nimmt st ndig zu Um in Zukunft noch leistungsfahi gere und komplexere Systeme zu erm glichen
161. ie Instanz erfolgt kontrolliert 2 Die Anzahl der erstellbaren Instanzen ist festlegbar 3 Durch Vererbung ist Erweiterung um Attribute und Methoden m glich Facade Structural Pattern Intent 1 Stellt eine einfache standardisierte Schnittstelle zu einem Subsystem dar 2 Erm glicht ber die Schnittstelle den Zugriff auf die Funktionalit t des Subsystems Motivation 1 Starke Kopplung zwischen Clients und Subsystem 2 Direkte Aufrufe sind aufwendig oder fehleranf llig Applicability 1 Eine vereinfachte Sicht soll auf ein komplexes Subsystem zur Verfiigung gestellt werden 2 Viele Abh ngigkeiten bestehen zwischen Client Klassen und den Subsystem Klassen Structure Design Patterns fiir autonome dezentrale Systeme 113 14 Participants 1 Facade Kennt die Subsystem Klassen und leitet Anfragen an sie weiter 2 Subsystem Klassen Implementieren die Funktionalit t kennen aber die Facade nicht 3 Client Klassen greifen ber die Facade auf das Subsystem zu Consequences 1 Entkoppelt die Client Klassen vom Subsystem 2 Clients und Subsystem k nnen unabh ngig voneinander implementiert wer den 3 Zus tzlicher Overhead bei einfachem Subsystem Die allgemein beschriebenen Patterns der Gang of Four k nnen nicht alle Pro blemf lle abdecken Aus diesem Grund w hlt ein Softwarearchitekt zun chst die Patterns welche die aktuelle Problemsituation am besten beschreiben und passt die Patterns ent
162. ie aktuelle Systemum gebung anpassen 2 Policies in OC Systemen 2 1 Was versteht man unter OC Das Organic Computing oder auch Bio Inspired Computing versucht Prinzipi en aus der Natur auf Computer zu bertragen Dabei geht es nicht darum die natur so detailgetreu wie m glich zu kopieren sondern Mechanismen zu ver stehen und auf die Anwendung in der IT zu bertragen und anzupassen Das wohl bekannteste Beispiel uns dem OC sind die Ameisenalgorithmen die es er lauben f r das NP harte Traveling Salesman Problem in extrem kurzer Zeit eine nahezu optimale L sung zu errechnen OC umfasst unter anderem die Be reiche Computerimmunologie Schwarmverhalten Genetische Algorithmen und auch das von IBM propagierte Autonomic Computing AC ist eine Teilmenge des OC AC hat sich zum Ziel gesetzt dass sich IBM Server in Zukunft nahezu vollkommen selbstst ndig verwalten Zu diesem Zweck m ssen sie die sogenann ten Self X Eigenschaften umsetzten Zu ihnen z hlen Self Configuration Self Healing Self Optimization und Self Protection Zus tzlich m ssen diese Server Umgebungsbewusstsein Contextawareness aufweisen da sie sich eben genau auf ihre Umgebung selbstst ndig einstellen sollen 2 2 Aufbau eines OC Systems Die grundlegende Architektur eines OC Systems besteht aus drei Teilen System Das zu managende System Observer Beobachtet das System und seine Umgebung Controller Erh lt vom Observer Informationen ber den System
163. ie meist verbreiteten Quellen f r diese Inspiration 2 2 Emergenz Typisch wird Emergenz als ein Ph nomen beschrieben bei dem das globale Verhalten von den gegenseitigen Einwirkungen der lokalen Teilen des Systems entsteht Um die Idee von Emergenz zu illustrieren pr sentieren wir zuerst einige Beispiele von Systemen wo dieses Ph nomen zu finden ist Das erste Beispiel stammt aus dem Naturbereich und bezieht sich auf die Ameisen Diese Ameisen haben die Rolle in der sie die Umgebung untersuchen und Futter suchen Wenn sie Futter finden gehen sie zur ck zum Ameisenhaufen und markieren den Weg mit Pheromonen Der k rzeste Pfad ist die Struktur die aus der gemeinsamen Aktivit t von Ameisen emergiert Dieser Pfad ist die Realit t nur f r den Beobachter des Systems die Ameisen sehen den nicht Die Erscheinung von Gewissen ist ein Beispiel der Emergenz f r Menschen Das Gewissen wird vom Searle 21 als eine Eigenschaft des Gehirnes auf dem h heren Niveau betrachtet Biologisch gesehen ist das Gehirn ein komplexes System das aus Neuronen und der Kommunikation zwischen ihr besteht Diese Emergentes Fehlverhalten 133 Neuronen sind das niedrigste Niveau Zur Zeit k nnen wir das Gewissen nicht verstehen oder erkl ren wenn wir nur die Neuronen und ihrer Zusammenspiel betrachten Das Ergebnis von Emergenz wird oft als Ph nomen genannt und kann ei ne Struktur bzw Framework wie B nard Zelle Verhalten wie Segelflugzeug im Conways
164. ieren gesteuert Ein selbstsch tzendes System ist in der Lage das Eindringen von Fremden zu bemerken und selbstst ndig dagegen vorzuge hen um den Schaden jeglicher Attacken so gering wie m glich zu halten Ein Vorteil ist es dass es sich hierbei um einen Prozess handelt der durchg ngig stattfindet und somit den Administratoren viel Zeit einspart Au erdem ist es auch zuverl ssiger und billiger als das berwachen des Systems durch den Menschen Selbstheilend Diese Systeme k nnen Fehlerzust nde von einzelnen Kom ponenten selbst entdecken und diese auch wieder beheben ohne dass bei der weiteren Verwendung von Grundfunktionalit ten auf anderen Teilen des Systems in irgendeiner Form Einschr nkungen entstehen Somit wird die IT Umgebung als Ganzes robuster da keinerlei Bezug zwischen den ver schiedenen Komponenten vorhanden ist 6 4 C Stempfle 2 3 Weg zum vollst ndig autonomen System Es scheint unm glich alle diese Ziele auf einmal erreichen zu k nnen Deshalb hielt IBM eine schrittweise Entwicklung dieses komplexen Selbstmanagement prozesses als angebracht Unter Selbstmanagement versteht man in diesem Zu sammenhang die Selbstverwaltung eines Systems welche ohne menschliches Ein greifen funktioniert 21 IBM unterteilte deshalb die Leistungsf higkeit eines autonomen Systems in f nf Klassen 1 Die Klasse Basic Zu dieser Klasse geh ren heute immer noch die meisten Systeme Sie weisen keinerlei Dynamik
165. igt Michael Boegler in seiner Arbeit verschiedene dezen trale Mechanismen auf welche diese Koordination erm glichen und unterst tzen Anschlie end befasst sich Martin Burkhard mit verschiedenen Design Patterns f r autonome dezentrale Systeme Andrey Ostroverkhov hingegen befasst sich in seiner Arbeit mit den Vor und Nachteilen dieser selbst organisierenden emergenten OC Systeme insbesondere mit dem Auffinden und der Kontrolle von ungewolltem emergenten Fehlver halten darin Den letzten Beitrag zu diesem Band liefert abschlie end Michael Buthut indem er neun ausgew hlte Forschungsprojekte der Phase I des Schwer punktprogramms Organic Computing SPP 1183 genauer betrachtet und damit einen Einblick in die aktuelle Forschung in diesem Gebiet bietet Die in diesem Seminarband enthaltenen Arbeiten spiegeln nat rlich nur einen Teil aller im Organic Computing vorhandenen und eingesetzten Techniken wie der Aufgrund des Einfluss verschiedener Forschungsgebiete auf OC gibt es eine weitaus gr ere Vielfalt bekannter Techniken welche sich in der ein oder ande ren Form immer wiederfinden lassen Eine spannende Frage f r die Zukunft des Organic Computing bleibt jedoch ob sich alle diese Konzepte und Techniken so zusammenbringen lassen dass es eines Tages gelingen wird vertrauensw rdige vom Nutzer akzeptierte OC Systeme zu entwicklen zu betreiben zu warten und zu recyceln Februar 2008 Die Editoren Inhaltsverzeichnis Einf hrung
166. ild der Gradientenfelder Methode stammt aus der Physik Wie in Abbildung 1 zu sehen ist gibt es eine Quelle von der aus sich kreisf rmig das Gradientenfeld ausbreitet Diese Quelle kann z B mit einem Magneten verglichen werden wobei die Kreise dem Magnetfeld um die Quelle entsprechen Die Agenten werden entweder vom Magneten angezogen und be wegen sich zur Quelle hin oder werden abgesto en und bewegen sich von der Quelle weg Da das Verlaufsfeld von der Umgebung initiiert wird handelt es sich hier um eine umgebungsgesteuerte dezentrale Koordination Die Feldst rken k nnen je nach Implementierung von der Quelle aus gesehen zu oder abnehmen Die implementierte Umgebung ist hierbei f r die Ausbreitung der Wellen verant wortlich Die einzelnen Verlaufsfelder enthalten die jeweilige St rke des Feldes im aktuellen Gradienten Der n chste Gradient hat dann je nachdem ob ansteigen de oder abfallende Werte gew nscht sind eine h here oder niedrigere Intensit t Die Erh hung oder Verringerung erfolgt an den einzelnen Gradienten Objekten die weiter von der Quelle entfernt auf dem n chsten Gradienten liegen Dadurch wird ein konstantes abfallendes oder ansteigendes Verlaufsfeld erzeugt Die Agenten berwachen ihre Umgebung erkennen dadurch wo sich die Quel le befindet und entscheiden daraufhin selbstst ndig wohin sie sich als n chstes Eigenschaften dezentraler Koordinationsmechanismen 95 initiator of gradient Abbil
167. in G Di Marzo Serugendo A Karageorgos O F Rana and F Zambonellini Eds proceeding of AAMAS 2003 Workshop on Engineering Self Organizing Applications 15 July 2003 Melbourne Australia pp 77 83 To appear A Fox Personal communication 2005 P Glansdorff and I Prigogine Thermodynamic Theory of Structure Stability and Fluctuations Wiley and Sons London 1971 S D Gribble Robustness in complex systems In HOTOS 01 Proceedings of the Eighth Workshop on Hot Topics in Operating Systems page 21 Washington DC USA 2001 IEEE Computer Society K Herrmann G Miihl and K Geihs Self management The solution to comple xity or just another problem IEEE Distributed Systems Online 6 1 2005 J H Holland Emergence From Chaos to Order Oxford Univ Press October 1998 B A Huberman and T Hogg The behavior of computational ecologies In B A Huberman editor The Ecology of Computation pages 77 115 North Holland Amsterdam 1988 Emergentes Fehlverhalten 147 16 Z M Mao R Govindan G Varghese and R H Katz Route flap damping ex 17 18 19 20 21 22 23 24 acerbates internet routing convergence In SIGCOMM 02 Proceedings of the 2002 conference on Applications technologies architectures and protocols for computer communications pages 221 233 New York NY USA 2002 ACM J C Mogul Emergent Mis behavior vs Complex Software Systems EuroSys 2006 H Parunak and R Vand
168. ist sich selbst zu organisieren also ohne Fremdeinwirkung und Einwirkung von Au en 3 2 1 Definition Aber was ist Selbstorganisation eigentlich genau F r die einen ist es ein Begriff der aus der Systemtheorie stammt der eine Form der Systementwicklung bezeichnet bei der die formgebenden gestaltenden und be schr nkenden Einfl sse von den Elementen des sich organisierenden Systems selbst ausgehen 20 Selbstorganisation ist aber mittlerweile auch in anderen Dom nen zu einem wichtigen Schlagwort geworden sei es in den Naturwissen schaften der Physik Biologie und Chemie oder auch in sozialen und kono mischen Systemen Eine andere m gliche Definition betont die Abwesenheit von u eren Kontroll und Manipulationsmechanismen die dazu f hrt dass Systeme die sich in einem unausgewogenen Zustand befinden Strukturen und M glich keiten zu finden dies zu regulieren 13 Eine weitere sehr genaue Definition findet man auch im Web Hier wird der Me chanismus der Selbstorganisation genauer beschrieben in dem die Komponenten eines Systems untereinander kommunizieren worauf die Umgebung keinen Ein fluss hat 7 3 2 2 Eigenschaften Trotz der verschiedenen Sichtweisen in Bezug auf die Definition eines selbstorganisierenden Systems sind Systemen dieser Art fast immer vier Merkmale eigen 1 Komplexit t Diese wird erreicht wenn Komponenten innerhalb eines Sys tems miteinander in Beziehung stehen diese Beziehung sich a
169. istoph von der Malsburg Rolf P W rtz Organic computing Informatik Spektrum 27 4 2 6 August 2004 2 Christian M ller Schloer Hartmut Schmeck J rgen Branke J rg H hner Organic traffic control 5th spp1183 colloquium at university of l beck http www aifb uni karlsruhe de Forschungsgruppen EffAlg projekte oc inhalte inhalte FilesColloquiumLuebeck FilesColloquiumLuebeck 21 pdf September 2007 168 w 12 13 14 15 16 17 18 M Buthut M Dynia A Kumlehn J Kutylowski F Meyer auf der Heide and C Schindel hauer Smarts simulator design manual jan 2006 F Heylighen and C Gershenson The meaning of self organization in computing http pespmc1 vub ac be Papers IEEE Self organization pdf Juni 2003 Fekete Sandor P Schmidt Christiane Wegener Axel and Fischer Stefan Ho vering data clouds for recognizing traffic jams 2nd International Symposium on Leveraging Applications of Formal Methods Verification and Validation 2006 Hartmut Schmeck Christian M ller Schloer J rgen Branke J rg H hner Quantitative emergence metrics observation and control tools for complex organic ensembles 5th spp1183 colloquium at university of l beck http www aifb uni karlsruhe de Forschungsgruppen EffAlg projekte oc inhalte inhalte FilesColloquiumLuebeck FilesColloquiumLuebeck 20 pdf September 2007 Hartmut Schmeck Christian M ller Schloer J rgen Branke J rg H hner Quanti
170. istration Layer ist mit der Ponder Compiler Framework ist bereits ein anwendbares Produkt zu haben Nachholbedarf gibt es fiir die abstrakteren Ebenen des Policy Kontinuum Business Layer Es gibt zwar wie die Entwicklung von SVBR zeigt auch hier Bem hungen aber in den Meisten Arbeiten wird der Schritt vom Business Layer zu Domain Layer mehr oder weniger mit nur einem Nebensatz abgehandelt Ein lohnender Ansatz w re vermutlich die berpr fung von bestehenden Mitteln dieser Ebenen ARIS etc auf ihre Anwendbarkeit im Bereich Policy Base Ma nagement Ein weiteres noch eher unbeachtetes Thema sind die Einsatzgebiete f r PBM Wie man vor allem an den gew hlten Beispielen auch in dieser Arbeit sehen kann steht ganz klar das Management von Netzwerken im Rampenlicht Dies ist verst ndlich da PBM besonders f r verteilte Systeme in denen das Netzwerk eine zentrale Rolle spielt sehr gut geeignet ist Ob PBM beispiels weise auch f r die Konfiguration eines Prozessschedulers auf einem normalen Desktop PC oder einem Server sinnvoll ist oder sich in diesem Fall hart in das Programm codierte Policies besser eignen wird in keiner im Literaturverzeichnis aufgef hrten Arbeit erw hnt Literatur 1 Arosha K Bandra Emil C Lupu Jonathan Moffett and Alessandra Russo A Goal based Approach to Policy Refinement In Proceedings 5th IEEE Workshop on Policies for Distributed Systems and Networks Policy 2004 IBM TJ Watson Research Centre New Y
171. it der bestehenden Information zusammen bevor sie von den Agenten weiter verarbeitet werden Granularity Es handelt sich um ein elementares Pattern Known Uses 1 In Wireless Sensor Networks WSN werden Informationen an Knoten punkten aggregiert um beim Informationsaustausch den Kommunikations overhead zu reduzieren 2 Beim Ranking von Produkten im Internet wird nicht jede einzelne Bewer tung gespeichert sondern mit jeder neuen Bewertung der Gesamtwert neu berechnet Design Patterns fiir autonome dezentrale Systeme 121 3 Bei Ameisen wird eine Pheromonspur durch Aggregation jedes Mal verst rkt wenn eine Ameise die Spur erneut passiert Categorisation Informationsverarbeitung 3 7 Koordinations und Kommunikations Patterns Neben den elementaren Patterns existiert eine Reihe von Koordinations und Kommunikations Patterns die auf den elementaren Entwurfsmustern beruhen In dieser Arbeit werden Gradient Fields Digital Pheromone Paths und Market based Coordination aus 26 vorgestellt die im Fallbeispiel des 4 Kapitels zum Einsatz kommen 3 7 1 Gradient Fields Aliases Problem Applicability 1 Wie k nnen mehrere autonome Einheiten in einem gro angelegtem verteil ten System r umlich koordiniert werden 2 Wie kann Wegewahl Routing f r Nachrichten und Agenten durchgef hrt werden Solution Effect ber die Umgebung werden r umliche und kontextbezogene Informationen in Form von Feldern siehe Abbildung
172. itektur mit Optimierungsmethoden die der Natur entliehen sind zu kombinieren Damit werden neue Ans tze geschaffen mit de nen es m glich ist die Selbst Anpassung die Selbst Optimierung die Robustheit und die Fehlertoleranz zu verbessern In einem intrinsisch entwickeltem System l uft der Evolutionsprozess zusammen mit der Funktion welche die Evolution durchlebt auf dem gleichen Zielsystem ab und wird nicht von Au en einge steuert Dadurch wird das autonome Handeln des Systems gewahrt F gt man Rekonfigurierbare Hardware und evolution re Algorithmen zusammen erh lt man ein System dass in der Lage ist seine Struktur online also zur Laufzeit zu reorganisieren Zum Einen k nnen langsame Ver nderungen wie z B Ver nde rungen in der Umgebung des System und zum Anderen schnelle und radikale Ver nderungen zu einer Rekonfiguration f hren Bei langsamen Ver nderungen kann ohne Probleme ein evolution rer Prozess angesto en werden wohingegen bei radikalen Ver nderung auf vor entwickelte Prozesse zur ckgegriffen wer den muss um das System am Laufen zu halten Die Ziele im Einzelnen Entwicklung neuer ressourcen bewusster Modelle und Algorithmen f r die intrinsische Evoltion eines Embedded System Untersuchung von Optimierungstechniken einer ganzen Menge an Syste men f r rekonfigurierbare Hardware Entwicklung der Basistechnologie f r rekonfigurierbare Hardware und Soft ware SPP1183 Organic Compu
173. jekt Quan titative Emergence QE Metrics Observation and Control Tools for Complex Organic Ensembles 4 2 angestrebt Das emergente Verhalten des Systems soll somit verbessert werden Wie auch schon bei den anderen Projekten wurden zahlreiche Ver ffentlichungen publiziert Das Projekt wird in Phase II unter dem Begriff OTC weiter gef hrt Man darf also gespannt sein inwieweit sich dieses innovative und vielversprechende Projekt entwickelt 4 2 Quantitative Emergence QE Metrics Observation and Control Tools for Complex Organic Ensembles Aufgrund zunehmender Komplexit t der einzelnen Computer Systeme und de ren stetig anwachsende Zahl ist es n tig geworden nach neuen Konzepten zu suchen die diese beherrschar machen Um gegen Angriffe Ausf lle und ande ren unerwarteten Geschehnissen bestehen zu k nnen setzt man auf die Selbst X Eigenschaften vor allem aber auf die Selbstorganisation F r dieses Projekt zeichnet Professor Dr Hartmut Schmeck Karlsruhe verantwortlich in Zusam menarbeit mit Professor Dr Ing Christian M ller Schloer Hannover und Dr J rgen Branke Karlsruhe Das Hauptaugenmerk wird hierbei auf die Emer genz gelegt diese kann mit dem Grundsatz Das Ganze ist mehr als die Summer seiner Einzelteile skizziert werden was wiederum auch unter dem Begriff der Schwarmintelligenz zusammengefasst werden kann 4 2 1 Hintergrund und Ziele In Phase I hat man sich im Groben drei Ziele gesezt Die Unt
174. k kann laut 6 zu einer emergenten Eigenschaft der Selbst Optimierung siehe Abschnitt 2 3 des Systems f hren Jeder Agent selbst und somit das System als Ganzes trifft f r unterschiedliche DOP optimale Entscheidungen Negatives 98 M Boegler Feedback k nnen entweder Beschr nkungen im System sein oder das abklingen der gespeicherten L sungsans tzte der Nachbarn Durch das positive und nega tive Feedback n hern sich die Agenten des Systems so einem stabilen Zustand Veranschaulicht kann man wie in 6 beschrieben annehmen dass die Agen ten einzelne Netzwerkkomponenten sind die Aufgaben erf llen und ihre Kosten daf r ver ffentlichen Im Netz werden Aufgaben an die Komponenten verteilt die diese am kosteng nstigsten l sen k nnen Sollte eine Verbindung zu einer Komponente abbrechen werden die Informationen ber die Bearbeitungskos ten welche die Nachbarn gespeichert haben langsam abklingen Die Nachbarn vergessen dass sie an diese Komponente ihre Aufgaben schicken k nnen da sie sich nicht mehr meldet Dieses nicht einprogrammierte Verhalten ist eine Konsequenz des negativen Feedbacks und f hrt zu einer Selbst Organisation des Systems Da es sich um eine Agentengesteuerte dezentrale Koordination handelt ist die Komplexit t der Agenten gr er als die der Umgebung Sie m ssen einerseits ihre DOP l sen k nnen ihre L sungen ver ffentlichen und entscheiden ob sie ihr Problem zur L sung an einen Nachbarn weiter
175. l sse von sp ter beendeten Tasks werden am Exlusive Merge gateway abgewiesen verworfen AND Join BPMN benutzt den Begriff Vereinigen um das Zusammenf hren von zwei oder mehr parallelen Pfaden zu einem zu bezeichnen auch bekannt als 80 N Klimov condition Task 3 Ka condition 2 Abbildung 18 BPMN XOR Split Task 2 Task 2 Task 3 Task 3 Abbildung 19 BPMN AND Join Abbildung 20 BPMN XOR Join empfange Nachricht Abbildung 21 BPMN Ausschnitt AND Join Start Event startet irgend wann die Task Empfange Nachricht Die Task blockiert solange bis eine neue Nachricht vom Kommunikationspartner eintrifft d h erst eine Nachricht kann diese Task beenden Modellierung paralleler Abl ufe in OC Systemen 8 Synchronisation In der Abbildung 19 wird am Parallel Joining gateway solange gewartet bis Task2 und Task3 fertig sind d h die Fl e von allen eingehenden Pfaden m ssen beendet werden damit der Gateway den weiteren Flu erlaubt In der Abbildung 21 ist eine weitere M glichkeit f r AND Join gezeigt Der Synchronisationspunkt ist kein Gateway sondernt eine Task die auf eine Nachricht vom Kommunikationspartner wartet A Machbarkeitsstudie In diesem Kapitel soll ein verteilter Algorithmus 8 S 304 mithilfe von Sequenz diagrammen Petrinetzen und Business Process Diagrammen modelliert werden Der Algorithmus l st folgendes Problem wenn zwei oder mehr verteilte Prozesse gleichzeitig
176. lbstorganisation erweist sich dabei als Vorgang zur Entstehung von Ordnung und Komplexit t aus einem System selbst heraus Design Patterns fiir autonome dezentrale Systeme 115 Innerhalb selbstorganisierender Systeme arbeiten demzufolge autonome Teil systeme kooperativ zusammen um komplexere Aufgaben zu bew ltigen Oftmals sind die einzelnen Teilsysteme nicht in der Lage ihre Ziele ohne die Unterst tzung anderer Teilsysteme zu erreichen oder zumindest nicht mit der gleichen Effizienz Im weiteren Verlauf soll untersucht werden ob Design Patterns f r autonome dezentrale Systeme existieren wie sie aufgebaut sind und wof r diese Patterns angewendet werden k nnen Eine m gliche Umsetzung dezentral organisierter Systeme sind Multi Agenten Systeme die im folgenden Abschnitt 3 1 vorgestellt werden 3 1 Agenten orientiertes Softwareengineering Im Softwaretechnik Bereich kann auf bew hrte Konzepte der OOP zur ckge griffen werden und die Unified Modeling Language UML ist eine weitverbrei tete und standardisierte Sprache um objektorientierte Systeme konzeptionell zu entwerfen Dagegen besteht fiir agentenorientiertes Softwareengineering AOSE kein Konsens ber Begriffe Vorgehensweisen und Konzepte Folglich existieren verschiedene oftmals propriet re Methodologien mit jeweils eigenen Definitio nen Konzepten und Metamodellen die lediglich f r spezifische Aufgabengebiete einsetzbar sind 4 Das zentrale Element des agen
177. lcher Regeln setzt voraus dass eine Selbstbeobachtung des eingebetteten Computers m glich ist also die Erfassung des eigenen Zustands sowie des Zustands der Umgebung des Kontexts Die hierzu ben tigte System funktion wird als Observer bezeichnet Zum Zweiten muss eine Selbstkontrolle m glich sein um die Einhaltung der Regeln zu gew hrleisten Die dazu ben tig te Controller Funktion ist kompliziert denn der organische Computer muss die Konsequenzen einer Ver nderung durch Updates durch ver nderte oder neue Anwendungen absch tzen k nnen bevor die nderung durchgef hrt wird Durch diesen Prozess wird am Ende f r das System ohne Vorwissen eine Regelbasis ge wonnen Die Notation der einzelnen Regeln erfolgt im ifthen Stil d h wenn die Bedingung bei if wahr ist wird die bei then angegebene Aktion ausgef hrt Wie wir gesehen haben spielen die Regeln in Organic Computing eine gro e Rolle In dieser Arbeit wird zuerst den Begriff Emergenz und die Rollen von dem lokalen und globalen Verhalten bei selbstorganisierendem System erkl rt Im Kapital 3 wird den Begriff Regel und wie werden die Regelbasierte Systeme aufgebaut erl utert Nat rlich sollten die gewonnenen Regeln verarbeitet wer den um die ben tigten Informationen abzuleiten Wie die Regeln interpretiert werden und was man mit Rule Engines meint ist der Inhalt vom Kapital 4 Eine detaillierte Beschreibung von zwei verschiedenen Regelsprachen wird im Kapital 5 ausgef
178. le an X und Z bergeben hat X und Z werden nach dem Erhalt der Nachricht von Y anfangen nebenl ufig zu arbeiten XOR Split Im Sequenzdiagramm in der Abb 8 bergibt der Prozess Y die Kontrolle entweder an X oder Z Das h ngt davon ab wie die Bedingung condition ausgewertet wird Wenn True dann sendet Y an Z andernfalls sendet Y an X Um solche Entscheidungen grafisch darzustellen wird Alternatives Fragment ben tigt AND Join Normalerweise ist die Reihefolge der Ereignisse bei den Sequen diagrammen wichtig Mit Parallem Fragment kann man nebenl ufige Teile der Interaktion modellieren In der Abbildung 9 senden X und Z an Y Es spielt keine Rolle ob zuerst die Nachricht von X bei Y eintrifft und dann die Nachricht Modellierung paralleler Abl ufe in OC Systemen 71 sd AND Split J Abbildung 7 Sequenzdiagramm AND Split sd XOR Split 8 gt B ft alt if condition true EE a else Abbildung 8 Sequenzdiagramm XOR Split 12 N Klimov von Z oder umgekehrt Nachdem Y beide Nachrichten erhalten hat wird Y die aktive Ausf hrung starten sd AND Join J Abbildung 9 Sequenzdiagramm AND Join XOR Join Der Prozess Y in der Abb 10 startet die aktive Ausf hrung sobald er die Nachricht entweder vom Prozess X oder vo Prozess Z erh lt Ange nommen die Nachricht vom Z kommt bei Y als erset an Y startet daraufhin seine aktiv
179. leis teilen und das f hrt zu einer Kollision Bei einem Gleis und zwei Z gen die sich zu einem Zeitpunkt kreuzen muss ein ge genseitiger Ausschlu zwischen den Orten A und B sichergestellt werden damit es zu keinen Kollisionen kommt Jeder Zug f hrt unabh ngig von anderen Z gen Die Z ge sind vergleichbar damit wie Nachrichten in verteilten Systemen ausgetauscht werden Prozess A Bahnhof A schickt eine Nachricht Lock mit Wagons mit der Kennung RE2 an den Prozess B Bahnhof B Die Bahnh fe repr sentieren somit Synchroni satinspunkte oder Prozesse Die Z ge sind Nachrichten Der ganze Bildfahrplan repr sentiert dann ein verteiltes System Au erdem lie en sich sogar die Pas sagiere mit dem Inhalt der Nachrichten Z ge vergleichen Angenommen am Bahnhof X wartet der Regionalzug RE 2 auf ICE und den Regionalzug RE 1 denn in diesen beiden Z gen fahren z B Pendler die unbedingt am Bahnhof X RE2 erwischen m ssen um zur Arbeit zu kommen Diese Situation ist hnlich der AND Join Kontrollstruktur vgl Abbildung 4 Der AND Split ist in Abbil dung 5 dargestellt Die ICE Passagiere haben in Bahnhof X Anschluss zum RE1 und RE2 Bahnhof X Bahnhof X Le Abbildung 4 Abbildung 5 Bildfahrplan Ausschnitt AND Bildfahrplan Ausschnitt AND Join Split Heutzutage werden die Bildfahrpl ne mit speziellen Programmen erstellt z B OpenTrack simuliert und auf dem Bildschirm angezeigt das erm glicht die Bildfahrpl ne mit n
180. len verl ngert werden Eine virtuelle Partitionierung des Netzes in Zellen diente dem Ziel dass jeder Knoten in Reichweite die Rollen des andern bernehmen kann ohne dabei abh ngig von der Position zu sein Ein Verhalten was auch von Schw rmen in der Natur bekannt ist Damit k nnen alle berfl sigen Knoten deaktiviert werden und somit Energie sparen solange ein Knoten eine Zelle ab decken kann Es verbleiben die Knoten die bei einem Ausfall die Funktion des Netzes gew hrleisten k nnen Daf r wird zuerst von der Senke aus ein Netzwerk aufgebaut so das jeder Punkt von berall erreichbar ist und das Netz ein skalie rungsfreies Verhalten aufweist Danach wird das Netz optimiert um die Funktion mit minimalen Kosten zu gew hrleisten Das skalierungsfrei Netz bracht in den Untersuchungen eine Erh hung der Lebenszeit von 130 gegen ber konventiel len Netzen 11 SPP1183 Organic Computing Phase I 161 3 7 3 Bewertung In Phase I des SPP1183 wurden durch die Untersuchungen die Robustheit und die Lebenszeit des Verbundes maximiert Die Verbesserung ist dabei die Summe der einzelnen Optimierungen im Schwarmverhalten und in der Rollenzuteilung durch das skalierungsfreie Netz In Phase II wird der Fo kus auf die Anpassung der Netzstrukturen auf unvorhergesehene F lle gelegt um die aufgetragene Aufgabe auch unter minimalem Energiebedarf durchf hren zu k nnen Das Projekt hat die Grundlagen untersucht und sich an Prinzipien der Natur orien
181. m IT Umfeld Anwendung finden k nnten Unabh ngig hiervon war es Chri stoph von der Malsburg der schon ein Jahr zuvor im November 2001 einen Workshop unter dem Namen Organic Computing veranstaltete Er versteht aber den Begriff des Organic Computings anders F r ihn bedeutet Organic Computing eine Kombination aus Neurowissenschaften Molekularbiologie und Software Sein Ziel ist es neuartige rechnende Systeme zu entwickeln die biolo gische Prinzipien ausnutzen Den Forschungsaufwand hierf r sieht er allerdings im zeitlichen Rahmen von 10 bis 15 Jahren 9 3 Im Folgenden wird unter Organic Computing der erste Sachverhalt verstanden Organic Computing ist prinzipiell eng verwandt mit dem von IBM propagier ten Autonomic Computing Es kann auch als deutscher Ansatz auf diesem For schungsgebiet verstanden werden Ein organischer Computer ist definiert als ein selbstorganisierendes System das sich den jeweiligen Umgebungsbed rfnis sen anpasst Organische Computer sind selbst konfigurierend selbst optimierend selbstheilend und selbstsch tzend 10 S 332 An dieser Definition erkennt man schon Gemeinsamkeiten und Unterschiede zum Autonomic Computing Gemein samkeiten sind die Ausnutzung der Selbst x Eigentschaften wie Selbstkonfigura tion Selbstoptimierung Selbstheilung und Selbstschutz Hinzu kommt noch das Ph nomen der Selbstorganisation das sich das Organic Computing Forschungs team aus der Natur abgeschaut hat
182. m sie auf nderungen reagieren ohne dass diese Reaktion von einer zentralen Instanz vorgeschrieben wird So sch n diese De zentralit t auch sein mag durch die erw hnte Komplexit t selbstorganisierender Systeme kann es manchmal zu unvorhergesehen Effekten kommen die man als emergentes Verhalten oder kurz Emergenz bezeichnet Einfiihrung in Organic Computing 13 3 3 1 Definition Der Begriff Emergenz leitet sich vom lateinischen emer gere ab was soviel hei t wie hervorkommen oder sich zeigen Es tauchen also pl tzlich Ph nomene auf die nur in gro en Systemen mit vielen Komponen ten auftreten k nnen aber nicht durch eine Komponente alleine ausl sbar sind Exakter ausgedr ckt ist Emergenz die spontane Herausbildung von Ph no menen oder Strukturen auf der Makroebene eines Systems auf der Grundla ge des Zusammenspiels seiner Elemente Dabei lassen sich die emergenten Ei genschaften des Systems nicht offensichtlich auf Eigenschaften der Elemente zur ckf hren die diese isoliert aufweisen 19 Ein pr gnanter Satz der zum besseren Verst ndnis dieses Begriffs f hrt lautet Das Ganze ist mehr als die Summe seiner Teile 11 S 18 Dieser reflektiert auch wieder die Tatsache dass enorme Komplexit t und das Zusammenspiel vieler Einzelteile zu Emergenz f hren Man kann die positiven Effekte der Emergenz nutzen wenn man sie richtig versteht Gleichzeitig wird es h ufig vorkommen dass man die negative
183. mehrere einfache Komponenten zusammen und sind leistungsf higer als eine komplexe Ein Kern Prozessor Komponente Literatur rm S Apel and E Buchmann Biology inspired optimizations of peer to peer overlay networks December 2005 2 T de Wolf Analysing and engineering self organising emergent applications May 2007 3 T de Wolf and T Holvoet A catalogue of decentralised coordination mechansims for designing self organising emergent applications August 2006 4 T de Wolf and T Holvoet Decentralised coordination mechanisms as design patterns for self organising emergent applications 2006 5 J Dowling The decentralised coordination of self adaptive components for auto nomic distributed systems October 2004 6 J Dowling and V Cahill Self managed decentralised systems using k components and collaborative reinforcement learning October 2004 7 M Encarta de encarta msn com Lernen_durch_Versuch_und_Irrtum htnl Eigenschaften dezentraler Koordinationsmechanismen 107 8 J Kennedy and R C Eberhart Swarm Intelligence Morgan Kaufmann 2001 9 M Lexikon lexikon meyers de meyers Energenz 10 J A McCann and M Huebscher Evaluation issues in autonomic computing 8 October 2004 11 W M Verlag wissen spiegel de wissen dokument htm1 id 54310500 Design Patterns fiir autonome dezentrale Systeme Martin Burkhard Universitat Augsburg martin burkhard web de Zusammenfassung Diese Arbeit besch
184. mende Nachrichten Timeouts Exceptions etc Sehr praktisch erweisen sich dabei Events bei BPD Es sind nur wenige Trigger standardisiert die Entwickler d rfen allerdings eigene Trigger einf hren Alle in dieser Arbeit vorgestellten Diagramme k nnen sehr beschr nkt die Transformation von Daten modellieren In Petrinetzen lassen sich Daten mit ei nigen Erweiterungen realisieren Die klassischen Petrinetze wurden im Laufe der Jahre um viele Konzepte erweitert Inhibitor Kanten Farbige Petrinetze High Level Petrinetze etc Bei Business Process Diagrammen kann man die Daten mit Data Objects darstellen die aber eine zweitrangige Rolle spielen und meistens optional sind Petrinetze besitzen eine solide mathematische Basis deswegen k nnen Al gorithmen und Abl ufe auf Korrektheit und Fehlerfreihet getestet werden z B mit Hilfe von Erreichbarkeitsgraphen S oder und T Invarianten Business Process Modeling Notation hat eine Reihe von Vorteilen gegen ber UML wenn es um Modellierung von Gesch ftsprozessen geht kompaktere Flu modellierungstechnik solide mathemiatische Basis Pi Calculus Business Pro cess Diagramme k nnen au erdem auf Execution Languages z B BPEL4WS abgebildet und simuliert werden Literatur 1 Baumgarten Petri Netze Grundlagen und Anwendungen BI Wissenschaftsverlag 1990 2 M H P Gumm Einf hrung in die Informatik Odenbourg Verlag 2002 3 http de wikipedia org wiki Bildfahrplan Bildfahrplan F
185. mergenz Emergenz kann auch auftreten obwohl es in einer Implementierung keinen Algorithmus gibt der dieses Verhalten direkt spezifiziert Ein Beispiel daf r w re ein Roboter der Kisten aufeinander stapelt Der Roboter wei nichts davon dass er dabei ist einen gro en Turm zu bauen Er kennt nur die Aufgabe jeweils eine Kiste an einen bestimmten Ort zu stellen und erf llt diese mit h chster Pr zision so dass am Ende ein Turm als emergenter Effekt entsteht In verteilten Systemen kann Emergenz auch positiv genutzt werden Bei spielsweise k nnen Knoten in einem Netzwerk selbstst ndig Informationen untereinander austauschen und dadurch implizit neue Informationen ber den Zustand des gesamten Netzes bekommen Man spricht hier von Emer genz als Folge interaktiver Komplexit t Emergenz kann auch eine Folge des Unvorhersehbaren sein Beispielsweise wird in einem realistischen Bev lkerungsmodell die Wachstumsrate nicht konstant sein sondern von der aktuellen Populationsgr e abh ngen Emergenz kann auch im Sinne von nicht komprimierbarer Entwicklung auf treten Dabei wird ein System als emergent bezeichnet wenn der Gesamt zustand des Systems der durch eine gewisse Mikrodynamik erreicht wurde von der Mikrodynamik selber und externen Bedingungen abh ngt und diese nur per Simulation abgeleitet werden k nnen 11 S 24 Zusammenfassend k nnen wir sagen dass Emergenz und Selbstorganisation sehr eng ineinande
186. mit der Zeit an St rke verlieren Wenn nun eine Strecke besonders gut ist wird auf ihr der Pheromonspiegel immer h her sein als auf anderen was die Ameisen wieder dazu verleitet diese Strecke zu benutzen Die anderen Strecken werden nur noch selten benutzt Dieser Ameisenalgorithmus der im Prinzip so auch seinen Weg in Softwareim plementierungen gefunden hat ist ein typisches Beispiel f r Selbstorganisati on Die Ameisen befolgen immer dieselbe Regel welche sie den Weg ausw hlen l sst den andere Ameisen zuvor schon als den besten identifiziert haben Eine einzelne Ameise k nnte niemals systematisch mit vertretbarem Aufwand nach dem k rzesten Weg suchen Nur eine ganze Kolonie ist ihrem seinem adapti ven Verhalten dazu in der Lage Eine Problematik dieses Verfahren l sst sich hier allerdings auch schon erkennen Ist die bevorzugte Route einmal gesperrt oder pl tzlich nicht mehr vorhanden ben tigt das Verfahren wieder eine gewis se Anlaufzeit um gute Ergebnisse zu liefern Um diesen nicht tragischen aber unbequemen Effekt abzumildern k nnte man den Zufall ins Spiel bringen der einen gewissen zu ermittelnden Prozentsatz von Ameisen auf neue noch nicht untersuchte Pfade schickt um diese zu erkunden Somit k nnte beim Ausfall der besten Route schneller ein guter Ersatz f r diese gefunden werden 11 S 5 7 3 3 Emergenz Im Kapitel zuvor haben wir gesehen dass sich selbstorganisierende Systeme selbst verwalten k nnen inde
187. n nderungen keinen Netzprogress erreichen k nnen Emfang livelock ist ein Sonderfall in dem der Durchsatz vom System abnimmt sogar bis Null wobei die Eingangsrate steigert ab einem bestimmten Punkt Ein Empfangslivelock unterscheidet sich von einem Deadlock insofern dass der Durchsatz wiederherstellt wird wenn die Eingangsrate abnimmt Emergentes Fehlverhalten 141 Phasenubergang Das Systemverhalten ndert sich radikal w hrend einige Variablen ndern sich stufenweise In den anderen Bereichen wie Physik sol che pl tzlichen nderungen k nnen durch einen Phasen bergang modelliert werden Einige Computersysteme k nnen auch einen Phasen bergang auf weisen Zum Beispiel drahtlose Ad Hoc Netzwerke haben sehr oft kritische Schwellen Diese Klassifikation enth lt keine Fehler oder Komponentenausf lle Tats chlich kein in diesem Artikel beschriebenes Beispiel von emergentem Fehlverhalten stammt von einem Komponentenausfall Die Ursachen liegen bei der Entwick lung bzw der Implementierung von einem System 4 2 Ursachen emergentes Fehlverhaltens Wenn wir den Fall von emergentem Fehlverhalten aus der Liste oben erkennen k nnen ist es nur ein Schritt zur Probleml sung Wir brauchen auch die Klassi fikation von Ursachen des emergenten Fehlverhaltens die einem bestimmten Fall entsprechen Zum Beispiel die Ursache von Flattern k nnte einfaches Memory Leak sein Das k nnte auch ein berpr fungsfehler von der Zulassung
188. n ten selbst den roten Teppich erstellen Es liegt eine agentengesteuerte dezentrale Koordination vor Dies zeigt dass unterschiedliche Einsatzgebiete und Anforde rungen unterschiedliche dezentrale Koordinationsmechanismen erfordern 4 3 Marktbasierte Kontrolle Ein dezentrales Verfahren zur Koordination von Agenten das auf einer Idee der Volkswirtschaftslehre basiert ist die marktbasierte Kontrolle Laut 4 ist diese Methode vor allem dann sinnvoll wenn sich die Agenten knappe Ressourcen teilen m ssen Die Grundprinzipien von Angebot und Nachfrage sowie der daraus entste hende Marktpreis werden in Abbildung 4 verdeutlicht 102 M Boegler eh kg 1 e ye supply 2 j demand s 1 A p i ji m q1 Quantity Abbildung 4 Angebot und Nachfrage und der Marktpreis aus 4 Das Prinzip der Marktbasierten Kontrolle beruht auf der Nachfrage und dem jeweiligen Angebot von G tern Es gibt K ufer und Verk ufer die un abh ngig voneinander eigenn tzig handeln G ter werden verkauft sobald ein f r den Verk ufer akzeptabler Preis angeboten wird K ufer werden so lange nach G tern suchen bis sie diese zu einem f r sie akzeptablen Preis erhalten k nnen Wenn alle Teilnehmer des Systems ihren eigenen Interessen folgen Verk ufer einen hohen Preis erzielen K ufer m glichst wenig bezahlen wollen wird sich ein Marktpreis einstellen Dies ist der Preis der zu einem Gleichgewicht aus
189. n ent fernt er Anforderungen aus der Warteschlange und sendet eine OK Nachricht an die entsprechenden Prozesse Abb 22 zeigt ein m gliches Szenario f r ein verteiltes System aus 3 Prozes sen Dieser Algorithmus soll in folgenden Kapiteln mit Sequenzdiagramm Petrinetz und Business Process Diagram modelliert werden 4 1 Sequenzdiagramm Ein Sequenzdiagramm modelliert immer nur einen m glichen Pfad im Ablauf Die Anzahl aller m glicher Pfade im System kann aber sehr hoch werden Se quenddiagramme sind deswegen ein einfaches grafisches Mittel die grobe Idee des Algorithmus oder eines komplizierten Ablaufes zu illustrieren Der Schwer punkt liegt auf der Interaktion der Kommunikationspartner Abb 23 zeigt drei Prozesse im verteilten System und wie diese untereinander Nachrichten austau schen Der Inhalt der Nachrichten also die Daten kann man auf den Nach richtenlinien angeben Unter Ereignissen versteht man bei Sequenzdiagrammen das Senden oder das Empfangen von Nachrichten Die nebenl ufige Ereignisse lassen sich einfach Ablesen siehe dazu Abb 23 Sequenzdiagramme haben kein formales mathematisches Modell als Grundlage deswegen lassen sich keine Kor rekteitsbeweise ber den Algorithmus machen Die Manipulatin von Daten ist kaum modellierbar Die Operationen die die Prozesse durchf hren lassen sich nur als Textkommentare angeben Der gr te Nutzen von Sequenzdiagrammen liegt in der Lesbarkeit und Verst ndlichkeit Die Diagramm
190. n Applikationservern erkennt die Fehler des Applikationservers und unterbricht die Aufgabensendung Der Load Balancer er kennt den Fehler wenn der Applikationsserver auf Anfrage w hrend bestimmtes Timeouts nicht antwortet Vermuten wir dass das System perfekt funktioniert wenn das das erste Mal gestartet wird Nach einigen Monaten erh hen Daten banklatenzzeiten und das Effizienzindex verschlechtert sich 140 A Ostroverkhov Gehen wir davon aus dass der Load Balancer wurde so kofiguriert relativ kleine Timeouts fiir Erkennung des Applikationserverausfalles zu benutzen An einer Stelle haltet das System auf die Anfragen zu beantworten Datenbankla tenzen erh hen sich zu dem Punkt wenn die Applikationserver antworten nicht mehr den Load Balancer w hrend des konfigurierten Timeouts und Load Ba lancer erkennt die beiden Server als au er Betrieb Als die Variante von diesem Problem der Load Balancer wechselt zwischen Applikationservern ab als jeder Server ist gezwungen volles Laden zu bearbeiten seine Latenzzeit berschreitet das Timeout wobei der andere entladene Server scheint repariert zu sein Of fensichtlich dass das System im ganzen sich falsch verhaltet Jedoch keine von Komponenten hat einen Feheler aufgewiesen Man kann sagen dass jemand ein falsches Wert f r Load Balancer ausgew hlt hat dieser Fehler ist aber nicht so klar wenn das System zum ersten Mal getestet wird 4 Klassifikationen 4 1 Klassifikation von emerg
191. n Verkettung Als Beispiel stellt JRuls die teu erste und leistungsf higste Rule Engine am Markt JRule bietet Schnittstellen f r Java und NET und ist sowohl f r Microsoft Windows als auch f r Unix Li nux Umgebung verf gbar Die Regel in JRule k nnen in der nat rlichen Sprache Englisch dargestellt werden und auch in IRL Ilog Rule Language Eine Alternative f r diese Art von Verkettung stellt das Open Source JBoss Rule Drools sehe Kapitel 4 dar JBoss bietet eine Java Basierte Business Rule Engine die effizient und schnell ist JBoss ist nur eine Komponente zur Regel verarbeitung und stellt keine vollst ndiges Business Rules Management System dar Die Programmieroberfl che ist in der Java Editor Eclipse in dem das Drolls Plugin integriert ist Die Abfrage einer Variablen eines Objekts wird durch die Drolls Sprache ausgedr ckt vgl Kapitel 4 3 6 2 R ckw rtsverkettende Systeme Am Markt gibt a nicht so viele Rule Engines die die R ckw rtsverkettung unterst tzen aber Mandaraxt stellt die bekannteste Rule Engine dar die diese Art von Verkettung unterst tzt Man darax ist eine Open Source Java Klassenbibliothek f r regelbasierte Systeme Mandarax unterst tzt als erste Rule Engine am Markt RuleML Im Kapital 4 werden RuleML und Drools n her betrachtet 3 6 3 Hybride Systeme Jess ist die bekannteste Rule Engine am Markt f r Java Platform Jess arbeitet grunds tzlich als Vorw rtsverkettendes System beherrscht ab
192. n der Genera lisierung und Instanziierung unterst tzt Weiterhin gibt es die M glichkeit ein fache so genannte Primitive Policies zu komplexeren Composite Policies zu sammenzusetzen Bei den Primitive Policies wird zwischen f nf Typen unter schieden Authorisation Policies dienen dazu den Zugriff auf Systemressourcen Abbildung 4 Primitive Policy Typen bei Ponder Authorisation Policies Information Filtering Policies Delegation Policies Refrain Policies Obligation Policies zu regeln Sie k nnen diesen entweder gew hren Positive Authorisation Policy oder verweigern Negative Authorisation Policy Information Filtering Policies transformieren die Ein und Ausgaben von Systemoperationen Delegation Po licies Regeln die Weitergabe von Authorisation Policies von einem Systemteil an einen Anderen damit dieser die Berechtigung besitzt eine an ihn bertrage ne Aufgabe auszuf hren Refrain Policies legen fest welche Aktionen ein System nicht ausf hren soll obwohl es die Berechtigung dazu besitzt Der letzte primitive PBM amp OC 59 Policytyp sind die Obligation Policies Einige der Beispiele in dieser Arbeit sind von diesem Typ vergleiche Tabelle 2 In 5 werden sie mit event triggered condition action rules beschrieben Es handelt sich also um Policies das die Reaktion des Systems auf ein bestimmtes Ereignis und unter bestimmten Be dingungen regelt Von den Composite Policies gibt es drei Typen Diese Typen Abbildun
193. n die Abl ufe 1 und 2 sequentieller Prozess genannt 6 S 588 Besondere Beachtung verdient der Ablauf 3 Die Zubereitung startet sequen tiell mit A Wenn A beendet ist starten zwei sequentielle Prozesse A und B C D Dies bewirkt Aufspalten fork in zwei unabh ngige Steuerfl sse Nachfolgend laufen beide Prozesse voneinander unabh ngig ab Nach einiger Zeit sind alle Operationen in beiden Prozessen erledigt Dann erfolgt der ber gang vom nebenl ufigen zum sequentiellen Ablauf indem die Steuerfl sse der beiden Prozesse am Synchronisationspunkt join vereinigt werden 6 S 589 Die Stelle wo zwei oder mehr nebenl ufige Kontrollfliisse Pfade zu einem se quentiellen Kontrollfluss zusammengefasst werden nennt man Synchronisati onspunkt Am Synchronisationspunkt mu der Ofen die n tige Temperatur erreicht haben und die Kartoffeln vorbereitet sein bevor der Schritt F beginnen kann 64 N Klimov Arbeitsabl ufe bzw deren Einzelschritte hei en parallel wenn sie gleich zeitig und voneinander unabh ngig durchgef hrt werden k nnen 9 5 465 Die Parallelit t ist also ein Spezialfall der Nebenl ufigkeit F r zwei nebenl ufige Vorg nge A und B ist es ohne Bedeutung ob zuerst A und dann B oder zuerst B und dann A oder beide gleichzeitig ausgef hrt werden Der Gegensatz zu nebenl ufig ist sequentiell Parallele Prozesse laufen unabh ngig voneinander ab und interagieren in keiner Weise Die Ergebnisse der
194. n neuen Auftrag der zu diesem Zeitpunkt geeignetste Lastwagen ausgew hlt werden Um aus der Men ge an Lastwagen den geeignetsten Lastwagen auszuw hlen m ssen diese ber messbare und vergleichbare Eigenschaften verf gen Distanz wie weit ist der Lastwagen von der Abholadresse entfernt Platz hat der Lastwagen ausreichend Platz f r das Paket Lieferzeit wie lange dauert die Zeit f r die Zustellung des Pakets Besonderes Augenmerk muss dabei auf den verf gbaren Platz der Lastwagen gelegt werden eine begrenzte Ressource die den Auftr gen zugeteilt wird An hand der Liste an vorgestellten Patterns aus Abschnitt 3 7 f llt die Entscheidung f r das Market based Coordination Pattern welches ein geeignetes Entwurfsmus ter f r diese Problemstellung sein k nnte Allerdings m ssen f r dieses Pattern geeignete Anbieter und Nachfrager iden tifiziert werden Im Fallbeispiel 26 werden dazu die Lastwagen als Anbieter von verf gbarem Platz und die Auftrags Systeme als die Nachfrager des verf gba ren Platz betrachtet Als Preismechanismus kommt dabei neben dem verf gbaren Platz die Di stanz zur Abholadresse und Lieferzeit in Betracht Beispielsweise steigt mit der L nge der Lieferzeit oder mit der Knappheit des verf gbaren Platzes gleichzei tig der Preis Die Auftrags Systeme k nnen bis maximal zu ihrem Preislimit f r den verf gbaren Platz Angebote abgeben und erhalten je nach Marktpreis den Zuschlag Der Markmechanismus sor
195. n soll werden in der Planung und Ausf hrung spezifiziert 12 S 38 3 Organic Computing In diesem Abschnitt wird zuerst auf den Begriff Organic Computing und des sen noch junge Geschichte eingegangen Es wird im Folgenden erkl rt welche Einf hrung in Organic Computing 7 Gemeinsamkeiten und Unterschiede zum Autonomic Computing existieren Au Berdem wird ein Beispiel f r eine konkrete Anwendung der dem Organic Com puting zugrunde liegenden Prinzipien gegeben n mlich die Evolutionsstrategi en Der zweite und dritte Abschnitt des Kapitels befassen sich mit wichtigen Schlagw rtern des Organic Computing erkl ren diese und betteen sie in den Gesamtkontext ein Zu diesen geh ren Stichw rter wie Selbstorganisation und Emergenz welche in 3 2 und 3 3 erkl rt werden In 3 4 werden dann verschiede ne Architekturtypen vorgestellt und anhand von praktischen Umsetzungen auch erl utert 3 1 Geschichte Im Jahre 2002 fand ein Workshop zum Thema Zukunftsthemen der technischen Informatik statt Das Ziel dieses Workshops war es Ergebnisse die im Laufe des Jahres auf verschiedenen Tagungen erzielt wurden noch einmal zusammen zufassen Hierbei bildete sich der Begriff Organic Computing allm hlich heraus Pioniere auf diesem Gebiet waren zu dieser Zeit Prof Dr Ing Christian M ller Schloer Prof Dr Theo Ungerer und Prof Dr Hartmut Schmeck Ihr Ziel war es aus genauen Beobachtungen der Natur Mechanismen zu identifizieren die auch i
196. n stehenden Abbildung wurde f r die Transportfunktionalit t ein p2p Ansatz gew hlt Event Dispatcher Dieser verteilt die ein und ausgehenden Nachrichten kor rekt an die jeweiligen Instanzen Service Interface Dieses dient als Schnittstelle zwischen AMUN und einem angebotenen Service Ein Dienst der AMUN nutzen will muss dieses Service Interface implementieren damit es auch Nachrichten empfangen kann die vom Event Dispatcher bereitgestellt wurden 18 C Stempfle Autonomic Manager Unter diesem Schlagwort versteckt sich die Hauptkon trollinstanz eines AMUN Knotens Hier werden alle relevanten Informatio nen der lokalen Dienste und des Monitors gesammelt Dieser Manager be steht wiederum aus mehreren einzelnen interagierenden Komponenten Der Konfigurator ist verantwortlich fiir die Konfiguration der Dienste auf einem Knoten der Kontrollalgorithmus wertet den aktuellen Status mit Hilfe einer Metrik aus die aus dem Metrik Pool stammt Er ist f r die Rekonfiguration von Diensten zust ndig Service und Monitor Info Space sind die Speicher pl tze f r den aktuellen Service bzw Monitor Status System Monitor Er berwacht das System nach definierten Gesichtspunkten und sammelt Informationen dar ber wie zum Beispiel ber den aktuell vor handen freien Speicher und die Prozessorauslastung Diese Informationen werden f r die Berechnungen ben tigt die von den anhand der Metriken durchgef hrt werden 12 S 46
197. nen wir nun die Konzepte voneinander abgrenzen die zur Selbst organisation f hren und die Abh ngigkeiten kurz erl utern Auf Grund der sich Einf hrung in Organic Computing 11 control input regular input output 0 0 E Abbildung 4 Modellierung eines einfachen Systems 11 8 10 sehr hnelnden Ausdr cke im Englischen und fehlender deutscher Fachausdr cke wird im Weiteren dort wo es als notwendig erscheint der Originalausdruck ver wendet Adaptiv Ein System S darf sich als adaptiv bez glich J bezeichnen wenn Vi I gilt o i gt pli o W Dabei ist W eine Menge zeitabh ngiger Funktionen die ein Akzeptanzkriterium angibt welches die Leistungsfunk tion p I x Os gt TH R einhalten muss Manageable Solche Systeme sind durch die geeignete Wahl eines c Cs adaptiv Self Manageable bezeichnet ein bez glich J Rg U Cs adaptives System Au erdem kann dessen Kontrolleingabe c aus Rg und Og berechnet werden kann Self Managing sind Systeme die adaptiv bez glich Rg sind und f r die Cs gilt Man kann zeigen dass sich jedes self manageable System S in ein self managing System 5 verwandeln kann Ein System ist nur selbstorganisierend wenn es self managing und adaptiv beziiglich seiner Struktur ist und nur auf dezen trale Steuerungsmechanismen zur ckgreift Dabei bedeutet adaptiv bez glich seiner Struktur dass es f r die Adaption dynamisch seine Struktur
198. nfiguration sollte Rechenpower sinnvoll geb ndelt werden um gro e Si mulationen wie z B Wettervorhersagen durchzuf hren 2 2 Eigenschaften Um dieses ehrgeizige Ziel zu erreichen definierte IBM acht Elemente die gr nds tz lich immer erf llt sein m ssen unabh ngig des weiteren technischen Fortschritts auf diesem Gebiet 2 2 1 Die Acht Elemente 1 Das autonome System muss sich selbst und alle ihm zugeh rigen Kompo nenten kennen 2 Aus diesem Grund muss es sich auch an gewissen Standards orientieren um das Management heterogener Netzwerke auch zu gew hrleisten 3 Die Komplexit t sollte nach Au en hin verborgen bleiben Es muss sich automatisch und dynamisch rekonfigurieren k nnen 5 Es gibt keinen Zustand an dem es sich nicht ver ndert Es sucht st ndig nach Verbesserungen in der Konfiguartion je nachdem welches Optimie rungskriterium man ihm vorgibt gt Einfiihrung in Organic Computing 3 6 Es muss sich nat rlich aber auch selber sch tzen k nnen zum Beispiel gegen Angriffe von Au en 7 Au erdem muss es sich auch selbstst ndig anpassen k nnen wenn neue Kom ponenten in das System eingebaut werden 8 Ein autonomes System sollte sich selbst heilen k nnen so sollte es sich bei spielsweise nach Abst rzen wieder selbst starten k nnen 4 2 2 2 Self X Eigenschaften Aus diesen Anforderungen heraus ergaben sich die ber hmten Self X Eigenschaften Selbstkonfigurierend Ein System mit
199. nflu t die andere Autocatalysis Mindestens eine der Komponenten ist kausal von den anderen beeinflusst was auch zu ihrem Wachstum f hrt Far from Equilibrium Condition Das System importiert eine gro e Energie menge von au en und verwendet diese Energie um seine Struktur zu erneu ern und eher zerstreut als speichert die zuwachsende Unordnung Entropie zur ck in die Umgebung Morphogenetic Changes Midenstens eine der Systemkomponenten muss f r die zuf lligen Au envariationen ausgesetzt sein Die anderen Forschungen f r Selbst Organisation in Multi Agenst Systemen haben zwei Definitionen von selbst organisierenden Systemen definiert 22 Starke selbst organisierende Systeme sind die Systeme die ihre Organisation ohne irgendeiner expliziten externen bzw internen zentralisierten Steuerung bauen Schwache selbst organisierende Systeme sind die Systeme in den die Reorga nisation unter der zentralisierten internen Steuerung oder Planung passiert 132 A Ostroverkhov Dar berhinaus schlie t Selbst Organisation auch Organisation ein Diese Orga nisation beinhaltet die Struktur nderungen vom System und Verhaltens nde rungen von Komponenten Das selbst organisierende System demgema nicht nur steuert oder adaptiert sein Verhalten das erzeugt und st ndig ndert seine Struktur bzw Organisation Die selbst organisierenden Systeme sind in der Wirklichkeit sehr robust sie k nnen die ganze Reihe von Fehl
200. nicht vollst ndig entwickelt und immer noch ein aktuelles und viel ver sprechendes Forschungsgebiet ist Doch schon heute ist absehbar dass es ein ernst zu nehmendes Teilgebiet der Informatik werden wird Oberstes Ziel ist das Verst ndnis organischer Strukturen und die ihr Zugrunde liegenden molekularen kognitiven und sozialen Verhaltensweisen Dieses Wissen soll zur maschinellen Nachahmung verwendet werden um komplexe Systeme die aus verschiedensten teilweise heterogenen Teilsystemen bestehen besser beherrschbar zu machen Wichtigster Bestandteil des Fachgebietes sind die Selbst X Eigenschaften Selbstkonfiguration Selbstoptimierung Selbstheilung Selbstschutz sowie Umgebungsbewusstsein vorausschauendes Handeln hnliche Anforderungen bzw Eigenschaften formulierte Paul M Horn be reits bei IBM als Konzept des Autonomic Computing 15 10 Damit sollten die Architekturen der Server weitaus selbst ndiger und den durch aus tradi tionellen Ingenieursdisziplinen entwickelten Computer Systemen berlegen sein Allerdings liegt der Fokus dieses Konzepts auf Mainframe Architekturen und deckt nur einen kleinen Teil bestehender Systeme ab Organic Computing geht einen Schritt weiter und verwendet die Autonomic Prinzipien und erweitert die se um die Erforschung nat rlicher Ph nomene wie z B Selbstorganisation und emergentes Verhalten Die Konzepte sollen grundlegende Design Kriterien er zeugen mit d
201. nn nur die Pr missen berechnet deren Fakten sich ge ndert haben ndert sich da mit auch das Ergebnis der Pr misse wird das alte Ergebnis damit berschrieben Ein Evaluierungsdurchlauf gehrt in dieser Weise Ist eine Pr misse erf llt So gibt der Pr missenknoten sein Ergebnis an den folgenden Knoten weiter Nun gibt es zwei M glichkeiten 1 Ist der folgende Knoten ein Aktionsknoten so besitzt dieser Aktionsknoten nun eine g ltige Pr misse als Eingang und somit wird die Aktion ausgef hrt 2 Ist der folgende Knoten ein Verbindungsknoten Siehe Abbildung 4 so liegt nun auf einem der beiden Eing nge ein g ltiges Ergebnis Wenn auf dem zweiten Eingang nun ebenfalls schon ein g ltiges Ergebnis liegt sind beide Eingangspr missen erf llt und damit ist auch das Gesamtergebnis dieses Knotens erf llt 3 5 Rule Engines Im vorherigen Anschnitt wurden die Grundlagen von Regeln und regelbasier ten Systemen erl utert Es wurde ebenfalls erl utert dass f r die Verarbeitung von Regeln ein Interpreter ben tigt wird der die Regeln einlesen und durch die Mechanismen der Inferenz und der Konflikt L sung ben tigte Informatio nen ableiten kann Der Regelinterpreter in regelbasierten Systemen ist auf die L sung bestimmtes Problem spezialisiert Da in der Praxis die Unternehmen ihre Rahmenbedingung immer schnell ndern war es in letzten Jahren n tigt neue 5 Der Rete Algorithmus ist ein netzwerkbasierter Algorithmus und
202. nten nicht selbsts chtig sondern im Sinne der Gruppe handeln Die Koordination mittels Tokens wird laut 3 vorallem dann verwendet wenn es um den Zugriff auf begrenzte Ressourcen geht Agenten erhalten das Recht auf die Ressourcen zuzugreifen wenn Sie das Token besitzen Sobald Sie die Resource nicht mehr ben tigen wird der Token weitergegeben und der n chste Agent kann auf die Resource zugreifen Dieses Verfahren kann z B mit einer Karte in einer Firma verglichen werden die dem Besitzer die M glichkeit gibt den Kopierer zu benutzen Sobald ein Mitarbeiter den Kopierer nicht mehr ben tigt gibt er die Karte an einen Kollegen weiter Dieser hat nun aufgrund der Karte die M glichkeit die Resource den Kopierer zu verwenden Alle in dieser Arbeit beschriebenen Verfahren beruhen auf einer Grundidee aus der Natur oder aus dem sozialen Gef ge unserer Gemeinschaft Es sind ein fache Verfahren die dadurch dass sie auf mehrere Agenten angewendet werden einen gr eren Effekt erzielen als man es den einzelnen Agenten einprogram mieren k nnte Meiner Meinung nach liegt darin die Zukunft denn nicht immer komplexere Systeme k nnen die Probleme l sen da man durch die Komplexit t schnell an die Grenzen der menschlichen berschaubarkeit st t Dass das Zu sammenspiel von mehreren kleinen einfachen Komponenten uns in der Softwa reentwicklung weiter bringen kann zeigt sich schon heute im Hardwarebereich Bei Multikern Prozessoren arbeiten
203. nzuteilung weiter untersucht um die Energieef fizienz und damit die Lebenszeit der Roboter weiter zu maximieren Es wird 152 M Buthut angestrebt dass heterogene Roboter mit unterschiedlichen M glichkeiten zusam menarbeiten k nnen Dabei muss erst festgestellt werden welche globalen Auf gaben welche F higkeiten in welcher Kombination ben tigen Dadurch muss die Strategie an die Vielfalt der F higkeiten angepasst werden Das Projekt k nnte beispielsweise eine wichtige Grundlage f r zuk nftige Rettungseins tze werden Menschenleben m ssten nicht mehr aufs Spiel gesetzt werden und k nnten nach erfolgreicher Suche direkt das zu rettende Individuum aufsuchen Es gibt jedoch noch keine im praktischen Einsatz befindliche Umsetzung 3 2 Multi Objective Intrinsic Evolution of Embedded Systems Dieses Projekt geleitet von Professor Dr Marco Platzner Paderborn zielt auf Embedded Systems ab Ein eingebettetes System bezeichnet ein System in das der Rechner bzw Computer in einem technischen Kontext eingebettet ist Das System kann dabei verteilt und autonom auf Teilsystemen laufen was dem Organic Computing Gedanken entspricht Die weit wichtigere Eigenschaft von Embedded Systems ist jedoch dass das System seine Steuerungs Regel und berwachungsfunktionen f r den Benutzer weitestgehend transparent verrichtet 21 3 2 1 Hintergrund und Ziele Die Vision ist es eine neu entstehende rekon figurierbare Hardware Arch
204. ody gt lt _foot gt Transformationsausgabe lt _foot gt lt trans gt Fakten lt fact gt lt _head gt Konklusion lt _head gt lt fact gt Oder lt implies gt lt _head gt Konklusion lt _head gt lt _body gt lt And gt lt And gt lt _body gt lt implies gt Anfragen lt query gt lt _body gt lt And gt Bedi BedN lt And gt lt _body gt lt query gt Integrit tsregeln lt ic gt lt _body gt lt And gt Bedi BedN lt And gt lt _body gt lt ic gt Reaktionsregeln lt react gt lt _event gt Ausl ser lt _event gt lt _body gt lt And gt Bedi BedN lt And gt lt _body gt lt _head gt Aktion lt _head gt lt react gt 4 1 3 Einsatz von RuleML RuleML wird von einigen Rule Engines wie zum Beispiel Mandarax unterst tzt Besonders offene Anwendungen legen Wert auf transparente Datenformate Der Einsatz von RuleML ist sinnvoll f r die Mo dellierung von Regelsystemen da sie einen effektiven und formalen Rahmen f r die Implementierung bieten Ferner ist die Verwendung von RuleML eine m gli che Basis f r die Entwicklung von Import und Export Formaten zwischen ver schiedenen Systemen und somit ein Ansatz f r eine standardisierte Speicherung von Gesch ftsregeln Rules im Org Comp 39 4 2 Drools Drools ist ein Open Source vorw rtsverkettendes Rule Engine Drools stellt ihre Notation auf der Basis der Metasprac
205. ogrammiert sein die kaufen und verkaufen um ihre ben tigten Ressoucen zu erhalten Das System ist selbst organisierend da sich der Gleich gewichtspreis einstellt Die Agenten des Systems handeln miteinander um die begrenzten Ressour cen des Systems Daf r steht ihnen virtuelles Geld zur Verf gung mit dem sie Angebote f r eine von ihnen ben tigte Ressource machen k nnen Sie werden versuchen m glichst wenig f r die ben tigte Ressource zu zahlen Agenten die diese Ressourcen besitzen bieten sie zu einem bestimmten Preis an und werden versuchen m glichst viel Geld zu erhalten Jeder Agent im System ist eigenn tzig und entscheidet selbst ob er momentan als K ufer oder Verk ufer agiert Ob ein Agent f r eine Ressource bietet oder seine eigene zum Verkauf anbietet h ngt von der lokalen Information des Agenten und dem aktuellen Marktpreis ab Je der Agent hat Preislimits die sowohl f r den Einkauf als Eink ufer bezahlt er nicht mehr als das Preislimit vorgibt als auch f r den Verkauf als Verk ufer verkauft er nicht unter diesem Preis verschieden sind Diese Preislimits sind jedoch nur lokal verf gbar und den anderen Agenten nicht bekannt Wie im Mo dell der Volkswirtschaftslehre wird sich ein Gleichgewichtspreis einstellen der ansteigt sobald die globale Nachfrage nach Ressourcen steigt Ebenso wird er fallen wenn die allgemeine Nachfrage nach Ressourcen f llt Wie schon im Abschnitt 4 1 CRL kommunizieren die Agenten bei
206. olicy Kontinuums Um den Anforderungen des Business Layers 58 A Meixner gerecht zu werden wurde besonderer Wert darauf gelegt dass die Policies un abh ngig von der IT Technik Hardware Software und die Syntax f r Menshen leicht verst ndlich und benutzbar ist Dar ber hinaus sollte die Sprache in allen wirtschaftlichen Bereichen einsetzbar sein SBVR definiert dafiir im wesentlichen zwei Konzepte Business Vocabulary und Business Rules Das Business Vocabulary ist eine aus dem jeweiligen wirtschaft lichen Bereich entliehene Menge von Begriffen und Ausdr cken zusammen mit einer Eindeutigen Beschreibung ihrer Semantik Das Konzept der Business Ru les definiert eine formale Syntax fiir Policies Mit Hilfe des Vokabulars und der Syntax k nnen dann Policies erstellt werden wie refsec SBVRBeispiel zeigt Zus tzlich enth lt die SBVR Spezifikation noch Definitionen von XML Schema ta f r den Austausch von Business Vocabularies und Business Rules 5 1 1 SBVR Beispiel 5 2 Das Ponder Framework Das Ponder Framework ist ein Projekt des Imperial College und mit inzwischen ber 15 Jahren Forschun und Entwicklung heute eines der ausgereiftesten 5 Es bietet neben einer Policy Sprache Ponder Policy Definition Language auch eine Sammlung von Management Tools die im Ponder Toolkit zusammengefasst sind Die Ponder Policy Specification langeaue ist eine objektorientierte Sprache die aus anderen objektorientierten Sprachen bekannten Mechanisme
207. olicy vorhanden ist besteht die Gefahr dass Policykonflikte auftreten Die Wahrscheinlichkeit solcher konflikte nimmt noch einmal zu wenn die Policies von verschiedenen Personen erstellt und ge pflegt werden Zun chst muss gekl rt werden welche Arten von Policykonflikten es gibt In 4 wird die Unterteilung in statische und dynamische Konflikte vor genommen Statische Policykonflikte sind unabh ngig vom System rein in der Definition der Policies begr ndet Das Beispiel in 1 zeigt ein Beispiel bei dem Tabelle 1 Statischer Policykonflikt Alle Benutzer der Gruppe Zeichner d rfen auf das Verzeichnis CAD zugreifen Der Benutzer TZ3 der Gruppe Zeichner darf nicht auf das Verzeichnis CAD zugreifen die erste Policy dem Benutzer TZ3 den Zugriff auf das Verzeichnis CAD er laubt und die zweite ihm diesen verbietet Dynamische Policykonflikte dagegen sind von Systemzustand abh ngig wie das Beispiel in 2 zeigt Ein Konflikt tritt hier nur auf wenn sowohl das Flag X PRIORIZE gesetzt ist als auch ein An hang mit mehr als 2MB versendet wird Eine Spezielle Art der Dynamischen Tabelle 2 Dynamischer Policykonflikt Falls das Flag X PRIORIZE gesetzt ist sende die email ber der IP Tunnel FASTLANE Falls ein Anhang mit mehr als 2MB versendet werden soll benutze nicht den IP Tunnel FASTLANE Policykonflikte wird in 3 angesprochen das Problem der Nebenl ufigkeit oder Concurrency Als Beispiel soll hier eine Software zur
208. on ZCS A zeroth level classifier system Evolutionary Computation 2 1 1 18 1994 Rules im Organic Computing Bekr Turki Hatam Universitat Augsburg bekralsultan hotmail com Zusammenfassung Das Ziel des Organic Computing ist es die in der Natur beobachteten Prinzipien technisch zu nutzen Organische Com putersysteme bestehen aus einer gro en Anzahl von Einzelkomponen ten und sie sollen die F higkeit zur Selbstorganisation haben Aus dem Zusammenwirken von diesen Komponenten entstehen neue Strukturen bzw Eigenschaften die Emergenz bezeichnet werden Emergenz ist ein wichtiger Aspekt der Selbstorganisation und zeigt wie die Beobachtung das lokale Handeln der Individuen eines sich selbstorganisierenden Sys tems ein globales beobachtbares Verhalten ergeben kann In dieser Arbeit werden die Begriffen Emergenz und Selbstorganisation n her betrachtet Unter Selbstorganisierenden Systeme versteht man auch Regelbasierte Systeme und wie man durch Menge von Regeln und Wissen neues Wis sen gewinnen kann Die Notation der einzelnen Regel erfolgt im if then Stil Das Schlie en von neuem Wissen geschieht nach zwei Strategien Vorw rtsverkettung und R ckw rtsverkettung Jedes regelbasierte Sys tem sollte einen Regelinterpreter haben der entscheidet welche Regeln angewendet werden und steuert das regelbasierte System Regelinterpre ter in regelbasierten Systemen ist auf die L sung bestimmtes Problem spezialisiert Aber in der Praxis nd
209. ondern optimalere L sungen angewendet werden Beim digitalen Pheromonpfad Eigenschaften dezentraler Koordinationsmechanismen 105 bedeutete Selbst Heilung dass die Agenten des Systems Pfade die nicht mehr zur Nahrung f hren nicht weiter verwenden und nach einer bestimmten Zeit diese Duftpfade verschwinden Bei der marktbasierten Kontrolle stellt sich nach dem Ausfall einiger Agenten immer wieder der Gleichgewichtspreis ein Das Sys tem heilt sich selbst da die Ressourcenverteilung auch nach dem Ausfall einiger Agenten wieder Pareto Optimiert wird Selbst Schutz bedeutet im Fall von CRL dass Agenten die schlechte L sungs ans tze einbringen wollen nicht ber cksichtigt werden Wenn diese Agenten nicht von ihren Nachbarn lernen wollen werden sie nicht am System teilnehmen k nnen da keiner Ihrer Nachbarn diese schlechtere L sung f r sein DOP verwen den wird Beim digitalen Pheromonpfad sch tzt sich das System vor l ngeren Wegen dadurch dass es wenigen Agenten nie m glich sein wird das Gesamtsys tem so zu beeinflussen dass ein l ngerer Weg bevorzugt wird Bei der marktba sierten Kontrolle sch tz sich das System vor Wucher indem mit diesen Agenten nie ein Handel zustande kommen wird Tabelle 1 Koordinationsmechansimen und realisierte Selbst x Eigenschaften Koordinationsmechansimus realisierte Selbst x Eigenschaften Gradientenfelder Selbst Konfiguration Selbst Optimierung CRL Selbst Konfiguration S
210. onen wiederum als Eingabewerte f r neue Regeln zu verwenden um so nochmals neue Informationen zu gewinnen Wir betrachten nun diese zwei Regeln 4 Fakten stellen die Datengrundlage f r die Rule Engine dar vgl Abschnitt 3 5 1 Rules im Org Comp 29 Ri if AAB thenH R2 if CVD then R3 iff AF AGthen J R4 if HVI thenK R5 if JAJ then L R6 if KAL thenM 1 Wenn ich miide bin dann gehe ich ins Bett 2 Wenn ich ins Bett Ziehe ich mir einen Schlafanzug an Der Zweite Regel ist von erster Regel abh ngig da die Bedingung zweiter Regel wahr wird sobald der Sprecher ins Bett geht D h es werden aus einer Informa tion in diesem Fall der Sprecher ist m de zwei neue Informationen in diesem Fall der Sprecher geht ins Bett und zieht ihm einen Schlafanzug an aus zwei verschiedenen Regeln gewonnen Aus den Konsequenzen von Regeln k nnen al so Informationen gewonnen werden die wiederum zur Pr fung der Bedingungen anderer Regeln verwendet werden k nnen Der Ablauf der Vorw rtsverkettung setzt sich wie folgt zusammen sehe Anhang A Abbildung 7 1 Matching Berechne alle Regeln deren Bedingungen bei den aktuellen Va riablenwerten erf llt sind 2 Konfliktl sung Trittkraft wenn mehre Regel anwendbar sind m gliche L sung W hle die Regel in welcher der Bedingungsteil sich auf m glichst neue Ein trage in der Datenbasis bezieht 3 Durchf hrung F hre die Anweisungen der ausgew hlten Regel aus Ein entsprechend
211. oordination in self organising emergent systems In S Brueckner S Hassas M Jelasity and D Yamins editors ESOA volume 4335 of Lecture Notes in Computer Science Springer 2006 M Wooldridge and N Jennings Agent theories architectures and languages A survey In ECAI Workshop on Agent Theories Architectures and Languages volume 890 pages 1 39 1994 M Wooldridge and N Jennings Intelligent agents Theory and practice Know ledge Engineering Review 10 2 115 152 1995 Emergentes Fehlverhalten Andriy Ostroverkhov Universit t Augsburg andriy ostroverkhov uni augsburg de Zusammenfassung Schnelle Entwicklung von Computer und Softwa resystemen kann sehr schlecht mit der alten Design und Enwicklungs methoden von diesen Systemen zusammenleben Die neuen Ans tze wie Selbst Organisation und Emergenz werden von den Forschern immer fter verwendet Die neuen Systeme werden immer mehr autonomer und selbst ndiger was aber sher oft zu unvorhersagbarem Verhalten f hrt Dieses Verhalten kann nicht nur unvorhersagbar sondern auch un erw nscht sein 1 Einleitung Die Entwicklung von Software und Computersystemen und damit verbunde ne steigende Komplexit t von diesen Systemen ben tigt die anderen Ans tze f r Entwicklung Design Evaluierung Integration und Kontrolle Fr her konnte man leicht das Systemverhalten vom Verhalten der einzelnen Teilen von die sen Systemen vorhersagen Somit k nnte man auch eine zentrali
212. oordinator die Kontrolle bernimmt Er trifft Entscheidungen f r alle Teilnehmer des gesamten Systems Das macht ihn in diesem zentralen Fall zu einem single point of failure Wenn er ausf llt geht die Kontrolle des gesamten Systems verloren Dezentrale Verfahren haben dieses Problem nicht was das System fehlerunanf lliger macht 2 2 Agenten Agenten sind die Aktuatoren in einem dezentralen System Sie bernehmen die Koordination und oder werden koordiniert Wie in 1 5 2 beschrieben sammelt jeder Agent Informationen aus seiner lokalen Umwelt und trifft daraufhin un abh ngig von anderen Agenten Entscheidungen Diese Entscheidungen h ngen von lokalen Entscheidungsparadigmen ab Die Kommunikation jedes Agenten mit seiner Umwelt kann sich sowohl auf die Umgebung als auch auf andere Agenten beziehen von denen er z B lernt oder mit denen er handelt Agenten k nnen z B Netzwerkkomponenten oder auch dynamische Objekte zur L sung eines Problems sein 2 3 Emergenz Diese Arbeit handelt von dezentraler Koordination d h dem Fehlen eines zen tralen Koordinators wodurch das System als Ganzes nicht kontrolliert werden kann Wie bei den Agenten siehe Abschnitt 2 2 beschrieben kann nur das Ver halten der einzelnen Agenten beeinflusst werden Ein aus deren Interaktionen entstehendes globales Verhalten wird in dieser Arbeit als emergent bezeichnet Laut 9 ist Emergenz folgenderma en zu verstehen Eigenschaften dezentraler Koordina
213. ork USA June 2004 June 2004 2 R Darimont and A van Lamsweerde Formal refinement pattern for goal driven requirements elaboration In Foundations of Software Engineering pages 179 190 4th Symposium on the Foundations of Software Engineering FSE4 1996 3 Jan Chomicki Jorge Lobo and Shamim Naqvi A logic programming approach to conflict resolution in policy management PBM amp OC 61 4 E Lupu and M Solman Conflict Analysis for Management Policies In Proceedings of the 5th International Symposium on Integrated Network Management IM 97 formerly known as ISINM San Diego USA Chapman and Hall May 1997 May 1997 5 P R G of the Imperial College London The ponder policy based management toolkit Available online at http www dse doc ic ac uk Research policies ponder PonderSummary pdf 6 T poisl Policy basiertes management einer it infrastruktur am beispiel des vpn dienstes Diploma Thesis September 2006 Available online at http www atis uka de download 2006_DA_Pois1 pdf 7 S van der Meer A Davey S Davey R Carroll B Jennings and J Strassner Autonomic Computing Prototype Implementation of the Policy Continuum 8 Yathiraj B Udupi Akhil Sahai and Sharad Singhal A classification based ap proach to policy refinement Modellierung paralleler Abl ufe in Organic Computing Systemen Nikolai Klimov Universit t Augsburg nikolail klimov informatik uni augsburg de Zusammen
214. produktion das bedeutet es gibt mehr Individuen in der neuen Generation als ben tigt werden Deshalb muss ein Selektionsprozess stattfinden der nach bestimmten Kriterien wie Umwelt und Nahrungsangebot die Besten einer Generation ausw hlt Dieses Verfahren hat Prof Der Ingo Rechenberg schon in den 70er Jahren ver sucht mathematisch zu formulieren und es in der Technik anwendbar zu machen Die untenstehende Abbildung 3 zeigt anhand eines einfachen Beispiels Rechen bergs Idde Sein Ansatz war es einen Vektor frei zu w hlen und zuerst ein Duplikat von diesem zu erzeugen Das Duplikat wurde dann an den einzelnen Komponenten mutiert Die Mutation an sich ist zuf llig und soll hier nicht ge nauer betrachtet werden Nun wird der Ursprungsvektor der sogenannte Elter und das mutierte Duplikat das sogenannte Kind mit Hilfe einer vorher festge legeten Qualit tsfunktion berpr ft Die Qualit tsfunktion versucht die G te beider Vektoren in Bezug auf eine Funktion zu vergleichen und den Besseren zu bestimmen Nach diesem Ranking der Vektoren wird der bessere ausgew hlt und das Verfahren beginnt wieder von vorne Wie man hier gut erkennt ist der Algorithmus wirklich der Natur nachempfunden Sowohl Variation Mutation als auch Selektion sind hier beobachtbar Rechenberg nannte dieses Verfahren die 1 1 Evolutionsstrategie Sp ter verfeinerte er das Verfahren immer weiter so dass es noch allgemeiner wurde Man kann in der allgemeinsten Form
215. pt and Prerequisites of Car2Car Communicati on 5th European Congress and Exhibition on ITS Juni 2005 C M ller Schloer Organic computing on the feasibility of controlled emergence In CODES ISSS 04 Proceedings of the international conference on Hardware Software Codesign and System Synthesis pages 2 5 Washington DC USA 2004 IEEE Computer Society Paul Kaufmann Marco Platzner Multi objective intrinsic evolution of embedded systems moves project website 5th spp1183 colloquium at university of l beck http www aifb uni karlsruhe de Forschungsgruppen EffAlg projekte oc inhalte inhalte FilesColloquiumLuebeck FilesColloquiumLuebeck 10 pdf September 2007 19 20 21 22 23 SPP1183 Organic Computing Phase I 169 C C O Prof Dr Christian Schindelhauer Smart teams local distributed strategies for self organizing robotic exploration teams 5th spp1183 colloquium at university of l beck http www aifb uni karlsruhe de Forschungsgruppen EffAlg projekte oc inhalte inhalte FilesColloquiumLuebeck FilesColloquiumLuebeck 13 pdf Sep tember 2007 Prof Dr Hartmut Schmeck Prof Dr Ing Christian M ller Schloer Prof Dr Theo Ungerer Antrag auf Einrichtung eines neuen DFG Schwerpunktprogramms Organic Computing http www aifb uni karlsruhe de Forschungsgruppen EffAlg projekte oc inhalte download SPP Antrag0C20040216 pdf Februar 2004 Prof Dr Ing Ch Ament Modellbasierter Entwurf von Steu
216. r Prozess den Vor rang hat entscheidet der Zeitstempel Der Niedrigere gewinnt Wenn neue Anforderungensnachricht eintrifft vergleicht der Prozess den Zeitstempel aus der empfangenen Nachricht mit dem Zeitstempel aus der eigenen gesendeten Nachricht Wenn der Empfangszeitstempel kleiner als eigener Zeitstempel sendet der Prozess OK Nachricht an den Sender Wenn aber umgekehrt Zwei Voraussetzungen m ssen allerdingt erf llt sein damit der Algorithmus richtig funktioniert erstens alle Ereignisse im System sind vollst ndig sortiert und zweitens alle Nachrichten werden zuverl ssig gesendet d h ohne Verluste Im verteilten System kann es mehrere kritische Bereiche geben In unserem Beispiel gehen wir davon aus dass es nur einen kritischen Bereich gibt Abbildung 22 a Die Prozesse A und C entschlie en sich unabh ngig vonein ander zur gleichen Zeit in den kritischen Bereich einzutreten Dazu sendet jeder eine Anforderungsnachricht an alle anderen im System Anforderungsnachricht besteht aus Prozessidentifikation und der Sendezeit b Da sich D im Zustand Ruhe befindet sendet er Best tigungsnachrichten an A und C Als A eine Anforderungsnachricht von C erhalt befindet er sich im Zustand Angefordert Deswegen vergleicht Prozess A den empfangenen C Zeitstempel mit seinem eigenem Zeitstemel C Zeitstemel gewinnt wegen 8 kleiner 12 A hat verloren und sendet deswegen eine Best tigungsnachricht an C C seinerseits
217. r verzahnt sind Selbstorganisierende Systeme m ssen mit Emer genz auf Grund ihrer Komplexit t leben Sie kommt auf Grund des Zusammen spiels der vielen Elemente auf einer unteren Ebene zustande Diese Emergenz kann positive Effekte haben kann aber auch Nachteile mit sich bringen 3 4 Architekturtypen Um den Anforderungen eines Organic Computing Systems gerecht zu werden gibt es verschiedene M glichkeiten das System zu designen Den Aufbau eines Systems bzw die Anordnung verschiedener Subsysteme und Komponenten die zusammen ein gro es System bilden nennt man Architektur In diesem Ab schnitt werden kurz verschiedene Architekturtypen vorgestellt und am Schluss anhand eines konkreten Beispiels illustriert Einfiihrung in Organic Computing 15 3 4 1 Observer Controller Der beliebteste Architekturtyp nennt sich Ob server Controller Diese Architektur wurde an der Universit t Karlsruhe und der Universit t Hannover entwickelt und entsteht durch geeignetes Zusammenf gen und Interaktion einzelner Bausteine die im folgenden Schrittweise angef hrt und erkl rt werden System under observation and control SuOC Dies ist unser eigentliches System das zu berwachen und kontrollieren ist Es zeichnet sich meist durch hohe Komplexit t aus die es erfordert automatische Mechanismen zur Administration zu verwenden Das System kann wiederum aus vielen interagierenden Elementen bestehen Eingaben Hierunter versteht man all das was dem S
218. rbeitsteilung zwischen System Softwarearchitekten die einen berblick ber das Gesamtsystem haben aber die Komponenten nicht im Detail kennen und Komponentenentwicklern die ihre Komponente genau kennen jedoch nicht das Gesamtsystem oder andere Kom ponenten ist es unm glich emergente Verhaltensweisen im Voraus zu erkennen 1 2 Ein neues Konfigurationsmodell f r die Zukunft Eine L sung f r vile der oben genannten Probleme soll das Policy Based Mana gement kurz PBM liefern Die Grundidee ist dass die Policies nicht mehr hart im Programmcode der Software codiert werden sondern dem System in einer Konfigurationsdatei Datenbank oder hnlichem direkt vom Systembetreiber mitgeteilt werden Damit reduziert sich der Aufwand f r die Softwareentwick lung da ein gro er Teil der Logik nicht mehr von den Entwicklern sondern den Systembetreibern implementiert wird Ein weiterer Vorteil ist dass ein System bei dem die Funktionalit t und Verhaltenssteuerung voneinander getrennt sind PBM amp OC 49 sich w hrend des laufenden Betriebes an neue anforderungen anpassen l sst Es ist aber auch klar dass PBM die heutigen Konfigurationsmechanismen nicht vollst ndig ersetzen sondern nur erg nzen und flexiebler machen soll Um den Pfad einer Log Datei oder die URL einer Datenbank festzulegen sind die heu te blichen Name Wert Paare am geeignetsten Allerdings sollen Policies diese Einstellungen m glichst automatisiert ndern und an d
219. rchsetzt in dem dass Systemen den Menschen bedient und nicht umgekehrt 26 B Turki Hatam Emergence amp Self Organization Self Organization Self Process 7 Gs gt N N KD Ce System Lower Level Environment Abbildung 1 Emergenz und selbstorganisierendes System 11 Bereits jetzt ist die Komplexit t der uns umgebenden vernetzten informations verarbeitenden Systeme zu gro um noch eine effektive globale Steuerung vor nehmen zu k nnen Lokalit t spielt bei der Beherrschung der Komplexit t eine wesentliche Rol le d h aber nicht dass ein globales Verhalten selbstorganisierender Systeme die Vereinigung des lokalen Verhaltens der einzelnen Systemkomponenten ist Die einzelnen Systemkomponenten haben selbst kein Wissen ber die gesam te Systemkomplexit t da sie auf Basis von Informationen agieren welche an ihrem momentanen Standort verf gbar sind Global notwendige Informationen werden anhand von Verteilungs und Propagationsmechanismen lokal verf gbar gemacht Deswegen erzeugen die Interaktionen zwischen den Systemkomponen ten vielmehr ein gr eres System als es alle einzelnen Komponenten k nnten Die Stabilit t beim Zusammenspiel gro er Zahlen von lokalen Steuerungen soll jedoch beobachtet werden 3 Regelbasierte Systeme Ein Regelbasiertes System ist ein Wissensbasiertes System in dem regelbasiertes Schlie en stattfindet 18 Diese Technik entstand Mitte des zwanzigsten Jahr hun
220. rden 104 M Boegler Dieses Modell f hrt laut 4 zu einer Pareto Optimierung des Systems Dies bedeutet laut 11 dass kein Beteiligter besser gestellt werden kann ohne einen anderen schlechter zu stellen Fiir diesen Algorithmus bedeutet das dass nicht zwingend eine globale optimale L sung gefunden wurde denn durch die Schlechterstellung eines unwichtigeren Agenten eine Besserstellung eines wichtigeren Agenten m glich w re was das System optimieren k nnte Von allen hier vorgestellten Algorithmen ist die Komplexit t der Agenten in diesem System am gr ten Sie m ssen eine Logik enthalten die vorgibt wann Ressourcen gekauft werden bzw zu welchem Preis verkauft wird Dies h ngt immer vom aktuellen Marktpreis und den lokalen Anforderungen des je weiligen Agenten ab Die Komplexit t der einzelnen Agenten ist jedoch klein im Vergleich zur Komplexit t wenn ein zentral organisiertes Gesamtsystem pro grammiert werden m sste An die Umgebung der Agenten wird keine besondere Anforderung gestellt Als Anwendungen wird in 3 beschrieben dass die Ressourcen Herstellungs maschinen die Bandbreite in einem Netzwerk oder Arbeitsaufgaben Tasks sein k nnen 5 Koordinationsmechansimen und realisierte Selbst x Eigenschaften Die vorgestellten Methoden zur dezentralen Koordination realisieren verschiede ne Selbst x Eigenschaften Die nun folgende Auflistung zeigt auf einen Blick wel cher Koordinationsmechanismus welche Selb
221. rden alles daf r tun dass es den Menschen in unserem Land gut geht Vor einer Wahl kann es jedoch geschehen dass die Partei diesen Vorsatz zu sammen mit eigentlich wichtigen aber auch unpopul ren Ma nahmen hinten anstellt um keine W hlerstimmen zu verlieren In diesem Fall wurde also gegen die Policy versto en Bei der n chsten Entscheidung die die Partei trifft wird die Policy jedoch wieder als Entscheidungshelfer herangezogen Policies gibt es aber nicht nur in der Politik sondern auch in allen anderen Gesellschaftsbereichen wie z B die 10 Gebote des Christentums die GoB in der Wirtschaft oder dass sich Jogger gr en wenn sich sich beim Laufen begegnen Auch hier gilt die Policy ist kein Gesetz sondern eine Hilfe beim Treffen einer Entscheidung und man kann sich jederzeit anders entscheiden als es die Policy vorgibt 48 A Meixner Sieht man sich in der Literatur zu diesem Thema um wird man schnell fest stellen dass der Begriff Policy sehr flexibel benutzt wird So wird sowohl eine einzige Regel wie die oben genannten als Policy bezeichnet aber auch ein ganzer Satz von solchen 1 1 Umsetzung von Policies in der IT Heute Die Umsetzung von Policies in der IT war bisher sehr starr Es wurden Systeme entwickelt die keine oder nur sehr wenige selbstst ndige Entscheidungen treffen konnten Dadurch war sichergestellt dass ihr Verhalten immer den Richtlinien entspricht Ein entscheidender Nachteil ist allerdings dass bei
222. rfolgt der Datenaustausch Die beschriebene Idee wird auch Rendevouz genannt 6 S 590 2 S 469 Ein weiteres Synchronisationsmuster ist Nachrichten bermittlung mes sage passing Ein Prozess A sendet die Nachricht message ber den Kom munikationskanal ein anderes sagen wir B empf ngt die Nachricht Bis zum Eintreffen der Nachricht bleibt B blockiert 6 S 590 2 S 469 2 3 Verklemmung In einem Rechnersystem mit mehreren Prozessen k nnen folgende Verklemmun gen auftreten Prozess P1 reserviert Betriebsmittel R1 z B Drucker und blo ckiert bis R2 z B Scanner frei wird Prozess P2 hat den Scanner schon re serviert und wartet auf Drucker Die Prozesse verklemmen sich siehe Abb 2 Ein hnlicher Fall kann in einem Transaktionssystem auftreten Prozess P1 will eine berweisung von Konto A nach Konto B t tigen und gleichzeitig Prozess Modellierung paralleler Abl ufe in OC Systemen 65 P2 eine berweisung von Konto B zu Konto A dann kann es zur Verklemmung kommen weil jeder Prozess muss Empf nger und Zielkonto sperren 2 S 474 Keiner der Prozesse kann weiterarbeiten sie blockieren sich gegenseitig Folgende Bedingungen f hren zu einer Verklemmung Jede Resource ist entweder verf gbar oder genau einem Prozess zugeordnet Prozesse die bereits in Besitz von Resourcen sind k nnen noch weitere Ressourcen anfordern Ringf rmige Blockierung von Betriebsmitteln P2 P1 Abbildung 2 Verklemmungssit
223. rieren so ist dies heute nur noch in bedingtem Ma e m glich Daf r sind die Abl ufe die in gro en Netzwerken stattfinden zu komplex Ein weite rer Nachteil der Wartung durch menschliche Administratoren entsteht auch bei hoch sicherheitskritischen Anwendungen sei es in der Industrie beispielsweise in einem Kernkraftwerk oder aber auch in eingebetteten Systemen wie Flugzeugen oder Autos In solchen Systemen w re es fatal wenn pl tzlich Kernfunktionen ausfielen ohne dass man sich um die Reparatur dieser k mmert zumal der Pilot oder Fahrer die internen Systemprozesse nicht berwachen k nnte Selbst wenn er es k nnte w re es nicht unbedingt sinnvoll Er m sste wom glich in k rzester Zeit richtig auf hochkomplexe Vorg nge reagieren wobei ihm nat rlich wahr scheinlich Fehler unterlaufen w rden Deswegen w re es gut solche Wartungs und Reparaturprozesse in irgendeiner Form zu automatisieren Im Folgenden werden verschiedene M glichkeiten dazu aufgezeigt Autonomic Computing der von IBM entwickelte Ansatz und Organic Computing das sich innerhalb der deutschen Forschergemeinde durchgesetzt hat 2 Autonomic Computing Der erste Ansatz zur L sung von Problemen in komplexen Systemen wurde von IBM aus der Natur abgeschaut und unter dem Namen Autonomic Computing vermarktet Im folgenden wird eine bersicht ber die Eigenschaften und die Architektur autonomer Computersysteme gegeben 2 C Stempfle 2 1 Definition P
224. roduziert eine Marke fur 74 N Klimov Abbildung 11 Petrinetz Dieses Petrinetz modelliert wechselseitigen Auschluss zwischen zwei unendlich laufenden nebenl ufigen Prozessen Prozess A befindet sich im kritischen Bereich Prozess B kann in den kritischen Bereich nicht ein treten da Stelle s4 kritische Ressource leer ist und deswegen Transition t2 nicht schalten kann Leere Stelle s4 entspricht der Situation dass einer der Pro zesse sich im kritischen Bereich befindet Erster Prozess hat die Knotenmen ge A sl t1 s3 t3 Zweiter Prozess hat die Knotenmange B s2 t2 s5 t4 Die Stelle s4 spielt dabei dir Rolle des Synchronisationspunktes Das Netz ist in der Anfangsmarkierung Befindet sich eine Marke in s4 hei t das dass der kritische Bereich frei ist und einer der Prozesse kann in den kritischen Bereich eintreten indem die Marke aus s4 entnommen wird Liegt gleichzeitig in sl s2 und s4 je eine Marke dann kann einer der Prozesse sich entscheiden in den kritischen Be reich einzutreten indem die Transition t1 oder t2 schaltet Wenn t1 schaltet entnimmt sie je eine Marke aus sl und s4 und legt eine Marke in die Stelle s3 Wenn t2 schaltet entnimmt sie Marken aus s2 und s4 und legt eine Marke auf s5 Die Invariante f r dieses Netz lautet die Stellen s3 und s5 d rfen niemals eine Marke gleichzeitig haben oder anders ausgedr ckt die Summe der Marken von s3 und s5 ist gleich 1 Modellierung paralleler Abl ufe in OC Systemen 75 j
225. s druck guard expression zu True ausgewertet wird wird gew hlt weitere Informationen zu kombinierten Fragmenten finden Sie in 5 Seite 468 70 N Klimov sd Drei Phasen Handshake Protokoll 4 l SYN 1 SYN ACK SYN 1 ACK SYN Abbildung 6 Beispiel fiir ein Sequenzdiagramm Das Diagramm modelliert Drei Phasen Handshake Protokoll Die horizontalen Nachrichten Linien sind mit Nachrichtennamen beschriftet Die Ereignisse sind durchdummeriert von 1 bis 6 Ereignis 1 tritt von Ereignis 2 auf Ereigniss 2 vor 3 uns so weiter 3 4 Kontrollstrukturen bei Sequenzdiagrammen Die Aktivierungsbalken bei Sequenzdiagrammen sind optional deswegen gibt es keine M glichkeit den Start das Beenden oder das Anhalten von Operationen grafisch darzustellen Deswegen ist textuelle Beschreibung n tig Die Prozesse in den Abbildungen 7 8 9 und 10 synchronisieren sich durch Nachrichten bermitt lung wie im Kapitel 2 beschrieben Die ausgehenden Nachrichten stoppen die aktive Ausf hrung des sendenden Prozesses Der Prozess blockiert bis er neue Nachrichten empf ngt Die Nachrichten selbst k nnen n tzliche Informationen speichern z B Daten an denen die Prozesse arbeiten AND Split In der Abb 7 wartet bzw blockiert Prozess X und Prozess Z solange mit der Ausf hrung bis sie eine Nachricht von Y erhalten Wenn der Prozess Y beide Nachrichten gesendet hat blockt er d h er stoppt mit der Ausf hrung weil er die Kontrol
226. s im Org Comp 41 Java Anwendungen integrieren l sst Au er den Kernelementen der Inferenzma schine sind aber keine weiteren Werkzeuge enthalten Am Markt sind auch noch keine ausgereiften Werkzeuge erh ltlich Drools bietet die M glichkeit Regeln in einem propriet ren XML Format zu erfassen oder mittels XSLStylesheet eigene Fachsprachen zu entwickeln 13 4 3 Vergleich In vorigen Abschnitten haben wir einen berblick ber RuleML und Drools gewonnen Die Beiden Regelsprachen sind Open Source Regeln k nnen mit Ru leML in nat rlicher Sprache in irgendeiner formalen Darstellung oder in einer Kombination von beiden darstellt werden Es gibt auch viele Tools Editoren und Translator die RuleML unterst tzen Aber trotzdem lassen die Regeln sich mit Drools leichter darstellen Drools wurde auch als Plugin in JBoss integriert Da die Verwendung von Rete Algorithmus die Performance erh rt sollte Drools bessere Performance als RuleML haben Schlie en von neuem Wissen aus vorhandenem Wissen und gegebenen Regeln geschieht bei RuleML nach R ckw rtsverkettungsstrategie wobei bei Drools geschieht es nach Vorw rts verkettungsstrategie RuleML stellt eine Initiative von verschiedenen Organisationen aus Indus trie und lehre dar die einen k nftigen Standard einer Beschreibungssprache f r Regeln definieren will Unter dem Gesichtspunkt dass Regeln im System technischen Sinne allgemein g ltige Regeln darstellen sollen kann ein solcher
227. sammenfassung von grundlegenden Richtlinien darstellt die bei der ob jektorientierten Analyse angewendet werden Wahrend die GoF Pattern konkret auf die Implementierung eingehen beschr nken sich die GRASP Pattern auf textuelle Empfehlungen Im Folgenden Abschnitt 3 sollen Entwurfsmuster fiir autonome dezentrale Systeme untersucht werden und den GoF und GRASP Pattern gegeniibergestellt werden 3 Design Patterns f r autonome dezentrale Systeme Der Begriff autonom stammt aus dem Griechischen und bedeutet selbstst ndig oder auch unabh ngig 7 Ein autonomes System soll demnach selbstst ndig und unabh ngig handeln k nnen Unter einem dezentralen System werden Systeme verstanden denen eine hier archisch bergeordnete koordinierende Instanz fehlt Die Koordination beruht in diesem Fall auf der Verhandlung zwischen gleichrangigen Einheiten Ein autonomes dezentrales System ist demnach selbst f r seine Koordination und die Beschaffung ben tigter Ressourcen verantwortlich um seine Aufgaben zu erf llen Das System ben tigt zu diesem Zweck eine geeignete Umgebung ber welche sie mit anderen Mitgliedern dieser Umgebung kommunizieren und interagieren kann In diesem Zusammenhang wird auch von dezentralen selbst organisierenden Systemen gesprochen Selbstorganisation ist nach 5 das spontane Entstehen von neuen r uml und zeitl Strukturen in dynam Systemen das auf das kooperative Wirken von Teilsystemen zur ckgeht Die Se
228. sch aber f r Selbst Organisation nicht n tig sind sind radikale Neuheit Mikro Makro Effekt Flexibilit t mit Beziehung auf Elementen und dezentralisierte Steuerung Falls eine der Eigenschaften fehlt ist es nicht der Fall der Emergenz Abbildung 1 b illustriert schematisch eine andere Situation Das System hat Mikro Macro Effekt aber es ist nicht selbst organisierend Die wesentli chen Eigenschaften sind hier increase in order keine Au enkontrolle und An passungsf higkeit Emergenz ohne Selbstorganisation ist bestimmt m glich Zum Beispiel in Physik kann Thermodynamik aus der statistischen Mechanik in einem stati on ren und somit nicht selbstorganisierenden System emergieren 23 Nehmen wir Gas als ein Beispiel von Material das ein bestimmtes Volumen im Raum hat Dieses Volumen ist eine emergente Eigenschaft das von den Wechselwir kungen z B Attraktion und Repulsion zwischen den individuellen Partikeln resultiert Jedoch solch ein Gas ist in einem station ren Zustand Die statisti sche Komplexit t bleibt derselbe im Laufe der Zeit d h die Partikeln k nnen ihre Positionen ndern aber der Betrag der Struktur bleibt derselbe In die sem Fall haben wir ein System dessen anf ngliche Bedingungen genug sind um emergente Eigenschaften aufzuweisen Emergentes Fehlverhalten 135 Anpassungsf higkeit bezieht sich auf das Bed rfnis ein Gleichgewicht zwi schen der Auswahl an einem spezifischen Verhalten und der R cksic
229. schreiben 18 wie diese Zuf lligkeit im Timing die Probleme mit fehlerhaften Schwei nahten l st die mit automati sierten Punktschweissenroboter produziert sind Ebenso obwohl ist es theoretisch m glich das Netzwerkstack zu modifizieren um Livelocks zu vermeiden in der Praxis kann es keinen Zugriff auf Quellkode geben In dieser Situation kann Livelock doch durch die Einf hrung von einem Rate Limiting Box stromaufw rts zum Livelock verhindert werden 17 Gribble 12 schl gt einige Designstrategien vor inkl die Benutzung von sys tematischen Overprovisioning Einla kontrolle Selbstpr fung und geschlo ene 144 A Ostroverkhov Kontrolleschleifen fiir die Adaptation Jedoch die Praxis wie von Parunak und VanderBok mitgeteilt wurde schl gt vor dass die Einf hrung von Kontroll schleifen kann eventuell das Problem mit emergentem Fehlverhalten nicht l sen Gribble schl gt auch vor eher solche Systeme zu entwickeln die Fehler schon im voraus erwarten und k nnen sie schnell beheben als die fehlerlosen Systeme zu bauen George Candea 2 weist hin dass die ganze Systemabhingigkeit durch die unvorhersagbar verhaltenden Komponente verringert werden kann Er schlagt zwei M glichkeiten vor wie man das erreichen kann entweder durch die Be grenzung von der Verbreitung des unvorhersagbaren Verhaltens oder durch den Schutz der Komponenten von der unerwarteten Eingabe Zum Beispiel Softwa resicherungen wie Brandmauer werfen di
230. sierte Steuerung f r diese Systeme benutzten Jetzt werden solche Systeme mehr komplexer und fr here Ans tze sind nicht mehr ausreichend Adaptive Algorithmen Machine Learning und k nstliche Intelligenz sind einige der Ans tzen die als Basis f r die neuen Designmethoden von solchen Software und Computersystemen diente Schon heute weisen viele moderne verteilte Systeme steigend verflochtene Struktur 13 z B ad hoc Netzwerke Transportsysteme usw Unterschiedliche Subsysteme h ngen von vielen anderen Subsystemen wirken aufeinander durch die komplexen dynamischen und unvorhersagbaren Wege Auch mehr und mehr von Systemen brauchen dezentralisierte Kontrolle und Struktur z B ad hoc Netzwerke und k nnen ihre Anforderungen nur autonom erf llen Zentralisierte Steuerung die heute viele existierende Systeme besitzen hat viele Nachteile wie Komplexit tsengp sse und sehr niedrige Robustheit Komple xit tsengpass f hrt nicht nur zum Stress und Verwirrung er begrenzt sehr stark die Progressgeschwindigkeit So ist es offensichtlich dass die neuen komplexen Systeme sollen dezentralisiert gesteuert werden Wir br uchten aber daf r einen radikal anderen Ansatz um diesen Engpass zu berwinden Ein Schritt nach vorne ist Autonomic Computing Initiative von IBM Als Inspiration haben die IBM Forscher autonomes Nervensystem von den Menschen genommen Ihre Vorschl ge daf r wie man das f r die neuen Systeme nutzen kann basiseren auf Feed
231. skontrolle sein was zur Zulassung von vielen Jobs in System mit begrenzten Resourcen f hrt Das k nnte auch der Implementierungsbug in einem Zeiplannungsalgorith mus sein der versucht die schlechten Zeitplannungsf lle zu vermeiden macht aber das Gegenteil F r jede Kategorie aus dem Abschnitt 4 1 sollte es m glich sein die Liste von generischen Ursachen zu bauen Diese Liste k nnte man f r die Ursache des emergenten Fehlverhaltens benutzen Die Liste ist wahrscheinlich nicht ersch pfend Systeme k nnen auch einzigartiges Fehlverhalten aufweisen es sollte aber doch m glich sein bestimmte Anzahl von Fehler zu bedecken Emergentes Fehlverhalten ist der Aspekt von ganzem System und nicht nur von einer Koponente deswegen viele von der Ursachen aus der Liste unten k nnen viele Komponente involvieren Hier ist die m gliche Liste von den Ursa chen des emergenten Fehlverhaltens Unerwartete Resourcen Sharing Der Designer hat vermutet dass die einzelnen Komponente den Zugriff nur auf separate Resourcen hatten wo bei sie aber Resourcen gemeinsam nutzen und diese Resourcen sind nicht ausreichend Wir denken ber die Resourcen als ber die Informatikabstrak tionen wie Berechnungen Speicher und Kommunikationmedia Echtweltsys teme haben auch die Probleme wegen den unerwarteten gemeinsamen Re sourcennutzung wie Energieversorgung oder Abk hlungssysteme Massive Scale Einige Kommunikationskomponene im System sind gro gen
232. sogar bestimmte Nischen einrichten in denen Individuen in Bezug auf die Selektion anders behandelt werden als au erhalb Somit hatte er ein Werkzeug geschaffen um Individuen je nach Beschaffenheit gezielter behandeln zu k nnen Er k nn te also Vektoren von denen er wei dass sie bez glich der Qualit tsfunktion schon sehr hochwertig sind isolieren und sie anders behandeln als neue zuf llig generierte Die genauere Behandlung w rde aber hier zu weit f hren 15 3 2 Selbstorganisation Ein wichtiger Begriff der bei Organic Computing Systemen immer wieder auf taucht ist jener der Selbstorganisation Da die Prinzipien des Organic Compu ting oft in verteilten eingebetteten System vorkommen ist Selbstorganisation ein nahezu unumg ngliches Konzept um den enormen Anforderungen solcher ge recht zu werden Auf der einen Seite sind Systeme dieser Art unheimlich komplex was die Anzahl der Knoten angeht die in einem solchen System berwacht und Einf hrung in Organic Computing 9 Elter Kind 1 Duplikat 2 Mutation lt X1 X2 5 gt Sy Va yo gt 3 Bewertung Qi Q2 ga 4 Selektion D s Abbildung 3 Die 1 1 ES von Rechenberg 15 korrekt verwaltet werden m ssen andererseits sollten gute Systeme nat rlich auch flexibel gegen ber nderungen der Konfiguration sein Ein menschlicher Administrator k nnte damit vollkommen berfordert sein Somit ist es f r Or ganic Computing Systeme unbedingt notwendig
233. sprechend der Problemstellung an 2 3 GRASP Patterns Neben den bekannten Design Pattern der Gang of Four existieren weitere Vorge hensweisen und Regeln wie beispielsweise die General Responsibility Assignment Software Patterns GRASP Craig Larman beschreibt in seinem Buch App lying UML and patterns 17 die GRASP Pattern als eine Art Lernhilfe um die fundamentalen Prinzipien des objektorientierten Designs OOD zu vermit teln Insgesamt neun GRASP Pattern sollen dem Softwarearchitekten helfen die Zust ndigkeiten von Objekten logisch und systematisch zu bestimmen Mit Information Expert High Cohesion und Controller werden drei der GRASP Pattern vorgestellt 114 M Burkhard Information Expert Intent Nach welchem soll die Zust ndigkeit vergeben werden Solution Die Klasse ist zust ndig welche die relevante Information besitzt Consequences Analogie aus der realen Welt High Cohesion Intent Wie kann Komplexit t reduziert werden Solution Weise Klassen nur m glichst stark zusammenh ngende Zust ndigkei ten zu Consequences Widerspruch zum GRASP Pattern Low Coupling m glich Controller Intent Wer ist f r die Entgegennahme von Systemevents zust ndig Solution Die Zust ndigkeit wird an eine Facade Klasse oder eine Use Case Klasse vergeben Consequences Der Zugriff erfolgt ber eine einheitliche Schnittstelle die vom Subsystem abstrahiert Die vorgestellten Patterns lassen bereits erkennen dass GRASP vorwiegend eine Zu
234. st x Eigenschaften mit sich bringt Selbst Optimierung und Selbst Konfiguration entsteht in jedem der vorge stellten Gesamtsysteme Bei den Gradientenfeldern wie auch beim digitalen Pheromonpfad zeigt sich die Selbst Konfiguration dadurch dass jeder Agent sein Ziel erreicht ohne dass ihm explizit einprogrammiert wurde wie er dieses Ziel erreichen soll Die Agenten eines CRL Systems konfigurieren sich indem sie von einander lernen und dadurch zu einer Selbst Optimierung des System ge langen Bei der marktbasierten Kontrolle zeigt sich die Konfiguration dadurch dass sich automatisch der Gleichgewichtspreis einstellt Bei der Selbst Optimierung des digitalen Pheromonpfades muss wie in Ab schnitt 4 2 erl utert die Einschr nkung gemacht werden dass der gefunden Pfad nicht der optimalste also k rzeste vom Nest zu Nahrung sein muss Es wird nur der optimalste aller gefundenen Pfade bevorzugt Auch bei der markbasierten Kontrolle entsteht wie in Abschnitt 4 3 schon erl utert lediglich eine Pareto Optimierung des Systems Bei CRL hingegen wird die optimalste L sung f r ein DOP gew hlt und bei den Gradientenfeldern der direkte also k rzeste Weg zur Quelle Hier kann es wie am Ende von Abschnitt 4 2 gezeigt zu Problemen kommen wenn sich ein Agent gierig auf eine Quelle zu beweget Selbst Heilung bei CRL zeigt sich dadurch dass schlechte L sungsans tze erkannt werden diese f r die Probleml sung nicht in Betracht gezogen werden s
235. steigende Komplexit t mit Komplexit t zu bek mpfen Dazu sollen Teile der reichlich vorhandenen Transistoren genutzt werden um OC Prinzipien zu inte grieren 3 4 1 Hintergrund und Ziele Mit diesem Konzept erhofft man sich eine h here Fehlertoleranz h here Performance bessere Energieausbeute bessere Diagnose und die F higkeit umgebungsbewusst zu sein Ein solches Konzept be darf einer neuen frischen und ganzheitlichen Betrachtung der Chip Architektur Eine neue Design Methode wird untersucht mit der fehleranf llige Bereiche eines Chips gesperrt und die Aufgaben auf andere Bereiche verteilt werden k nnen 3 4 2 Ergebnisse Zun chst wurden m gliche Fehlerarten identifiziert und Ans tze entwickelt wie auf diese zu reagieren ist F r die Bew ltigung dieser Aufgaben wurde das automic layer in die SoC Architektur integriert Dieser 156 M Buthut neue Layer impliziert Flexibilitat Lernen erlaubt Selbst Heilung und erm glicht zusatzlich eine systemweite Optimierung Da sich die Probleme aber in zwei Klassen einteilen lassen wurde auf der Hardwareseite der Autonomic Layer ein gefiihrt gleichzeitig wurde auf der Softwareseite eine Design Methodology ge schaffen mit der schon beim Entwurf von Anwendungen Fehler vermieden wer den sollen Autonomic Element Application Requirements amp Characteristics Architecture Optimization Evaluation A Y Functional FUNCTIONAL Layer Element
236. stembesitzer kann in der Situation geraten das Worst Case zu erleben Das Vorhersage von der Leistungsfahigkeit bedeckt viele Bereiche In vie len Situationen kann es sehr nutzlich sein die Moglichkeit zu haben emergentes Fehlverhalten zu vorhersagen Das Konzept Vorhersage von emergentem Fehlver halten selber kann oxymoronisch klingeln da einige Definitionen von emergentem Verhalten sind von Anfang an unvorhersehbar sind Dieses scheinbares Paradox hat mindestens zwei m glichen L sungen Die Definition von emergentem Fehl verhalten die es als unvorhersehbares durch die Analyse auf allen Niveaus die einfacher als das System allgemein sind beschreibt hat die Vorhersagem glich keit von den Verfahren die auf dem globalen Niveau gelten Zweitens wobei es unm glich wird das spezifische emergente Fehlverhalten vorher zu sagen es kann doch m glich vorhersagbar sein dass System auf bestimmtes nicht spezifiziertes Emergentes Fehlverhalten 145 emergentes Fehlverhalten anfallig ist Drittens kann es moglich sein emergentes Fehlverhalten anhand von globalen Symptomen vorher zu sagen 5 4 Testen auf emergentes Fehlverhalten Es ist berhaupt nicht wichtig wie gut wir die Techniken f r Vermeidung Dia gnose Verbesserung oder Reparieren von emergentem Fehlverhalten entwickeln k nnen die Komplexit t von jeweiligen Situationen kann den Aufwand leicht verwirren Es kann scheinen dass Problem mit emergentem Fehlverhalten gel st w
237. steme jedoch passen sich selbstst ndig an Diese Anpassungen basieren auf wahrgenommenen Ver nderungen des System oder Umgebungszustandes 2 6 Feedback Ein Verfahren zur Regulierung in dezentralen Systemen ist das Feedback Prin zip Es gibt zwei verschiedene Arten positives und negatives Feedback Positives Feedback wirkt als Verst rkung negatives Feedback als Bremse oder Regulator Als Beispiel wird in 5 ein Peer to Peer Netz aufgef hrt Je mehr Teilnehmer ein Peer to Peer Netz hat desto attraktiver wird es f r neue Peers was zu einer Erh hung der Teilnehmer f hrt Diesem positiven Feedback wirkt das negati ve Feedback entgegen das durch die schlechtere Performance des immer gr er werdenen Netzes entsteht Dieses Zusammenspiel f hrt zur Selbst Regulierung des gesamten Systems 3 Umgebungsgesteuerte dezentrale Koordination mit Gradientenfeldern Bei der umgebungsgesteuerten dezentralen Koordination wird die F hrung der Agenten von der Umgebung vorgenommen Auch die Koordinationsstruktur wird von der Umgebung und nicht von den Agenten selbst erstellt Die Teilnehmer folgen lediglich einer Art rotem Teppich 3 der von der Umgebung erstellt wurde Eine M glichkeit f r die Koordination dieser Art sind Gradientenfelder auch Verlaufsfelder genannt Ziel der Gradientenfelder ist es laut 4 mehrere autonome Agenten in ei ner Umgebung zu einer r umlich zusammenh ngenden Bewegung zu bringen um sie zu koordinieren Das Vorb
238. steme orga nisch genannt Organic Computing Systeme sind Systeme die sich den jeweili gen Umgebungsbed rfnissen dynamisch anpassen k nnen und die Eigenschaft besitzen selbst organisierend selbst konfigurierend selbst optimierend selbst heilend und selbst sch tzend zu sein Inspiration f r diesen jungen Fachbereich sind dabei Ph nomene und Verhaltensstrukturen aus der Natur Die Bedeutung und die Aktualit t der Organic Computing Ziele wurden zun chst durch die Organic Computing Initiative erkannt einer gemeinsamen Initiative der Gesell schaft f r Informatik GI und der Informationstechnischen Gesellschaft ITG SPP1183 Organic Computing Phase I 149 des Vereins Deutscher Ingenieure VDI Ziel dieser Initiative ist es die techno logischen Entwicklungen der n chsten Jahre absch tzen zu k nnen und dar ber hinaus die f r die Informatik entstehenden wissenschaftlichen Herausforderungen bez glich der Gestaltung zuk nftiger Informations und Kommunikationssyste me abzuleiten Die von der GI und ITG initiierte Forschungsinitiative hat aus diesem Grund das Schwerpunktprogramm Organic Computing der Deutschen Forschungsgemeinschaft geschaffen in dem z Zt 18 Projekte darunter zwei aus Augsburg gef rdert werden Im Rahmen dieser Arbeit werden neun ausgew hlte Projekte des SPP 1183 8 in einem Review abgehandelt 2 Organic Computing Grundlagen Organic Computing ist im Moment immer noch ein konzeptionelles Ger st da es noch
239. t Angeboten 5 3 Das IETF DMTF Policy Framework Diese Framwork bietet eine Sprache auf Basis der UML Die Grundlage f r alle Policydefinitionen sind das CIM Core Information Model das PCIM Policy Core Information Model und das QPIM QoS Policy Information Model Das CIM definiert einen kleinen Satz von Klssen und Relationen mit denen man Systeme Netzwerke Dienste und Applikationen also die Umgebung die durch Policies verwaltet werden soll modelieren kann Darauf aufsetzend wurde das PCIM entwickelt das es gestattet Policies zu definieren und inzwischen durch PCIMe erweitert wurde Auf dem PCIM setzt schlie lich das QPIM auf dass speziell f r QoS Policies im Bereich Netzwerkmanagement bestimmt ist Auf 60 A Meixner Grud des Umfanges dieser Spezifikation das PCIM alleine enth lt bereits 14 Strukturklassen und 15 Assotiazionsklassen und wurde mit PCIMe nochmals um 30 Struktur und 27 Assoziationsklassen erweitert siehe 6 nicht weiter behandelt werden 6 Aktuelle und zukiinftige Forschung policy refinement distribution der policy in verteilten systemen Im Fokus der Forschung standen bisher die Policy Sprachen Im universit ren Be reich wurden hier vor allem Sprachen fiir den Domain Layer im wirtschaftlichen hersteller und produktspezifische Sprachen entwickelt Mit dem IETF DMTF Framework ist auch schon ein internationaler Standard im Entstehen Auch fiir Policytransformationen im Bereich des Domain und Admin
240. t frei verf gbar Der erste Bestandteil sind generische evolution re Algorithmen Module mit deren Repr sentationsmodellen passende Operatoren und evolution ren Algorithmen Man startete die Implementierung eines rekonfigurierbarem System on Chip In der Hardware wird das mittels eines FPGA Layouts realisiert welches die CPU und die Logik beherbergt 13 F r eine Fallstudie wurde die Entwicklung ei nes Electromyography EMG Signal Klassifikator begonnen 18 mit dem eine Handprothese verbessert werden soll 3 2 3 Bewertung Mit Abschluss der Phase I wurden Modelle zur Repr senta tion eines aus sich selbst heraus entwickelnden Systems untersucht Dabei wurde der CGP Ansatz f r Embedded Systems angepasst und ver ndert Man entwi ckelte ein Framework mit dem man experimentell seine Ans tze umsetzen und kontrollieren kann 14 Desweiteren begann man mit der Implementierung eines 154 M Buthut self adapting System on Chips Erste Tests des Modells wurden in einer Fallstu die f r einen Signal Klassifikator einer Handprothese durchgef hrt In Phase II soll auf das Skalierungsproblem eingegangen werden die Implementierung des SoC vervollst ndigt und die intrinsische Implementierung des Controllers der Handprothese abgeschlossen werden Als weitere Fallstudie f r Phase II ist ein sich selbst entwickelnder Roboter Controller angedacht Der Controller soll dann EyeBots auf einem Fussballfeld steuern und somit anderen Robotern durch seine
241. t steuern zumindest aber die Steuerung dieser unterstitzen immer kom plexer werden wird zwangsl ufig das Interesse an Beherrschung dieser Komple xit t st rker werden wof r Organic Computing einen m glichen Ansatzpunkt bietet Dazu muss aber noch viel Grundlagenforschung betrieben werden um Prinzipien des Organic Computing in allt glichen Systemen einsetzen zu k nnen Das Ph nomen der Selbstorganisation muss dazu noch genauer erforscht werden Ebenso muss man sich auch noch Gedanken ber die konkrete und gewinnbrin gende Nutzung solcher Ph nomene in Systemen machen Am Ende dieser zwei Phasen steht dann der schwierigste Teil noch bevor die konkrete Implementie rung 10 S 334 f Das Smart Doorplate Projekt hat gezeigt dass es m glich ist solche Systeme zu entwickeln In den n chsten Jahren werden wohl noch komplexere Systeme dieser Art realisiert und marktreif werden Wohin uns die Zukunft genau f hren wird ist nat rlich wie in der Informatik so oft nicht genau vorherzusehen Literatur 1 Bobda and R Wanka Organic Computing Introduction Motivations Over view 2006 http www12 informatik uni erlangen de edu 0C SS06 1_0C_ introduction pdf abgerufen am 24 02 2008 10 11 12 13 14 15 16 17 18 19 20 21 22 Einf hrung in Organic Computing 21 IBM An architectural blueprint for autonomic computing http www 03 ibm com autonomic pdfs ACBP2_2004 10 04 pdf abg
242. tablierte sich rasant da er schnell in der Lage war Fragestellungen beantworten zu k nnen die teilweise bereits vor vielen Jahren formuliert wurden Dennoch wurden schon vor 2002 Teile der Organic Computing Prinzipien wie Selbstorganisation behandelt wenn auch in einem anderen Gesamtkontext Zugute kam dem Organic Compu ting das immer noch geltende Moores Law denn mittlerweile ist ein Stand der Entwicklung erreicht bei dem komplexe Rechenoperationen verschiedenste Sensoren und Kommunikationsm glichkeiten auf kleinstem Raum kosteng nstig produziert und vertrieben werden Bis 2012 werden Chips mehrere Milliarden Transistoren enthalten und damit noch komplexere Anwendungen erm glichen 20 Um von Beginn an die Entwicklung und Forschung besser steuern zu k nnen hat die IEEE eine Taskforce Emergent Technologies Technical Committee ETTC gegr ndet um die Erkenntnisse neuer Ans tze geordnet zu kontrollieren und Nor men zu schaffen 5 3 Ausblick Phase II In Phase II des SPP1183 die im Juli 2007 begonnen hat werden die grund legenden Untersuchungen zu Prinzipien selbstorganisierender Systeme vertieft da fast alle Projekte in Phase I die Grundlagen gelegt haben mit denen die experimentelle Erprobung generischer Architekturkonzepte und Werkzeuge erst m glich sind Die Zusammenarbeit der einzelnen Projekte untereinander wird dabei weiter intensiviert und die gesetzten Ziele angepasst Literatur 1 Christian M ller Schloer Chr
243. tative emergence poster 4th spp1183 colloquium http www aifb uni karlsruhe de Forschungsgruppen EffAlg projekte oc inhalte inhalte poster 10 pdf Februar 2007 Hartmut Schmeck Lei Liu Organic computing initiative SPP1183 Project Web site http www organic computing de spp 2007 Hella Seebach Frank Ortmeier Wolfgang Reif editor Design and Construction of Organic Computing Systems 2007 IEEE Congress on Evolutionary Computation 2007 P Horn Autonomic computing Ibm s perspective on the state of information technology 2001 Jakob Salzmann and Stephan Kubisch and Frank Reichenbach and Dirk Timmer mann Energy and Coverage Aware Routing Algorithm in Self Organized Sensor Networks In Fourth International Conference on Networked Sensing Systems pages 77 80 Juni 2007 Julian F Miller Peter Thomson editor Cartesian Genetic Programming Eu roGP2000 Springer Verlag 2000 P Kaufmann and M Platzner Multi objective intrinsic hardware evolution In Proceedings of the 2006 MAPLD International Conference Washington D C USA September 2006 P Kaufmann and M Platzner Moves A modular framework for hardware evolu tion In AHS 07 Proceedings of the Second NASA ESA Conference on Adaptive Hardware and Systems AHS 2007 pages 447 454 Washington DC USA 2007 IEEE Computer Society J O Kephart and D M Chess The vision of autonomic computing Computer 36 1 41 50 January 2003 T Kosch editor Technical Conce
244. tenorientierten Softwareengineering AOSE ist der Begriff des Agenten Eine Reihe von Artikeln 13 27 28 setzen sich detailliert mit den Konzepten des Agenten Software Agenten und der Multi Agenten Systeme auseinander und versuchen die Begriffe treffend zu umschrei ben und abzugrenzen Dennoch bestehen weiterhin gro e Meinungsverschieden heiten ber die zentralen Eigenschaften eines Agenten Nach 25 stellt die fol gende Beschreibung die n tzlichste und am weitesten akzeptierteste Variante dar An agent is an encapsulated computer system that is situated in some environment and that is capable of flexible autonomous action in that environment in order to meet its design objectives 28 Demnach verbirgt sich hinter einem Agenten ein System das sich in einem ge wissen Umfeld befindet und welches die F higkeit besitzt flexible und autonome Handlungen innerhalb dieses Umfeldes nachzugehen um seine zur Design Zeit festgelegten Ziele zu erf llen W hrend die Definition lediglich auf einen einzelnen Agenten eingeht ist f r diese Arbeit der Begriff des Multi Agenten Systems von zentraler Bedeutung Bei einem Multi Agenten System handelt es sich um eine Menge von einzelnen Agenten die nicht nur autonom handeln sondern auch miteinander interagieren k nnen um ein gemeinsames Ziel zu erreichen 1 Methodologie griechisch die Lehre von den in den Einzelwissenschaften angewen deten Methoden als Teil der Logik zentraler Ge
245. tiert Die gewonnen Grundlagen k nnen auch in vielen ande ren Anwendungsgebieten verwendet werden Jedoch bietet allein das Feld der Sensornetze breite Anwendungsspektren 4 Projekte im Fokus Im folgenden Kapitel wird auf zwei ausgew hlte Projekte n her eingegangen 4 1 Organic Traffic Control OTC Sie Stausituation auf den Stra en wird immer schlechter Die Kapazit t der Stra en reicht in Sto zeiten oftmals nicht aus um den Verkehrsfluss nicht ins Stocken geraten zu lassen Genau diesen Sachverhalt m chte man verbessern Dieses Projekt ist eine Kooperation von der Universit t Karlsruhe und der Uni versit t Hannover Das Projekt verwirklicht dabei ein dezentrales adaptives und selbst lernendes Systeme um den Verkehrsfluss bestehender Infrastrukturen zu maximieren 4 1 1 Hintergrund und Ziele Heutzutage verf gen Verkehrsknotenpunk te ber moderne Schaltanlagen f r die Ampelsteuerung Die Ampelsteuerun gen werden dabei aber an Hand von manuellen Datenerhebungen optimiert und auf fixe Schaltzeiten eingestellt Dabei kann zwischen mehreren Schaltzeit Programmen gew hlt werden Diese Auswahl ist aber fix anhand der jeweiligen Tageszeit und des Datums gesetzt Es werden die Schaltzeiten zu Stosszeiten entweder verk rzt oder verl ngert Die Motivation ist diese starre Verhaltens weise durch ein autonomes System zu ersetzen und die M glichkeiten bzw die Grenzen eines solchen dezentralen und adaptivem Ansatz zu beleuchten Ziel
246. ting Phase I 153 3 2 2 Ergebnisse Als Repr sentant einer sich selbst ver ndernden Hardwa re wurde das Cartesian Genetic Program CGP verwendet 12 Das CGP ist ein indizierter Graph der hnlichkeit mit einem k nstlichen neuronalem Netz hat Ein Programm wird als ein solcher Graph repr sentiert bei dem das Ganze als linearer String von Integers dargestellt wird Die Inputs bzw das terminal set sowie die Knoten Outputs sind sequentiell numeriert Die einzelnen Kno tenfunktionen sind eigenst ndig nummeriert Bl cke k nnen dabei mit AND OR oder n_n bit table lookup kombiniert werden Zweiter Bestandteil des Fra meworks ist das graphical user interface GUI F r die Untersuchung gewinnt man so einen schnelleren berblick ber die Auswirkungen der Optimierung 14 Dritter Bestandteil sind verschiedene Batch Mode Tools welche repr sentative Durchl ufe f r ein Experiment erzeugen Gleichzeitig besitzt es ein Interface zur Grid Computig Software Condor Abbildung1 Cartesian Genetic Program 18 Aufbauend auf dem Cartesian Genetic Program wurde das Modell f r die Bed rf nisse eines Embedded System angepasst und zum Embedded Cartesian Gene tic Program ECGP erweitert Zus tzlich wurden genetische Algorithmen im plementiert und das System auf ein multi objective System angepasst Um das System besser testen zu k nnen wurde ein Framework implementiert 14 Das Framework besteht dabei aus drei Hauptbestandteilen und is
247. tionsmechanismen 93 Emergenz lateinisch die Wissenschaftstheorie Das Auftreten neuer nicht voraussagbarer Qua lit ten beim Zusammenwirken mehrerer Faktoren Auch aus dieser Definition kann man erkennen dass ein Verhalten gemeint ist das aus den Aktionen der einzelnen Agenten als Gesamtes entsteht Dies kann auch als eine Art Synergie Effekt bezeichnet werden 2 4 Selbst Organisation Die Emergente Eigenschaft der Selbst Organisation eines Gesamtsystem besteht laut 10 aus vier Basiseigenschaften Selbst Konfiguration Selbst Optimierung Selbst Heilung und Selbst Schutz Unter Selbst Konfiguration versteht man laut 10 dass sich das System gem eines Ziels selbst konfiguriert Es wird angegeben welche Konfigurati on angestrebt wird jedoch nicht wie die Durchf hrung zum Erreichen des Ziels aussehen soll Ein Beispiel f r Selbst Konfiguration ist eine Software die sich unabh ngig vom Betriebssystem selbst installiert Als Ergebnis soll die Softwa re installiert sein Die Duchrf hrung welche Pakete installiert werden m ssen abh nging von der Umgebung entscheidet die Software jedoch selbst Selbst Optimierung bedeutet laut 10 dass ein autonomes Computersystem den Ressourcenbedarf optimiert Das System kann aus Eigeninitiative entschei den dass eine nderung vorgenommen wird um die Leistungsf higkeit zu ver bessern Wenn ein autonomes Computersystem Probleme erkennen diagnostizieren und beheben kann spricht m
248. treten Angenommen 2 passiert Task sende Nachricht staret und sendet an jeden Prozess im System eine Anfor derungsnachricht Wenn Task sende Nachricht beendet wurde wandert der Kontrollflu8 zum Intermediate Event mit dem Trigger Message hier wartet der Prozess auf Nachrichten Trifft neue Nachricht ein geht der Flu zum Ex clusive Decision gateway an dem 3 Bedingungen an ausgehenden Pfaden stehen Der Pfad dessen Bedingung zu True ausgewertet wird wird als Richtung f r Kontrollfluss gew hlt Das Intermediate Event mit dem Trigger Link scharzer ausgef llter Pfeil ist ein Go To Konstrukt mit dem von einem zum anderen Link Event schwar zer wei er Pfeil des Diagramms gesprungen werden kann 86 N Klimov Ingsnachricht DEI everznpoid Falls Warteschlange leer nachrichten HOLPEN MHO evaznpoid Abbildung 24 High Level Petrinetz mit der Markierung sA2 sA4 sB3 sB4 Linkes Teilnetz modelliert Prozess A rechtes Teilnetz Prozess B Das Netz zeigt die Situation im verteilten System wo A und B gleichzeitig in den kritischen Bereich eintreten wollen 87 Modellierung paralleler Abl ufe in OC Systemen X SS ZOJd ue AO pu s abuejyps yem sne x s z0Jg guuefue 199 Adu
249. tzlichen Informationen anzureichern wie z B die Glei Modellierung paralleler Abl ufe in OC Systemen 69 stopologie die Anti Kollisions berwachung etc Der Bildfahrplan stellt eine ein fache visuelle M glichkeit die Z ge auf einer Strecke zu berwachen 3 3 UML Sequenzdiagramme Sequenzdiagramme modellieren zeit basierten Flu von Ereignissen Ein Sequenz diagramm zeigt die teilnehmenden Prozesse oder Objekte oben als K stchen und die Nachrichten die zwischen Prozessen ausgetauscht werden als horizontale oder diagonalen Linien von oben nach unten in der Reihenfolge in der sie auftreten Entscheidend ist dabei die Reihenfolge der Ereignisse und nicht der pr zise Zeit punkt wann ein Ereignis aufgetreten ist Die Zeit verl uft von oben nach unten Jedes Objekt hat eine gestrichelte Lebenslinie die vertikal nach unten verl uft Synchrone Nachrichten werden mit einer gef llten Pfeilspitze asynchrone Nach richten mit einer offenen Pfeilspitze gezeichnet Die schmalen Rechtecke die auf den Lebenslinien liegen sind Aktivierungsbalken Sie zeigen den Focus of Control das ist der Bereich in dem ein Objekt ber den Kontrollfluss verf gt und aktiv an Interaktionen beteiligt ist Die Aktivierungsbalken sind aber op tional Das eigentliche Diagramm wird mit einem Rahmen umschlossen In der linken oberen Ecke des Rahmens befindet sich ein Rechteck wo sd steht gefolgt vom Diagrammtitel Das Sequenzdiagramm in der Abb 6 modelliert
250. u auf Sequence Flow or Message Flow haben aber sie bieten Informationen ber das was Akti vit ten f r die Arbeit ben tigen oder und was sie produzieren werden Text Annotations ist ein Konstrukt f r die Modellierer um zus tzliche Informationen f r die Leser eines BPMN Diagramms zur Verf gung zu stellen 3 8 Kontrollstrukturen bei Business Process Diagrammen Kontrollstrukturen bei Business Process Diagrammen AND Split BPMN benutzt den Begriff Gabel um das Konzept der Teilung eines Pfades in zwei oder mehr parallele Pfade zu bezeichnen Wenn Taskl in der Abb 17 beendet wird und teilt der Gateway den Kontrollflu in zwei Pfa de Task2 und Task3 werden nebenl ufig ausgef hrt In BPMN verwendet man Parallel Forking gateway um AND Split auszudr cken Der Raute hat ein innen drin XOR Split Exclusive Decision gateway in der Abb 18 Task 2 H Task 1 D Task 3 Abbildung 17 BPMN AND Split lenkt den Kontrollfluss in Abh ngigkeit vom Wert der boolischen Ausdr cke conditionl und condition2 XOR gateway w hlt den Pfad dessen boolischer Ausdruck True ist Die Raute bleibt entweder leer oder es wird ein X plat ziert XOR Join BPMN benutzt den Begriff Zusammenf gen um exklusives Zusammenf hren von zwei oder mehr Pfaden zu einem zu bezeichnen In der Ab bildung 20 flie t der Kontrollfluss weiter sobald einer der beiden nebenl ufigen Tasks Task2 oder Task3 beendet wurde Kontrollf
251. u l sen beginnt jeder Agent sein Dis kretes Optimierungsproblem DOP mit Hilfe von RL zu l sen Das Ergebnis z B die Kosten f r Probleml sungen wird den Nachbarn zur Verf gung gestellt Deren Ergebnisse werden ebenfalls gespeichert wobei diese Informationen ber eine bestimmte Zeit abklingen Damit wird modelliert dass Informationen nur eine bestimmte Zeit g ltig sind Somit hat jeder Agent einen berblick welcher Nachbar welches Problem mit welcher Effizenz l sen kann und wie alt dieser L sungsansatz schon ist Die DOP k nnen so an andere Agenten weitergegeben werden damit diese das Problem effizienter l sen Durch die Kommunikation mit den Nachbarn k nnen die Agenten erkennen wer von ihren Nachbarn eine bessere Probleml sung gefunden hat Ein Agent kann versuchen die optimierte Methode seines Nachbarn zu verwenden um sein DOP zu l sen Dies wird als gemeinschaftliches Feedback bezeichnet Sollte das DOP durch die neue Methode besser gel st werden kann ein positives Feed back erzeugt werden siehe Abschnitt 2 6 Dadurch erkennt die Gruppe der Nachbaragenten dass mit diesem verbesserten L sungsansatz das Problem effi zienter gel st werden kann Es wird das eigene Verfahren verbessert indem von den Methoden der Nachbarn gelernt wird ber die Zeit hinweg wird immer die optimalste Probleml sung aus einer Reihe von L sungsversuchen der Nachba ragenten f r ein lokales Problem ausgew hlt Das erzeugte positive Feedbac
252. uation Kreise Resourcen Rechtecke Prozes se Prozess P1 ist in Besitz der Resource R1 und fordert zus tzlich die Resource R2 an Prozess P2 ist Besitz von Resource R2 und fordert zus tzlich die Resource R1 an Keiner der Prozesse kann weiterarbeiten 2 4 Parallele Kontrollstrukturen Unter einem Kontrollfluss versteht man in der Informatik die Reihenfolge der Ausf hrung einzelner Anweisungen Operationen etc Um die Richtung des Kon trollflusses grafisch darzustellen werden in den meisten Diagrammenypen durch gezogene Linien mit Pfeilspitze gezeichnet z B in Petrinetzen und in BPMN Ein Modellierer kann die Routen des Kontrollflusses unter anderem mit spezi ellen Kontrollstrukturen lenken Jede Kontrollstuktur ist mit einem boolischen Ausdrick ausgestattet der dann ausgewertet wird wenn der Kontrollfluss an der Kontrollstruktur angekommen ist Jede Kontrollstruktur hat immer mindestens einen eingehenden Pfad und mindestens einen ausgehenden Pfad Man sagt der Kontrollfluss flie t entlang der Pfade 66 N Klimov Wie am Bespiel in der Abb 1 gezeigt wurde kann ein sequentieller Kon trollfluss in zwei oder mehrere nebenl ufige Kontrollfl sse aufgespalten werden fork Der umgekehrte Vorgang dass zwei oder mahr nebenl ufige Kontroll fl sse vereinigt werden nennt man join Diese zwei Arten der Steuerung der Kontrollfl sse k nnen noch in zwei Varianten unterteilt werden AND Split Parallel Split erlaubt einen s
253. ug um dem globalen Verhalten Aufstieg zu geben wenn sogar einzelne Komponente ein einfaches Verhalten haben Dezentralisierte Kontrolle Allgemein sch tzen wir ein dezentralisiertes System mehr als ein zenralisiertes System obwohl wir wissen dass die Zen tralisierung es oft einfacher macht das System zu implementieren und zu 142 A Ostroverkhov steuern Huberman und Hogg 15 haben eine theoretische Analyse durch geftihrt wie ein verteiltes System ohne zentralisierte Steuerung von un volst ndigem Wissen und verz gerter Information leiden kann und somit Oszillieren und Chaos aufweisen Miskonfiguration Viele Fehler in komplexen Systemen wie inkonsistente Netzwerk Routing Policies oder Backupsysteme kann man zur Miskonfi guration z hlen W hrend man behaupten kann dass die Miskonfigurati on einfach das Form des Implementierungsfehlers in Wirklichkeit ist das h ufig einfach schwierig f r Bediener die globalen Konsequenzen ihrer lo kalen Konfigurationswahlen zu verstehen Zentralisiertes Konfigurationma nagement kann manchmal dieses Problem vermeiden aber kann nicht f r Systeme anwendbar sein die aus vielen administrativen Dom nen zusam mengesetzt sind Unerwartete Eingaben oder Ladungen Viele Systeme reagieren sehr schlecht auf unerwartete Eingaben oder unerwartete Ladungen Nicht alle solche Fehlverhaltenarten sind emergent Denken Sie jedoch daran dass es schwierig sein kann die Grenzen des Systems
254. urde wobei das nur ein wenig verbirgt wurde Deshalb brauchen wir auch die Techniken um das System auf emergentes Fehlverhalten testen zu k nnen Das Testen von einem komplexen System hat immer gro e Herausforderungen Zum Beispiel Armando Fox 10 schl gt vor dass die Bedienungen die zu emergentem Fehlverhalten f hren sind nicht immer w hrend des Testens bekannt oder erkennbar Die L sung kann solche Techniken zum Reproduzieren von letztem emergentem Fehlverhalten oder eher der Konfi guration beinhalten die zu dem gef hrt hat Es w re auch m glich die Bedienun gen automatisiert basierend auf der Klassifikation von Ursachen Abschnitt 4 2 zu generieren Die anderen Herausforderungen beinhalten die Notwendigkeit der automatisierten Entdeckung des emergenten Fehlverhalten Abschnitt 5 1 weil die extensiven Testingprotokolle automatisiert werden sein m ssen und k nnen nicht auf Menschen verlassen um festzustellen ob ein Test durchgefallen ist Selbstverst ndlich k nnen die dom nespezifischen Techniken der meistzweck m ige Ansatzt f rs Testen sein Wie im Abschnitt 3 3 demonstriert wurde die Routingprotokolle wie BGP k nnen komplexes und unerw nschtes Verhalten aufweisen das teilweise als emergent klassifiziert werden kann Nick Feamster und Hari Balakrishnan 6 haben gezeigt dass die statische Analyse von BGP Konfigurationsinformation durch den ganzen ISP und nicht durch jeden Router viele BGP Kofigurationsfehler
255. uting 17 Einstufig Dezentral ken Senden d DEn GE ES Hierarchisch Abbildung 7 Verschiedene Architekturformen 15 beschrieben darstellen Diese Architekturformen des Observer Controller Mo dells nennt man hybrid 15 3 4 2 Autonomous Middleware for Ubiquitous eNvironements Ein Vertreter einer auch in der Praxis implementierten Architektur ist die AMUN Architektur AMUN steht dabei f r Autonomus Middleware for Ubiquitous eNvironments Dabei ist das Ziel einer ubiquitous environment dass die Umgebung den Menschen durch Allgegenw rtigkeit von kleinen Rechnern un terst tzt AMUN erweitert im Wesentlichen das uns schon bekannte Observer Controller Modell und verfeinert dies Hier soll nur ein kurzer berblick gew hrt werden 14 5 2 22 AMUN ist ein Ansatz einer autonomen organic Middleware f r eine Umgebung innerhalb eines Geb udes Eingesetzt wird sie beispielsweise im Rahmen des Smart Doorplate Projektes an der Universit t Augsburg Ziel dieses Projektes war die Umsetzung eines intelligenten Leitsystems das inner halb eines Geb udes Besucher dynamisch den Weg zum richtigen B ro oder Raum weist Die Middleware AMUN selbst besteht aus vier Hauptteilen wie auch in Abbildung 8 veranschaulicht wird Transport Interface Diese Schnittstelle hat als Aufgabe die Nachrichten ber mittlung vom benutzten Transportsystem zu entkoppeln Somit wird eine gewisse Abstraktion geschaffen In der unte
256. von einem zuf lligen Backoff Nehmen wir an dass A einen kleineren Backoffwert als B ausw hlt Danach wird A ein Paket senden und die beiden Hosts sehen das Kanal wieder als frei Die beiden senden wieder gleichzeitig Pakete was eine neue Kollision verursacht Jedoch der Host A hat die letzte Kollision gewonnen sein Kollisionsz hler wurde zur ckgesetzt und das erwartete zuf llige Backoff wert von B ist gr er als das von A Insofern wird A wahrscheinlich wieder gewinnen und die Chancen von B werden immer verschlechtern 138 A Ostroverkhov 3 3 2 Router Synchronisierung Die Routers tauschen periodisch ihre Rou ting Protokollnachrichten Man glaubt dass in einem gro en Netzwerk ein kon stantes Hintergrundniveau von Routing Protokollnachritenverkehr gibt Floyd und Jacobson 8 haben aber gezeigt dass in einem Netzwerk wo es schein bar unabh ngige periodische Prozesse gibt k nnen diese Prozesse versehentlich synchronisiert werden Den bergang passiert aber nicht stufenweise sondern pl tzlich So ist es schwer voraus zu sehen wenn jemand nicht sorgf ltig nach sieht Sie haben auch gezeigt dass die Synchronisierung auch mit der Einf hrung von einer gen gend gro en zuf lligen Komponente in der Routing Protokoll Up dating Zeit vermieden werden kann 3 3 3 Route flap damping in BGP Das Border Gateway Protocol BGP schafft den Basis fiir Routing zwischen ISP im Internet Internetlinks gehen jede Zeit herauf und hinab und g
257. werden Eine Aktivit t ist ein allgemeiner Begriff f r Arbeit dass eine Organisation leistet Task und Sub Process sind Aktivit ten Ein Event ist etwas was passiert Sie beeinfl en den Flu des Prozesses Es gibt 3 Grund typen von Events Start Intermediate und End Events Jeder Grundtyp hat weitere Typen die nach ihren Triggern unterschieden werden Events sind Krei se im Zetrum k nnen Marken platziert werden um verschiedene Trigger zu unterscheiden Verschiedene Linienstiele dienen zur Unterscheidung von Event Grundtypen Start Events haben eine Linie Intermediate Events zwei Linien End Events eine dicke Linie siehe Abb 16 Der Begriff Ereignis ist allgemein genug um viele Dinge im Gesch ftprozess zu beschreiben Starten einer Akti vit t Beenden einer Aktivit t Zustandswechsel eines Dokumentes eine Nach richt die eintrifft etc all das k nnte man als Freignisse auffassen Start und die meisten Intermediate Events haben Ausl ser Trigger die die Ursache des Er eignisses beschreiben Es gibt 6 Trigger von Start Events in BPMN None Mes sage Timer Rule Link und Multiple None Start Event wird in beiden Business Process Diagrammen im Kapitel Machbarkeitsstudie verwendet Start Events starten eine Aktivit t der Trigger bestimmt welches Ereigniss das Event ausl st Es gibt 8 Trigger von Intermediate Events None Message Timer Error Compensation Cancel Rule Link und Multiple Diese
258. wurde von Charles Forgy entwickelt 20 6 Der Baum wird hier umgedreht weil der Baum mit den Pr missenknoten als Bl tter beginnt und im Aktionsknoten als Wurzel endet 32 B Turki Hatam Pramissenknoten V Verbindungsknoten Q Aktionsknoten Regel mit 1 Pr misse Regel mit 2 Pr missen Abbildung 4 Knotentypen beim Rete Algorithmus 20 Regelinterpreter zu entwickeln die die Prinzipien von Organic Computing ver wenden und universell verwendbar sind Solche Interpreter wurden Rule Engines genannt 2 Rule Engines sollte freie Definitionen von Regeln und deren Anwendungen auf beliebiges Wissen erm glichen Der erste Versuch in dieser Richtung war das Expertensystem MYCIN 15 Der wichtigste Schritt in dieser Richtung war das System CLIPS das eine universelle Regelsprachen bot mit denen Exper tensysteme f r unterschiedliche Anwendungsbereiche realisiert werden konnten 8 CLIPS kann als Vorl ufer heutiger Rule Engines angesehen werden und aus CLIPS ist eine der heute erfolgreichen Rule Engines Jess siehe Abschnitt 3 6 hervorgegangen In diesem Abschnitt werden die Bestandteile Einer Rule En gine dargestellt und es wird erl utert wie die Aufgaben in einer Rule Engine verarbeitet werden wie die Regeln definiert werden wie sie auf eine Datenbasis angewendet werden k nnen 7T MYCIN wurde 1972 von der Standford University entwickelt und zur Diagnose von Infektionskrankheiten und deren Therapie durc
259. yp MAPE Komplexe Systeme m ssen im Vorhinein geplant werden um eine Umsetzung und Implementierung berhaupt m glich zu machen Dabei spielt der Architek turtyp eine zentrale Rolle Unter Architektur versteht man in der Informatik im Allgemeinen das Zusammenspiel der Komponenten eines komplexen Systems 17 Ein beliebter Architekturtyp in autonomen System ist das sogenannte Monitor Analyze Plan Execute oder kurz MAPE welches von IBM entwickelt wurde Typischerweise bestehen autonome Systeme aus autonomen Elementen wie in Einf hrung in Organic Computing 5 Abbildung 1 dargestellt Diese sind wiederum eigenst ndige Subsysteme die entweder Ressourcen beinhalten oder Dienste anbieten Ein autonomes Element besteht typischerweise wiederum aus einem oder mehreren managed elements die an einen einzelnen autonomen Manager gekoppelt sind Auf einer niedrigen Abstraktionsebene kann es sich bei einem Element um eine Hardware Ressource wie Festplatte Prozessor oder Drucker handeln aber auch um Software wie eine Datenbank Ein Element kann aber auch auf einer h heren Ebene angesiedelt sein also eine ganze Applikation umfassen 12 31 37 Autonomic element Autonomic Manager Managed element Abbildung 1 Autonomes Element 12 S 31 Der autonome Manager ist das Herzst ck der MAPE Architektur Er ist f r die Automatisierung der Funktionen zust ndig die das System self managing machen Die vier
260. ystem zum Arbeiten bergeben wird Dies k nnen Parameter aus der Umgebung oder von anderen komplexen Systemen sein Ausgabe Alles was das System nach Ausf hrung seiner Operationen wie der ausgibt wird unter diesem Punkt zusammengefasst Dies k nnen ver schiedenste Informationen seien angefangen von Kontrollsignalen f r andere Ger te bis zum aktuellen Status des SuOC der an andere angeschlossene Systeme oder die Umwelt ausgegeben wird Observer Ein Hauptbestandteil des Systems stellt diese Beobachtungsein heit dar Sie ist daf r zust ndig das SuOC in irgendeiner Form zu ber wachen Dazu greift sie alle erh ltlichen Informationen vom SuOC ab und gewinnt dadurch ein Bild vom aktuellen Systemstatus Eine weitere schwie rigere Aufgabe des Observers ist es aus den aktuellen Daten die er durch Messungen bekommt zuk nftiges auch emergentes Verhalten vorherzusa gen Daf r m ssen aber die erhaltenen Informationen geeignet interpretiert werden was wiederum eine Schwierigkeit bei einer konkreten Implementie rung aufwirft Observation model Um zu wissen welche Informationen aus dem System besonders wichtig sind ben tigt die Beobachtungseinheit ein sogenanntes observation model Hier wird definiert welche Informationen aus dem Sys tem beobachtet und ausgelesen werden sollen in welcher Form sie analysiert und aggregiert werden und wie die Vorhersage des zuk nftigen Systemsta tus zustande kommt Dieses Modell kann all
261. zustand und legt die Reaktion des Systems fest bzw konfiguriert optimiert es entspre chend Observer und Controller k nnen wie in Abbildung 1 f r das Gesamtsystem ver antwortlich sein oder es kann einen Observer bzw Contriller f r jeden Systemteil geben Eine andere M glichkeit sind hierarchisch angeordnete Observer Control ler beispielsweise ein Observer f r jeden Systemteil und dar br ein Observer der diese Observer berwacht 50 A Meixner Controller Abbildung 1 Observer Controller Architektur eines OC Systems 2 3 Verhaltenssteuerung in der OC Architektur Da Policies genau dazu dienen Verhalten zu steuern sind sie ein ideales Mittel fiir die Realisierung des Controllers ind der OC Architektur Das Verhalten in diesen Systemen kann man wie bei allen verteilten Systemen in zwei Katego rien einteilen lokales Verhalten und globales Verhalten Das lokale Verhalten beschreibt die Aktionen und Reaktionen innerhalb eines kleinen abgegrenzeten Systemteiles Das globale Verhalten die auf der Ebene des Gesammtsystems Wo das lokale Verhalten auch mit heutigen Methoden relativ einfach festzule gen ist ist das globale verhalten sehr viel schwieriger zu beeinflussen Neben der h heren Komplexit t auf Systemebene spielt das Ph nomen der Emergenz eine wesentliche Rolle Unter Emergenz versteht man ein Verhalten das auftritt obwohl es aus der Betrachtung aller zum System geh rigen Komponenten nicht ableitbar ist In OC
Download Pdf Manuals
Related Search
Related Contents
Thawing cabinet Tina 1200 Tina 180 Service manual 取扱説明書 - 日立の家電品 7 Glass Cups Digital Yogurt Maker RHYM C/C++ Compiler Package for M16C Series and R8C Family V.6.00 Installation and Operating Instructions - Antti VLS Instruction Plan 4-8 Beko HSA 32540 freezer KOHLER K-8928-CP Installation Guide 取扱説明書 - After Sales Service Copyright © All rights reserved.
Failed to retrieve file