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

Seminar Model-Based Testing - Preorder. Marcel Bosling

Seminar Model-Based Testing - Preorder. Marcel Bosling Seminar Model-Based Testing - Preorder Marcel Bosling 1 / 34 Inhaltsverzeichnis Systeme, Prozesse und LTS Ausgewählte Preorder Trace Preorder Observable Testing Preorder Testing Preorder Conformance Testing

Mehr

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

Mehr

Übungen Workflow Management. Blatt 2

Übungen Workflow Management. Blatt 2 Übungen Workflow Management Blatt 2 Aufgabe 1: Erstellen Sie ein Petrinetz inklusive Anfangsmarkierung für den im Folgenden beschriebenen Prozess zur Bearbeitung einer Münzbestellung. Zuerst geht eine

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

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

Einführung in Petri-Netze

Einführung in Petri-Netze Einführung in Petri-Netze Modellierung und Analysen von Workflows Vertretung: Stephan Mennicke, Reaktive Systeme SS 2012 Organisatorisches In der 24. KW (11.06. 17.06.): Vorlesung am Dienstag, 15:00 Uhr

Mehr

Vorlesung Methoden des Software Engineering. Martin Wirsing. Einheit C.3, 9.12.2004

Vorlesung Methoden des Software Engineering. Martin Wirsing. Einheit C.3, 9.12.2004 Block C (Formale Methoden): Petrinetze 9.12.04 1 Vorlesung Methoden des Software Engineering Block C Formale Methoden Petrinetze Martin Wirsing Einheit C.3, 9.12.2004 Block C (Formale Methoden): Petrinetze

Mehr

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik)

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik) Modellierung biologischer Prozesse Christian Maidorfer Thomas Zwifl (Seminar aus Informatik) Überblick Einführung Arten von Modellen Die stochastische Pi-Maschine Warum Modelle Die Biologie konzentriert

Mehr

Software-Engineering SS03. Zustandsautomat

Software-Engineering SS03. Zustandsautomat Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die

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

Studienarbeit: Komposition von Web Services. Luhme IX Christian Stahl

Studienarbeit: Komposition von Web Services. Luhme IX Christian Stahl Studienarbeit: Komposition von Web Services Luhme IX Christian Stahl Motivation Warum ist Komposition von WS wichtig? Idee von WS geschuldet Weshalb ist Komposition von WS problematisch? 1. Syntaktische

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

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

Seminar Werkzeuggestütze. tze Softwareprüfung. fung. Slicing. Sebastian Meyer

Seminar Werkzeuggestütze. tze Softwareprüfung. fung. Slicing. Sebastian Meyer Seminar Werkzeuggestütze tze Softwareprüfung fung Slicing Sebastian Meyer Überblick Einführung und Begriffe Static Slicing Dynamic Slicing Erweiterte Slicing-Techniken Fazit 2 Was ist Slicing?? (I) Program

Mehr

Formale Methoden: Ein Überblick

Formale Methoden: Ein Überblick Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, 2004-09-16, p. 1 Formale Methoden: Ein Überblick Heinrich Rust Lehrstuhl für Software-Systemtechnik BTU Cottbus 2004-09-16

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

Organisatorisches. Zeit und Ort: Mo 12-14 MZH 1450 Mi 16-18 MZH 1460. Prof. Carsten Lutz Raum Cartesium 2.59 Tel. (218)-64431 clu@uni-bremen.

Organisatorisches. Zeit und Ort: Mo 12-14 MZH 1450 Mi 16-18 MZH 1460. Prof. Carsten Lutz Raum Cartesium 2.59 Tel. (218)-64431 clu@uni-bremen. Logik Organisatorisches Zeit und Ort: Mo 12-14 MZH 1450 Mi 16-18 MZH 1460 Prof. Carsten Lutz Raum Cartesium 2.59 Tel. (218)-64431 clu@uni-bremen.de Position im Curriculum: Wahlbereich Bachelor-Basis, Theoretische

Mehr

Kapitel 3: Petrinetze und Workflow Modellierung

