Motivation. Motivation



Ähnliche Dokumente
Software-Engineering SS03. Zustandsautomat

Primzahlen und RSA-Verschlüsselung

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

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Übungen Workflow Management. Blatt 2

Professionelle Seminare im Bereich MS-Office

Grundlagen der Theoretischen Informatik, SoSe 2008

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Web Interface für Anwender

Zeichen bei Zahlen entschlüsseln

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Bürgerhilfe Florstadt

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Statuten in leichter Sprache

Algorithmische Kryptographie

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Wir machen neue Politik für Baden-Württemberg

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

Anleitung zur Nutzung des SharePort Utility

Lichtbrechung an Linsen

Die Bundes-Zentrale für politische Bildung stellt sich vor

WAS finde ich WO im Beipackzettel

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Informationsblatt Induktionsbeweis

Was ist Sozial-Raum-Orientierung?

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.

Grundbegriffe der Informatik

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Elternzeit Was ist das?

Professionelle Seminare im Bereich MS-Office

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

Was meinen die Leute eigentlich mit: Grexit?

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

How to do? Projekte - Zeiterfassung

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

SMS/ MMS Multimedia Center

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Deutsches Rotes Kreuz. Kopfschmerztagebuch von:

Version 0.3. Installation von MinGW und Eclipse CDT

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

1 Mathematische Grundlagen

Fax einrichten auf Windows XP-PC

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Übung 4. Musterlösungen

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Landes-Arbeits-Gemeinschaft Gemeinsam Leben Gemeinsam Lernen Rheinland-Pfalz e.v.

3. LINEARE GLEICHUNGSSYSTEME

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Speicher in der Cloud

Erfahrungen mit Hartz IV- Empfängern

Reporting Services und SharePoint 2010 Teil 1

Lineare Gleichungssysteme

Zwischenablage (Bilder, Texte,...)

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Erstellen von x-y-diagrammen in OpenOffice.calc

Hilfedatei der Oden$-Börse Stand Juni 2014

Was ist PZB? Personen-zentrierte Begleitung in einfacher Sprache erklärt

Petri-Netze / Eine Einführung (Teil 2)

Studieren- Erklärungen und Tipps

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)

Arbeiten mit UMLed und Delphi

Technical Note Nr. 101

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Tutorium zur Mikroökonomie II WS 02/03 Universität Mannheim Tri Vi Dang. Aufgabenblatt 3 (KW 44) ( )

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Kommunikations-Management

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Feiertage in Marvin hinterlegen

Was ist Leichte Sprache?

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Info zum Zusammenhang von Auflösung und Genauigkeit

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Urlaubsregel in David

Updatehinweise für die Version forma 5.5.5

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Erstellen einer in OWA (Outlook Web App)

10.1 Auflösung, Drucken und Scannen

Lizenzierung von SharePoint Server 2013

Einführung in. Logische Schaltungen

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Simulation LIF5000. Abbildung 1

Tipps und Tricks zu Netop Vision und Vision Pro

Print2CAD 2017, 8th Generation. Netzwerkversionen

Geld Verdienen im Internet leicht gemacht

Use Cases. Use Cases

Das Leitbild vom Verein WIR

1 topologisches Sortieren

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Transkript:

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 und typischerweise durch Nachrichtenaustausch miteinander kommunizieren. Das englische Wort für nebenläufig ist concurrent. Barbara König Übungsleitung: Henning Kerstan Barbara König Vorlesung Modellierung nebenläufiger Systeme 1 Barbara König Vorlesung Modellierung nebenläufiger Systeme 18 Nebenläufigkeit versus Parallelität: Parallelität Zwei Ereignisse finden parallel statt, wenn sie gleichzeitig ausgeführt werden. Nebenläufigkeit (engl. concurrency) Zwei Ereignisse sind nebenläufig, wenn sie parallel ausgeführt werden können (jedoch nicht müssen), das heißt, wenn zwischen ihnen keine kausale Abhängigkeit besteht. Das bedeutet: Nebenläufigkeit ist der allgemeinere Begriff. Beispiele Prozesswechsel auf einem Prozessor (Nebenläufigkeit, aber keine Parallelität) Rechner mit mehreren Prozessoren Netzwerk (LAN, WAN, Internet) Nebenläufige/parallele Anwendungen Hierbei ist zu unterscheiden: Parallelität zum Effizienzgewinn (Beispiel: paralleles Sortierverfahren) Nebenläufigkeit durch Nutzung verteilter Ressourcen (Beispiel: Verwendung von Web Services) Barbara König Vorlesung Modellierung nebenläufiger Systeme 19 Barbara König Vorlesung Modellierung nebenläufiger Systeme 20

