|
|
|
@@ -2,19 +2,20 @@ |
|
|
|
\chapter{Introduction} |
|
|
|
\label{introduction} |
|
|
|
\section{Context of this Thesis} |
|
|
|
\ac{cps} are computer systems which control and monitor a physical system. |
|
|
|
\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 self-driving vehicle. |
|
|
|
Although the complexity opens up more design possibilities, improved efficiency, and beter safety, it has downsides as well. |
|
|
|
A major downside with the increasing complexity is the resulting increased developing cost and the decreasing reliability. |
|
|
|
\textcite{broenink_rapid_2019} introduce a new design method for \ac{cps} that aims to deal with the downsides of the complexity. |
|
|
|
Throughout this thesis, the term '\acl{ridm}' or 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. |
|
|
|
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. |
|
|
|
In the worst case scenario, the time and resources spent on development from the error being made till the error being detected are lost. |
|
|
|
The sooner an error is found, the less time and resources are wasted. |
|
|
|
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. |
|
|
|
@@ -25,38 +26,38 @@ |
|
|
|
\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 will research whether the \ac{ridm} applies to the physical part of a \ac{cps}, to come to a design method that can be applied on both the physical and cyber (software) part of a \ac{cps}. |
|
|
|
However, 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, specifications or initial design steps. |
|
|
|
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 ensure that the \ac{ridm} can be assessed as a design method for \ac{cps}, I have the following research objectives: |
|
|
|
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. |
|
|
|
This makes it possible develop a system for a given problem or idea, using this design method. |
|
|
|
\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}. |
|
|
|
\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} |
|
|
|
Based on the results of the case study I will answer the following research questions: |
|
|
|
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 Which techniques of the \ac{ridm} can be applied developing the physical part of \ac{cps}? |
|
|
|
\item Which adaptations are required to make the \ac{ridm} suitable for developing the computation and physical part of \ac{cps}? |
|
|
|
\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}, a design method by \textcite{broenink_rapid_2019}. |
|
|
|
Their design method is evaluated in the form of a case study. |
|
|
|
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 will assess the design method and add detail to make a more concrete design plan. |
|
|
|
Because the design method focusses on the rapid development principles and modelling techniques, it 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 from the \emph{\ac{se}} approach. |
|
|
|
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} |
|
|
|
@@ -70,7 +71,6 @@ |
|
|
|
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. |
|
|
|
%There are questions that evaluate the design plan and there are questions that evaluate the design process. |
|
|
|
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}. |
|
|
|
|
|
|
|
@@ -78,29 +78,30 @@ |
|
|
|
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 setting a problem that is very complex, I decided to require a minimum complexity to the solution. |
|
|
|
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 in to a prototype. |
|
|
|
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 incorporating both physical and cyber parts to develop; |
|
|
|
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 overall structure of the study takes form of seven chapters. |
|
|
|
The first two chapters introduce the used design methods. |
|
|
|
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 full detail in \autoref{chap:analysis}, where each step is explained. |
|
|
|
The design plan is presented in detail in \autoref{chap:analysis}, where each step is explained. |
|
|
|
|
|
|
|
The next three chapters cover the method, execution, and evaluation of the case study. |
|
|
|
\autoref{chap:case_method} is concerned with the methodology of the case study, introducing the subject of design and the evaluation protocol. |
|
|
|
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 will reflect on the design plan that is evaluated in this research. |
|
|
|
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}. |