Real-Time Object Oriented Modeling (ROOM) ist eine domänenspezifische Sprache .
ROOM war Anfang der 90er zur Modellierung von Echtzeitsystemen entwickelt. Ursprünglich für den Bereich der mobilen Telekommunikation mit Einem Fokus auf einfachheit und Performanz Entwickelt, Lässt sich sterben ROOM-Sprache für Beliebers ereignisgetriebene Echtzeitsysteme Nutzen. [1] [2]
ZIMMER wird z. B. von den Werkzeugen ObjecTime Entwickler ( commerzial ) und eTrice [3] (Open Source) unterstützt.
Viele Grundkonzepte von ROOM sind in der Definition von UML2 (Version 2 der UML mit Echtzeiterweiterungen) eingeflossen.
Konzepte und Grundbegriffe
ROOM is a Modellierungssprache zur Beschreibung von Softwaresystemen, sterben sterben Vollständige Generierung Dezember Programmcodes für das System – Modell aus dem Erlaubt. RAUM definiert dafur eine Texte wie auch eine grafische Beschreibungssprache. Typischerweise wird der Code durch den Code erweitert, was für eine grafische Benutzeroberfläche ( GUI ) gilt. Der Kodex Wird Dann gegen Eine Laufzeitbibliothek kompiliert und gelinkt, sterben Basis Klassen und Grund Legende Dienste (WIE ETWA das Messaging) zur verfügung Stellt.
ROOM lehrt Aspekte eines Softwaresystems: Struktur, Verhalten und Vererbung. Diese Aspekte spiegeln sich im folgenden wider: Abschnitt kurz gelesen wurde.
Struktur
Die Strukturansicht ist in RAUM aus sogenannten Schauspielern aufgebaut. Der Schauspieler kannte meinen anderen Schauspieler über Ports kommunizieren. Ports mind mitüber Bindings verbunden. Die Schauspieler sprechen mit Ports und Bindings Nachrichten aus, die asynchron wurden. Jeder Port ist genau einem Protokoll zugeordnet. Ein Protokoll in RAUM definiert eine der folgenden und eine der folgenden Nachrichten. Binding könnur nur Ports, die Protokoll gelernt haben und die aufeinander abgestimmt sind. Das ist eine gute Idee, und es gibt Leute, die gut schlafen. Dieser Port wird auch regulär seingenannt. Sein Gegenüber, der konjugierte Port, empfangt die ausgehenden Nachrichten des Protokolls und des Sendens. SOMIT vereinen einen Hafen eines erforderlich und eine versehenen Schnittstelle in Einer Rolle (da das same Protokoll von mehreren Ports Einen used Werden Kann Staatsanwaltschaft).
Ein Schauspieler kann andere Schauspieler kennen (als eine Komposition ). In Room wurden diese Actor-Referenzen genetisiert . Eine solche strukturierte Hierarchie wurde treuer.
Ports Die Eine Staatsanwaltschaft can Teil Waden Interfaces (auch AUSSEN Sichtbar) oder Teil Wadenfänger – Struktur (auch von IHM selbst used) oder beides sein. Ports, die das nur zum Interface gehört haben, wurden Relay-Ports relauncht . Gebt ihnen mein Herz Port Aes Unteraktoren (einer Aktorreferenz) verknüpft. Ports, die in der Struktur gefunden wurden, waren interne End-Ports . Die Häfen, die zur Struktur und Schnittstelle gehörten, wurden extern bestätigt .
Verhalten
Jeder Aktor in ROOM besitzt ein Verhalten in Form eines hierarchischen Zustandsautomaten (engl. State Machine ). Ein Zustandsautomat ist ein gerichteter Graph , wo aus Staaten und KNOTEN genannten Transitions genannten Rand Besteht. Jeder Staat entspricht einem Zustand. Länderwechsel kann nur für eine Übergangszeit erfolgen. Zustandswechsel Werden ausgelöst Durch Eine An einem (intern oder extern) End Port eingehende Nachricht (zusammenhang Auch sterben in diesem Ereignis oder Signal genannt Wird). Wird dieser so genannte Trigger von der Transition spezifiziert, so feuertThere genau dann, wenn der Zustandsautomat sich im Ausgangszustand der Transition befindet. In der Seele der Transition.
Dabei wurde der Zustandswechsel Codetücke ausgeführt, der die Staaten programmiert / modifiziert und die Transition angehängt wird. Solche Codestücke wurde in Einer Detaillevel Language , Meister der Zielsprache der Codegenerierung, gemalt. Beim Staat unterscheidet man Ein- und Ausfahrt. Bei Einem Zustandswechsel Wird zunächst in dem Exitcode des Ausgangszustands ausgeführt, der Action – Code Dann wo feuernden Transition und schließlich dort Eintrag Code des Zielzustands. How does not available of this code a stacks a Nachricht über einen Port des Aktors.
Ein weiterer Ausrüstungsautomaten sucht jene Choice Points und Transition Points auf , die nirgendwo auf der Welt sind.
Ein Zustensautomat kann mehr Hierarchie-Legenden besitzen und besitzt nur einzigartige Wieder- und Unter-Stand-Geräte. Ähnlich wie bei der Struktur kann bis zu einem bestimmten Minimum fortgeschrieben werden.
Ein Gewicht Concept in Zusammenhang ist oder das Ausführungsmodell der Run to Completion . Es ist ein sehr gepflegter, voller Körper, der am nächsten dran ist. Da sterben Run to Completion semantika von der Ausführungsumgebung garantiert Wird, sich der Programmierer Muss / Modellierer nicht getrennt um Synchronisierung und Themen-Sicherheit kümmern, obwohl mit ROOM implementierte Systeme hochgradig nebenläufig sein Können.
Vererbung
Wer ist die objektorientierte Programmiersprache ist ROOM ein Klassenmodell. Dh Aktoren sind Klassen , die mehr als Objekte ansprechen können. Ja, ich mag den Unterricht nicht, du kannst zu einem der anderen gehen, ich würde gerne mit anderen reden.
ROOM lehrt den Begriff der Vererbung im Sinne einer Einfachvererbung. Das heißt, Eine Anwalt Klasse Kann von Einer other (ihrer Basisklasse ) abgeleitet sein und erbt dabei alle Eigenschaften ihrer Basisklasse, auch ETWA Ports und Aktorreferenzen, aber Auch der Zustandsautomat. Der angegebene Zustandautomat kann von der Abegalitätsklasse von Weitere Transitionen und Zustände erwartet werden.
Layering
Ein letztes mächtiges Konzept in ROOM ist das sogenannte Layering . Dies ist eine vertikale Ansicht des Systems in Dienst und Benutzer dieser Dienste. ROOM Führt hierfür den Service Access Point (SAP) auf der Website von Nutzers und Service Providing Point (SPP) auf der Bereitstellungsseite eines Dienstes ein. Interessant, es tut mir leid, Dasssas Cousin, der mit SPPs Ports explizit war, musste kommen. Vielmehr kann ein Aktor pro Layer Connection an einen Dienstanbieter gesendet werden, der alle Subaktoren (rekursiv) zur Verfügung stellt. Ansonst sind Dienste und ihre Benutzer wie Ports mit Protokoller verbunden und kommunizieren über asynchron verschachtelte Nachrichten.
Literatur
- Bran Selic, Garth Gullekson, Paul T. Ward: Objektorientierte Echtzeitmodellierung , New York, John Wiley & amp; Sons Inc., 1994, ISBN 978-0-471-59917-3 [4]
- Oliver Kaiser: „Echtzeitanforderungen zur Simulation Technischer Produkte“, Herbert Utz Verlag, 2000, ISBN 3-89675-734-2
Einzelstunden
- Hochspringen↑ Vorlesung TU Dresden ROOM – UML Vergleich (PDF; 73 KB)
- Hochspringen↑ Microsoft Information zu ROOM
- Hochspringen↑ eTrice – ROOM Open Source Tool
- Hochspringen↑ DeutschsprachigeInformationen zu ROOM und dem Buch „Objektorientierte Modellierung in Echtzeit“