Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vorlesung Automatisierungsprojekte Seite 8/1

Ähnliche Präsentationen


Präsentation zum Thema: "Vorlesung Automatisierungsprojekte Seite 8/1"—  Präsentation transkript:

1 Vorlesung Automatisierungsprojekte Seite 8/1
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? A C B Speicher a1 a2 a3 a4 b1 b2 C 1 2 3 4 a3 x e1 e2 a4 3.2 3.1 3.3 Pwoijdlkjdsljflj eiurowifr8 ifi Oihdshf öhjfsodf pweufr Zwiziwzrrg fdggg oi oiw Oiroiroiurouroufdjdljdlu eeur Vorlesung Automatisierungsprojekte Seite 8/1

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

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

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

5 Vorlesung Automatisierungsprojekte Seite 8/5
Strukturierte Analyse /Realtime Modeling (SA/RT) Kontrollflüsse, Kontrollbalken und Requirements Dictionary Knopf1 Knopf1 gedr. Knopf2 gedr. Knopf2 Stelle Uhr Kontextdiagramm „Digitaluhr“ Start Anzeige Batterie Display Kontrollbalken blinken 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 Knopf1 gedr. 1 Zeit null stellen 9 Zeit aktu- alisier. blinken blinken Knopf2 gedr. 8 Stunden blinken Start 2 Normalzeit Anz. Akt. Std. 7 Std. eins Erhöh. Erh. Std. Zeit 3 Sek. null stellen Null Sek. Akt. Sek. Erh. Min. Akt. Min. 4 Sekunden blinken 6 Minuten blinken FD0 von „Digitaluhr 5 Min. eins erhöh. blinken blinken Vorlesung Automatisierungsprojekte Seite 8/5

6 Vorlesung Automatisierungsprojekte Seite 8/6
Strukturierte Analyse /Realtime Modeling (SA/RT) 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. Knopf1 gedr. 1 Zeit null stellen 9 Zeit aktu- alisier. blinken blinken Knopf2 gedr. 8 Stunden blinken Start 2 Normalzeit Anz. Akt. Std. 7 Std. eins Erhöh. Erh. Std. Zeit 3 Sek. null stellen Null Sek. Akt. Sek. Erh. Min. Akt. Min. 4 Sekunden blinken 6 Minuten blinken FD0 von „Digitaluhr 5 Min. eins erhöh. blinken blinken Vorlesung Automatisierungsprojekte Seite 8/6

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

8 Vorlesung Automatisierungsprojekte Seite 8/8
Strukturierte Analyse /Realtime Modeling (SA/RT) Kontrollspezifikation blinken 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 1 Zeit null stellen 9 Zeit aktu- alisier. 8 Stunden blinken 2 Normalzeit Anz. Akt. Std. 7 Std. eins Erhöh. Erh. Std. Zeit 3 Sek. null stellen Null Sek. Akt. Sek. Erh. Min. Akt. Min. 4 Sekunden blinken 6 Minuten blinken 5 Min. eins erhöh. blinken blinken Prozesse 1 2 3 4 5 6 7 8 Kontroll-aktionen Zeit 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 Vorlesung Automatisierungsprojekte Seite 8/8

9 Vorlesung Automatisierungsprojekte Seite 8/9
Strukturierte Analyse /Realtime Modeling (SA/RT) 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. Vorlesung Automatisierungsprojekte Seite 8/9

10 Vorlesung Automatisierungsprojekte Seite 8/10
Strukturierte Analyse /Realtime Modeling (SA/RT) 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 Vorlesung Automatisierungsprojekte Seite 8/10

11 Vorlesung Automatisierungsprojekte Seite 8/11
Strukturierte Analyse /Realtime Modeling (SA/RT) 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 := 3. Prozess wird aktiviert und beim nächsten Zustandsübergang deaktiviert PSpec 2; Normalzeit anzeigen Anzeige := Zeit Vorlesung Automatisierungsprojekte Seite 8/11

12 Vorlesung Automatisierungsprojekte Seite 8/12
Strukturierte Analyse /Realtime Modeling (SA/RT) Cspec mit PAT 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. C2 C4 C3 E 2 A C PSpec N C5 1 D B C6 PSpec M 3 C1 F Eingabe Ausgabe Prozess C2 C3 C4 1 2 3 Ein Vorlesung Automatisierungsprojekte Seite 8/12

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

14 Vorlesung Automatisierungsprojekte Seite 8/14
Strukturierte Analyse /Realtime Modeling (SA/RT) Zeitspezifikationen Externe Zeitanforderungen (aus Aufgabenstellung) Zeitanforderungen der Systemschnittstellen, d.h. für Signale des Kontextdiagramms Spezifikation von Wiederholungszyklen Eingabe-Ausgabe-Antwortzeiten 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, ..., 59 Rate: Alle 100 ms Legen den erlaubten Antwortzeitbereich für jedes Eingabeereignis und das daraus resultierende Ausgabeereignis fest. Werden in eine Zeitspezifikationstabelle eingetragen. Vorlesung Automatisierungsprojekte Seite 8/14

15 Vorlesung Automatisierungsprojekte Seite 8/15
Strukturierte Analyse /Realtime Modeling (SA/RT) 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 Eingabesignal Ereignis Ausgabesignal Antwortzeit Knopf1 Gedrückt Blinkende Stunden Zahl anzeigen < 100 ms Blinkende Minuten Blinkende Sekunden Knopf2 < 200 ms Vorlesung Automatisierungsprojekte Seite 8/15

16 Vorlesung Automatisierungsprojekte Seite 8/16
Strukturierte Analyse /Realtime Modeling (SA/RT) 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 Vorlesung Automatisierungsprojekte Seite 8/16

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

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

