Преглед на файлове

Review reflection

tags/0.6.0-conclusion
Wouter Horlings преди 4 години
родител
ревизия
1bfcb65e07
променени са 1 файла, в които са добавени 31 реда и са изтрити 35 реда
  1. +31
    -35
      content/reflection.tex

+ 31
- 35
content/reflection.tex Целия файл

@@ -3,14 +3,14 @@
\label{chap:reflection}

\section{Elements of a Feature}
During the course of this study, the concepts of specifications, components and functions are added to the design method.
As explained in the background chapter, having an approach to determine specifications is a crucial concept of a design process.
Over the course of this study, the definition of a feature evolved into requirements, components and functions.
As explained in the background chapter, having an approach to determine requirements is a crucial concept of a design process.
Because \ac{ridm} did not include such an approach, a \ac{se} approach was added.
The aim of the \ac{se} approach is to deliver a set of features to be used in the \ac{ridm}.
To be more specific, the set of features was expected to be the result of the feature definition step.
Contrary to that expectation, multiple attempts for this step did not produce a satisfactory definition of features.
As explained in \autoref{sec:case_featuredefinition}, there was a clear discrepancy between the expected and resulting features.
It was expected to get features in the form of components that can be developed during the design process.
It was expected to get features in the form of components that developed during the design process.
However, the resulting features came off as functions of the system.
In the end, a solution was found in the RobMoSys approach.
Even though the RobMoSys approach was too comprehensive for this case study, it provided the basis for the split between functions and components.
@@ -25,12 +25,12 @@

Creating a hierarchy for the functions and a separate set of components allowed for the continuation of the case study.
There were still a number of challenges with this approach.
For example, it was almost impossible to divide the specifications between components and functions.
For example, it was almost impossible to divide the requirements between components and functions.
Furthermore, the role of electronics did not fit in the current approach either.
In reviewing the literature, the approach used in this case study shows clear resemblances with \ac{mbed} \autocite{kordon_model-based_2007}.
\ac{mbed} introduces explicit relations between the requirements, components and functions, as shown in \autoref{fig:functional_relation}.
Additionally, the paper includes a layout for the hierarchy of requirements, functions and components.
Based on this, the approach by \textcite{kordon_model-based_2007} further supports the idea of dividing features into specifications or requirements, functions, and components.
Based on this, the approach by \textcite{kordon_model-based_2007} further supports the idea of dividing features into requirements or requirements, functions, and components.

What is interesting about this new insight is that it helps to understand the difference with the case study performed by \textcite{broenink_rapid_2019}.
The hardware components used by Broenink and Broenink was a mini-segway, which was designed to be used in a under-graduate practical.
@@ -41,61 +41,57 @@
\section{Model and Design Relation}
\label{sec:evaluation_model_and_design}
The \ac{ridm} as well as the design method in this study do not make an explicit distinction between the model and the design.
%Hierdoor wordt de harde grens hier tussen onduidelijk.
This implicitly caused the model itself to dictate the design.
%Een goed model voldoet namelijk aan het volgende ...
This implicitly causes the model itself to dictate the design.
According to \textcite{stachowiak_allgemeine_1973}, three general properties apply for a model.
First is that the model is always representative to its original;
second, the model must only include attributes of its original that are relevant to the respective developer or user;
and third, the model must be pragmatic to the original, meaning that models are an adaptation of the original with respect to a specific purpose.

%Dus als je design verder ontwikkeld dan moet je dus schakelen tussen models.
These properties coincide with the different modelling approaches used during the case study.
The dynamic models did not start directly with 3D physics as it would conflict with the second property.
However, as the design becomes more refined, it could not be represented with only basic kinematics calculations.
However, as the design becomes more refined, it can not be represented with only basic kinematics calculations.
The step to 2D, and later 3D physics, is made such that the model still represents the design.
Parallel to the dynamics model, a CAD drawing was used to model the shape of the hardware components.
Simply because models represent the design for a different purpose.

Even though the models in the case study satisfy the properties as described above, it has a significant implication for the current design method.
As the model is used to represent the current design, switching to a different modelling approach changes the representation of the design as well.
From the case study it is possible to identify two direct consequences.
Two direct consequences are identified from the case study.
The first is that there is discrepancy for the required effort between a design change and the corresponding model update.
This can be seen in the case study when the model was reconstructed with 3D physics but the design did not change.
This is seen in the case study when the model was reconstructed with 3D physics but the design did not change.
Resulting in a couple of days of work spend reconstructing the model, without significant progress in the design.
The second consequence is that the design got split up over the dynamics model and the CAD drawing:
Both included the kinematics of the SCARA;
Both included the kinematics of the \ac{scara};
the controller and stepper behavior was defined in the dynamics model;
and the shapes of the components was defined in the CAD drawing.
This organization of models and design have two major downsides.
The first that a switch in modelling approach, is not only labor intenstive, it is very error prone as well.
Coping parameters from one model and pasting them in another model is an unwanted practice.
This organization of models and design has two major downsides.

The first that a switch in modelling approach, is not only labor intensive, it is error prone as well.
Copying parameters from one model and pasting them in another model is an unwanted practice.
The second problem is that not every type of model can represent the same information.
Although the CAD drawing contains a lot of detail, it cannot represent the electric behavior of the motors.
For this case study, the motors are \ac{ots}-components.
For this case study the motors are \ac{ots}-components.
The electric behavior of the motor is therefore represented by a product number.
However, this is not applicable when the design requires custom motors that are designed with a specific electric behavior.
Probably resulting in a situation where specific design details are spread over different submodels.
Probably resulting in a situation where specific design details are spread over different sub-models.
Such a subdivision of details across different models is, without any doubt, undesired.

