Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vorlesung Automatisierungsprojekte Seite 8/1 A C B a3 x e1 e2 a4 Zwiziwzrrg fdggg oi oiw Oihdshf öhjfsodf pweufr Pwoijdlkjdsljflj eiurowifr8 ifi Oiroiroiurouroufdjdljdlu.

Ähnliche Präsentationen


Präsentation zum Thema: "Vorlesung Automatisierungsprojekte Seite 8/1 A C B a3 x e1 e2 a4 Zwiziwzrrg fdggg oi oiw Oihdshf öhjfsodf pweufr Pwoijdlkjdsljflj eiurowifr8 ifi Oiroiroiurouroufdjdljdlu."—  Präsentation transkript:

1 Vorlesung Automatisierungsprojekte Seite 8/1 A C B a3 x e1 e2 a4 Zwiziwzrrg fdggg oi oiw Oihdshf öhjfsodf pweufr Pwoijdlkjdsljflj eiurowifr8 ifi Oiroiroiurouroufdjdljdlu eeur Zwiziwzrrg fdggg oi oiw Oihdshf öhjfsodf pweufr Pwoijdlkjdsljflj eiurowifr8 ifi Oiroiroiurouroufdjdljdlu eeur Zwiziwzrrg fdggg oi oiw Oihdshf öhjfsodf pweufr Pwoijdlkjdsljflj eiurowifr8 ifi Oiroiroiurouroufdjdljdlu eeur 0 Speicher a1 a2 a3 a4 b1 b2 C Strukturierte Analyse /Realtime Modeling (SA/RT) Erweiterung SA Bisher SA Alle Prozesse laufen datengetrieben ab: Start bei Vorliegen von Eingabedaten Dynamik also z.B. B liegt vor: kein Prozess läuft. A liegt vor: 3 läuft, erzeugt a3 und a4. Wenn a3 erzeugt, läuft 1 und erzeugt ??1. Wenn a4 erzeugt, läuft 4 (wenn Speicher mind. einmal von 1 beschrieben) und erzeugt ??2. Dann läuft 2 und erzeugt C. Reaktion der Verarbeitung auf Ereignisse?

2 Vorlesung Automatisierungsprojekte Seite 8/2 Erweiterung SA Dynamik der Verarbeitung anhand von Ereignissen: Steuerung der Prozesse durch Kontrollflüsse SA/RT 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. Knopf1 = [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 ? Knopf1 Batterie Knopf2 Display 0 Stelle Uhr Knopf1 gedr. Knopf2 gedr. Start Anzeige Blinken Kontextdiagramm „Digitaluhr“ Strukturierte Analyse /Realtime Modeling (SA/RT)

3 Vorlesung Automatisierungsprojekte Seite 8/3 Funktions- Baum Datenfluss- diagramm Data Dictionary Entscheidungs- tabelle Entscheidungs- bäume Pseudo- code SA 1979 Funktionale Hierarchie Informations- fluss Daten- strukturen Kontroll- strukturen Kombination der Basiskonzepte in RT Entity Relationship Entitätstypen Beziehungen Zustands- automat Endlicher Automat RT 1987 Strukturierte Analyse /Realtime Modeling (SA/RT)

4 Vorlesung Automatisierungsprojekte Seite 8/4 Knopf1 Batterie Knopf2 Display 0 Stelle Uhr Knopf1 gedr. Knopf2 gedr. Start Anzeige Blinken Kontextdiagramm „Digitaluhr“ Kontrollflüsse Kontrollflüsse beschreiben das Eintreten 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) Strukturierte Analyse /Realtime Modeling (SA/RT)

