Verteilte Algorithmen TI5005

Größe: px
Ab Seite anzeigen:

Download "Verteilte Algorithmen TI5005"

Transkript

1 Verteilte Algorithmen TI5005 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Modelle und Notationen

2 Systeme, Anwendungen, Algorithmen Verteiltes System Ein verteiltes System besteht aus einer Menge von Prozessen die durch ein Kommunikationsnetzwerk verbunden sind. Verteilte Systeme sind in der Regel modularisiert (oft in Schichten) und stellen Dienste (z.b. Kommunikationsdienste) zur Verfügung. Man unterscheidet oft: Verteilte Infrastruktur / Infrastruktur für verteilte Anwendungen Verteilte Anwendung / Dienst für Endbenutzer auf Basis einer Infrastruktur Verteiltes Programm Ein verteiltes Programm besteht aus n Prozessen die nur durch Nachrichtenaustausch miteinander kommunizieren. Verteilte Programme implizieren eine Programmiersprache für verteilte Anwendungen etwas das wenig verbreitet ist. Verteilte Systeme / Anwendungen werden meist in einer Kombination von unterschiedlichen Notationen definiert (Programmcode in unterschiedlichen Sprachen + Annotationen + Konfigurationsdateien...) Verteilter Algorithmus Ein verteilter Algorithmus besteht aus einer Menge von lokalen Algorithmen die jeweils als sequentielle Prozesse auf einem oder (in Kopie) auf mehreren Prozessoren ausgeführt werden können. Verteilte Algorithmen werden mit Bezug auf eine Modell der Verteiltheit definiert und in einer geschlossen Pseudo-Code Notation beschrieben Seite 2

3 Modell Welche Berechnungen können mit welchen Algorithmen in einer solchen Konstellation ausgeführt werden? werden: KommunikationsMedium Das hängt von der Art des Kommunikationsmediums und der Knoten ab: verlustfreie / verlustbehaftete Kommunikation Laufzeit der Nachrichten, Zuverlässigkeit der Übertragung Broadcast möglich / nicht möglich Ausfall eines Knotens möglich oder nicht möglich etc. Modell Verteilte Algorithmen werden darum stets unter Angabe der Rahmenbedingungen / des Kontextes definiert, unter denen sie agieren. Dies bezeichnet man als Modell. Seite 3 In nicht verteilten Systemen ist das Modell selbstverständlich und muss nicht explizit erwähnt werden.

4 Modell Systeme und (System-) Modelle System konkrete Konstellation an Komponenten, Medien,... beliebig viele Variationen an Verhalten und Fähigkeiten möglich Modell Definiert / hat normierte Eigenschaften Charakterisiert Klassen von Systemen Macht sinnvolle / allgemein gültige Aussagen möglich z.b.: Algorithmus X terminiert bei verlustfreier synchroner Kommunikation und fehlerfrei arbeitenden Komponenten. Erlaubt eine Konzentration auf das Wesentliche / Beherrschbare... Angenommen, die Komponenten können ausfallen, aber dann senden sie gar keine Nachrichten mehr... Erleichtert eine Modularisierung der Problemlösung Das Problem verfälschter Nachrichten behandeln wir an anderer Stelle... Seite 4

5 Modell Wozu Modelle Verstehen der Realität durch deren Modellierung Planungen / Vorhersagen Simulationen Arten von Modellen Analytische Modelle = Formale Modelle Beschreiben wie etwas ist, vereinfachte Beschreibungen der Realität Vor allem in den Naturwissenschaften: z.b. mathematische Formeln in der Physik Analoge Modelle Nachbauten mit ähnlichen Eigenschaften wie das Modellierte z.b. Holzmodell eines geplanten Autos deutlich machen / untersuchen bestimmter Eigenschaften Seite 5

6 Modell Arten von analytischen / formalen Modellen Diskrete Ereignis-Modelle (discrete event models) Beschreiben das Modellierte über dessen Reaktion auf externe Ereignisse Oft als Transitionssysteme Kontinuierliche Modelle (continuous models) Beschreiben das Problem mathematisch Oft in Form von Differentialgleichungen Seite 6

7 Modell Modelle in der Informatik Modell als erfundene Realität Modell simuliert eine wünschenswerte Realität. Beispiele: virtueller Speicher simuliert / modelliert sehr großen Hauptspeicher auf der Basis: kleiner HSP + Platte Verbindung auf Schicht-4 simuliert / modelliert verlustfreie (eventuell strom-orientierte) Kommunikation auf der Basis: gestörter Austausch von Paketen + Fehler-Protokoll +... Prozess, agiert in der Modellwelt Anwendung, agiert in der Modellwelt Modell: Adressraum mit 4 GB realisiert durch Modell: verlustfreie Ende-zu-Ende Kommunikation realisiert durch Speicherverwaltung im BS Seite 7 Protokolle der Schichten 1-4

8 Modelle und verteilte Systeme Modelle und verteilte Systeme Modell als Beschreibung möglicher Realitäten Definition von normierten (zulässigen / wünschenswerten) Umgebungen wesentliche Eigenschaften interessante Eigenschaften interessant weil wichtig... weil verstehbar / beherrschbar... noch nicht gelöst (Modularisierung) Untersuchung von Problemklassen in Modellwelten (=normierten Umgebungen) Modell als wünschenswerte oder konstruierte Realität wünschenswerte Realität: Komponentenmodelle: Entfernte Prozeduren, entfernte Objekte, mobile Objekte, entfernte Dienste,... Völlig / weitestgehend transparente Verteilung Seite 8 Anwendung Modell Verstecken der System-Vielfalt in normierten Modellen

