Selbstorganisation durch dezentrale Koordination in Verteilten Systemen (SodekoVS)
Final Report Abstract
Aktuelle Herausforderungen bei der Konstruktion und Konfiguration verteilter IT-Systeme bestehen vor allem bei der Handhabung ihrer zunehmenden Komplexität − z.B. hinsichtlich der örtlichen Verteilung der Kooperationspartner, hinsichtlich ihrer (vielfältigen) Heterogenität und hinsichtlich dynamischer Änderungen der Kommunikationsverbindungen. Diese Komplexität wächst weiter durch unabhängig voneinander intelligent agierende Komponenten, durch komplizierte Interaktionen zwischen ihnen sowie durch dynamische Einsatzkontexte, in denen sich auch Art und Verfügbarkeit der Systemkomponenten und Ressourcen kontinuierlich ändern. Um auch in derartigen Umgebungen einen weitgehend autonomen Betrieb von Anwendungen zu erreichen, sind insbesondere adaptive Systemeigenschaften wünschenswert – d.h. weitgehend selbsttätige Systemanpassungen, die die beabsichtigten Anwendungseigenschaften auch unter hohen Dynamikund Flexibilitätsanforderungen weitgehend automatisch sicherstellen. Derartige Systemeigenschaften werden in diesem Projekt durch Mechanismen der Selbstorganisation(SO) unterstützt, um für ganz unterschiedliche Problemstellungen – wie z.B. Ressourcenplanung in der Logistik oder Datenklassifizierung im Data Mining – gleichzeitig flexible und robuste Lösungsansätze realisieren zu können. Ziel dieses Forschungsprojektes war es somit, den softwaretechnischen Einsatz von Selbstorganisationsmechanismen auf der Basis einer generischen Systemarchitektur zu untersuchen und die dabei vorgeschlagenen Lösungen auch mithilfe einer prototypischen Realisierung praktisch zu erproben. Die Systemarchitektur bildet dabei einen konzeptionellen Rahmen, in dem Entwicklern verschiedene Mechanismen zur Selbstorganisation zur Verfügung gestellt werden und in dem eine Verbindung zwischen SO- und herkömmlichem Systemverhalten geschaffen wird. Damit werden die Vorteile von SO-Prinzipien auch im Kontext traditioneller Softwareentwicklung nutzbar gemacht. In der ersten Projektphase wurde mit Hilfe einer systemischen Modellierung der dezentralen Koordinationsprozesse ein Prozesskatalog erstellt und gezeigt, wie die verschiedenen etablierten Mechanismen zur Selbstorganisation einheitlich in einer Koordinationssprache beschrieben und softwaretechnisch umgesetzt werden können. Zur Integration der so beschriebenen Koordinationsprozesse wurde eine generische Architektur entwickelt, die die strikte Trennung von Koordinations- und Applikationslogik erlaubt, die weiterhin alle für die Koordination erforderlichen Aktivitäten der Systemkomponenten automatisiert, und die somit Selbstorganisationsprozesse als austauschbare und wieder verwendbare Elemente in einem gemeinsamen konzeptionellen Rahmen nutzbar macht. Die hierfür erforderliche Entwicklungsmethodik wurde im Rahmen der Software & Systems Process Engineering Metamodel Specification (SPEM) formalisiert und damit eine Methode zur systematischen Entwicklung von solchen Softwaresystemen aufgezeigt, für die Selbstorganisationprozesse zur Erfüllung der o.g. Systemeigenschaften genutzt werden sollen. Die zweite Projektphase fokussierte dann auf zwei weitere essentielle Aspekte der Systementwicklung: Erstens sind Systemsimulationen ein unabdingbarer Bestandteil der Entwicklung von Selbstorganisationsprozessen; deshalb wurden in der hier beschriebenen Projektphase auch zwei grundlegende Arbeitsschritte, nämlich die Ausführung und die Bewertung von Systemsimulationen, systematisiert und einer weitestgehend automatisierten Behandlung (d.h. Ausführung) zugänglich gemacht. Ein zweiter wichtiger Aspekt für die Verbesserung der Benutzbarkeit des Ansatzes wurde mit automatisierten Laufzeitanpassungen von Systemkonfigurationen adressiert. Zudem wurden abschließend mehrere Anwendungsstudien durchgeführt, bei denen die Anwendbarkeit der in diesem Projekt entwickelten Methoden und Werkzeuge demonstriert und evaluiert wurde. Somit wird insgesamt gezeigt, dass das übergeordnete Ziel dieses Projektes, d.h. die Nutzbarmachung von Selbstorganisation in der Softwareentwicklung, auf einer solchen technischen Basis sehr weitgehend erreicht werden konnte.
Publications
- An Extensible Framework for Dynamic Market-Based Service Selection and Business Process Execution, Distributed Applications and Interoperable Systems, Lectures Notes in Computer Science Volume 6723, Seiten 150-164, 2011
Vilenica, A., Hamann, K., Lamersdorf, W., Sudeikat, J., Renz, W.
- Benchmarking and Evaluation Support for Self-Adaptive Distributed Systems, in: Barolli, L. et al. (Hrsg.), The Sixth International Conference on Complex, Intelligent, and Software Intensive Systems (CISIS 2012), Seiten 20–27. Washington/DC, USA, IEEE Explore, 2012
Vilenica, A., Lamersdorf, W.
- Mesoscopic Stochastic Models for Validating Self-Organizing Multi- Agent Systems, 6th IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops, Lyon, France, September 2012
Renz, W., Preisler, T., Sudeikat, J.
- On the combination of top-down and bottom-up methodologies for the design of coordination mechanism in selforganizing systems, Information and Software Technology, Volume 54, Issue 6, Seiten 593-607, 2012
Sudeikat, J., Steghöfer, J.-P., Seebach, H., Reif, W., Renz, W., Preisler, T., Salchow, P.
(See online at https://doi.org/10.1016/j.infsof.2011.08.005) - Using Building Blocks for Pattern-Based Simulation of Selforganising Systems. Intelligent Distributed Computing VI Studies in Computational Intelligence, Volume 446, Seiten 9-15, 2013
Haubeck, C., Vilenica, A., Lamersdorf, W.
- Structural Adaptations for Self-Organizing Multi-Agent Systems. ADAPTIVE 2015, the Seventh International Conference on Adaptive and Self-Adaptive Systems and Applications, ISSN: 2308-4146, ISBN: 978-1-61208-391-9, Nice, France, March 2015
Preisler, T., Renz, W.