5 Vorlesung Automatisierungsprojekte Seite 8/5 Knopf1 Batterie Knopf2 Display 0 Stelle Uhr Knopf1 gedr. Knopf2 gedr. Start Anzeige blinken Kontextdiagramm „Digitaluhr“ Kontrollflüsse, Kontrollbalken und Requirements Dictionary 1 Zeit null stellen 9 Zeit aktu- alisier. 8 Stunden blinken 7 Std. eins Erhöh. 6 Minuten blinken 5 Min. eins erhöh. 4 Sekunden blinken 3 Sek. null stellen 2 Normalzeit Anz. Zeit Null Sek. Akt. Sek. Erh. Min. Akt. Min. Erh. Std. Akt. Std. FD0 von „Digitaluhr Knopf1 gedr. = [ja|nein] Knopf2 gedr. = [ja|nein] Start =[Strom|keinStrom] Blinken = [an/aus] Anzeige =Std.+ Min.+ Sek. Zeit =Std.+ Min.+ Sek. Akt. Std. = Std. Erh. Std. =Std. Akt. Min. =Min. Erh. Min. =Min. Akt. Sek. =Sek. Erh. Sek. =Sek. Std. =0, 1,..., 23 Min. =0, 1,..., 59 Sek. =0, 1,..., 59 Kontrollbalken blinken Knopf1 gedr. Knopf2 gedr. Start blinken Strukturierte Analyse /Realtime Modeling (SA/RT)

6 Vorlesung Automatisierungsprojekte Seite 8/6 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 Kontrollspezifikation (CSpec): Gibt an, wie die Prozesse von den Kontrollflüssen gesteuert werden. Beschreibung durch Zustandsautomaten oder Prozessaktivierungstabellen. 1 Zeit null stellen 9 Zeit aktu- alisier. 8 Stunden blinken 7 Std. eins Erhöh. 6 Minuten blinken 5 Min. eins erhöh. 4 Sekunden blinken 3 Sek. null stellen 2 Normalzeit Anz. Zeit Null Sek. Akt. Sek. Erh. Min. Akt. Min. Erh. Std. Akt. Std. Knopf1 gedr. Knopf2 gedr. Start blinken FD0 von „Digitaluhr blinken Strukturierte Analyse /Realtime Modeling (SA/RT)

7 Vorlesung Automatisierungsprojekte Seite 8/7 Kontrollspezifikation Zustandsdiagramm und Prozessaktivierungstabelle 1 Zeit null stellen 9 Zeit aktu- alisier. 8 Stunden blinken 7 Std. eins Erhöh. 6 Minuten blinken 5 Min. eins erhöh. 4 Sekunden blinken 3 Sek. null stellen 2 Normalzeit Anz. Zeit Null Sek. Akt. Sek. Erh. Min. Akt. Min. Erh. Std. Akt. Std. Normal- zeit Min. stellen Sek. stellen Std. stellen Start Initialisierung Knopf1 gedr. Std. blinken Knopf2 gedr. Std. erh. Knopf2 gedr. Min. erhöhen Knopf2 gedr. Sek. stellen Knopf1 gedr. Min. blinken Knopf1 gedr. Sek. blinken Knopf1 gedr. Normalzeit anzeigen Kontrollflüsse Kontrollaktionen blinken Knopf1 gedr. Knopf2 gedr. Start blinken Strukturierte Analyse /Realtime Modeling (SA/RT)

8 Vorlesung Automatisierungsprojekte Seite 8/8 Kontrollspezifikation 1 Zeit null stellen 9 Zeit aktu- alisier. 8 Stunden blinken 7 Std. eins Erhöh. 6 Minuten blinken 5 Min. eins erhöh. 4 Sekunden blinken 3 Sek. null stellen 2 Normalzeit Anz. Zeit Null Sek. Akt. Sek. Erh. Min. Akt. Min. Erh. Std. Akt. Std. Normal- zeit Min. stellen Sek. stellen Std. stellen Start Initialisierung Knopf1 gedr. Std. blinken Knopf2 gedr. Std. erh. Knopf2 gedr. Min. erhöhen Knopf2 gedr. Sek. stellen Knopf1 gedr. Min. blinken Knopf1 gedr. Sek. blinken Knopf1 gedr. Normalzeit anzeigen blinken Prozesse Kontroll-aktionenZeit null stellen Normalzeit anzeigen Sek. null stellen Sek. blinken Min. eins erh. Min. blinken Std. eins erh. Std. blinken Initialisierung Std. erh Min. erh Sek. stellen Strukturierte Analyse /Realtime Modeling (SA/RT)