Kapitel 3: Petrinetze und Workflow Modellierung Kapitel 3: Petrinetze und Workflow Modellierung 1. Modellierung 1. Ziel: Analyse 2. Modellierungssprachen: Perspektiven und Anforderungen 2. Petrinetze 1. Geschichtliches 2. Gründe und Bestandteile 3.

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

Code-Erzeugung aus UML-Klassendiagrammen

Code-Erzeugung aus UML-Klassendiagrammen Dominik 09.03.2009 Universität Ulm Gessenharter Inst. f. Programmiermethodik und Compilerbau Code-Erzeugung aus UML-Klassendiagrammen Theorie und Praxis Seite 2 REConf 2009 München Dominik Gessenharter

Mehr

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

Mehr

Kommunikation. Sitzung 01 04./11. Dezember 2015

Kommunikation. Sitzung 01 04./11. Dezember 2015 Kommunikation Sitzung 01 04./11. Dezember 2015 Unser Vorhaben Kommunikationsmodell Überblick über Netzwerk-Topologien Server-Client-Modell Internet Was ist Informatik eigentlich? Kunstwort aus Information

Mehr

1 Transitionssysteme. 1.1 Motivation: Model-Checking

1 Transitionssysteme. 1.1 Motivation: Model-Checking 1 Transitionssysteme Thema dieser Vorlesung sind temporale und modale Logiken sowie damit zusammenhängende Verfahren aus der Automaten- und Spieltheorie. Die Motivation für viele der hier behandelten Methoden

Mehr

Transaction Validation for XML Documents based on XPath

Transaction Validation for XML Documents based on XPath Transaction Validation for XML Documents based on XPath @ Informatik 2002, m-dbis Stefan Böttcher Adelhard Türling Universität Paderborn Überblick Transaktionen für XML - Daten & mobile Clients Motivation

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

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

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

Projektgruppe. Knowledge Representation Persistence and Reasoning

Projektgruppe. Knowledge Representation Persistence and Reasoning Projektgruppe Seminarvortrag von Stefan Middeke Knowledge Representation Persistence and Reasoning 4. Juni 2010 Überblick Motivation Repräsentation der Daten Speicherung und Abfrage von Daten Folgerungen

Mehr

Java EE Projektseminar

Java EE Projektseminar Java EE Projektseminar Daniel Alberts & Sonja Subicin Sprachliche Informationsverarbeitung Universität zu Köln Sommersemester 2010 Sitzung Organisatorisches zum Seminar Java EE Projektplanung Defi nition

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

Message Sequence Charts, Live Sequence Charts

Message Sequence Charts, Live Sequence Charts Message Sequence Charts, Live Sequence Charts SE Systementwurf WS 05/06 Evgeniya Ershova Message Sequence Charts, Live Sequence Charts 1 Gliederung Heute basic MSC s Message Sequence Graphs Hierarchical

Mehr

Automatisierte Logik und Programmierung II

Automatisierte Logik und Programmierung II Automatisierte Logik und Programmierung II Sommersemester 2009 Christoph Kreitz Theoretische Informatik, Raum 1.18, Telephon 3060 kreitz@cs.uni-potsdam.de http://www.cs.uni-potsdam.de/ti/lehre/alupii.htm

Mehr

Einführung - Systeme

Einführung - Systeme Systeme Petri-Netze Gliederung Einführung - Systeme System Zustand Arten von Systemen Petri-Netze Low-Level Petri-Netze High-Level Petri-Netze 2 System griechisch: σύστηµα = das Gebilde, Zusammengestellte,

Mehr

5 Logische Programmierung

5 Logische Programmierung 5 Logische Programmierung Logik wird als Programmiersprache benutzt Der logische Ansatz zu Programmierung ist (sowie der funktionale) deklarativ; Programme können mit Hilfe zweier abstrakten, maschinen-unabhängigen

Mehr

Modellierung von Geschäftsprozessen Teil 6 - Petri-Netze

