Reaktive Programmierung Vorlesung 16 vom : Theorie der Nebenläufigkeit

Größe: px
Ab Seite anzeigen:

Download "Reaktive Programmierung Vorlesung 16 vom 14.07.2015: Theorie der Nebenläufigkeit"

Transkript

1 18:13: [16] Reaktive Programmierung Vorlesung 16 vom : Theorie der Nebenläufigkeit Christoph Lüth & Martin Ring Universität Bremen Sommersemester 2015

2 2 [16] Organisatorisches Wir sind umgezogen! Martin Ring: MZH 1362 Christoph Lüth: MZH 1361

3 3 [16] Fahrplan Teil I: Grundlegende Konzepte Teil II: Nebenläufigkeit Teil III: Fortgeschrittene Konzepte Bidirektionale Programmierung: Zippers and Lenses Eventual Consistency Robustheit, Entwurfsmuster Theorie der Nebenläufigkeit

4 4 [16] Theorie der Nebenläufigkeit Nebenläufige Systeme sind kompliziert Nicht-deterministisches Verhalten Neue Fehlerquellen wie Deadlocks Schwer zu testen Reaktive Programmierung kann diese Fehlerquellen einhegen Theoretische Grundlagen zur Modellierung nebenläufiger Systeme zur Spezifikation (CSP) aber auch als Berechnungsmodell (π-kalkül)

5 5 [16] Temporale Logik, Prozessalgebren und Modelchecking Prozessalgebren und temporale Logik beschreiben Systeme anhand ihrer Zustandsübergänge Ein System ist dabei im wesentlichen eine endliche Zustandsmaschine M = S, Σ, mit Zustandsübergang S Σ S Temporale Logiken reden über eine Zustandsmaschine Prozessalgebren erlauben mehrere Zustandsmaschinen und ihre Synchronisation Der Trick ist Abstraktion: mehrere interne Zustandsübergänge werden zu einem Zustandsübergang zusammengefaßt

6 6 [16] Einfache Beispiele Einfacher Kaffee-Automat: P = 10c coffee P Kaffee-Automat mit Auswahl: P = 10c coffee P 20c latte P Pufferprozess: COPY = left?x right!x COPY NB. Eingabe (c?x) und Ausgabe (c!x) sind reine Konvention.

7 7 [16] CSP: Syntax Gegeben Prozeßalphabet Σ, besondere Ereignisse, τ P ::= Stop a P µ P.F (P) fundamentale Operationen P Q P Q externe und interne Auswahl P Q P Q synchronisiert parallel P Q unsynchronisiert parallel P \ hiding Skip P; Q sequentielle Komposition

8 8 [16] Externe vs. interne Auswahl Interne Zustandsübergänge (τ) sind nicht beobachtbar, aber können Effekte haben. Vergleiche: a b Stop a c Stop a b Stop a c Stop a (b Stop c Stop) a (b Stop c Stop)

9 Beispiel: ein Flugbuchungssystem Operationen des Servers: Nimmt Anfragen an, schickt Resultate (mit flid) Nimmt Buchungsanfragen an, schickt Bestätigung (ok) oder Fehler (fail) Nimmt Stornierung an, schickt Bestätigung Unterschied zwischen interner Auswahl (Server trifft Entscheidung), und externer Auswahl (Server reagiert) SERVER = query?(from, to) result!flid SERVER booking?flid (ok SERVER fail SERVER) cancel?flid ok SERVER Eingabe (c?x) und Ausgabe (c!a) sind reine Konvention 9 [16]

10 Beispiel: ein Flugbuchungssystem Operationen des Servers: Nimmt Anfragen an, schickt Resultate (mit flid) Nimmt Buchungsanfragen an, schickt Bestätigung (ok) oder Fehler (fail) Nimmt Stornierung an, schickt Bestätigung Unterschied zwischen interner Auswahl (Server trifft Entscheidung), und externer Auswahl (Server reagiert) SERVER = query result SERVER booking (ok SERVER fail SERVER) cancel ok SERVER Eingabe (c?x) und Ausgabe (c!a) sind reine Konvention 9 [16]

11 10 [16] Beispiel: ein Flugbuchungssystem Der Client: Stellt Anfrage wenn der Flug richtig ist, wird er gebucht; oder es wird eine neue Anfrage gestellt. CLIENT = query result (booking ok CLIENT CLIENT ) Das Gesamtsystem Client und Server synchronisiert: SYSTEM = CLIENT SERVER

