Compare commits

...

11 Commits

Author SHA1 Message Date
Clemens Klug 68af833961 final rc 2018-08-06 10:20:27 +02:00
Clemens Klug d150f74d79 p3: contents ready 2018-07-26 16:34:43 +02:00
Clemens Klug 7995172970 merge both previous presentations 2018-07-24 21:25:45 +02:00
Clemens Klug f674b9549e final tuning 2018-06-13 20:24:19 +02:00
clemens 23c9ddfa3e wörk(review) 2018-06-13 15:30:26 +02:00
clemens 1ba55ed7e8 wörk (review) 2018-06-13 14:13:35 +02:00
Clemens Klug 923d692ee8 wörk (review issues) 2018-06-13 12:06:43 +02:00
Clemens Klug edc7cba50c add remark of favourite future analysis 2018-06-13 10:00:33 +02:00
Clemens Klug 846f467cd1 add note about external data 2018-06-12 19:54:46 +02:00
Clemens Klug f48b0bf426 add missing image 2018-06-12 19:51:38 +02:00
Clemens Klug 5d4ed02c20 add eval lxml size increase 2018-06-12 18:14:48 +02:00
22 changed files with 225 additions and 165 deletions

View File

@ -2,10 +2,10 @@
%Necessary Information
\author{Clemens Klug}
\title{A Framework for the Analysis of Spatial Game Data}
\subtitle{Ein Analyseframework f\"ur raumbezogene Spieldaten\\2. Vortrag}
\subtitle{Ein Analyseframework f\"ur raumbezogene Spieldaten\\3. Vortrag}
%The day of the presentation
%\date{\today}
\date{May 24, 2018}
\date{7. August 2018}
%Optional Information
\subject{A Framework for the Analysis of Spatial Game Data}

BIN
PresTeX/images/demo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
PresTeX/images/eval.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

BIN
PresTeX/images/oeb-raw.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -100,78 +100,98 @@ compress
%%%%%%%%%% Content starts here %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Solution approach}
\frame
{
\tableofcontents[sectionstyle=show/hide,hideothersubsections]
}
\subsection{Requirements}
\begin{frame}{Requirements}
\framesubtitle{Wait, what did I want to do again?}
\section{A Framework for the Analysis of Spatial Game Data}
\begin{frame}{A Framework for the Analysis of Spatial Game Data}
\framesubtitle{Goal definition}
\begin{columns}
\column{0.49\linewidth}
Geogames: Intersection of GIS and gaming technology\footnotemark
\begin{itemize}
\item Game actions tied to real-world spatial places ('Break the magic circle')
\item Locomotion as essential game part
\item Trade-offs between board and race style games\footnotemark
\item Foster recognition of environment
\item Focus through game related tasks
\end{itemize}
\column{.49\linewidth}
Scope of the analysis framework
\begin{itemize}
\item Framework for analysis
\item Two target groups:
\begin{itemize}
\item Expert users/researchers
\item Staging/designing staff
\end{itemize}
\item Integration of external data (questionnaire results)
\item Adaptable for multiple games
\end{itemize}
\end{columns}
\addtocounter{footnote}{-1}
\footcitetext{Ahlqvist2018}\stepcounter{footnote}
\footcitetext{1705427}
\end{frame}
\begin{frame}{Framework components}
Prerequisites: Game log
\begin{itemize}
\item Creation
\item Storage
\end{itemize}
New components
\begin{itemize}
\item Per-game importer (Web client, File loader, …)
\item Analyzer modules (number crunching)
\item Output \& Visualization (CSV, [Geo]JSON, KML, Graphs, …)
\item Interface (Configuration)
\begin{itemize}
\item Expert users/researchers
\item Staging/designing staff
\end{itemize}
\item Cross-game comparisons
\item Integration of external data (questionnaire results)
\end{itemize}
\end{frame}
\subsection{Architecture}
%\begin{frame}{Experiment: Kibana}
%\image{.85\textwidth}{kibana}{Game trace in Kibana}{img:kibana}
%\end{frame}
\begin{frame}{Experiment: Kibana}
\image{.85\textwidth}{kibana2}{Game trace in Kibana}{img:kibana2}
\end{frame}
\begin{frame}{Experiment: Grafana}\hspace{.3\textwidth}a\\[-24pt]
\image{.85\textwidth}{grafana}{Side project: Weather station with Grafana}{img:grafana}
\end{frame}
\section{Modular map-reduce architecture}
\begin{frame}{Architecture scheme}
\begin{frame}{Architecture}
Log processing turn-key solutions
\begin{itemize}
\item Fast update cycles
\item Low spatial resolution
\item Query languages as entry barrier
\end{itemize}
Custom stack solution
\begin{itemize}
\item Based on map-reduce
\item Map: Analysis
\begin{itemize}
\item Iterate Log entries
\item Feed log entry through analyzer queue
\begin{itemize}
\item Augment entries
\item Filter entries
\item Sequential order
\end{itemize}
\end{itemize}
\item Reduce: Collect summaries from analyzers
\begin{itemize}
\item Rendering
\item Post-processing, Comparison, …
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Log processing scheme}
\image{\textwidth}{../../ThesTeX/images/map-reduce.pdf}{Data flows}{img:flow}
\end{frame}
\section{Implementation}
%%%%%%%%%%%%%%%%%55
% PRESENTATION 2
%%%%%%%%%%%%%%%%%%%%
\subsection{Technologies}
\begin{frame}{Implementation}
\begin{columns}
\column{0.55\linewidth}
Analysis
\begin{itemize}
\item Python (3.6)
\item Standalone library/CLI tool
\item Web based configuration/Runner/API (Flask, Celery)
\end{itemize}
Rendering
\begin{itemize}
\item Matplotlib, Numpy
\begin{itemize}
\item Graphs
\end{itemize}
\item Javascript
\begin{itemize}
\item Leaflet
\item Web visualization: Maps, Tracks, …
\end{itemize}
\end{itemize}
\pic{.5\textwidth}{matplotlib}
\column{0.4\linewidth}
\pic{.5\textwidth}{python}
\pic{.4\textwidth}{flask}
\pic{.4\textwidth}{leaflet}
\end{columns}
\end{frame}
\subsection{Microservice Composition}
\section{Microservice oriented implementation}
\subsection{Service Composition}
\begin{frame}{Microservice Composition}
\framesubtitle{Docker everything!}
\framesubtitle{Dockerize everything!}
\begin{columns}
\column{0.45\linewidth}
\begin{itemize}
@ -187,36 +207,31 @@ compress
\end{columns}
\end{frame}
\subsection{Classes}
\subsection{Results}
\begin{frame}{Analysis}
\twofigures{0.5}{code/analyzer}{Analyzer interface}{code:anif}{code/mask-spatials}{Sample analyzer}{code:mask}{Analyzer stub and implementation}{fig:pyan}
\begin{frame}{ActivityMapper}
\image{.7\textwidth}{track-fi}{Combined screen activity and spatial progress}{img:trackfi}
\end{frame}
\begin{frame}{Track length evaluation}
\begin{columns}
\column{0.49\linewidth}
\image{\textwidth}{oeb-raw}{Raw track lengths}{img:oeb-raw}
\column{0.49\linewidth}
\image{\textwidth}{oeb-simplified}{Simplified track lengths}{img:oeb-simpe}
\end{columns}
\end{frame}
\begin{frame}{Result}
\image{\textwidth}{code/result}{Result class}{code:result}
\end{frame}
\begin{frame}{Render}
\twofigures{0.5}{code/render}{Render interface}{code:reif}{code/render-board}{Sample render}{code:rebo}{Render stub and implementation}{fig:pyre}
\end{frame}
\subsection{Configuration}
\begin{frame}{Configuration \& result}
\twofigures{0.5}{oeb-kml}{Analyzer configuration}{img:oebkml}{oeb-ge}{Result visualized}{img:oebge}{Example: Generate KML tracks (BioDiv2Go; Oberelsbach2016)}{fig:oeb2016}
\end{frame}
\section{Outlook: Evaluation}
%TODO
\section{Evaluation}
\subsection{Setup}
\begin{frame}{Evaluation}
\begin{itemize}
\item Analyse other geogames
\item Describe effort
\item ?
\item Profit
\end{itemize}
%\begin{itemize}
% \item Analyse other geogames
% \item Describe effort
% \item ?
% \item Profit
%\end{itemize}
\image{\textwidth}{eval}{Evaluation setup}{img:evalplan}
\end{frame}
\begin{frame}{Evaluation}
@ -227,7 +242,7 @@ Geogame & Log files & Notes \\
BioDiv2Go & $\approx430$ & SQLite database with JSON log entries, references to game config; import base case\\
GeoTicTacToe & $\approx13$ & CSV with pipes; no temporal data; events + tracks\\
\caption{Geogame client log data}
\label{tab:logs}
\label{tab:logscli}
\end{longtable}
Servers
@ -240,10 +255,47 @@ Neocartographer & $\approx400$ & Partly broken GPX: missing description informat
MissingLink & $\approx6$ & Partly broken GPX: missing spatial information; one GPX file per player\\
Equilibrium & $\approx40$ & GPX with missing end tag\\
\caption{Geogame servers log data}
\label{tab:logs}
\label{tab:logssrv}
\end{longtable}
\end{frame}
\subsection{Results}
\begin{frame}{Integration of Neocartographer}
Challenges
\begin{itemize}
\item Corrupted XML files
\item No game server with API for log retrieval
\end{itemize}
\begin{longtable}[H]{rl}
Geogame & Log files \\
\hline
missing attribute space & <desc><event message="leaveObject"geoid="9"/></desc>\\
unclosed tag & <desc><event </desc>\\
missing attribute name & <trkpt lat="48.3689110.897709">\\
invalid attribute values & <trkpt lat="UNKNOWN" lon="UNKNOWN">\\
\caption{Neocartographer GPX log error types}
\label{tab:xml}
\end{longtable}
Solutions
\begin{itemize}
\item Recovery parser \& custom cleanup (new dependency: lxml)
\item Additional log server (Nginx with JSON autoindex)
\end{itemize}
\end{frame}
\begin{frame}{Evaluation results}
\image{\textwidth}{eval-changes}{Code changes necessary for the integration of another game}{img:eval}
\end{frame}
\section{Demotime}
\begin{frame}{It's time for...}
\huge{...a demo!}
\vspace{2cm}
\pic{.9\textwidth}{demo}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% References %%%%%%%%%%
@ -260,38 +312,6 @@ Equilibrium & $\approx40$ & GPX with missing end tag\\
\appendix
\backupbegin
\begin{frame}{Architecture}
\begin{itemize}
\item Based on map-reduce
\item Map: Analysis
\begin{itemize}
\item Iterate Log entries
\item Feed log entry through analyzer queue
\begin{itemize}
\item Augment entries
\item Filter entries
\item Sequential order
\end{itemize}
\end{itemize}
\item Reduce: Collect summaries from analyzers
\begin{itemize}
\item Post-processing, Comparison, …
\item Rendering
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{Graphs}
\begin{columns}
\column{0.45\linewidth}
\image{\textwidth}{simu-retries}{Experimentational rounds}{img:retries}
\column{0.45\linewidth}
\image{\textwidth}{speed}{Speed distribution}{img:speed}
\end{columns}
\end{frame}
\begin{frame}{Graphs}
\image{.9\textwidth}{time-rel}{Time distribution}{img:time}
\end{frame}
\backupend
\end{document}

View File

@ -4,10 +4,10 @@
\subtitle{A Framework for the Analysis of Spatial Game Data}
\newcommand\degree{Master}
\newcommand\studycourse{Angewandte Informatik}
\newcommand\advisor{Christoph Schlieder}
\newcommand\advisor{Prof. Dr. Christoph Schlieder}
\newcommand\location{Bamberg}
\subject{\degree arbeit im Studiengang \studycourse\ der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich-Universität Bamberg}
\date{19.06.2018?} %TODO
\date{14.06.2018}
\gittrue
\gitfalse
\thesistrue

View File

@ -1,35 +1,22 @@
In this thesis, a framework for the analysis of spatial game data is developed.
This game data is collected during the game sessions and stored in log files.
The following chapters describe the basics of the development process.
\section{Location based Games: Put the 'fun' in education}
Location based Games are at the intersection of GIS and gaming technology \cite{Ahlqvist2018}.
\section{Location based Games: Put the `fun' in education}
Spatial games, also known as location based games, are at the intersection of GIS and gaming technology \cite{Ahlqvist2018}.
With game actions tied to real-world spatial places, this genre breaks the magic circle of games: they are embedded into the environment and the boundary between game and non-game are vanishing \cite{montola2009games}.
As they feature locomotion as an essential game part, a focus on certain aspects of the environment can be achieved by game related tasks.
These tasks can include educational aspects or reward special behaviour through ingame benefits as mean of gamification.
A playable game with good balance and a lasting impact needs to consider the trade-off between board and race style games \cite{1705427,kremer2013spatial}.
Board style games are dominated by strategic planning with less temporal restrictions, while race styled games favour the physical capabilities of the fastest players.
Popular examples of mobile geogames are Ingress\furl{https://www.ingress.com/} and the more recent Pokemon Go\furl{https://www.pokemongo.com/}.
These worldwide playable games barely embed the surroundings into the game except for the base map and some landmark-derived attributes \footnote{Pokemon Go aligns the land types with the possible types of Pokemon's available}.
Popular examples of mobile geogames are Ingress\furl{https://www.ingress.com/} and the more recent Pokemon Go\furl{https://www.pokemongo.com/}\!.
These worldwide playable games barely embed the surroundings into the game except for the base map and some landmark-derived attributes\footnote{Pokemon Go aligns the land types with the possible types of Pokemon's available}\!.
With a fine tuned setup of educational content, game elements and integration of locomotion on the other hand, location based games (also known as geogames) foster recognition of the environment.
\autoref{img:gg2} shows the map overview of such a game: FindeVielfalt Simulation\furl{https://biodivlb.jimdo.com/english-1/project-finde-vielfalt/finde-vielfalt-simulation/}.
\autoref{img:gg2} shows the map overview of such a game: FindeVielfalt Simulation\furl{https://biodivlb.jimdo.com/english-1/project-finde-vielfalt/finde-vielfalt-simulation/}\!.
Located in an orchard, the blue dots are caches tied to game actions.
To proceed in the games narrative story, the caches are to be completed.
The players have to complete a task with context of the caches' location.
The players have to complete a task within the context of the caches' location.
\image{.5\textwidth}{../../PresTeX/images/gg2}{Geogame map view}{img:gg2}
\section{Research with location based games}\label{sec:gg-res}
Usually, when the effectiveness of location based educational games is to be measured, the following pattern is applied:
After a mission statement has been defined and approved, a fitting statistical framework has to be developed.
Based on such a framework, questionnaires have to be derived.
As some metrics cannot be retrieved directly from the questionnaires answers, the statistical framework needs to considers these and consider measurable information to derive the original metric from.
The finished and for alignment with the mission statement approved questionnaires are then applied at field test with users from the target groups.
Each field test consists of an upstream questionnaire, a pass of the location based game and a final round of questionnaires.
After an data entry step for paper-based questionnaires, the raw results are fed into the statistical framework implemented in a statistical processing software to retrieve the final results.
\cite{Schaal2017} describes this development in the context of the BioDiv2Go project.
\autoref{img:biodiv-schaal} shows the resulting statistical framework for the valuing of biodiversity as target variable of the location based geogame developed in the BioDiv2Go project.
\image{\textwidth}{../../PresTeX/images/biodiv-schaal}{Statistical framework for BioDiv2Go\cite{Schaal2017}}{img:biodiv-schaal}

View File

@ -7,10 +7,13 @@ To be a true framework, a tight coupling to any specific game is out of bounds.
For an holistic solution, the integration of external data (e.g. questionnaire results) allows the framework to compute an overall result.
\subsection{Target groups}
With researches extracting influences of games into the players' behaviour, the first target group of the analysis framework is clear.
There are two target groups for this project: Researchers and staging staff.
With researchers extracting influences of games into the players' behaviour, the first target group of the analysis framework is clear.
They need a sufficient data basis for evaluations of broader scope.
A second user group are the game staging and game designing staff.
They require feedback about difficult sections in the game, hard to reach locations, or overcrowded situations to improve the game enjoyment of the players.
Additionally they need statistics to conclude the game session with a review of the game round.
With an result for each player, these statistics allow individual feedback.
With spatial trajectories of possibly individual players, some basic privacy protection needs to restrict the access to the log files to a minimal amount of people.
Additionally, a user interface for the creation of predefined analysis settings with custom logs provides the stagers and designers a reasonable information basis.

View File

@ -1,8 +1,25 @@
With an administrative background, the first approach to log processing which comes to mind are the various log processing frameworks.
\autoref{sec:logproctheo} shows the current state of tools and processes for managing large volumes of log and time series data.
In \autoref{sec:gg-res} example the involvement of location based games in the research field is reviewed.
Covering the basic data aggregation, \autoref{sec:logproctheo} shows the current state of tools and processes for managing large volumes of log and time series data.
An overview of the field of pedestrian track analysis is located in \autoref{sec:pedest}.
Finally, in \autoref{sec:gametheo} the connection of spatial analysis and digital game optimizations is showcased.
\section{Research with location based games}\label{sec:gg-res}
\cite{Schaal2017} describes the evaluation of a location based game.
To measure the effectiveness of the game, the following pattern is applied:
After a mission statement has been defined and approved, a fitting statistical framework has to be developed.
Based on such a framework, questionnaires have to be derived.
As some metrics cannot be retrieved directly from the questionnaires answers, the statistical framework needs to considers these and consider measurable information to derive the original metric from.
The finished and for alignment with the mission statement approved questionnaires are then applied at field test with users from the target groups.
Each field test consists of an upstream questionnaire, a pass of the location based game and a final round of questionnaires.
After an data entry step for paper-based questionnaires, the raw results are fed into the statistical framework implemented in a statistical processing software to retrieve the final results.
\autoref{img:biodiv-schaal} shows the resulting statistical framework for the valuing of biodiversity as target variable of the location based geogame developed in the BioDiv2Go project.
\image{\textwidth}{../../PresTeX/images/biodiv-schaal}{Statistical framework for BioDiv2Go\cite{Schaal2017}}{img:biodiv-schaal}
\section{Log processing}\label{sec:logproctheo}
System administrators and developers face a daily surge of log files from applications, systems, and servers.
For knowledge extraction, a wide range of tools is in constant development for such environments.

View File

@ -1,5 +1,4 @@
With an administrative background, the first approach to log processing which comes to mind is the various log processing frameworks.
The following chapter \autoref{sec:logproc} takes a dive into this world and evaluates the feasibility of two such system for the scope of this thesis.
The following chapter \autoref{sec:logproc} takes a dive into the world of log processing frameworks and evaluates the feasibility of two such system for the scope of this thesis.
Based on the findings, an alternative approach is then outlined in \autoref{sec:alternative-design}.
@ -46,8 +45,7 @@ Grafana does have support for shared dashboards with a fixed set of data, howeve
A third party plugin recently does provide such support\furl{https://github.com/CitiLogics/citilogics-geoloop-panel}, unfortunately it missed the timeframe during the evaluation of grafana for this thesis.
Such a plugin would still be a possibly fragile component given the fast pace of web development shown by these kind of projects.
\section{Architectural Design}\label{sec:alternative-design}
\subsection{Overview}
\section{Developing a modular architectural design}\label{sec:alternative-design}
While the development of a custom stack requires a lot of infrastructural work to get the project running, the learnings above give points to build a custom solution as a feasible alternative:
\begin{itemize}
\item Developing from bottom-up takes less time than diving into complex turn-key monitoring solutions.
@ -57,11 +55,16 @@ While the development of a custom stack requires a lot of infrastructural work t
\item A focus on key points allows simple, easily extendable interfaces and implementations.
\item Reducing the complexity to an overseeable level, the processes and results can be verified for accuracy and reliability.
\end{itemize}
With the requirements from \autoref{sec:require} and the learnings from log processing evaluations in mind, a modular processing pipeline depicted in \autoref{img:flowchart} allows for a configurable solution.
It comprises the stages of input, analysis and rendering.
With interfaces defined between the stages, this approach allows the exchange of single modules without affecting the remaining pipeline.
\image{.75\textwidth}{flowchart.pdf}{Modular processing pipeline}{img:flowchart}
With the requirements from \autoref{sec:require} and the learnings from log processing evaluations in mind, a first architectural approach is visualized in \autoref{img:solution}.
\subsection{Overview}
An architectural approach surrounding the processing pipeline is visualized in \autoref{img:solution}.
It outlines three main components of the project: Two user facing services (Web \& CLI / API), and an analysis framework.
The interfaces (Web and CLI/API) for both target groups (see \autoref{sec:require}) are completely dependent on the analysis framework at the core.
\image{\textwidth}{solution.pdf}{Architecture approach}{img:solution}
\image{.75\textwidth}{solution.pdf}{Architecture approach}{img:solution}
The following sections describe each of those components.
\subsection{Analysis Framework}

View File

@ -84,6 +84,11 @@ When all log entries of a log file are processed, the \texttt{result} method ret
There are 23 classes implementing analysis functionality, partitioned into modules for generic use, Biodiv2go analysis, and filtering purposes.
The settings provided by the base class include access to the client connecting to the game's server.
This allows the Analyzers to fetch additional data like game configurations or media files.
The ActivityMapper analyzer already makes use of that.
In a similar fashion it is possible to load other external data like questionnaire spreadsheets.
\paragraph{Results}\label{par:result} are stored in a \texttt{Result} object (\texttt{analysis.analyzers.analyzer.\_\_init\_\_}).
This class keeps track of the origin of the resulting data to allow filtering for results by arbitrary analyzing classes.
@ -120,7 +125,7 @@ Therefore, an additional log providing server was created to allow access to the
Clients can have arbitrary amounts of options, as all fields in the JSON settings file are passed through (see \autoref{img:oebkml}, section "source").
\subsection{Web Interface}\label{sec:web}
\subsection{Web Interface for prepared results}\label{sec:web}
The selector package holds a Flask\furl{http://flask.pocoo.org/} app for an web interface for non-expert users.
It utilizes the provided clients (see \autoref{sec:source}) for authentication, and gives users the following options:
\begin{itemize}
@ -150,6 +155,13 @@ The link \emph{create new analysis} leads to the configuration menu for new anal
It lists the game logs available for the logged in user, and offers a selection of the predefined analysis configurations.
With a given name, it is easy to identify the results for each analysis run in the result overview page.
\subsection{Result interface}
Accompanying the Web interface above is the result interface.
Here, results of the analysis runs issued in the Web interface are displayed to the users.
\autoref{img:trackfi} shows a result by example: The combination of spatial positions of players and the screen activity.
\image{\textwidth}{../../PresTeX/images/track-fi}{ActivityMapper: Combined screen activity and spatial progress}{img:trackfi}
\subsection{Task definition}\label{sec:tasks} in the \texttt{package} provides tasks available for execution.
This package is the interface for celery\furl{http://www.celeryproject.org/} workers and issuers.
The key point is the task \texttt{analyze} to start new analysis runs.
@ -245,4 +257,4 @@ The advantage of docker-compose is the definition of all images, volumes and net
When a scenario with high load occurs, this definition allows for simple scaling.
To create more celery worker nodes, issuing the command \textit{docker-compose scale worker=8} suffices to create 8 worker containers running in parallel.
\image{\textwidth}{architecture.pdf}{Service composition overview}{img:arch}
\image{.75\textwidth}{architecture.pdf}{Service composition overview}{img:arch}

View File

@ -94,3 +94,7 @@ While the BioDiv2Go parser requires less than 20 lines of code, the newly writte
Once this obstacle is passed, the integration is nearly seamless.
As further challenge proved - like with BioDiv2Go - the understanding of the structure of the log, i.e. deriving the games' internal state machine.
On the down side, the addition of lxml has increased the size of the complete image by nearly 40 MB, breaking the 300 MB mark (see \autoref{img:image-size}).
Naturally this is a rather superficial price to pay for improved functionality.
\image{\textwidth}{image-size}{Increased image size with Lxml}{img:image-size}

View File

@ -1,9 +1,18 @@
\section{Review}
As shown in \autoref{sec:eval}, the proposed framework (see \autoref{sec:solution}) and its implementation (see \autoref{sec:implementation}) deliver what \autoref{sec:scope} asked for regarding the portability aspect.
With the web interface depicted in \autoref{app:webif}, it is possible for non-expert users to generate pre-defined reports, while researchers can dive into the API of the framework either as preprocessing step or integrated into a larger project.
\subsection{Modular framework}
Given the lean framework core, the development of new analyzers and rendering target is encouraged.
This is backed by the focus on a standalone application instead of extensions to log processing systems struggling with spatial data in the required resolution.
As experienced in \autoref{sec:eval}, a change in the import stage of the processing pipeline is completely unnoticed in the other parts.
The same is true for the addition or modification of analyzering or rendering functionality.
\subsection{Web UI}
With the web interface depicted in \autoref{app:webif}, it is possible for non-expert users to generate pre-defined reports, while researchers can dive into the API of the framework either as preprocessing step or integrated into a larger project.
The web ui also gives direct access to the results for the non-expert users.
\subsection{Results}
Th selection of rendered results in \autoref{img:oebkml}, \ref{img:oebge}, \ref{img:retries}, \ref{img:trackfi}, \ref{img:time} showcases the already possible descriptive analysis capabilities.
\autoref{img:trackfi} features a map view accessible through a browser, which aligns the active screen content of the mobile device with the spatial track.
@ -18,3 +27,5 @@ Considering the future, there are many analysis and rendering targets to come.
As with any kind of software, sooner or later the point may be reached where the proposed architecture fails.
Given the positive result of the integration evaluation, this sure seems pessimistic.
The framework shows some self-debugging feature: Once a log parser is working, analyzers can help to find patterns of log messages to outline the logs structure.
Especially the spatial generalizations presented in \cite{adrienko2011spatial} or the overestimating error accumulation effect of GPS described in \cite{Ranacher_2015} compared to simplified tracks (e.g. following the methodology of \cite{Chen2009TrajectorySM}) are analyses the author looks forward to give a try.

View File

@ -5,7 +5,6 @@
\image{\textwidth}{../../PresTeX/images/oeb-ge}{Result visualized}{img:oebge}
\image{\textwidth}{../../PresTeX/images/simu-retries}{Experimentational rounds}{img:retries}
\image{\textwidth}{../../PresTeX/images/track-fi}{ActivityMapper: Combined screen activity and spatial progress}{img:trackfi}
\image{\textwidth}{../../PresTeX/images/speed}{Aggregated speed distribution of four game fields}{img:speed}
\image{\textwidth}{../../PresTeX/images/time-rel}{Time distribution of game sessions overview of four game fields}{img:time}

View File

@ -573,3 +573,9 @@ isbn="978-3-642-23199-5"
year={2013},
organization={IEEE}
}
@inproceedings{Chen2009TrajectorySM,
title={Trajectory simplification method for location-based social networking services},
author={Yukun Chen and Kai Jiang and Yu Zheng and Chunping Li and Nenghai Yu},
booktitle={GIS-LBSN},
year={2009}
}

View File

@ -7,7 +7,7 @@
\chapter{Log processing, trajectories \& game analysis}
\input{content/2-state-of-the-art}
\chapter{Design of the analysis framework}\label{sec:solution}
\chapter{Design of the modular analysis framework}\label{sec:solution}
\input{content/3-solution}
\chapter{Implementation of the analysis framework}\label{sec:implementation}
@ -16,5 +16,5 @@
\chapter{Portability evaluation of the analysis framework}\label{sec:eval}
\input{content/5-evaluation}
\chapter{Discussion and outlook}
\chapter{A modular framework: Discussion and outlook}
\input{content/6-discussion}

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -104,9 +104,9 @@
% Stichwortverzeichnis soll im Inhaltsverzeichnis auftauchen
% Sprungmarke mit Phantomsection korrigiert
\phantomsection%
\addcontentsline{toc}{chapter}{Index}%
%\addcontentsline{toc}{chapter}{Index}%
% Stichwortverzeichnis endgueltig anzeigen
\printindex%
%\printindex%
\appendix

View File

@ -44,7 +44,7 @@
\makeatletter
\ifposter
\else
\hypersetup{pdftitle={\@title}, pdfauthor={\@author}, linktoc=page, pdfborder={0 0 0 [3 3]}, breaklinks=true, linkbordercolor=unibablueI, menubordercolor=unibablueI, urlbordercolor=unibablueI, citebordercolor=unibablueI, filebordercolor=unibablueI}
\hypersetup{pdftitle={\@title}, pdfauthor={\@author}, pdfsubject={\@subtitle}, pdfkeywords={\gitAbbrevHash}, linktoc=page, pdfborder={0 0 0 [3 3]}, breaklinks=true, linkbordercolor=unibablueI, menubordercolor=unibablueI, urlbordercolor=unibablueI, citebordercolor=unibablueI, filebordercolor=unibablueI}
\fi
%% Define a new 'leo' style for the package that will use a smaller font.
\def\url@leostyle{%
@ -451,6 +451,4 @@ major line width/.initial=1pt,
\changemenucolor{gray}{txt}{named}{unibablueI}
\fi
\newcommand{\furl}[1]{
\footnote{\url{#1}}
}
\newcommand{\furl}[1]{\footnote{\url{#1}}}

View File

@ -1,9 +1,9 @@
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{gitinfo2}
\ifgit
\ifpresentation
\usepackage{gitinfo2}
\else
\ifthesis
\usepackage{gitinfo2}