Verhaltensbeschreibung und Spezifikationssprachen

Ähnliche Dokumente
Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen

Example Ptolemy Model of Comp.: Synchronous Reactive

IHS2 Seminar. Simulation. Steffen Ostendorff

Integrierte HW/SW Systeme: Anforderungen

Spezifikation von Kommunikationssystemen

Grundlagen der Technischen Informatik. 13. Übung

Sommersemester Analyse II: Verhalten (Zustandsautomaten)

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

Kapitel 3 Ereignisdiskrete Systeme (III)

VHDL - Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Diskrete Ereignissysteme. Spezielle Netzstrukturen- Übersicht. Beispiele zu speziellen Netzstrukturen. Petri-Netze und Zustandsautomaten

Laborübung 4. Zustandsautomaten (Finite State Machines)

An Overview of the Signal Clock Calculus

7. Konkretisierungen im Feindesign. 7.1 Zustandsdiagramme 7.2 Object Constraint Language

Sequentielle Schaltungen 37 SS 96. Steuerpfad

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

ERA-Zentralübung 11. Maximilian Bandle LRR TU München Maximilian Bandle LRR TU München ERA-Zentralübung 11

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Endliche Automaten 1 WS 00/01. Steuerautomaten

Grundlagen der Technischen Informatik. 13. Übung

Laborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch

GTI Bonus VHDL - EXTRA

Vorlesung Rechnerstrukturen Winter 2002/03. 3b. Endliche Automaten. Modellierung und Realisierung von Steuerungen

Teil 1: Logik 1e: Zustandsautomaten

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

1. Einführung in Temporallogik CTL

Protokoll-Spezifikationen

VHDL Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010

Dipl.-Inform. Lars Ebrecht

Grundlagen der Technischen Informatik

Vortrag zum Hauptseminar Hardware/Software Co-Design

1) Gegeben Sei der auf der rechten Seite beschriebene Prozess mit folgenden globalen Deklarationen. const int N := 4; chan c[n]; int wert := 0;

Spezifikation von Kommunikationssystemen

15 Einführung in den Entwurf von Zustandsautomaten

Bounded Model Checking mit SystemC

State diagrams (Zustandsautomaten)

1.4 Spezifikation. Inhalte einer. Spezifikation

Computergestützte Gruppenarbeit

UML - Zustandsdiagramm

Together - Integrierte SWE und QA 1. Fahrstuhlsteuerung

Grundbegriffe der Informatik

State Event Technik CT2, Donnerstag / TE402 M. Thaler, TG208, tham@zhaw.ch

Grundbegriffe der Informatik

Korrektheit durch modulare Konstruktion. Wie kann man die Korrektheit reaktiver Systeme gewährleisten?

Technische Informatik (RO)

Rechnerorganisation 8. Vorlesung

Wie kann man die Korrektheit reaktiver Systeme gewährleisten?

Teil 1: Logik 1e: Zustandsautomaten

Seminar Programmierung Eingebetteter Systeme

Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Zustandsautomaten in Embedded Software Beispiel Ampelschaltung. Michael Leuker, Stanislaw Ustinow

5.2 Endliche Automaten

Johann Wolfgang Goethe-Universität

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Ein ROM soll aus mehreren ROMs (vgl. Abbildung rechts: Enable-Leitung EN, Adressleitungen ADDR, Datenleitungen DATA) aufgebaut werden.

Software Engineering in der Praxis

Softwaretechnik. Kapitel 11 : Zustandsdiagramme. Statecharts / State Machines Historisches. State Machines in UML Verwendung in OO

Unified Modeling Language (UML )

Grundlagen der Technischen Informatik

Computergestützter IC- Entwurf

Die intuitionistische Natur von Statecharts

Zustände Zustandsdiagramme

1 Entwurf und Verhalten einfacher, synchroner Automaten

Verifikation in der Realität. In der Industrie wird der Begriff Verifikation häufig im Zusammenhang mit nicht formalen Methoden verwendet:

GTI ÜBUNG 11 AUTOMATEN

Unified Modelling Language

Hardware Logik-Analysatoren

, SS2012 Übungsgruppen: Do., Mi.,

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung von Echtzeitsystemen

Electronic Design Automation (EDA) Spezifikation

Computergestützte Modellierung und Verifikation

