%&tex
\chapter{Introduction}
\label{introduction}
\section{Context of this Thesis}
    \ac{cps} contain systems that control and monitor their included physical system parts \autocite{rajkumar_cyber-physical_2010}.
    This physical system is often a system of mechanical components which are deeply intertwined with the software components.
    Automobiles, robots, medical devices and even the smart grid are examples of \ac{cps}.
    The complexity of \ac{cps} has gone from an embedded system that improved the fuel consumption of a car engine to a fully autonomous vehicle.
    Although the complexity opens up more design possibilities, improved efficiency, and better safety, it has downsides as well.

    Major downsides with the increasing complexity are the increasing developing cost and the decreasing reliability.
    \textcite{broenink_rapid_2019} introduced a new design method for \ac{cps} that aims to deal with the downsides of the complexity.
    Throughout this thesis, the term \emph{\acl{ridm}}, abbreviated to \acs{ridm}, is used to refer to the design method by \textcite{broenink_rapid_2019}. \acused{ridm} %Set acronym to used. From here only small is set.

    The \ac{ridm} adopts a design technique called rapid development that splits the development process into small individual steps, where each of these steps are implemented and tested separately.
    Testing each individual step creates feedback on a short interval, finding errors in the design as early as possible.
    When a test reveals an error in the design, the worst case scenario is that all resources invested since the error was made are lost.
    Errors are unavoidable, but detecting them as early as possible reduce the amount of lost resources.

    As part of the research, Broenink and Broenink performed a small case study.
    In this case study, they have designed a controller, and implemented the controller in software for a physical off-the-shelf system.
    Developing \ac{cps} incorporates the computational software side and the physical dynamic side.
    However, the case study by Broenink and Broenink only covers the software side of a \ac{cps}.
    For this design method to be suitable for a complete design of \ac{cps} it must apply to the physical part of the system as well.
    
\section{Research Objective}
    \textcite{broenink_rapid_2019} present a case study in their paper, developing a software based control system following the \ac{ridm}.
    About the result of that case study they state that "this [case study] does not mean that the same techniques cannot be applied to the physical part of the system."
    In this thesis, I research whether the \ac{ridm} applies to the physical part of a \ac{cps}, to come to a design method that apply on both the physical and cyber (software) part of a \ac{cps}.

    The paper makes no attempt to offer a comprehensive design method to be used out of the box.
    The \ac{ridm} does not provide information about bringing a system into being, it does not address problem definition, requirements or initial design steps.
    Another weakness is that the \ac{ridm} gives no explanation of how the design steps are executed, only specifying that they are used.
    The design method would have been more useful if the authors had made a complete design method available to accompany their paper.
    To assess the \ac{ridm} as a design method for \ac{cps}, I set the following research objectives:
    \begin{itemize}
        \item Extend the \ac{ridm} with a preliminary design phase, focussing on the physical part of \ac{cps}.
        \item Refine the \ac{ridm} to make the design steps more explicit with improved instructions.
        \item Develop and perform a case study that tests and evaluates the \ac{ridm} as a design method for the physical part of \ac{cps}.
    \end{itemize}
    Evaluation of the \ac{ridm} as a design method is done with the results of the case study as the following objectives:
    \begin{itemize}
        \item Assess the influence that applying the \ac{ridm} has on the design process for \ac{cps}.
        \item Describe which adaptations are required for both the \ac{ridm} and the design method to establish a competent design process for \ac{cps}.
    \end{itemize}

\section{Approach}
    The goal of this thesis is to evaluate the \ac{ridm}, in the form of a case study.
    The case study consists of a \emph{design process}, developing a \ac{cps} according to the \ac{ridm}.
    Based on the results of the design process, the \ac{ridm} is evaluated.
    However, there are a couple of steps required prior to the start of the case study.

    The first step is to produce a concrete \emph{design plan} based on the design method.
    The concrete design plan improves the evaluation of the design techniques.
    The design method is presented in an abstract form which leaves room for interpretation.
    This abstract form hampers the evaluation process, as the ambiguity of the design method makes it difficult to point out flaws in the design method.
    Therefore, I assess the design method and add detail to make a more concrete design plan.
    Because the \ac{ridm} focusses on rapid development principles and modelling techniques, it does not cover the design steps outside of that focus.
    These steps, like problem definition and system requirements, are a crucial part of the design process and are added to create the concrete design plan.
    The added steps are based on the steps from the \emph{\ac{se}} approach \autocite{blanchard_systems_2014}.
    \begin{figure}
        \centering
        \includegraphics[width=9cm]{graphics/approach.pdf}
        \caption{The case study is consists of something to be designed (subject of design), how to design that something (design plan), and how to evaluate the design process.
            The design plan itself is a combination of the \ac{ridm} and \ac{se}.}
        \label{fig:approach}
    \end{figure}

    With a design plan to use in the case study there are two steps of preparation left.
    The first step is to develop an \emph{evaluation protocol} to ensure complete and consistent feedback during the case study.
    The evaluation protocol consists of a list of questions that are evaluated for each design step.
    The protocols contains questions about the design method itself, thus evaluating the instruction of each design step.
    Other questions are about the design process, covering the execution of the instructions.
    The other step is to provide the \emph{subject of design} to develop in the case study, essentially defining a problem that has to be solved.
    How all these components combine into the case study is shown in \autoref{fig:approach}.

    Normally, the design process focusses on delivering the end product in the most effective manner.
    However, the goal of this research is to use the design process to evaluate the design method, not to develop a product.
    A possible pitfall is that during the design process the developer finds a simple solution, such that the design techniques to deal with the increased complexity are left untouched.
    Therefore, it is important to guarantee a minimum level of complexity.
    Instead of defining a problem that is very complex, I decided to require a minimum complexity to the solution.
    This makes the design process complex enough, without requiring an excessive amount of development time or compromising the quality of the evaluation.

    Together with some other practical requirements, the best subject of design found is "Writing a tweet on a whiteboard".
    The subject of design is interesting because it has multiple design solutions that are complex but not unpractical.
    Furthermore, it has some interesting dynamics, requires a control law, and can easily be constructed into a prototype.

    With a subject of design that requires a solution in the form of an object that incorporates both physical and cyber parts to develop;
    a design plan which describes how to develop this solution;
    and a protocol to evaluate the design plan and the development of the solution;
    the case study is executed.
    From the results of the case study I propose multiple improvements to the design method, not only for the physical part of \ac{cps} but also the cyber part.

\section{Structure}
    The thesis is structured as follows:
    The first two chapters introduce the design methods.
    \autoref{chap:background} gives a background of the \ac{ridm} and \ac{se} approach and how this is combined into the design plan.
    The design plan is presented in detail in \autoref{chap:analysis}, where each step is explained.

    The next three chapters cover the case study:
    \autoref{chap:case_method} explains the method of the case study, the subject of design and the evaluation protocol.
    \autoref{chap:case_experiment} documents the execution of the case study, showing the development during the design process.
    All the questions and observations that were administered by following the evaluation protocol during the case study are analysed in \autoref{chap:case_evaluation}.
    
    The last two chapters reflect on the design plan that is evaluated in this research.
    \autoref{chap:reflection} uses the evaluation results of the case study to reflect on the design plan in this thesis.
    And finally, the research is concluded in \autoref{chap:conclusion}.
