Zielsetzung

Der Forschungsschwerpunkt ExploIT Dynamcis beschäftigt sich mit der Beobachtung, der Modellierung, der Analyse und der Gestaltung des dynamischen Verhaltens von informationstechnischen Systemen (IT-Systemen) in ihrer Systemumgebung.  Der Schwerpunkt zielt ab auf eine umfassende Verbesserung der Anpassungsfähigkeit (Evolvability) von software-intensiven Systemen an sich häufig ändernde Umgebungsparameter.

Wesentliche Aufgaben des Schwerpunktes umfassen Grundlagenarbeiten zur Entwicklung und Anwendung fundierter Methoden und Techniken zur Beobachtung relevanter Qualitätseigenschaften dynamischer Systeme, die Modellierung der Veränderung dieser Qualitätseigenschaften im Systembetrieb sowie die Veränderung und Beeinflussung von System und Systemumgebung mit dem Ziel des Erhalts bzw. der Verbesserung dieser Qualitätseigenschaften.

ExploIT Dynamcis bündelt praktische und angewandte Informatik-Kompetenzen zur Bereitstellung und zum Erhalt qualitativ hochwertiger, informationstechnischer Systeme in von starken Veränderungen betroffenen Bereichen. Beabsichtigt ist die domänen-unabhängige Bereitstellung von informationstechnischen Konzepten und Methoden um Systemveränderungen möglich und beherrschbar zu machen und gleichzeitig erprobte und qualitativ hochwertige Systemkomponenten zu erhalten oder fortzuentwickeln.

Der Forschungsschwerpunkt umfasst ein Konsortium von Wissenschaftlern aus der Informatik, das das beschriebene Spektrum der Thematik in vollem Umfang abdeckt und über entsprechende Expertise verfügt, die erarbeiteten domänen-unabhängigen Konzepte und Methoden in konkreten Anwendungsdomänen effizient und nutzbringend einzusetzen. 

Motivation


Das dynamische Verhalten von Gesamtsystemen (bestehend aus System und seiner Systemumgebung) wird als zeitveränderliches Verhalten eines Systems und/oder seiner Systemumgebung aufgefasst. Den über die Zeit eintretenden Verhaltensänderungen informationstechnischer Systeme liegen viele mögliche Ursachen zugrunde:

  • Hardwarekomponenten können aufgrund von Alterung und Verschleiß versagen und damit ihre Aufgaben nicht mehr ausreichend erfüllen.
  • Softwarekomponenten können aufgrund von Anforderungsänderungen die ihnen zugewiesenen Aufgaben nicht mehr zeitgemäß unterstützen.
  • Softwarekomponenten unterliegen aufgrund nötiger Umstellungen  permanenter Veränderung, so verzeichnet z.B. Google mehr als 20  Codeänderungen pro Minute bzw. eine Änderung von etwa 50% der  Codebasis pro Monat. 
  • Topologien von Systemumgebungen können sich durch Hinzukommen oder  Abwandern von Komponenten z.B. aufgrund nötiger Lastverteilungen oder veränderten Anforderungsprofilen ändern.
  • Menschliche Systembenutzer können z.B. aufgrund der Änderung  exogener Arbeitsrichtlinien oder Verwendungszusammenhängen ihre  Arbeitsweisen mit dem Informationssystem ändern.
ExploIT Dynamcis Regelkreis

Dynamisches Systemverhalten birgt Risiken und Chancen: Risiken treten auf, wenn sich Systeme oder deren Systemumgebung aufgrund der Dynamik so stark verändern, dass systemrelevante, wichtige Qualitätseigenschaften nicht mehr garantiert werden können. Hingegen ergeben sich auch Chancen durch die Systemdynamik, wenn sich ändernde Qualitätskriterien durch gezielte Systemanpassung besser oder einfacher erreichen lassen.