12 10 [16] Beispiel: ein Flugbuchungssystem Der Client: Stellt Anfrage wenn der Flug richtig ist, wird er gebucht; oder es wird eine neue Anfrage gestellt. CLIENT = query result (booking ok CLIENT CLIENT ) Das Gesamtsystem Client und Server synchronisiert: SYSTEM = CLIENT SERVER Problem: Deadlock Es gibt Werkzeuge (Modelchecker, z.b. FDR), um solche Deadlocks in Spezifikationen zu finden

13 10 [16] Beispiel: ein Flugbuchungssystem Der Client: Stellt Anfrage wenn der Flug richtig ist, wird er gebucht; oder es wird eine neue Anfrage gestellt. CLIENT = query result (booking (ok CLIENT fail CLIENT ) CLIENT ) Das Gesamtsystem Client und Server synchronisiert: SYSTEM = CLIENT SERVER Problem: Deadlock Es gibt Werkzeuge (Modelchecker, z.b. FDR), um solche Deadlocks in Spezifikationen zu finden

14 11 [16] Ziele der Semantik von Prozesskalkülen Reasoning about processes by their external behaviour Untersuchung von Verfeinerung (Implementation) deadlock: Keine Transition möglich livelock: Divergenz Grundlegender Begriff: Äquivalenz (Gleichheit) von Prozessen

15 12 [16] Operationale Semantik für CSP (I) Definition: Labelled Transition System (LTS) Ein labelled transition system (LTS) ist L = (N, A, ) mit Menge N der Knoten (Zustände), Menge A von Labels und Relation { a N N} a A von Kanten (Zustandsübergänge). Hier: N = P,A = Σ {, τ}, definiert wie folgt: e P a P[a/e] a comms(e) P Q τ P P Q τ Q

16 Operationale Semantik für CSP (II) P τ P P Q τ P Q P a P P Q a P a τ P x P P \ B τ P x B Q τ Q P Q τ P Q Q a Q P Q a Q a τ P x P P \ B x P \ B x B 13 [16]

17 14 [16] Operationale Semantik für CSP (III) P P τ P Q τ P Q P a P P Q a P Q a P a P Q a Q P Q a a P Q Q τ Q P Q τ P Q a Q Q P Q a a P Q

18 15 [16] Denotationale Semantik für CSP Operationale Semantik erklärt das Verhalten, erlaubt kein Reasoning Denotationale Semantik erlaubt Abstraktion über dem Verhalten Für CSP: Denotat eines Prozesses ist: die Menge aller seiner Traces die Menge seiner Traces und Acceptance-Mengen die Menge seiner Traces und seiner Failure/Divergence-Mengen

19 16 [16] Anwendungsgebiete für CSP Modellierung nebenläufiger Systeme (Bsp: ISS) Verteilte Systeme und verteilte Daten Analyse von Krypto-Protokollen Hautpwerkzeug: der Modellchecker FDR

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

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) 05 -Kommunizierende Prozesse PD Dr. Bernhard Schätz Lehrstuhl für Software und Systems Engineering, Fakultät für Informatik

Mehr

Foundations of Systems Development

Foundations of Systems Development Foundations of Systems Development Vergleich und Zusammenfassung Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer WS 2007/08 2 Ziele Wichtige Aspekte von algebraischen Spezikationen

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

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen 2.4.3 Zustandsgraphen Folie 2-1+45 Paradigma der Zustandsmodellierung Zustandsmodellierung betrachtet ein System als Zustandsautomaten beschreibt die Zerlegung in Zustände und Zustandsübergänge orientiert

Mehr

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen 2.4.3 Zustandsgraphen Folie 2-1+45 Paradigma der Zustandsmodellierung Zustandsmodellierung betrachtet ein System als Zustandsautomaten beschreibt die Zerlegung in Zustände und Zustandsübergänge orientiert

Mehr

Source: Stephan. Werner Stephan

Source: Stephan. Werner Stephan Werner Stephan Software-Krise 1969 NATO Konferenz: Software-Engineering Phasen-Modelle Projektmanagement Qualitaetssicherung Requirements-Engineering Case-Tools UML Softwarekrise 1999 Bedarf (1) an sicherer

Mehr

25.09.2014. Zeit bedeutet eine Abwägung von Skalierbarkeit und Konsistenz

25.09.2014. Zeit bedeutet eine Abwägung von Skalierbarkeit und Konsistenz 1 2 Dies ist ein Vortrag über Zeit in verteilten Anwendungen Wir betrachten die diskrete "Anwendungszeit" in der nebenläufige Aktivitäten auftreten Aktivitäten in einer hochgradig skalierbaren (verteilten)

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Verteilte Systeme - 5. Übung

Verteilte Systeme - 5. Übung Verteilte Systeme - 5. Übung Dr. Jens Brandt Sommersemester 2011 Transaktionen a) Erläutere was Transaktionen sind und wofür diese benötigt werden. Folge von Operationen mit bestimmten Eigenschaften: Atomicity