9 Vorlesung Automatisierungsprojekte Seite 8/9 Kontrollspezifikation (CSpec) Dynamikbeschreibung bisher: Z.B. Batterieeinlegen führt zu Ereignis „Start“. Nachsehen in FD0: Kontrollfluss „Start“ führt auf Balken  CSpec Nachsehen im Zustandsautomaten der Cspec: „Start“ führt zum Zustandsübergang nach Normalzeit. Verbundene Aktion (unterm Strich): Initialisierung. Nachsehen in Prozessaktivierungstabelle: Erst (1) Prozess Zeit Null stellen, dann (2) Prozess Normalzeit anzeigen aktivieren, alle anderen inaktiv (0). Ständig laufende Prozesse (im Beispiel Zeit aktualisieren) tauchen in der CSpec nicht auf. Nicht verfeinerter Prozess: PSpec (MiniSpec mit Zeit in RT) z.B. Angabe über Folgeverhalten eines Prozesses nach Aktivierung. Strukturierte Analyse /Realtime Modeling (SA/RT)

10 Vorlesung Automatisierungsprojekte Seite 8/10 Prozessspezifikation (PSpec) Nicht verfeinerter Prozess: PSpec (MiniSpec mit Zeit in RT) Beispiel: PSpec 1; Zeit Null stellen Issue Zeit := PSpec 2; Normalzeit anzeigen Anzeige := Zeit PSpec 3; Sek. Null stellen Issue Nullsekunde := 0 PSpec 4; Sekunde blinken blinkende 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. Issue: ausfertigen Prozess beendet sich nach Durchführung selbst Strukturierte Analyse /Realtime Modeling (SA/RT)

11 Vorlesung Automatisierungsprojekte Seite 8/11 Resultierende Prozesssteuerung 1. 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. 2. Prozess wird aktiviert und beendet sich dann selbst Aktivierung durch Zustandsübergang oder Eintreten einer PAT-Bedingung Selbstbeendigung durch Schlüsselwort Issue in Pspec (oder auch vor Prozessnamen im FD). PSpec 1; Zeit Null stellen Issue Zeit := Prozess wird aktiviert und beim nächsten Zustandsübergang deaktiviert PSpec 2; Normalzeit anzeigen Anzeige := Zeit Strukturierte Analyse /Realtime Modeling (SA/RT)

12 Vorlesung Automatisierungsprojekte Seite 8/12 Cspec mit PAT EingabeAusgabeProzess C2C3C Ein A B C1 C D E F C5 C6 C2 C3 C4 Alle Ein- und Ausgabepfeile des Balkens im FD erscheinen in der PAT Kontrollflüsse, die einen Prozess verlassen, heißen Datenbedingungen: Kontrollsignale, die vom Prozess durch Test seiner Eingabedaten gemäß zugehöriger PSpec erzeugt werden. PSpec N PSpec M Strukturierte Analyse /Realtime Modeling (SA/RT)

13 Vorlesung Automatisierungsprojekte Seite 8/13 Cspec mit Zustandsautomat A B C1 C D E F C5 C6 C2 C3 C4 Eingabepfeile des Balkens im FD sind die Ereignisse des Zustandsautomaten Die Aktionen der Zustandsübergänge sind Prozessaktivierungen bzw. Ausgabepfeile des Balkens. PSpec N PSpec M Zustand 1 Zustand 3 Zustand 2 C3 = 0 C3=1 Aktiviere Prozess 2 C2 = 0 C4 = Ein C2=1 Aktiviere Prozess 1 Strukturierte Analyse /Realtime Modeling (SA/RT)

