Uni Hamburg


Cornelia Mengel
Diese Lernkarten behandeln die Modellierung verteilter Systeme auf Universitätsniveau. Sie konzentrieren sich auf Konzepte wie Transitionen, Markierungen und Systemnetze, die für das Verständnis verteilter Systeme essenziell sind. Die Karteikarten erklären auch die Darstellung von Parallelität, die Eigenschaften von Agenten und die Analyse von Systemnetzen. Sie sind besonders nützlich für Studierende der Informatik, die sich mit der Modellierung und Analyse komplexer Systeme befassen.
Cartes-fiches
16
Utilisateurs
1
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
15.11.2014 / 15.11.2014

Cartes-fiches

Welche Konzepte wurden anhand des Keksautomaten erklärt?

  1. heiße Transitionen: aktivierte Transition tritt tatsächlich ein
  2. kalte Transitionen: Transition bleibt "immer und ewig" aktiviert, tritt aber nicht zwangsläufig ein. Wir durch Epsilon gekennzeichnet und bildet oft die Schnittstelle zur Umwelt
  3. strukturierte Marken: Euro, Kekse, Signal, Zahlen
  4. Konflikt und Nebenläufigkeit
  5. Platzkapazitäten:  Ein Platz soll maximal n Marken enthalten bzw. die Transition die die n+1 Marke hinzufügen will soll nicht aktiviert sein. Es darf also nur eine endliche Anzahl an Marken auf dem Platz liegen
  6. Komplementärer Platz: Erlaubte Markenanzahl wird auf einen anderen Platz gelegt vor die Transition gelegt, sodass sie nur aktiviert ist, wenn dort Marken sind.
  7. Bedingungen an Kanten

 

 

Defniniere Systemnetze

Ein elementares Systemnetz besteht aus einer Netzstruktur N= (P,T,F) , wobei

P= Platz

T= Transition

F= Kante (von,nach),

 

einer Angangsmarkierung Mo,

Transitionsbedingungen,

Kanteninschriften,

mit epsilon gekennzeichnete kalte Transitionen.

 

 

Was ist Analyse?

Analyse ist das Nachweisen von wichtigen Eigenschaften eines Systemnetzes N. 

Eine wichtige Eigenschaft sind hier erreichbare Markierungen von N:

  • Ist M erreichbar?
  • Wird M auf jeden Fall erreicht?

Was ist Synthese?

Synthese ist das Ableiten eines Systemsnetzes N aus einem System, welches zB als Zustandsautomat modelliert ist.

Synthesesatz: Falls das SyntheseProblem eines Zustandsautomaten G mit einem 1-beschränkten elementare Systemnetz lösbar ist, dass ist das Systemnetz von G eine Lösung.

=> Also ein Systemnetz N löst das Syntheseproblem, wenn der Markierungsgraph G von N isomorph ist (wenn jeder Knoten von G eindeutig einem Knoten von Z entspricht)

 

Ansonsten ist das Syntheseproblem nicht mit einem 1-beschränkten elementaren Systemnetz lösbar und man benötigt den Algorithmus.

1. Regionen bilden

2. Minimale Regionen werden Plätze

3. Kanteninschriften werden Transitionen

Was sind sequenzielle und was sind verteilte Abläufe?

Ist der Zusammenhand zwischen sA und vA eindeutig?

Sequenzieller Ablauf:

Der Ablauf eines Systemnetzes N, formuliert als Sequenz von Schritten, beginnend mit der Anfangsmarkierung M0.

Ein sequenzieller Ablauf ist endlich oder unendlich lang und kann vollständig sein, wenn Mn eine Endmarkierung ist (nur kalte Transitionen aktiviert), oder wenn keine Schritte mehr mit einer zusätzl. Transition mgl. sind.

 

Verteilter Ablauf:

Ein verteilter Ablauf besteht aus Aktionen.

Eine Aktion ist ein beschriftetes, Schlinkenfreies Netz, mit genau einer Transition.

Ein Kausalnetz ist ein verteilter Ablauf

 

Zusammenhang Eindeutig?

