Entwurf und Implementierung eines Analysewerkzeuges für das Systemmodell des adaptiv-dynamischen Replikationsrahmenwerkes adgsv

Größe: px
Ab Seite anzeigen:

Download "Entwurf und Implementierung eines Analysewerkzeuges für das Systemmodell des adaptiv-dynamischen Replikationsrahmenwerkes adgsv"

Transkript

1 CARL VON OSSIETZKY DEPARTMENT FÜR INFORMATIK SYSTEMSOFTWARE UND VERTEILTE SYSTEME Entwurf und Implementierung eines Analysewerkzeuges für das Systemmodell des adaptiv-dynamischen Replikationsrahmenwerkes adgsv Diplomarbeit 2. März 2009 Matthias Davidek Garten Str Oldenburg Erstprüfer Zweitprüfer Prof. Dr.-Ing. Oliver Theel Dipl.-Inform. Christian Storm

2

3 Erklärung zur Urheberschaft Hiermit versichere ich, dass ich diese Arbeit selbständig verfasst und keine anderen als die angegebenen Hilfsmittel und Quellen benutzt habe. Oldenburg, den 2. März 2009 Matthias Davidek

4

5 Ein sensibles Datum, das auf einem Knoten in einem verteilten System gespeichert ist, ist bei einem Ausfall des Knotens nicht mehr verfügbar. Die Lösung hierfür ist die Replikation des Datums auf verschiedenen Knoten des verteilten Systems, um die Verfügbarkeit zu erhöhen. Für die Erhaltung der Konsistenz des Datums sind Datenreplikationsschemen, die strikte Quorum-Systeme verwenden, ein geeignetes Mittel, da diese die Kopien des Datums verwalten. Es existieren viele Datenreplikationsschemen, die in strukturierte und unstrukturierte, statische und dynamische, homogene und heterogene Schemen aufgeteilt werden. Jedes Datenreplikationsschema hat seine Vor- und Nachteile, die bei der Wahl eines Schemas beachtet werden müssen, da sich diese auf die Qualitätseigenschaften des resultierenden verteilten Systems auswirken. Für die Wahl eines Datenreplikationsschemas für ein Anwendungsszenario ist eine Evaluation nötig. Dadurch kann das optimale Schema in Bezug auf das Anwendungsszenario ermittelt werden. Die stochastische Analyse ist schnell und exakt. Sie eignet sich dadurch hervorragend für die Evaluation von Datenreplikationsschemen. Das Konzept der stochastischen Analyse wird in dieser Diplomarbeit verfolgt. Die Zielsetzung dieser Arbeit ist die Konzeption und Implementierung eines Analysewerkzeuges basierend auf generalisierten stochastischen Petri Netzen für das Systemmodell des adaptiv-dynamischen Replikationsrahmenwerkes adgsv. Das Analysewerkzeug soll in der Lage sein homogene und heterogene dynamische Datenreplikationsschemen, sowie statische Schemen, analysieren zu können.

6

7 Inhaltsverzeichnis 1 Einleitung 1 2 Grundlagen über Petri Netze Petri Netze Inhibitor-Kanten Transitionsprioritäten Erreichbarkeitsmenge und Erreichbarkeitsgraph Zeitbehaftete Petri Netze Stochastische Petri Netze Generalisierte stochastische Petri Netze Zusammenfassung Konzeption des Analysewerkzeuges Aufbau des Analysewerkzeuges Petri Netze Generelle Erweiterungen Standard Petri Netze Stochastische Petri Netze - Erweiterung Generalisierte stochastische Petri Netze - Erweiterung Spezifikation von Petri Netzen Analyse der Petri Netze Erreichbarkeitsgraph und Markov-Kette Auswertung der Markov-Kette Schnittstelle des Analysewerkzeuges Zusammenfassung Architektur und Realisierung des Analysewerkzeuges Technologien SNAKES Mako Probabilistic Symbolic Model Checker Konzept, Entwurf und Komponenten Arbeitsablauf des Analysewerkzeuges Erweiterungen Zusammenfassung Analyse Analyseverfahren und Voraussetzungen Systemmodell des adgsv-rahmenwerkes Dynamic Voting-Verfahren Dynamic Grid Protocol-Verfahren

8 5.4 Direkter Vergleich der Verfahren Heterogenes dynamisches Verfahren Zusammenfassung Zusammenfassung und Ausblick 70 Literaturverzeichnis 72 A Handbuch 76 A.1 Installation A.1.1 Systemvoraussetzungen A.1.2 Installation A.2 Spezifikation der Petri Netze A.2.1 Mako-Template A.2.2 Plätze erstellen A.2.3 Tokenabfrage A.2.4 Transitionen erstellen A.2.5 Aktivität der Transitionen A.2.6 Kanten erstellen A.2.7 Analyse von Markierungswahrscheinlichkeiten A.2.8 Beispiel Petri Netz A.3 SNAKES Ripley Extension A.3.1 NetControl A.3.2 Petri Netze laden A.3.3 Feuern von Petri Netzen A.3.4 Erreichbarkeitsgraph A.3.5 Markov-Kette A.3.6 Ausgabe von Informationen über das Petri Netz

9 Abbildungsverzeichnis 2.1 Basiselemente eines Petri Netzes Ein einfaches Petri Netz Inhibitor-Kante Der Erreichbarkeitsgraph zu dem Petri Netz aus Abb Ein Zustandsübergangsgraph einer Markov-Kette Graphische Darstellung zeitbehafteter und direkter Transitionen Ein einfaches generalisiertes stochastisches Petri Netz Erreichbarkeitsgraph und der reduzierte Erreichbarkeitsgraph Schematische Darstellung des Analysewerkzeuges Schematische Darstellung der Komponente Nets Semantisch äquivalentes Petri Netz mit Inhibitor-Kanten und markierungsabhängigen Kantenkardinalitäten Modulare Erweiterung der Komponente Nets durch SPN Modulare Erweiterung der Komponente Nets durch GSPN Precompiler mit zwei unterstützten Eingabeformaten Analysistool mit zwei spezifischen Analysen Klassendiagramm des Analysewerkzeuges Modularer Aufbau des Analysewerkzeuges Klassendiagramm der generellen Erweiterungen des Analysewerkzeuges Klassendiagramm der SPN Erweiterungen des Analysewerkzeuges Klassendiagramm der GSPN Erweiterungen des Analysewerkzeuges Float-Chart des Funktionsablauf des Analysewerkzeuges Systemmodell des adgsv-rahmenwerkes mit dem Dynamic Voting-Verfahren Graph der Zustandsanzahl des Erreichbarkeitsgraphen in Abhängigkeit der Prozessanzahl des DV-Verfahrens Graph der Zustandsanzahl der Markov Kette in Abhängigkeit der Prozessanzahl des DV-Verfahrens Graph der benötigten Zeit der Analyse des DV-Verfahrens in Abhängigkeit der Prozessanzahl Graph der Operationsverfügbarkeit einer Schreiboperation des DV-Verfahrens in Abhängigkeit der Prozessanzahl Graph der Zustandsanzahl des Erreichbarkeitsgraphen in Abhängigkeit der Prozessanzahl des Dynamic GP-Verfahrens Graph der Zustandsanzahl der Markov Kette in Abhängigkeit der Prozessanzahl des Dynamic GP-Verfahrens Graph der benötigten Zeit der Analyse des Dynamic GP-Verfahrens in Abhängigkeit der Prozessanzahl

10 5.9 Graph der Operationsverfügbarkeit einer Schreiboperation des Dynamic GP- Verfahrens in Abhängigkeit der Prozessanzahl Vergleich der Zustandsanzahl der Erreichbarkeitsgraphen in Abhängigkeit der Prozessanzahl Vergleich der Zustandsanzahl der Markov Ketten in Abhängigkeit der Prozessanzahl Vergleich der benötigten Zeit der Analysen in Abhängigkeit der Prozessanzahl Vergleich der Operationsverfügbarkeiten einer Schreiboperation in Abhängigkeit der Prozessanzahl Graph der Zustandsanzahl der Erreichbarkeitsgraphen mit 6 Prozessen Graph der Zustandsanzahl der Markov Ketten mit 6 Prozessen Graph der benötigten Zeit der Analysen mit 6 Prozessen Graph der Operationsverfügbarkeit einer Schreiboperation mit 6 Prozessen. 69 A.1 Ein Beispiel Netz

