[TASK] Generic commit

This commit is contained in:
Jan Philipp Timme 2016-09-07 13:23:11 +02:00
parent bcfaebb03c
commit 809500c0cc

View File

@ -371,33 +371,24 @@ Die Vorteile von Reasoning erkauft man sich durch einen nicht unerheblichen Eins
\section{Einführung in Complex Event Processing}\label{cpt:cep_intro}
\todo{Direkt mit RDF-Datenströmen anfangen, nächste Section mit dieser zusammenführen!}
\todo{Nun wollen wir auf Datenströmen im RDF-Format CEP fahren. Was genau bedeutet das eigentlich und wie sieht das in der Theorie aus?}
\todo{An Beispielszenario deutlich annähern, Konzept von CEP soll hier rein, allerdings noch nicht die Details}
TODO TODO TODO
\begin{itemize}
\item Definition von CEP
\item Ereignisse und Hintergrundwissen/Domänenwissen
\item Beispielhafter, fiktiver Ereignisstrom mit Hinweis auf Zeitachse
\item Kurzer Exkurs in Richtung Mustererkennung
\end{itemize}
\todo{Nun wollen wir auf Datenströmen im RDF-Format CEP fahren. Was genau bedeutet das eigentlich und wie sieht das in der Theorie aus?}
Im folgenden Abschnitt wird ein kurzer Einstieg in das Konzept von Complex Event Processing (CEP) gegeben. Eine detailreiche Erläuterung von CEP und die beispielhafte Anwendung der CEP-Engine \enquote{Esper} wird in \cite{hsh:cep} beschrieben.
\todo{Diesen ganzen Abschnitt neu sortieren und analog zu der Einführung ins semantische Web aufbrechen und die einzelnen Begriffe in den Vordergrund rücken.}
Um nun CEP auf RDF-Datenströmen durchführen zu können, Im folgenden Abschnitt wird hierfür ein kurzer Einstieg in das Konzept von Complex Event Processing (CEP) gegeben. Eine detailreiche Erläuterung von CEP und die beispielhafte Anwendung der CEP-Engine \enquote{Esper} wird in \cite{hsh:cep} beschrieben.
Wie der Begriff \enquote{Complex Event Processing} schon andeutet, geht es bei CEP um die Verarbeitung von komplexen Ereignissen --- konkret: Die Erkennung und Erfassung von komplexen Ereignissen aus Datenströmen von primitiven Ereignissen. Von Messereignissen aus mit Sensoren ausgestatteten Geräten über Transaktionen im Handel bis hin zu Benutzerinteraktionen auf Webseiten entstehen täglich unzählig viele, primitive Ereignisse, die abhängig von ihrem Kontext für einen bestimmten Zeitraum ein Stück der echten Welt korrekt abbilden.
Die in diesen primitiven Ereignissen enthaltenen Informationen stellen nur einen momentanen Zustand dar; sie haben für sich alleine betrachtet keinen Kontext und somit vorerst bedeutungslos. Betrachtet man beispielsweise ein Ereignis \enquote{Die gemessene Temperatur beträgt 42°C.}, so ist zunächst nicht zu erkennen, was es mit dieser Temperatur auf sich hat. Hier kommt das für die Verarbeitung bereits bekannte \emph{Hintergrundwissen} (auch Domänenwissen) ins Spiel, welches das Ereignis in einen bekannten Kontext stellen kann. Es kann uns beispielsweise verraten, dass die Ereignisquelle ein Temperatursensor ist, der sich in einem PKW auf dem Motorblock befindet. Das Hintergrundwissen kann zu der bekannten Umgebung des Sensors viele weitere Angaben enthalten: Das konkrete Fabrikat des PKW, dessen Höchstgeschwindigkeit und die maximal zulässige Betriebstemperatur des Motors. Dieses Wissen ermöglicht schon eine genaue Einordnung der Informationen des Ereignisses; allerdings werden doch noch weitere Informationen benötigt, um ein eindeutiges Bild der Gesamtsituation zu erhalten. Kombiniert man das Temperaturereignis mit den Meldungen des im PKW installierten Geschwindigkeitssensors, so ergibt sich die Möglichkeit herauszufinden, ob für den aktuellen Betriebszustand des PKW die gemessene Motortemperatur.
Ein weiterer, wichtiger Faktor ist der Zeitraum in dem bestimmte Ereignisse auftreten. Um dies näher zu erläutern, betrachten wir den gegebenen Ereignisstrom aus Listing~\ref{lst:sample_eventstream}.
\begin{lstlisting}[caption={Exemplarischer Ereignisstrom: Motortemperatur eines PKW},label={lst:sample_eventstream}]
[Event #1] Temperatur: 40°C
[Event #2] Temperatur: 48°C
[Event #3] Temperatur: 61°C
[Event #4] Temperatur: 84°C
Ein weiterer, wichtiger Faktor ist der Zeitraum in dem bestimmte Ereignisse auftreten. Um dies näher zu erläutern, betrachten wir den gegebenen Ereignisstrom aus Listing~\ref{lst:sample_rdf_eventstream}.
\begin{lstlisting}[caption={Exemplarischer RDF-Ereignisstrom: ...},label={lst:sample_rdf_eventstream}]
\end{lstlisting}
Auf den ersten Blick ist ersichtlich, dass die Messwerte einen sehr starken Temperaturanstieg abbilden, jedoch fehlt eine Angabe darüber, wie viel Zeit zwischen diesen Ereignissen vergangen ist. Dadurch ist die Interpretation dieser Ereignisse nicht mehr eindeutig möglich: Liegen zwischen den Messereignissen beispielsweise etwa 30-60 Minuten, so könnte es sich um einen normalen Betrieb bei hoher Geschwindigkeit handeln. Sollten jedoch nur wenige Minuten zwischen den Messereignissen vergangen sein, so lassen die Messwerte auf einen Defekt schließen und ein Motorschaden wäre eine mögliche Folge. Die Zeitachse darf somit bei der Ereignisverarbeitung nicht vernachlässigt werden.
@ -408,7 +399,6 @@ Insgesamt liegt die Herausforderung von CEP darin, in kürzester Zeit große Dat
\subsection{Ereignisse als RDF-Datenstrom}
\todo{Diese Sektion wird mit der obigen zusammengeführt und umstrukturiert. Da RDF zuvor eingeführt wurde, kann direkt damit eingeleitet werden, dass RDF-Datenströme ankommen.}
\todo{Begründung, warum Ereignisse hier über Event-Subjekte definiert werden sollten}