Nein! Verteilte Abläufe verlangen einen größeren technischen Aufwand, repräsentieren das Verhalten aber genauer

Was ist ein Kausalnetz und was zeigt man damit?

Ein Kausalnetz ist ein verteilter Ablauf eines elementaren Systemnetzes N=(P,T,F), wenn

  • zyklenfrei
  • an allen Stellen höchstens eine Eingangs- und Ausgangstransition hat - also kein Platz ist verzweigt
  • fängt mit M0 an
  • endet mit Epsilon

 

K beschreibt ein zusammenhängendes Stück Verhalten von N.

Man kann auch kausale Unabhängigkeit zeigen, denn generell bescheibt eine Kette von Kanten von einem x zu einem y, dass x kaussal vor y steht. Sind x und y garnicht verbunden, sind die kausal unabhängig.

Lebendigkeit?

Beschräktheit?

Verklemmung?

Es handelt sich um Eigenschaften, die direkt am Zustandsautomaten festgemacht werden können

Lebendigkeit: 

Von jeder erreichbaren Markierung M aus, ist für jede Transition t eine Markierung M' erreichbar, die t aktiviert.

Zustandsautomat: An jedem Knoten des dazugehörigen Zustandsautomaten G beginnt ein Weg, auf dem die Transition t als Pfeilinschrift vorkommt.

Beschränktheit:

Es gibt eine Zahl b, sodass jeder Platz von N unter jeder erreichbaren Markierung höchstens b Marken enthällt

Zustandsautomat: G ist endlich

Verklemmung: (= Deadlock)

Eine Markierung M, die keine einzige Transition aktiviert, beschreibt einen totalen Systemstillstand.

N ist deadlockfrei, wen jede erreichbare Markierung mind. eine Transition aktiviert.

Zustandsautomat: An jedem Knoten von G beginnt mind. eine Kante.

Wie kann man Beschränktheit zeigen?

Beschränktheit:

Es gibt eine Zahl b, sodass jeder Platz von N unter jeder erreichbaren Markierung höchstens b Marken enthällt.

1. Man kann es entweder am Zustandsgraphen stehen, denn G ist endlich

2. Man kann es an dem Markierungsgraphen ablesen, denn der visusalisiert die erreichbaren Markierungen und Schritte eines Systemnetzes N. Allerdings hat ein Systemnetz mit mind. 1 unbeschränkten Platz einen unendlichen Markierungsgraphen

3. Man konstruiert einen endlich Überdeckungsgraphen, weil er einen unendlichen Markierungsgraphen approximieren kann. Regelmäßige unendliche Teilstrukturen werden durch omega-Markierungen  in endliche Teilgraphen verdichtet. Wenn keine omega-Markierungen entstehen, erhalten wir einen normalen Markierungsgraphen

4. Man berechnet die Platzinvarianten, denn ein Platz p mit einer positiven invariante ist beschränkt.

Wie zeigt man Beschränktheit mit einem Überdeckungsgraphen?

Man konstruiert einen endlich Überdeckungsgraphen, weil er einen unendlichen Markierungsgraphen approximieren kann. Regelmäßige unendliche Teilstrukturen werden durch omega-Markierungen  in endliche Teilgraphen verdichtet. 

Algorithmus:

  1. M0 ist ein Knoten
  2. In jedem Schritt entsteht eine Kante zu einem vorhandenen oder zu einem neuen Knoten
    • Der Graph wird nun um die Kante M-> M'' ergänzt. Falls M'' noch kein Knoten ist, wird er einer
    • M'' ist entwerder eine omega-Markierung oder eine normale M'(p):
    • Wenn M'>M für vorher auf dem Pfad dahin berechnete Markierungen, wird an den Stellen omega gewählt
  3. Terminiert, wenn für jeden Knoten M und jede in M aktivierte Transition t eine t-beschriftete Kante beginnt.
  4. Wenn keine omega-Markierungen entstehen, erhalten wir einen normalen Markierungsgraphen

Was sind Platzinvarianten und wie werden sie berechnet?

Was sind Transitionsinvarianten?