Die hierbei betrachteten Qualitätseigenschaften umfassen Sicherheit, Vertrauen und Vertrauensbildung, WartbarkeitSkalierbarkeit, Zuverlässigkeit, VerfügbarkeitÜberlebenswahrscheinlichkeit, Performanz, KorrektheitValidität, Interoperabilität und Portabilität.  Diese Qualitätseigenschaften münden in die Beobachtung und Optimierung des Qualitätsziels Anpassbarkeit und Weiterentwickelbarkeit  (Evolvabiltiy), welches die Eigenschaften von Systemen zur effizienten und effektiven Reaktion auf innere und äußere Veränderungen zusammenfasst.

ExploIT Dynamcis zielt ab auf die Entwicklung genereller informationstechnischer Methoden und Techniken zur Beherrschung der Systemdynamik. Daher sind die im Schwerpunkt betrachteten Systeme nicht auf einzelne Domänen eingeschränkt. Sie erstrecken sich über die volle Bandbreite von u.a. Hardware-, Software und eingebetteten Systemen, zentralisierten Systemen, verteilten Systemen, föderierten Systemen, und heterogenen Systemen.

wissenschaftliche Herausforderungen

Der Schwerpunkt ExploIT Dynamcis betrachtet die Dynamik informationstechnischer Systeme (IT System) in ihrer Systemumgebung (System Environment).  Dieses Gesamtsystem (Systemgilt es 

  1. zu beobachten (observe),
  2. die hierbei detektierten Änderungen des Systems und der Systemumgebung zu analysieren (analyze), 
  3. über sich aus den Analyseergebnissen ergebende, nötige Anpassungen des beobachteten Gesamtsystems zu entscheiden (decide), und
  4. diese Anpassungen am informationstechnischen System oder der betrachteten Systemumgebung vorzunehmen (actuate) (vgl. Abb. "ExploIT Dynamics Regelkreis").

ExploIT Dynamcis verfolgt hierbei einen modell-basierten Ansatz, der sowohl informationstechnische Systeme, ihre Systemumgebung als auch  Beobachtungsaspekte, Analyseansätze, Entscheidungsgrundlagen und Systemanpassungen anhand entsprechender Modelle betrachtet.

Die wissenschaftlichen Herausforderungen des Schwerpunkts beziehen sich daher auf die Entwicklung eines adaptiven, durchgängigen und alle Abstraktionsebenen  von Informationssystemen umfassenden Modellierungs-, Analyse-, Bewertungs- und Transformationskonzeptes, das in konkreten Anwendungsszenarien erprobt werden soll. Diese Anwendungsszenarien sollen möglichst übergreifend über die beteiligten Forschergruppen definiert werden um somit auch langfristig gemeinsame Forschungskooperationen zu ermöglichen, die auch in größere Forschungsverbünde resultieren können.

Mögliche Anwendungsszenarien umfassen:


Modellierung von Software-Änderungen

Die permanente Änderung von Softwaresystemen resultiert in einer Folge von Systemversionen (System). Jede dieser Versionen ändert die vorher gegangene aufgrund der jeweiligen Entscheidungen (decide,  actuate), die aus beobachteten Änderungen (observe) der Systemumgebung (in der Regel Anforderungsänderungen oder Änderungen zugrunde liegender Soft- und Hardwareplattformen) und deren Interpretation in der Analysephase  analyze) hervor gegangen sind.

Im Rahmen des Schwerpunkts ExploIT Dynamcis sollen Ansätze entwickelt werden, diese Änderungen der jeweiligen Systemversionen zu modellieren und zu dokumentieren. Diese Modellierungsansätze sind hierbei übergreifend auf alle Abstraktionsebenen von Softwaresystemen (inkl. Code, Architektur und  Anforderungen) zu beziehen. Hierdurch kann die Evolution von Softwaresystemen verdeutlicht werden und aufgrund von nachvollziehbar dokumentierten  Systemänderungen und deren Qualitätsbewertung Erkenntnisse über die strukturierte Softwareevolution und deren Auswirkungen auf die Software-Qualität gewonnen werden.\footnote{Dieses Vorhaben wird im Rahmen eines   Promotionsvorhabens im Erasmus Mundus Projektes "TARGET" in  Kooperation der Abteilungen "Wirtschaftsinformatik I" und  "Softwaretechnik" bearbeitet.} Ein weiterer Aspekt bei der Betrachtung von Software-Änderungen ist die  Berücksichtigung von sich ändernden (und somit evolutionären Mechanismen unterworfenen) Schnittstellen. Diese stellen ein konkretes Beispiel für Kommunikationskanäle zwischen Komponenten eines Systems dar, berühren dabei alle drei oben genannten Abstraktionsebenen und sind somit ein konkretes Anwendungsgebiet für einen zu betrachtenden Teil der hier durchzuführenden Forschung.

 