9 Modell und verteilte Systeme Wesentliche Modellaspekte bei verteilten Systemen Was muss modelliert werden: Eine Kollektion von Elementen die sich gegenseitig Nachrichten zusenden können, und die zusätzlich interne Aktionen ausführen können, bei denen sie ihren Zustand und damit ihre Reaktion auf zukünftige Nachrichten ändern können. Welche Aspekte hat ein solches Modell: Aktivität Wer ist aktiv, welcher Art sind die aktiven Elemente Topologie Welche Beziehungen bestehen zwischen den aktiven Elementen Kommunikation Welche Art ist die Kommunikation zwischen den aktiven Elementen Synchronität Welches zeitliche Verhalten haben Kommunikationen und lokale Aktivitäten der Elemente: werden die Aktionen synchron (=gleichzeitig) ausgeführt Fehlverhalten Welche Fehler können bei einer Kommunikation oder im Verhalten der aktiven Elementen auftreten Seite 9

10 Modell und verteilte Systeme Modellaspekt aktive Elemente Wer ist aktiv, welcher Art sind die aktiven Elemente (Knoten, Prozesse) sequentielle Prozesse aktiver Prozess / Thread Aktoren reaktiv: aufrufbare Funktion + Zustand Seite 10

11 Modell und verteilte Systeme Modellaspekt Topologie Welcher Art sind die Beziehungen zwischen den aktiven Elementen fixe Prozessstruktur mit fixen Bekanntschaften System = Graph aus Knoten und Kanten dynamische Bekanntschaften System = Netz mit wechselnden Kanten dynamische Prozessstruktur System = Knoten können hinzukommen oder verschwinden, Kanten neu hinzukommen oder gekappt werden. Seite 11

12 Modell und verteilte Systeme Modellaspekt Kommunikation Wie erfolgt die Kommunikation synchrone Kommunikation Senden und / oder Empfangen erfolgt gleichzeitig asynchrone Kommunikation Senden und / oder Empfangen sind entkoppelt (Puffer, Kanäle, o.ä.) Nachrichten werden mit begrenzter maximaler Laufzeit zugestellt oder es gibt keine maximale Laufzeit Nachrichten werden immer (irgendwann) zugestellt oder es gibt Verluste FIFO oder nicht FIFO Früher (auf einem Kanal) gesendete Nachrichten werden auch garantiert früher empfangen oder nicht. Punkt-zu-Punkt oder Broadcast Kann eine Nachricht stets nur an einen Empfänger oder an viele gleichzeitig zugestellt werden. Was kann gesendet werden Nur Werte, auch Referenzen auch aktive Elemente (Prozesse) Seite 12

13 asynchrones Modell Asynchrones Standardmodell asynchroner Nachrichtenübertragung und statische Topologie: Standardmodell für verteilte Algorithmen ohne Annahmen über das zeitliche Verhalten der Aktivitäten (Prozesse) und der Nachrichten Informale Beschreibung: Ein verteiltes System (im asynchronen Modell) besteht aus: einer fixen Menge von Prozessen: P1, P2,... Pn mit festen Bekanntschaften die Prozesse haben keinen gemeinsamen Ressourcen: Speicher, Takt, Uhr,... und besitzen (bei Bedarf) eine lokale Uhr mit der jedem lokalen Ereignis eine lokale Zeit zugeordnet werden kann die Prozesse kommunizieren durch den Austausch von Nachrichten Nachrichten sind Werte (keine Referenzen / keine Prozesse) beliebige aber endliche Laufzeit überholen sich nicht auf dem Weg von Pi nach Pj (FIFO-Kanäle) Seite 13

14 asynchrones Modell Definition eines verteilten Systems im asynchronen Modell Ein verteiltes System besteht (in diesem Modell) aus einer fixen Menge von Prozessen die intern rein sequentiell agieren (als Folge atomarer interner oder externer Ereignisse) die Nachrichten senden und empfangen können (externe Ereignisse) die interne Berechnungen ausführen können (interne Ereignisse) Sende- und Empfangsoperationen sind entkoppelt. Seite 14

15 synchrones Modell Definition eines verteilten Systems im synchronen Modell Ein verteiltes System besteht (in diesem Modell) aus einer fixen Menge von Prozessen die intern rein sequentiell agieren (als Folge atomarer interner oder externer Ereignisse) die Nachrichten austauschen können: Gleichzeitiges Senden und Empfangen als atomare Aktion (externes Ereignis) die interne Berechnungen ausführen können (interne Ereignisse) Sende und Empfangsoperationen sind gekoppelt. Synchrone Modelle werden im Hardware-nahen Bereich bevorzugt. Hardware-Komponenten beeinflussen sich gegenseitig immer nur direkt. Asynchrone Modelle können auf synchrone Modelle abgebildet werden. Asynchrone Modelle werden im anwendungsnäheren Bereich bevorzugt. Seite 15

