Initial import with old slides from bachelorcolloquium
This commit is contained in:
		
						commit
						08f30b88c5
					
				
							
								
								
									
										19
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
			
		||||
*.aux
 | 
			
		||||
*.bbl
 | 
			
		||||
*.blg
 | 
			
		||||
*.dvi
 | 
			
		||||
*.log
 | 
			
		||||
*.lol
 | 
			
		||||
*.lot
 | 
			
		||||
*.lof
 | 
			
		||||
*.nav
 | 
			
		||||
*.snm
 | 
			
		||||
*.toc
 | 
			
		||||
*.out
 | 
			
		||||
*.synctex.gz
 | 
			
		||||
*.bak
 | 
			
		||||
*.vrb
 | 
			
		||||
.nfs*
 | 
			
		||||
 | 
			
		||||
build/
 | 
			
		||||
release/
 | 
			
		||||
							
								
								
									
										366
									
								
								MA-KO-Inhalt.tex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										366
									
								
								MA-KO-Inhalt.tex
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,366 @@
 | 
			
		||||
\section{Motivation}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Motivation}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Immer mehr Geräte sind mit dem Internet verbunden
 | 
			
		||||
\item Sollen überwacht werden beziehungsweise überwachen selbst etwas
 | 
			
		||||
\item Bieten kontinuierlich aktuelle Zustands- und Messinformationen 
 | 
			
		||||
\item $\rightarrow$ In Form von RDF-Ereignisdatenströmen abrufbar
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Ereignisdatenströme}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Transportieren Daten von einzelnen Ereignissen
 | 
			
		||||
\item Jedes Ereignis bildet kleinen Teil der Realität ab
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item \dots sofern Daten korrekt sind (Messfehler, Übertragungsfehler, \dots)
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\item Aber: Sind oft zeitlich begrenzt gültig
 | 
			
		||||
\item Und: Treten meist hochfrequent auf
 | 
			
		||||
\item $\rightarrow$ Große Datenmengen in kürzester Zeit
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Verarbeitung der Ereignisdatenströme}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Ein Ereignis für sich trägt kaum Bedeutung
 | 
			
		||||
\item Betrachtung in Kontext notwendig
 | 
			
		||||
\item Der Kontext ergibt sich \dots
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item \dots durch relevante, weitere Ereignisse
 | 
			
		||||
\item \dots durch Integration von \emph{Domänenwissen}
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\item Möglichst schnelle Verarbeitung gefordert
 | 
			
		||||
\item $\rightarrow$ Complex Event Processing (CEP)
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Was ist Complex Event Processing? (CEP)}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Betrachtung von Ereignissen in \emph{Sliding Windows}
 | 
			
		||||
\item $\rightarrow$ In-Memory Processing
 | 
			
		||||
\item Erkennung von Ereignismustern
 | 
			
		||||
\item Aggregation von Ereignissen
 | 
			
		||||
\item $\rightarrow$ Erzeugung von komplexen Ereignissen
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Ziel der Arbeit}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Verarbeitung von RDF-Ereignisdatenströmen mit CEP
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item \dots unter Nutzung der C-SPARQL-Engine
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\item Dabei: Integration von Domänenwissen
 | 
			
		||||
\item Und: In wie weit kann Reasoning\footnote{Dazu später mehr \dots} genutzt werden?
 | 
			
		||||
\item $\rightarrow$ Anhand eines Beispielszenarios praktisch durchführen
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\section{Exkurs: Grundlagen RDF}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Exkurs: Grundlagen RDF}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Resource Description Framework
 | 
			
		||||
\item Framework zur Beschreibung und Modellierung von Wissen
 | 
			
		||||
\item Aussagen sind Tripel
 | 
			
		||||
\item Bestehen aus Subjekt, Prädikat und Objekt
 | 
			
		||||
\item Werden als URI repräsentiert
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Im Objektteil sind auch Literalwerte erlaubt
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{itemize}
 | 
			
		||||
 | 
			
		||||
Es folgt ein Beispiel \dots
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}[fragile]{Beispiel: Zwei RDF-Tripel in Turtle-Notation}
 | 
			
		||||
Fakten über ein beispielhaftes Subjekt in RDF:
 | 
			
		||||
\begin{lstlisting}
 | 
			
		||||
@prefix car: <http://example.org/carSim/objects/Car#> .
 | 
			
		||||
@prefix carModel: <http://example.org/carSim/objects/CarModel#> .
 | 
			
		||||
@prefix carOnt: <http://example.org/carSim/carSimulationOntology#> .
 | 
			
		||||
 | 
			
		||||
car:23	carOnt:isCarModel	carModel:42 .
 | 
			
		||||
car:23	carOnt:hasNickname	"Alf"^^xsd:string .
 | 
			
		||||
\end{lstlisting}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Turtle erlaubt mit \texttt{@prefix} die Definition von Prefixen\footnote{Für die Übersichtlichkeit werden Prefixe auf den folgenden Folien weggelassen.}
 | 
			
		||||
\item $\rightarrow$ Übersichtliche Repräsentation der Fakten
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}[fragile]{Beispiel: Zwei RDF-Tripel visualisiert}
 | 
			
		||||
\begin{figure}[htbp]
 | 
			
		||||
\centering
 | 
			
		||||
%\includegraphics[width=\textwidth]{img/triple-spo.pdf}
 | 
			
		||||
\caption{Prädikate verknüpfen ein Subjekt mit Objekt und Literalwert}
 | 
			
		||||
\label{fig:triple_spo}
 | 
			
		||||
\end{figure}
 | 
			
		||||
\begin{lstlisting}
 | 
			
		||||
car:23	carOnt:isCarModel	carModel:42 .
 | 
			
		||||
car:23	carOnt:hasNickname	"Alf"^^xsd:string .
 | 
			
		||||
\end{lstlisting}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Assertion Box (ABox) und Terminology Box (TBox)}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Unterscheidung zwischen Faktenbasis (ABox) und Terminologie (TBox)
 | 
			
		||||
\item TBox enthält Vokabular mit definierter Bedeutung
 | 
			
		||||
\item $\rightarrow$ Analog: Klassendefinition in OOP 
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Objektklassen
 | 
			
		||||
\item Prädikate
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\item ABox enthält konkrete Fakten
 | 
			
		||||
\item $\rightarrow$ Analog: Instanzen in OOP 
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item z.B. Wissen über existierende Objekte, \dots
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{comment}
 | 
			
		||||
\begin{frame}[fragile]{Beispiel für eine TBox}
 | 
			
		||||
Definition der Klassen \texttt{Car}, \texttt{CarModel} und \texttt{Driver} in RDF-Schema (RDFS):
 | 
			
		||||
\begin{lstlisting}
 | 
			
		||||
:Car	rdf:type	rdfs:class .
 | 
			
		||||
:CarModel	rdf:type	rdfs:class .
 | 
			
		||||
:Driver	rdf:type	rdfs:class .
 | 
			
		||||
 | 
			
		||||
:drives	rdf:type	rdf:Property .
 | 
			
		||||
:drives	rdfs:domain	:Driver .
 | 
			
		||||
:drives	rdfs:range	:Car .
 | 
			
		||||
 | 
			
		||||
:isCarModel	rdf:type	rdf:Property .
 | 
			
		||||
:isCarModel	rdfs:domain	:Car .
 | 
			
		||||
:isCarModel	rdfs:range	:CarModel .
 | 
			
		||||
\end{lstlisting}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}[fragile]{Beispiel für eine ABox}
 | 
			
		||||
Beschreibung eines PKW und dessen Fahrer mit Hilfe der Terminologie aus der vorherigen TBox:
 | 
			
		||||
\begin{lstlisting}
 | 
			
		||||
car:5	rdf:type	:Car .
 | 
			
		||||
car:5	:isCarModel	carModel:8 .
 | 
			
		||||
 | 
			
		||||
carModel:8	rdf:type	:CarModel .
 | 
			
		||||
carModel:8	:maximumMotorRPM	4300 .
 | 
			
		||||
 | 
			
		||||
driver:1	rdf:type	:Driver .
 | 
			
		||||
driver:1	:drives	car:5 .
 | 
			
		||||
driver:1	:hasName	"Max Mustermann"^^xsd:string .
 | 
			
		||||
\end{lstlisting}
 | 
			
		||||
\end{frame}
 | 
			
		||||
\end{comment}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Reasoning}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Prozess zum automatischen Anreichern von RDF-Daten
 | 
			
		||||
\item Baut auf einer gegebenen TBox auf
 | 
			
		||||
\item Ermittelt in der ABox enthaltenes, \emph{implizites} Wissen
 | 
			
		||||
\end{itemize}
 | 
			
		||||
 | 
			
		||||
Dazu folgt nun ein Beispiel \dots
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}[fragile]{Beispiel: Reasoning}
 | 
			
		||||
Gegeben sei folgende Faktenbasis (ABox):
 | 
			
		||||
\begin{lstlisting}
 | 
			
		||||
:a	:drives	:b .
 | 
			
		||||
\end{lstlisting}
 | 
			
		||||
Führt man nun Reasoning mit Hilfe dieser Terminologie (TBox) durch:
 | 
			
		||||
\begin{lstlisting}
 | 
			
		||||
:drives	rdf:type	rdf:Property .
 | 
			
		||||
:drives	rdfs:domain	:Driver .
 | 
			
		||||
:drives	rdfs:range	:Car .
 | 
			
		||||
 | 
			
		||||
:Vehicle	rdf:type	rdfs:class .
 | 
			
		||||
:Car	rdf:type	rdfs:class .
 | 
			
		||||
:Car	rdfs:subclassOf	:Vehicle .
 | 
			
		||||
\end{lstlisting}
 | 
			
		||||
So ergibt sich daraus folgendes, implizites Wissen:
 | 
			
		||||
\begin{lstlisting}
 | 
			
		||||
:a	rdf:type	:Driver .
 | 
			
		||||
:b	rdf:type	:Car .
 | 
			
		||||
:b	rdf:type	:Vehicle .
 | 
			
		||||
\end{lstlisting}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{comment}
 | 
			
		||||
\begin{frame}{Zusammenfassung RDF-Exkurs}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item RDF-Daten bestehen aus Tripeln (Subjekt, Prädikat, Objekt)
 | 
			
		||||
\item ABox enthält Fakten
 | 
			
		||||
\item TBox enthält Definitionen für Klassen und Attribute
 | 
			
		||||
\item Reasoning reichert vorhandenes Wissen automatisch um \emph{implizites} Wissen an
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item \dots dafür ist eine TBox mit Vokabular notwendig
 | 
			
		||||
\item Unter Nutzung von Vokabular auf RDFS-Basis kann schon viel erreicht werden
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
\end{comment}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\section{Complex Event Processing mit C-SPARQL}
 | 
			
		||||
 | 
			
		||||
\begin{frame}[fragile]{Input: RDF-Ereignisdatenströme}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Ereignisdaten kommen als RDF-Quadrupel an
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Tripel + Zeitstempel $\rightarrow$ Quadrupel (kurz: Quads)
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{itemize}
 | 
			
		||||
Beispiel für Quadrupel aus RDF-Ereignisdatenströmen:
 | 
			
		||||
\begin{lstlisting}
 | 
			
		||||
(1344829400)	event:324	rdf:type	carOnt:CarStatusEvent .
 | 
			
		||||
(1344829400)	event:324	carOnt:relatedCar	car:0 .
 | 
			
		||||
(1344829400)	event:324	carOnt:speed	63 .
 | 
			
		||||
 | 
			
		||||
(1344829405)	event:325	rdf:type	carOnt:CarStatusEvent .
 | 
			
		||||
(1344829405)	event:325	carOnt:relatedCar	car:0 .
 | 
			
		||||
(1344829405)	event:325	carOnt:speed	75 .
 | 
			
		||||
\end{lstlisting}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Complex Event Processing}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Ereignisdaten werden in Sliding Windows betrachtet
 | 
			
		||||
\item Auswertung anhand von CEP-Regeln
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Definieren Bedingungen und Aktionen
 | 
			
		||||
\item Aktionen werden ausgeführt, wenn Bedingungen erfüllt sind
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\item Mustererkennung und Aggregation von Ereignissen
 | 
			
		||||
\item $\rightarrow$ Erzeugung komplexer Ereignisse aus Ergebnissen
 | 
			
		||||
\item $\rightarrow$ Auslösen von Aktionen (externe Dienste anstoßen, Code ausführen)
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Sliding Window und Tumbling Window}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Nur Ereignisse in einem Window sind Teil der Auswertung
 | 
			
		||||
\item Haben feste Größe (z.B. 15 Minuten oder 100 Ereignisse)
 | 
			
		||||
\item Werden nach jeder Auswertung weitergeschoben
 | 
			
		||||
\item Tumbling Window ist Sonderfall
 | 
			
		||||
\item \dots wird um seine Größe weitergeschoben
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item $\rightarrow$ Ereignisse nur ein \emph{einziges Mal} darin enthalten
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\begin{figure}[htbp]
 | 
			
		||||
\centering
 | 
			
		||||
%\includegraphics[width=\textwidth]{img/slidingvstumblingwindow.pdf}
 | 
			
		||||
\caption{Sliding- und Tumbling Window auf einem Ereignisstrom}
 | 
			
		||||
\label{fig:slidingvstumblingwindow}
 | 
			
		||||
\end{figure}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{CEP mit der C-SPARQL-Engine}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item \enquote{Continuous SPARQL}
 | 
			
		||||
\item In Java implementiert, basiert auf Bibliotheken Apache Jena und Sesame
 | 
			
		||||
\item Erweiterung der Abfragesprache SPARQL für RDF-Daten
 | 
			
		||||
\item Enthält Funktionalität zur Verarbeitung von RDF-Datenströmen
 | 
			
		||||
\item Ermöglicht leichte Einbindung von lokalem Domänenwissen
 | 
			
		||||
\item Unterstützt Reasoning auf RDF-Datenströmen mit RDFS-Vokabular
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{CEP-Regeln}
 | 
			
		||||
Szenario:
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item PKW-Verleihgesellschaft möchte Fuhrpark überwachen
 | 
			
		||||
\item Vergünstigte Tarife für verschleißarmes Fahrverhalten
 | 
			
		||||
\item PKW senden periodisch \texttt{CarStatusEvent}s aus
 | 
			
		||||
\item Domänenwissen enthält Daten über die Fahrer der PKW
 | 
			
		||||
\item Beispiel: Notorische Raser (>130km/h) sollen erkannt werden
 | 
			
		||||
\end{itemize}
 | 
			
		||||
Dazu folgt nun der C-SPARQL-Query \dots
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}[fragile]{C-SPARQL Query}
 | 
			
		||||
\begin{lstlisting}
 | 
			
		||||
REGISTER QUERY getSpeedingCars AS
 | 
			
		||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
 | 
			
		||||
PREFIX car: <http://example.org/carSim/carSimulationOntology#>
 | 
			
		||||
SELECT ?driverName ?car (AVG(?speed) AS ?avgSpeed) 
 | 
			
		||||
FROM STREAM <http://example.org/carSim/stream/carStream> [RANGE 5m STEP 1m]
 | 
			
		||||
FROM <http://example.org/carSimKnowledgeGraph>
 | 
			
		||||
WHERE {
 | 
			
		||||
 ?e rdf:type car:CarStatusEvent .
 | 
			
		||||
 ?e car:relatedCar ?car .
 | 
			
		||||
 ?e car:speed ?speed .
 | 
			
		||||
 ?driver car:isDriving ?car .
 | 
			
		||||
 ?driver car:hasName ?driverName .
 | 
			
		||||
}
 | 
			
		||||
GROUP BY (?car)
 | 
			
		||||
HAVING (AVG(?speed) > 130)
 | 
			
		||||
\end{lstlisting}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Ergebnis}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Alle PKW mit Durchschnittsgeschwindigkeit >130km/h werden gemeldet
 | 
			
		||||
\item Verantwortliche Fahrer sind Teil des Ergebnisses
 | 
			
		||||
\item Weiterführend möglich: Observer in Java schreiben und an Abfrage registrieren
 | 
			
		||||
\item In Observer: über solche Vorfälle Buch führen
 | 
			
		||||
\item Gesamte Umsetzung des Szenarios in Bachelorarbeit beschrieben
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\section{Fazit}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Fazit}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item C-SPARQL-Engine noch nicht vollständig ausgereift
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Probleme mit Sprachparser, kryptische Exceptions, Zeitstempel nicht immer abrufbar
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\item Einige Probleme bei der Durchführung des Beispielszenarios aufgetaucht
 | 
			
		||||
\item Einfacher Zugriff auf Domänenwissen ist großer Pluspunkt
 | 
			
		||||
\item Domänenwissen zur Laufzeit leicht veränderbar
 | 
			
		||||
\item Nutzung von Reasoning auf Basis von TBox mit RDF-Schema möglich
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item \dots auch auf Daten der Ereignisdatenströme!
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\item Für rein didaktische Zwecke auf jeden Fall zur Erprobung von CEP geeignet
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}{Ausblick}
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Nach einigen Verbesserungen und Fehlerbehebungen gut nutzbar
 | 
			
		||||
\item Dann auch definitiv für Einsteiger geeignet
 | 
			
		||||
\item Eventuell Reasoning auf Basis von TBox mit OWL-Ontologien denkbar
 | 
			
		||||
\begin{itemize}
 | 
			
		||||
\item Diese sind deutlich mächtiger als Vokabular auf RDFS-Basis
 | 
			
		||||
\item Ermöglichen Attribute mit Transitivität, Symmetrie, Inversen, \dots
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{itemize}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
% Probably not used, not sure yet.
 | 
			
		||||
\begin{comment}
 | 
			
		||||
\begin{frame}{Literaturverzeichnis}
 | 
			
		||||
% Literaturverzeichnis
 | 
			
		||||
% Schlüssel als Buchstaben
 | 
			
		||||
\bibliographystyle{alpha}
 | 
			
		||||
\bibliography{Literaturverweise}
 | 
			
		||||
% Und JETZT zum Inhaltsverzeichnis hinzufügen. Geil!
 | 
			
		||||
\addcontentsline{toc}{chapter}{Literaturverweise}
 | 
			
		||||
\end{frame}
 | 
			
		||||
\end{comment}
 | 
			
		||||
 | 
			
		||||
\begin{frame}[fragile]{EOF}
 | 
			
		||||
Vielen Dank für Ihre Aufmerksamkeit!
 | 
			
		||||
 | 
			
		||||
Fragen?
 | 
			
		||||
 | 
			
		||||
