Verhaltensbeschreibung und Spezifikationssprachen

Ähnliche Dokumente
Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen

Literatur. VA SS Teil 5/Messages

Example Ptolemy Model of Comp.: Synchronous Reactive

WS Parallele Prozesse. Prof. Hannelore Frank. Parallele Prozesse. PetriNetze. Synchronisation UNIX. Wettbewerb PC Krit.Abschnitt Spinlocks

Prozessalgebren (CCS & CSP) Vortragender: Tim Michaelis

Spezifikation von Kommunikationssystemen

Synchronisation und Kommunikation über Nachrichten

Fakultät für Informatik der Technischen Universität München. Probleme

Vorlesung Betriebssysteme II

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

Wie kann man die Korrektheit reaktiver Systeme gewährleisten?

Thomas Schirrmann Nebenläufigkeit. Nebenläufigkeit. Vortrag Thomas Schirrmann. Seminar Systementwurf Dozentin Daniela Weinberg

Wichtige Rechnerarchitekturen

Synchrone Botschaften

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

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Message Sequence Charts, Live Sequence Charts

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

JavaLand,

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenorientierte Softwarearchitektur mit CÉU und RUST am Beispiel eines Heizungsgateways zur Fernüberwachung und Fernparametrisierung

OOA-Dynamische Konzepte

Extended Scope. Events und Mailboxen. Florian Franzmann Tobias Klaus Florian Korschin Florian Schmaus Peter Wägemann

Spezifikation von Kommunikationssystemen

Vorlesung Informatik II

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

Vorlesung Software-Engineering I

Anomalien und andere folk lores

Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets

Betriebssysteme Teil 11: Interprozess-Kommunikation

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

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

Hardware/Software-Codesign

Kapitel 3: Workflow-Modellierungssprachen Einführung in High-Level Petrinetze

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

An Overview of the Signal Clock Calculus

Prof. Dr. Th. Letschert CS5001. Verteilte Systeme. Master of Science (Informatik) - Modelle verteilter Berechnung - Th Letschert FH Gießen-Friedberg

Die Belegung der Stellen heißt Markierung und repräsentiert den Zustand des Petri- Netzes.

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.

Grundlagen: Überblick

Modellieren im Informatikunterricht

Verteilte Algorithmen TI5005

Unified Modeling Language (UML )

Protokoll-Spezifikationen

Sven Osterwald Concurrent Objects. Proseminar Parallele Programmierung in Java

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

5.3.2 Sequentielle Konsistenz. Def.: Sequentielle Konsistenz (sequential consistency):

Dipl.-Inform. Lars Ebrecht

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

Info B VL 16: Monitore und Semaphoren

RAM. Konsistenzprobleme entstehen => CPU - durch Verzögerung in Warteschlange, Umfangreiche Pufferung in den PCI Brücken. lesen. EOP-Signal.

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

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

Sommersemester Analyse II: Verhalten (Zustandsautomaten)

CONCURRENCY MODELS. Auf der Suche nach dem heiligen Gral der ManyCores Peter Sturm. (c) Peter Sturm, Universität Trier

Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Bounded Model Checking mit SystemC

Kommunikationsmuster (T) Interprozesskommunikation (T) Kommunikation über Pipes (P) Parserspezifikation und -generierung (P)

Kommunikationsmodelle

Monitore. Klicken bearbeiten

Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar

Betriebssysteme. G: Parallele Prozesse. (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen)

Aufgaben Petrinetze Aufgabe 1

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

5.1 Verteilung von Aktualisierungshinweisen

3.0 VU Formale Modellierung

Verteilte Systeme - Java Networking (Sockets) 2 -

Kommunikation in drahtlosen Sensornetzen

Betriebssysteme. Kommunikation von Prozessen und Threads. Sommersemester Prof. Dr. Peter Mandl. Seite 1. Prof. Dr. Peter Mandl.

Software Engineering in der Praxis

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.

Objektorientierte Analyse

Vom Benutzer gesetzter Wert der Variablen (unverändert) Variablenname (unverändert) Fehlercode der Schreiboperation

Modellierung - Wiederholung

6.1.2 Sequentielle Konsistenz (Lamport 1979)

Business Process Model and Notation

Übung zu Betriebssystemtechnik

Programmieren 2 12 Netzwerke

Petri-Netze. Teil 2. Chandran Goodchild. Department of Automata Theory University of Freiburg. Pro Seminar, 2017

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)

Integrierte HW/SW Systeme: Anforderungen

Leser-Schreiber-Realisierung mit Semaphoren