11 1 Einleitung Bei dem Umgang mit sensiblen Daten ist deren Verfügbarkeit ein wichtiger Aspekt. Ein Konzept zur Steigerung der Verfügbarkeit ist die Erzeugung von Kopien (Replikate) dieser Daten in einem verteilten System. Bei dem Konzept handelt es sich um die Datenreplikation mit strikten Quorum-Systemen [AA90, CAA90, Tho79, JM90, RL92]. Ein verteiltes System besitzt eine Menge voneinander unabhängigen Rechnern (Knoten), die in einem Netzwerk miteinander verbunden sind. Bei der Datenreplikation verwaltet jeder Knoten jeweils eine Kopie des sensiblen Datenobjekts. Diese Kopien werden durch ein Datenreplikationsschema verwaltet. Bei der Verwaltung der Kopien muss die Konsistenz des Datenobjekts bewahrt werden. Für die Erhaltung der Konsistenz sorgen die strikten Quorum-Systeme [HHB96], da diese ausschließen, dass konsistenz-verletzende Operationen nebenläufig ausgeführt werden können. Ein Quorum-System besteht aus zwei Teilmengen der Knotenmenge, und zwar der Lesequorum-Menge und der Schreibquorum-Menge, die die Eigenschaft haben, dass sich jede Schreibquorum-Menge mit jeder anderen Schreibquorum-Menge und jeder Lesequorum- Menge überschneidet. Die Überschneidung zweier Lesequorum-Mengen muss nicht gegeben sein. Jeder Knoten in einem Datenreplikationsschema besitzt eine Stimme, die abgegeben werden kann. Um zu signalisieren, dass ein Knoten der Ausführung einer Operation zustimmt, gibt dieser seine Stimme ab. Für die konkrete Ausführung einer Lese- oder Schreiboperation müssen alle Knoten aus einer Lesequorum- oder Schreibquorum-Menge zuvor einstimmig ihre Zustimmung signalisiert haben. Verschiedene Faktoren wie Auslastung, Kapazität, Verfügbarkeit, Skalierbarkeit und Operationskosten [NW98, JPPMAK03] stehen bei einem Quorum-System in einem Zielkonflikt zueinander, d.h. eine hohe Verfügbarkeit z.b. führt zu höheren Operationskosten. Jedes Schema der Datenreplikation bringt diese Faktoren in eine andere Balance zueinander. Es gibt kein Schema, das universell einsetzbar ist, da die Anforderungen an die Auslastung, Kapazität, Verfügbarkeit, Skalierbarkeit und Operationskosten je nach Anwendungsszenario unterschiedlich sind. Die Datenreplikationsschemen werden in unstrukturierte und strukturierte Schemen aufgeteilt. Basierend auf Kombinatorik und minimale Quorum-Kardinalitäten wird bei unstrukturierten Datenreplikationsschemen ein Quorum-System erstellt. Zu den unstrukturierten Schemen gehört z.b. das Majority Consensus Voting (MCV) [Tho79]. Die Menge der Knoten eines verteilten Systems werden bei den strukturierten Datenreplikationsschemen auf eine logische Struktur abgebildet. Basierend auf den Eigenschaften der Struktur wird das Quorum-System spezifiziert. Zu den strukturierten Schemen gehört z.b. das Grid Protocol (GP) [CAA90]. Datenreplikationsschemen können entweder statisch oder dynamisch [JM90, RL92] sein, d.h. es gibt statische unstrukturierte und strukturierte Schemen, sowie dynamische unstrukturierte und strukturierte Schemen. Das Quorum-System bei den statischen Schemen ist initial fest definiert, d.h. es kann danach nicht verändert werden. Dadurch besteht bei den 1

12 1 Einleitung statischen Datenreplikationsschemen nur eine beschränkte Möglichkeit auf Knotenausfälle in dem verteilten System reagieren zu können. Folglich existiert eine Grenze der Operationsverfügbarkeit [TP98]. Das Quorum-System bei dynamischen Datenreplikationsschemen kann konsistent angepasst werden. Dies sorgt bei einem geringen Kostenaufwand für einen Anstieg der Operationsverfügbarkeit. Die konsistente Anpassung des Quorum-Systems kann z.b. durch die Verwendung von Epochen [RL92] erfolgen. In einem dynamischen Datenreplikationsschema wird eine Regel definiert, die das Quorum- System abhängig von der Knotenzahl in dem verteiltes System anpasst. Ein solches dynamisches Schema wird als homogen bezeichnet. Besitzt ein dynamisches Datenreplikationsschema für jede mögliche Knotenzahl in dem verteilten System jeweils eine Regel zur Anpassung des Quorum-Systems, dann wird ein solches dynamisches Schema als heterogen bezeichnet. Dadurch können die speziellen Vor- und Nachteile der unstrukturierten und strukturierten Datenreplikationsschemen in einem heterogenen dynamischen Schema vereint werden. Für die Wahl eines optimalen Datenreplikationsschemas in Bezug auf das Anwendungsszenario ist eine sorgfältige Evaluation nötig. Die einfachste Form der Evaluation ist die Simulation. Die Simulation hat jedoch den Nachteil der hohen Zeitkomplexität und der simulationsbedingten Ungenauigkeit der Ergebnisse. Eine elegantere Art der Evaluation, die sehr schnell und exakt ist, basiert auf die stochastische Analyse. Bei dem Konzept der stochastischen Analyse unterscheidet sich das analytische Modell von dem Simulationsmodell durch den höheren Abstraktionsgrad. Dieser ist aufgrund der exponentiellen Eigenschaften nötig, da ansonsten das analytische Modell nicht lösbar ist. Analysen in Bezug auf die Verfügbarkeit bei statischen Datenreplikationsschemen können durch Lösen kombinatorischer Gleichungen einfach durchgeführt werden. Dynamische Datenreplikationsschemen sind schwierig zu analysieren, da die Komplexität des Modells in hohem Maße durch die Dynamik gesteigert wird. Für die Auswertung von dynamischen Schemen gibt es Ansätze [JM90, Pˆ86a, Pˆ86b, DC89, CW96a, CW96b, CWC04], deren Fokus jedoch auf homogene und unstrukturierte dynamische Verfahren liegt und darauf speziell zugeschnitten sind. Dadurch sind diese Ansätze nicht für andere Datenreplikationsschemen anwendbar. Um diese Einschränkung überwinden zu können gibt es einen neuen Ansatz zur analytischen Auswertung von strikten Quorum-basierten Datenreplikationsschemen, der auf die Verwendung von generalisierten stochastischen Petri Netzen (GSPN) basiert [ST09]. Dieser soll es ermöglichen homogene unstrukturierte und strukturierte, sowie heterogene unstrukturierte und strukturierte Datenreplikationsschemen zu analysieren. In dieser Diplomarbeit wird der Ansatz zur Analyse von heterogener dynamischer Datenreplikationsschemen basierend auf generalisierten stochastischen Petri Netzen und einigen Erweiterungen verfolgt. Für die adaptiv-dynamischen Datenreplikationsschemen (adaptabledynamic General Structure Voting) [ST06] wurde von Dipl.-Inform. Christian Storm ein Replikationsrahmenwerk (adgsv-rahmenwerk) [Sto06] entwickelt. Das Ziel dieser Arbeit ist der Entwurf und die Implementierung eines Analysewerkzeuges für das Systemmodell des adgsv-rahmenwerkes, um heterogene dynamische Datenreplikationsschemen auswerten zu können. Im Verlauf dieser Arbeit werden zunächst die Grundlagen der Petri Netze und deren Analyse erläutert. Danach wird die Konzeption des Analysewerkzeuges vorgestellt. In Kapitel 4 wird 2

13 auf die konkrete Implementierung, sowie die verwendeten Technologien, eingegangen. Die Analyse und Testergebnisse werden im 5. Kapitel aufgeführt. Abschließend erfolgt eine Zusammenfassung und es wird ein Ausblick gegeben. 3

