GI TAV 37 A Framework for Testing Self-organisation Algorithms Benedikt Eberhardinger, Gerrit Anders, Hella Seebach, Florian Siefert und Wolfgang Reif
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2000: 9833 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 3
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2001: 19709 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 4
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2002: 27537 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 5
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2003: 36482 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 6
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2004: 57098 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 7
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2005: 83690 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 8
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2006: 103142 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 9
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2007: 126087 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 10
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2008: 162185 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 11
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2009: 228916 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 12
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2010: 313819 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 13
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2011: 397371 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 14
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2012: 447354 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 15
Ausbau erneuerbarer Energien in Bayern Offenheit: Unterschiedliche Anlagen-Hersteller Verschiedene Energieversorger Regulatorische Rahmenbedingungen Integriert in europ. Verbundnetz Größe: Anzahl Anlagen nach EEG im Jahr 2013: 463439 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 16
VGB Power Tech GmbH 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 17
Zentrale Lösung Energieversorger A Energieversorger B 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 19
Problemdekomposition Hierarchien Energieversorger A Energieversorger B 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 20
Bei der Entwicklung selbst-organisierender Systeme spielt Testen eine entscheidende Rolle Selbst-organisation kann eine Grundlagentechnologie für den Bau zukünftiger System sein, aufgrund von: Robustheit und Flexibilität Offenheit und Interoperabilität Testen ist unabdingbar, um das Vertrauen in diese Systeme zu gewährleisten. 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 21
Corridor Enforcing Infrastructure (CEI) Definiert durch Constraints Produktiv Rekonfiguration Produktiv t Observer Controller SuOC 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 22
Herausforderungen Charakteristiken von SO Algorithmen: Inhärent indeterministisch Sich ständig verändernde Umgebung Starke Interaktion zwischen unterschiedlicher Komponenten Verschränkung von Handlungen Herausforderungen im Testen: (C1) Verschränkte Kontrollschleifen (C2) Fehlerüberlappung (C3) Zustandsexplosion 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 23
Framework IsoTeSO generates Test Run 1 System Configuration 1 Test Sequence 1 Test Sequence m executes concerns generates Test Run Result 1 Input Component generates generates Test Run l System Configuration l Test Sequence 1 executes Execution Component executes monitors Output Component generates generates Test Run Result l Test Sequence m concerns 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 24
Input Komponente Erzeugt automatisch Test Runs basierend auf stochastischem funktionalen Testmodell Input Component Test Run System Konfiguration Menge von Agent unterschiedlichen Typs Initialzustand der Agenten Gruppierung der Agenten Systemstruktur Testobjekt Parametrisierung des Testobjekts Testsequenz Testsequenz Testsequenz Testsequenz Testeingaben Kontext Umwelteinfluss Testeingaben Kontext Umwelteinfluss Testeingaben Testeingaben Kontext Kontext Umwelteinfluss Umwelteinfluss 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 25
Test Model Beschreibung des Testsettings Beschreibung des SO-Algorithmus Domänenmodellierung Kontextabhängige Modellierung Probabilistisches Modell der Zustandsänderungen der betreffenden Komponenten System Konfiguration Testsequenz Testsequenz Testsequenz 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 26
Test Model Beschreibung des Testsettings Beschreibung des SO-Algorithmus Domänenmodellierung Kontextabhängige Modellierung Probabilistisches Modell der Zustandsänderungen der betreffenden Komponenten System Konfiguration Testsequenz Testsequenz Testsequenz 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 27
Execution Komponente Führt Test Runs aus, hierfür wird 1. das System aufgesetzt und initialisiert Gewährleisten der Reproduzierbarkeit Zufalls-Seed im System verteilen Kontrolliertes Scheduling Kontrollierte Nebenläufigkeit Schnittstelle für Gray-box Ansatz 2. die Testsequenzen ausgeführt Ausführung basiert auf ein Agentensystem Schrittweises Ausführungsmodell Kohärente Synchronisationspunkte Execution Component 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 28
Execution Komponente Führt Test Runs aus, hierfür wird 1. das System aufgesetzt und initialisiert Gewährleisten der Reproduzierbarkeit Zufalls-Seed im System verteilen Kontrolliertes Scheduling Kontrollierte Nebenläufigkeit Schnittstelle für Gray-box Ansatz 2. die Testsequenzen ausgeführt Ausführung basiert auf ein Agentensystem Schrittweises Ausführungsmodell Kohärente Synchronisationspunkte Execution Component 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 29
Output Komponente Zeichnet Test Runs auf und wertet diese aus und setzt sich aus folgenden Teilen zusammen: 1. Testmonitor zum Aufzeichnen der Daten während der Ausführung Zustände des SO Algorithmus Zustand des Testsystem vor und nach Reorganisation 2. Testorakel zum Auswerten der Daten Constraint-basiert Wertet Zustände des SO-Algorithmus wie auch des Testsystems aus Output Component 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 30
Output Komponente Zeichnet Test Runs auf und wertet diese aus und setzt sich aus folgenden Teilen zusammen: 1. Testmonitor zum Aufzeichnen der Daten während der Ausführung Zustände des SO Algorithmus Zustand des Testsystem vor und nach Reorganisation 2. Testorakel zum Auswerten der Daten Constraint-basiert Wertet Zustände des SO-Algorithmus wie auch des Testsystems aus Output Component 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 31
Anwendung im Smart Grid Szenario SO Algorithmus: SPADA Anführer optimiert seine Partition bzgl. der Durchmischung und entscheidet, 1. ob neue Agenten integriert werden 2. Mitglieder ausgeschlossen werden 3. evaluiert die Durchmischung 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 32
Architektur des Testsystem 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 33
Testmodel 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 34
Testsituation Implementierung des Frameworks in Java TEMAS als Multi-Agenten-Framework 12 Rechner gleichzeitig parallel Zwei Test-Modi: 1. Vorabgenerierte, feste Test Runs für alle 2. Automatische Generierung auf den Rechner direkt Fault-Injection zur Evaluation des Frameworks 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 35
Injizierter Fehler in SPADA 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 36
Injizierter Fehler in SPADA Gibt Partitionierung für einen Agenten zurück Wenn eine Partition größer als maxpartitionsizefailure-anteil der Gesamtgröße des Systems ist, werden Agenten aus dem Cluster entfernt entfernt 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 37
Auswirkung injizierter Fehler Die erstellte Partitionierung enthält nicht alle an der Reorganisation beteiligten Agenten Wird die Struktur im System übernommen, so werden einige dieser Agenten keiner Partition hinzugefügt Es bilden sich Subsysteme, die nicht mehr vom SO Algorithmus kontrolliert werden Problem: Es sieht nach der Verteilung nach einer validen Struktur aus. Eine Fehlerwirkung kann erst später auftreten. 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 38
Auszug aus dem Test Run: System Configuration SO Algorithmus Konfiguration/Parametrisierung Initial Partitionierung 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 39
Auszug aus dem Test Run: Test Sequence 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 40
Auszug aus dem Test Run: Test Sequence 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 41
Automatisierte Auswertung in Black-Box Sicht 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 42
Automatisierte Auswertung in Black-Box Sicht Überprüft die Systemstruktur nach Abschluss der Reorganisation Zu prüfende Agenten und Partitionsgröße ermitteln Prüfung der System- Constraints, hier Beschränkungen bzgl. der Partitionsgröße 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 43
Automatisierte Auswertung in Gray-Box Sicht 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 44
Automatisierte Auswertung in Gray-Box Sicht Prüfung wird aus dem SO Algorithmus während des Tests aufgerufen Ergebnisse zur Partitionierung werden validiert Gray-Box kann bei Bedarf zuund abgeschalten werden 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 45
Auswertung des Gray-Box Orakel 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 46
Zusammenfassung & Ausblick Selbst-organisierende Systeme können auf Grund ihrer Robustheit, Flexibilität und Offenheit Probleme heutiger und zukünftiger Systeme effizient lösen Testen ist ein wichtiger Faktor die Systeme zur Marktreife zu bringen Das vorgestellte Framework ermöglicht es automatisiert SO Algorithmen zu testen und adressiert dabei folgende Herausforderungen: (C1) Verschränkte Kontrollschleifen (C2) Fehlerüberlappung (C3) Zustandsexplosion 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 47
Presentation? Audience 5. Februar 2015 A Framework for Testing Self-organisation Algorithms 48