Zur Webseite der Informatik

Projekt SAVORS

Simulation und Visualisierung von Real-Time-Systemen

SAVORS ist eine in Java geschriebene Eclipse-RCP (Rich Client Platform) und dient zur synchronen Simulation und Visualisierung von Single- und Multi-Core-Scheduling-Algorithmen. Es ist ein zeitdiskretes, ereignisgetriebenes Simulationssystem, für dessen Entwicklung EMF (Eclipse Modeling Framework) und GEF (Graphical Editing Framework) eingesetzt werden.

SAVORS unterstützt unter anderem folgende Single-Core-Algorithmen:

  • Statische Priorität
    • Präemptives prioritätsbasiertes Scheduling
    • DMS (deadline monotonic scheduling)
    • RMS (rate monotonic scheduling)
  • Dynamische Priorität
    • EDF (earliest deadline first)

U. a. werden folgende Multi-Core-Scheduling-Algorithmen (für periodisch wiederkehrende und sporadische Aufgaben) unterstützt:

  • Global:
    • die proportional faire Gruppe von Algorithmen: (Pfair, PD, PD², PD²*, ER-Fair)
    • die an Grenzen faire Gruppe von Algorithmen: (Bfair and BF²)
    • die aus EDF hergeleiteten Algorithmen: unfaires EDF (U-EDF), globales EDF , GSN-EDF und PSN-EDF
  • Partitioniert:
    • partitioniertes EDF: P-EDF

Neben diesen Scheduling-Algorithmen unterstützt der Simulator auch die folgenden Ressourcenzuweisungsprotokolle, um die Synchronisierung gemeinsam genutzter Ressourcen zu ermöglichen und dadurch das Risiko unvorhersehbaren Verhaltens abzumildern:

  • Für Single-Core-Architekturen:
    • Einfaches und transitives Vererben der Priorität
    • die Ceiling Priority Protokolle OCPP und ICCP
    • das Stack-Resource-Protokoll SRP
    • Bakers EDF-Protokoll
  • Für Multi-Core-Architekturen:
    • Flexibles Multiprocessor-Locking-Protokoll FMLP

Die Ausgabe von SAVORS ist der anhand des Simulationsmodells erstellte Ablaufplan, der in einer interaktiven GUI präsentiert wird.

SAVORS wird kontinuierlich erweitert und bei ISTE/PS sowohl in der Forschung als auch in der Lehre eingesetzt.