19 Vorlesung Automatisierungsprojekte Seite 8/19
Strukturierte Analyse /Realtime Modeling (SA/RT) 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] Tageslicht-Befehl = [Aktivieren|Deaktivieren ] Tageslicht-Status = [Ja|Nein] Vorlesung Automatisierungsprojekte Seite 8/19

20 Vorlesung Automatisierungsprojekte Seite 8/20
Strukturierte Analyse /Realtime Modeling (SA/RT) 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] Vorlesung Automatisierungsprojekte Seite 8/20

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

22 Strukturierte Analyse /Realtime Modeling (SA/RT)
Beispiel Hausalarmanlage CSpec 0 Ausgeschaltet Steuerkommando = Einschalten Steuerkommando = Ausschalten Aktiv Bewegungsmelder-Status = Alarm Unterbrechungsmelder-Status = Alarm Steuerkommando = Voralarm ausschalten Steuerkommando = Alarm ausschalten Voralarm Alarm Unterbrechungsmelder-Status = Alarm Eingabe Prozess Zustand 1 Präventiv-maßnahmen durchführen 2 Sicherungs-maßnahmen durchführen 3 Alarm-maßnahmen durchführen Ausgeschaltet Aktiv Voralarm Alarm Vorlesung Automatisierungsprojekte Seite 8/22

23 Strukturierte Analyse /Realtime Modeling (SA/RT)
Beispiel Hausalarmanlage FD1 „Präventivmaßnahmen durchführen“ Scheinwerfer 1.1 Singuläre Alarmmelder verwalten 1.2 Ersten Melder verwalten Infrarot-Befehl_1 Glasbruch-Befehl_1 Bewohner im Haus Verriegeln Tageslicht-Status = Nacht Schließen Haustür-Befehl Tageslicht-Befehl 1.n (3-9) n-ten Melder verwalten Infrarot-Befehl_n Glasbruch-Befehl_n Eingabe Ausgabe Prozesse Bewohner_im_Haus Tageslicht-Status = Nacht Ver-rie-geln Schlie-ßen Schein-werfer Prozesse 1,2,n(3-9) J N Aus 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 Vorlesung Automatisierungsprojekte Seite 8/23

24 Vorlesung Automatisierungsprojekte Seite 8/24
Strukturierte Analyse /Realtime Modeling (SA/RT) Beispiel Hausalarmanlage FD2 „Sicherungsmaßnahmen durchführen“ Scheinwerfer 2.1 Telefon wählen Telefonwähler Telefonnummern Bewohner_im_Haus Lautsprecher Tageslicht-Status = Nacht Beleuchtung Telefonnummern Schließen Einstellungen Eingabe Ausgabe Bewohner_im_Haus Tageslicht-Status = Nacht Schlie-ßen Schein-werfer Telefon wählen J N Ein Aus Im Urlaub - 1 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; Vorlesung Automatisierungsprojekte Seite 8/24

25 Vorlesung Automatisierungsprojekte Seite 8/25
Strukturierte Analyse /Realtime Modeling (SA/RT) Beispiel Hausalarmanlage FD3 „Alarmmaßnahmen durchführen“ Scheinwerfer Bewohner_im_Haus 3.1 Telefon wählen Telefonwähler Telefonnummern Alarmsirene Tageslicht-Status = Nacht Blinklicht Telefonnummern Einstellungen Eingabe Ausgabe Stiller Alarm Bewohner_im_Haus Tageslicht-Status = Nacht Alarm-sirene Blink-licht Schein-werfer Telefon wählen J Aus Ein 1 N 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; Vorlesung Automatisierungsprojekte Seite 8/25

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

27 Vorlesung Automatisierungsprojekte Seite 8/27
Strukturierte Analyse /Realtime Modeling (SA/RT) Aufgabe 1 Fehleranalyse des Ausschnitts eines RT-Modells einer Lagerverwaltung 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. Vorlesung Automatisierungsprojekte Seite 8/27

28 Vorlesung Automatisierungsprojekte Seite 8/28
Strukturierte Analyse /Realtime Modeling (SA/RT) Aufgabe 1 Fehleranalyse des Ausschnitts eines RT-Modells einer Lagerverwaltung 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 Vorlesung Automatisierungsprojekte Seite 8/28

29 Vorlesung Automatisierungsprojekte Seite 8/29
Strukturierte Analyse /Realtime Modeling (SA/RT) Aufgabe 2 Modellierung einer Tankanlagensteuerung mit der RT Methode 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. Vorlesung Automatisierungsprojekte Seite 8/29

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

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

32 Strukturierte Analyse /Realtime Modeling (SA/RT)
Aufgabe 2 Modellierung einer Tankanlagensteuerung mit der RT Methode Lösung: CSpec0 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 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; 1 Tank ist leer Kommando „Sollwert eingeben“ Setze Soll-Niveau Kommando „Tank füllen“ Öffne Einlaßventil Prüfe ob Tank voll Tank leer Schließe Auslaßventil 4 Tank wird geleert 2 Tank wird gefüllt Kommando „Tank leeren“ Öffne Auslaßventil Prüfe ob Tank leer Tank voll Schließe Einlaßventil 3 Tank ist voll Vorlesung Automatisierungsprojekte Seite 8/32

33 Vorlesung Automatisierungsprojekte Seite 8/33
Strukturierte Analyse /Realtime Modeling (SA/RT) Aufgabe 2 Modellierung einer Tankanlagensteuerung mit der RT Methode Lösung: Requirements Dictionary 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 * Vorlesung Automatisierungsprojekte Seite 8/33


Herunterladen ppt "Vorlesung Automatisierungsprojekte Seite 8/1"

Ähnliche Präsentationen


Google-Anzeigen