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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Test-Suite zum Testen eines zustandsbasierten Systems

Test-Suite zum Testen eines zustandsbasierten Systems Übungen zur Vorlesung Testautomatisierung Sommersemester 2004 AG BS Jan Peleska, Stefan Bisanz, Aliki Tsiolakis Blatt 4 Revision: 1.10 Test-Suite zum Testen eines zustandsbasierten Systems Diese Aufgabenserie

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

Prozessmodellierung mit Petri-Netzen

Prozessmodellierung mit Petri-Netzen Prozessmodellierung mit Petri-Netzen Ingo Frommholz Universität Duisburg-Essen Vorlesung "Information Engineering" SS 2007 UNIVERSITÄT D U I S B U R G E S S E N Inhaltsverzeichnis 1 Prozesse im Information

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Einführung in Scheduling

Einführung in Scheduling Einführung in Scheduling Dr. Julien Bidot Sommersemester 28 Institut für Künstliche Intelligenz Inhalt I. Definition und Formulierung des Scheduling- Problems II. Projektplanung III. Produktionsplanung

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

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

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

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

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

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

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

Seminar Prozessmodellierung. Modellierung von Hotel-Reservierungs-Systemen -1- ehotel.de & HRS.de. Torsten Hahmann. 2004 Torsten Hahmann

Seminar Prozessmodellierung. Modellierung von Hotel-Reservierungs-Systemen -1- ehotel.de & HRS.de. Torsten Hahmann. 2004 Torsten Hahmann Modellierung von Hotel-Reservierungs-Systemen ehotel.de & HRS.de Torsten Hahmann Modellierung von Hotel-Reservierungs-Systemen -1- Agenda (1) a. Konzept b. Aufbau (FMC) c. Use Cases d. Prozesse aus Kundensicht

Mehr

Vorstellung Projekt Nr. 9. Berlin, 21.04.2010

Vorstellung Projekt Nr. 9. Berlin, 21.04.2010 Vorstellung Projekt Nr. 9 Berlin, 21.04.2010 Agenda Vorstellung des Unternehmens Vorstellung der Abteilung Sicherheit Projekt Nr. 9 Was ist Projekt Nr. 9? Beispielprozesse Defizite der aktuellen Prozesse

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

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

Modeling Security Aspects of Network Aggregation Protocols. Fachgespräch Sensornetze 2009 14. August 2009

Modeling Security Aspects of Network Aggregation Protocols. Fachgespräch Sensornetze 2009 14. August 2009 Modeling Security Aspects of Network Aggregation Protocols Frank Werner Raoul Steffen Fachgespräch Sensornetze 2009 14. August 2009 Motivation Formale Methoden: Einsatz mathematischer Modelle und Techniken

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

Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht. Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS)

Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht. Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Synchronisation paralleler Transaktionen Kapitel X Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Vorlesungsinhalt

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

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

Software-Engineering

Software-Engineering SWE41 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 1: Prozessorientierte Sicht SWE41 Slide 2 Überblick: Systemanalyse Verschiedene Analysemethoden unterscheiden

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