Dieses durch die DFG geförderte Projekt dient der Entwicklung von Methoden zur Validierung von SLAs für serviceorientierte Architekturen mit Hilfe von simulativen und analytischen Modellen.
Unsere Ziele sind:
Bei der Planung von SOAs ist nicht nur die korrekte Funktionalität von Bedeutung, sondern auch nichtfunktionale Eigenschaften wie Antwortzeit, Zuverlässigkeit und Durchsatz. Existieren Leistungsengpässe in einzelnen Komponenten führt dies zwangsläufig dazu, dass das Gesamtsystem nicht die erforderliche Leistung erbringen kann. Insofern ist eine detaillierte Spezifikation der zu erbringenden Leistung und Zuverlässigkeit genauso wie deren Validierung als Teil des Entwurfs und Betriebs von SOA notwendig.
Aus diesem Grund werden funktionale und nichtfunktionale Eigenschaften von Diensten in Service-Level Agreements (SLAs) festgehalten. Diese dienen als eine Art Vertrag zwischen Dienstleister und Kunden. Der Dienstleister kann Garantien für die Leistung seines Dienstes geben wen der Kunde sich an festgelegte Grenzen für die Auslastung hält.
Das Zeil dieses Projekts ist, die frühzeitige Leistungsbewertung von SOA unter Einbeziehung von SLAs mit nichtfunktionalen Eigenschaftenon zu verbessern. Dies soll mit Hilfe von Modellen geschehen. So können schon in frühen Entwurfsphasen Systeme gegenüber SLAs validiert werden.
Für eine Modellierung ist es notwendig, dass eine formale Spezifikation von nichtfunktionalen Eigenschaften in SLAs bereit steht. Im Projekt soll die Spezifikation ausgehend von vorgegebenen Basismustern erarbeitet werden.
Der weitergehende Schritt ist nun, dass im Modell existierende System auf seine Leistungsfähigkeit hin zu untersuchen. Im Projekt sollen zwei verschiedene Wege beschritten werden: Analytische Verfahren und Simulation.
Für die simulative Auswertung von Modellen service-orientierter Architekturen wird die im SFB559 entwickelte Modellierungsumgebung ProC/B um statistische Verfahren zur SLA Validierung ergänzt. Dieser Projektteil kann auf weitreichende vorhergehende Arbeiten (Links hier hin) aufbauen.
Ein für die Analyse von Datennetzwerken genutztes Verfahren ist der Network Calculus. Er beschreibt Schranken für Last und Bedienrate für Netzwerkelemente und folgert daraus deren maximale Reaktionszeit. Die Schranken im Network Calculus ähneln den Vorgaben von SLAs an Service-Orientierte Architekturen, deshalb erachten wird diesen Ansatz, Network Calculus zur Modellierung von SOAs zu verwenden, als zielführend.
Die Herausforderung für die Systemmodellierung mit Network Calculus unter Berücksichtigung von SLAs ist, dass die echte Leistungsfähigkeit eines Dienstes hinter der SLA-Beschreibung verborgen ist. Insbesondere die Verarbeitungsgeschwindigkeit von Anfragen ist unbekannt. Für die Systemmodellierung stehen nur die vereinbarte Obergrenze an Last und die garantierte Reaktionszeit zur Verfügung, die eigentliche Bedienrate fehlt. Die Validierung von Modellen durch Network Calculus wird so erschwert.
Unsere Lösung ist, die Eingabe an den Network Calculus zu vertauschen. Statt aus Schranken der Ankunftsrate und der Bedienrate die Wartezeit zu ermitteln sind die Eingaben des SLA Calculus Schranken für Ankunftsrate und Wartezeit aus der SLA-Spezifikation. Der neue Calculus liefert nun die notwendige Bedienrate des Systemes. In weitergehenden Forschungen berücksichtigen wir auch auch die Kombination von SLAs innerhalb von komponierten Systemen.
Dipl.-Inform. Sebastian Vastag