Aufgabenbereich: Performance-Blame-Analyse
Beschreibung:
Bei der komponentenbasierten Erstellung von Software wird ein System im Idealfall komplett aus Komponenten zusammengestellt, die von Dritten zugeliefert werden. Wenn in einem solchen System ein Performance-Fehler auftritt, muss bei Analyse des Fehlers aufgrund der verschiedenen Zulieferer besonders darauf geachtet werden, ob bzw. welche einzelnen Komponenten den Fehler ver-ursachen. Denn nur so lässt sich ein Fehler effektiv, mit etwaiger Unterstützung der Komponenten-hersteller, beseitigen.
Bei der oben genannten Analyse eines Performance-Fehlers muss für jede Komponente beurteilt werden, ob diese den Fehler (mit)verursacht hat. Dies kann dadurch erreicht werden, dass man Simulationsergebnisse mit Testergebnissen für den Fehlerfall vergleicht. Dieser VergleichÂ...
[mehr]Aufgabenbereich: Dynamic Meta Modeling
Beschreibung:
Dynamic Meta Modeling (DMM, siehe auch hier) ist eine von unserer Arbeitsgruppe entwickelte Technik zur formalen Spezifikation des Verhaltens von visuellen Sprachen (z.B. UML Aktivitäten). DMM-Spezifikationen werden in einem visuellen Editor entwickelt und dann zur Ausführung in die Eingabesprache des Werkzeugs GROOVE (GRaphs for Object-Oriented VErification) übersetzt.
Diese Übersetzung von DMM-Spezifikationen ist zurzeit in Java implementiert. Es wäre jedoch vorteilhaft, diese Übersetzung ebenfalls formal zu definieren (nur dann ließe sich z.B. beweisen, dass die Übersetzung in irgendeinem wohldefinierten Sinne korrekt ist). Die Idee ist nun, diese Übersetzung ebenfalls mit DMM zu spezifizieren. Dabei sind zwei Vorgehensweisen denkbar:
Aufgabenbereich: Adaptive Systems
Beschreibung:
Background:
Requirements that describe the adaptivity of software differ from conventional requirements such that they contain more domain-specific information. For instance, the description of a system that adds server to a server farm to adjust a system's performance must contain information about how to measure the system's performance, what the performance boundaries are, etc. In our Research Group, we developed a meta-model to describe so called adaptation requirements. For large systems, a requirements specification that detailed describes adaptivity becomes very large and unmanageable. Therefore, mistakes in the specification can easily be overseen and cause extensive costs in later stages of software development. For this reason, it is desirable to early simulate the software solely on the basis of the requirements specification an...
Aufgabenbereich: Performance-Blame-Analyse
Beschreibung:
Bei der komponentenbasierten Erstellung von Software wird ein System im Idealfall komplett aus Komponenten zusammengestellt, die von Dritten zugeliefert werden. Wenn in einem solchen System ein Performance-Fehler auftritt, muss bei Analyse des Fehlers aufgrund der verschiedenen Zulieferer besonders darauf geachtet werden, ob bzw. welche einzelnen Komponenten den Fehler verursachen. Denn nur so lässt sich ein Fehler effektiv, mit etwaiger Unterstützung der Komponentenhersteller, beseitigen.
Bei der oben genannten Analyse eines Performance-Fehlers muss für jede Komponente beurteilt werden, ob diese den Fehler (mit)verursacht hat. Dies kann dadurch erreicht werden, dass man Simulationsergebnisse mit Testergebnissen für den Fehlerfall vergleicht. Dieser Vergleich ist nur dann gültig, wenn Test und Simulation d...
[mehr]Aufgabenbereich: Dynamic Meta Modeling
Beschreibung:
Dynamic Meta Modeling (DMM, siehe auch hier) ist eine von unserer Arbeitsgruppe entwickelte Technik zur formalen Spezifikation des Verhaltens von visuellen Sprachen (z.B. UML Aktivitäten). Auf Basis einer solchen DMM-Spezifikation (z.B. von UML Aktivitätendiagrammen) sowie eines Modells (z.B. eines Aktivitätendiagramms) lässt sich ein Transitionssystem berechnen, das das Verhalten des Modells beschreibt. Dieses Transitionssystem kann dann analysiert werden. Diese Vorgehensweise ist in unserer Arbeitsgruppe in zwei Spezialfällen im Kontext von Aktivitätendiagrammen angewendet worden. Wünschenswert wäre es nun, dieses Vorgehen zu verallgemeinern und auf beliebige DMM-Spezifikationen anwendbar zu machen.
Die Idee ist, Zustände durch Objektdiagramme zu beschreiben. Diese können dann mittels temporaler Logik zu Anforderungen über da...
[mehr]