%&tex
%    \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 Refine the \ac{ridm} to make the execution of the different design steps explicit and unambiguous.
%        \item Develop and perform a case study that tests and evaluates the \ac{ridm}.
%    \end{itemize}
%    Based on the results of the case study I will answer the following research questions:
%    \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}?
%    \end{itemize}



\chapter{Conclusion}
\label{chap:conclusion}
% Intro: end goal

% Reflect Extend the RIDM with a preliminary design phase. This makes it possible develop a system for a given problem or idea, using this design method.
The first research objective is to extend the \ac{ridm} with a preliminary design phase. 
This makes it possible develop a system for a given problem or idea, using the \ac{ridm}.
Based on the waterfall model as described by \ac{se}, the steps for problem description, requirements, and initial design were prepended to the \ac{ridm}.

% Reflect: Refine the RIDM to make the execution of the different design steps explicit and unambiguous.
The second research objective is to refine the \ac{ridm} to make the execution of the different design steps explicit and unambiguous.
The \ac{ridm} specify the development cycle and the variable detail approach with enough detail, making them ready to use.
How to define features and tests for the development cycle, were not as clearly defined.
Two design steps are added in this thesis that describe a method to define the set of features and create a test protocol.
Furthermore, a feature selection step is added to aid with the development.

% Reflect: Develop and perform a case study that tests and evaluates the RIDM.
The third and last research objective is to develop and perform a case study that tests and evaluates the design plan.
The case study consists of a development that is performed according to the design plan.
A set of requirements is made to ensure the optimal system of design.
With this the \emph{Tweet on a Writeboard} system is chosen.
The progress of the case study is monitored according to a list of questions.


% Answer:  Which design techniques of the design method by Broenink and Broenink (2019) can be applied developing the physical part of CPS?
With three research objectives fulfilled, it is possible to answer the two research questions:\\
\emph{Which techniques of the \ac{ridm} can be applied developing the physical part of CPS?}\\

To answer this question I must put emphasis on the difference between the design and modelling process.
The design process embodies the development of a product or system as an answer to a problem or need.
The modelling process allows the developers to gain insight of the inner workings of a product.
By creating and simulating models for the system under design, the modelling process improves the design process tremendously.
Looking at the \ac{ridm}, the fact that the first research objective is to prepend design steps to the \ac{ridm} highlights its shortcoming as a design method.

Despite its exploratory nature, the case study offers some insight into the \ac{ridm} as a technique for rapid prototyping.
The segmentation of the design provides a structured and organized approach.
Moreover, the in this thesis proposed feature selection procedure contribute to the risk management of the development.
By implementing high risk-per-time features first, the design problems are more likely to be found in the early stage of the design.

The variable-detail approach is promising for the implementation of individual features.
Similar to the design begin split in features, this approach implements one feature as multiple levels of detail.
One benefit is that the structured addition of detail enables intermediate testing, allowing the development to continue when all tests are satisfied.
Another benefit is that having one model available in different level of detail is that these models can be reused with the minimum detail possible.
This keeps the complexity of models to a minimum and can be useful to improve simulation speed of large systems.
The major limitation in this thesis is that the model represented the design.
Therefore, the stopping at a certain level of detail or reusing lower detail models did not occur during the case study.
Notwithstanding these limitations, the variable-detail approach does offer a structured approach providing feedback during the implementation.

\emph{Which adaptations are required to make the \ac{ridm} suitable for developing the computation and physical part of CPS?}\\
The most obvious finding to emerge from this study is that the \ac{ridm} without any additions is not a valid design method.
The findings of the case study suggest that a worthwhile solution is to make \ac{ridm} part of a existing design method.
The existing method provides a basis wherein the \ac{ridm} can come to its own, which is to tackle complexity.



%This thesis was designed to assess whether the physical part of \ac{cps} can be developed using the \ac{ridm}.
%Whereby the \ac{ridm} aims to reduce the complexity of a system design.
%The requirement for the case study was to develop a system with sufficient complexity, to apply the \ac{ridm} as intended.
%Being focused on the physical part of the design, this thesis overlooks the significance of software in a \ac{cps}.
%Especially because the complexity of a system is made possible with software.
%
%A design method regarding the full life cycle of \ac{cps}, must therefore incorporate both the computation and physical part of \ac{cps}.
%To use the advantages of the \ac{ridm} in such a design method, there must be a clear distinction between the functions, requirements and components.
%Where possibly each of these three require a different design approach.






%The explicit focus on physical part in the design process, caused a neglect toward the computation part of a \ac{cps}.
%
%The design is the specification of a system, it contains the plans, drawings, documentation, etc.
%A model represent portions of that design, depending on the goal purpose of the model.
%Both methods, from this thesis and the \ac{ridm}, make no adequate distinction between the design and the model.
%As the case study by \autocite{broenink_rapid_2019} is performed with existing hardware, the design is already finished.
%This highlights the shortcoming of the \ac{ridm} as it does model, and not design a system.
%
%The method in this thesis introduces additional steps to implement the design process.
%Although an initial design is produced, the design is implemented as a model.
%
%The point is, the design and the model are two separate components of the design process.
%The fact that this thesis starts with adding half a \ac{se} approach shows that the design aspect lacks in the current method.
%However, both case studies suggest that the \ac{ridm} is a good approach for implementing that design.
%
%This brings me to the last questions:\\
%It is clear that there has to be a design process added, which must implement the different elements of a feature: component, function, requirement.

% Answer: Which adaptations are required to make the design method by Broenink and Broenink (2019) suitable for developing the computation and physical part of CPS?

\section{Recommendations}

\begin{itemize}
    \item To use the variable-detail approach in an optimal way, there are two issues that must be addressed.
        The first one is the continuous testing of dynamic models.
        In a similar approach to unit testing in software, it must be possible to apply changes to a model and check whether everything still works as expected.
        A big issue here is the two-port behavior of dynamic models in comparison with software functions.
        When a software function is called with given parameters, it returns a specific result.
        This result is independent of the program this function is part of.
        In contrary, a dynamic model is not independent.
        The step response of a electro motor is significantly different if a fly-wheel is attached or not.
        Unit testing on sub-models in a dynamic model is therefore not reliable, making intermediate testing of the model difficult.
        The second issue is the organization of model versions.
        The benefit of switching between different sub-models is discussed in this thesis.
        However, switching between different detail versions is difficult and labor intensive.
\end{itemize}



        

