Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

220 рядки
16KB

  1. %&tex
  2. % \begin{itemize}
  3. % \item Extend the \ac{ridm} with a preliminary design phase, focussing on the physical part of \ac{cps}.
  4. % \item Refine the \ac{ridm} to make the design steps more explicit with improved instructions.
  5. % \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}.
  6. % \end{itemize}
  7. % Evaluation of the \ac{ridm} as a design method is done with the results of the case study as the following objectives:
  8. % \begin{itemize}
  9. % \item Assess the influence that applying the \ac{ridm} has on the design process for \ac{cps}.
  10. % \item Describe which adaptations are required for both the \ac{ridm} and the design method to establish a competent design process for \ac{cps}.
  11. % \end{itemize}
  12. \chapter{Conclusion}
  13. \label{chap:conclusion}
  14. % Intro: end goal
  15. \section{Case Study}
  16. % 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.
  17. \emph{Extend the \ac{ridm} with a preliminary design phase, focussing on the physical part of \ac{cps}.}\newline
  18. To get from a given problem or idea, to an initial design that can be used by the \ac{ridm}, a linear set of steps was added.
  19. This set consists of a problem definition, requirements and initial design step.
  20. These steps are based on the \ac{se}-approach.
  21. % Reflect: Refine the RIDM to make the execution of the different design steps explicit and unambiguous.
  22. \emph{Refine the \ac{ridm} to make the design steps more explicit with improved instructions.}\newline
  23. To perform a reproducible evaluation of the \ac{ridm}, the method of the different design steps were defined more explicit.
  24. The \ac{ridm} specifies the development cycle and the variable-detail approach with sufficient detail, making them ready to use.
  25. How to define features and tests for the development cycle, were not as clearly defined.
  26. Two design steps were added in this thesis that describe a method to define the set of features and create a test protocol.
  27. Furthermore, a feature selection step was added to aid with the development.
  28. % Reflect: Develop and perform a case study that tests and evaluates the RIDM.
  29. \emph{Develop and perform a case study that tests and evaluates the \ac{ridm} as a design method for the physical part of \ac{cps}.}\newline
  30. The case study consisted of the development of a \emph{Tweet on a Whiteboard} writer.
  31. This development is performed according to the design plan, that was the result of the first two research objectives.
  32. The \emph{tweet on a whiteboard} writer was chosen as subject of design based on a set of requirements.
  33. The aim of these requirements is to find a subject of design that would optimize the evaluation of the \ac{ridm}.
  34. A list of questions was formed to monitor the progress of the case study.
  35. The questions are answered before and after each step of the design process.
  36. The list was created to ensure a consistent flow of information that can be used to compare the expected result with the actual result of each step.
  37. \section{\acl{ridm}}
  38. \emph{Assess the influence that applying the \ac{ridm} has on the design process for \ac{cps}.}\newline
  39. %De kern van het RIDM bestaat uit de development cycle en de variable-detail approach.
  40. %Beide hebben hun eigen specifieke invloed op het design process.
  41. The core of the \ac{ridm} consists of the development cycle and the variable-detail approach.
  42. Both of these methods have specific influence on the design process.
  43. The development cycle introduces a feature-based approach to the development process.
  44. With the development cycle the system is implemented feature by feature.
  45. This requires the development team to split the functionality of the system into features.
  46. It forces the developers to go through the design in a structured manner.
  47. Furthermore, to determine in what order the features are implemented, the developers must establish the \emph{cost of change} and \emph{chance of failure}-metric for each feature.
  48. With the \emph{chance of failure} and \emph{cost of change} metrics, the features are order with the goal to reduce the impact of a design failure.
  49. Even though the case study only applied the feature selection twice, it proved itself useful by selecting the end-effector feature first.
  50. By prioritizing the end-effector, its failure had only a minor impact on the design.
  51. During each iteration of the development cycle, the selected feature is implemented according to the variable-detail approach.
  52. However, the ability to assess the influence of the variable-detail approach is limited by the absence of tooling for model organization and testing.
  53. Without the tooling it is difficult to switch between model versions, undo design changes or run automated testing.
  54. Furthermore, as the development did not distinct between design and model, the models used often contained more detail than strictly necessary.
  55. Both these limitations resulted in models that would surpass the minimal required level of detail; therefore, it is not possible to assess whether the minimum required level of detail can be established with passing all the tests.
  56. Nevertheless, the variable-detail approach introduces a step wise addition of detail that enforces a structured method similar to the development cycle.
  57. It is unfortunate that the development cycle did not include a structured method to define the features nor their order of implementation.
  58. The performance of the variable-detail approach is currently hindered by the absence of tooling.
  59. Consequently, this limits the accuracy of the assessment on the actual influence of the \ac{ridm}.
  60. Notwithstanding these limitations, the results of the case study suggest that the structured approach of \ac{ridm} reduces the impact of design failures and reduces the development cost for \ac{cps} design.
  61. \emph{Describe which adaptations are required for both the \ac{ridm} and the design method to establish a competent design process for \ac{cps}.}\newline
  62. At the start of this thesis it was clear that the \ac{ridm} required adaptations to make it suitable for the development of physical part of a \ac{cps}.
  63. A new design method was created by adding a preparation phase and refining the steps that \ac{ridm} provided.
  64. The case study showed that it is possible to create a set of features and implement those features with the new design method.
  65. However, the adaptations show variable degrees of success.
  66. In the design method in this thesis, the goal of the preparation phase is to define the features of the system.
  67. These features stem from splitting the functionality and each of the feature is then developed using the \ac{ridm}.
  68. However, the functionality of the system is dictated by the design choices made in the system.
  69. In the case of developing systems from scratch, therefore, it seems that the design steps of the preparation phase play a critical role in the success of the design process.
  70. The \ac{ridm} must have a design process to get from the problem description to the features or the \ac{ridm} must be incorporated into an existing design model, in order to use the \ac{ridm} as a design process for \ac{cps}.
  71. In either situation, the functionality, components and requirements of the system must be incorporated together in the design.
  72. These three elements together form the features of the system that are implemented using the \ac{ridm}.
  73. The evaluation of the case study suggest that the feature selection method described in this thesis is an effective approach to establish the order of implementation.
  74. The current metrics used to establish the order leave much room for improvement.
  75. Both the \emph{cost of change} and the \emph{chance of failure} metric must be improved in order to be used more reliable.
  76. Apart from the lack of preparation phase, the \ac{ridm} has to a couple of obstacles to fully utilize the advantages that it provides.
  77. The models from the development cycle and the variable-detail approach must inherit all their properties from the design documents.
  78. To make design changes easier, there must be a machine readable database for all design parameters, where all models download the required parameters from.
  79. Especially the variable-detail approach is currently hindered by the lack of tooling.
  80. This is even more apparent when the model is correctly separated from the design, as it allows for more specific models.
  81. This results in more models that are smaller.
  82. The large set of models improves the testing results, but tooling for automated testing is required to handle the increasing amount of models.
  83. Furthermore, to deal with the large set of models, the modelling software must be compatible with version control.
  84. \section{Recommendations}
  85. % Voordat er de hierboven genoemde adaptations worden meegenomen in het RIDM, is er eerst aanvullend onderzoek nodig naar de exacte invulling.
  86. % De aanbevelingen voor dat aanvullende onderzoek zijn als volgt:
  87. Before any of the adaptations are applied to the \ac{ridm}, further research on the exact format of these adaptations is recommended.
  88. The recommended steps taken in further research are:
  89. \begin{itemize}
  90. % - Bepaal in wat voor setting het RIDM moet opereren: Denk aan: cps-soort, samenstelling van ontwikkelteam, focus van de design methode.
  91. % Aan de hand van deze setting.
  92. \item \emph{Make the application area and purpose of the \ac{ridm} specific}: To design a good design method, the design process must start with a clear problem description.
  93. Currently, the \ac{ridm} does provide a design method, but does not state clear requirements such as:
  94. \begin{itemize}
  95. \item \emph{Type of \ac{cps}}: mainly hardware, software or control?
  96. \item \emph{Design focus}: improve reliability, real-time guarantee, reduce complexity, shorten development-time?
  97. \item \emph{Internal or external use}: is the client directly involved?
  98. \item \emph{Development team}: number of developers from what background?
  99. \end{itemize}
  100. % - Explore bestaande design projecten die passen in de omschreven setting.
  101. % Evalueer de design projecten op
  102. % -- Wat voor design paradigm of model wordt er gebruikt?
  103. % -- Waar in het project bevind zich de complexiteit en hoe wordt daar mee om gegaan?
  104. % -- Hoe bepalen ze COF en COC in hun projecten?
  105. % -- Hoe wordt er gezorgd voor de connectie tussen het design en hun modellen?
  106. % -- Welke tooling wordt er gebruikt binnen deze projecten?
  107. % -- Zijn er bepaalde pijnpunten waar alle design methodes mee te maken hebben?
  108. % -- Hoe word de opdrachtgever meegenomen in het ontwikkeltraject?
  109. % -- Welke afweging wordt er gemaakt tussen modelleren en hardware prototyping.
  110. These requirements improve the focus of further research and could help to get other organisations involved.
  111. Above all, it prevents the \ac{ridm} of becoming a "master of none".
  112. \item \emph{Explore existing design projects that share the application area and purpose}: To avoid a reinvention of the wheel or solve a problem that does not exist, it is recommended to collect and evaluate the results of existing design projects with at least the following questions:
  113. \begin{itemize}
  114. \item What type of design paradigm or model is being applied?
  115. \item Where is the complexity in the project and how is it dealt with?
  116. \item How are the metrics of \emph{cost of change} and \emph{chance of failure} defined?
  117. \item How are the design and models connected?
  118. \item Which design tools are used by the design team? Why are they used?
  119. \item Are there common problems that hinder (almost) all design projects?
  120. \item How is the client involved in the development process?
  121. \item What considerations are made to chose between modelling or hardware prototyping?
  122. \end{itemize}
  123. % - Onderzoek of en hoe het RIDM deze punten zou kunnen verbeteren.
  124. % - Onderzoek of en hoe deze punten het RIDM zouden kunnen verbeteren.
  125. \item \emph{Hypothesize the improvements provided by \ac{ridm} for existing design projects, and vice versa}: Based on the existing design projects:
  126. How could the \ac{ridm} improve those existing design projects? What lessons can be drawn from the existing design projects?
  127. \end{itemize}
  128. %
  129. % Afhankelijk van de uitkomst moet er een strategie gemaakt worden om het RIDM uit te breiden.
  130. % Op dit moment zijn er twee voor de hand liggende opties:
  131. % - Verwerk het RIDM in een bestaand design model.
  132. % - Breidt het RIDM uit tot een compleet design model.
  133. % Voor deze beide opties geldt:
  134. % - Verwerk hierin de punten van het de project evaluatie
  135. % - Voer het ontwerp van de vernieuwde RIDM uit door een multidisiplinair design team.
  136. % - Evalueer het RIDM aan de hand van realistische projecten.
  137. Depending on what the results and conclusions of the recommended research topics are, a strategy has to be created to further develop the \ac{ridm}.
  138. Currently, there are two likely scenarios:
  139. \begin{itemize}
  140. \item Make the \ac{ridm} part of an existing design model, such that the advantages are integrated with existing design models.
  141. \item Develop the \ac{ridm} into a complete design method, such that it can be used for the development of the complete product life-cycle.
  142. \end{itemize}
  143. Independent of what strategy is chosen, it is recommended to:
  144. \begin{itemize}
  145. \item Implement the adaptations as described in this thesis.
  146. \item Perform the adaptations and improvements of the \ac{ridm} with a multi-disciplinary design team.
  147. \item Evaluate the \ac{ridm} with projects that are within the application area of the \ac{ridm}.
  148. \end{itemize}
  149. The recommendations result in a more focussed development of the \ac{ridm}.
  150. But expected is that a full development of the \ac{ridm} takes multiple years and multiple developers to complete.
  151. However, it is possible to improve separate techniques from the \ac{ridm}.
  152. These techniques can improve existing design methods.
  153. Based on this thesis, the following research topics are recommended:
  154. \begin{itemize}
  155. \item \emph{A technique or protocol for to organize the parameters of a design, such that the parameters can be used in modelling}: Can the current modelling tools be adapted to read parameters from a database and can design tools be adapted to write parameters to a database?
  156. \item \emph{Tooling for modelling software, to allow for unit testing}: Software development applies unit testing, where behavior of each function is tested separately.
  157. In modelling this would allow every sub-model to be tested separately.
  158. \end{itemize}
  159. % Kleine recommendations zijn
  160. % - Werk aan automated testing
  161. % -
  162. %\begin{itemize}
  163. % \item To use the variable-detail approach in an optimal way, there are two issues that must be addressed.
  164. % The first one is the continuous testing of dynamic models.
  165. % 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.
  166. % A big issue here is the two-port behavior of dynamic models in comparison with software functions.
  167. % When a software function is called with given parameters, it returns a specific result.
  168. % This result is independent of the program this function is part of.
  169. % In contrary, a dynamic model is not independent.
  170. % The step response of a electro motor is significantly different if a fly-wheel is attached or not.
  171. % Unit testing on sub-models in a dynamic model is therefore not reliable, making intermediate testing of the model difficult.
  172. % The second issue is the organization of model versions.
  173. % The benefit of switching between different sub-models is discussed in this thesis.
  174. % However, switching between different detail versions is difficult and labor intensive.
  175. %\end{itemize}