14 Vorlesung Automatisierungsprojekte Seite 8/14 Zeitspezifikationen Externe Zeitanforderungen (aus Aufgabenstellung)  Zeitanforderungen der Systemschnittstellen, d.h. für Signale des Kontextdiagramms Spezifikation von  Wiederholungszyklen  Eingabe-Ausgabe-Antwortzeiten Wiederholungszyklen Können für externe, elementare Ausgabesignale festgelegt werden, d.h. für Ausgabekontrollflüsse im Kontextdiagramm. Werden im Requirements Dictionary durch Attribut Rate festgelegt. z.B. Stunden = 0, 1,..., 23 Rate: Alle 100 ms Minuten = 0, 1,..., 59Rate: Alle 100 ms Eingabe-Ausgabe-Antwortzeiten Legen den erlaubten Antwortzeitbereich für jedes Eingabeereignis und das daraus resultierende Ausgabeereignis fest. Werden in eine Zeitspezifikationstabelle eingetragen. Strukturierte Analyse /Realtime Modeling (SA/RT)

15 Vorlesung Automatisierungsprojekte Seite 8/15 Zeitspezifikationstabelle Regeln: Eingabeereignisse treten außerhalb des Systems ein. Ausgabeereignisse sind Aktionen, die vom System ausgeführt werden. Alle Ein- und Ausgabeereignisse sind mit erlaubten Werten im Requirements Dictionary definiert. Jedes externe Signal des Requirements Dictionary soll in der Zeitspezifikationstabelle erscheinen (auch wenn zeitunkritisch) Bei komplexen Zeitbeziehungen der Signale: Ergänzung durch Zeitdiagramme EingabesignalEreignisAusgabesignalEreignisAntwortzeit Knopf1GedrücktBlinkende StundenZahl anzeigen< 100 ms Knopf1GedrücktBlinkende MinutenZahl anzeigen< 100 ms Knopf1GedrücktBlinkende SekundenZahl anzeigen< 100 ms Knopf2GedrücktBlinkende StundenZahl anzeigen< 200 ms Knopf2GedrücktBlinkende MinutenZahl anzeigen< 200 ms Knopf2GedrücktBlinkende SekundenZahl anzeigen< 200 ms Strukturierte Analyse /Realtime Modeling (SA/RT)

16 Vorlesung Automatisierungsprojekte Seite 8/16 Beispiel Hausalarmanlage Komponenten der Anlage: Glasbruchmelder an jedem Fenster Zwei PIR-Bewegungsmelder 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 Alarmsirene und –blinklicht neben Haustür Aktivierbarer automatischer Telefonanrufer für max. 4 Rufnummern Strukturierte Analyse /Realtime Modeling (SA/RT)

17 Vorlesung Automatisierungsprojekte Seite 8/17 Beispiel Hausalarmanlage Kontextdiagramm PIR-Beweg.- melder (8) Glasbruch- melder (8) Haustür- unterbrechungs- melder Helligkeits- sensor Bewohner Rolläden Haustür Scheinwerfer Alarmsirene Alarm- blinklicht Telefon- automat 0 Steuere Alarm- anlage Steuerkommandos Bew. im Haus Statusinform. Einstellungen Infrarot-Befehl Infrarot-Status Glasbruch-Status Haustür-Status Tageslicht-Status Glasbruch-Befehl Haustür-Befehl Tageslicht-Befehl Schließen Verriegeln Scheinwerfer Alarmsirene Blinklicht Telefonwähler Telefonnummern Strukturierte Analyse /Realtime Modeling (SA/RT)

18 Vorlesung Automatisierungsprojekte Seite 8/18 Statusinformationen Tageslicht-Status Bewohner im Haus Voreinstellungen Beispiel Hausalarmanlage FD0 Steuerkommando Infrarot-Status = Alarm Haustür-Status = Alarm Glasbruch-Status = Alarm Einstellungen 4 Benutzer- dialog verwalten 2 Sicherungs- maßnahmen durchführen 3 Alarm- maßnahmen durchführen 1 Präventiv- maßnahmen durchführen Bewohner im Haus Tageslicht-Status Beleuchtung Telefonnummern Telefonwähler Schließen Scheinwerfer Tonfolge Lautsprecher Bewohner im Haus Tageslicht-Status Beleuchtung Scheinwerfer Telefonnummern Telefonwähler Alarmsirene Blinklicht Bewohner im Haus Tageslicht-Status Verriegeln Scheinwerfer Schließen Infrarot-Befehl Glasbruch-Befehl Haustür-Befehl Tageslicht-Befehl Strukturierte Analyse /Realtime Modeling (SA/RT)

