diff --git a/Bachelorarbeit.tex b/Bachelorarbeit.tex index 6dd68e2..160d99e 100644 --- a/Bachelorarbeit.tex +++ b/Bachelorarbeit.tex @@ -109,7 +109,7 @@ \newpage \thispagestyle{empty} \begin{tabular}{ll} {\bfseries\sffamily Autor} & Jan Philipp Timme \\ - & 1271449 \\ + & Matrikelnummer 1271449 \\ & jan-philipp.timme@stud.hs-hannover.de \\[5ex] {\bfseries\sffamily Erstprüfer} & Prof. Dr. Jürgen Dunkel \\ & Abteilung Informatik, Fakultät IV \\ @@ -378,30 +378,32 @@ Die Vorteile von Reasoning erkauft man sich durch einen nicht unerheblichen Eins \section{Einführung in Complex Event Processing}\label{cpt:cep_intro} -\todo{Voll überarbeiten hier!} +Von Messereignissen von mit Sensoren ausgestatteten Geräten über Transaktionen im Handel bis hin zu Benutzerinteraktionen auf Webseiten entstehen täglich eine Vielzahl von Ereignisdaten, die abhängig von ihrem Kontext für einen begrenzten Zeitraum einen Teil der echten Welt abbilden. Um aus diesen Daten in nahezu Echtzeit verarbeiten zu können, sind CEP-Werkzeuge -\begin{itemize} -\item Definition von CEP ohne RDF (RDF kommt später) -\item Ereignisse -\item Betrachtigung von Ereignissen in begrenztem Zeitraum (Sliding Window) -\item Aggregation von Ereignissen -\item Mustererkennung in Ereignissen / Ereignismuster -\item Integration von Domänenwissen -\end{itemize} +Im folgenden Abschnitt wird hierfür ein kurzer Einstieg in das Konzept von Complex Event Processing (CEP) gegeben. Für eine detailreiche Erläuterung von CEP und die beispielhafte Anwendung der CEP-Engine \enquote{Esper} sei auf \cite{hsh:cep} verwiesen. -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. Hierbei werden primitive Ereignisse aggregiert oder auf konkrete Muster überprüft, um aus den Ergebnissen dann höherwertige Informationen zu gewinnen. -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. +\paragraph{Ereignisse} +zeitliche Beziehungen +bedeutungsvolle Ereignismuster +zusammengesetzte Ereignisse -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_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. +\paragraph{Sliding Window} (Oder u.U. auch \enquote{Tumbling Window}) -Ein weiterer Kernaspekt von CEP ist die Mustererkennung in Ereignissen. Aus bestimmten primitiven Ereignissen, die in einer bestimmten Abfolge auftreten, soll ein konkreter Sachverhalt abgeleitet werden. Treten bei einem PKW beispielsweise in kurzer Zeit nacheinander die Ereignisse \enquote{Motor abgeschaltet}, \enquote{Fahrzeug verriegelt} und \enquote{PKW beschleunigt} auf, so könnte der Fall eingetreten sein, dass ein gerade abgestelltes Fahrzeug losgerollt ist und es sollte unverzüglich eine Reaktion darauf gestartet werden. + +\paragraph{Aggregation von Ereignissen} + + +\paragraph{Mustererkennung} + + +\paragraph{Integration von Domänenwissen} + + +\paragraph{} Insgesamt liegt die Herausforderung von CEP darin, in kürzester Zeit große Datenströme von Ereignissen mit Hintergrundwissen anzureichern, diese zu höherwertigen Ereignissen zu kombinieren und bestimmte Muster zu finden, sowie die Ergebnisse mit möglichst geringer Verzögerung in Echtzeit ausgeben zu können oder Reaktionen einzuleiten.