Modellierung von Geschäftsprozessen Teil 6 - Petri-Netze FHTW Berlin FB4, Wirtschaftsmathematik Modellierung von Geschäftsprozessen Teil 6 - Petri-Netze Dr. Irina Stobbe, 2005-2008 Thema - Überblick Petri-Netze Petri-Netze Einführung Funktionsweise Definition

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

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

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Der λ-kalkül. Frank Huch. Sommersemester 2015

Der λ-kalkül. Frank Huch. Sommersemester 2015 Der λ-kalkül Frank Huch Sommersemester 2015 In diesem Skript werden die Grundlagen der Funktionalen Programmierung, insbesondere der λ-kalkül eingeführt. Der hier präsentierte Stoff stellt einen teil der

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

Kapitel 2 Business Process Model and Notation (BPMN) II

Kapitel 2 Business Process Model and Notation (BPMN) II Kapitel 2 Business Process Model and Notation (BPMN) II Unternehmensstrukturen und Prozesse HS 2013 Prof. Dr. Jana Köhler jana.koehler@hslu.ch Schwerpunkt Heute: Gute Modelle Style Guidelines "BPMN Knigge"

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

Prozessmodellierung in der Praxis, Datenfluss-Netzwerke

Prozessmodellierung in der Praxis, Datenfluss-Netzwerke Prozessmodellierung in der Praxis, Datenfluss-Netzwerke Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology and Economics Department

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

Raumbezogene Datenbanken (Spatial Databases)

Raumbezogene Datenbanken (Spatial Databases) Raumbezogene Datenbanken (Spatial Databases) Ein Vortrag von Dominik Trinter Alexander Christian 1 Inhalte Was ist ein raumbezogenes DBMS? Modellierung Abfragen Werkzeuge zur Implementierung Systemarchitektur

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

Semestralklausur zu Modellierung verteilter Systeme

Semestralklausur zu Modellierung verteilter Systeme Name: Vorname: Matr.Nr: Technische Universität München WS 2010/2011 Institut für Informatik Prof. Manfred Broy 09.02.2011 Semestralklausur zu Modellierung verteilter Systeme Allgemeine Hinweise: Schreiben

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

3: Systematisches Testen

3: Systematisches Testen Stefan Lucks 3: Systematisches Testen 70 E für Sichere Vert. Systeme (2007) 3: Systematisches Testen Testen ist ein Prozess, ein Programm mit der Absicht auszuführen, Fehler zu finden. Man muss destruktiv

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

Mehr

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag Mark Brörkens Universität Oldenburg, Fachbereich Informatik Email: Mark.Broerkens@informatik.uni-oldenburg.de Einleitung Programmieren mit Vertrag

Mehr

Wissensbasierte Systeme 5. Constraint Satisfaction Probleme

Wissensbasierte Systeme 5. Constraint Satisfaction Probleme Wissensbasierte Systeme 5. Constraint Satisfaction Probleme Michael Beetz Vorlesung Wissensbasierte Systeme 1 Inhalt 5.1 Begriffe 5.2 Constraint Satisfaction in Linienbildern 5.3 Beispielanwendungen 5.4

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

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

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP

Mehr

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

BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011 BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011 This presentation is build upon material of the Business Analysis Body of Knowledge

Mehr

Unternehmensmodellierung

Unternehmensmodellierung Josef L. Staud Unternehmensmodellierung Objektorientierte Theorie und Praxis mit UML 2.0 4ü Springer Inhaltsverzeichnis EINLEITUNG 1 1.1 Unternehmensmodellierung 1 1.2 Objektorientierung als solche 6 1.3

Mehr

1.3 Entwicklungsmethoden: Systematischer Überblick

1.3 Entwicklungsmethoden: Systematischer Überblick 1.3 Entwicklungsmethoden: Systematischer Überblick Literatur: Balzert Band 1, LE 411 Was ist der Unterschied zwischen einem Methoden Spezialisten und einem Terroristen? Was ist eine SoftwareEntwicklungsmethode?

Mehr

Zulassungsprüfung /Admission Test 2015 Resultate / Results 15:48:15

