Strukturierte Analyse /Realtime Modeling (SA/RT)

Ähnliche Dokumente
Realzeit-Modellierung

- Strukturierte Analyse / Real Time Analysis -

- Strukturierte Analyse / Real Time Analysis -

1. Modellierung einer Weinhandlung mit der Strukturierten Analyse (SA) 2. Modellierung einer Kassenbuchverwaltung mit der Strukturierten Analyse (SA)

TL-AL 01 KG-300. Bedienungs-/Installations-Anleitung - 0 -

Kurzanleitung OmniTouch 4135 IP DEUTSCH

Software-Engineering SS03. Zustandsautomat

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen

Speech 001. Blumax Speech 001. Bedienungsanleitung - 1 -

Übungen Softwaretechnik I

Software Entwicklung 2. Strukturierte Analyse 1

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

1. Konfigurations-Funktionen innerhalb des Programmiermodus

Inhaltsverzeichnis.

BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel,

OOA-Dynamische Konzepte

Aufgabe 1: Sequenzdiagramm Gegeben ist das in Abbildung 1 dargestellte (vereinfachte) Sequenzdiagramm mit sechs Ereignissen (a-f ).

Software Engineering I

Sicherheitssysteme Verkabeltes Alarmsystem. Privat & Small Business

Kurzanleitung Konftel 300IP

Installationsanleitung. Blinklicht mit Sirene

Inhalt. I Software - Entwicklung 53

RAIN BIRD TYPENREIHE ITC PROGRAMMIERUNG

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Beispielklausur B MPGI 3

Bedienungsanleitung MDE

Bedienungsanleitung. Mailboxsystem

Aufwandprotokoll für Amtstierärzte Bedienungsanleitung

SCAN OPERATOR 12. Bedienungsanleitung. Ab Version Internet:

Mailbox Ihr Anrufbeantworter im primacom-netz Anleitung. Inhaltsverzeichnis. 1 Mailbox einrichten. 1.1 Ersteinrichtung. 1.

RWE Smarthome: Konfigurationsbeispiel Alarmanlage Stand: 04.Juni 2014

Installations- und. Programmieranleitung TELEFONINTERFACE

Navigation und Auswertung

Übung - Überwachen und Verwalten von Systemressourcen in Windows XP

Geschäftsprozesse: Modellierung und Analyse

UNIVERSITÄT ZÜRICH. standard. advance plus. Bedienungsanleitung optiset E. Hicom 300

Methoden des Software Engineering

Objektorientierte Analyse (OOA) Inhaltsübersicht

W i c h t i g!!! Nehmen Sie sich hierfür mind. 30min Zeit Wir empfehlen für die Einrichtung ein USB Maus zu verwenden

Hotel - Safe. Nr. PHOTO Beschreibung

ERWEITERTER ZEITTRIGGER / APP

Beschreibung des Bedienteils (Zugangsmodul mit Bediensegmenten) GARAGE HAUS KOMPLETT SCHARF KOMPLETTE SCHARFSCHALTUNG

Umstellung auf das Mobile-TAN-Verfahren in der VR-NetWorld Software

Bedienungsanleitung. PC - Software. Kupplungen Armaturen Monitore Standrohre Pumpen Schaumgeräte. TKW Armaturen GmbH Donaustr.

Bluetooth Freihand-Kit Für Bluetooth Mobiltelefone

Rechnungsübersicht als Exceltabelle aus ADULO heraus erzeugen

4-Kanal TDRCT - LCD Funk-Handsender Timer

Elektrische Schnittstelle Signal

Übung - Überwachen und Verwalten von Systemressourcen in Windows Vista


GPS-CarControl APP Android Benutzeranleitung

4. Mit Fenstern arbeiten

Mini-FAQ v1.3 CMS-50E. Fingerpulsoximeter

Bedienungsanleitung

Antriebe VAP für VPA050-C bis VPA150-C

FAQ s für adevital ACTIVITY AM 1400 (Aktivitätsmesser) mit der adevital plus App

LHD8003 kurze Bedienungsanleitung

LGD8003 kurze Bedienungsanleitung

Bedienungsanleitung HiTRAX GO Stoppuhr

1 Erstanmeldung im Online-Banking mit plus Erstanmeldung im Online-Banking mit mobiletan... 5

Stopp-Uhr. Erstellen Sie ein Programm (in Zweier- bzw. Dreier-Gruppen), welches folgende Bedingungen erfüllt:

Vehicle Security System VSS 1. Systemeinstellanleitung - German

UML fürs Pflichtenheft

SilverFast - Pioneer in Digital Imaging. SilverFast 8. Professionelle Scanner-Software DEUTSCH. Stapel-Scan. Automatischer Dokumenten-Einzug

Controller Bedienungsanleitung

Übung - Datensicherung und Wiederherstellung in Windows Vista

Caratec Locate Alarmkonfiguration

Bedienungsanleitung V5.0. Secyourit GmbH, Rupert-Mayer-Str. 44, München, Deutschland Tel Fax

844-E Handbuch Programmierung und Bedienung

Chronis Uno easy die Programmschaltuhr aus dem inteo-steuerungsprogramm von Somfy für die Steuerung eines elektrisch betriebenen

Anleitung zur Bluetooth - Inbetriebnahme für Lactate Scout+

Der unverfälschte Prüfungsmodus 2

Leitfaden SIS-Handball

Sobald Ihr tolino über ein USB-Kabel mit Ihrem Computer verbunden ist, sehen Sie oben links in der Statusleiste dieses Symbol.

Sicherheitsinformationen

Benutzerhandbuch FERNBEDIENUNG R71A/E

Deutsch. 10 Kontrolllampe 11 Mikrofon 12 Signaltaste 13 Funktionswähler 14 Kontakteingang 15 Telefoneingang 16 Mikrofoneingang 17 Umschalter für Kanal

Traditionelle strukturierte Spezifikationsmethoden

MIKE ELLIS NEW YORK. Bedienungsanleitung für. Herren-Funkarmbanduhr

Bedienungsanleitung. NGN-Telefonkonferenz

Verwenden der Bedienerkonsole

Die neue Datenraum-Center-Administration in. Brainloop Secure Dataroom Service Version 8.30

LCD-4 Display Fahrradcomputer. Bedienungsanleitung

Windows Cockpit Konfiguration Montag, 23. November :59

Fehlerdiagnose / Fehlerbehandlung

DALIeco. Kurzanleitung Single Office Funktion. ACHTUNG!: Alle bisherigen Einstellungen werden durch die Grundeinstellungen Single Office ersetzt!

digital Funktionsdecoder mit 6-pol. Schnittstelle

3 Maps richtig ablegen und

Infokarte: Snap4Arduino

Filterregeln Einführung Migration der bestehenden Filterregeln...1. Alle eingehenden Nachrichten weiterleiten...2

4-Kanal Funk-Handsender Typ TDRCT-04

MINI-INFRAROT THERMOMETER EM6510. Betriebsanleitung

Rev UP-Timer mit 2fach Tastsensor 6128/10-xx. GER Bedienungsanleitung

SIENNA Professional Bedienungsanleitung V5.1

Funktionsprinzip OLTEC P6 OLION. Funktionsprinzip des Regelungssystems OLTEC P6 OLION. Seite: 1

für Nokia 6151 Eine Handy-Kurzanleitung mit bis zu 15 Kapiteln auf 11 Seiten.

2017/01/23 15:50 1/5 Bedienung

Transkript:

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/