16 Notationen für (a-) synchrones Modell Notationen für die Definition eines verteilten Systems Notationen Die Notation legt fest: Welche Ausdrucksmittel sind bei der Definition eines verteilten Systems möglich / erlaubt. Notationen für die Definition der Prozesse: Zwei grundlegend unterschiedliche Notations-Varianten: Ereignis-orientiert oder Kontroll-orientiert Notationen für die Definition der Toplogie: Die Topologie definiert die Identität: Wie viele und mit welchem Namen Typ: Welche lokalen Algorithmen werden ausgeführt Bekanntschaft: Wer kann wem wie Nachrichten senden Varianten der Topologie: Statisch: Topologie fix während der Lebenszeit des verteilten Systems Dynamisch: Topologie kann sich während der Lebenszeit des verteilten Systems ändern Seite 16

17 Notationen / Prozessdefinition Prozesse Kontrollorientierte Notation Die aktiven Elemente werden als sequenzielle Prozesse definiert. Beispiel: channel input( char ), output( char[ 0..MAXLINE ] ); process CharToLine: char[] line; int i=0; do true : receive input( line[i] ) -> { do line[i]!= CR && i < MAXLINE-1 -> { i++; receive input( line[i] ); } od send output(line); i = 0; } od Der Prozess CharToLine packt Zeichen zu Zeilen zusammen Zeichen input CharToLine output Zeilen Seite 17

18 Notationen / Prozessdefinition Prozesse Ereignis-orientierte Notation Die aktiven Elemente werden als Zuordnung Ereignis ~> Aktion definiert. Beispiel: channel input( char ), output( char[ 0..MAXLINE ] ); Der Prozess CharToLine packt Zeichen zu Zeilen zusammen process CharToLine: Zeichen char[] line; int i=0; // Ereignis: Empfang von CR receive input( CR ) -> { send output(line); } // Ereignis: Empfang eines beliebigen anderen Zeichens receive input( c ) -> { line[i] = c ; if i < MAXLINE -> i++; else send output(line); i = 0; } input CharToLine output Zeilen Die Ereignis-orientierte Spezifikation eines Prozesses ist natürlich nichts anderes als die Definition eines erweiterten endlichen Automaten. Seite 18

19 Notationen / Prozessdefinition Prozesse (Nicht-) Determinismus Ereignisorientierte Notation Impliziter Nichtdeterminismus Prozess wartet darauf, dass irgendein Ereignis eintritt und führt die entsprechende Aktion aus Mehrere Ereignisse gleichzeitig: Die Auswahl des Ereignisses das (zuerst) bearbeitet wird, ist nicht spezifiziert. Gelegentlich (Modelle zur Simulation mit Zeit): Gleichzeitig eintreffende Ereignisse führen zu speziellen Ereignissen. Kontroll-orientierte Notation Nichtdeterminismus muss explizit modelliert werden Prozess führt stets eine bestimmte Anweisung aus. Problematisch, wenn nicht klar ist, welche Nachricht eintrifft. Gelegentlich über-spezifiziert. Spezielle nicht-determinstische Sprachkonstrukte werden eingesetzt: z.b. Dijkstras Guarded Commands Seite 19

20 Notationen / Prozessdefinition (Nicht-) Determinismus: Dijkstras Guarded Commands Nichtdeterministische if-anweisung if Alternativen fi Alternative ::= guard -> Action eine Alternative mit zutreffendem guard wird ausgeführt mehrere Alternativen auswählbar: nichtdeterministische Auswahl Guarded-Command do Alternativen od Alternative ::= guard -> Action endet wenn kein guard zutrifft ist mehrere Alternativen auswählbar: nichtdeterministische Auswahl dann erneute Ausführung Guarded Communication Alternative ::= guard : communication -> Action endet wenn kein guard zutrifft ist mehrere Alternativen auswählbar: 1. Mehrere Kommunikationsanweisungen ausführbar: => nicht-deterministische Auswahl 2. Keine Kommunikationsanweisungen ausführbar: => Warten if fi do od do od Seite 20 guard1 -> Aktion1 guard2 -> Aktion2... guard1 -> Aktion1 guard2 -> Aktion2... guard1 : Comm1 -> Aktion1 guard2 : Comm2 -> Aktion2...

21 Notationen / Prozessbindung Prozess-Bekanntschaften statische Prozessbekanntschaften Prozesse haben statische (d.h. im Quellcode fixierte) Namen Sende- (und eventuell auch Empfangs-) Operationen beziehen sich auf einen bestimmten Kommunikationspartner Einfach und sinnvoll wenn das verteilte System komplett als ein Programm definiert werden kann oder soll Die Bekanntschafts-Bindung der Prozesse ist statisch Port-Konzept Prozesse definieren Ports Sende- (und eventuell auch Empfangs-) Operationen im Code beziehen sich auf Ports Vor der Laufzeit werden die Ports über Kanäle verbunden Notwendig und sinnvoll wenn Systeme (Prozess-Netze) durch das Verbinden von Instanzen von Prozessdefinitionen erzeugt werden. Die Bekanntschafts-Bindung der Prozesse ist semi-dynamisch Prozessreferenzen Prozesse können über Referenzen angesprochen werden Prozessreferenzen können kommuniziert werden Sende- (und eventuell auch Empfangs-) Operationen beziehen sich Prozessreferenzen Notwendig und sinnvoll wenn Prozesse zur Laufzeit erzeugt werden können Die Bekanntschafts-Bindung der Prozesse ist dynamisch Seite 21