14 2 Grundlagen über Petri Netze Für einen besseren Zugang in die Thematik dieser Arbeit wird in diesem Kapitel eine kleine Einführung in das Themengebiet der Petri Netze gegeben, die in Zusammenarbeit mit Dipl.-Inform. Christian Storm ausgearbeitet wurde. Zunächst erfolgt die Definition von Petri Netzen und eine Erläuterung des Erreichbarkeitsgraphen. Darauf wird auf den Faktor Zeit in Petri Netzen eingegangen. Dabei werden im Einzelnen stochastische Petri Netze und generalisierte stochastische Petri Netze betrachtet. Zuletzt folgt die Definition von Markov-Ketten. 2.1 Petri Netze Eine Petri Netz Struktur [Bau96, Sta80] besteht aus einer Menge von Stellen (Places), einer Menge von Übergängen (Transitions), einer Input-Funktion und einer Output-Funktion. Die Verbindungen zwischen Places und Transitionen wird mit den Input- und Output- Funktionen beschrieben. Die Verknüpfung zwischen einer Transition und den Output-Places der Transition wird durch die Input-Funktion abgebildet. Die Output-Funktion bildet die Verknüpfung zwischen einem Place und den Transitionen, bei denen der Place als Input definiert ist, ab. Definition (Petri Netz Struktur) Eine Petri Netz Struktur mit Places, Transitionen und Kanten ist ein 4-Tupel P NS = (P, T, I, O), bei dem folgendes gilt: P = {p 1,..., p n } Menge von n Places T = {t 1,..., t m } Menge von m Transitionen mit P T = I : T P N definiert eingehende Kanten und deren Kardinalität O : P T N definiert ausgehende Kanten und deren Kardinalität Die zugehörige graphische Darstellung, der sogenannte Petri Netz Graph, ist ein bipartiter und gerichteter Graph. Dieser besteht aus Places, Transitionen und gerichteten Kanten. Die Eingangs- und Ausgangskanten verbinden die Places mit den Transitionen. Dabei ist zu beachten, dass es keine direkte Verbindung zwischen zwei Places oder zwei Transitionen gibt. Besitzen alle Kanten eines Petri Netz Graphen eine Kardinalität von eins, wird dieser als ordinär bezeichnet. Existieren andernfalls Kanten mit einer Kardinalität größer als eins in einem Petri Netz Graphen, dann wird dieser als nicht ordinär bezeichnet. Ein weiteres Basiselement von Petri Netzen sind Marken (Token). Ein Place kann eine beliebige Anzahl an Token besitzen. Eine Markierung M : P N ist eine Zuordnungsfunktion von Token zu den Places einer Petri Netz Struktur. Bei einer gegebenen Markierung M gibt M(p) die Anzahl der Token von dem Place p P in dieser Markierung wieder. Zum Beispiel bedeutet M(p) = k, dass sich bei der Markierung M in dem Place p die Anzahl 4

15 2.1 Petri Netze von k Token befindet. Eine Markierung kann auch als ein P -vektor (M(p 1 ),... M(p n )) betrachtet werden. Stellen (Places) Übergänge (Transitionen) Marken (Token) Eingehende Kante einer Transition Ausgehende Kante einer Transition Abbildung 2.1: Basiselemente eines Petri Netzes Petri Netze können in graphischer Form dargestellt werden. Die graphische Darstellung, der zuvor erläuterten Basiselemente eines Petri Netzes, wird in Abbildung 2.1 gezeigt. Definition (Petri Netz) Eine Petri Netz Struktur, die eine Startmarkierung M 0 besitzt, wird als Markiertes Petri Netz oder kurz Petri Netz bezeichnet und ist ein 5-Tupel P N = (P, T, I, O, M 0 ), bei dem folgendes gilt: P = {p 1,..., p n } Menge von n Places T = {t 1,..., t m } Menge von m Transitionen mit P T = I : T P N definiert eingehende Kanten und deren Kardinalität O : P T N definiert ausgehende Kanten und deren Kardinalität M 0 N P definiert die Startmarkierung Petri Netze sind graphische Modelle, die nützlich sind, um nebenläufiges, asynchrones oder nichtdeterministisches Verhalten zu modellieren [Bau96, Sta80]. Abbildung 2.2 zeigt die Darstellung eines einfachen Petri Netzes. 5