19 Vorlesung Automatisierungsprojekte Seite 8/19 Beispiel Hausalarmanlage Requirements Dictionary Alarmsirene =[Ein|Aus] Blinklicht = [Ein|Aus] Bewohner_im_Haus =[Ja|Nein|im_Urlaub] Einstellungen = stiller_Alarm + Telefonnummern Glasbruch-Befehl =Glasbruch-Befehl_1 + Glasbruch-Befehl_2 + Glasbruch-Befehl_3 + Glasbruch-Befehl_4 + Glasbruch-Befehl_5 + Glasbruch-Befehl_6 + Glasbruch-Befehl_7 + Glasbruch-Befehl_8 Glasbruch-Befehl_n =[Aktivieren|Deaktivieren ], n = 1,...,8 Glasbruch-Status =Glasbruch-Status _1 + Glasbruch-Status _2 + Glasbruch-Status _3 + Glasbruch-Status _4 + Glasbruch-Status _5 + Glasbruch-Status _6 + Glasbruch-Status _7 + Glasbruch-Status _8 Glasbruch-Status_n =[Alarm|kein Alarm], n = 1,...,8 Wiederholungszyklus: 200 ms Haustür-Befehl =[Aktivieren|Deaktivieren ] Haustür-Status =[Alarm|kein Alarm] Wiederholungszyklus: 200 ms Tageslicht-Befehl =[Aktivieren|Deaktivieren ] Tageslicht-Status =[Ja|Nein] Wiederholungszyklus: 200 ms Strukturierte Analyse /Realtime Modeling (SA/RT)

20 Vorlesung Automatisierungsprojekte Seite 8/20 Beispiel Hausalarmanlage Requirements Dictionary Infrarot-Befehl =Infrarot-Befehl_1 + Infrarot-Befehl_2 + Infrarot-Befehl_3 + Infrarot-Befehl_4 + Infrarot-Befehl_5 + Infrarot-Befehl_6 + Infrarot-Befehl_7 + Infrarot-Befehl_8 Infrarot-Befehl_n =[Aktivieren|Deaktivieren ], n = 1,...,8 Infrarot-Status =Infrarot-Status _1 + Infrarot-Status _2 + Infrarot-Status _3 + Infrarot-Status _4 + Infrarot-Status _5 + Infrarot-Status _6 + Infrarot-Status _7 + Infrarot-Status _8 + Infrarot-Status_n =[Alarm|kein Alarm], n = 1,...,8 Wiederholungszyklus: 200 ms Lautsprecher = [Ein|Aus] Scheinwerfer =[Ein|Aus] Schließen =[Ja|Nein] Statusinformation =Glasbruch-Status + Haustür- Status + Infrarot-Status Steuerkommando =[Einschalten|Ausschalten|Voralarm_ausschalten|Alarm_ausschalten] Stiller_Alarm =[Ja|Nein] Telefonnummer = 4{Ziffer}12 Telefonnummern =1{Telefonnummer}4 Telefonwähler =[Ein|Aus] Unterbrechungsmelder_Status =[Glasbruch-Status|Haustür-Status] Verriegeln = [Ja|Nein] Strukturierte Analyse /Realtime Modeling (SA/RT)

21 Vorlesung Automatisierungsprojekte Seite 8/21 Beispiel Hausalarmanlage CSpec 0 Infrarot- Status_ 1 Infrarot- Status_ 2...Infrarot- Status_ 8 Bewegung smelder- Status Alarm Kein Alarm Glasbruch -Status_1 Glasbruch –Status_2...Glasbruch –Status_8 Haustü r- Status Unterbrech ungsmelder -Status Alarm Kein Alarm Ausgeschaltet Aktiv VoralarmAlarm Unterbrechungsmelder-Status = Alarm Bewegungsmelder-Status = Alarm Unterbrechungsmelder-Status = Alarm Steuerkommando = Voralarm ausschalten Steuerkommando = Alarm ausschalten Steuerkommando = Einschalten Steuerkommando = Ausschalten Strukturierte Analyse /Realtime Modeling (SA/RT)