22 Notationen / Prozessbindung Beispiel statische Prozessbekanntschaft: def process P :: // definiere Prozess ( Instanz) var x = 1 do forever Q! x // sende an Q x = x+1 od end def process Q :: // definiere Prozess ( Instanz) var y do forever Q? y // empfange von P print(y) od end start P start Q Seite 22 CSP-Notation zum Senden und Empfangen Sende v an Prozess P v!p Empfange in v Wert von Prozess P v?p CSP: Communication Sequential Processes. Sehr einflussreiches Buch von Tony Hoare aus den 1980ern.

23 Notationen / Prozessbindung Beispiel Port-Konzept: semi-dynamische Bekanntschafts-Bindung Phase 1 Definition + Definition der Netztopologie Prozessdefinitionen: 3 Prozess-Typen Phase 2 Konfiguration Netz: 7 Prozess-Instanzen, 6 Kanäle Phase 3 Ausführung Ausführung des Systems Seite 23

24 Notationen / Prozessbindung Beispiel Port-Konzept: semi-dynamische Bekanntschafts-Bindung def process P :: // definiere Prozess ( Typ) var x = 1 channel out // Portdefinition do forever out! x // sende an Kanal out x = x+1 od end Definition Prozessdefinitionen Erzeugen von Prozessen, direktes Ansprechen von Prozessinstanzen nicht möglich. def process Q :: // definiere Prozess ( Typ) var y channel in // Portdefinition do forever in? y // empfange aus Kanal in print(y) od end def channel c Konfiguration // definiere Kanal p1 = new P(out=c) // definiere / erzeuge Prozesse (Prozessinstanzen) p2 = new Q(in=c) // verbinde Ports mit Kanal start p1 start p2 Ausführung Seite 24

25 Notationen / Prozessbindung Beispiel dynamische Bekanntschafts-Bindung def process P(q: process) :: var x = 1 do forever q! x x = x+1 od end Prozessdefinition, Erzeugen von Prozessen, an jeder Stelle möglich def process Q(p: process) :: var y do forever p? y print(y) od end def process M :: var p = new P var q = new Q start p(q) start q(p) end start new M Seite 25

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

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

Mehr

Example Ptolemy Model of Comp.: Synchronous Reactive

Example Ptolemy Model of Comp.: Synchronous Reactive Prinzip: Example Ptolemy Model of Comp.: Synchronous Reactive Annahme: unendlich schnelle Maschine Diskrete Ereignisse (DE) werden zyklisch verarbeitet (Ereignisse müssen nicht jede Runde eintreffen) Pro

Mehr

Synchrone Botschaften

Synchrone Botschaften Synchrone Botschaften PPJ-84 Prozesse kommunizieren und synchronisieren sich direkt miteinander, bzw. über Kanäle, die höchstens eine Botschaft aufnehmen. Operationen: send (b): receive (v): blockiert

Mehr

Verteilte Systeme. Diffusionsalgorithmen. Secure Identity Research Group

Verteilte Systeme. Diffusionsalgorithmen. Secure Identity Research Group Verteilte Systeme Diffusionsalgorithmen Diffusionsalgorithmen Definition: Ein verteilter Diffusionsalgorithmus auf einem Beliebigen Graphen startet in einem Zustand, in dem alle Knoten des Graphen idle

Mehr

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.

Mehr

Verteilte Algorithmen TI5005

Verteilte Algorithmen TI5005 Verteilte Algorithmen TI5005 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Prozess-Netze mit Aktoren Produzent / Konsument / Pipeline Client-Server Abstraktion der Partner Produzent

Mehr

Literatur. VA SS Teil 5/Messages

Literatur. VA SS Teil 5/Messages Literatur [5-1] https://en.wikipedia.org/wiki/message-oriented_middleware [5-2] https://en.wikipedia.org/wiki/advanced_message_queuing_protocol http://www.amqp.org/specification/0-10/amqp-org-download

Mehr

Verhaltensbeschreibung und Spezifikationssprachen

Verhaltensbeschreibung und Spezifikationssprachen TECHNISCHE UNIVERSITÄT ILMENAU Integrierte Kommunikationssysteme http://www.tu-ilmenau.de/iks Verhaltensbeschreibung und Spezifikationssprachen Verhaltensmodelle Zustandsautomaten (FSM) Nicht-deterministische

Mehr

Verteilte Algorithmen TI5005

Verteilte Algorithmen TI5005 Verteilte Algorithmen TI5005 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Wellen- und Traversierungsalgorithmen Wellen-Algorithmen Wellen-Algorithmen Wellen-Algorithmen: Eine Klasse

Mehr

An Overview of the Signal Clock Calculus

An Overview of the Signal Clock Calculus An Overview of the Signal Clock Calculus, Jennifer Möwert Inhaltsverzeichnis Synchrone Programmiersprachen Clock Calculus Synchrone Paradigmen SLTS Clocks SIGNAL Definitionen Endochrony Bäume, Jennifer

Mehr

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x

Mehr

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :

Mehr

1 Algorithmische Grundlagen

1 Algorithmische Grundlagen 1 Algorithmische Grundlagen Klocke/17.03.2003 1.1 1.1 Begriffsklärung Fragen Begriffsklärungen Abstraktionsebenen für Algorithmen und Datenstrukturen Algorithmus Qualität von Algorithmen Klocke/17.03.2003