(Mögliche) Charakteristika von nebenläufigen Systeme Nebenläufigkeit/Parallelität Offenheit (Erweiterbarkeit, Interaktion mit der Umgebung) Modularität Nicht-terminierendes Verhalten (unendlich lange Abläufe) Nicht-Determinismus Temporale Eigenschaften (z.b.: irgendwann wird etwas passieren ) Probleme beim Umgang mit nebenläufigen Systemen Deadlocks (Verklemmungen) Einhaltung des wechselseitigen Ausschlusses (engl. mutual exclusion) Unendlicher bzw. sehr großer Zustandsraum Stark dynamisches Verhalten/wechselnde Anzahl von Prozessen Variable Topologie/Mobilität Daher: Methoden zur Modellierung, Analyse und Verifikation solcher Systeme sind erforderlich. Barbara König Vorlesung Modellierung nebenläufiger Systeme 21 Barbara König Vorlesung Modellierung nebenläufiger Systeme 22 Wir betrachten das folgende System mit drei Prozessen P 0, P 1, P 2 : P 1 P 2 P 0 Dabei schickt P 0 Nachrichten an P 1, P 1 schickt Nachrichten an P 2 und P 2 schickt Nachrichten an P 0. Ein Prozess P i verhält sich wie folgt: Falls eine Nachricht für P i anliegt, so empfängt P i diese Nachricht (Aktion r i receive). Falls keine Nachricht für P i anliegt und auch keine Nachricht am Nachbarn P j (mit j = (i + 1) mod 3) anliegt, so sendet P i eine Nachricht an P j (Aktion s i send). Zu jedem Zeitpunkt kann ein beliebiger Prozess des Systems die nächste Aktion ausführen. Barbara König Vorlesung Modellierung nebenläufiger Systeme 23 Barbara König Vorlesung Modellierung nebenläufiger Systeme 24

(,, ) Beschreibung durch ein Transitionssystem: System-Zustände der Form (x, y, z) mit x, y, z {N, }. Beispiel: (N, N, ) bedeutet, dass an den Prozessen P 0 und P 1 jeweils eine Nachricht anliegt. Transitionen/Zustandsübergänge mit Aktionen r i (Prozess i liest eine Nachricht) und s i (Prozess i sendet eine Nachricht). (, N, ) s 2 r 0 s 0 (N, N, ) r 1 r 0 s 1 r 2 (,, N) s 0 r 2 r 1 (, N, N) s 2 (N,, ) s 1 r 0 r 2 (N,, N) r 1 Barbara König Vorlesung Modellierung nebenläufiger Systeme 25 Barbara König Vorlesung Modellierung nebenläufiger Systeme 26 Inhalt der Vorlesung Erweiterungen Was passiert, wenn man von als externer Beobachter Sendeoperationen untereinander und Empfangsoperationen untereinander nicht unterscheiden kann? Welche Zustände können dann als äquivalent angesehen werden? Zusätzlich: In oben beschriebenen System kann ein Fehler eintreten, der zur Folge hat, dass der Prozess P 0 keine Nachrichten mehr senden kann. Dieser Fehler kann immer direkt nach einer Sendeoperation von P 0 auftreten. Wie kann das Transitionssystem so erweitert werden, dass dieser Fehler berücksichtigt wird? Was passiert, wenn ein Prozess auch eine Nachricht schicken darf, wenn die vorherige Nachricht noch nicht empfangen wurde? Im folgenden werden wir zur Modellierung nebenläufiger Systeme einsetzen: Transitionssysteme (wie oben) Modelle, die näher an echten Programmiersprachen liegen (beispielsweise Prozesskalküle) Weitere Modelle: Petri-Netze, Graphtransformationssysteme Außerdem (zur Untersuchung/Analyse von Systemen): Beschreibung von Eigenschaften nebenläufiger Systeme Verhaltensäquivalenzen: Wann verhalten sich zwei Systeme gleich (aus der Sicht eines externen Beobachters)? Barbara König Vorlesung Modellierung nebenläufiger Systeme 27 Barbara König Vorlesung Modellierung nebenläufiger Systeme 28

