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/content/introduction.tex b/content/introduction.tex index 3b331fb..7417002 100644 --- a/content/introduction.tex +++ b/content/introduction.tex @@ -1,3 +1,82 @@ %&tex -\chapter{introduction} +\chapter{Introduction} \label{introduction} +\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 \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. + 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} + \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 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} + 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 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} + \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 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. + 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 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. + \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'. + +\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 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} + diff --git a/include b/include index 696eebe..53a54d3 160000 --- a/include +++ b/include @@ -1 +1 @@ -Subproject commit 696eebe3534f7e5133f8c2c4fa1f9c84e0910997 +Subproject commit 53a54d3e4842e0ad2991fe196a02c8e35cbc2600