Mehr

Grundlagen: Überblick

Grundlagen: Überblick Grundlagen: Überblick Verteilte Systeme Definition Grundbegriffe Kommunikation Klassifikation von Fehlern Begriffe Fehlerarten Analyse von Algorithmen Korrektheit Komplexität Verteilte Algorithmen (VA),

Mehr

Interaktionsdiagramme in UML

Interaktionsdiagramme in UML Interaktionsdiagramme in UML Interaktionsdiagramm ist ein Oberbegriff für eine Reihe von Diagrammen, die das Verhalten eines objektorientierten Systems durch Objektinteraktionen beschreiben Ein Sequenzdiagramm

Mehr

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

Diskrete Ereignissysteme. Spezielle Netzstrukturen- Übersicht. Beispiele zu speziellen Netzstrukturen. Petri-Netze und Zustandsautomaten Diskrete Ereignissysteme 4.4 Spezialisierungen von Petri Netzen Spezielle Netzstrukturen- Übersicht Ein S-T-Netz heisst Zustands-System gdw. gilt:. W(f) = für alle Kanten f F. 2. t = t = für alle Transitionen

Mehr

5 Verteilte Algorithmen. vs5 1

5 Verteilte Algorithmen. vs5 1 5 Verteilte Algorithmen vs5 1 Charakterisierung eines verteilten Systems? Prozesse als Systemkomponenten: Spezifikation eines Prozesses (Vgl. Spezifikation eines ADT) syntaktisch: z.b. Ports oder Parameter

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

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

Betriebssysteme. G: Parallele Prozesse. (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen) Betriebssysteme G: Parallele Prozesse (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen) 1 Allgemeine Synchronisationsprobleme Wir verstehen ein BS als eine Menge von parallel

Mehr

Schriftliche Prüfung

Schriftliche Prüfung OTTO-VON-GUERICKE-UNIVERSITÄT MAGDEBURG FAKULTÄT FÜR INFORMATIK Schriftliche Prüfung im Fach: Rechnersysteme Studiengang: Bachelor (PF CSE / IF; WPF CV / WIF) am: 30. Juli 2008 Bearbeitungszeit: 120 Minuten

Mehr

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

Prof. Dr. Th. Letschert CS5001. Verteilte Systeme. Master of Science (Informatik) - Einleitung - Th Letschert FH Gießen-Friedberg Prof. Dr. Th. Letschert CS5001 Master of Science (Informatik) - - Th Letschert FH Gießen-Friedberg Modulnr.: CS5001 Verwendbar : Master of Science (Informatik) Master of Science (Wirtschaftsinformatik)

Mehr

Verteilte Systeme CS5001

Verteilte Systeme CS5001 Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Wellen- und Traversierungsalgorithmen Verteilte Systeme Wellenalgorithmen Seite 2 Wellen-Algorithmen Wellen-Algorithmen

