1
0
mirror of https://github.com/2martens/uni.git synced 2026-05-06 11:26:25 +02:00

FGI2: Aufgabenblatt 8 komplett bearbeitet

This commit is contained in:
Jim Martens
2014-12-05 18:56:47 +01:00
parent 8052b64f1e
commit 5e9136385b

View File

@ -65,6 +65,8 @@
\title{Hausaufgaben zum 8. Dezember} \title{Hausaufgaben zum 8. Dezember}
\maketitle \maketitle
WICHTIG: Aufgrund der Aufgabe 8.3.1 ist diese Bearbeitung SEHR lang. Einige der Aufgaben befinden sich nach den geforderten Prozessabbildungen.
\setcounter{section}{2} \setcounter{section}{2}
\section{} %8.3 \section{} %8.3
\subsection{} \subsection{}
@ -657,6 +659,70 @@
\subsection{} \subsection{}
P-Schnitt: b2, b4, b3 und T-Schnitt: a P-Schnitt: b2, b4, b3 und T-Schnitt: a
\section{} %8.4 \section{} %8.4
Der Erreichbarkeitsgraph zu dieser Aufgabe ist auf \fref{fig:84-rg} zu sehen.
Im Folgenden wird der Lösungsweg in natürlicher Sprache, mit dem reduzierten Graphen und Pseudocode erläutert. Dabei werden die strengen Zusammenhangskomponenten (kurz: SZKs) aus Platzgründen (siehe Erreichbarkeitsgraph) nicht vollständig angegeben, sondern mithilfe von natürlicher Sprache.
Es gibt vier SZKs, wobei eine davon eine terminale SZK ist. \(C_{1}\) enthält alle Markierungen, die von der Startmarkierung aus durch beliebiges Schalten der Transitionen \(a,c,d\) erreicht werden können. Durch das Schalten von \(b\) wird diese SZK verlassen und man gelangt in \(C_{2}\). Diese SZK enthält wiederum alle Markierungen, die von einer ihrer Markierungen mit beliebigem Schalten von \(a,c,d\) erreicht werden können. Erneut wird die SZK durch das Schalten von \(b\) verlassen und man befindet sich in \(C_{3}\). Für diese SZK gilt die gleiche Regel, wie für die vorangegangenen. Verlässt man diese SZK über das Schalten von \(b\) gelangt man in die terminale SZK \(C_{4}\).
Der reduzierte Graph ist im Vergleich zum Erreichbarkeitsgraph recht simpel. Er kann auf \fref{fig:84-rgc} gefunden werden.
Nachdem nun die Vorarbeit getan ist, werden die vier Transitionen nacheinander durchgegangen, um zu zeigen, dass sie entweder lebendig sind oder nicht.
Transition \(a\):
\begin{verbatim}
C_i = C_0
C_i.contains(m, a) = true
C_i = C_1
C_i.contains(m, a) = true
C_i = C_2
C_i.contains(m, a) = true
C_i = C_3
C_i.contains(m, a) = true
return true
\end{verbatim}
Transition \(b\):
\begin{verbatim}
C_i = C_0
C_i.contains(m, b) = true
C_i = C_1
C_i.contains(m, b) = true
C_i = C_2
C_i.contains(m, b) = true
C_i = C_3
C_i.contains(m, b) = false
return false
\end{verbatim}
Transition \(c\):
\begin{verbatim}
C_i = C_0
C_i.contains(m, c) = true
C_i = C_1
C_i.contains(m, c) = true
C_i = C_2
C_i.contains(m, c) = true
C_i = C_3
C_i.contains(m, c) = true
return true
\end{verbatim}
Transition \(d\):
\begin{verbatim}
C_i = C_0
C_i.contains(m, d) = true
C_i = C_1
C_i.contains(m, d) = true
C_i = C_2
C_i.contains(m, d) = true
C_i = C_3
C_i.contains(m, d) = true
return true
\end{verbatim}
Mithilfe des Algorithmus 7.3 aus dem Skript (Entscheiden einer Lebendigkeits-Invarianzeigenschaft) war es möglich zu zeigen, dass die Transitionen \(a,c\) und \(d\) lebendig sind, während Transition \(b\) dies nicht ist.
\begin{figure} \begin{figure}
\begin{tikzpicture}[node distance=1cm] \begin{tikzpicture}[node distance=1cm]
\node[ellipse] (m0) {2p1}; \node[ellipse] (m0) {2p1};
@ -727,6 +793,20 @@
\caption{Erreichbarkeitsgraph für 8.4} \caption{Erreichbarkeitsgraph für 8.4}
\label{fig:84-rg} \label{fig:84-rg}
\end{figure} \end{figure}
\begin{figure}
\begin{tikzpicture}[node distance=1cm]
\node[place] (c0) {\(C_{0}\)};
\node[place] (c1) [right=of c0] {\(C_{1}\)};
\node[place] (c2) [below=of c1] {\(C_{2}\)};
\node[place] (c3) [left=of c2] {\(C_{3}\)};
\path[->] (c0) edge node[above] {b} (c1)
(c1) edge node[right] {b} (c2)
(c2) edge node[above] {b} (c3);
\end{tikzpicture}
\caption{Reduzierter Erreichbarkeitsgraph aus 8.4}
\label{fig:84-rgc}
\end{figure}
\section{} %8.5 \section{} %8.5
\subsection{} \subsection{}
Diese Transitionen sind nebenläufig, können also unabhängig voneinander schalten. Diese Transitionen sind nebenläufig, können also unabhängig voneinander schalten.