Teilprojekt E5
From GRK-Wiki
zum übergeordneten Forschungsbereich
Contents |
Automatische Komposition von Diensten mit Korrektheitsgarantien
Ein Katastrophenmanagement, so wie es im Graduiertenkolleg für die Vorbereitungsphase und den Katastrophenernstfall in E1, E2, E3 und E4 konzipiert ist, stützt sich auf eine Vielzahl von einzelnen Geo-Diensten. Um eine zuverlässige Zusammenarbeit solcher Geo-Dienste sowohl untereinander als auch mit Infrastrukturdiensten im Fall einer Katastrophe zu ermöglichen, ist es wichtig, Mittel für die automatische Komposition einer selbstorganisierenden Anwendung aus grundlegenden Diensten bereitzustellen. Diese Mittel erfordern Lösungen auf der Ebene einer generischen Architektur anstelle von Lösungen für spezielle Anwendungen. Aus diesem Grunde können dienstorientierte Architekturen auch als Antwort auf die Herausforderungen spezieller Katastrophenmanagementanwendungen gesehen werden. Solche Architekturen sind in drei funktionalen Ebenen organisiert:
- Basisfunktionalität (Dienstauffindung, Dienstbeschreibung, Kommunikation, Dienstaufruf),
- Komposition und
- Verwaltung (Zertifizierung, Bewertung, Reputation, Vertrauen).
Gegenwärtig ist nur die unterste Ebene standardisiert, die beiden oberen sind dagegen noch offene Forschungs- und Entwicklungsfelder, insbesondere gilt das auch für die Beschreibung nichtfunktionaler Eigenschaften wie z.B. Zeitverhalten, Sicherheit, Transaktionsverwaltung, Checkpointing, Replikation von Diensten. Der Beitrag dieser Dissertation besteht in der Erweiterung einer von uns vorgeschlagenen Dienstbeschreibungssprache und der selbstorganisierenden (automatischen) Komposition von Diensten, die eine Verifikation der Korrektheit solcher Kompositionen mit einschließt.
Stand des Wissens
Die Entwicklung stabiler, verlässlicher und standardisierter Verfahren zur Komposition von Diensten wird gegenwärtig sowohl in der Industrie als auch in der akademischen Forschung intensiv vorangetrieben [1] [2]. Der entscheidende Nachteil all dieser Ansätze besteht darin, dass sie sowohl nur sehr wenig über das korrekte Funktionieren als auch über nichtfunktionale Eigenschaften von Dienstkompositionen aussagen können.
Vorarbeiten der beteiligten Wissenschaftler
Die bisherigen Arbeiten haben zu einer kontrakt-basierten Architektur zur Beschreibung von Diensten geführt ([3], [4], [5]), wobei eine XML-basierte Sprache für die Beschreibung nichtfunktionaler Eigenschaften (z.B. Sicherheit, Zuverlässigkeit, Fehlertoleranz) von Diensten vorgeschlagen wurde. Ferner ist ein Verfahren entwickelt worden, das die automatische Extraktion solcher Eigenschaften aus existierenden Komponentenframeworks wie J2EE oder .NET erlaubt [6]. Für die Beschreibungssprache wurde eine Abbildung in ein automatenbasiertes Konzept (ASM) definiert, so dass formale Behandlungen der beschriebenen Eigenschaften für Zuverlässigkeit und Fehlertoleranz potenziell ermöglicht werden [7]. In der Arbeitsgruppe von W. Reisig bestehen darüber hinaus Erfahrungen zur Modellierung und Analyse, Verfeinerung und Komposition von ASM-Notationen [8], [9].
Geplante Arbeiten
Auf Basis der im Vorfeld entwickelten Architektur ist es beabsichtigt, eine anwendungsbezogene Dienst-Architektur für das Katastrophenmanagement zu erstellen, die sowohl eine manuelle als auch eine selbstorganisierende (automatische) Komposition von höherwertigen Diensten aus Basisdiensten erlaubt. Hauptforschungsziele sind die Entwicklung einer Dienstkompositionsmethode, die die Beschreibung nichtfunktionaler Eigenschaften und die Prüfung der Korrektheit (Typenüberprüfung, Erhaltung von Invarianten und korrekte Terminierung) einer Dienstkomposition unterstützt und die Entwicklung eines Mechanismus zur selbstorganisierenden Dienstkomposition. Dieser Mechanismus erlaubt die Spezifikation eines Zieles (Beschreibung eines Ziel-Dienstes) und eine automatische Auswahl und Komposition von Diensten in einer Weise, dass dieses Ziel erreicht wird. Die Erreichung einer solchen Flexibilität ist zusammen mit der garantierten Korrektheit hinsichtlich des nichtfunktionalen Verhaltens (insbesondere Safety, Security, Energy Awareness, Ressourcenbedarf) im Fall zusätzlich zu beachtender Nebenbedingungen wie beschränkter Ressourcen, herabgesetzter Verfügbarkeit und missionskritischer Anwendungen von enormer Wichtigkeit. Um eine selbstorganisierende Komposition von Geo-Diensten zu unterstützen, werden effiziente Suchstrategien, Konsensalgorithmen, Kollaborationsgraphen und Lernmodelle untersucht. Wenn beispielsweise ein Dienst wie „Diagnose“ zur Statusbestimmung des Sensornetzes nach einem Erdbeben zu erbringen ist, sollte er mit einem Dienst „Fehlerbehebung“ (Recovery) komponiert werden können, um die Robustheit des Systems zu erhöhen.
Referenzen
[1] N. Milanovic, M. Malek. Current Solutions for Web Service Composition. In: IEEE Internet Computing, Nov-Dec 2004.
[2] M. P. Papazoglou, D. Georgakopoulos: Service Oriented Computing. In: Communications of the ACM, October 2003.
[3] N. Milanovic, V. Stantchev, J. Richling, M. Malek: Towards Adaptive and Composable Services. In: Proc. of VIP Forum of the International IPSI Conference (IPSI 2003), Sveti Stefan, Montenegro, 2003.
[4] M. Werner, J. Richling, N. Milanovic, V. Stantchev: Composability Concept for Dependable Embedded Systems. In: Proc. of the International Workshop on Dependable Embedded Systems at the 22nd Symposium on Reliable Distributed Systems (SRDS 2003), Florence, Italy, 2003.
[5] N. Milanovic, M. Malek: Verifying Correctness of Web Services Composition. In: Proc. of the 11th Infofest, Budva, Montenegro 2004.
[6] N. Milanovic, J. Richling, M. Malek: Lightweight Services for Embedded Systems. In: Proc. of the 2nd IEEE Workshop on Software Technologies for Embedded and Ubiquitous Computing Systems (WSTFEUS 2004), Vienna, Austria, 2004.
[7] N. Milanovic, M. Malek: Extracting Functional and Non-functional Contracts from Java Classes and Enterprise Java Beans. In: Proc.s of the Workshop on Architecting Dependable Systems (WADS 2004) at the International Conference on Dependable Systems and Networks (DSN 2004), Florence, Italy, 2004.
[8] W. Reisig: Modelling and Analysis Techniques for Web Services, Athen 2005.
[9] D. Fahland, W. Reisig: ASM-based semantics for BPEL: The negative Control Flow. International ASM Conference, Paris, 2005.