Qualitätsmonitoring in der Software-Migration

Software-Migration befasst sich mit der Überführung eines Softwaresystems in eine neue Umgebung, ohne dessen Funktionalität zu verändern. Insbesondere bei der Sprachmigration (z.B. von COBOL nach Java) sind keine validen oder empirisch belegten Aussagen zur Veränderung der Softwarequalität durch die Migration bekannt.

Im Rahmen des Schwerpunkts ExploIT Dynamcis sollen aufbauend auf standardisierten Repräsentationen von Quelltext (System, in der Regel durch abstrakte Syntaxgraphen) Verfahren zur vergleichenden Bewertung (observe, analyze) der Qualität der Quelltexte ermittelt werden, um hieraus  Verbesserungen der direkten Sprachtransformation sowie zur messbaren Qualitätsverbesserung (decide, actuate) des Zielcodes abzuleiten. Hierdurch kann einerseits die Qualität von Verfahren zur Sprachmigration verglichen werden und anderseits die Verbesserung der Qualität des Zielcodes (auch durch nachgelagerte Reengineering-Maßnahmen) nachweisbar gemacht werden.\footnote{Von der Abteilung "Softwaretechnik" wird aktuell in diesem Kontext ein Kooperationsprojekt diskutiert.}

 

Hochzuverlässige Daten und Dienste

Replikation ist eine effektive Methode um die Verfügbarkeit von Daten und Diensten zu erhöhen: die Verfügbarkeit gibt dabei an, mit welcher Wahrscheinlichkeit zu einem gegebenen Zeitpunkt Operationen auf Daten erfolgreich durchgeführt oder Dienste erfolgreich in Anspruch genommen werden können. Da das reibungslose Funktionieren unserer Gesellschaft in zunehmendem Maße von der Verfügbarkeit von Daten und der Möglichkeit der erfogreichen Inanspruchnahme von informatischen Diensten abhängt, so z.B. im Finanzsektor (Beispiel: Börsendaten), im staalichen Sicherheitssektor (Beispiel: Abruf von Fahrzeughalterinformation), im Geschäftssektor (Beispiel: Kontozugriff), im Notfallsektor (Beispiel: Zugriff auf Gefahrenstoffinformationen) und im Transportsektor (Beispiel: Abruf von Stauinformationen), kommt der zielgerichteten Garantie einer anwendungsspezifischen, minimalen Verfügbarkeit von Daten und Diensten eine wesentliche Rolle zu.

Im Rahmen der Replikation werden Daten (oder resp. Dienste) mehrfach in Form von sog. Replikaten realisiert und gemäß einer sog. Replikationsstrategie geeignet verwaltet. Dabei ist das Problem der Identifikation einer geeigneten Replikationsstrategie, die zum einen die anwendungsspezifisch gewünschte, minimale Verfügbarkeit der Daten oder Dienste herbeitführt und zum anderen dabei gleichzeitig nur minimale Kosten beim Datenzugriff oder Dienstabruf verursacht -- trotz großer Bemühungen in der Vergangenheit -- bisher nicht befriedigend gelöst worden.\footnote{Das Problem der Identifikation geeigneten  Datenreplikationsstrategien aus einer vorgegebenen Menge  möglicher Lösungen  wird gegenwärtig im Rahmen eines Promotionsvorhabens in Kooperation der Abteilungen  "Systemsoftware und verteilte Systeme" und "Wirtschaftsinformatik  II" im  Kontext eines drahtlosen Sensornetzwerkes bearbeitet.