Seminar: Architekturbeschreibungssprachen

Slides:



Advertisements
Ähnliche Präsentationen
Arbeitsablauf basierte Grid Anwendungen
Advertisements

Synchronisation von Geschäftsprozessen mit dem Fluß der Dinge
Einer der Dienste im Internet
der Universität Oldenburg
Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
Fachreferat in Mathematik
16. Juni 2006 Stefan Ukena Burstein und McDermott: Ontology Translation for Interoperability Among Semantic Web Services Hamburg, 16. Juni 2006.
4 Verteilte Algorithmen
Der Pi-Kalkül Vortrag von Erik Witzmann Im Seminar Prozessalgebra.
Klicke Dich mit der linken Maustaste durch das Übungsprogramm! Ein Übungsprogramm der IGS - Hamm/Sieg © IGS-Hamm/Sieg 2007 Dietmar Schumacher Die Wertetabelle.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Automatentheorie „Berechnungsmodell für logische Sprachen“
von Reaktionen und chemischen Suppen
Nebenläufige Programmierung
Seminar zum pi-Kalkül betreut von Andreas Rossberg
Repräsentation von Datenstrukturen im -Kalkül Simon Pinkel, Betreuer: Guido Tack Seminar: Theorie kommunizierender Systeme: Der -Kalkül.
SciAgents - Eine agentenbasierte Umgebung für verteilte wissenschaftliche Berechnungen Alexander StarkeSeminar Software Agenten
Vortrag im Rahmen des Seminars
Gleichungen: Grundwissen
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Prof. Dr. T. Kudraß1 Relationenkalkül. Prof. Dr. T. Kudraß2 Relationenkalkül Zwei Ausprägungen: Tupelrelationenkalkül (TRK) und Domänenrelationenkalkül.
Imperative Programmierung Funktionen und Parameter
Übersetzung durch Mensch und Maschine Einleitung Einleitung Entwicklungsgechichte der MÜ Entwicklungsgechichte der MÜ Entwicklungsphasen der MÜ Entwicklungsphasen.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Grundlegende Analysen & Zwischendarstellungen
Semantische Fehler Seminar im Grundstudium WS2002/2003:
Das klassische Kommunikationsmodell des Informations-Austauschs
handlungsorientierte Zugänge zur Algebra
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Interaktionen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld Wie arbeiten VS mit ihrem Material (im einfachsten Fall)?
Semantische Webdienste in OWL-S und WSMO Name : Sinan Sen Betreuer : Dr. Andreas Gerber Datum :
TEILCHENPHYSIK FÜR FORTGESCHRITTENE Vorlesung am 21. April 2006
Neuronale Netze Romy Kuttner, Franco Haberland.
The XeriScape Artificial Society Von: Ralf Kopsch Seminar: Artifical Life.
HANDYGMA - kein Geheimnis - Lange Nacht der Wissenschaften 15. Juni 2002 Humboldt-Universität zu Berlin Institut für Mathematik Prof. Dr. R.-P. Holzapfel.
Entwicklung verteilter eingebetteter Systeme - Einführung
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Input / Wahrnehmung Control / Bewusstsein Output / Motorik Information.
Gegenstand EDV Thema: Informative Webseiten
Sequenzdiagramm Von Michael Möhring.
Unified Modeling Language Repetition / Einführung zu UML
Automatic composition of UI mashups Vortrag zum Seminar Webengineering 2011 Michael Reißner.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Wiederholte Programmausführung
Replikation und Synchronisation
UML Modellierung des Verhaltens von Klassen und Objekten
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vorstellungstheorie: Bedeutung als mentale Struktur.
KINSHIP BEHAVIOR Seminar aus angewandter Spieltheorie Christian Artner.
Unterprogramme in JAVA
Zustandsübergangsdiagramme (1)
Relationale Datenbanken
Using latent semantic analysis to find different names for the same entity in free text Präsentation und Diskussion des Papers Im Rahmen des PS Web-Information.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
Middleware in Java vieweg 2005 © Steffen Heinzl, Markus Mathes Kapitel 1: Architektur verteilter Systeme.
Umweltmanagementinformationssysteme (Übung)
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Interoperabilität in Digitalen
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Comprehensive Information Base (CIB) – ein Prototyp zur semantischen Datenintegration Stefan Arts
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
Tutorium Software-Engineering SS14 Florian Manghofer.
„A Fresh Look at Precision in Process Conformance“ Seminar: Sicherheitstechnoligien der Informationsgesellschaft SS 2011 – Institut für Informatik und.
Kurzanleitung zur Nutzung von Video- s und der Kontaktübersicht
 Präsentation transkript:

Seminar: Architekturbeschreibungssprachen Thema: π-Kalkül Frank Poschner

Übersicht Motivation Begriffe / Namen Notation Semantik Weitere wichtige Begriffe 5. Beispiel mit DARWIN

