|
|
|
@@ -2,55 +2,80 @@ |
|
|
|
\chapter{Introduction} |
|
|
|
\label{introduction} |
|
|
|
\section{Context of this Thesis} |
|
|
|
The design methodology of a \ac{cps} is one of the research topics within the department of Robotics and Mechatronics. |
|
|
|
A \emph{design method} for rapid development of embedded control software is proposed by \textcite{broenink_rapid_2019} as part of this research topic. |
|
|
|
The design method in the paper is used to design a control system on an existing hardware system. |
|
|
|
The result is an operational, software based, control system for a mini-segway. |
|
|
|
About this result, Broenink and Broenink make the following statement: "this [result] does not mean that the same techniques cannot be applied to the physical part of the system." |
|
|
|
The goal of this thesis is to substantiate this statement with a case study wherein a physical system is developed from scratch according to the design method. |
|
|
|
Directly from the start of this research it was clear that, without adjustment, the design method cannot be applied to the physical part of the system. |
|
|
|
The required adjustments consist of refining and extending the proposed design method into a \emph{design plan} that can be used in a \emph{case study}. |
|
|
|
|
|
|
|
\ac{cps} integrate computation and physical components as an engineered system. |
|
|
|
Automobiles, robots, medical devices and even the smart grid are examples of \ac{cps}. |
|
|
|
The complexity of systems has gone from a embedded system that improved the fuel consumption of a car engine to a fully self-driving vehicle. |
|
|
|
One of the most interesting and complex \ac{cps} today, is the autonomous landing rocket build by SpaceX. |
|
|
|
A problem is that the increasing complexity causes increasing development cost and decreasing reliability. |
|
|
|
Within the research topics, that focus on \ac{cps}, lies the development of new design methods that deal with this complexity problem. |
|
|
|
The \emph{design method} by \textcite{broenink_rapid_2019} is one of these new design methods and focusses on the rapid development of embedded control software. |
|
|
|
One of these design methods is posed by \textcite{broenink_rapid_2019}, which focusses on the rapid development of embedded control software. |
|
|
|
Their main design technique is to split the development into individual steps, which can be implemented and tested separately. |
|
|
|
The testing makes it possible to receive feedback on a short interval, thus improving the quality. |
|
|
|
As part of the research by Broenink and Broenink, they performed a small case study. |
|
|
|
In this case study they designed a controller in software for a physical off-the-shelf system. |
|
|
|
However, developing \ac{cps} incorporates both the computational software side, as well as the development of the physical dynamic side, but the latter is not covered by Broenink and Broenink. |
|
|
|
For this design method to be suitable for a complete design of \ac{cps} it has to be applicable to the physical part as well. |
|
|
|
|
|
|
|
%%In this thesis, the proposed design method is applied and evaluated in the context of the physical part of a \ac{cps}. |
|
|
|
%%This is done in a case study, where a \ac{cps} is designed from scratch. |
|
|
|
\section{Research Objective} |
|
|
|
The research is summarized in the following two research questions. |
|
|
|
To ensure that the proposed design method is a competent approach for developing the different aspects of \ac{cps}, the design method has to be applied and evaluated in the context of the physical part of a \ac{cps}. |
|
|
|
Directly from the start of this research it was clear that a direct copy of the design method is not possible. |
|
|
|
It is necessary to analyse which design techniques cannot be used and thus how to replace or improve them. |
|
|
|
The research is summarized in the following two research questions: |
|
|
|
\begin{itemize} |
|
|
|
\item Which techniques of the design method can be applied in the development of hardware? |
|
|
|
\item Which adaptations are required to create a design method that is suitable for the development of hardware? |
|
|
|
\item Which design techniques of the design method by \textcite{broenink_rapid_2019} can be applied in developing the physical part of \ac{cps}? |
|
|
|
\item Which adaptations are required to make the design method by \textcite{broenink_rapid_2019} such that it is suitable for developing the computation and physical part of \ac{cps}? |
|
|
|
\end{itemize} |
|
|
|
|
|
|
|
\section{Approach} |
|
|
|
This research revolves around performing a development process according to the design method in the form of a case study. |
|
|
|
However, there are a couple of steps required prior to the start of the case study. |
|
|
|
The first step is to produce a concrete design plan based on the design method. |
|
|
|
However, there are a couple of steps required prior to the start of the case study (see \autoref{fig:approach}). |
|
|
|
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 abstract form of the design method leaves room for interpretation. |
|
|
|
This uncertainty hampers the evaluation process, because it is impossible to point out flaws in something that was not specified in the first place. |
|
|
|
The design method is presented in an abstract form which leaves room for interpretation. |
|
|
|
This uncertainty hampers the evaluation process, because it is impossible to point out flaws in something that was not specific in the first place. |
|
|
|
Therefore, the design method is assessed and detail is added to get a concrete design plan. |
|
|
|
However, the design method focusses on the rapid development principles and modelling techniques, and does not cover the design steps outside of that focus. |
|
|
|
These steps, like problem definition and system specifications, 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 in a \ac{se} approach. |
|
|
|
\begin{figure} |
|
|
|
\centering |
|
|
|
\includegraphics[width=9cm]{graphics/approach.pdf} |
|
|
|
\caption{A graph that shows the interconnection of the different steps that are required to prior to the start of the case study.} |
|
|
|
\label{fig:approach} |
|
|
|
\end{figure} |
|
|
|
|
|
|
|
With a design plan to use in the case study there are two steps left. |
|
|
|
With one step being an \emph{evaluation plan} to ensure complete and consistent feedback during the case study. |
|
|
|
With one step being an evaluation plan to ensure complete and consistent feedback during the case study. |
|
|
|
The design plan consists of multiple design steps that are performed in succession. |
|
|
|
The evaluation plan consists of a list of questions that have to be evaluated for each design step. |
|
|
|
There are specific questions that evaluate the definition or the execution of the design step. |
|
|
|
The other step is to provide a \emph{subject} to develop in the case study. |
|
|
|
Normally, the desired result of a design process is the optimal end product. |
|
|
|
However, the goal of this research is to evaluate the design method, not to develop a product. |
|
|
|
One of the requirements of the possible subjects is therefore a minimum level of complexity, aiming to cover all essentials of the design method. |
|
|
|
Some other requirements, based on practical decisions like budget, tools, and time, were defined as well. |
|
|
|
Based on the requirements, the subject of choice is "Writing a tweet on a whiteboard". |
|
|
|
There are specific questions that evaluate the definition, or the execution of the design step. |
|
|
|
The other step is to provide the \emph{subject of design} to develop in the case study. |
|
|
|
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 a simple solution is found, such that the design techniques to deal with the increased complexity are left untouched. |
|
|
|
Choosing to develop a very complex subject would ensure that all the design techniques are used, except that the limited time budget of a master's thesis does not allow that. |
|
|
|
One of the requirements for the possible subjects is therefore a minimum level of complexity, forcing the developer to not go with the simplest solution. |
|
|
|
Some other requirements, based on practical decisions like budget, tools, and time were defined as well. |
|
|
|
Based on these requirements, the subject of choice is "Writing a tweet on a whiteboard". |
|
|
|
|
|
|
|
With something to develop, a method to develop, and a method to evaluated the case study is executed. |
|
|
|
The result is a partial prototype of a whiteboard writer and a evaluation document. |
|
|
|
The evaluation of the case study is then used to suggest an improved design method for the physical part of the system. |
|
|
|
With something to develop, a method to develop, and a method to evaluate, the case study is executed. |
|
|
|
Even though the case study was terminated due to the limited amount of time available, it resulted in a partial prototype of a whiteboard writer and a significant amount of evaluation. |
|
|
|
The results made it possible to propose improvements to the design method, not only for the physical part of \ac{cps} but also the cyber part. |
|
|
|
|
|
|
|
\section{Notes on Terminology} |
|
|
|
Design method is a commonly-used notion throughout the different papers and research used in this thesis. |
|
|
|
To ensure distinct terminology throughout this thesis, the term 'design method' is used to refer to the design method by \textcite{broenink_rapid_2019}. |
|
|
|
The more concrete version of the design method that is tested in the case study, will be referred to as the 'design plan'. |
|
|
|
The object or system that is going to be designed during the case study is referred as 'subject of design'. |
|
|
|
|
|
|
|
\section{Structure} |
|
|
|
The refinement of the design method and adding design steps is done in \autoref{analysis} to define a concrete design plan. |
|
|
|
The evaluation plan and subject of development is defined in \autoref{case_method}. |
|
|
|
This preparation is then performed as a case study in \autoref{case_experiment}. |
|
|
|
In \autoref{case_evaluation} the case study is evaluated. |
|
|
|
In \autoref{reflection} the evaluation is reflected, resulting in proposed improvements. |
|
|
|
These improvements are processed in \autoref{improved_design} into a new design method. |
|
|
|
The evaluation plan and subject of design is defined in \autoref{case_method}. |
|
|
|
The case study is executed in \autoref{case_experiment}, based on the design plan, evaluation plan and subject of design. |
|
|
|
The execution of the case study is evaluated in \autoref{case_evaluation}. |
|
|
|
In \autoref{reflection} the evaluation of the case study and the results are reflected back on the design plan. |
|
|
|
Based on the reflection and the evaluation, an improved design method is proposed in \autoref{improved_design}. |
|
|
|
And finally, the research is concluded in \autoref{conclusion}. |