\chapter{Concept} \label{ch:Concept} \section{User Interaction with the System} \label{sec:Concept:UserSystemInteraction} The system has one main way to be used as defined in \autoref{tab:Concept:MainUseCase}. \begin{figure} \centering \includegraphics[width=1\textwidth]{./figures/bpmn_configuration_process_with_continious_recommendation.pdf} \caption{A bpmn diagram of the configuration process.} \label{fig:Concept:ConfigurationProcess} \end{figure} \begin{table} \begin{center} \begin{tabularx}{\columnwidth}{l|X} \multicolumn{2}{c}{Main System Usage} \\ \hline Preconditions & \begin{itemize} \item The configurator is opened with the same session on each of the group member's machines \item The configuration is in an unfinished state (this state is a consensus state) \end{itemize} \\ \hline Postcondition & \begin{itemize} \item All users have entered their preferences for each attribute explicitly. \item The system gives a recommendation based on all preferences and the unfinished configuration state \end{itemize} \\ \hline Basic Flow & \begin{enumerate} \item A user indicates a preference for an attribute \item The system generates a recommendation (based on preferences and configuration status) \item If not all users have given their preferences go to step 1. \end{enumerate} \\ \hline \end{tabularx} \caption{A description of the main way users will interact with the system} \label{tab:Concept:MainUseCase} \end{center} \end{table} \FloatBarrier \section{Solution Objectives} \label{sec:Concept:SolutionObjectives} Given an unfinished configuration and preferences of all group members rate a finished configuration on how well "similar" it reflects the configuration and preferences. Use this to choose the best finished configuration out of a list to recommend. \subsection{Generating a Recommendation} \label{sec:Concept:GeneratingRecommendation} Hereby the idea is there is a database of complete configurations (possibly historic from other groups or automatically generated or both). Now the recommendation procedure looks as follows: \begin{enumerate} \item Assign a score to each stored configuration according to $$score_{group}(\overline{configurationState},\ \overline{preferences}, \ configurationInStore)$$ \item Optional: Filter out configurations that have a score below a certain value using a different scoring function. For example filter out configurations that cause a certain level of misery. \item Chose the configuration with the highest score as recommendation. \end{enumerate} \section{Benefits} \label{sec:Concept:Benefits} The benefits of this approach are, that the need for a group to communicate is reduced. Each user gives their own preferences and the group will get a recommendation based on that. This allows to reduce problems with communication of preferences and eliminates misunderstandings.