Motivation π – Kalkül ist ein Berechnungsmodell für nebenläufige Systeme Robin Milner, University of Edinburgh, Schottland, Juni 1989 Darstellung von Prozessen mit wechselnden Strukturen beliebige Verlinkung von Komponenten darstellbar Links zwischen Prozessen können wechseln neue Links können entstehen

Nutzbar für Beschreibung und Korrektheitsbeweis von Architekturen verteilter Systeme ADL Darwin (deklarativ) Erweiterung bestehender mathematischer Modelle für Nebenläufigkeit mit Augenmerk auf Mobilität „Calculus of Communicating Systems“ (CCS, ebenfalls Milner) Nutzung der CCS – Notation, soweit möglich

Begriffe / Namen „Process“ oder „Prozess“ ist abstrakter Name für einen laufenden Thread „Channel“ abstrakt für Kommunikationsverbindung zwischen zwei Prozessen Prozesse interagieren, indem sie Nachrichten über Kanäle senden und empfangen

Keine Unterscheidung zwischen Link-Namen, Variablen und Werten im PI-Kalkül Alle als „Namen“ bezeichnen Namen sind primitivste Entität, weitere: Agenten Bild einer Cocktailparty: Nebenläufige Berechnung mit einzigem Ziel des Austausches von Namen, die weitere Kommunikation erlauben

Notation Hinführung zur Basisnotation und Benutzung des Kalküls anhand von einigen Beispielen: Agent P will den Wert 5 an R über Link a senden R ist bereit, jeglichen Wert über a zu empfangen _ P ≡ a5.P‘ R ≡ a(x).R‘

_ System: (a5.P‘ | a(x).R‘) Präfix-Formen: _ yx.P : negatives Präfix, Ausgabe Name x an Port y und Ausführung von Prozess P y(x).P : positives Präfix, Name y ist Input-Port eines Agenten, ein Name z wird an y gebunden, daraus resultiert P{z/x} P1 | P2 : Komposition, P1 und P2 werden gleichzeitig ausgeführt

P möchte das Senden von 5 an R übertragen an den neuen Agenten Q Notwendig: P mit Q verbunden _ _ P ≡ ba.b5.P‘ P sendet a und 5 über b _ Q ≡ b(y).b(z).yz.0 Q empfängt Link und Wert, sendet Wert über den Link und terminiert

_ _ _ System: (ba.b5.P‘ | b(y).b(z).yz.0 | a(x).R‘) Nach einer Nachricht über b: _ _ (b5.P‘ | b(z).az.0 | a(x).R‘) Nach zweiter Nachricht über b: _ (P‘ | a5.0 |a(x).R‘)

(v y)P: Restriktion, der Name y wird eingeführt und an P gebunden, nur dort zu benutzen fn(P) : freie Namen in P, die nicht durch ein positives Präfix oder eine Restriction gebunden sind (P|Q|R) (v x)(P|Q|R)

Semantik Eine Transition hat die Form: P wird zu Q und führt dabei die Aktion α aus „silent action“: P wird zu Q und benötigt dabei keine Interaktion mit der Umgebung

P übermittelt freien Namen y am Port x und wird anschließend zu Q „free output action“: _ P übermittelt freien Namen y am Port x und wird anschließend zu Q „input action“: P kann jeden Namen w am Port x empfangen und anschließend zu Q{w/y} werden ( y ist Referenz, kein Wert)

Aktionsregeln ( „rules of action“ )

Aktionsregeln ( „rules of action“ )

Beispiel: „Link Passing“ _ P ≡ yx.P‘ Q ≡ y(z).Q‘ R ≡ R Substitution mit Definitionen: _ P | Q | R ≡ yx.P‘ | y(z).Q‘ | R Komposition: P | Q | R

Link Passing

Weitere wichtige Begriffe Begriff „Scope“ Übersetzung: Wirkungsbereich, Gültigkeitsbereich Hängt mit Restriktion und freien Namen zusammen Name nur dort „bekannt“ und zu benutzen, wo er gebunden wurde Notation: (v y)P

Beispiel: Scope Extrusion _ P ≡ yx.P‘ Q ≡ y(z).Q‘ R ≡ R _ τ (v x) (yx.P‘ | R) | y(z).Q‘ (v x) (P‘ | R | Q‘{x/z})

Begriff „Replikation“ Eine beliebige Anzahl von Kopien kann zur Verfügung gestellt werden Gleichung in π – Notation: !P ≡ P | !P ersetzt Rekursion als eigenständige Methode entsprechende Aktionsregel: α P P‘ REP : α !P P‘ | !P

Beispiel mit Darwin p r Drei Agenten PROV (p,s) = !(p(x).xs) REQ (r,l) = r(y).yl BIND (r,p) = rp

REQ und BIND REQ(r,l) | BIND (r,p) ≡ r(y).yl | rp  pl Zusammenführen mit PROV pl | PROV(p, s) ≡ pl | p(x).xs | PROV(p, s)  ls | PROV(p, s)

Vielen Dank für Eure Aufmerksamkeit!