D.42 D Synchroner Zähler. 6.3 Synchroner Zähler (2) 6.3 Synchroner Zähler (4) 6.3 Synchroner Zähler (3) Einsatz von JK-Flip-Flops

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

Software Engineering in der Praxis

Kapitel 4 Spezifikation von Kommunikationssystemen

Handelt es sich um ein taktzustands- oder taktflankengesteuertes D-Flipflop?

Modellieren im Informatikunterricht

- Zustandsvariable z i werden durch binäre Speicherelemente Flipflops FF realisiert, die entweder 1 gesetzt oder auf 0 rückgesetzt werden

Modellierung verteilter Systeme

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen.

Realtime Studio Professional. ARTiSAN. Eine Visuelle Softwareentwicklungsumgebung zur Erstellung von Echtzeitanwendungen

Modellbasierte Software- Entwicklung eingebetteter Systeme

2.6 Verdeutlichung verwendeter Begriffe

Bericht Übung 5.5 Ampelsteuerung und Steuerung einer 7-Segment-Anzeige Teilnehmer: Natalia Springer, Tong Cha Datum:

Einführung: Zustandsdiagramme Stand:

4-Betriebsarten-Bedienfeld für Ablaufsteuerungen Seite: 1. 4-Betriebsarten-Bedienfeld für Ablaufsteuerungen

Systemmodellierung. Teil Ereignisdiskrete Systeme

Kapitel 3 Systementwurf

Eingebettete Systeme

Lexikalische Programmanalyse der Scanner

Methode zur Entwicklung sicherheitskritischer eingebetteter Systeme mittels deterministischer UML-Modelle

2.4.3 Zustandsgraphen

Transkript:

TECHNISCHE UNIVERSITÄT ILMENAU Integrierte Kommunikationssysteme http://www.tu-ilmenau.de/iks Verhaltensbeschreibung und Spezifikationssprachen Verhaltensmodelle Zustandsautomaten (FSM) Nicht-deterministische Zustandsautomaten (NDFSM) Parallele Zustandsautomaten Petri-Netz (PN) Datenflussgraph (DFG) Kontrollflussgraph (CFG) Kontroll-Datenflussgraph (CDFG) Grundkonzepte Nebenläufigkeit Hierarchie Kommunikation Synchronisation Ausnahmebehandlung Nicht-Determinismus Timing Spezifikationssprachen StateCharts SDL VHDL SystemC...

Zustandsautomaten: Finite State Machines (FSM) Funktionelle Dekomposition in (Bearbeitungs- oder System-) Zustände Endliche (finite) Zustandsmenge, Ein- und Ausgangsalphabet Verarbeitet Eingangszeichenfolge zu Ausgangszeichenfolge Zeichen = Wert einer Variablen (SW) oder eines Vektors (Belegung) (HW) Zustandsübergänge (Transitionen): zeitlos, ereignisgesteuert, deterministisch Ausgänge schalten synchron oder asynchron zu Zustandsübergängen, deterministisch Keine Nebenläufigkeit (sequentieller Automat) Flache Struktur (keine Hierarchie) Typische Anwendungen: reaktive (Steuerungs-)Systeme Protokolle (Telekommunikation, Systembaugruppen, ) 2

Beispiel Fahrstuhlsteuerung Identifikation des zu entwickelnden Systems (Analyse) Umgebung/Schnittstellen: - Aktoren (Antrieb) für Auf- und Abfahrt - Aktoren (Antriebe) für Türen - Aktoren (Anzeigen) auf Etage und im Aufzug - Bediensensoren (auf Etagen und im Aufzug) - Zustandssensoren (Etagen, Türen) - Sicherheitsspezifische Sensorik System: - Steuerung der Aktoren auf Basis der Eingaben/Sensorik 3

Beispiel Fahrstuhlsteuerung: Identifikation des Systems 4

Beispiel Fahrstuhlsteuerung: Identifikation des Systems Identifikation der Schnittstellen der Steuerung und Abgrenzung von der Umgebung?? 5

