Zwiziwzrrg fdggg oi oiw Oihdshföhjfsodfpweufr Pwoijdlkjdsljflj eiurowifr8 ifi Oiroiroiurouroufdjdljdlu eeur Zwiziwzrrg fdggg oi oiw Oihdshföhjfsodfpweufr Pwoijdlkjdsljflj eiurowifr8 ifi Oiroiroiurouroufdjdljdlu eeur Zwiziwzrrg fdggg oi oiw Oihdshföhjfsodfpweufr Pwoijdlkjdsljflj eiurowifr8 ifi Oiroiroiurouroufdjdljdlu eeur Erweiterung SA Bisher SA Alle Prozesse laufen datengetrieben ab: Start bei Vorliegen von gabedaten A B C Dynamik also z.b. B liegt vor: kein Prozess läuft. A liegt vor: läuft, erzeugt a und a4. Wenn a erzeugt, läuft und erzeugt??. Wenn a4 erzeugt, läuft 4 (wenn Speicher mind. einmal von beschrieben) und erzeugt??. Dann läuft und erzeugt C. b a a Speicher a a4 4 b e. x. e. C a a4 Reaktion der Verarbeitung auf Ereignisse? Vorlesung Automatisierungsprojekte Seite 8/ Erweiterung SA Dynamik der Verarbeitung anhand von Ereignissen: Steuerung der Prozesse durch Kontrollflüsse Knopf Knopf Knopf Knopf Kontextdiagramm Stelle Digitaluhr Uhr SA/RT Batterie Display Datenflussdiagramme werden um Kontrollflüsse erweitert. Flussdiagramm (FD): um Kontrollflüsse erweitertes DFD Erweiterung des Data Dictionary um Definitionen der Kontrollflüsse: Requirements Dictionary (RD) Kontrollflüsse sind diskrete Signale, z.b. Knopf = [gedrückt nicht gedrückt] Worauf reagieren die Prozesse? Kontrollflüsse werden im Diagramm als gestrichelte Pfeillinie dargestellt. Ablauf der Prozesse definiert durch Zustandsdiagramm und/oder Prozessaktivierungstabellen (analog Entscheidungstabellen): Kontrollspezifikation (Cspec). Wie reagieren die Prozesse? Start Anzeige Blinken Vorlesung Automatisierungsprojekte Seite 8/
Kombination der Basiskonzepte in RT RT 987 SA 979 Entscheidungstabelle Entscheidungsbäume Funktions Baum Datenflussdiagramm Data Dictionary Entity Relationship Pseudocode Zustandsautomat Funktionale Hierarchie Entitätstypen Beziehungen Informationsfluss Datenstrukturen Kontrollstrukturen Endlicher Automat Vorlesung Automatisierungsprojekte Seite 8/ Kontrollflüsse Knopf Batterie Knopf Start Stelle Uhr Knopf Anzeige Blinken Knopf Display Kontextdiagramm Digitaluhr Kontrollflüsse beschreiben das treten von Ereignissen. Weiterhin werden Datenflüsse verarbeitet. Kontrollflüsse werden nicht verarbeitet. Kontrollflüsse haben Signalcharakter und keinen kontinuierlichen Wertebereich. Kontrollflüsse beeinflussen nur die Verarbeitung in ihrem Ablauf: Umschalten von internen Systemzuständen Aktivierung von Prozessen (die Daten transformieren) Vorlesung Automatisierungsprojekte Seite 8/4
Kontrollflüsse, Kontrollbalken und Requirements Dictionary Kontrollbalken Knopf Batterie Knopf Start Stelle Uhr Knopf Anzeige Knopf Display Kontextdiagramm Digitaluhr Knopf Knopf Start FD von Digitaluhr Zeit null ormalzeit Anz. Sek. null ull Sek. 4 Sekunden Akt. Sek. 9 Zeit aktualisier. 8 Stunden Zeit Erh. Min. Akt. Akt. Min. 5 Min. eins erhöh. Erh. 7 eins Erhöh. 6 Minuten Knopf = [ja nein] Knopf = [ja nein] Start = [Strom keinstrom] Blinken = [an/aus] Anzeige = + Min.+ Sek. Zeit = + Min.+ Sek. Akt. = Erh. = Akt. Min. = Min. Erh. Min. = Min. Akt. Sek. = Sek. Erh. Sek. = Sek. =,,..., Min. =,,..., 59 Sek. =,,..., 59 Vorlesung Automatisierungsprojekte Seite 8/5 Kontrollspezifikation Kontrollbalken gibt an, welche Kontrollflüsse Prozesse des FD steuern (Pfeil zum Balken), bzw. von CSpec (oder Prozessen) des FD erzeugt werden (Pfeil vom Balken weg). Zu einem Kontrollbalken gehört eine Knopf Knopf Start FD von Digitaluhr Zeit null ormalzeit Anz. Sek. null ull Sek. 4 Sekunden Akt. Sek. 9 Zeit aktualisier. 8 Stunden Zeit Erh. Min. Akt. Akt. Min. 5 Min. eins erhöh. Erh. 7 eins Erhöh. 6 Minuten Kontrollspezifikation (CSpec): Gibt an, wie die Prozesse von den Kontrollflüssen gesteuert werden. Beschreibung durch Zustandsautomaten oder Prozessaktivierungstabellen. Vorlesung Automatisierungsprojekte Seite 8/6
Kontrollspezifikation Zustandsdiagramm und Prozessaktivierungstabelle Knopf Knopf Min. Knopf erh. ormalzeit Min. Kontrollflüsse Kontrollaktionen Start Initialisierung Knopf Min. erhöhen Knopf ormalzeit anzeigen Knopf Sek. Sek. Knopf Sek. Zeit null ormalzeit Anz. Sek. null Knopf Knopf Start ull Sek. 4 Sekunden Akt. Sek. 9 Zeit aktualisier. 8 Stunden Zeit Erh. Min. Akt. Akt. Min. 5 Min. eins erhöh. Erh. 7 eins Erhöh. 6 Minuten Vorlesung Automatisierungsprojekte Seite 8/7 Kontrollspezifikation Knopf Knopf Min. Knopf erh. ormalzeit Min. Knopf Min. erhöhen Start Initialisierung Knopf ormalzeit anzeigen Knopf Sek. Sek. Knopf Sek. Zeit null ormalzeit Anz. Sek. null ull Sek. 4 Sekunden Akt. Sek. 9 Zeit aktualisier. 8 Stunden Zeit Erh. Min. Akt. Akt. Min. 5 Min. eins erhöh. Erh. 7 eins Erhöh. 6 Minuten Prozesse 4 5 6 7 8 Kontrollaktionen Zeit null ormalzeit anzeigen Sek. null Sek. Min. eins erh. Min. eins erh. Initialisierung erh. Min. erh. Sek. Vorlesung Automatisierungsprojekte Seite 8/8
Kontrollspezifikation (CSpec) Dynamikbeschreibung bisher: Z.B. Batterieeinlegen führt zu Ereignis Start. achsehen in FD: Kontrollfluss Start führt auf Balken CSpec achsehen im Zustandsautomaten der Cspec: Start führt zum Zustandsübergang nach ormalzeit. Verbundene Aktion (unterm Strich): Initialisierung. achsehen in Prozessaktivierungstabelle: Erst () Prozess Zeit ull, dann () Prozess ormalzeit anzeigen aktivieren, alle anderen inaktiv (). Ständig laufende Prozesse (im Beispiel Zeit aktualisieren) tauchen in der CSpec nicht auf. icht verfeinerter Prozess: PSpec (MiniSpec mit Zeit in RT) z.b. Angabe über Folgeverhalten eines Prozesses nach Aktivierung. Vorlesung Automatisierungsprojekte Seite 8/9 Prozessspezifikation (PSpec) icht verfeinerter Prozess: PSpec (MiniSpec mit Zeit in RT) Beispiel: PSpec ; Zeit ull Issue Zeit := + + Issue: ausfertigen PSpec ; ormalzeit anzeigen Prozess beendet sich nach Durchführung selbst Anzeige := Zeit PSpec ; Sek. ull Issue ullsekunde := PSpec 4; Sekunde de Sekunden := aktuelle Sekunden... PSpec 9; Aktualisiere Zeit Zeit lesen, um eine Sekunde erhöhen, zurückschreiben In der PSpec kommt der ständig laufende Prozess 9 vor. Vorlesung Automatisierungsprojekte Seite 8/
Resultierende Prozesssteuerung. Prozess läuft während der gesamten Systemlaufzeit PSpec 9; Aktualisiere Zeit Zeit lesen, um eine Sekunde erhöhen, zurückschreiben Darf in keiner CSpec erscheinen.. Prozess wird aktiviert und beendet sich dann selbst Aktivierung durch Zustandsübergang oder treten einer PATBedingung Selbstbeendigung durch Schlüsselwort Issue in Pspec (oder auch vor Prozessnamen im FD). PSpec ; Zeit ull Issue Zeit := + +. Prozess wird aktiviert und beim nächsten Zustandsübergang deaktiviert PSpec ; ormalzeit anzeigen Anzeige := Zeit Vorlesung Automatisierungsprojekte Seite 8/ Cspec mit PAT A B C C C C4 C D E C5 C6 F PSpec PSpec M Alle und gabepfeile des Balkens im FD erscheinen in der PAT Kontrollflüsse, die einen Prozess verlassen, heißen Datenbedingungen: Kontrollsignale, die vom Prozess durch Test seiner gabedaten gemäß zugehöriger PSpec erzeugt werden. gabe gabe Prozess C C C4 Vorlesung Automatisierungsprojekte Seite 8/
Cspec mit Zustandsautomat B A C C C C4 C D C = E C5 C6 F PSpec PSpec M gabepfeile des Balkens im FD sind die Ereignisse des Zustandsautomaten Die Aktionen der Zustandsübergänge sind Prozessaktivierungen bzw. gabepfeile des Balkens. C= Aktiviere Prozess Zustand Zustand C = C4 = Zustand C= Aktiviere Prozess Vorlesung Automatisierungsprojekte Seite 8/ Zeitspezifikationen Externe Zeitanforderungen (aus Aufgabenstellung) Zeitanforderungen der Systemschnitt, d.h. für Signale des Kontextdiagramms Spezifikation von Wiederholungszyklen gabegabeantwortzeiten Wiederholungszyklen Können für externe, elementare gabesignale festgelegt werden, d.h. für gabekontrollflüsse im Kontextdiagramm. Werden im Requirements Dictionary durch Attribut Rate festgelegt. z.b. Stunden =,,..., Rate: Alle ms Minuten =,,..., 59 Rate: Alle ms gabegabeantwortzeiten Legen den erlaubten Antwortzeitbereich für jedes gabeereignis und das daraus resultierende gabeereignis fest. Werden in eine Zeitspezifikationstabelle eingetragen. Vorlesung Automatisierungsprojekte Seite 8/4
Zeitspezifikationstabelle gabesignal Ereignis gabesignal Knopf Gedrückt Blinkende Stunden Knopf Gedrückt Blinkende Minuten Knopf Gedrückt Blinkende Sekunden Knopf Gedrückt Blinkende Stunden Knopf Gedrückt Blinkende Minuten Knopf Gedrückt Blinkende Sekunden Ereignis Zahl anzeigen Zahl anzeigen Zahl anzeigen Zahl anzeigen Zahl anzeigen Zahl anzeigen Antwortzeit < ms < ms < ms < ms < ms < ms Regeln: gabeereignisse treten außerhalb des Systems ein. gabeereignisse sind Aktionen, die vom System ausgeführt werden. Alle und gabeereignisse sind mit erlaubten Werten im Requirements Dictionary definiert. edes externe Signal des Requirements Dictionary soll in der Zeitspezifikationstabelle erscheinen (auch wenn zeitunkritisch) Bei komplexen Zeitbeziehungen der Signale: Ergänzung durch Zeitdiagramme Vorlesung Automatisierungsprojekte Seite 8/5 Beispiel Hausalarmanlage Komponenten der Anlage: Glasbruchmelder an jedem Fenster Zwei PIRBewegungsmelder an jeder Hausseite Unterbrechungsschalter an Haustür Elektrisch steuerbare Rollläden an allen Fenstern Haustür elektrisch verriegelbar Gemeinsam schaltbare Scheinwerfer an allen Hausseiten und ecken sirene und blinklicht neben Haustür Aktivierbarer automatischer Telefonanrufer für max. 4 Rufnummern Vorlesung Automatisierungsprojekte Seite 8/6
Beispiel Hausalarmanlage Kontextdiagramm PIRBeweg. melder (8) Glasbruchmelder (8) InfrarotBefehl InfrarotStatus GlasbruchBefehl GlasbruchStatus HaustürBefehl HaustürStatus TageslichtBefehl TageslichtStatus stellungen Bewohner Statusinform. Bew. im Haus Steuere anlage Steuerkommandos Schließen Verriegeln Scheinwerfer sirene Blinklicht Telefonwähler Telefonnummern Rolläden Haustür Scheinwerfer sirene Haustürunterbrechungsmelder Helligkeitssensor blinklicht Telefonautomat Vorlesung Automatisierungsprojekte Seite 8/7 Beispiel Hausalarmanlage FD Steuerkommando InfrarotStatus = Voreinstellungen Bewohner im Haus Statusinformationen TageslichtStatus Bewohner im Haus TageslichtStatus Beleuchtung Telefonnummern Telefonwähler 4 Benutzerdialog verwalten Sicherungsmaßnahmen durchführen Schließen GlasbruchStatus = HaustürStatus = Lautsprecher Tonfolge Scheinwerfer stellungen Bewohner im Haus TageslichtStatus Bewohner im Haus Präventivmaßnahmen durchführen maßnahmen durchführen Vorlesung Automatisierungsprojekte Seite 8/8 TageslichtStatus Verriegeln Scheinwerfer sirene Telefonwähler Telefonnummern Scheinwerfer Beleuchtung Blinklicht Schließen InfrarotBefehl GlasbruchBefehl HaustürBefehl TageslichtBefehl
Beispiel Hausalarmanlage Requirements Dictionary sirene = [ ] Blinklicht = [ ] Bewohner_im_Haus = [a ein im_urlaub] stellungen = stiller_ + Telefonnummern GlasbruchBefehl = GlasbruchBefehl_ + GlasbruchBefehl_ + GlasbruchBefehl_ + GlasbruchBefehl_4 + GlasbruchBefehl_5 + GlasbruchBefehl_6 + GlasbruchBefehl_7 + GlasbruchBefehl_8 GlasbruchBefehl_n = [Aktivieren Deaktivieren ], n =,...,8 GlasbruchStatus = GlasbruchStatus _ + GlasbruchStatus _ + GlasbruchStatus _ + GlasbruchStatus _4 + GlasbruchStatus _5 + GlasbruchStatus _6 + GlasbruchStatus _7 + GlasbruchStatus _8 GlasbruchStatus_n = [ kein ], n =,...,8 Wiederholungszyklus: ms HaustürBefehl = [Aktivieren Deaktivieren ] HaustürStatus = [ kein ] Wiederholungszyklus: ms TageslichtBefehl = [Aktivieren Deaktivieren ] TageslichtStatus = [a ein] Wiederholungszyklus: ms Vorlesung Automatisierungsprojekte Seite 8/9 Beispiel Hausalarmanlage Requirements Dictionary InfrarotBefehl = InfrarotBefehl_ + InfrarotBefehl_ + InfrarotBefehl_ + InfrarotBefehl_4 + InfrarotBefehl_5 + InfrarotBefehl_6 + InfrarotBefehl_7 + InfrarotBefehl_8 InfrarotBefehl_n = [Aktivieren Deaktivieren ], n =,...,8 InfrarotStatus = InfrarotStatus _ + InfrarotStatus _ + InfrarotStatus _ + InfrarotStatus _4 + InfrarotStatus _5 + InfrarotStatus _6 + InfrarotStatus _7 + InfrarotStatus _8 + InfrarotStatus_n = [ kein ], n =,...,8 Wiederholungszyklus: ms Lautsprecher = [ ] Scheinwerfer = [ ] Schließen = [a ein] Statusinformation = GlasbruchStatus + Haustür Status + InfrarotStatus Steuerkommando = [schalten schalten Voralarm_ausschalten _ausschalten] Stiller_ = [a ein] Telefonnummer = 4{Ziffer} Telefonnummern = {Telefonnummer}4 Telefonwähler = [ ] Unterbrechungsmelder_Status = [GlasbruchStatus HaustürStatus] Verriegeln = [a ein] Vorlesung Automatisierungsprojekte Seite 8/
Beispiel Hausalarmanlage CSpec Infrarot Status_ Infrarot Status_... Infrarot Status_ 8 Bewegung smelder Status Glasbruch Status_ Glasbruch Status_... Glasbruch Status_8 Haustü r Status Unterbrech ungsmelder Status geschaltet Steuerkommando = schalten Steuerkommando = schalten BewegungsmelderStatus = Voralarm Aktiv Steuerkommando = Voralarm ausschalten Steuerkommando = ausschalten UnterbrechungsmelderStatus = UnterbrechungsmelderStatus = Vorlesung Automatisierungsprojekte Seite 8/ Beispiel Hausalarmanlage CSpec Steuerkommando = schalten BewegungsmelderStatus = Voralarm geschaltet Aktiv Steuerkommando = Voralarm ausschalten UnterbrechungsmelderStatus = Steuerkommando = schalten Steuerkommando = ausschalten UnterbrechungsmelderStatus = gabe Prozess Zustand Präventivmaßnahmen durchführen Sicherungsmaßnahmen durchführen maßnahmen durchführen geschaltet Aktiv Voralarm Vorlesung Automatisierungsprojekte Seite 8/
Beispiel Hausalarmanlage FD Präventivmaßnahmen durchführen Bewohner im Haus TageslichtStatus = acht Scheinwerfer Verriegeln Schließen. Singuläre melder verwalten. Ersten Melder verwalten InfrarotBefehl_ GlasbruchBefehl_ TageslichtBefehl HaustürBefehl.n (9) nten Melder verwalten InfrarotBefehl_n GlasbruchBefehl_n gabe Bewohner _im_haus Tageslicht Status = acht gabe Verriegeln Schlie ßen Schein werfer Prozesse Prozesse,,n( 9) Pspec. Singuläre melder verwalten HaustürBefehl := Aktivieren TageslichtBefehl := Aktivieren Pspec. Ersten Melder verwalten InfrarotBefehl_ := Aktivieren GlasbruchBefehl_ := Aktivieren Pspec.n (9) nten Melder verwalten InfrarotBefehl_(n) := Aktivieren GlasbruchBefehl_(n) := Aktivieren Vorlesung Automatisierungsprojekte Seite 8/ Beispiel Hausalarmanlage FD Sicherungsmaßnahmen durchführen Bewohner_im_Haus TageslichtStatus = acht Scheinwerfer Lautsprecher Beleuchtung Schließen Telefonnummern stellungen. Telefon wählen Telefonwähler Telefonnummern gabe Bewohner _im_haus Tageslicht Status = acht gabe Schließen Schein werfer Telefo n wählen Pspec. Telefon wählen Telefonwähler = ; for (i=; i<5; i++) { get Telefonnummer (i) from stellung put Telefonnummer (i) to Telefonautomat } Telefonwähler = ; Im Urlaub Vorlesung Automatisierungsprojekte Seite 8/4
Beispiel Hausalarmanlage FD maßnahmen durchführen Bewohner_im_Haus TageslichtStatus = acht Scheinwerfer sirene Blinklicht Telefonnummern stellungen. Telefon wählen Telefonwähler Telefonnummern gabe gabe Stiller Bewohner _im_haus Tageslicht Status = acht sirene Blinklicht Schein werfer Telefo n wählen Pspec. Telefon wählen Telefonwähler = ; for (i=; i<5; i++) { get Telefonnummer (i) from stellung put Telefonnummer (i) to Telefonautomat } Telefonwähler = ; Vorlesung Automatisierungsprojekte Seite 8/5 Aufgabe Fehleranalyse des schnitts eines RTModells einer Lagerverwaltung Vorlesung Automatisierungsprojekte Seite 8/6
Aufgabe Fehleranalyse des schnitts eines RTModells einer Lagerverwaltung Lösung KontextDiagramm: Prozess "verwalte Lager" hat keine ummer. ichtssagende Bezeichnungen Schnittstelle A und Schnittstelle B. Balancing KontextDiagramm Diagramm : Datenfluss "b" fließt in Prozess hinein, während im Diagramm die Komponente "b" das Diagramm verlässt und die Komponente "b" von außen in das Diagramm hineinfließt. Datenfluss "c" fließt in Prozess hinein, ist aber ein interner Datenfluss im Diagramm. Kontrollfluss "d" fließt in Prozess hinein, seine Komponenten "d" und "d" im Diagramm sind jedoch Datenflüsse. Diagramm : Datenfluss "b" verlässt den Datenspeicher "Bestand" und fließt direkt zu einer externen Schnittstelle. Datenfluss "f" kommt aus einer KontrollSpezifikation. Prozess "kontrolliere gang" hat keine ummer. Vorlesung Automatisierungsprojekte Seite 8/7 Aufgabe Fehleranalyse des schnitts eines RTModells einer Lagerverwaltung Balancing Diagramm PSpec.: ummer der PSpec "kontrolliere gang" als Verfeinerung von Prozess "kontrolliere gang" ist.. Richtig wäre PSpec. Kontrollfluss "Bedingung" fließt in die PSpec hinein. Kontrollfluss "i" aus Prozess wird in der PSpec nicht generiert. Datenfluss "Bestand" aus Prozess wird in der PSpec nicht gebildet. Balancing Diagramm CSpec : ummer der CSpec ist. Richtig wäre. Im Diagramm verlässt ein Datenfluss "f" die CSpecSchnittstelle, während in der C Spec ein Kontrollfluss "f" generiert wird. In der CSpec wird der Kontrollfluss "g" als Aktion generiert. Im Diagramm fehlt ein Kontrollfluss "g", der die CSpec verlässt. PSpec.: keine Fehler CSpec : Am Zustandsübergang vom Zustand "wartend" zum Zustand "Ruhe" fehlt das Ereignis als Bedingung für den Zustandswechsel. DD: keine Fehler Vorlesung Automatisierungsprojekte Seite 8/8
Aufgabe Modellierung einer Tankanlagensteuerung mit der RT Methode einfaches Softwaresystem steuert das Füllen und Leeren eines Tanks, indem es den Flüssigkeitsstand im Tank überwacht und die Ventile entsprechend öffnet und schließt. Es gibt ein lass und ein lassventil. edes Ventil kann zwei Zustände einnehmen: geöffnet und geschlossen. Das lassventil besitzt beim Öffnen eine Zeitverzögerung von sec. Der Bediener kann das gewünschte Flüssigkeitsniveau ins System eingeben, wenn der Tank leer ist. Das System akzeptiert folgende Kommandos: Tank auf das gewünschte iveau füllen (bei leerem Tank): Beim Füllen des Tanks wird das lassventil geöffnet und die Flüssigkeit strömt in den Tank ein, bis die vorgegebene Füllhöhe erreicht ist. Tank leeren (bei vollem Tank): Das Entleeren des Tanks wird mit entsprechenden lassventilkommandos (Auf, Zu) gesteuert. Geber meldet den aktuellen Flüssigkeitsstand des Tanks. Vorlesung Automatisierungsprojekte Seite 8/9 Aufgabe Modellierung einer Tankanlagensteuerung mit der RT Methode Lösung: Kontextdiagramm Vorlesung Automatisierungsprojekte Seite 8/
Aufgabe Modellierung einer Tankanlagensteuerung mit der RT Methode Lösung: FD Tank leer Tank voll EVSollstatus Solliveau Bedienerkommando Setze Soll iveau 7 Schließe lass Ventil EVSollstatus 6 Öffne lass Ventil Solliveau Istiveau Prüfe ob Tank voll 5 schließe lass Ventil Tank voll Tank leer Istiveau Prüfe ob Tank leer 4 Öffne lassventil AVSollstatus AVSollstatus Vorlesung Automatisierungsprojekte Seite 8/ Aufgabe Modellierung einer Tankanlagensteuerung mit der RT Methode Lösung: CSpec Kommando Sollwert eingeben Setze Solliveau Tank leer Schließe laßventil 4 Tank wird geleert Kommando Tank leeren Öffne laßventil Prüfe ob Tank leer Tank ist leer Tank ist voll Kommando Tank füllen Öffne laßventil Prüfe ob Tank voll Tank wird gefüllt Tank voll Schließe laßventil PSpec; setze Solliveau Speichere "vorgegebenes iveau" im Speicher "Solliveau" PSpec; prüfe_ob_tank_voll Issue LOOP IF Istiveau >= Solliveau THE Generate Tank_voll; Exit; ED IF; ED LOOP; PSpec; prüfe_ob_tank_leer Issue LOOP IF Istiveau = THE Generate Tank_leer; Exit; ED IF; ED LOOP; PSpec4; öffne laßventil Issue Generate AV_Sollstatus = Auf; PSpec5; schließe laßventil Issue Generate AV_Sollstatus = Zu; PSpec6; öffne laßventil Issue Generate EV_Sollstatus = Auf; PSpec7; schließe laßventil Issue Generate EV_Sollstatus = Zu; Vorlesung Automatisierungsprojekte Seite 8/
Aufgabe Modellierung einer Tankanlagensteuerung mit der RT Methode Lösung: Requirements Dictionary Requirements Dictionary Tankanlage Auf =* Ventilzustand * AV_Sollstatus = [ Auf Zu ] * Sollstatus des laßventils * Bediener_Kommando = [ Solliveau_eingeben Tank_füllen Tank_leeren ] EV_Sollstatus = [ Auf Zu ] * Sollstatus des laßventils * Istiveau = * aktuelles Flüssigkeitsniveau im Tank * Solliveau = * Flüssigkeitsniveau, das beim Füllen des Tanks erreicht werden soll * Solliveau_eingeben = * gabe des Solliveaus der Flüssigkeit * Tank_füllen = * Füllen des Tanks * Tank_leeren = * Leeren des Tanks * Tank_voll = [ "WAHR" "FALSCH" ] Tank_leer = [ "WAHR" "FALSCH" ] Zu = * Ventilzustand * Vorlesung Automatisierungsprojekte Seite 8/