22 Vorlesung Automatisierungsprojekte Seite 8/22 Beispiel Hausalarmanlage CSpec 0 Ausgeschaltet Aktiv VoralarmAlarm Unterbrechungsmelder-Status = Alarm Bewegungsmelder-Status = Alarm Unterbrechungsmelder-Status = Alarm Steuerkommando = Voralarm ausschalten Steuerkommando = Alarm ausschalten Steuerkommando = Einschalten Steuerkommando = Ausschalten EingabeProzess Zustand1 Präventiv- maßnahmen durchführen 2 Sicherungs- maßnahmen durchführen 3 Alarm- maßnahmen durchführen Ausgeschaltet000 Aktiv100 Voralarm010 Alarm001 Strukturierte Analyse /Realtime Modeling (SA/RT)

23 Vorlesung Automatisierungsprojekte Seite 8/23 Beispiel Hausalarmanlage FD1 „Präventivmaßnahmen durchführen“ Bewohner im Haus Tageslicht-Status = Nacht Scheinwerfer Verriegeln Schließen 1.n (3-9) n-ten Melder verwalten 1.1 Singuläre Alarmmelder verwalten 1.2 Ersten Melder verwalten Haustür-Befehl Tageslicht-Befehl Infrarot-Befehl_1 Glasbruch-Befehl_1 Infrarot-Befehl_n Glasbruch-Befehl_n EingabeAusgabeProzesse Bewohner _im_Haus Tageslicht -Status = Nacht Ver- rie- geln Schlie -ßen Schein -werfer Prozesse 1,2,n(3- 9) JJNNAus1 JNNN 1 NJJJ 1 NNJN 1 Pspec 1.1 Singuläre Alarmmelder verwalten Haustür-Befehl := Aktivieren Tageslicht-Befehl := Aktivieren Pspec 1.2 Ersten Melder verwalten Infrarot-Befehl_1 := Aktivieren Glasbruch-Befehl_1 := Aktivieren Pspec 1.n (3-9) n-ten Melder verwalten Infrarot-Befehl_(n-1) := Aktivieren Glasbruch-Befehl_(n-1) := Aktivieren Strukturierte Analyse /Realtime Modeling (SA/RT)

24 Vorlesung Automatisierungsprojekte Seite 8/24 Beispiel Hausalarmanlage FD2 „Sicherungsmaßnahmen durchführen“ Bewohner_im_Haus Tageslicht-Status = Nacht Scheinwerfer Lautsprecher Beleuchtung 2.1 Telefon wählen Telefonwähler Telefonnummern EingabeAusgabe Bewohner _im_Haus Tageslicht- Status = Nacht Schlie- ßen Schein -werfer Telefon wählen JJNEin0 JNNAus0 NJJ 0 NNJ 0 Im Urlaub-JAus1 Pspec 2.1 Telefon wählen Telefonwähler = Ein; for (i=1; i<5; i++) { get Telefonnummer (i) from Einstellung put Telefonnummer (i) to Telefonautomat } Telefonwähler = Aus; Schließen Einstellungen Telefonnummern Strukturierte Analyse /Realtime Modeling (SA/RT)