Mehr

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

Mehr

Egon Börger (Pisa) S-BPM. Über den praktischen Gewinn. einer wissenschaftlichen Fundierung

Egon Börger (Pisa) S-BPM. Über den praktischen Gewinn. einer wissenschaftlichen Fundierung Egon Börger (Pisa) S-BPM Über den praktischen Gewinn einer wissenschaftlichen Fundierung Dipartimento di Informatica, Università di Pisa, Pisa (Italia) boerger@di.unipi.it Copyright c Egon Börger, Dipartimento

Mehr

6 Systematisches Testen von Programmen

6 Systematisches Testen von Programmen 6 Systematisches Testen von Programmen Testen Untersuchung des Source-Codes nach Fehlern und Anomalien Stefan Lucks, Software-Entwicklung für Sichere Systeme SS 04, Kapitel 6 p.1/24 Untersuchung des Source-Codes

Mehr

Geschäftsprozessanalyse

Geschäftsprozessanalyse Geschäftsprozessanalyse Prozessmodellierung weitere Begriffe: workflow business process modelling business process (re-)engineering 2 Was ist ein Prozess? Prozesse bestehen aus Aktionen / Ereignissen /

Mehr

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne 6.2 Petri-Netze WS 06/07 mod 621 Petri-Netz (auch Stellen-/Transitions-Netz): Formaler Kalkül zur Modellierung von Abläufen mit nebenläufigen Prozessen und kausalen Beziehungen Basiert auf bipartiten gerichteten

Mehr

16 Architekturentwurf Einführung und Überblick

16 Architekturentwurf Einführung und Überblick Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software

Mehr

Grundlagen der Programm- und Systementwicklung

Grundlagen der Programm- und Systementwicklung Grundlagen der Programm- und Systementwicklung Technische Universität München Institut für Informatik Software & Systems Engineering Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. Alexander Malkis,

Mehr

Foundations of System Development

Foundations of System Development Foundations of System Development Martin Wirsing in cooperation with Axel Rauschmayer WS 05/06 Verfeinerung und Strukturierung 2 Verfeinerung und Strukturierung Bisher haben wir einfache ( flache ) TLA-Spezifikationen

Mehr

NoSQL-Databases. Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de

NoSQL-Databases. Präsentation für Advanced Seminar Computer Engineering, Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de NoSQL-Databases Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de Klassische SQL-Datenbanken Anwendungsgebiet: Geschäftsanwendungen Behördenanwendungen

Mehr

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

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

Mehr

Seminar Ausgewählte Themen des Software Engineering. Fundamental Modeling Concepts

Seminar Ausgewählte Themen des Software Engineering. Fundamental Modeling Concepts Seminar Ausgewählte Themen des Software Engineering Fundamental Modeling Concepts Wieland Rhenau Freie Universität Berlin, Institut für Informatik WS 2005/2006 Wieland Rhenau, rhenau@inf.fu-berlin.de 1

Mehr

Informatik I. Grundlagen der systematischen Programmierung. Peter Thiemann WS 2008/09. Universität Freiburg, Germany

Informatik I. Grundlagen der systematischen Programmierung. Peter Thiemann WS 2008/09. Universität Freiburg, Germany Informatik I Grundlagen der systematischen Programmierung Peter Thiemann Universität Freiburg, Germany WS 2008/09 Organisatorisches Vorlesung Di und Do, 11-13 Uhr, HS 101-00-036 Dozent Prof. Dr. Peter

Mehr

Entwicklung eines korrekten Übersetzers

Entwicklung eines korrekten Übersetzers Entwicklung eines korrekten Übersetzers für eine funktionale Programmiersprache im Theorembeweiser Coq Thomas Strathmann 14.01.2011 Gliederung 1 Einleitung

Mehr

System Modell Programm

System Modell Programm Wolfgang P. Kowalk System Modell Programm Vom GOTO zur objektorientierten Programmierung Spektrum Akademischer Verlag Heidelberg Berlin Oxford Inhaltsverzeichnis Vorwort 3 Inhaltsverzeichnis 5 1 Einleitung

Mehr

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die "Softwarekrise"

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise im Überblick im Überblick Inhalt 1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise 1. Merkmale von Software 2. Fortlaufende Veränderungen 3. Erschwerte Rahmenbedingungen bei der

Mehr

3. Ziel der Vorlesung

3. Ziel der Vorlesung 3. Ziel der Vorlesung Der Zweck der Vorlesung ist das Studium fundamentaler Konzepte in der Algorithmentheorie. Es werden relevante Maschinenmodelle, grundlegende und höhere Datenstrukturen sowie der Entwurf

Mehr

