Rebeca (Informatik)
Modellierungssprache für nebenläufige Systeme Aus Wikipedia, der freien Enzyklopädie
Modellierungssprache für nebenläufige Systeme Aus Wikipedia, der freien Enzyklopädie
Rebeca (Reactive Objects Language) ist eine Modellierungssprache für auf dem Actor Model basierende Systeme. Sie wird als praxistaugliches Tool entwickelt, um die Lücke zwischen formalen Methoden und dem Software Engineering zu schließen. Rebeca wird sowohl an der Universität von Teheran als auch an der Universität von Reykjavík weiterentwickelt.
In Rebeca wird das Gesamtsystem aus einer Anzahl von nebenläufigen Prozessen modelliert. Diese nebenläufigen Prozesse werden Rebecs genannt. Rebecs entsprechen den Aktoren im Actor Model, da sie einen eigenen Zustand haben, welcher nicht von außen verändert werden kann, und untereinander asynchron über Nachrichten kommunizieren. Ein Rebec kann jedoch keine weiteren Rebec erzeugen.
Rebeca ist syntaktisch an Java angelehnt. Die Beschreibung von Zustandsänderungen erfolgt somit imperativ und nicht deklarativ. Die Definition eines Rebecs besteht aus vier Teilen:
Ein Systemmodell hat darüber hinaus eine main-Funktion die die Instanzen von Rebecs definiert und darüber hinaus untereinander bekannt macht.
Für Rebeca steht ein Model Checker namens RMC zur Verfügung. Dieser erlaubt neben der Prüfung auf Deadlocks auch die eigene Definition von zu prüfenden Eigenschaften mittels LTL. Neben dem reinen Model Checker steht auch eine auf Eclipse basierende Entwicklungsumgebung für Rebeca Modelle namens Afra zur Verfügung.
Neben der Kerndefinition von Rebeca existieren zwei Erweiterungen der Sprache die insbesondere darauf abzielen zeitkritische Systemmodelle zu überprüfen.
In Timed Rebeca kann neben der reinen Zustandsänderung auch das Verstreichen von Zeit ins Modell aufgenommen werden. Hierfür kann zunächst definiert werden wie lange einzelne Schritte der Nachrichtenverarbeitung dauern. Um Latenzen abbilden zu können, kann definiert werden, dass eine Nachricht erst nach einer definierten Zeitspanne beim Empfänger ankommt. Darüber hinaus kann eine Nachricht mit einer deadline, also einem spätestens Verarbeitungszeitpunkt versehen werden.
Probabilistic Timed Rebeca erweitert das Konzept von Timed Rebeca dadurch, dass Werte für Variablen nicht fest definiert werden müssen, sondern Wahrscheinlichkeiten für Werte angegeben werden können.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.