Beispiel Fahrstuhlsteuerung: Spezifikation der Schnittstellen Identifikation der Schnittstellen: Sensorik/Input und Aktorik/Output der Steuerung Sensorik: x0 - x3: Eingabe Zieletage im Aufzug X4 - x7: Kontakt zur Meldung der Position (Etage) des Aufzugs Aktorik: y0 y1: Antriebssteuerung auf und ab y2- - y7: Anzeige zur Bestätigung der Aufzugsanforderung für auf und ab (je Etage) x8 - x10: Eingabe zur Anforderung des Aufzugs in Abwärtsrichtung je Etage x11- x13: Eingabe zur Anforderung des Aufzugs in Aufwärtsrichtung je Etage X14 x15: Bedientaste im Aufzug zum Öffnen bzw. Schließen der Tür y8 y11: Anzeige der gewählten Zieletage(n) im Aufzug y12 y15: Anzeige der Aufzugsposition (Etage 1-4) im Aufzug (ggf. auch auf Etagen) y16 y17: Antriebssteuerung für Türantrieb 6

Beispiel Fahrstuhlsteuerung: Spezifikation der Schnittstellen Sensorik: Realisierung von Tastern und Schaltern? Taster, z.b für Fahrstuhlanforderung Einfacher Taster: kurzzeitige 1 des Tasters wird von Fahrstuhlsteuerung abgetastet und in FSM gespeichert Intelligenter Taster: Event wird an Steuerung geschickt und resultiert in Speicherung der Anforderung in FSM Schalter, z.b. für Signalisierung der Etage oder der Türenendlagen Einfacher Schalter => Ein- oder Ausschaltungen werden als zwei verschiedene Zustände des Schalters von Fahrstuhlsteuerung periodisch abgetastet; explizite Speicherung des Zustands in FSM nicht mehr nötig Intelligenter Schalter: Ein- oder Ausschaltungen werden als zwei verschiedene Events an Fahrstuhlsteuerung gesendet und entsprechend in FSM gespeichert; Besondere Maßnahmen für/nach Reset der FSM nötig Intelligente Sensorik: Einfache Steuerung => Kommunikationssystem, Verteiltes System 7

Beispiel Fahrstuhlsteuerung: Spezifikation der Schnittstellen Aktorik: Ansteuerung von Motoren und Anzeigeelementen? Türantrieb Einfache Ansteuerung mit 3 Zuständen: auf, zu, halt; Motor läuft während Signal anliegt, sonst nicht Intelligente Türsteuerung: Steuersignale (Events) zum Öffnen und Schließen der Tür, integrierte automatische Endabschaltung und Meldung der Endabschaltung (Sensorik) LED-Etagenanforderungsanzeige auf Etage (bzw. im Fahrstuhl) Einfache Ansteuerung jeder LED die direkt aus Zustand der FSM (Ausgabelogik) abgeleitet wird Integriertes Fahrstuhl-Anforderungsmodul (kombinierte Sensorik/Aktorik): Generierung von Events wenn Taste (auf/ab) gedrückt wird und lokale Einschaltung der LED, Empfang eines Events zum Löschen der LED wenn Aufzug ankommt Intelligente Sensorik/Aktorikmodule: Einfache Steuerung => Kommunikationssystem, Verteiltes System 8

Abgrenzung zu Moore und Mealy Automaten Moore Automaten: nicht-reaktiv (nur um 1 Takt verzögerte Reaktion) Einfach zu entwerfen X (Zustandsübergang bei Ausgangswechsel) für Implementierung in SW geeignet software is always slow Mealy Automaten: reaktiv (unmittelbare Reaktion auf Eingangsänderungen) X Schwieriger zu entwerfen für SW-Implementierung weniger gut geeignet Wegen unmittelbarer Reaktion auf Eingangsänderungen (interrupts/polling) Software muss schnell genug sein (Echtzeitforderung) fast enough In Hardware für schnelle Reaktion sinnvoll, aber asynchron! d t m n Z a Z d t l n Z a Z Y Y Hier: typischerweise eventgetriggerte Automaten => Event (statt Takt) löst sofortigen Zustandsübergang aus 9