Verteilte Geschäftsprozesse

Verteilte Geschäftsprozesse Verteilte Geschäftsprozesse Modellierung und Verifikation mit Hilfe von Web Services Axel Martens Humboldt-Universität zu Berlin E-Mail: martens@informatik.hu-berlin.de Abstract: Web Services sind derzeit

Mehr

Fachgebiet. Theorie der Programmierung

Fachgebiet. Theorie der Programmierung Fachgebiet Theorie der Programmierung Ansprechpartner Prof. Franz Baader, Prof. Christel Baier, Prof. Heiko Vogler (Stand: Juli 2010) 1 Theorie der Programmierung In den Lehrveranstaltungen werden nicht

Mehr

Zustandsgebundene Webservices

Zustandsgebundene Webservices Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite

Mehr

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing.

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. SOFTWARETECHNIK Kapitel 7 Vorgehensmodelle Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. Armin Zimmermann Inhalt Vorgehensmodelle Sequenzielle Modelle Iterative

Mehr

Ich begrüße Sie zu unserer nächsten Vorlesung aus Objektorientierter Modellierung. Heute geht es um das Zustandsdiagramm.

Ich begrüße Sie zu unserer nächsten Vorlesung aus Objektorientierter Modellierung. Heute geht es um das Zustandsdiagramm. Ich begrüße Sie zu unserer nächsten Vorlesung aus Objektorientierter Modellierung. Heute geht es um das Zustandsdiagramm. Seite 0 Seite 1 Zu Beginn dieser Einheit möchte ich ein kleines Experiment mit

Mehr

Korrektheitsbegriffe für modellbasierte Codegeneratoren

Korrektheitsbegriffe für modellbasierte Codegeneratoren Korrektheitsbegriffe für modellbasierte Codegeneratoren Institut für Informatik Martin-Luther-Universität Halle-Wittenberg 9.IT 2 22.06.2006 Dr. Mirko Conrad The MathWorks München Prof. Dr. Wolf Zimmermann

Mehr

Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus

Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus Zur Erinnerung: Threads Programmierung (fortgeschrittene Konzepte) Threads, Monitore, Semaphore und speisende en Wolf-Ulrich Raffel (uli@wuraffel.de) Möglichkeiten, Threads zu definieren Bildung einer

Mehr

Oberseminar Softwareentwicklung

Oberseminar Softwareentwicklung Oberseminar Softwareentwicklung Data structures programs / Daten strukturieren Programme Pieter Hauffe Data structures programs Die Wahl der Datenrepräsentation in Software beeinflusst die gesamte Entwicklung

Mehr

Objektorientierte Softwareentwicklung SoSe 15

Objektorientierte Softwareentwicklung SoSe 15 Objektorientierte Softwareentwicklung SoSe 15 Heinz Faßbender Raum E148 Tel. 0241/6009 51913 Email: fassbender@fh-aachen.de www.fassbender.fh-aachen.de FH AACHEN UNIVERSITY OF APPLIED SCIENCES FACHBEREICH

Mehr

LISE MEITNER GYMNASIUM NEUENHAUS UELSEN

LISE MEITNER GYMNASIUM NEUENHAUS UELSEN Entwurf eines schulinternen Curriculums im Fach Informatik für die Qualifikationsphase (Jahrgang 11 und 12) Für die Gestaltung des Informatikunterrichts in der Qualifikationsphase sind für das schulinterne

Mehr

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in

Mehr

Seminar. Werkzeuggestützte Modellierung des Tamagotchi. Modellierung mittels SCR. Ausgearbeitet von: Kizito Ssamula Mukasa und Ralf Hettesheimer

Seminar. Werkzeuggestützte Modellierung des Tamagotchi. Modellierung mittels SCR. Ausgearbeitet von: Kizito Ssamula Mukasa und Ralf Hettesheimer Seminar Werkzeuggestützte Modellierung des Tamagotchi Modellierung mittels SCR Ausgearbeitet von: Kizito Ssamula Mukasa und Ralf Hettesheimer Einleitung Charakterisierung der Technik Entwickelt 1978 am

Mehr

1) Einführung in die formale Verifikation

1) Einführung in die formale Verifikation 1) Einführung in die formale Verifikation GPS: Einführung in die formale Verifikation Fehlerbehaftete Systeme 9 Wofür formale Verifikation? steigender Einsatz von Computertechnologie im Alltag Internet,

Mehr

Softwareentwicklungsprozesse. 18. Oktober 2012

Softwareentwicklungsprozesse. 18. Oktober 2012 Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

8. April 2013 Vorlagenmanagement effizient umgesetzt

