[TASK] Generic commit.

This commit is contained in:
Jan Philipp Timme 2016-09-28 23:10:25 +02:00
parent 2dcee6f581
commit a9a7205f99

View File

@ -447,7 +447,6 @@ Dieses Muster kann man nun in einer CEP-Regel einsetzen, jedoch ist noch nicht g
\begin{itemize}
\item Die \textbf{Aliasanweisung} \texttt{AS} ermöglicht die Definition eines Variablennamens innerhalb des Ereignismusters, der die für einen Ereignistypen gefundene Ereignisinstanz enthalten soll. So würde das Ereignismuster $(A\ AS\ eventA)$ dafür sorgen, dass die gefundene Ereignisinstanz vom Typ A in der Variable \texttt{eventA} für den Rest der CEP-Regel verfügbar ist.
\item Um nun auf Attribute einer Ereignisinstanz zuzugreifen, wird der \textbf{Attributoperator} \enquote{\texttt{.}} verwendet: Gegeben sei eine Ereignisinstanz, welche das Attribut \texttt{pkwID} enthält und in der Variable \texttt{eventA} enthalten ist, so würde der Ausdruck \[eventA.pkwID\] den Wert dieses Attributs zurückgeben.
\item Kontextbedingungen können auch Bezug auf \emph{Domänenwissen} nehmen, welches von der Anwendung lokal vorgehalten wird. Um aus der CEP-Regel auf dieses Wissen zuzugreifen, kann innerhalb einer CEP-Regel das Konstrukt \texttt{lookup(\emph{key, value})} verwendet werden, wobei \texttt{key} für die aus dem Domänenwissen abzufragende Information steht und \texttt{value} ein Parameter ist, der durch Variablen innerhalb der CEP-Regel bestimmt werden kann. Der Aufruf kann direkt in Kontextbedingungen integriert werden, sodass die Formulierung dieser Bedingungen dadurch nicht erschwert wird. Soll beispielsweise die maximal zulässige Motordrehzahl für ein in \texttt{fooEvent.carModel} hinterlegtes Automodell nachgeschlagen werden, so liefert \texttt{lookup("maxMotorRPMForModel", fooEvent.carModel)} die nötigen Daten.
\end{itemize}
Geht man davon aus, dass die Ereignistypen A und C aus dem obigen Ereignismuster die ID des PKW, von dem das Ereignis ausgelöst wurde, in dem Attribut \texttt{pkwID} enthalten, so kann man mit der Kontextbedingung
\[a.pkwID\ =\ c.pkwID\]
@ -515,13 +514,18 @@ ACTION
\todo{Weitermachen, CEP-Regelnotation!}
\paragraph{Integration von Domänenwissen}
Hat man in der Verarbeitung der Ereignisse durch CEP-Regeln alle Register gezogen, so kommt die Integration des Domänenwissens ins Spiel. Alle Fakten, die über die auszuwertenden Ereignisse bekannt sind, liegen hier vor. Beispiele dafür wären:
Die Kontextbedingungen der CEP-Regeln können auch Bezug auf \emph{Domänenwissen} nehmen, welches von der Anwendung lokal vorgehalten wird.
Hat man bei der Ereignisverarbeitung fast alle Register gezogen, so kommt die Integration des Domänenwissens ins Spiel. Alle Fakten, die für die auszuwertenden Ereignisdatenströme und deren Kontext bekannt sind, liegen hier vor. Beispiele dafür wären:
\begin{itemize}
\item Wo ein Sensor positioniert ist und was er misst
\item Von welchem Modell ein zu überwachendes Fahrzeug ist und welche bekannten Grenzwerte für den Betrieb eingehalten werden müssen
\item Wer ein überwachtes Fahrzeug gerade verwendet
\end{itemize}
Das Domänenwissen kann somit verwendet werden, um einer durch Ereignisdaten beschriebenen Situation einen eindeutigen Kontext zuzuordnen und somit die Interpretation der Daten stark zu erleichtern. Hat die Ereignisverarbeitung beispielsweise festgestellt, dass die durchschnittliche Drehzahl eines Motors bei 4200 Umdrehungen pro Minute liegt, so kann über das Domänenwissen nachgeschlagen werden, in welchem Fahrzeug der betroffene Motor montiert ist, von welchem Typen das Fahrzeug ist, und ob die Motordrehzahl für diesen Fahrzeugtypen zulässig ist.
Das Domänenwissen kann somit verwendet werden, um einer durch Ereignisdaten beschriebenen Situation einen eindeutigen Kontext zuzuordnen und somit die Interpretation der Daten stark zu erleichtern.
\todo{!!}
Hat die Ereignisverarbeitung beispielsweise festgestellt, dass die durchschnittliche Drehzahl eines Motors bei 4200 Umdrehungen pro Minute liegt, so kann über das Domänenwissen nachgeschlagen werden, in welchem Fahrzeug der betroffene Motor montiert ist, von welchem Typen das Fahrzeug ist, und ob die Motordrehzahl für diesen Fahrzeugtypen zulässig ist.
Um aus der CEP-Regel auf dieses Wissen zuzugreifen, kann innerhalb einer CEP-Regel das Konstrukt \texttt{lookup(\emph{key, value})} verwendet werden, wobei \texttt{key} für die aus dem Domänenwissen abzufragende Information steht und \texttt{value} ein Parameter ist, der durch Variablen innerhalb der CEP-Regel bestimmt werden kann. Der Aufruf kann direkt in Kontextbedingungen integriert werden, sodass die Formulierung dieser Bedingungen dadurch nicht erschwert wird. Soll beispielsweise die maximal zulässige Motordrehzahl für ein in \texttt{fooEvent.carModel} hinterlegtes Automodell nachgeschlagen werden, so liefert \texttt{lookup("maxMotorRPMForModel", fooEvent.carModel)} die nötigen Daten.
\todo{Weitermachen, CEP-Regelnotation!}