Zulassungsprüfung /Admission Test 2015 Resultate / Results 15:48:15 Resultate / Results 15:48:15 89692 nicht zugelassen / not admitted 95382 ZUGELASSEN / ADMITTED 97922 nicht zugelassen / not admitted 99756 nicht zugelassen / not admitted 99976 ZUGELASSEN / ADMITTED 101907

Mehr

Kapitel 2 Vorstellung der Standardsoftware Horus

Kapitel 2 Vorstellung der Standardsoftware Horus ProkSy - EBSS Institut AIFB WS 2013/2014 Einsatz betrieblicher Standardsoftware (ProkSy EBSS) Kapitel 2 Vorstellung der Standardsoftware Horus Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Mehr

Prädikatenlogik - Micromodels of Software

Prädikatenlogik - Micromodels of Software Prädikatenlogik - Micromodels of Software Philipp Koch Seminar Logik für Informatiker Universität Paderborn Revision: 30. Mai 2005 1 Inhaltsverzeichnis 1 Motivation 3 2 Modelle 3 2.1 Definition eines Modells.......................

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

Dialekte der Klimaforschung

Dialekte der Klimaforschung Dialekte der Klimaforschung Vom Fortran-Programm zum parallelen Programm Thomas Ludwig Inhalt Welche Dialekte werden transformiert? Welche Anforderungen stellen wir? Wozu diese Transformation? Wie ist

Mehr

Reasoner for the Semantic Web

Reasoner for the Semantic Web Reasoner for the Semantic Web KAON & KAON2 Seminar A.I. Tools Erik Endres 18.1.2007 Übersicht Reasoner KAON1 KAON2 & Protégé Reasoner Ontologien machen Daten für Maschinen verarbeitbar. Reasoner setzen

Mehr

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung Bachelorprüfung Sommersemester 2009 Programmierung

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

Foundations of System Development

Foundations of System Development Foundations of System Development Martin Wirsing in cooperation with Axel Rauschmayer WS 05/06 Vergleich am Beispiel der Uhr: Maude und TLA 2 1. Uhr in TLA TLA spezifiziert die Menge aller möglichen (unendlichen)

Mehr

Visualisierung paralleler bzw. verteilter Programme

Visualisierung paralleler bzw. verteilter Programme Seminar Visualisierung in Informatik und Naturwissenschaften im SS 1999 Visualisierung paralleler bzw. verteilter Programme Holger Dewes Gliederung Zum Begriff Motivation PARADE Beispiel 1: Thread basierte

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

Versuchsplanung. Teil 1 Einführung und Grundlagen. Dr. Tobias Kiesling Einführung in die Versuchsplanung

Versuchsplanung. Teil 1 Einführung und Grundlagen. Dr. Tobias Kiesling <kiesling@stat.uni-muenchen.de> Einführung in die Versuchsplanung Versuchsplanung Teil 1 Einführung und Grundlagen Dr. Tobias Kiesling Inhalt Einführung in die Versuchsplanung Hintergründe Grundlegende Prinzipien und Begriffe Vorgehensweise

Mehr

Logische Programmierung

Logische Programmierung Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);

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

3.2 Spezifikationen mit Zeit

3.2 Spezifikationen mit Zeit 32 Spezifikationen mit Zeit typische Anforderungen mit Zeitbezug Einführung von Uhren Semantik von Uhren Datentypen Deadlocks durch Zeitbedingungen Urgent und Committed 178 Spezifikation mit Zeit Zeit

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

Unterscheidung: Workflowsystem vs. Informationssystem 1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise

Mehr

Vorlesung vom 18.04.2005 - Einführung in die geschäftsprozessorientierte Unternehmensführung