8. April 2013 Vorlagenmanagement effizient umgesetzt 8. April 2013 Vorlagenmanagement effizient umgesetzt Präsentiert von Martin Seifert, CEO Agenda Über officeatwork Vorlagenmanagement oder «EDC»? Die «EDC» Herausforderung officeatwork Konzepte officeatwork

Mehr

Efficient Coordination with Semantic Shared Data Spaces

Efficient Coordination with Semantic Shared Data Spaces Efficient Coordination with Semantic Shared Data Spaces Präsentation der Dissertation Martin Murth Space Based Computing Group Institut für Computersprachen, TU Wien Inhalt Semantic Spaces Behandelte Problemstellungen

Mehr

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel VS7 Slide 1 Verteilte Systeme Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

Lean Modeling - Datenmodelle und Geschäftsregeln einfach und präzise mit natürlicher Sprache spezifizieren

Lean Modeling - Datenmodelle und Geschäftsregeln einfach und präzise mit natürlicher Sprache spezifizieren Lean Modeling - Datenmodelle und Geschäftsregeln einfach und präzise mit natürlicher Sprache spezifizieren Mirko Seifert, DevBoost GmbH 12. November 2013, ASQF Modeling Day 2013, Nürnberg Agenda 1. Der

Mehr

3.2 Erstellung, Installation und Verwaltung von Prozessvorlagen. 3.5 Erzeugung, Ausführung und Überwachung von Prozessinstanzen

3.2 Erstellung, Installation und Verwaltung von Prozessvorlagen. 3.5 Erzeugung, Ausführung und Überwachung von Prozessinstanzen Inhalt 3.1 Einführung und Überblick 3.2 Erstellung, Installation und Verwaltung von Prozessvorlagen 3.3 Unterstützung von Anwendungsfunktionen 3.4 Organisationsmodellierung und Bearbeiterzuordnung 3.5

Mehr

Steffen Heinzl Markus Mathes. Middleware in Java

Steffen Heinzl Markus Mathes. Middleware in Java Steffen Heinzl Markus Mathes Middleware in Java Leitfaden zum Entwurf verteilter Anwendungen - Implementierung von verteilten Systemen über JMS - Verteilte Objekte über RMI und CORBA Mit 50 Abbildungen

Mehr

Einführung Arten von Softwaretests Prinzipien Continuous Integration Tests in FLOSS-Projekten Quellen. Softwaretests. Christoph Betschart

Einführung Arten von Softwaretests Prinzipien Continuous Integration Tests in FLOSS-Projekten Quellen. Softwaretests. Christoph Betschart Softwaretests Christoph Betschart 27. Oktober 2014 Inhaltsverzeichnis Einführung Arten von Softwaretests Prinzipien Seven Principles of Software Testing Continuous Integration Tests in FLOSS-Projekten

Mehr

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Vorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. 13. Fehlertoleranz. Verteilte Systeme, Sommersemester 1999 Folie 13.

Vorlesung Verteilte Systeme Sommersemester 1999. Verteilte Systeme. 13. Fehlertoleranz. Verteilte Systeme, Sommersemester 1999 Folie 13. Verteilte Systeme 13. Fehlertoleranz Motivation Kunde () Verteiltes System = Redundanz Rechnern Kommunikationsnetzen Grundidee Einzelne Komponente k fällt mit einer Wahrscheinlichkeit p aus Ausfallwahrscheinlichkeit

Mehr

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011 Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.

Mehr

Software Engineering & Internet Computing

Software Engineering & Internet Computing Übergangsbestimmungen für das Masterstudium Software Engineering & Internet Computing an der Technischen Universität Wien von der Studienkommission Informatik beschlossen am 20.9.2006 (1) Sofern nicht

Mehr

Answer Set Programming

Answer Set Programming Answer Set Programming mit Answer Set Prolog (A-Prolog) Wangler Thomas Logikprogrammierung Institut für Computerlinguistik Universität Heidelberg Inhaltsverzeichnis Inhaltsverzeichnis Inhaltsverzeichnis

Mehr

LDAP. Lightweight Directory. Desanka Bogicevic 1121621 Michael Wenig 1220567 Rupert Eisl 1220225

LDAP. Lightweight Directory. Desanka Bogicevic 1121621 Michael Wenig 1220567 Rupert Eisl 1220225 LDAP Lightweight Directory Access Protokoll Desanka Bogicevic 1121621 Michael Wenig 1220567 Rupert Eisl 1220225 LDAP Was ist LDAP? Was sind Verzeichnisdienste? Was ist ein Verzeichnis? Geschichte http://directory.apache.org/apacheds/basic-ug/1.2-some-background.html

Mehr

Sicherungskomponente für Autonome Mobile Serviceroboter