Nebenläufige Programmierung in Java: Threads

IHS2 Seminar. Jorge Meza Zusebau R2082, Tel: -4128

RTOS Einführung. Version: Datum: Autor: Werner Dichler

Task& Data-Flow Graphs

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...

Grundlegende Kommunikationsmechanismen Rendez-Vous (CSP) keine gemeinsamen Daten, Prozesse müssen zu bestimmten Zeiten synchronisiert Daten austauschen Lesen und Schreiben erfolgen gleichzeitig Kopplung von Datenaustausch und Synchronisation Gemeinsamer Speicher (unsynchronisiert) Mehrfaches Auslesen möglich Überschreiben gespeicherter Daten bei jedem Schreiben Semantik abhängig von der Reihenfolge von Lese- und Schreiboperationen Puffer (FIFO, FIFO mit Prioritäten) Entkopplung von Sender und Empfänger Begrenzt (bounded) (ECFSMs, CFSMs), feste Kapazität Unbegrenzt (unbounded) (SDL, ACFSMs, Kahn Process Networks, Petri- Netze)

Übersicht Kommunikationsmodelle Blockierung der Schreiboperation bei belegtem Puffer Blockierung der Leseoperation bei leerem Puffer Konsum der Daten beim Lesen Sender Empfänger Puffergröße blockieren. Lesen blockier.. Schreiben Einmal. Lesen Gem. Speicher Semaphore Unbegrenzt. Puffer oder Begrenzter Puffer oder < evtl. Rendezvous

Kommunikationsmechanismen Blockierend vs. nicht-blockierend A B blocking read (Empfänger wartet auf Sender) Empfänger blockiert bis Eingabe vorliegt kein nichtblockierender Test auf vorhandenen Input möglich blocking write (Sender wartet auf Empfänger) Sender muss Empfangsbestätigung abwarten Realisierung in Spezifikationssprachen blocking write/blocking read (Rendezvous-Konzept) CSP (Hoare(978) Communicating Sequential Processes) CCS (Milner(980) Calculus of Communicating Systems) non-blocking write/blocking read (FIFO, CFSMs, SDL) CFSM (CoDesign FSM, Puffer der Größe ) non-blocking write/non-blocking read (gemeinsame Variablen)

Asynchrone Kommunikation Pufferung A B Puffer dienen dem Ausgleich wenn Sender und Empfänger mit unterschiedlichen bzw. sich ändernden Raten arbeiten Größe des Puffers? Verlustfreie oder verlustbehaftete Puffer Datenverlust durch Überlauf des Puffers Begrenzter Puffer führt ohne Synchronisation zu Überlauf oder Überschreiben Ggf. Notwendigkeit den Sender bei vollem Puffer zu blockieren Single vs. multiple read Jede Eingabe kann entweder einmal (Warteschlange) oder mehrmals (gemeinsame Variable) konsumiert werden Priorisierte Warteschlangen bzw. Events Abweichungen von FIFO-Abarbeitung

Zusammenfassung: Beschreibung des Kontrollflusses Eigenschaften Spezifikationssprache Nichtdeterminismus NDFSM, SDL Parallele Automaten State Charts, Petrinetze Asynch. Prozesse SDL Verteilte Abläufe MSC Hierarchie State Charts, SDL Graphische Unterstützung Alle entsprechenden Werkzeuge Semantic Unterschiedlich ;-(

Zusammenfassung: Grundkonzepte von Modellen und Sprachen Zustandswechsel Ereignisse bewirken Zustandswechsel (einfache Eingabe, komplexe Bedingungen) Berechnung in Verbindung mit Zustandswechsel Nebenläufigkeit Gliederung des Verhaltens in nebenläufige Einheiten verschiedene Arten von Nebenläufigkeit (job, task-, statement-, operation-level) datengetriebene vs. kontrollgetriebene Nebenläufigkeit Reduktion von Zuständen Hierarchie strukturelle Hierarchie (System, Block, Prozess, Prozedur) Verhaltenshierarchie (hierarchical transitions, fork-join) Programmierkonstrukte Spezifizieren sequentieller Algortihmen Kommunikation gemeinsame Variablen (broadcast) Nachrichtenübermittlung synchron vs. asynchron Synchronisation kontrollabhängig (fork-join) datenabhängig (Daten, Ereignis, Nachricht) Ausnahmebehandlung Sofortige Unterbrechung des gegenwärtigen Verhaltens Nicht-Determinismus Wahl verschiedener Übergänge nicht-deterministische Anordnung Timing Timeouts, zeitliche Bedingungen