16 2 Grundlagen über Petri Netze Definition (Vor- und Nachbereich einer Transition) Bei einer Transition t T gilt folgendes: t = {p (t, p) I} Menge von Input-Places der Transition t (Vorbereich, Preset) t = {p (p, t) O} Menge von Output-Places der Transition t (Nachbereich, Postset) Definition (Vor- und Nachbereich eines Place) Bei einem Place p P gilt folgendes: p = {t (t, p) I} Menge von Input-Transitionen des Places p (Vorbereich, Preset) p = {t (p, t) O} Menge von Output-Transitionen des Places p (Nachbereich, Postset) P1 t1 P3 P2 t2 t3 P4 Abbildung 2.2: Ein einfaches Petri Netz Die Schaltbereitschaft einer Transition, d.h. die Transition kann feuern, ist gegeben, wenn diese aktiviert ist. Eine Transition t heißt aktiviert, wenn p t : M(p) O(p, t). Dies bedeutet, dass in jedem Input-Place p der Transition t die Anzahl der Token größer oder gleich der Kardinalität der Kante zwischen dem Place p und der Transition t ist. Eine Transition t kann schalten (feuern), wenn diese aktiviert ist. Beim Feuern wird zunächst in jedem Input-Place p i t, gemäß der jeweiligen Kantenkardinalität, die geforderte Anzahl der Token entfernt. Danach wird jedem Output-Place p o t, gemäß der Kantenkardinalität, Token hinzugefügt. Wird in einer Markierung M eine Transition t gefeuert, entsteht eine neue Markierung M. Folgendes gilt: M = M + O(t) I(t), wobei O(t) kurz für (M(p 1 ),..., M(p n )) mit p i t steht und I(t) kurz für (M(p 1 ),..., M(p n )) mit p i t. Eine noch kompaktere Form von M = M + O(t) I(t) ist M [t M. Werden 6

17 2.1 Petri Netze mehrere schaltende Transitionen benötigt, um von einer Markierung M in eine Markierung M zu gelangen M [t 1,..., t n M, dann wird das sequentielle Feuern der Transitionen σ = t 1,..., t n als Feuersequenz bezeichnet. Es gelten folgende Eigenschaften beim Feuern von Transitionen: ˆ t T M, M, M N P : M [t M M [t M M = M ˆ t T M, M, M N P : M [t M M + M [t M + M ˆ M 1 [t M 2 [t M 3 M 1 [t M 4 [t M 5 M 3 = M 5 ˆ t, t T M N P : M [t M [t M [tt, d.h. aktivierte Transitionen können, ohne dass sie feuern, deaktiviert werden. Z.B. die nicht gewählte Transition bei zwei aktivierten Transitionen. ˆ M 1, M 2, M 3 N P σ 1, σ 2 T : M 1 [σ 1 M 2 M 1 [σ 2 M 3 M 4 N P σ 3, σ 4 T : M 2 [σ 3 M 4 M 3 [σ 4 M 4, d.h. nach dem Feuern σ 1 sind einige Zustände erreichbar, aber nach dem Feuern σ 2 sind diese wahrscheinlich nicht länger erreichbar und es existieren dabei keine Transitionen, die dies rückgängig machen können. Hat eine Transition t keine Input-Places t =, dann wird diese als Quell-Transition (Source-Transition) bezeichnet. Eine Quell-Transition ist ohne Bedingungen aktiviert und erzeugt Token. Eine Transition t ohne jeglichen Output-Place t = wird als Verbrauch- Transition (Sink-Transition) bezeichnet, die Token nur verbraucht und keine erzeugt. Transitionen besitzen folgende generelle Eigenschaften: ˆ Der Zustand nach dem Feuern einer Transition hängt nur vom vorigen Zustand ab. ˆ Ist die Möglichkeit gegeben, dass einige Transitionen in zufälliger Reihenfolge Feuern können, dann ist das Resultat unabhängig von der Reihenfolge wie die Transitionen gefeuert werden. ˆ Wenn eine Transition in einem gegebenen Zustand feuern kann, dann kann diese auch in größeren Zuständen feuern, d.h. in Zuständen, in denen die Input-Places mehr als die geforderte Anzahl an Token besitzen. ˆ Besitzt eine Transition keine Input-Places, dann ist diese immer aktiviert und kann feuern. ˆ Besitzt eine Transition keine Output-Places, dann werden bei deren Schaltung keine Token erzeugt Inhibitor-Kanten Inhibitor-Kanten [Bau96, Sta80] bieten die Möglichkeit zu testen, ob Places leer sind, d.h. eine Markierung von Null haben. Die normalen Kanten eines Petri Netzes bieten diese Möglichkeit im Allgemeinen nicht. Das Konzept der Inhibitor-Kanten ist eine wichtige Erweiterung für die Modellierungsmöglichkeiten von Petri Netzen, und zwar zur Turing-Mächtigkeit [Pet81]. Daraus resultiert, dass Probleme wie Lebendigkeit (Liveness) und Beschränktheit 7

18 2 Grundlagen über Petri Netze (Boundedness) nicht lösbar werden. Die graphische Darstellung einer Inhibitor-Kante wird in Abbildung 2.3 gezeigt. Inhibitor-Kante einer Transition Abbildung 2.3: Inhibitor-Kante Definition (Petri Netz mit Inhibitor-Kanten) Ein Petri Netz mit Inhibitor-Kanten ist ein 6-Tupel P N = (P, T, I, O, H, M 0 ), bei dem folgendes gilt: P = {p 1,..., p n } Menge von n Places T = {t 1,..., t m } Menge von m Transitionen mit P T = I : T P N definiert eingehende Kanten und deren Kardinalität O : P T N definiert ausgehende Kanten und deren Kardinalität H : T P N definiert Inhibitor-Kanten und deren Kardinalität M 0 N P definiert die Startmarkierung Mit t = {p (t, p) H} wird bei einer gegebenen Inhibitor-Kante t H die Menge an Inhibition-Places der Transition t T beschrieben. Durch das Hinzufügen von Inhibitor- Kanten verändern sich die Bedingungen für das Aktivieren einer Transition t folgendermaßen: 1. p t : M(p) O(p, t), d.h. in jedem Input-Place p der Transition t ist die Anzahl der Token größer oder gleich der Kardinalität der Kante zwischen dem Place p und der Transition t. 2. p T : M(p) < H(t, p), d.h. in jedem Inhibition-Place p der Transition t ist die Anzahl der Token kleiner als die Kardinalität der Inhibitor-Kante zwischen dem Place p und der Transition t Transitionsprioritäten Das nichtdeterministische Verhalten des Feuerns von Petri Netzen kann durch die Einführung von Transitionsprioritäten sequentialisiert werden [Bau96, Sta80]. Es ist möglich dieselbe Priorität bei verschiedenen Transitionen zu verwenden, dabei wird eine Prioritätsmenge gebildet. Innerhalb einer Prioritätsmenge ist das Feuerverhalten wiederum nichtdeterministisch. Eine partielle Ordnung der Transitionen wird anhand der Prioritätsmengen definiert, in der die Menge mit dem höchsten Prioritätswert als erstes berücksichtigt wird. Die Prioritäten sind so gestaffelt, dass Null die niedrigste Priorität ist und die höchste Priorität. 8

19 2.1 Petri Netze Definition (Petri Netz mit Inhibitor-Kanten und Transitionsprioritäten) Ein Petri Netz, welches Inhibitor-Kanten und Transitionsprioritäten besitzt, ist ein 7-Tupel P N = (P, T, I, O, H, S, M 0 ), bei dem folgendes gilt: P = {p 1,..., p n } Menge von n Places T = {t 1,..., t m } Menge von m Transitionen mit P T = I : T P N definiert eingehende Kanten und deren Kardinalität O : P T N definiert ausgehende Kanten und deren Kardinalität H : T P N definiert Inhibitor-Kanten und deren Kardinalität S : T N definiert Transitionsprioritäten M 0 N P definiert die Startmarkierung Durch das Hinzufügen von Transitionsprioritäten verändern sich die Bedingungen für das Aktivieren einer Transition t folgendermaßen: 1. p t : M(p) O(p, t), d.h. in jedem Input-Place p der Transition t ist die Anzahl der Token größer oder gleich der Kardinalität der Kante zwischen dem Place p und der Transition t. 2. p T : M(p) < H(t, p), d.h. in jedem Inhibition-Place p der Transition t ist die Anzahl der Token kleiner als die Kardinalität der Inhibitor-Kante zwischen dem Place p und der Transition t. 3. u T : [ q u : M(q) O(q, u)] [ q u : M(q) > H(u, q)] [S(u) > S(t)], d.h. keine Transition u ist mit einer höheren Priorität aktiviert Erreichbarkeitsmenge und Erreichbarkeitsgraph Es ist möglich ausgehend von der Anfangsmarkierung M 0 die Menge aller erreichbaren Markierungen eines Petri Netzes und die dazugehörigen Wege zu berechnen [MBC + 95]. Eine bestimmte Markierung M eines Petri Netzes P N wird auch als Zustand (State) bezeichnet und die Menge aller Markierungen eines Petri Netzes P N als Zustandsraum (State Space). Wichtig ist der Begriff Erreichbarkeit. Wenn ausgehend von Anfangsmarkierung M 0 durch das Schalten einer oder mehrerer Transitionen eine andere Markierung M x erreicht wird, dann heißt es M x ist von M 0 erreichbar. Definition (Erreichbarkeitsmenge) Die Erreichbarkeitsmenge eines Petri Netzes mit einer Anfangsmarkierung M 0 wird als RS(M 0 ) bezeichnet, bei der folgendes gilt: ˆ M 0 RS(M 0 ) definiert die kleinste Menge von Markierungen ˆ M 1 RS(M 0 ) t T : M 1 [t M 2 M 2 RS(M 0 ) d.h., wenn die Markierung M 1 von M 0 aus erreichbar ist, dann ist die, nach dem Feuern einer Transition t in der Markierung M 1, resultierende Markierung M 2 ebenfalls von M 0 aus erreichbar 9

20 2 Grundlagen über Petri Netze Im weiteren Verlauf steht die Erreichbarkeitsmenge RS kurz für RS(M 0 ). Erreichbarkeitsmengen, die ausgehend von einer erzeugten Markierung und nicht der Anfangsmarkierung berechnet werden, werden mit RS(M) bezeichnet. Der Algorithmus zur Berechnung der Erreichbarkeitsmenge eines Petri Netzes ist simpel aufgebaut. Die Erreichbarkeitsmenge, die zu Anfang nur die Startmarkierung M 0 beinhaltet, wird inkrementell erzeugt. Neue Markierungen werden iterativ der Erreichbarkeitsmenge hinzu addiert, indem eine bereits vorhandene Markierung M aus RS gewählt wird und alle von M aus direkt erreichbaren Markierungen der Erreichbarkeitsmenge hinzugefügt werden. Eine bereits berücksichtigte Markierung M muss späteren Iterationen nicht mehr gewählt werden. Weiter ist zu beachten, dass eine mehrfach erreichbare Markierung M nur einmal zu der Erreichbarkeitsmenge hinzugefügt wird, d.h. jede erreichbare Markierung M existiert nur einmal in RS. Nur bei einer endlichen Erreichbarkeitsmenge, kann der Algorithmus terminieren. Die Tabelle 2.1 zeigt die Erreichbarkeitsmenge zu dem Petri Netz von der Abbildung 2.2. Markierung P1 P2 P3 P4 M M M Tabelle 2.1: Erreichbarkeitsmenge des Petri Netzes aus Abb. 2.2 Die Erreichbarkeitsmenge RS beinhaltet lediglich alle erreichbaren Markierungen eines Petri Netzes P N. Es fehlen Informationen über die Feuersequenzen der Transitionen von P N, wie jede Markierung M aus RS erreicht wird. Der Erreichbarkeitsgraph, dessen Knoten die erreichbaren Markierungen sind und die Kanten die jeweiligen Markierungen verbindet, beinhaltet diese Informationen [MBC + 95]. Eine Markierung M und deren, durch das Feuern einer Transition t, direkt erreichbare Folgemarkierung M werden durch eine Kante verbunden. Die Kante erhält eine Beschriftung, die die gefeuerte Transition t darstellt. Definition (Erreichbarkeitsgraph) Bei einem gegebenen Petri Netz P N und dessen Erreichbarkeitsmenge RS wird als Erreichbarkeitsgraph RG(M 0 ) ein gerichteter beschrifteter Multigraph bezeichnet, dessen Menge an Knoten RS ist und dessen Menge an Kanten A folgendermaßen definiert ist: A RS RS T Menge von Kanten M i, M j, t A M i [t M j d.h. eine Kante verbindet eine Markierung M i mit der, durch das Feuern der Transition t, direkt erreichbaren Markierung M j Als Startknoten des Erreichbarkeitsgraph wird M 0 verwendet. Der Algorithmus zur Erzeugung des Erreichbarkeitsgraphen arbeitet ähnlich wie der Algorithmus zur Erzeugung der Erreichbarkeitsmenge. Der einzige Unterschied ist das zusätzliche Hinzufügen der Kanten, die die jeweiligen Markierungen miteinander verbinden. Bei jeder 10

21 2.2 Zeitbehaftete Petri Netze Iteration und jeder erreichten Markierung fügt der Algorithmus jeweils eine Kante als Tripel M i, M j, t der Menge A hinzu. Wenn die Erreichbarkeitsmenge nicht endlich ist, dann ist der Erreichbarkeitsgraph ebenfalls nicht endlich. Aber durch Abstraktion kann der Erreichbarkeitsgraph ω-endlich gemacht werden. Abbildung 2.4 zeigt den Erreichbarkeitsgraphen zu dem Petri Netz aus Abbildung 2.2 und der Erreichbarkeitsmenge aus Tabelle 2.1. M0 M1 M2 t1 t2 t3 Abbildung 2.4: Der Erreichbarkeitsgraph zu dem Petri Netz aus Abb Zeitbehaftete Petri Netze Die in Kapitel 2.1 beschriebenen Petri Netze berücksichtigen nicht den Faktor Zeit in einem modellierten System. Um mit Petri Netzen eine quantitative Analyse der Performance und der Zuverlässigkeit eines Systems durchzuführen, muss ein Zeitkonzept hinzugefügt werden. Es gibt verschiedene Möglichkeiten Zeit einzubringen: ˆ Zeitbehaftete Transitionen ˆ Zeitbehaftete Plätze ˆ Zeitbehaftete Marken ˆ Zeitbehaftete Kanten Der Fokus liegt hierbei auf den Ansatz der zeitbehafteten Transitionen. Die Art des Zeitfortschritts kann grob eingeteilt werden in[bau96, MBC + 95]: ˆ Deterministisch (konstante Schaltdauer): Eine Konstante (> 0), die die Zeit zwischen der Aktivierung und der Schaltung angibt, wird jeder Transition zugeordnet. ˆ Deterministisch (Minimale und maximale Schaltdauer): Ein Zeitintervall [a, b] wird jeder Transition zugeordnet. Vor dem Schalten muss eine Transition mindestens a Zeiteinheiten und maximal b Zeiteinheiten aktiviert sein. ˆ Stochastisch (zufällige Schaltdauer): Eine Zufallsvariable, die exponentialverteilt ist, wird jeder Transition zugeordnet. Die exponentialverteilte Zufallsvariable gibt die Zeit zwischen der Aktivierung und der Schaltung an. Es können prinzipiell auch andere Verteilungsfunktionen genutzt werden. 11

22 2 Grundlagen über Petri Netze Diese Arbeit konzentriert sich auf das stochastische Zeitkonzept. In den folgenden Abschnitten werden die stochastischen Petri Netze und die generalisierten stochastischen Petri Netze, die eine Erweiterung der stochastischen Petri Netze sind, erläutert Stochastische Petri Netze Stochastische Petri Netze (SPN) [Mar90, MBC + 95] sind Petri Netze, die mit zeitbehafteten Transitionen erweitert wurden. Jede Transition erhält eine sogenannte Schaltrate. Zusammen mit der Schaltrate einer Transition t und der exponentialverteilten Zufallsvariable kann die Schaltdauer, die Dauer zwischen der Aktivierung und der Schaltung, berechnet werden. Definition (Stochastisches Petri Netz) Ein stochastisches Petri Netz mit zeitbehafteten Transitionen ist ein 7-Tupel SP N = (P, T, I, O, H, Λ, M 0 ), bei dem folgendes gilt: P = {p 1,..., p n } Menge von n Places T = {t 1,..., t m } Menge von m Transitionen mit P T = I : T P N definiert eingehende Kanten und deren Kardinalität O : P T N definiert ausgehende Kanten und deren Kardinalität H : T P N definiert Inhibitor-Kanten und deren Kardinalität Λ = (λ 1,..., λ m ) Menge von m Schaltraten, die in Verbindung mit den Transitionen stehen M 0 N P definiert die Startmarkierung Zur konkreten Berechnung der Schaltdauer einer Transition t wird die zu t gehörende Schaltrate λ und eine Zufallsvariable x mit einer Exponentialverteilung benötigt [Mar90]. Die Verteilungsfunktion lautet F (x) = 1 e λx und die dazugehörige Inverse ist F 1 (x) = 1 ln(1 x). Die inverse Verteilungsfunktion berechnet Schaltverzögerungen R > 0 λ [WL84]. Stochastische Petri Netze funktionieren so, dass wenn eine Markierung M erreicht wurde, für jede aktivierte Transition t in M anhand der jeweils zugehörigen Schaltrate λ die Schaltdauer für jede Transition t berechnet wird [Mar90, MBC + 95]. Die Transition mit der niedrigsten Schaltdauer wird dann gefeuert und es wird eine neue Markierung M erreicht. Daraus resultiert, dass die Aufenthaltsdauer in einer Markierung M äquivalent zu der niedrigsten Schaltdauer ist. E(M j ) sei die Menge der Transitionen, die in der Markierung M j aktiviert sind, dann ist die Aufenthaltsdauer der Markierung M j mit der Rate λ(m j ) = i:t i E(M j ) λ i(m j ) verteilt und die Wahrscheinlichkeit, dass die Transition t k in der Markierung M j feuert ist P {t k M j } = λ k(m j ) λ(m j ). Die Erreichbarkeitsmenge und der Erreichbarkeitsgraph eines stochastischen Petri Netzes sind identisch mit der Erreichbarkeitsmenge und des Erreichbarkeitsgraphen des grundlegenden zeitlosen Petri Netzes [Mar90]. Die Berechnung der Schaltdauer ergibt nicht-negative reelle Zahlen. Dies garantiert dafür, dass in jeder erreichbaren Markierung alle aktivierten Transitionen eine nicht-negative Schaltwahrscheinlichkeit haben. Die Äquivalenz der 12

23 2.2 Zeitbehaftete Petri Netze Erreichbarkeitsmengen und der Erreichbarkeitsgraphen implizieren, dass die strukturellen Eigenschaften für das grundlegende zeitlose Petri Netz ebenfalls für das stochastische Petri Netz gelten. Markov-Kette Eine Markov-Kette [GS06, Bau91] ist ein stochastischer Prozess, der aus einer endlichen Menge an Zuständen und einer Matrix mit den Übergangswahrscheinlichkeiten zwischen den Zuständen besteht. Es gibt Markov-Ketten mit einem diskreten und einem stetigen Zeitfortschritt. Markov-Ketten mit einem stetigen Zeitfortschritt werden auch als Markov- Prozesse bezeichnet. Der Fokus liegt hier auf Markov-Ketten mit stetigem Zeitfortschritt. Definition (Markov-Kette) Eine Markov-Kette ist ein 2-Tupel M = (S, P ), bei dem folgendes gilt: S = {s 1,..., s n } Menge von n Zuständen P : S S i, j S : 0 P ij 1 j P ij = 1 definiert die Übergangsmatrix mit den Wahrscheinlichkeiten zwischen den Zuständen Mit i, j S ist P ij als Wahrscheinlichkeit zu interpretieren, dass die Markov-Kette M von dem Zustand i in den Zustand j übergeht. Eine Markov-Kette kann graphisch als ein Zustandsübergangsgraph dargestellt werden. Die Knoten des Graphen sind die Zustände der Markov-Kette und die Kanten verbinden die jeweiligen Zustände miteinander. Die Kanten besitzen als Beschriftung die jeweilige Übergangswahrscheinlichkeit zwischen den einzelnen Zuständen. Abbildung 2.5 zeigt ein Beispiel für einen Zustandsübergangsgraph einer Markov-Kette mit vier Zuständen. s1 s4 1 1/2 1/2 1/2 1/2 1/2 s2 1/2 s3 Abbildung 2.5: Ein Zustandsübergangsgraph einer Markov-Kette Markov-Ketten lassen sich quantitativ auswerten [GS06]. Ein stochastisches Petri Netz ist äquivalent zu einer Markov-Kette (Markov-Prozess) [Mar90, MBC + 95]. Der Zustandsraum 13

24 2 Grundlagen über Petri Netze einer Markov-Kette ist isomorph zu der Erreichbarkeitsmenge eines stochastischen Petri Netzes. Des Weiteren entspricht der Zustandsübergangsgraph dem Erreichbarkeitsgraphen und die Übergangswahrscheinlichkeiten den Schaltraten. Somit kann das stochastische Petri Netz ebenfalls quantitativ validiert werden Generalisierte stochastische Petri Netze Die Modellierung komplexer System mit stochastischen Petri Netzen birgt den Nachteil, dass Logik-Strukturen, die keinen Einfluss auf die Zeit haben und nur im konzeptionellen Sinne benötigt werden, mit zeitbehafteten Transitionen modelliert werden müssen. Dies erschwert unnötig die spätere Analyse. Das Konzept der generalisierten stochastischen Petri Netze (GSPN) wirkt diesem Problem entgegen. Generalisierte stochastische Petri Netze [Mar90, MBC + 95] beinhalten zwei Arten von Transitionen und sind eine Erweiterung der stochastischen Petri Netze. Die beiden Arten der Transitionen sind folgende: ˆ Zeitbehaftete (timed) Transitionen, die eine zufällige Schaltdauer, wie bei den stochastischen Petri Netzen, besitzen. ˆ Direkte (immediate) Transitionen, die zeitlos sind und eine höhere Priorität als zeitbehaftete Transitionen haben. Zusätzlich besitzen direkte Transitionen ein Gewicht für den Fall, dass ein Konflikt zwischen mehreren aktivierten direkten Transitionen besteht. Bei einem solchen Konflikt wird mit Hilfe des Gewichts die Schaltwahrscheinlichkeit der Transitionen berechnet. Die direkten Transitionen können anstatt der zeitbehafteten Transitionen zur Logik-Modellierung verwendet werden. Die Abbildung 2.6 zeigt die graphische Darstellung der beiden Transitionsarten. Zeitbehaftete Transitionen Direkte Transitionen Abbildung 2.6: Graphische Darstellung zeitbehafteter und direkter Transitionen Definition (Generalisiertes stochastisches Petri Netz) Ein generalisiertes stochastisches Petri Netz ist ein 8-Tupel P N = (P, T, I, O, H, S, M 0, W ), bei dem folgendes gilt: P = {p 1,..., p n } Menge von n Places T = {t 1,..., t m } Menge von m Transitionen mit P T = I : T P N definiert eingehende Kanten und deren Kardinalität O : P T N definiert ausgehende Kanten und deren Kardinalität H : T P N definiert Inhibitor-Kanten und deren Kardinalität 14

25 2.2 Zeitbehaftete Petri Netze S : T N definiert Transitionsprioritäten mit der niedrigsten Priorität (0) für zeitbehaftete Transitionen und höheren Prioritäten ( 1) für direkte Transitionen M 0 N P definiert die Startmarkierung W = (w 1,..., w m ) Menge, dessen Eintrag w i ˆ die Schaltrate ist, falls t i eine zeitbehaftete Transition ist ˆ das Gewicht ist, falls t i eine direkte Transition ist Die Funktionsweise von generalisierten stochastischen Petri Netzen ähnelt der von stochastischen Petri Netzen [Mar90]. Wird eine Markierung M erreicht in der ausschließlich zeitbehaftete Transitionen aktiviert sind, dann Schalten die Transitionen in M wie in Kapitel beschrieben. Eine solche Markierung M wird als eine zeitbehaftete (tangible) Markierung bezeichnet. Wenn eine Markierung M erreicht wird, in der zumindest eine direkte Transition t aktiviert ist, dann wird M als eine zeitlose (vanishing) Markierung bezeichnet. In einer zeitlosen Markierung M wird als erstes die Menge der Transitionen mit der höchsten Priorität ermittelt. Ist in dieser Menge nur eine Transition, dann schaltet diese sofort. Existieren mehrere Transitionen in dieser Menge, dann wird mit Hilfe des Gewichts die Wahrscheinlichkeit ermittelt, welche Transition aus der Menge schaltet. P1 t1 P3 P2 t2 t3 P4 Abbildung 2.7: Ein einfaches generalisiertes stochastisches Petri Netz E(M j ) sei die Menge der direkten Transitionen mit der höchsten Priorität, die in der Markierung M j aktiviert sind, dann ist in der Markierung M j das Gewicht der direkten Transitionen mit w(m j ) = i:t i E(M j ) w i verteilt und die Wahrscheinlichkeit, dass die direkte Transition t k in der Markierung M j feuert ist P {t k M j } = w k w(m j ). 15

26 2 Grundlagen über Petri Netze Es ist zu beachten, dass direkte Transitionen eine höhere Priorität als zeitbehaftete Transitionen haben, d.h. wenn in einer Markierung M gleichzeitig zeitbehaftete und direkte Transitionen aktiviert sind, dann schaltet immer eine direkte Transition. Abbildung 2.7 zeigt ein Beispiel für ein generalisiertes stochastisches Petri Netz. Der Algorithmus zur Erzeugung der Erreichbarkeitsmenge und des Erreichbarkeitsgraphen eines generalisierten stochastischen Petri Netzes ähnelt dem in Kapitel beschriebenen Algorithmus. Der Unterschied besteht in der Einhaltung der Schalteigenschaften der beiden Transitionsarten bei generalisierten stochastischen Petri Netzen, sprich die höhere Priorität der direkten Transitionen gegenüber der zeitbehafteten Transitionen. Nachdem die Erreichbarkeitsmenge und der Erreichbarkeitsgraph erzeugt wurden, besitzen diese zeitlose und zeitbehaftete Markierungen. Die zeitlosen Markierungen werden aus dem Zustandsraum entfernt, sodass dieser nur noch zeitbehaftete Markierungen zur Analyse besitzt. Somit werden die Logik-Strukturen, die lediglich für konzeptionelle Zwecke benötigt wurden, für die Analyse entfernt. Die Erreichbarkeitsmenge und der Erreichbarkeitsgraph ähneln dadurch denen eines stochastischen Petri Netzes. In Abbildung 2.8 wird der Erreichbarkeitsgraph (links) von dem generalisierten stochastischen Petri Netz aus Abbildung 2.7 gezeigt und das Ergebnis des Erreichbarkeitsgraphen (rechts) nach dem Entfernen der zeitlosen Markierungen. zeitlos M0 M1 M2 t1 t2 M0 t1 M2 t3 t3 (a) Erreichbarkeitsgraph (b) Zeitlose Markierung wurde eleminiert Abbildung 2.8: Erreichbarkeitsgraph und der reduzierte Erreichbarkeitsgraph 2.3 Zusammenfassung In diesem Kapitel wurden Standard Petri Netze, sowie zeitbehaftete Petri Netze vorgestellt. Zu den zeitbehafteten Petri Netzen gehören die stochastischen Petri Netze und die generalisierten stochastischen Petri Netze. Die SPNs und die GSPNs können anhand deren Erreichbarkeitsgraphen und die daraus resultierenden Markov-Ketten analysiert werden. Generalisierte stochastische Petri Netze haben den Vorteil, dass Logik-Strukturen mit direkten Transitionen modelliert werden können, die bei der späteren Analyse wieder entfernt werden können. Dadurch bietet sich das Konzept der generalisierten stochastischen Petri Netz hervorragend als Basis des Analysewerkzeuges an. 16

27 2.3 Zusammenfassung Das folgende Kapitel stellt die Konzeption des Analysewerkzeuges für das Systemmodell des adaptiv-dynamischen Replikationsrahmenwerkes adgsv vor. Die benötigten Komponenten, sowie deren Funktion, werden erläutert. 17

28 3 Konzeption des Analysewerkzeuges Das Analysewerkzeug stellt ein Toolkit dar, dass die Möglichkeit bietet Petri Netze zu erstellen und zu analysieren. Je nach Aufgabenbereich kann das Toolkit angepasst und erweitert werden. Es können die Basiselemente der Petri Netze erweitert werden, neue Elemente für andere Petri Netz Typen (SPN, GSPN, usw.) hinzugefügt werden und der Algorithmus zur Analyse der Petri Netze kann erweitert oder ausgetauscht werden. In diesem Kapitel wird die Konzeption des Analysewerkzeuges vorgestellt. Zunächst wird der generelle Aufbau und die Funktionen des Toolkits erläutert. In dem Kapitel 3.2 werden einfache Petri Netze und grundlegende Erweiterungen beschrieben. Die im Rahmen dieser Arbeit nötigen Erweiterungen (der Faktor Zeit) von den Standard Petri Netzen werden im weiteren Verlauf des Kapitels 3.2 behandelt. Zuletzt wird die Analyse der Petri Netze und die zentrale Schnittstelle betrachtet. 3.1 Aufbau des Analysewerkzeuges Als Analysewerkzeug wird das gesamte Toolkit bezeichnet, dass die Möglichkeit bietet Petri Netze zu definieren, Schaltvorgänge im Petri Netz zu simulieren, sowie die Erreichbarkeitsmenge und den Erreichbarkeitsgraphen eines Petri Netzes zu erzeugen, um diese zu analysieren. Folgende Komponenten stehen zur Verfügung, um diese Anforderungen zu erfüllen: ˆ Die Komponente zur Spezifikation und zum Registrieren von Petri Netzen (Precompiler) ˆ Die Komponente mit den Basiselementen der Petri Netze und den Mechanismen für die Schaltvorgänge (Nets) ˆ Die Komponente zur Erzeugung der Erreichbarkeitsmenge und des Erreichbarkeitsgraphen eines Petri Netzes (State Graph Explorator) ˆ Die Komponente zur Analyse der Petri Netze (Analysistool) ˆ Die Komponente zur einfachen Anbindung an das adgsv-rahmenwerk (Interface) Detailliertere Ausführungen zu den jeweiligen Komponenten des Analysewerkzeuges sind in den nachfolgenden Kapiteln zu finden. Mit Hilfe des Precompilers kann die Spezifikation eines Petri Netzes interpretiert und in Nets registriert werden. Daraufhin können Schaltvorgänge im Petri Netz simuliert werden oder die Erreichbarkeitsmenge und der Erreichbarkeitsgraph des Petri Netzes mit Hilfe des State Graph Explorators erzeugt werden. Wurde die Erreichbarkeitsmenge und der Erreichbarkeitsgraph erzeugt, können mit dem Analysistool verschiedene Aspekte des Petri Netzes, wie z.b. die Verfügbarkeit, analysiert werden. Für den einfachen Zugriff auf das 18

29 3.2 Petri Netze Analysewerkzeug steht eine zentrale Schnittstelle zur Verfügung. Dieser Arbeitsablauf des Toolkits wird in Abbildung 3.1 schematisch dargestellt. Eine detailliertere Darstellung des Analysewerkzeuges ist in Form eines Klassendiagramms im 4. Kapitel zu finden. adgsv Interface Toolkit Kern Precompiler Nets State Graph Explorator Analysistool Petri Net Analyseergbnis Abbildung 3.1: Schematische Darstellung des Analysewerkzeuges Bei der Konzeption des Analysewerkzeuges gibt es einige wichtige Aspekte, denen das Toolkit genügen soll. Die wichtigsten Aspekte, die verfolgt werden, sind folgende: ˆ Einfache Integration in den Funktionsumfang des adgsv-rahmenwerkes ˆ Konfigurierbarkeit ˆ Modularer Aufbau, um einzelne Komponenten des Toolkits erweitern oder austauschen zu können 3.2 Petri Netze Für die Simulation und Analyse von Petri Netzen müssen diese definiert und erstellt werden können. Die Komponente Nets stellt die benötigten Elemente eines Petri Netzes zur Verfügung. Abbildung 3.2 zeigt eine schematische Darstellung der Komponente Nets. Systeme können per Spezifikation als Petri Netz modelliert werden. Die Komponente Precompiler verwendet die Spezifikation eines Petri Netzes, um mit den Petri Netz Elementen aus Nets ein Petri Netz im Analysewerkzeug zu erstellen und zu registrieren. In den folgenden Abschnitten werden zunächst generelle Erweiterungen von Petri Netzen eingeführt. Danach wird der detaillierte Aufbau von der Komponente Nets erläutert. Hierbei wird auf die Standard Petri Netze eingegangen, sowie für diese Arbeit benötigten stochastischen Petri Netze und generalisierten stochastischen Petri Netzen. Im letzten Abschnitt wird die Funktion des Precompilers beschrieben. 19

30 3 Konzeption des Analysewerkzeuges Nets Place PetriNet Arc Transition MarkingDependentArc Abbildung 3.2: Schematische Darstellung der Komponente Nets Generelle Erweiterungen Bei der Konzeption des Analysewerkzeuges werden zwei Erweiterungen zu den in Kapitel 2 beschriebenen Petri Netzen hinzugefügt. Die neuen Erweiterungen sind Guards und Kanten mit markierungsabhängigen Kardinalitäten. Die Einführung der beiden Konzepte überführen die in Kapitel 2 vorgestellten Petri Netze in beschränkte (k-bounded) Petri Netze [Sta79]. Dadurch wird das in Kapitel beschriebene Problem der Turing-Mächtigkeit aufgehoben und die Petri Netze können, trotz Inhibitor-Kanten, analysiert werden. Diese erleichtern das Modellieren komplexer Systeme als Petri Netze. Die nächsten beiden Abschnitte erläutern das jeweilige Konzept. Guards Guards [BFF + 95] sind Schaltkonditionen, die an Transitionen gebunden werden können. Zusätzlich zu den in Kapitel 2 beschriebenen Eigenschaften, die erfüllt sein müssen, damit eine Transition aktiviert ist und feuern kann, kommt die Schaltkondition der Transition hinzu. Ein Guard wird als Ausdruck definiert, der ausgewertet wird und einen boolschen Wert liefert. Nur wenn die generellen Eigenschaften zum Feuern einer Transition erfüllt sind und der Guard den Wert True liefert, kann die Transition feuern. Guards überprüfen markierungsspezifische Eigenschaften des Petri Netzes. Soll z.b. die Transition t nur dann feuern, wenn die Stelle p 1 mehr als drei Marken besitzt, dann wird diese Bedingung als Guard #p 1 > 3 an t gebunden. Hierbei steht #p 1 für die Anzahl der Marken in der Stelle p 1 in der aktuellen Markierung (M(p 1 )). Es muss nicht zwangsläufig für jede Transition ein Guard definiert werden. Bei Transitionen, die keine Schaltkondition erhalten sollen, erhält der Guard initial den boolschen Wert True. Markierungsabhängige Kantenkardinalitäten Die Kardinalität der Kanten in Petri Netzen bestehen aus Werten N [Bau96, Sta80]. Markierungsabhängige Kantenkardinalitäten [Cia94] ermöglichen die Kardinalität einer Kante je nach Markierung dynamisch zu belegen. Eine markierungsabhängige Kantenkardinalität 20

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

Petri-Netze / Eine Einführung (Teil 2) Manuel Hertlein Seminar Systementwurf Lehrstuhl Theorie der Programmierung Wiederholung (1) Petri-Netz = bipartiter, gerichteter Graph Aufbau: Plätze (passive Komponenten) Transitionen (aktive Komponenten)

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

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

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

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

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

How-to: Webserver NAT. Securepoint Security System Version 2007nx

How-to: Webserver NAT. Securepoint Security System Version 2007nx Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Einführung Low-Level-Netze High-Level-Netze Referenzen. Petrinetze. Benjamin Daeumlich 30.10.2006

Einführung Low-Level-Netze High-Level-Netze Referenzen. Petrinetze. Benjamin Daeumlich 30.10.2006 30.10.2006 Gliederung 1 2 3 4 . Geschichte Was sind? Petrinetz-Typen Geschichte Geschichte Was sind? Petrinetz-Typen 1962 eingeführt von Carl Adam Petri zuerst nur aber: oft zu einfach für Spezifikationszwecke

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze Einführung in Petri-Netze Modellierung von Abläufen und Prozessen () Motivation Abhängigkeitsgraphen: A B 6 C 5 D Petri-Netze Markierungen Invarianten Credits: L. Priese, H. Wimmel: Petri-Netze, Theoretische

Mehr

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

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

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

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

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

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken Version 2.0 1 Original-Application Note ads-tec GmbH IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken Stand: 27.10.2014 ads-tec GmbH 2014 IRF2000 2 Inhaltsverzeichnis

Mehr

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11 Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen Dialognetze Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen Dialogabläufe auf Fensterebene "grobe Dialogabläufe" d.h. Wechsel zwischen

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,

Mehr

Markovketten. Bsp. Page Ranking für Suchmaschinen. Wahlfach Entscheidung unter Risiko und stat. Datenanalyse 07.01.2015

Markovketten. Bsp. Page Ranking für Suchmaschinen. Wahlfach Entscheidung unter Risiko und stat. Datenanalyse 07.01.2015 Markovketten Markovketten sind ein häufig verwendetes Modell zur Beschreibung von Systemen, deren Verhalten durch einen zufälligen Übergang von einem Systemzustand zu einem anderen Systemzustand gekennzeichnet

Mehr

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN Wir wollen nun die Rechengesetze der natürlichen Zahlen auf die Zahlenmenge der ganzen Zahlen erweitern und zwar so, dass sie zu keinem Widerspruch mit bisher geltenden

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

Wie optimiert man die Werbungserkennung von Ad- Detective?

Wie optimiert man die Werbungserkennung von Ad- Detective? Wie optimiert man die Werbungserkennung von Ad- Detective? Die Ad-Detective-Werbe-Erkennung von VideiReDo basiert auf der Erkennung von Schwarzwerten / scharzen Bildern, die die Werbeblöcke abgrenzen.

Mehr

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern 1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten

Mehr

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!.

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!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April 2009. 1 Zielbestimmungen 2. 2 Produkteinsatz 2

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April 2009. 1 Zielbestimmungen 2. 2 Produkteinsatz 2 Lastenheft Inhaltsverzeichnis 1 Zielbestimmungen 2 2 Produkteinsatz 2 3 Produktübersicht 3 4 Produktfunktionen 4 4.1 Muss-Funktionen................................. 4 4.1.1 Benutzerfunktionen...........................

Mehr

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Vorüberlegung In einem seriellen Stromkreis addieren sich die Teilspannungen zur Gesamtspannung Bei einer Gesamtspannung U ges, der

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Anbindung an easybill.de

Anbindung an easybill.de Anbindung an easybill.de Stand: 14. Dezember 2011 2011 Virthos Systems GmbH www.pixtacy.de Einleitung Pixtacy verfügt ab Version 2.3 über eine Schnittstelle zu dem Online-Fakturierungsprogramm easybill.de.

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

VIDA ADMIN KURZANLEITUNG

VIDA ADMIN KURZANLEITUNG INHALT 1 VIDA ADMIN... 3 1.1 Checkliste... 3 1.2 Benutzer hinzufügen... 3 1.3 VIDA All-in-one registrieren... 4 1.4 Abonnement aktivieren und Benutzer und Computer an ein Abonnement knüpfen... 5 1.5 Benutzername

Mehr

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

DynaTraffic Einstiegsaufgaben

DynaTraffic Einstiegsaufgaben DynaTraffic Einstiegsaufgaben Bemerkung: Falls nichts anderes erwähnt, sind die Standard-Einstellungen zu einer Verkehrssituation von DynaTraffic zu verwenden. 1. Interpretation von Verkehrssituation und

Mehr

Seminar Analyse von Petrinetz-Modellen

Seminar Analyse von Petrinetz-Modellen Seminar Analyse von Petrinetz-Modellen Vortrag: "Deadlocks und Fallen" II Steve Reich 26.11.2007 Wiederholung Falle Deadlock 1 Wiederholung Deadlock und Falle Nur Deadlock Nur Falle 2 Satz zur strukturellen

Mehr

Online Schulung Anmerkungen zur Durchführung

Online Schulung Anmerkungen zur Durchführung Online Schulung Anmerkungen zur Durchführung 1.0 Einleitung Vielen Dank, dass Sie sich für die Online Schulung von SoloProtect entschieden haben. Nachfolgend finden Sie Informationen für Identicomnutzer

Mehr

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl.

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl. Institut für Informationssysteme und Softwaretechnik Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme Unterstützung von Grafiken für Prüfungsauswahl 29. Juni 2005

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Verbesserungsdetails: PTC Mathcad Prime 3.0. Copyright 2013 Parametric Technology Corporation. weiter Infos unter www.mcg-service.

Verbesserungsdetails: PTC Mathcad Prime 3.0. Copyright 2013 Parametric Technology Corporation. weiter Infos unter www.mcg-service. : PTC Mathcad Prime 3.0 Copyright 2013 Parametric Technology Corporation PTC Mathcad Angepasste Funktionen Sie können eigene Funktionen, die in C++ oder anderen Sprachen geschrieben sind, in die PTC Mathcad

Mehr

Name:... Matrikel-Nr.:... 3 Aufgabe Handyklingeln in der Vorlesung (9 Punkte) Angenommen, ein Student führt ein Handy mit sich, das mit einer Wahrscheinlichkeit von p während einer Vorlesung zumindest

Mehr

Gemeinsamkeiten und Unterschiede bei der Anwendung für die Analyse von Geschäftsprozessen

Gemeinsamkeiten und Unterschiede bei der Anwendung für die Analyse von Geschäftsprozessen Gemeinsamkeiten und Unterschiede bei der Anwendung für die Analyse von Geschäftsprozessen Gliederung Geschäftsprozess Einführung der Modellierungskonzepte PetriNetz und EPK Transformation von EPK in PN

Mehr

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

3. Zusammenhang. 22 Andreas Gathmann

3. Zusammenhang. 22 Andreas Gathmann 22 Andreas Gathmann 3. Zusammenhang Eine der anschaulichsten Eigenschaften eines topologischen Raumes ist wahrscheinlich, ob er zusammenhängend ist oder aus mehreren Teilen besteht. Wir wollen dieses Konzept

Mehr

Simulation LIF5000. Abbildung 1

Simulation LIF5000. Abbildung 1 Simulation LIF5000 Abbildung 1 Zur Simulation von analogen Schaltungen verwende ich Ltspice/SwitcherCAD III. Dieses Programm ist sehr leistungsfähig und wenn man weis wie, dann kann man damit fast alles

Mehr

Es kann maximal ein Prozess die Umladestelle benutzen.

Es kann maximal ein Prozess die Umladestelle benutzen. SoSe 0 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung (Musterlösung) 0-06-0 bis 0-06-06 Aufgabe : Erzeuger/Verbraucher-Pattern Ein Getränkemarkt hat

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

SWE5 Übungen zu Software-Engineering

SWE5 Übungen zu Software-Engineering 1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

CNAME-Record Verknüpfung einer Subdomain mit einer anderen Subdomain. Ein Alias für einen Domainnamen.

CNAME-Record Verknüpfung einer Subdomain mit einer anderen Subdomain. Ein Alias für einen Domainnamen. Seite 1 von 5 Nameserver Fragen zu den Nameservereinstellungen df FAQ Technische FAQ Nameserver Welche Nameserver-Records stehen zur Verfügung? Bei domainfactory können folgende Nameservereinträge erstellt

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Ein Scan basierter Seitenangriff auf DES

Ein Scan basierter Seitenangriff auf DES Ein Scan basierter Seitenangriff auf DES Seminar Codes & Kryptographie SS04 Tobias Witteler 29.06.2004 Struktur des Vortrags 1. Einführung / Motivation 2. Struktur von DES 3. Die Attacke Begriffsklärung:

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

1. Arbeiten mit dem Touchscreen

1. Arbeiten mit dem Touchscreen 1. Arbeiten mit dem Touchscreen 1.1. Einleitung Als weitere Buchungsart steht bei DirectCASH ein Touchscreen zur Verfügung. Dieser kann zwar normal via Maus bedient werden, vorzugsweise jedoch durch einen

Mehr

eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In -

eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In - eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In - Übersicht: Nach dem Herunterladen und Ausführen des Installationsprogamms für das eduvote PowerPoint Add-In befindet sich rechts

Mehr

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung Avira Management Console 2.6.1 Optimierung für großes Netzwerk Kurzanleitung Inhaltsverzeichnis 1. Einleitung... 3 2. Aktivieren des Pull-Modus für den AMC Agent... 3 3. Ereignisse des AMC Agent festlegen...

Mehr

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

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

Carolo Knowledge Base

Carolo Knowledge Base KB 07: Wie stelle ich ein fremdsprachiges Layout ein? (1) My-T-Soft verhält sich bezüglich fremdsprachiger Layouts wie eine physische Tastatur, d.h. sie liefert lediglich die Codes für die einzelnen Tasten.

Mehr

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

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«... Drucken - Druckformat Frage Wie passt man Bilder beim Drucken an bestimmte Papierformate an? Antwort Das Drucken von Bildern ist mit der Druckfunktion von Capture NX sehr einfach. Hier erklären wir, wie

Mehr

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten Anleitung zum Login über die Mediteam- Homepage und zur Pflege von Praxisnachrichten Stand: 18.Dezember 2013 1. Was ist der Mediteam-Login? Alle Mediteam-Mitglieder können kostenfrei einen Login beantragen.

Mehr

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

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Praktikum Nr. 3. Fachhochschule Bielefeld Fachbereich Elektrotechnik. Versuchsbericht für das elektronische Praktikum

Praktikum Nr. 3. Fachhochschule Bielefeld Fachbereich Elektrotechnik. Versuchsbericht für das elektronische Praktikum Fachhochschule Bielefeld Fachbereich Elektrotechnik Versuchsbericht für das elektronische Praktikum Praktikum Nr. 3 Manuel Schwarz Matrikelnr.: 207XXX Pascal Hahulla Matrikelnr.: 207XXX Thema: Transistorschaltungen

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

W-Rechnung und Statistik für Ingenieure Übung 11

W-Rechnung und Statistik für Ingenieure Übung 11 W-Rechnung und Statistik für Ingenieure Übung 11 Christoph Kustosz (kustosz@statistik.tu-dortmund.de) Mathematikgebäude Raum 715 Christoph Kustosz (kustosz@statistik.tu-dortmund.de) W-Rechnung und Statistik

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5 Das Management von Informations- Systemen im Wandel Die Informations-Technologie (IT) war lange Zeit ausschließlich ein Hilfsmittel, um Arbeitsabläufe zu vereinfachen und Personal einzusparen. Sie hat

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Sichern der persönlichen Daten auf einem Windows Computer

Sichern der persönlichen Daten auf einem Windows Computer Sichern der persönlichen Daten auf einem Windows Computer DIRECTION DES SERVICES IT SERVICE DIT-MI DIREKTION DER IT-DIENSTE DIENSTSTELLE DIT-MI 1/9 1 Inhaltsverzeichnis 2 Einleitung... 3 3 Outlook Daten...

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

reimus.net GmbH RS-Bilanzanalyse Handbuch zum Excel-Tool

reimus.net GmbH RS-Bilanzanalyse Handbuch zum Excel-Tool reimus.net GmbH RS-Bilanzanalyse Handbuch zum Excel-Tool Inhaltsverzeichnis Abbildungsverzeichnis... 2 Detailbeschreibung... 3 Eingabemaske Bilanz... 4 Eingabemaske Gewinn- und Verlustrechnung... 5 Eingabemaske

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr