[TASK] Generic commit.
This commit is contained in:
parent
30c7526927
commit
035f33e49a
@ -1056,7 +1056,7 @@ Um diese Ereignisdatenströme nun zu Verarbeiten, werden die Anforderungen des S
|
||||
|
||||
\paragraph{Erkennung von Verschleiß am Fahrzeug} Um durch unsachgemäße Nutzung bedingten Verschleiß an den PKW feststellen zu können, sind Ereignisse vom Typ \texttt{CarStatusEvent} ein guter Einstiegspunkt. So lassen sich gleich mehrere Arten von Verschleiß hieraus ermitteln:
|
||||
\begin{itemize}
|
||||
\item Verschleiß des Motors durch starkes Beschleunigen:
|
||||
\item \textbf{Verschleiß des Motors durch starkes Beschleunigen:}
|
||||
Hierfür genügt es, zwei direkt aufeinanderfolgende \texttt{CarStatusEvent}s zu betrachten, die sich auf den selben PKW beziehen. Ermittelt man zwischen den beiden Ereignissen die Geschwindigkeits\-differenz und prüft, ob diese größer als ein gegebener Schwellwert (beispielsweise 25km/h) ist. Trifft dies zu, so wurde eine starke Beschleunigung erkannt.
|
||||
Die hieraus resultierende, abstrakte CEP-Regel sieht wie folgt aus:
|
||||
\begin{lstlisting}[mathescape=true,label={},caption={}]
|
||||
@ -1066,11 +1066,11 @@ CONDITION ($CarStatusEvent\ AS\ c1 \rightarrow\ CarStatusEvent\ AS\ c2$)
|
||||
$\wedge$ c2.speed-c1.speed AS deltaSpeed
|
||||
$\wedge$ deltaSpeed > 25
|
||||
ACTION
|
||||
new StrongAccelerationEvent(relatedCar=c1.relatedCar, deltaSpeed=deltaSpeed)
|
||||
new CarStrongAccelerationEvent(relatedCar=c1.relatedCar, deltaSpeed=deltaSpeed)
|
||||
\end{lstlisting}
|
||||
|
||||
Übersetzt man dies in einen C-SPARQL-Query, so erhält man folgende Abfrage:
|
||||
\begin{lstlisting}[label={},caption={}]
|
||||
\begin{lstlisting}[label={lst:scenario_strong_acceleration},caption={Erkennung von starker Beschleunigung mit C-SPARQL}]
|
||||
REGISTER STREAM getStronglyAcceleratingCars AS
|
||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||
PREFIX f: <http://larkc.eu/csparql/sparql/jena/ext#>
|
||||
@ -1100,13 +1100,14 @@ WHERE {
|
||||
}
|
||||
\end{lstlisting}
|
||||
Diese muss nun lediglich als Ereignisdatenstrom an der Engine registriert werden, und kann dann innerhalb von weiteren C-SPARQL-Queries verwendet werden.
|
||||
\item Verschleiß der Bremsen durch sehr starke Bremsmanöver
|
||||
|
||||
\item Verschleiß des Motors durch Fahrt mit überhöhter Motordrehzahl
|
||||
\item \textbf{Verschleiß der Bremsen durch sehr starke Bremsmanöver:}
|
||||
Die Umsetzung hier ist sehr ähnlich zu dem Query aus Listing~\ref{lst:scenario_strong_acceleration}, da der einzige Unterschied die Beschleunigungsrichtung ist. Somit ist für die Erkennung lediglich die Vertauschung der beiden Geschwindigkeitsparameter bei der Differenzbildung notwendig. Am Ende der Auswertung wird dann ein Ereignis vom Typ \texttt{CarStrongBrakeEvent} gefeuert.
|
||||
|
||||
\item \textbf{Verschleiß des Motors durch Fahrt mit überhöhter Motordrehzahl:}
|
||||
|
||||
\item Verschleiß der Handbremse durch Fahren mit angezogener Handbremse
|
||||
\item Verschleiß der Reifen durch Fahren mit zu niedrigem Reifendruck
|
||||
\item \textbf{Verschleiß der Handbremse durch Fahren mit angezogener Handbremse:}
|
||||
\item \textbf{Verschleiß der Reifen durch Fahren mit zu niedrigem Reifendruck:}
|
||||
\end{itemize}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user