ForSa@OC-Trust
Überblick
In ForSa@OC-Trust wurden formale Methoden, Software-Engineering-Ansätze und Algorithmen für vertrauenskritische Organic Computing Systeme entwickelt. Dabei stand die Gewährleistung funktionaler Korrektheit und Safety im Vordergrund. Die Arbeiten beinhalten formale Modellierung und Analyse von vertrauenskritischen Systemen und Methoden zur Beobachtung von Systemen zur Laufzeit. Weiterhin wurde untersucht, wie sich die Konstruktion vertrauenskritischer Organic Computing Systeme standardisieren und vereinfachen lässt und wie sich Maßnahmen zur Gewährleistung von Vertrauenswürdigkeit in den Entwicklungsprozess integrieren lassen. Schließlich wurden Algorithmen, die Vertrauenswerte einbeziehen und deren Korrektheit gezeigt werden kann, entwickelt und in vertrauenskritischen Szenarien eingesetzt. Eine Anwendungsplattform aus dem Energiebereich, das Trusted Energy Grid, und die darauf aufbauende Anwendung "Autonome Virtuelle Kraftwerke" dienten der Evaluation und Demonstration der entwickelten Techniken.
Beschreibung
Systeme, die sich selbst organisieren, die dynamisch zur Laufzeit ihre Struktur verändern und die in Umgebungen eingesetzt werden, deren dynamische Entwicklung unvorhersehbar ist, können nicht mit klassischen Software-Engineering-Methoden konstruiert und analysiert werden. Insbesondere, wenn ein System missions-kritisch ist, also unter keinen Umständen ausfallen oder Schaden verursachen darf, muss sichergestellt sein, dass Funktionalität und Betriebssicherheit und damit ihre Vertrauenswürdigkeit gewähreleistet sind. Besondere Herausforderungen stellen dabei die Unsicherheit über die Umgebung und die komplexe, sich verändernde Struktur der Systeme dar. Ein Beispiel für eine Domäne, in der solche Systeme eingesetzt werden könnten, ist das Energiemanagement und insbesondere die dezentrale Steuerung der Energieversorgung.
Um die Herausforderungen handhabbar zu machen, wurden in ForSA@OC-Trust Methoden entwickelt, die es ermöglichen, formale Aspekte, Softwaretechnik und Algorithmik für vertrauenskritische Organic Computing Systeme miteinander zu verbinden. Dabei wurden drei konkrete Ziele verfolgt:
1. Kontrolle emergenten Verhaltens durch Korrektheits- und Safety-Betrachtungen zur Laufzeit und Designzeit
Die Systemfunktionalität vertrauenskritischer OC-Systeme ergibt sich aus den Interaktionen einer großen Anzahl von Elementen. Vertrauensaspekte spielen eine wichtige Rolle im Zusammenspiel der Elemente, insbesondere bei Interaktionen zwischen unbekannten Partnern. Hinzu kommen noch die große Heterogenität der Systeme und ihre Offenheit. Daher ist es sehr schwierig, Korrektheits- und Safety-Betrachtungen für das Gesamtsystem zur Designzeit durchzuführen.
Alternativ lässt sich allerdings mit Hilfe von Laufzeitverifikation die Korrektheit des Systems sicherstellen. Als Grundlage dient dabei die Spezifikation eines weichen Verhaltenskorridors, der die Bedingungen definiert, unter denen das System korrekt funktioniert und es erlaubt, Beziehungen zwischen diesen Bedingungen anzugeben. Außerdem lassen sich gezielte Gegenmaßnahmen mit der Verletzung der Bedingungen verbinden.
Ähnlich wie bei funktionaler Korrektheit ist es aber auch bei Safety schwierig, in einer offenen, heterogenen, dynamischen Umgebung im Voraus Analysen durchzuführen. Daher wird an dynamischen Safety-Modelle geforscht, die zur Laufzeit erstellt und analysiert werden können.
Durch die Interaktion zwischen Agenten in Organic Computing Systemen entstehen implizit oder explizit Subsysteme bzw. Hierarchien innerhalb derer die Agenten gekapselt sind (Systems of Systems). In vielen Fällen ist es nicht so, dass das Ziel der einzelnen Agenten auch dem Ziel des Subsystems entspricht, zu dem sie gehören, oder gar dem Ziel des Gesamtsystems. In ForSA@Oc-Trust wurde deshalb an den Zusammenhängen zwischen Zielen auf verschiedenen Systemebenen und den für die einzelnen Ebenen definierten Bedingungen geforscht.
2. Methoden für vertrauenskritische Organic Computing Systeme
Zur Sicherstellung der Vertrauenswürdigkeit in vertrauenskritischen Organic Computing Systemen ist es erforderlich, vertrauensbildende Maßnahmen schon beim Entwurf dieser Systeme einzuleiten und sinnvoll einzusetzen. Da bisherige Software-Entwicklungsmethoden entweder nicht anwendbar sind oder die Anforderungen nur unzureichend erfüllen, wurden Methoden entwickelt, die die systematische Konstruktion vertrauenskritischer Organic Computing Systeme ermöglichen.
In diesem Zusammenhang wurden Referenzarchitekturen für die in den Fallstudien entwickelten Einsatzgebiete definiert sowie Patterns für den Umgang mit Vertrauenswerten und für Mechanismen zur Steigerung der Ausfallsicherheit und Datensicherheit erstellt. Auf dieser Grundlage wurde eine Guideline spezifiziert, die vorgibt, wie diese in existierenden Software-Entwicklungsmethoden eingesetzt werden müssen, um wirksam Vertrauenswürdigkeit zu erzielen. Unter Einbeziehung formaler Aspekte und der hierarchischen Organisation der betrachteten Systeme wird daraus dann ein Leitfaden für die Konstruktion vertrauenskritischer Organic Computing Systeme.
3. Umgang mit Unsicherheit in Algorithmen
Optimierungsverfahren müssen in vielen Fällen auf Vorhersagen über die zukünftige Entwicklung eines Systems zurückgreifen. Jedoch sind diese Vorhersagen in der Regel fehlerhaft und führen deshalb zu schlechten oder unbrauchbaren Ergebnissen, was besonders in sicherheitskritischen Systemen ein großes Problem darstellen kann. Außerdem kann der Fehler von Vorhersage zu Vorhersage variieren. Bei Ausfall von Systemkomponenten, die bei der Optimierung mit einbezogen wurden, müssen deren Aufgaben von anderen Systemkomponenten übernommen werden, um das System weiterhin stabil zu betreiben. Genauso können aber auch während der Laufzeit neue Komponenten hinzukommen, wodurch das System eine andere Struktur aufweist als zum Zeitpunkt der Durchführung der Optimierung angenommen.
Um mit diesen Problemen umgehen zu können, wurden in ForSA@OC-Trust Methoden entwickelt, die mit Hilfe von Vertrauenswerten die Unsicherheit quantifizierbar machen und diese Werte in Optimierungs- oder Strukturierungsalgorithmen einbeziehen.
Autonome Virtuelle Kraftwerke
Im Stromnetz müssen Stromerzeugung und -verbrauch stets im Gleichgewicht sein. Um dieses Ziel zu erreichen, müssen allerdings die Unsicherheiten berücksichtigt werden, die durch einen schwankenden Energieverbrauch und durch stochastische Energieerzeuger verursacht werden. Stochastische Energieerzeuger sind insofern problematisch, als sie eingeschränkt steuerbar sind und ihre Leistung schwer vorhersagbar ist, da diese entweder vom Wetter (z.B. im Fall von Wind- oder Solarkraftwerken) oder vom Verbraucherverhalten (z.B. im Fall von Kraft-Wärme-Koppler-Anlagen in Haushalten) abhängt. Hinzu kommt, dass die Anzahl an Verbrauchern und Energieerzeugern, speziell an stochastischen Energieerzeugern, stark zunimmt.
Ein Ansatz, um mit dieser steigenden Unsicherheit und Komplexität umzugehen, sind Autonome Virtuelle Kraftwerke (AVPPs) (siehe Anders et al., 2010). Hierbei wird die Kraftwerkslandschaft in Verbünde von Kraftwerken (AVPP) unterteilt. Ein AVPP ist ein selbstorganisierender, selbstadaptiver und selbstoptimierender Verbund verschiedener Kraftwerke, der selbstständig die benötigte Strommenge zur Verfügung stellt. Um eine proaktiv vorausplanende Steuerung der Kraftwerke zu ermöglichen, geben die einzelnen Kraftwerke Leistungsprognosen ab, d.h. eine Vorhersage, wie viel Energie sie in der nächsten Zeit bereitstellen werden bzw. können. Verbraucher erstellen ebenfalls eine Prognose ihrer wahrscheinlichen Last. Mit diesen Informationen kann ein AVPP Fahrpläne für die regelbaren Kraftwerke erstellen. Bei falschen Prognosen passt ein reaktiver Mechanismus in den Kraftwerken die Fahrpläne entsprechend an. Das Erstellen der Kraftwerksfahrpläne ist ein Optimierungsproblem mit sehr großem Suchraum, der durch die Unterteilung der Kraftwerkslandschaft in AVPPs stark reduziert wird.
AVPPs organisieren sich selbst, wenn Änderungen an der Struktur notwendig sind, z.B. wenn ein AVPP permanent zu wenig Strom produziert und Strom von anderen AVPPs hinzukaufen muss. Um eine den Anforderungen gerechte Aufteilung von Kraftwerken in AVPPs zu erreichen, ist die Formierung der AVPPs von diversen Faktoren abhängig, u.a. vom Energiemix, von der Durchmischung an vertrauenswürdigen und nicht vertrauenswürdigen Kraftwerken und von der abzudeckenden Last.
Um mit der Unsicherheit in Energiesystemen umzugehen, berücksichtigen AVPPs die Vertrauenswürdigkeit von Kraftwerken. Ein wichtiger Aspekt davon ist die Glaubwürdigkeit (Credibility) von Erzeugern; als glaubwürdig gelten Erzeuger, die ihre prognostizierte Leistung auch tatsächlich liefern können. Des Weiteren spielt die Zuverlässigkeit (Reliability) von Erzeugern eine wichtige Rolle. Diese gibt Auskunft darüber, wie oft ein Kraftwerk ausfällt und vom Netz geht. Vertrauenswürdigkeit von Kraftwerken findet bei den AVPPs zur Laufzeit in zweierlei Hinsicht Verwendung: zum einen bei der Formierung von AVPPs, wo eine gute Durchmischung von vertrauenswürdigen und nicht vertrauenswürdigen Kraftwerken für jedes AVPP hergestellt werden soll, und zum anderen bei der Erstellung der Kraftwerksfahrpläne, wo, soweit möglich, nicht vertrauenswürdige Kraftwerke weniger an der Stromproduktion beteiligt sein sollen, als vertrauenswürdige Kraftwerke. Trust spielt aber auch auf anderen Systemebenen eine Rolle, z.B. zwischen den AVPPs beim Handeln von Energie (liefert ein anderes AVPP auch immer so viel Energie wie versprochen?). Durch a priori Analyse und Analyse zur Laufzeit lassen sich außerdem die Facetten funktionale Korrektheit und Safety untersuchen. Die Anwendungsplattform und darauf aufbauend die Anwendung "Autonome Virtuelle Kraftwerke" wurden in einer Simulationsumgebung (siehe Abbildung) umgesetzt.
Neben den AVPPs profitieren weitere Anwendungen im Energiebereich durch die Verwendung von Vertrauenswerten. So ist es für einzelne Stromabnehmer schwierig, eine Lastreduktion am Energiemarkt anzubieten, da dort nur relativ große Strommengen gehandelt werden. Deswegen schließen sich Unternehmen, Behörden und andere Verbraucher in statischen Verbraucherverbünden zusammen, die dann, z.B. wenn in der Mittagszeit in den Kantinen die Öfen eingeschaltet werden, Lastreduktionen zu einem bestimmten Zeitpunkt anbieten können. Verbraucher, deren Energiebedarf nicht so gut vorausplanbar ist, sind von solchen starren Konstrukten aber ausgeschlossen. Oft wäre es sinnvoll, wenn Verbraucher autonom andere Stromabnehmer finden, mit denen sie sich dann kurzfristig zusammenfinden, um gemeinsam am Markt aufzutreten. Da aber in solchen Fällen nur kurzfristige Beziehungen bestehen, muss sichergestellt sein, dass die Partner vertrauenswürdig sind und die versprochene Strommenge auch tatsächlich zum versprochenen Zeitraum abfragen. Auch diese dynamischen Verbraucherverbünde (siehe Ruiz et al., 2009) werden also erst durch das Einbeziehen von Vertrauen ermöglicht.
Die beiden skizzierten Anwendungen waren die Grundlagen für die abstrakten Konzepte des Trusted Energy Grid. Dafür wurden die wichtigsten Konzepte und Zusammenhänge in Energiesystemen identifiziert, die dann in die Referenzarchitektur einflossen. Die Referenzarchitektur wurde als Anwendungsplattform implementiert und die Anwendung der Autonomen Virtuellen Kraftwerke in einer Simulationsumgebung umgesetzt.
Team
- Telefon: +49
Institut für Software & Systems Engineering
Das Institut für Software & Systems Engineering, geleitet von Prof. Dr. Wolfgang Reif, ist eine wissenschaftliche Einrichtung in der Fakultät für Angewandte Informatik an der Universität Augsburg. Das Institut unterstützt sowohl Grundlagen- als auch angewandte Forschung in allen Bereichen der Software & Systems Engineering. In der Lehre ermöglicht es die weitere Entwicklung des relevanten Kursangebots von Fakultät und Universität.