Unterschiede zw. Event- und Zeitgetriebenen Automaten Eventgetriebe Automaten verhalten sich etwas anders als über Eingangsvariablen gesteuerte Mealy- oder Moore-Automaten Eventgetriebene Automaten: Events ähneln semantisch den Flanken der Eingangsvariablen zeitgetriebener Automaten, d.h. Event führt zu einer Transistion, d.h. Taktung der FSM Der Zustand der Eingangsvariable muss, wenn er für das System auch später noch relevant ist, anders als bei Mealy- oder Moore-Automaten sich im Zustand es Automaten niederschlagen und darüber implizit gespeichert werden d ggf. Vergrößerung des Zustandsraums d modifizierte Ansteuerung der Ein- und Ausgabeschnittellen, d.h. Events können sich zeitlich überschneiden und werden evtl. sequentiell abgearbeitet d Zeitliches Verhalten kann sich ändern Beispiel Fahrstuhlsteuerung: hier könnten die Eingaben als Variable oder auch als Events realisiert werden, mit entsprechenden Folgen für die Realisierung des Steuerungsautomaten 10

Beispiel Fahrstuhlsteuerung: Zustandsautomat 11

Finite State Machines Diskussion Vorteile: Einfach nutzbar (Graphische Darstellung) Mächtiges Ausdrucksmittel für Synthese (SW and HW) Verifikation Nachteile: manchmal über-spezifizierte Implementierung (z.b. Zählfolge (Bsp: alle Etagen) vollständig als Zustandsübergänge spezifiziert) Anzahl der Zustände kann unbeherrschbar werden (im Bsp. viele Etagen, mehrere Aufzüge) Numerische Berechnungen können nicht kompakt (z.b. in Form von Operationen) spezifiziert werden => erweiterte FSMs (informal, formal) 12

Beispiel Fahrstuhlsteuerung: Vereinfachung der Spezifikation Vereinfachung durch Divide & Conquer-Strategie: - Parallele Automaten: Entkopplung z.b. - der detailierten Türsteuerungen mit automatischer Endabschaltung von der abstrakten Fahrstuhl- Etagensteuerung, - der detailierten Aufzugsmotorsteuerung und Geschwindigkeitsregelung von der abstrakten Etagensteuerung (Missionssteuerung) - der Aufzeichnung der Anforderungen und der detailierten Abarbeitung der Anforderungen - Hierarchie: - Trennung der Steuerung des Systems bei fahrendem Aufzug vom Betrieb bei stehendem Aufzug (Tür) - Vererbung: - Detailverhalten der Tür je Etage ist identisch - Kopplung der Automaten über Hierarchiewechsel und Kommunikation (Variable oder Events) 13

Finite State Machines Erweiterungen Prinzip: Divide and conquer Nichtdeterminismus Parallele Automaten Prozesse Hierarchie Kommunikation Timer Grafische Unterstützung erweiterte (formale) Semantik 14

FSM => NDFSM: Zeitbereichsspezifikation Nichtdeterminismus: Spezialfall von unspezifiziertem bzw. unbekanntem Verhalten, aber geeignet zur effizienten Beschreibung (nichtdeterminierter Zustandsübergang = nicht bestimmt, welcher Folgezustand aus einer Menge gültiger Folgezustände angenommen wird) Beispiel: nichtdeterministische Verzögerung (z.b. zwischen 6 und 10 s) START => SEC => SEC => SEC => 1 2 3 4 START => SEC => END 0 9 SEC => END SEC => END SEC => END 6 SEC => 8 SEC => 7 SEC => SEC => 5 SEC => 15

NDFSMs und FSMs Formal sind FSMs und NDFSMs äquivalent (Rabin-Scott construction, Rabin 59) Praktisch sind NDFSMs meist kompakter (weniger Zustände) (exponentielle Zustandsexplosion um Determiniertheit zu erreichen) Beispiel: nicht-deterministische Auswahl von Übergang a in Zustand s1 äquivalente deterministische FSM s1 a s1 a c c a s2,s3 b c s3 s2 b s3 a b a a s2 16

Modellierung von Parallelität parallele Automaten Systeme bestehen typisch aus Teilen mit relativ unabhängigen Funktionen, z. B. Sicherheitsgurt-Steuerung timer Fahrer Systeme können physisch verteilt sein, z. B. Kommunikationsprotokolle mit verteilten Automaten Teile, die mit FSMs beschrieben sind, müssen zusammengebracht ( komponiert ) werden Konstruktion eines vollständigen Systemmodells Kartesisches Produkt aller Zustände führt zu Zustandsexplosion Ansatz: Systembeschreibung mit separaten FSMs und deren Verbindung (Kopplung) Problem Wie kommunizieren die gekoppelten FSMs? a) alle FSMs wechseln Zustand gleichzeitig (synchronicity), d.h. Systemzustand = kartesisches Produkt der Zustände der Komponenten oder b) FSMs laufen asynchron und sind über (asynchrone) Events gekoppelt => SDL 17