Mehr

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016 Algorithmen und Datenstrukturen 2 Übung 1 Stefan Florian Palkovits, BSc 0926364 e0926364@student.tuwien.ac.at 12. Juni 2016 Aufgabe 1: Es existiert eine Reduktion von Problem A auf Problem B in O(n 3 +

Mehr

Prozessalgebren (CCS & CSP) Vortragender: Tim Michaelis

Prozessalgebren (CCS & CSP) Vortragender: Tim Michaelis Prozessalgebren (CCS & CSP) Vortragender: Tim Michaelis Begriffsklärung: Prozess Prozess = Abfolge von Aktionen = Aufeinanderfolge von Zuständen Äussere Eigenschaften sequentiell oder parallel? kooperierend

Mehr

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Sommersemester 2012 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. M. Spichkova, J. Mund, P. Neubeck Lehrstuhl Software

Mehr

Synchronisation und Kommunikation über Nachrichten

Synchronisation und Kommunikation über Nachrichten Synchronisation und Kommunikation über Nachrichten meist bei verteiltem Speicher, kein gemeinsamer Speicher -> keine globalen Variablen keine zu schützenden Datenbereiche Kommunikation über Kanäle und

Mehr

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

Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen Özden Urganci Ulf Sigmund Ömer Ekinci Inhaltsangabe 1 Einleitung 2 Prinzipien des verteilten wechselseitigen Ausschlusses 2.1 Anforderungen

Mehr

Induktion nach der Länge n von x

Induktion nach der Länge n von x Allgemeiner: app (rev x) y = rev1 x y füralle Listenx, y. Beweis: n = 0 : Induktion nach der Länge n von x Dann gilt: x = []. Wirschließen: app (rev x) y = app (rev []) y = app (match [] with [] -> []...)

Mehr

Verteilte Systeme CS5001

Verteilte Systeme CS5001 CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Einführung Administratives Unterlagen Verwendbar: Master of Science (Informatik) Wahlpflichtfach (Theorie-Pool) Unterlagen Folien:

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

Übersicht. Nebenläufige Programmierung: Praxis und Semantik. Synchronisation (4) Eine untere Schranke für den Platzbedarf

Übersicht. Nebenläufige Programmierung: Praxis und Semantik. Synchronisation (4) Eine untere Schranke für den Platzbedarf Übersicht Komplexitätsresultate Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Synchronisation (4) Drei Komplexitätsresultate Eine genaue Schranke für den Platzbedarf

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,

Mehr

Nebenläufige und verteilte Programme CS2301

Nebenläufige und verteilte Programme CS2301 Nebenläufige und verteilte Programme CS2301 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Netze mit aktiven und reaktiven Knoten Produzent Konsument: aktiv / passiv / reaktiv

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

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

7. Konkretisierungen im Feindesign. 7.1 Zustandsdiagramme 7.2 Object Constraint Language 7. Konkretisierungen im Feindesign 7.1 Zustandsdiagramme 7.2 Object Constraint Language 173 Verfeinerte Modellierung Durch die verschiedenen Sichten der Systemarchitektur wird der Weg vom Anforderungsmodell

Mehr

Verteilte Systeme CS5001

Verteilte Systeme CS5001 Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,

Mehr

Einführung in die Informatik Algorithms

Einführung in die Informatik Algorithms Einführung in die Informatik Algorithms Vom Problem zum Algorithmus und zum Programm Wolfram Burgard Cyrill Stachniss 1.1 Motivation und Einleitung In der Informatik sucht man im Normalfall nach Verfahren

Mehr

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

Kommunikationsmuster (T) Interprozesskommunikation (T) Kommunikation über Pipes (P) Parserspezifikation und -generierung (P) Systempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom 19.11. Foliensatz 4 Kommunikationsmuster (T) Interprozesskommunikation (T) Kommunikation über Pipes (P) Parserspezifikation und -generierung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen

Mehr

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

Korrektheit durch modulare Konstruktion. Wie kann man die Korrektheit reaktiver Systeme gewährleisten? Korrektheit durch modulare Konstruktion Wie kann man die Korrektheit reaktiver Systeme gewährleisten? Ansatz: Durch systematische Konstruktion (Schlagwort: strukturierte Programmierung für parallele Programmiersprachen)

Mehr

Wie kann man die Korrektheit reaktiver Systeme gewährleisten?

Wie kann man die Korrektheit reaktiver Systeme gewährleisten? Korrektheit durch modulare Konstruktion Wie kann man die Korrektheit reaktiver Systeme gewährleisten? Ansatz: Durch systematische Konstruktion (Schlagwort: strukturierte Programmierung für parallele Programmiersprachen)

Mehr

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm Inhalte Sequenzdiagramm Kollaborationsdiagramm Dynamisches Modell Seite 1 Sequenzdiagramm Ein Sequenzdiagramm beschreibt die zeitliche Abfolge von Interaktionen zwischen einer Menge von Objekten innerhalb

Mehr

Verteilte Systeme. Graphenalgorithmen. Secure Identity Research Group

Verteilte Systeme. Graphenalgorithmen. Secure Identity Research Group Verteilte Systeme Graphenalgorithmen Allgemeine Netzwerke Reale Computernetze sind meist keine Ringe Beliebige Netze lassen sich als Graph modellieren:g=(v,e) Knoten V (Prozessen, Stationen) Kanten E (Kanälen,

Mehr

Inhalt. Organisatorisches. Verteilte Algorithmen Überblick 4. Verteilte Systeme. Formales Modell Algorithmus

Inhalt. Organisatorisches. Verteilte Algorithmen Überblick 4. Verteilte Systeme. Formales Modell Algorithmus 1 2 Organisatorisches Inhalt Webseite zur Vorlesung: /teaching/ss_05/algosens/ Folien zur Vorlesung und Übung (soweit verfügbar) Übungsblätter Referenzen auf weiterführende Literatur Ankündigungen zur

Mehr

Rechnernetze und verteilte Systeme (BSRvS II)

Rechnernetze und verteilte Systeme (BSRvS II) Rechnernetze und verteilte Systeme (BSRvS II) P1 P2 Pn Datennetz Allgemein Atommodell Echo Vertreterauswahl Maximumsuche Schnappschuss Kausale Abhängigkeit Prof. Dr. Heiko Krumm FB Informatik, LS IV, AG

Mehr

Das UML Benutzerhandbuch

Das UML Benutzerhandbuch Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 Inhalt Vorwort 15 Ziele 15 Publikum 16 Wie Sie dieses Buch verwenden sollten 16 Aufbau und besondere Merkmale 17

Mehr

Übung 1: Vorspann Ein physikalisches System

Übung 1: Vorspann Ein physikalisches System Übung 1: Vorspann Ein physikalisches System Wir sehen Zustandsgrößen, hier x (Weg/Ort) Sie verändern sich im Lauf der Zeit: Dynamisches System. Zeitkontinuierliche und wertkontinuierliche Änderungen. Federkraft

Mehr

Algorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion.

Algorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion. Algorithmus Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion. Hier einige informelle Erklärungen zum Algorithmus P

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 31.01.2013 Algorithmen für externen Speicher INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Formale Systeme. Prof. Dr. Bernhard Beckert. Winter 2008/2009. Fakultät für Informatik Universität Karlsruhe (TH)

Formale Systeme. Prof. Dr. Bernhard Beckert. Winter 2008/2009. Fakultät für Informatik Universität Karlsruhe (TH) Formale Systeme Prof. Dr. Bernhard Beckert Fakultät für Informatik Universität Karlsruhe (TH) Winter 28/29 Prof. Dr. Bernhard Beckert Formale Systeme Winter 28/29 / Beschreibung endlicher Automaten Die

Mehr

Kapitel 4 Spezifikation von Kommunikationssystemen

Kapitel 4 Spezifikation von Kommunikationssystemen Kapitel 4 Spezifikation von Kommunikationssystemen i. (Tele-)Kommunikationsprotokolle ii. Spezifikationstechniken a. Weg/Zeit-Diagramm b. erweiterter endlicher Automat c. Unified Modeling Language iii.

Mehr

Kapitel 1: Informationsverarbeitung durch Programme

Kapitel 1: Informationsverarbeitung durch Programme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung

Mehr

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel Inhalt Hoare-Kalkül Formale Verifizierung Hoare-Kalkül while-sprache Terminierung Partielle / totale Korrektheit 4.0 Hoare-Kalkül entwickelt von C.A.R. (Tony) Hoare (britischer Informatiker), 1969 formales

Mehr

C. A. R. Hoare. An Axiomatic Basis for Computer Programming. Nicolas Schelp. Proseminar Assertions SS 2007

C. A. R. Hoare. An Axiomatic Basis for Computer Programming. Nicolas Schelp. Proseminar Assertions SS 2007 C. A. R. Hoare An Axiomatic Basis for Computer Programming Nicolas Schelp Proseminar Assertions SS 2007 Inhalt Motivation Kurze Biographie Der Hoare-Kalkül Axiome und Inferenzregeln des Hoare-Kalküls Die

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Programmtransformationen: Vom PRAM Algorithmus zum MPI Programm Prof. Dr. Walter F. Tichy Dr. Victor Pankratius Ali Jannesari Modell und

Mehr

Modell-basierte Entwicklung mit der Timing Definition Language (TDL)

Modell-basierte Entwicklung mit der Timing Definition Language (TDL) Modell-basierte Entwicklung mit der Timing Definition Language (TDL) Prof. Dr. Wolfgang Pree Univ. Salzburg Inhalt Motivation für einen Paradigmenwechsel bisher: zuerst Plattform, dann Software => Software

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................

Mehr

Willkommen zur Vorlesung Komplexitätstheorie

Willkommen zur Vorlesung Komplexitätstheorie Willkommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V5, 21.11.2011 1 Themen 1. Turingmaschinen Formalisierung der Begriffe berechenbar, entscheidbar, rekursiv aufzählbar

Mehr

Kapitel 3 Ereignisdiskrete Systeme (III)

Kapitel 3 Ereignisdiskrete Systeme (III) Systemmodellierung Teil 1: Ereignisdiskrete Systeme Kapitel 3 Ereignisdiskrete Systeme (III) Modellierung mit E/A-Automaten Modellbildung mit Automaten Verfeinerte Modellbildung Beispiel: Fahrstuhltür

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit

Mehr

Einführung: Zustandsdiagramme Stand:

Einführung: Zustandsdiagramme Stand: Einführung: Zustandsdiagramme Stand: 01.06.2006 Josef Hübl (Triple-S GmbH) 1. Grundlagen Zustandsdiagramme Zustände, Ereignisse, Bedingungen, Aktionen 2. Verkürzte Darstellungen Pseudozustände 3. Hierarchische

Mehr

Aufgabe 1: Interprozesskommunikation In der Vorlesung wurden zentrale Aspekte von grundlegenden Kommunikationsmustern vorgestellt.

Aufgabe 1: Interprozesskommunikation In der Vorlesung wurden zentrale Aspekte von grundlegenden Kommunikationsmustern vorgestellt. Sommersemester 211 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 11 vom 2.6.211 bis 24.6.211 Aufgabe 1: Interprozesskommunikation In der Vorlesung

Mehr

Programmieren 2 12 Netzwerke

Programmieren 2 12 Netzwerke Programmieren 2 12 Netzwerke Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Motivation Datenaustausch zwischen Programmen Spielstand Chat

Mehr

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II. Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen? Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen

Mehr

Seminar über Algorithmen

Seminar über Algorithmen Seminar über Algorithmen Geographisches Routing von Stephan Hagendorf Inhalt Einleitung / Wiederholung Modell Geographische Routing Greedy Routing Face Routing Adaptive/Bounded Face Routing Other Face

Mehr

Wichtige Rechnerarchitekturen

Wichtige Rechnerarchitekturen Wichtige Rechnerarchitekturen Teil 5 INMOS Transputer, CSP/Occam 1 INMOS Transputer 1983 vorgestellt von der Firma INMOS (Bristol) (Entwicklung seit 1978) Der Name Transputer entstand als Kunstwort aus

Mehr

ÜBUNGS-BLOCK 7 LÖSUNGEN

ÜBUNGS-BLOCK 7 LÖSUNGEN ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i

Mehr

Memory Models Frederik Zipp

Memory Models Frederik Zipp Memory Models Frederik Zipp Seminar: Programmiersprachen für Parallele Programmierung (SS 2010) Fakultät für Informatik - IPD SNELTING LEHRSTUHL PROGRAMMIERPARADIGMEN 1

Mehr

Kommunikationsmodelle

Kommunikationsmodelle Kommunikationsmodelle Dr. Victor Pankratius David J. Meder IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Grundlegende

Mehr

2. Vorlesung. Systemtheorie für Informatiker. Dr. Christoph Grimm. Professur Prof. Dr. K. Waldschmidt, Univ. Frankfurt/Main

2. Vorlesung. Systemtheorie für Informatiker. Dr. Christoph Grimm. Professur Prof. Dr. K. Waldschmidt, Univ. Frankfurt/Main 2. Vorlesung Systemtheorie für Informatiker Dr. Christoph Grimm Professur Prof. Dr. K. Waldschmidt, Univ. Frankfurt/Main Letzte Woche: EA-System Eingabe: Ausgabe: u y t E/A-System 2. Vorlesung Systemtheorie

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr

Übungsaufgaben UML Zertifizierung Fundamental-Level

Übungsaufgaben UML Zertifizierung Fundamental-Level Übungsaufgaben UML Zertifizierung Fundamental-Level Kapitel 15: Sequenzdiagramm Die folgenden Aufgaben behandeln die Inhalte aus Kapitel 15 von UML 2 glasklar (4. Auflage), die die OMG für die Zertifizierung

Mehr

Parallele Prozesse. Prozeß wartet

Parallele Prozesse. Prozeß wartet Parallele Prozesse B-66 Prozeß: Ausführung eines Programmes in seinem Adressraum (zugeordneter Speicher) Parallele Prozesse: gleichzeitig auf mehreren Prozessoren laufende Prozesse p1 p2 verzahnte Prozesse:

Mehr

Protokoll-Spezifikationen

Protokoll-Spezifikationen Protokoll-Spezifikationen Steven Müller 1. Einleitung 2. Protokolle 3. Kompatibilität von Protokollen 4. Subprotokolle 5. Realisierung 6. Zusammenfassung 1. Einleitung Worum geht es in diesem Vortrag?

Mehr

Ein einfaches Modell zur Fehlerfortpflanzung

Ein einfaches Modell zur Fehlerfortpflanzung Ein einfaches Modell zur Fehlerfortpflanzung Jens Chr. Lisner lisner@dc.uni-due.de ICB / Universität Duisburg-Essen AK Fehlertoleranz 11/2006 p. Problemstellung Üblich bei der Formalisierung von Systemen:

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Funktionen / statische Methoden - Definition - Verwendung - Ausführung Seite 1 Th Letschert Funktionen: Definition und Verwendung

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 24.01.2013 Online Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

GTI Bonus VHDL - EXTRA

GTI Bonus VHDL - EXTRA 1 GTI Bonus VHDL - EXTRA 2 Beschreibung Gegeben seien die Moore- (Abbildung 1) und Mealy-Automaten (Abbildung 2) der Armbanduhr aus Übungsblatt 11. 3 Beschreibung Gegeben seien die Moore- (Abbildung 1)

Mehr

Simulation als epistemologische Grundlage für intelligente Roboter

Simulation als epistemologische Grundlage für intelligente Roboter 1 Simulation als epistemologische Grundlage für intelligente Roboter Andreas Tolk The MITRE Corporation Umut Durak Deutsches Zentrum für Luft- und Raumfahrt e.v. (DLR) Public Release No. 17-0085 2017 The

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe

Mehr

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1

Mehr

INFORMATIK FÜR BIOLOGEN

INFORMATIK FÜR BIOLOGEN Technische Universität Dresden 15012015 Institut für Theoretische Informatik Professur für Automatentheorie INFORMATIK FÜR BIOLOGEN Musterklausur WS 2014/15 Studiengang Biologie und Molekulare Biotechnologie

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Formale Systeme. Die Sprache PROMELA. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Die Sprache PROMELA. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 29/2 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association

Mehr

Sommersemester Analyse II: Verhalten (Zustandsautomaten)

Sommersemester Analyse II: Verhalten (Zustandsautomaten) Sommersemester 23 Analyse II: Verhalten (Zustandsautomaten) 8 Aufgabe 2 Analyse II: Verhalten (Zustandsautomaten) Umfang: 2 Wochen Punkte: P. Nachdem in der ersten Aufgabe die Systemstruktur mit Hilfe

Mehr

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016 Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i

Mehr

Verteilte Systeme. Synchronisation II. Prof. Dr. Oliver Haase

Verteilte Systeme. Synchronisation II. Prof. Dr. Oliver Haase Verteilte Systeme Synchronisation II Prof. Dr. Oliver Haase 1 Überblick Synchronisation 1 Zeit in verteilten Systemen Verfahren zum gegenseitigen Ausschluss Synchronisation 2 Globale Zustände Wahlalgorithmen

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Aufgabe 1: Wintersemester 07/08 Übungsblatt 6 15.01.08 Grundlagen verteilter Systeme Lösungsvorschlag

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften

Mehr

Grundlagen der Informatik. von Prof. Dr. Peter Pepper Technische Universität Berlin

Grundlagen der Informatik. von Prof. Dr. Peter Pepper Technische Universität Berlin Grundlagen der Informatik von Prof. Dr. Peter Pepper Technische Universität Berlin R. Oldenbourg Verlag München Wien 1992 Inhalt Vorwort 11 Prolog 13 1. Über den Begriff Information" 19 1.1 Information

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes

Mehr

Spezifikation von Kommunikationssystemen

Spezifikation von Kommunikationssystemen 1 / 22 Spezifikation von Kommunikationssystemen 6. Basiskonstrukte von SDL Prof. Jochen Seitz Fachgebiet Kommunikationsnetze 3. Mai 2018 2 / 22 Übersicht 1 Darstellung eines Prozesses 2 Zeit in SDL 3 Variablen

Mehr