25 Vorlesung Automatisierungsprojekte Seite 8/25 Beispiel Hausalarmanlage FD3 „Alarmmaßnahmen durchführen“ Bewohner_im_Haus Tageslicht-Status = Nacht Scheinwerfer Alarmsirene Blinklicht 3.1 Telefon wählen Telefonwähler Telefonnummern EingabeAusgabe Stiller Alarm Bewohner _im_Haus Tageslicht- Status = Nacht Alarm- sirene Blink- licht Schein -werfer Telefon wählen JJJAus Ein1 JJNAus 1 JNJ 1 JNN 1 NJJEin 1 NJN Aus1 NNJEin Aus1 NNNEin Aus1 Pspec 3.1 Telefon wählen Telefonwähler = Ein; for (i=1; i<5; i++) { get Telefonnummer (i) from Einstellung put Telefonnummer (i) to Telefonautomat } Telefonwähler = Aus; Einstellungen Telefonnummern Strukturierte Analyse /Realtime Modeling (SA/RT)

26 Vorlesung Automatisierungsprojekte Seite 8/26 Aufgabe 1 Fehleranalyse des Ausschnitts eines RT-Modells einer Lagerverwaltung Strukturierte Analyse /Realtime Modeling (SA/RT)

27 Vorlesung Automatisierungsprojekte Seite 8/27 Lösung Kontext-Diagramm: - Prozess "verwalte Lager" hat keine Nummer. - Nichtssagende Bezeichnungen „Schnittstelle A“ und „Schnittstelle B“. Balancing Kontext-Diagramm - Diagramm 0: - Datenfluss "b" fließt in Prozess 0 hinein, während im Diagramm 0 die Komponente "b1" das Diagramm verlässt und die Komponente "b2" von außen in das Diagramm hineinfließt. - Datenfluss "c" fließt in Prozess 0 hinein, ist aber ein interner Datenfluss im Diagramm 0. - Kontrollfluss "d" fließt in Prozess 0 hinein, seine Komponenten "d1" und "d2" im Diagramm 0 sind jedoch Datenflüsse. Diagramm 0: - Datenfluss "b1" verlässt den Datenspeicher "Bestand" und fließt direkt zu einer externen Schnittstelle. - Datenfluss "f2" kommt aus einer Kontroll-Spezifikation. - Prozess "kontrolliere Ausgang" hat keine Nummer. Aufgabe 1 Fehleranalyse des Ausschnitts eines RT-Modells einer Lagerverwaltung Strukturierte Analyse /Realtime Modeling (SA/RT)

28 Vorlesung Automatisierungsprojekte Seite 8/28 Balancing Diagramm 0 - P-Spec 1.1: - Nummer der P-Spec "kontrolliere Eingang" als Verfeinerung von Prozess 1 "kontrolliere Eingang" ist 1.1. Richtig wäre P-Spec 1. - Kontrollfluss "Bedingung" fließt in die P-Spec hinein. - Kontrollfluss "i" aus Prozess 1 wird in der P-Spec nicht generiert. - Datenfluss "Bestand" aus Prozess 1 wird in der P-Spec nicht gebildet. Balancing Diagramm 0 - C-Spec 3: - Nummer der C-Spec ist 3. Richtig wäre 0. - Im Diagramm 0 verlässt ein Datenfluss "f2" die C-Spec-Schnittstelle, während in der C- Spec ein Kontrollfluss "f" generiert wird. - In der C-Spec wird der Kontrollfluss "g" als Aktion generiert. Im Diagramm 0 fehlt ein Kontrollfluss "g", der die C-Spec verlässt. P-Spec 1.1: keine Fehler C-Spec 3: - Am Zustandsübergang vom Zustand "wartend" zum Zustand "Ruhe" fehlt das Ereignis als Bedingung für den Zustandswechsel. DD: keine Fehler Aufgabe 1 Fehleranalyse des Ausschnitts eines RT-Modells einer Lagerverwaltung Strukturierte Analyse /Realtime Modeling (SA/RT)

29 Vorlesung Automatisierungsprojekte Seite 8/29 Ein 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 Einlass- und ein Auslassventil. Jedes Ventil kann zwei Zustände einnehmen: geöffnet und geschlossen. Das Einlassventil besitzt beim Öffnen eine Zeitverzögerung von 2 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 Niveau füllen (bei leerem Tank): Beim Füllen des Tanks wird das Einlassventil 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 Auslassventilkommandos (Auf, Zu) gesteuert. Ein Geber meldet den aktuellen Flüssigkeitsstand des Tanks. Aufgabe 2 Modellierung einer Tankanlagensteuerung mit der RT Methode Strukturierte Analyse /Realtime Modeling (SA/RT)