Download der Software und Bachelorarbeit unter: \url{http://jpt.lu/thesispackage.zip}
 | 
			
		||||
\end{frame}
 | 
			
		||||
							
								
								
									
										70
									
								
								MA-KO-Master.tex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								MA-KO-Master.tex
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,70 @@
 | 
			
		||||
\documentclass{f4_beamer}
 | 
			
		||||
 | 
			
		||||
% Basic setup
 | 
			
		||||
\usepackage[german]{babel} % Sprachpaket für Deutsch (Umlaute, Trennung,deutsche Überschriften)
 | 
			
		||||
\usepackage{graphicx,hyperref} % Graphikeinbindung, Hyperref (alles klickbar, Bookmarks)
 | 
			
		||||
\usepackage{amssymb} % Math. Symbole aus AmsTeX
 | 
			
		||||
\usepackage[utf8]{inputenc} % Umlaute
 | 
			
		||||
% Custom packages
 | 
			
		||||
\usepackage[autostyle=true,german=quotes]{csquotes} % Anführungszeichen mit \enquote{}
 | 
			
		||||
\usepackage{textcomp} % Zusätzliches Package für °C
 | 
			
		||||
\usepackage{listings} % Codesnippets
 | 
			
		||||
\usepackage{scrhack} % Hack for lstlisting i suspect :-/
 | 
			
		||||
\usepackage{xcolor}
 | 
			
		||||
\usepackage{float}
 | 
			
		||||
\usepackage{soul}
 | 
			
		||||
\usepackage{verbatim} % für comment-environment
 | 
			
		||||
\usepackage{amsmath}
 | 
			
		||||
 | 
			
		||||
% Setup für Codeblocks
 | 
			
		||||
\lstset{
 | 
			
		||||
	% Optionen
 | 
			
		||||
	breaklines=true,
 | 
			
		||||
	breakatwhitespace=true,
 | 
			
		||||
	breakautoindent=true,
 | 
			
		||||
	frame=single,
 | 
			
		||||
	%framexleftmargin=19pt,
 | 
			
		||||
	inputencoding=utf8,
 | 
			
		||||
	%language=awk,
 | 
			
		||||
	%numbers=left,
 | 
			
		||||
	%numbersep=8pt,
 | 
			
		||||
	showspaces=false,
 | 
			
		||||
	showstringspaces=false,
 | 
			
		||||
	tabsize=1,
 | 
			
		||||
	%xleftmargin=19pt,
 | 
			
		||||
	captionpos=b,
 | 
			
		||||
	% Styling
 | 
			
		||||
	basicstyle=\footnotesize\ttfamily,
 | 
			
		||||
	commentstyle=\footnotesize,
 | 
			
		||||
	keywordstyle=\footnotesize\ttfamily,
 | 
			
		||||
	numberstyle=\footnotesize,
 | 
			
		||||
	stringstyle=\footnotesize\ttfamily,
 | 
			
		||||
}
 | 
			
		||||
% Hack für Sonderzeichen in Codeblocks
 | 
			
		||||
\lstset{literate=%
 | 
			
		||||
    {Ö}{{\"O}}1
 | 
			
		||||
    {Ä}{{\"A}}1
 | 
			
		||||
    {Ü}{{\"U}}1
 | 
			
		||||
    {ß}{{\ss}}1
 | 
			
		||||
    {ü}{{\"u}}1
 | 
			
		||||
    {ä}{{\"a}}1
 | 
			
		||||
    {ö}{{\"o}}1
 | 
			
		||||
    {°}{{${^\circ}$}}1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
% Broken citation needs broken command
 | 
			
		||||
\newcommand\mathplus{+}
 | 
			
		||||
 | 
			
		||||
% Actual beamer related document setup
 | 
			
		||||
\title{Konzeption und Umsetzung eines IPv6-VPN für die Abteilung Informatik}
 | 
			
		||||
\subtitle{Masterkolloquium}
 | 
			
		||||
\author{Jan Philipp Timme}
 | 
			
		||||
\date{\today}
 | 
			
		||||
 | 
			
		||||
% Content below this line
 | 
			
		||||
\begin{document}
 | 
			
		||||
 | 
			
		||||
\input{MA-KO-Inhalt.tex}
 | 
			
		||||
 | 
			
		||||
\end{document}
 | 
			
		||||
% No more content below this line
 | 
			
		||||
							
								
								
									
										26
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
			
		||||
.PHONY: default
 | 
			
		||||
SHELL=/bin/bash
 | 
			
		||||
 | 
			
		||||
MA_KO_NAME="MA-KO-Master"
 | 
			
		||||
MA_KO_NAME_FINAL="Kolloquium Masterarbeit IPv6-VPN"
 | 
			
		||||
 | 
			
		||||
# Custom command enhancements
 | 
			
		||||
PDFLATEX=pdflatex -interaction=nonstopmode -file-line-error -output-directory build
 | 
			
		||||
PDFLATEXGREP=""
 | 
			
		||||
#PDFLATEXGREP=| grep -i ".*:[0-9]*:.*\|warning"
 | 
			
		||||
 | 
			
		||||
default: cleanall render
 | 
			
		||||
 | 
			
		||||
render:
 | 
			
		||||
	${PDFLATEX} ${MA_KO_NAME}.tex ${PDFLATEXGREP}
 | 
			
		||||
	#bibtex build/${MA_KO_NAME}
 | 
			
		||||
	#${PDFLATEX} ${MA_KO_NAME}.tex ${PDFLATEXGREP}
 | 
			
		||||
	${PDFLATEX} ${MA_KO_NAME}.tex ${PDFLATEXGREP}
 | 
			
		||||
	cp build/${MA_KO_NAME}.pdf release/${MA_KO_NAME_FINAL}.pdf
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	cd build; rm -v *.aux *.bbl *.blg *.log *.out *.toc *.synctex.gz; cd ..; exit 0;
 | 
			
		||||
 | 
			
		||||
cleanall:
 | 
			
		||||
	rm -rfv build; mkdir build
 | 
			
		||||
	rm -rfv release; mkdir release
 | 
			
		||||
							
								
								
									
										131
									
								
								f4_beamer.cls
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										131
									
								
								f4_beamer.cls
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,131 @@
 | 
			
		||||
\typeout{Beamer  class for talks with F4 style <2017-07-19> Frauke Sprengel}
 | 
			
		||||
\NeedsTeXFormat{LaTeX2e}
 | 
			
		||||
 | 
			
		||||
\ProvidesClass{f4_beamer}[2017/07/19  beamer class F4 style]
 | 
			
		||||
 | 
			
		||||
\RequirePackage{ifthen}
 | 
			
		||||
\RequirePackage{etex} 
 | 
			
		||||
\RequirePackage[utf8]{inputenc}
 | 
			
		||||
\RequirePackage[T1]{fontenc}
 | 
			
		||||
\RequirePackage{lmodern} 
 | 
			
		||||
\RequirePackage{amssymb}
 | 
			
		||||
\RequirePackage{amsmath}
 | 
			
		||||
\RequirePackage{graphicx}
 | 
			
		||||
 | 
			
		||||
%\RequirePackage{url,hyperref}
 | 
			
		||||
 | 
			
		||||
 \DeclareOption{ngerman}{%
 | 
			
		||||
 \PassOptionsToPackage{\CurrentOption}{babel}
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 \DeclareOption{english}{%
 | 
			
		||||
 \PassOptionsToPackage{\CurrentOption}{babel}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
\ExecuteOptions{ngerman}
 | 
			
		||||
\ProcessOptions
 | 
			
		||||
 | 
			
		||||
\LoadClass[german,compress,hyperref={pdfpagelabels=false},unknownkeysallowed]{beamer}
 | 
			
		||||
%\RequirePackage{babel}
 | 
			
		||||
\RequirePackage{geometry}
 | 
			
		||||
\geometry{paperwidth=16cm,paperheight=9cm}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\newcommand{\zsp}{\rule{0pt}{0pt}}  % zero space
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\mode<presentation>{%
 | 
			
		||||
\hypersetup{pdffitwindow=true,pdfpagelayout=SinglePage,%pdfpagemode=FullScreen,
 | 
			
		||||
breaklinks=true,urlcolor=Blue}
 | 
			
		||||
\usetheme{default}
 | 
			
		||||
\useinnertheme[shadow=true]{rounded}
 | 
			
		||||
\usecolortheme{orchid}
 | 
			
		||||
\setbeamercovered{invisible}
 | 
			
		||||
\setbeamertemplate{theorems}[numbered]
 | 
			
		||||
\setbeamertemplate{captions}[numbered]
 | 
			
		||||
\setbeamertemplate{bibliography item}[book]
 | 
			
		||||
\usefonttheme{professionalfonts}
 | 
			
		||||
 \raggedright
 | 
			
		||||
\setbeamertemplate{items}[circle]
 | 
			
		||||
%\setbeamertemplate{itemize items}[ball]
 | 
			
		||||
\setbeamertemplate{bibliography item}[book]
 | 
			
		||||
 | 
			
		||||
\titlegraphic{\includegraphics[width=0.15\textwidth]{res/Wortmarke_WI_schwarz.pdf}}
 | 
			
		||||
 | 
			
		||||
\defbeamertemplate*{title page}{customized}[1][]
 | 
			
		||||
{ \inserttitlegraphic\par\vfill\vfill
 | 
			
		||||
  \usebeamerfont{title}{\bfseries \inserttitle}\par
 | 
			
		||||
  \usebeamerfont{subtitle}%\usebeamercolor[fg]{subtitle}
 | 
			
		||||
  {\slshape \insertsubtitle}\par  \bigskip
 | 
			
		||||
  \usebeamerfont{author}{\footnotesize\insertauthor\par
 | 
			
		||||
  \usebeamerfont{date}\insertdate\par}\vspace*{-1cm}
 | 
			
		||||
  %\usebeamerfont{institute}\insertinstitute\par
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  \AtBeginDocument{%
 | 
			
		||||
    \setcounter{framenumber}{0}
 | 
			
		||||
{\setbeamertemplate{footline}{}
 | 
			
		||||
  \setbeamertemplate{sidebar right}{~ \vfill\par
 | 
			
		||||
\mbox{}\hspace{-2cm}
 | 
			
		||||
\includegraphics[width=3cm]{res/H_WI_Pantone1665.pdf}}
 | 
			
		||||
 | 
			
		||||
\maketitle }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
\AtBeginSection[]
 | 
			
		||||
{
 | 
			
		||||
  \begin{frame}<beamer>
 | 
			
		||||
    \tableofcontents[currentsection,hideothersubsections]
 | 
			
		||||
  \end{frame}
 | 
			
		||||
}
 | 
			
		||||
  
 | 
			
		||||
  % Frame layout
 | 
			
		||||
  \pgfdeclareimage[height=1.7cm]{fhh-logo}{res/H_WI_Pantone1665.pdf}
 | 
			
		||||
  \logo{\pgfuseimage{fhh-logo}}  
 | 
			
		||||
\definecolor{structureBlue}{rgb}{0.862745098, 0.235294118, 0.019607843}
 | 
			
		||||
\renewcommand{\alert}[1]{{\textcolor{structureBlue}{#1}}}
 | 
			
		||||
  \setbeamertemplate{navigation symbols}{%
 | 
			
		||||
    \insertslidenavigationsymbol{}
 | 
			
		||||
    \insertframenavigationsymbol{}
 | 
			
		||||
    \insertbackfindforwardnavigationsymbol{}%
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  \setbeamertemplate{sidebar left}{}
 | 
			
		||||
  \setbeamertemplate{footline}{%
 | 
			
		||||
 
 | 
			
		||||
    \zsp\hspace{0.1cm}%
 | 
			
		||||
	\parbox{0.95\textwidth}{{\fontsize{6}{8}
 | 
			
		||||
	\mbox{~}\textcolor{structureBlue}{\hrulefill}\mbox{} \\
 | 
			
		||||
 | 
			
		||||
	\mbox{~}{\bfseries Hochschule Hannover}, Fak. IV, \insertshortauthor{}, \insertshorttitle{}, 
 | 
			
		||||
	 \insertshortsubtitle{}, \insertdate{} \hfill \insertframenumber{}
 | 
			
		||||
	\vspace*{4pt}
 | 
			
		||||
	}}
 | 
			
		||||
%    \parbox{4cm}{%
 | 
			
		||||
      %\insertlogo{}%
 | 
			
		||||
%      \vskip2pt%
 | 
			
		||||
%    }%
 | 
			
		||||
%    \hfill
 | 
			
		||||
%    \parbox{4cm}{%
 | 
			
		||||
%      \centering\fontsize{6}{8}%
 | 
			
		||||
%      \textcolor{lightgray}{\insertshorttitle{}}\\[2pt]
 | 
			
		||||
%      \textcolor{lightgray}{\insertshortauthor{} -- \insertdate{}}%
 | 
			
		||||
%      \vspace*{2pt}%
 | 
			
		||||
%    }
 | 
			
		||||
%    \hfill
 | 
			
		||||
%    \parbox{4cm}{%
 | 
			
		||||
%      \raggedleft\fontsize{6}{8}%
 | 
			
		||||
%      \textcolor{lightgray}{\insertlecture{} --  \insertsectionhead{} --
 | 
			
		||||
%      \insertframenumber{}}\\ \usebeamertemplate***{navigation symbols}%
 | 
			
		||||
%      \vspace*{2pt}%
 | 
			
		||||
%    }
 | 
			
		||||
    \hspace{0.1cm}\zsp
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
\setbeamersize{sidebar width right=1.5cm}
 | 
			
		||||
 \setbeamertemplate{sidebar right}{~ \vfill \insertlogo \vspace*{10pt} 
 | 
			
		||||
 | 
			
		||||
	~}
 | 
			
		||||
 | 
			
		||||
\setbeamercolor{structure}{fg=structureBlue!70!black}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								res/H_WI_Pantone1665.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								res/H_WI_Pantone1665.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								res/Wortmarke_WI_schwarz.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								res/Wortmarke_WI_schwarz.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user