\chapter{Concept} \label{ch:Concept} \section{CAS Configurator Merlin} \label{sec:Concept:ConfiguratorMerlin} \ref{fig:Concept:ConfiguratorMerlin} shows the architecture of CAS Configurator Merlin. \begin{description} \item[M.Core] provides the base of the configurator it checks configuration against all rules in the database, provides possible alternatives on a change that invalidates other parts of a configuration. \item[M.Model] is the editor to create products and rules. These rules can then be uploaded to M.Core. \item[M.Customer] is the customer facing component. It allows a customer to configure a product. \end{description} \begin{figure} \centering \includegraphics{./figures/MerlinConfigurator.pdf} \caption{Architecture of Configurator Merlin \cite[Fig. 4.1]{raabKollaborativeProduktkonfigurationEchtzeit2019}} \label{fig:Concept:ConfiguratorMerlin} \end{figure} \section{CAS Group-Configurator} \label{sec:Concept:GroupConfigurator} \citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019} extends CAS Merlin Configurator in his thesis to allow simultaneous configuration. The extended architecture is shown in Figure \ref{fig:Concept:CollaborativeConfiguratorMerlin}. He only makes changes to M.Customer which is renamed to M.Collab-Customer and introduces a new component M.Collab. \begin{description} \item[M.Collab] is a node.js server application that communicates with M.Core via REST-API and with M.Collab-Customer via WebSocket. It sits in between M.Collab-Customer and M.Core and handles all processing regarding collaborative configuration. \item[M.Collab-Customer] a modified version of M.Customer that does all communication via WebSocket and does communicate with M.Collab instead of M.Core. \end{description} \begin{figure} \centering \includegraphics{./figures/MerlinCollaborativeConfigurator.pdf} \caption{Architecture of Collaborative Configurator Merlin \cite[Fig. 4.3]{raabKollaborativeProduktkonfigurationEchtzeit2019}} \label{fig:Concept:CollaborativeConfiguratorMerlin} \end{figure} \section{Extended Configurator} \label{sec:Concept:ExtendedConfigurator} \missingfigure{Extenden Architecture}