30 Vorlesung Automatisierungsprojekte Seite 8/30 Aufgabe 2 Modellierung einer Tankanlagensteuerung mit der RT Methode Lösung: Kontextdiagramm Strukturierte Analyse /Realtime Modeling (SA/RT)

31 Vorlesung Automatisierungsprojekte Seite 8/31 Aufgabe 2 Modellierung einer Tankanlagensteuerung mit der RT Methode Lösung: FD0 1 Setze Soll- Niveau 2 Prüfe ob Tank voll 3 Prüfe ob Tank leer 7 Schließe Einlass- Ventil 6 Öffne Einlass- Ventil 5 schließe Auslass- Ventil 4 Öffne Auslass- ventil Soll-Niveau Ist-Niveau Tank leer Tank voll AV-Sollstatus EV-Sollstatus AV-Sollstatus EV-Sollstatus Bedienerkommando Tank leer Tank voll Soll-Niveau Strukturierte Analyse /Realtime Modeling (SA/RT)

32 Vorlesung Automatisierungsprojekte Seite 8/32 PSpec1; setze Soll-Niveau Speichere "vorgegebenes Niveau" im Speicher "Soll-Niveau" PSpec2; prüfe_ob_Tank_voll Issue LOOP IF Ist-Niveau >= Soll-Niveau THEN Generate Tank_voll; Exit; END IF; END LOOP; PSpec3; prüfe_ob_Tank_leer Issue LOOP IF Ist-Niveau = 0 THEN Generate Tank_leer; Exit; END IF; END LOOP; PSpec4; öffne Auslaßventil Issue Generate AV_Sollstatus = Auf; PSpec5; schließe Auslaßventil Issue Generate AV_Sollstatus = Zu; PSpec6; öffne Einlaßventil Issue Generate EV_Sollstatus = Auf; PSpec7; schließe Einlaßventil Issue Generate EV_Sollstatus = Zu; Aufgabe 2 Modellierung einer Tankanlagensteuerung mit der RT Methode Lösung: CSpec0 Tank leer Schließe Auslaßventil Kommando „Tank leeren“ Öffne Auslaßventil Prüfe ob Tank leer Tank voll Schließe Einlaßventil Kommando „Tank füllen“ Öffne Einlaßventil Prüfe ob Tank voll Kommando „Sollwert eingeben“ Setze Soll-Niveau 1 Tank ist leer 3 Tank ist voll 2 Tank wird gefüllt 4 Tank wird geleert Strukturierte Analyse /Realtime Modeling (SA/RT)

33 Vorlesung Automatisierungsprojekte Seite 8/33 Requirements Dictionary Tankanlage Auf=* Ventilzustand * AV_Sollstatus= [ Auf | Zu ] * Sollstatus des Auslaßventils * Bediener_Kommando= [ Soll-Niveau_eingeben | Tank_füllen | Tank_leeren ] EV_Sollstatus= [ Auf | Zu ] * Sollstatus des Einlaßventils * Ist-Niveau = * aktuelles Flüssigkeitsniveau im Tank * Soll-Niveau = * Flüssigkeitsniveau, das beim Füllen des Tanks erreicht werden soll * Soll-Niveau_eingeben= * Eingabe des Soll-Niveaus 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 * Aufgabe 2 Modellierung einer Tankanlagensteuerung mit der RT Methode Lösung: Requirements Dictionary Strukturierte Analyse /Realtime Modeling (SA/RT)


Herunterladen ppt "Vorlesung Automatisierungsprojekte Seite 8/1 A C B a3 x e1 e2 a4 Zwiziwzrrg fdggg oi oiw Oihdshf öhjfsodf pweufr Pwoijdlkjdsljflj eiurowifr8 ifi Oiroiroiurouroufdjdljdlu."

Ähnliche Präsentationen


Google-Anzeigen