\section{Preparation Phase}
%Maak hier een koppeling naar de uitleg waarom het RIDM de functie/spec overslaat.
%Daarna waarom en hoe dat is opgelost.
The start of this chapter explains the reason to prepend the preparation phase to the \ac{ridm}.
Where the preparation phase aims to produce the specifications and features, based on the waterfall method.
Where the preparation phase aims to produce the requirements and features, based on the waterfall method.
However, during the case study, the waterfall method proved to be problematic.
Especially during the first steps, the amount of information was scarce, which made it tempting to work ahead.
For example, making a proof of concept or model during the specification step would have resulted in valuable information.
For example, a simple proof of concept during the requirement step would have resulted in valuable information.
This was however, not possible as the goal was to follow the specified design method as close as possible.

Looking at the current case study where the system under design is relatively simple, more design experience is sufficient to overcome the information shortage.
Unfortunately, it requires an experienced developer, which are scarce by themself.
As was pointed out in \autoref{sec:evaluation_reflection_protoype}, perceiving the current design as a prototype would also reduce the information situation.
Similar, as an improved waterfall model, \textcite{royce_managing_1970} proposed to use a prototype in order to reduce the reliance on human judgment.
Unfortunately, it requires experienced developers, which are scarce by themself.
As was pointed out in \autoref{sec:evaluation_reflection_protoype}, perceiving the current design as a prototype would also improve the information situation.
Similarly, \textcite{royce_managing_1970} proposed to use a prototype in order to reduce the reliance on human judgment.
A common denominator of these proposals is that they all deal with the dependency on human judgement, either by improving or reducing this judgement.
Nonetheless, these proposal seem like a suppression of symptoms, instead of an actual improvement of the design method.

Interestingly, when the current design is regarded as prototype and the design method is repeated, the approach has become comparable with the first cycle of the spiral model \autocite{boehm_spiral_1988}.
Interestingly, when the current design is regarded as prototype and the design method is repeated, the approach is comparable with the first cycle of the spiral model \autocite{boehm_spiral_1988}.
\textcite{broenink_rapid_2019} state about the \ac{ridm} that the development cycle is based, among other methods, on the spiral model.
It may be the case therefore that prepending the waterfall model was an attempt to reinvent the wheel.

@@ -105,7 +101,7 @@
It is apparent that the current implementation of the rapid development cycle is not suited for the design of a cyber-physical system.
Further studies, which take these issues into account, should be undertaken.

As these issues have a large impact on the overall performance, they must not overshadow the rest of the design method.
Even though, these issues have a large impact on the overall performance, they must not overshadow the rest of the design method.
The feature selection step and variable detail approach did show a positive impact on the design method.
The following sections discuss their performance and what potential impact an improved rapid development cycle introduces.

@@ -119,23 +115,23 @@
Would the SCARA have been implemented first, a failure in the end-effector might result in a required redesign of the SCARA feature.
However, with only two uses during this case study, caution must be applied.

On the criteria itself, the time-risk factor and the dependees are, in my opinion, the core criteria.
On the criteria itself, the time-risk factor and the dependees are, in my opinion, most relevant.
The dependees is a hard criteria: if there are any features that it depends on, but not yet implemented, it is cannot be selected.
Otherwise, the feature would be implemented before the all required information is available.
As explained in \autoref{sec:case_development_cycle_1}, feature selection approach aims to clear the largest amount risk the smallest amount possible.
Otherwise the feature would be implemented before the required information is available.
As explained in \autoref{sec:case_development_cycle_1}, the feature selection approach aims to clear the largest amount risk the smallest amount possible.
However, between the dependees and the risk-time factor, there is a criteria for the number of tests, which could hinder this approach.
The current approach would result in the situation where a feature with lots of easy to pass tests, will be implemented before a features with less, but more difficult tests.
The current approach would result in the situation where a feature with lots of easy to pass tests, is implemented before a features with less, but more difficult tests.
It is then possible to spend a lot of time on something that is very likely to pass anyway.

This does not alter the fact that to complete the design the all tests have to pass.
Which is also the reason for this criteria in the first place: give priority to the feature that passes the most tests on completion.
Even though it is difficult to draw concrete conclusions about the feature selection, a recommendation is to use the number and risk of tests as a metrics for the risk-time factor calculation.
In addition, it is possible that other metrics could improve the risk time calculation, such as the number of dependees, the number of tests of those dependees, or other metrics that could contribute reducing the risk.
In addition, it is possible that other metrics improve the risk time calculation, such as the number of dependees, the number of tests of those dependees, or other metrics that aid the risk assessment.
Further work is required to establish which metrics are suitable to improve the risk calculation.

\subsection{Variable Detail Approach}
The variable detail approach can be a very practical development tool.
A note of caution is due here since the variable detail approach could not be used to its full potential.
The variable detail approach is be a very practical development tool.
A note of caution is due here since the variable detail approach has not been used to its full potential.
The goal was to add detail to a feature in strictly defined steps.
Between each step the tests are applied to the updated model.
Based on the test, the development continues or the model is rolled back to an earlier version.
@@ -144,7 +140,7 @@
However, multiple difficulties were encountered during the case study, which hindered the variable detail approach.
As was mentioned in \autoref{sec:evaluation_reflection_development}, the lack of good version control made it difficult to work with multiple versions of a model.
This made it difficult to switch or revert to other levels of detail.
However, the greatest difficulty is due to the model being the design, as discussed in \autoref{sec:evaluation_model_and_design}.
However, the greatest difficulty is due to the model representing the design, as discussed in \autoref{sec:evaluation_model_and_design}.
Because the design contains a certain level of detail and the model is a full representation of the design, it is difficult to make a simple implementation or to switch back.
This strong relation between the model and the design, also caused the complete model to be switched to a different representation.


Loading…
Отказ
Запис