Inhalt der Vorlesung Transitionssysteme Transitionssysteme Verhaltensäquivalenzen (Sprachäquivalenz, Bisimulation) Prozesskalküle (CCS, π-kalkül) Petri-Netze (Entfaltung von Netzen) Graphtransformationssysteme Bemerkung: Einige der bisher in der Vorlesung behandelten Themen (Sicherheits- und Lebendigkeitseigenschaften, Büchi-Automaten, LTL - Linear Temporal Logic) fallen weg. Transitionssysteme repräsentieren Zustände und Zustandsübergänge von Systemen. Echte Parallelität wird nicht direkt repräsentiert. Starke Ähnlichkeit zu Automaten, aber hier sind wir weniger an der akzeptierten Sprache interessiert. 1 a 2 c b 3 Barbara König Vorlesung Modellierung nebenläufiger Systeme 29 Verhaltensäquivalenzen Barbara König Vorlesung Modellierung nebenläufiger Systeme 30 Prozesskalküle Angenommen, ein externer Beobachter kann nur bestimmte Aktionen eines Systems von außen beobachten und nur begrenzt mit diesem System interagieren... Wie kann man feststellen, ob zwei Systeme aus Sicht dieses externen Beobachters äquivalent sind? Die Interaktion des Beobachters mit den Systemen kann oft als eine Art Spiel beschrieben werden. Verschiedene Verhaltensäquivalenzen (Sprachäquivalenz, Bisimularität) Interface, das nur gewissen Interaktionen mit dem System erlaubt Prozesskalküle sind Mini-Programmiersprachen mit denen direkt interagierende und kommunizierende Prozesse beschrieben werden können. Mögliche zusätzliche Features : Mobilität (von Kommunikationskanälen, von Prozessen) Beschreibung des Verhaltens von Prozessen durch Transitionen Bekannte Prozesskalküle: CCS, π-kalkül a.p ā.q τ P Q Barbara König Vorlesung Modellierung nebenläufiger Systeme 31 Barbara König Vorlesung Modellierung nebenläufiger Systeme 32

Petri-Netze Modell für nebenläufige Systeme, das die gemeinsame Nutzung von Ressourcen beschreibt. Ressourcen werden durch Marken repräsentiert und Transitionen konsumieren und erzeugen Marken. Viele Analysetechniken vorhanden (Überdeckbarkeitsgraph, Markierungsgleichung, Invarianten) Es gibt sogenannte Partialordnungsverfahren, die versuchen, Zustandsexplosionen aufgrund von Nebenläufigkeit zu vermeiden (z.b. Netz-Entfaltungen). Stelle Marke Transition Barbara König Vorlesung Modellierung nebenläufiger Systeme 33 Modellierung mit UML Die Modellierung von Systemen mit Hilfe von UML (= Unified Modeling Language) wird im Rahmen dieser Vorlesung nur am Rande behandelt. Folgende Typen von Diagrammen haben einen Bezug zu Themen der Vorlesung: Zustandsdiagramme (state diagrams/statecharts): entsprechen (erweiterten) Transitionssystemen mit zusätzlicher hierarchischer Struktur Aktivitätsdiagramme (activity diagrams): entsprechen in etwa Petri-Netzen Graphtransformations-Systeme Verallgemeinerung von Petri-Netzen, bei denen nicht nur Mengen von Marken, sondern Graphen transformiert werden. Graphen modellieren untereinander vernetzte Komponenten, die sich dynamisch verändern können. Transition in einem Graphtransformations-System: Barbara König Vorlesung Modellierung nebenläufiger Systeme 34 Modellierung mit UML Sequenzdiagramme (message sequence charts): können verwendet werden, um Kommunikation zwischen einer festen Anzahl von Prozessen darzustellen Zeit Prozess 1 Prozess 2 Prozess 3 Prozesskommunikation (Nachricht) Barbara König Vorlesung Modellierung nebenläufiger Systeme 35 Barbara König Vorlesung Modellierung nebenläufiger Systeme 36