Sicherungskomponente für Autonome Mobile Serviceroboter Christoph Lüth: SAMS 1 [12] Sicherungskomponente für Autonome Mobile Serviceroboter Christoph Lüth Deutsches Forschungszentrum für Künstliche Intelligenz, Bremen SAMS Abschlusspräsentation, 13.10.09, Bremen

Mehr

Spezifikation und Modellprüfung mittels (extended) Labelled Transition Systems (LTS/eLTS)

Spezifikation und Modellprüfung mittels (extended) Labelled Transition Systems (LTS/eLTS) Martin Luther Universität Halle Wittenberg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Spezifikation und Modellprüfung mittels (extended) Labelled Transition Systems (LTS/eLTS)

Mehr

Requirements Engineering Übung 10 - Formale Systemmodellierung im RE -

Requirements Engineering Übung 10 - Formale Systemmodellierung im RE - Requirements Engineering Übung 10 - Formale Systemmodellierung im RE - Dr. Birgit Penzenstadler, Dr. Daniel Méndez, Jonas Eckhardt 08.01.2012 Aufgabe 1: Empirisch formulierte vs. Formal fundierte Anforderungen:

Mehr

Reguläre Sprachen Endliche Automaten

Reguläre Sprachen Endliche Automaten Endliche Automaten (Folie 54, Seite 16 im Skript) Einige Vorteile endlicher deterministischer Automaten: durch Computer schnell simulierbar wenig Speicher benötigt: Tabelle für δ (read-only), aktueller

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

Meine Workflow Engine spricht BPMN ein Erfahrungsbericht

Meine Workflow Engine spricht BPMN ein Erfahrungsbericht Meine Workflow Engine spricht BPMN ein Erfahrungsbericht Dr. Martin Bartonitz, Product Marketing Manager Solution Specialist SAPERION AG SAPERION AG - Firmenprofil Unternehmenszentrale in Berlin 160 Mitarbeiter

Mehr

Endlicher Automat (EA)

Endlicher Automat (EA) Endlicher Automat (EA) siehe auch Formale Grundlagen 3 1 Motivation: Automaten für die Modellierung, Spezifikation und Verifikation verwenden! Definition Ein Endlicher Automat A = (S,I,Σ,T,F) besteht aus

Mehr

Some Software Engineering Principles

Some Software Engineering Principles David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen

Mehr

Visuelle Sprachen. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Visuelle Sprachen. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg Visuelle Sprachen Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg 1 Beispiele für visuelle Sprachen Modellierungssprachen: Automaten, Statecharts Entity-Relationship-Diagramme (ER-Diagramme)

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance 5. November 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Repetition

Mehr

Prof. Dr.-Ing. Dagmar Meyer Architekturen verteilter SW-Systeme 5 SYNCHRONISATION

Prof. Dr.-Ing. Dagmar Meyer Architekturen verteilter SW-Systeme 5 SYNCHRONISATION Prof. Dr.-Ing. Dagmar Meyer 5 SYNCHRONISATION Warum braucht man Synchronisation? Ausgangssituation Prozesse müssen sich koordinieren / synchronisieren, z. B. beim Zugriff auf gemeinsame Ressourcen. Alle

Mehr

Abbildung 3-1: Clients und Server C+S

Abbildung 3-1: Clients und Server C+S Abbildung 3-1: Clients und Server C+S Abbildung 3-2: Interaktions-koordinations-arten Abbildung 3-3: Zuverlässige Nachrichtenübertragung a) durch individuell quittierte Nachrichten b) durch Quittierung

Mehr

WSO2 Middleware Platform Vorlesungsbegleitendes Praktikum soa

WSO2 Middleware Platform Vorlesungsbegleitendes Praktikum soa WSO2 Middleware Platform Vorlesungsbegleitendes Praktikum soa Dr. Stefan Pietschmann, PF Service-Oriented Enterprise Applications, T-Systems MMS Dresden, 22.10.2013 About US PF42 Service-oriented enterprise

Mehr

Service Engineering. IVS Arbeitsgruppe Softwaretechnik. Abschnitt: Einführung zur Vorlesung

Service Engineering. IVS Arbeitsgruppe Softwaretechnik. Abschnitt: Einführung zur Vorlesung Service Engineering IVS Arbeitsgruppe Softwaretechnik Abschnitt: Einführung zur Vorlesung Seite 1 Überblick zur Vorlesung Seite 2 Organisation Die Vorlesungen finden jeweils Donnerstag von 13:00 bis 15:00

Mehr

Microsoft Office SharePoint 2007

Microsoft Office SharePoint 2007 Inhalt 1 Erstellen von Workflows für Microsoft Office SharePoint 2007 15 June 2009 Sebastian Gerling Sebastian.gerling@spiritlink.de COPYRIGHT 2003 SPIRIT LINK GMBH. ALL RIGHTS RESERVED Inhalt 1 Dipl.