Die Lösung der Gleichung x*N=→0 heißt Platzinvariante von N

  1. Man kann Markierungen als Spaltenvektoren schreiben, wobei die Anzahl der Marken drin steht und die Stelle anzeigt, an welchem Platz
  2. Man kann Transitionen als Spaltenvektoren schreiben
    • -1 wenn Platz im Vorbereich
    • 1 wenn Platz im Nachbereich
    • 0 sonst
  3. Daraus Matrix für alle Plätze erstellen und Gleichung lösen

 

Transisitionsinvarianten geben an, wie oft welche Transition schalten muss, um die Anfangsmarkierung zu reproduzieren.

  1. Zeichne einen einfachen Agenten
  2. Erweitere ihn um einen reaktiven Agenten
  3. Wie kann er dynamischer werden?
  4. Wie ist ein Agent definiert?

  1. drei Transitionen "input" "was tun" und "output"

  2. in der Mitte mehrere Transitionen die mit durch eine message im Input und dann guards an den Transitionen unterschieden werden 

  3. mit einem Knoten als Wissensbasis anstatt eben die vielen Transitionen zur Fallunterscheidung

  4. Agenteneigenschaften:

    • Autonomie

    • Intelligenz, Lernfähigkeit, Adaptiion und Flexibilität

    • Reaktivität, proaktivität

    • Klare Umgebungsabgrenzung (Kapselung)

    • Agiert mit der Umwelt

Zeichne MAS

Was passier da?

Infrastruktur

Das Multiagentensystem repräsentiert Orte (Plattformen) und deren Kommunikations- und Mobilitätsstruktur.
Diese wird in der Abbildung als statisch dargestellt.
Generell gilt, dass auch diese Ebene veränderlich ist.

Wichtig sind die vier Ebenen UND ihre Beziehungen. Diese lassen sich für beliebige Einheiten kombinieren.

Jede Einheit kann als Repräsentant jeder Ebene auftreten. Dies erlaubt mehrfach geschachtelte Systeme.


Zentrale Idee ist die gekapselte Einbettung in eine bestimmte
Umgebung; die jeweils festgelegte Relation von Einheit und Umgebung über deren Schnittstelle zur jeweils anderen Einheit liefert die softwaretechnisch und modellierungstechnisch relevante Beziehung Insgesamt ergibt sich ein agentenorientiertes Architekturmodell.

Zeichne die Plattform

Was passier da?

Platform
Die Plattform verfeinert die Darstellung der Orte aus der ersten
Ebene. Sie stellt die Umgebung für die Agenten dar. Damit ergibt
sich die Kommunikationsstruktureinbettung zu den anderen
Plattformen und die plattforminterne Kommunikations- und
Interaktionsmöglichkeit.
Wichtig ist die Beziehung zwischen Ebene 1 und Ebene 2. Sie
beschreibt die Einbettung von Plattformen in eine
Kommunikations- und Mobilitätsinfrastruktur.

Zeichne den Agenten in MAS

Was passiert da?

Agent


Der Agent  befindet sich in seiner Umgebung, der Plattform. Gleichzeitig ist er die Umgebung
für die Protokolle und die Wissensbasis. 

Wichtig ist wiederum die Beziehung zwischen Plattform und Agent. 

Auch hier erfolgt eine bestimmte Einbettung. Die externe und interne Kommunikation und Mobilität auf der Plattform wird festgelegt.

Zeichne das Protokoll

Was passiert da?

Protokoll


Das Protokoll befindet sich in seiner Umgebung, dem Agenten.


Im Zentrum der Betrachtung steht wiederum die Beziehung zwischen Agent und Protokoll.
Auch hier erfolgt eine bestimmte Einbettung.

Die Kommunikation und Mobilität innerhalb des Agenten wird festgelegt.
 

Zeichne einen Statechart

Wie kann man Parallelität darstellen?

Orthogonalität / Parallelität:


AND-Dekomposition: alle Subzustände eines Zustandes
werden gleichzeitig eingenommen , wenn dieser betreten wird.

grafische Repräsentation: gestrichelte Linien, die die einzelnen
AND-Komponenten voneinander trennen.

Étudier