[TASK] Generic commit.

This commit is contained in:
Jan Philipp Timme 2016-09-27 15:02:17 +02:00
parent 4f81eeebb1
commit dffc74c4c8
1 changed files with 21 additions and 22 deletions

View File

@ -412,6 +412,27 @@ Dafür treten diese primitiven Ereignisse häufig mit einer sehr hohen Frequenz
Natürlich können nicht nur externe Komponenten als Quelle von Ereignissen dienen. Viele CEP-Engines unterstützen die Erzeugung von Ereignisdaten und deren Injektion in die eigene Ereignisverarbeitung. So können durch CEP-Regeln gewonnene Erkenntnisse direkt Einfluss auf die weitere Verarbeitung nehmen, indem sie als neue Ereignisse in die Verarbeitung aufgenommen werden. Natürlich können nicht nur externe Komponenten als Quelle von Ereignissen dienen. Viele CEP-Engines unterstützen die Erzeugung von Ereignisdaten und deren Injektion in die eigene Ereignisverarbeitung. So können durch CEP-Regeln gewonnene Erkenntnisse direkt Einfluss auf die weitere Verarbeitung nehmen, indem sie als neue Ereignisse in die Verarbeitung aufgenommen werden.
\paragraph{Mustererkennung}
\todo{Mehr! Mustererkennung!}
Komplexe Vorgänge kann man häufig über Muster aus den Ereignissen erkennen, die sie auslösen. Hierbei spielen Ereignissequenzen und die zeitlichen Beziehungen zwischen Ereignissen eine Rolle. Um ein \enquote{bedeutungsvolles Ereignismuster} zu erkennen, wird eine CEP-Regel definiert, die dieses Muster in ihrem \texttt{CONDITION}-Teil beschreibt.
Ein Beispiel für ein Ereignismuster, welches unsachgemäß abgestellte PKW erkennen kann, könnte so aussehen:
\begin{itemize}
\item Ereignis: Motor wurde abgeschaltet
\item \st{Ereignis: Handbremse wurde angezogen} (\textbf{nicht} passiert!)
\item Ereignis: PKW wurde verriegelt
\end{itemize}
Um nun eine CEP-Regel zu definieren, die für jeweils \emph{den selben} PKW nach den Ereignissen \enquote{Motor wurde abgeschaltet} und \enquote{PKW wurde verriegelt} sucht und zwischen diesen Ereignissen kein Ereignis \enquote{Handbremse wurde angezogen} erwartet, müssen zunächst weitere Sprachkonstrukte für CEP-Regeln vorgestellt werden.
\begin{lstlisting}[mathescape=true,label={lst:abstract_cep_rule_two},caption={CEP-Regel mit Definition eines Ereignisfensters}]
CONDITION (Ereignismuster)[WindowSize:15min,StepSize:10s]
... weitere Bedingungen ...
ACTION
... auszulösende Aktionen ...
\end{lstlisting}
\todo{GRAFIK: Mustererkennung grob zeigen?}
\paragraph{Sliding Windows und Tumbling Windows} \paragraph{Sliding Windows und Tumbling Windows}
Um die großen Mengen von Ereignisdaten aus einem Datenstrom effizient verarbeiten zu können, werden sie in einem Fenster fester Größe betrachtet. Die Größe eines solchen Fensters wird häufig mit Zeiteinheiten wie Sekunden angegeben; selten wird die Größe durch eine Anzahl von Ereignissen angegeben, die das Fenster enthalten kann. Um die großen Mengen von Ereignisdaten aus einem Datenstrom effizient verarbeiten zu können, werden sie in einem Fenster fester Größe betrachtet. Die Größe eines solchen Fensters wird häufig mit Zeiteinheiten wie Sekunden angegeben; selten wird die Größe durch eine Anzahl von Ereignissen angegeben, die das Fenster enthalten kann.
@ -436,28 +457,6 @@ ACTION
... auszulösende Aktionen ... ... auszulösende Aktionen ...
\end{lstlisting} \end{lstlisting}
\paragraph{Mustererkennung}
\todo{Mehr! Mustererkennung!}
Komplexe Vorgänge kann man häufig über Muster aus den Ereignissen erkennen, die sie auslösen. Hierbei spielen Ereignissequenzen und die zeitlichen Beziehungen zwischen Ereignissen eine Rolle. Um ein \enquote{bedeutungsvolles Ereignismuster} zu erkennen, wird eine CEP-Regel definiert, die dieses Muster in ihrem \texttt{CONDITION}-Teil beschreibt.
Ein Beispiel für ein Ereignismuster, welches unsachgemäß abgestellte PKW erkennen kann, könnte so aussehen:
\begin{itemize}
\item Ereignis: Motor wurde abgeschaltet
\item \st{Ereignis: Handbremse wurde angezogen} (\textbf{nicht} passiert!)
\item Ereignis: PKW wurde verriegelt
\end{itemize}
Um nun eine CEP-Regel zu definieren, die für jeweils \emph{den selben} PKW nach den Ereignissen \enquote{Motor wurde abgeschaltet} und \enquote{PKW wurde verriegelt} sucht und zwischen diesen Ereignissen kein Ereignis \enquote{Handbremse wurde angezogen} erwartet, müssen zunächst weitere Sprachkonstrukte für CEP-Regeln vorgestellt werden.
\begin{lstlisting}[mathescape=true,label={lst:abstract_cep_rule_two},caption={CEP-Regel mit Definition eines Ereignisfensters}]
CONDITION (Ereignismuster)[WindowSize:15min,StepSize:10s]
... weitere Bedingungen ...
ACTION
... auszulösende Aktionen ...
\end{lstlisting}
\todo{GRAFIK: Mustererkennung grob zeigen?}
\paragraph{Aggregation von Ereignissen} \paragraph{Aggregation von Ereignissen}
Eine weitere Möglichkeit zur Auswertung primitiver Ereignisse ist die Aggregation von Ereignissen zu höherwertigeren Ereignissen. Hierbei werden alle Ereignisse gleichen Typs in einem Zeitfenster betrachtet und beispielsweise über eine Summen- oder Differenzbildung, einen Mittelwert oder durch simples Zählen aggregiert. Dadurch können erste Kennzahlen und Trends gewonnen werden, die dabei helfen können, die Entwicklung der Situation in diesem Zeitfenster besser nachzuvollziehen. Eine weitere Möglichkeit zur Auswertung primitiver Ereignisse ist die Aggregation von Ereignissen zu höherwertigeren Ereignissen. Hierbei werden alle Ereignisse gleichen Typs in einem Zeitfenster betrachtet und beispielsweise über eine Summen- oder Differenzbildung, einen Mittelwert oder durch simples Zählen aggregiert. Dadurch können erste Kennzahlen und Trends gewonnen werden, die dabei helfen können, die Entwicklung der Situation in diesem Zeitfenster besser nachzuvollziehen.