Mehr

Informationssystemanalyse Personal Software Process 8 1

Informationssystemanalyse Personal Software Process 8 1 Informationssystemanalyse Personal Software Process 8 1 Personal Software Process Sehr eng mit dem CMM hängt der PSP (Personal Software Process) zusammen. Der PSP ergänzt das organisationsweite CMM um

Mehr

Business Process Execution Language for Web Services (BPEL4WS)

Business Process Execution Language for Web Services (BPEL4WS) Hauptseminar und Vorlesung Web Services WS 2003/04 Business Process Execution Language for Web Services (BPEL4WS) Patrick Sauter 2/17 Vortrag - Überblick Definition, Zielsetzung und Allgemeines einfacher

Mehr

Modulhandbuch des Studiengangs Informatik ( Master of Science ) an der. ( PO-Version: 2013 )

Modulhandbuch des Studiengangs Informatik ( Master of Science ) an der. ( PO-Version: 2013 ) Universität der Bundeswehr München Werner-Heisenberg-Weg 39 85579 Neubiberg Modulhandbuch des Studiengangs Informatik ( Master of Science ) an der Universität der Bundeswehr München ( PO-Version: 2013

Mehr

Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit

Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit und ein Traumpaar für Pre-Tested Commit Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Steffen Schäfer Steffen Schluff Version:.0 www.oio.de info@oio.de Gliederung Pre-tested commit und

Mehr

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Block Verteilte Systeme und Middleware 1. Beschreiben Sie die Entwicklung verteilter Systeme von einer Zentralisierung bis zu Peer-to-Peer. Nicht

Mehr

Verteilte Systeme Kapitel 4: Realisierung von Netzwerkdiensten

Verteilte Systeme Kapitel 4: Realisierung von Netzwerkdiensten Verteilte Systeme Kapitel 4: Realisierung von Netzwerkdiensten Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Inhaltsüberblick der Vorlesung

Mehr

Computerviren, Waldbrände und Seuchen - ein stochastisches Modell für die Reichweite einer Epidemie

Computerviren, Waldbrände und Seuchen - ein stochastisches Modell für die Reichweite einer Epidemie Computerviren, Waldbrände und Seuchen - ein stochastisches für die Reichweite einer Epidemie Universität Hildesheim Schüler-Universität der Universität Hildesheim, 21.06.2012 Warum Mathematik? Fragen zum

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

9 Verteilte Verklemmungserkennung

9 Verteilte Verklemmungserkennung 9 Verteilte Verklemmungserkennung 9.1 Grundlagen Für die Existenz einer Verklemmung notwendige Bedingungen Exklusive Betriebsmittelbelegung Betriebsmittel können nachgefordert werden Betriebsmittel können

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einführung in die Programmierung mit Java. Hörsaalübung Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung

Mehr

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt. Software Engineering Dokumentation von Softwarearchitekturen Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Mehr

Aspektorientierte Modellierung

Aspektorientierte Modellierung Aspektorientierte Modellierung Softwaretechnik-Seminar 2002 Thema: Evolutionäre Software Referent: Alexander Winter Gliederung Einführung und Motivation Was ist Aspektorientierte Modellierung? Vorstellung

Mehr

Klausur zur Vorlesung Verteilte Systeme im SS 2007 Prof. Dr. Odej Kao 24. Juli 2007

Klausur zur Vorlesung Verteilte Systeme im SS 2007 Prof. Dr. Odej Kao 24. Juli 2007 Klausur zur Vorlesung Verteilte Systeme im SS 2007 Prof. Dr. Odej Kao 24. Juli 2007 Name: Vorname: Matrikelnummer: Studiengang: E-Mail: Schreiben Sie zunächst sofort Ihren Namen und Matrikelnummer auf

Mehr

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets.

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Timer Sockets SMTP-Client 2 / 26 Timer Mit einem Timer können bestimmte Aktionen periodisch wiederkehrend durchgeführt

Mehr

Das Common Information Model (CIM) Dr.-Ing. Mathias Uslar

Das Common Information Model (CIM) Dr.-Ing. Mathias Uslar Das Common Information Model (CIM) Dr.-Ing. Mathias Uslar Vision: Smart Grid 2 Wirtschaftlicher Impact: OFFIS und das IT Quartier 101 National Institute for Standards and Technology (USA): The term Smart

Mehr

Einführung in die Software-Umgebung

Einführung in die Software-Umgebung Ortsbezogene Anwendungen und Dienste WS2011/2012 Einführung in die Software-Umgebung Die Software-Umgebung Zentrale Postgres-Datenbank mit Geodaten von OpenStreetMap: Deutschland: 13 mio. Datensätze Topologie-Informationen

Mehr

Wie fängt man an. Fortgeschrittene Kontakt Verwaltung

Wie fängt man an. Fortgeschrittene Kontakt Verwaltung Wie fängt man an Um alle Vorzüge der iphone TBird Anwendung zu nutzen, sollten nachfolgende Hinweise gelesen werden. Fortgeschrittene Kontakt Verwaltung Mit der TBird iphone Anwendung ist es möglich Kontakte

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 5 26.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Erläutern

Mehr

6. Tutorium zu Softwaretechnik I

6. Tutorium zu Softwaretechnik I 6. Tutorium zu Softwaretechnik I Parallelität und Testen Michael Hoff 01.07.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Master Informatik. Modulhandbuch für den Master-Studiengang. 1. Semester - Grundseminar

Master Informatik. Modulhandbuch für den Master-Studiengang. 1. Semester - Grundseminar Master 1. Semester - Grundseminar 1. oder 2. Semester - Formale Simulation und Verifikation verteilter Algorithmen - Formale Semantiken und Verfeinerung verteilter Prozessmodelle - Modellierung dynamischer

Mehr

Kompositionen von Baumreihen-Transformationen

Kompositionen von Baumreihen-Transformationen Kompositionen von Baumreihen-Transformationen Andreas Maletti 1 Lehrstuhl: Grundlagen der Programmierung Institut für Theoretische Informatik Technische Universität Dresden 4. November 2005 1 Finanziell

Mehr

1. Vorbereitungen - Installation benötigter Software a) Installation Synaptic (optional - zur komfortableren Installation) - Terminal öffnen