FSM Komposition Beispiel Beispiel Sicherheitsgurt-Steuerung: 5 sec nach Betätigen des Zündschlüssels soll ein Alarmsignal solange ertönen, wie der Gurt nicht angelegt ist. Nach 10 sec soll der Alarm beendet werden. Beispiel: Sicherheitsgurt timer Timer Belt Control KEY_ON => START_TIMER WAIT OFF KEY_OFF or BELT _ON => END_TIMER_5 => ALARM_ON END_TIMER_10 or BELT_ON or KEY_OFF => ALARM_OFF ALARM 18

FSM Komposition Beispiel Beispiel: seat belt control timer KEY_ON => START_TIMER WAIT Timer Belt Control KEY_OFF or END_TIMER_5 => OFF BELT _ON => ALARM_ON END_TIMER_10 or BELT_ON or ALARM KEY_OFF => ALARM_OFF START_TIMER => START_TIMER => SEC => SEC => SEC => 1 2 3 4 SEC => END_TIMER_5 0 SEC => END_TIMER_10 9 SEC => 8 SEC => 7 SEC => 6 SEC => 5 19

FSM Komposition Beispiel Kartesisches Produkt KEY_ON and START_TIMER => START_TIMER muss zusammen passieren OFF, 0 WAIT, 1 not SEC and (KEY_OFF or BELT_ON) => SEC and not (KEY_OFF or BELT_ON) => WAIT, 2 OFF, 1 SEC and (KEY_OFF or BELT_ON) => OFF, 2 20

Finite State Machines Erweiterungen: parallele Automaten 21

Finite State Machines Beispiel: Zustandsdiagramm (informal) 22

FSM Erweiterungen Beispiel: Interaktion/Prozesse Start (Inter-)aktion (Re-)aktionsfolge.... Ende (vs. FSM: zyklisch) 23

FSM Erweiterungen Kommunikation (MSC) 24

Hierarchische FSM Modelle StateCharts Problem: Wie reduziert man die Repräsentationgröße? Harel s Veröffentlichung: StateCharts (language) and bounded concurrency (model): 3 orthogonale exponentielle Reduktionen Hierarchie: Zustand a encloses, d.h. schließt eine FSM ein in a bedeutet: eine FSM in a ist aktiv Zustände von a heißen OR-Zustände Nützlich zur Modellierung von Voraussetzungen und Ausnahmen (z. B. Reset ) Parallelität: 2 oder mehr FSMs sind gleichzeitig aktiv Zustände heißen AND-Zustände Nichtdeterminiertheit: Zur Verhaltensabstraktion a a1 done odd even a2 recovery error 25

StateCharts Grundprinzipien Grundlagen: Erweiterung konventioneller FSMs konventionelle FSMs für komplexe Verhaltensbeschreibungen ungeeignet flach und unstrukturiert von Natur aus sequentiell StateCharts unterstützen wiederholte Zerlegung von Zuständen in Sub-Zustände mit AND/OR, sowie synchrone Kommunikation (unmittelbare Übertragung an alle (Broadcast)) Zustandsdekomposition: OR-Zustände haben sub-zustände, die in einer exclusive-or Relation stehen AND-Zustände haben orthogonale d. h. parallele Zustandskomponenten (synchrone FSM Komposition) AND-Dekomposition auf jeder Hierarchiestufe von Zuständen erlaubt (besser handhabbar als nur eine Stufe (Strukturebene) kommunizierender FSMs) Basis-Zustände (Basic states) haben keine sub-zustände (unterste Hierarchie) Root-Zustände haben keine Eltern -Zustände (oberste Hierarchieebene) 26

StateCharts OR Dekomposition Zustand U ist eine Abstraktion der Zustände S und T Um in Zustand U zu sein, muss das System entweder in Zustand S oder in Zustand T sein g S e V f U g S f e V T f h T h 27