From 559c5491d1bd07f16fa16f4b727af2bb2c816e35 Mon Sep 17 00:00:00 2001 From: Wouter Horlings Date: Mon, 12 Oct 2020 18:09:25 +0200 Subject: [PATCH 1/6] Add introduction. Refs #1 --- content/introduction.tex | 55 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/content/introduction.tex b/content/introduction.tex index 3b331fb..acd5d1d 100644 --- a/content/introduction.tex +++ b/content/introduction.tex @@ -1,3 +1,56 @@ %&tex -\chapter{introduction} +\chapter{Introduction} \label{introduction} +\section{Context of this Thesis} + Design methodology for \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}. + +\section{Research Objective} + 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? + \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. + 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. + 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. + + 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. + 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". + + 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. + +\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. + And finally, the research is concluded in \autoref{conclusion}. From e51141c3cc4dd0ce7c65ca41a7fb311f5ec6ae59 Mon Sep 17 00:00:00 2001 From: Wouter Horlings Date: Tue, 13 Oct 2020 15:39:12 +0200 Subject: [PATCH 2/6] updated submodule --- .gitmodules | 2 +- include | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 68d937b..0ded18e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "common"] path = include - url = ssh://git@git.ram.eemcs.utwente.nl:20022/horlingsw/mac.git + url = https://git.ram.eemcs.utwente.nl/horlingsw/mac.git diff --git a/include b/include index 696eebe..5ca7bec 160000 --- a/include +++ b/include @@ -1 +1 @@ -Subproject commit 696eebe3534f7e5133f8c2c4fa1f9c84e0910997 +Subproject commit 5ca7becc113ff6fef85c267957b83d3df57abe9e From f4a5d1166cd9cdffdf5ce7866d5bfb4af53a595a Mon Sep 17 00:00:00 2001 From: Wouter Horlings Date: Wed, 14 Oct 2020 09:55:05 +0200 Subject: [PATCH 3/6] Add feedback Tim --- content/introduction.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/introduction.tex b/content/introduction.tex index acd5d1d..62006aa 100644 --- a/content/introduction.tex +++ b/content/introduction.tex @@ -2,7 +2,7 @@ \chapter{Introduction} \label{introduction} \section{Context of this Thesis} - Design methodology for \ac{cps} is one of the research topics within the department of Robotics and Mechatronics. + 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. From 62f13ddb1b43ec2689b6af72eb76b54f9f039e82 Mon Sep 17 00:00:00 2001 From: Wouter Horlings Date: Thu, 15 Oct 2020 17:05:31 +0200 Subject: [PATCH 4/6] Add feedback Daan --- content/introduction.tex | 89 +++++++++++++++++++++++++--------------- graphics/approach.tex | 19 +++++++++ 2 files changed, 76 insertions(+), 32 deletions(-) create mode 100644 graphics/approach.tex diff --git a/content/introduction.tex b/content/introduction.tex index 62006aa..4ff8f18 100644 --- a/content/introduction.tex +++ b/content/introduction.tex @@ -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}. diff --git a/graphics/approach.tex b/graphics/approach.tex new file mode 100644 index 0000000..c8add0f --- /dev/null +++ b/graphics/approach.tex @@ -0,0 +1,19 @@ +%&tex +\documentclass{standalone} +\usepackage{tikz} +\usetikzlibrary {quotes,arrows.meta,graphs,graphdrawing} \usegdlibrary {layered} +\tikzset{nodes={text height=.7em, text width=2.7cm, align=center, +draw=black!20, thick, fill=white, font=\footnotesize}, +>={Stealth[round,sep]}, rounded corners, semithick} + +\begin{document} + +\begin{tikzpicture} + +\graph [layered layout, level distance=1.2cm, sibling sep=.5em, sibling distance=1.5cm, sweep crossing minimization] { +{"Design Method", "System Engineering"} -> "Design Plan"; +{"Evaluation Plan", "Design Plan", "Subject of design"} -> "Case Study"; +}; +\end{tikzpicture} +\end{document} + From 83f8d2eace3eec1e29ac3cb7a8dd96d858eabf1c Mon Sep 17 00:00:00 2001 From: Wouter Horlings Date: Fri, 23 Oct 2020 15:57:10 +0200 Subject: [PATCH 5/6] Update submodule --- include | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include b/include index 5ca7bec..53a54d3 160000 --- a/include +++ b/include @@ -1 +1 @@ -Subproject commit 5ca7becc113ff6fef85c267957b83d3df57abe9e +Subproject commit 53a54d3e4842e0ad2991fe196a02c8e35cbc2600 From e59b3b550f63f591df7efc1cf7e30d830cb7668a Mon Sep 17 00:00:00 2001 From: Wouter Horlings Date: Mon, 26 Oct 2020 13:35:25 +0100 Subject: [PATCH 6/6] Add feedback Daan and Maureen --- content/introduction.tex | 47 ++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/content/introduction.tex b/content/introduction.tex index 4ff8f18..7417002 100644 --- a/content/introduction.tex +++ b/content/introduction.tex @@ -4,40 +4,41 @@ \section{Context of this Thesis} \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 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 safety, it has downsides. + The problem with the increasing complexity is the resulting increased developing cost and the 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. + The rapid development is a design technique that splits the development into small individual steps, which can be implemented and tested separately. + Testing each individual step creates feedback on a short interval, with the goal to detect errors made during the development as early as possible. + 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. + However, developing \ac{cps} incorporates both the computational software side, as well as the development of the physical dynamic side, although 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} - 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. + \textcite{broenink_rapid_2019} present a case study for software in their paper and 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 this design method 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}. + From the start of this research, it was clear that a direct copy of the design method is not possible. + It is therefore 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 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}? + \item Which design techniques of the design method by \textcite{broenink_rapid_2019} can be applied developing the physical part of \ac{cps}? + \item Which adaptations are required to make the design method by \textcite{broenink_rapid_2019} 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. + Within this thesis, the design method by \textcite{broenink_rapid_2019} is evaluated in a case study. + The case study performs a development process according to the design method and will evaluate the result. 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 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. + This hampers the evaluation process, because it is impossible to point out flaws in something that was not specific in the first place. + Therefore, I will assess the design method and add detail to get a 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 in a \ac{se} approach. \begin{figure} @@ -47,9 +48,8 @@ \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 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. + With a design plan to use in the case study there are two steps of preparation left. + The first step is to develop an evaluation plan to ensure complete and consistent feedback during the case study. 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 the \emph{subject of design} to develop in the case study. @@ -67,7 +67,8 @@ \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}. + \textcite{broenink_rapid_2019} refer to their design method as 'the methodology', which is to generic for this thesis. + To ensure distinct terminology throughout this thesis, their methodology is named \acl{ridm} and is abbreviated as \acs{ridm}. 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'.