1. Vorbereitungen - Installation benötigter Software a) Installation Synaptic (optional - zur komfortableren Installation) - Terminal öffnen Installationsanleitung Database Workbench 5 unter ubuntu Linux 14.04 LTS Desktop 0. Voraussetzungen - installiertes 32- oder 64Bit ubuntu 14.04 LTS Desktop - Internetzugang 1. Vorbereitungen - Installation

Mehr

Laufzeitverifikation

Laufzeitverifikation Laufzeitverifikation Martin Möser Seminar Fehlertolerante und Selbstheilende Systeme: Verifikation und Validierung autonomer Systeme Martin Möser - 1 Einführung / Motivation Autonome Systeme Komplexes

Mehr

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Modellgetriebene Softwareentwicklung bei der IBYKUS AG Modellgetriebene Softwareentwicklung bei der IBYKUS AG Theorie Teil 4: Domänenspezifische Sprachen Dr. Steffen Skatulla IBYKUS AG 1 Inhalt Teil 4: Domänenspezifische Sprachen Nutzung vorhandener Sprachen

Mehr

Softwaretechnik für den Entwurf

Softwaretechnik für den Entwurf Projektseminar RIKA Wintersemester 1999/2000 18.11.1999 Holm Wegner, Florian Matthes Entwurfsphase: Einordnung Planungsphase Lastenheft Definitionsphase Pflichtenheft Entwurfsphase Produktentwurf Implementierungsphase

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)

Mehr

> Verteilte Systeme Übung 10 Deadlocks, Fehler, Security Philipp Kegel Sommersemester 2012

> Verteilte Systeme Übung 10 Deadlocks, Fehler, Security Philipp Kegel Sommersemester 2012 > Verteilte Systeme Übung 10 Deadlocks, Fehler, Security Philipp Kegel Sommersemester 2012 Gruppe PVS (Parallele und Verteilte Systeme) Institut für Informatik Westfälische Wilhelms-Universität Münster

Mehr

CAPA Bearbeitung in einem Issue Management Tool. Wendelin Backhaus, Mechatronic AG und Martin Kochloefl, Seapine Software MedConf 2014 München

CAPA Bearbeitung in einem Issue Management Tool. Wendelin Backhaus, Mechatronic AG und Martin Kochloefl, Seapine Software MedConf 2014 München CAPA Bearbeitung in einem Issue Management Tool Wendelin Backhaus, Mechatronic AG und Martin Kochloefl, Seapine Software MedConf 2014 München Agenda Vorstellung Seapine Software / Mechatronic CAPA: Motivation

Mehr

Kapitel 4. Monitore und wechselseitiger Ausschluss

Kapitel 4. Monitore und wechselseitiger Ausschluss Seite 1 Kapitel 4 Monitore und wechselseitiger Ausschluss Prof. Dr. Rolf Hennicker 28.05.2015 4.1 Interferenzen Seite 2 Parallel ablaufende Prozesse können sich gegenseitig (störend) beeinflussen. Beispiel

Mehr