Vorlesung vom 18.04.2005 - Einführung in die geschäftsprozessorientierte Unternehmensführung Vorlesung vom 18.04.2005 - Einführung in die geschäftsprozessorientierte Unternehmensführung 08.30 Begrüßung durch Dipl.-Kfm. Björn Simon organisatorische Grundlagen der Veranstaltung (Hinweis auf obligatorische

Mehr

26.01.2009. Gliederung. Nebenläufigkeit und Fairness. 1. Nebenläufigkeit Lokalitätsprinzip. 2. Betrachtungsweisen von Nebenläufigkeit. 3.

26.01.2009. Gliederung. Nebenläufigkeit und Fairness. 1. Nebenläufigkeit Lokalitätsprinzip. 2. Betrachtungsweisen von Nebenläufigkeit. 3. Gliederung Lokalitätsprinzip Nebenläufigkeit und Fairness Seminar Model lchecking WS 08/09 Interleaving Halbordnung. Fairness Jan Engelsberg engelsbe@informatik.hu berlin.de Was ist Nebenläufigkeit? In

Mehr

Vom dem was Autos und Software GEMEINSAM haben. Diskussionsbeitrag zur Software-Industralisierung. Guido Brune

Vom dem was Autos und Software GEMEINSAM haben. Diskussionsbeitrag zur Software-Industralisierung. Guido Brune Vom dem was Autos und Software GEMEINSAM haben Diskussionsbeitrag zur Software-Industralisierung Guido Brune Gesellschaft für Informatik e. V. Regionalgruppe Dortmund 14. März 2011 Gliederung E I N L E

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

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

ANSPRECHPARTNER. Film Mathematik statt Rechnen (Quelle: Hochschule Merseburg) Prof. Dr. Axel Kilian Fachbereich Informatik und Kommunikationssysteme

ANSPRECHPARTNER. Film Mathematik statt Rechnen (Quelle: Hochschule Merseburg) Prof. Dr. Axel Kilian Fachbereich Informatik und Kommunikationssysteme ANSPRECHPARTNER Prof. Dr. Axel Kilian Fachbereich Informatik und Kommunikationssysteme Hochschule Merseburg axel.kilian@hs-merseburg.de Film Mathematik statt Rechnen (Quelle: Hochschule Merseburg) HOCHSCHULE

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

Konzepte Visueller Programmierungssysteme

Konzepte Visueller Programmierungssysteme Projekteminar Visuelle Programmierung Vortrag: Konzepte Visueller Programmierungssysteme 20.11.2002 Sebastian Huß Gliederung Begriffsklärungen Abgrenzung Konzepte....Steuerflußorientierter VP-Systeme..Funktionsorientierter

Mehr

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = +

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = + Definition Gnutella Ein -to--netzwerk ist ein Kommunikationsnetzwerk zwischen Rechnern, in dem jeder Teilnehmer sowohl Client als auch Server- Aufgaben durchführt. Beobachtung: Das Internet ist (eigentlich

Mehr

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving) Universität Paderborn Die Universität der Informationsgesellschaft Analyse, Entwurf und Implementierung zuverlässiger Software und (inkl., Model-Checking, Theorem Proving) Torsten Bresser torbre@uni-paderborn.de

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

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Dieser Fragenkatalog wurde aufgrund das Basistextes und zum Teil aus den Prüfungsprotokollen erstellt, um sich auf mögliche

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

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

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 SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7.

Verteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7. Verteilte Systeme SS 2015 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 7. Juli 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i

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

Kapitel 2 Transaktionsverwaltung

Kapitel 2 Transaktionsverwaltung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 2 Transaktionsverwaltung Vorlesung: PD Dr. Peer

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

Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen

Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen Rev. 1152 1 [23] Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen Christoph Lüth & Dennis Walter Universität Bremen Wintersemester 2010/11

Mehr

AutoSPARQL. Let Users Query Your Knowledge Base

AutoSPARQL. Let Users Query Your Knowledge Base AutoSPARQL Let Users Query Your Knowledge Base Christian Olczak Seminar aus maschinellem Lernen WS 11/12 Fachgebiet Knowledge Engineering Dr. Heiko Paulheim / Frederik Janssen 07.02.2012 Fachbereich Informatik

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

Programmieren Formulierung eines Algorithmus in einer Programmiersprache

Programmieren Formulierung eines Algorithmus in einer Programmiersprache Zum Titel der Vorlesung: Programmieren Formulierung eines in einer Programmiersprache Beschreibung einer Vorgehensweise, wie man zu jedem aus einer Klasse gleichartiger Probleme eine Lösung findet Beispiel:

Mehr