Software Engineering Group

Masterprojekt iObserve

Selbst-adaptive und lernende Software Systeme

Das iObserve-Forschungsprojekt zielt darauf ab adaptive und lernende Systeme zu ermöglichen. Dazu wird in iObserve Wissen über die Software, die Nutzer und die Domäne genutzt um Vorhersagen über die zukünftige Nutzung zu ermöglichen und das System dann an diese Bedingungen (semi-)automatisch anzupassen. Semi-automatisch, weil das System sowohl automatisch Adaptionen durchführen kann, also aus den Operator einbinden kann in die Vorhersage und die Adaption.

iObserve

iObserve nutzt dazu einen MAPE-K-Ansatz wobei MAPE für Monitoring, Analysis, Planning and Execution steht und das K für Knowledge. Das Monitoring basiert auf Kieker und die Analyse nutzt das TeeTime-Framework. Im Masterprojekt sollen für die Analyse, Visualisierung und Planung Services ergänzt und erweitert werden. Im Detail gibt es folgende Themen:

Entwicklung eines/einer Software-Knowledge-Repositorys/Datenbank

Bisher nutzt die Analyse Dateien um Informationen über das System zu speichern. Das führt jedoch zu Problemen wenn verschiedene Analysen die Informationen gleichzeitig lesen und verändern wollen. Dazu wird ein passendes Knowledge-Repository benötigt, welches z.B. auf Neo4J aufsetzen könnte.

Erstellung eines Vorhersage Services

Für die Vorhersage der Software wird der Palladio-Simulator genutzt. Dieser steckt im Moment in der Desktopanwendung (Palladio) und soll in einen Service ausgelagert werden. Der Service muss seine Ergebnisse mit den Visualisierungen austauschen und Informationen aus dem Repository beziehen.

Integration Deployment-Visualisierung und Analyse

Um Deployments und Undeployments sowie Allokationen und Deallokationen zu verstehen gibt es in der iObserve-Analyse bereits Filter, die die Informationen im Repository anpassen. Leider sind diese Filter nicht in der Lage der Deployment-Visualisierung mitzuteilen was sich geändert hat. Darüber hinaus fehlt der Visualisierung Informationen über Performance Daten und andere Qualitäten, welche ebenfalls an die Visualisierung weitergereicht werden müssen. Abschließend muss die Visualisierung auch erweitert werden um auch Nutzergruppen darzustellen und die Deployment-Visualisierung mit dem User-Behavior zu verbinden.

Erweiterung der Deployment-Visualisierung zum Deployment-Editor

Bisher kann die Visualisierung nur das vorhandene Deployment darstellen. In Zukunft soll die Visualisierung auch Alternativen anzeigen können. Zudem sollen Alternativen auswählbar und vergleichbar sein und nach der Auswahl einer Alternative soll diese auch änderbar sein.

Nutzerverhalten Analyse und Visualisierung

Es gibt einen Prototoypen für die Visualisierung und Bearbeitung des Nutzerverhaltens. Diese soll erweitert werden und an die Verhaltensanalyse angekoppelt werden. Ferner soll die aktuelle Verhaltensanalyse aus Karlsruhe so zerlegt werden, dass sie das Framework TeeTime richtig nutzt.

Verarbeitung von Allocations und Resource-Verwendung

In iObserve soll neben Deployments auch Allocations und Resource-Utilization des Hosts oder auch von Netzwerkgeräten verarbeitet werden. Dazu muss Kieker in die Lage versetzt werden Daten via SNMPv2 zu empfangen und in passende Records zu stecken. Ebenso soll es möglich sein,t SNMP Monitoring ein und auszuschalten.

 

Ziel ist es,

  1. einen abstrakten Kieker Agenten zu bauen, welcher dann für bestimmte Monitoringdaten subclassed werden kann.
  2. einen Reader für SNMP Daten dem man Mapping von Standard SNMP Nachrichten hin zu Kieker-Records geben kann. Auch hier kann das mit Subclassing erfolgen.

 

 

Alle Artefakte, welche während des Masterprojekts erstellt werden sollen am Ende in iObserve einfließen und dort integriert werden. Das bedeutet, dass die Quellen öffentlich auf Github einsehbar sind.

Upcoming Events

Research Projects

  • more...

     ExplorVizLogo160x37[1].png    iobserve-logo-small    CloudMIG Xpress

     

    Future-Ocean-logo    kieker-logo       PubFlow

     

    teetime-logo   SpratGeRDI

Teaching