|
- %&tex
- \chapter{Improved Design Method}
- \label{chap:improvements}
- \rro{Introduce}
- \rroi{Preliminairy design required complete new approach}
- \rroi{Better tooling}
- \section{System Baseline}
- The preliminary design phase is not a competent approach for the initial design of a physical system.
- In the waterfall-like approach each step is completely wrapped up before moving to the next step.
- Every subsequent step provides more and more information about the design.
- The information gives often insight in what could have been done better.
- Although it is possible to review previous completed steps, there is quite a barrier to revise these steps.
- Redoing previous work is demotivating and will be avoided as much as possible.
- \rrotodo{Fix these citations}
- This \emph{cost of change} is an inherent problem of the waterfall model \autocite{alshamrani, adenowo, petersen}
-
- The development was confronted with this decision during the feature definition step in \autoref{sec:featuredefinition}.
- The term feature is used for the different characteristics of the system.
- Were these features map adequately to specifications and software, it does not represents hardware components.
- Taking the following items from a single branch in \autoref{fig:robmosys}:
- \begin{enumerate}
- \item Draw a tweet on a whiteboard
- \item Writing
- \item Write a char at position
- \item Move Marker on board
- \item SCARA
- \end{enumerate}
- The first four items are characteristics of the system, where the first item is an abstract description of the complete system.
- The subsequent items become more specific with each step.
- The links between each subsequent item could be described "to perform this feature it is required that system can".
- These items are derived from the design specification, but are also useful as software.
- Item 4 would be the software implementation of the motor driver.
- This motor driver is called by the arm controller that is implement for item 3.
- The outlier in this list is the SCARA, it is not a sub-feature of \emph{Move marker on board}.
- The SCARA has motors, mechanical linkage, sensors, as sub-components, but it is not a feature.
-
- This was a known shortcoming during the case study.
- One of the solutions that was discussed was to build a feature dependency tree with an iterative approach.
- Each iteration of the design process would only cover one level of the dependency tree.
- The first iteration would thus deliver specifications, initial design, order of operations, and tests for the mission level: "Draw a tweet on a whiteboard".
- Followed by the second level which would repeat everything for \emph{Writing} and \emph{Wiping}.
- This approach would probably be better that the current approach in the feature definition.
- It would however require to review all the previous steps and rewrite most of the design method.
- Furthermore, it was estimated that the additional effort required to restart the design process would negatively impact the overall evaluation of the design method.
- Nevertheless is it required to find an improved design method.
-
- The iterative design would help generate a better method, but it still generates a single dependency tree.
- Therefore can only cover one type of dependency.
- \textcite{kordon_model-based_2007} presents their \ac{mbed} that is used for two development projects within NASA's Jet Propulsion Lab.
- The \ac{mbed} introduces a system hierarchy that separates the dependencies over three trees: specifications, functions, and components.
- Additionally it adds interfaces, that connect different sub-components, and operational scenarios to this hierarchy.
- The hierarchy is constructed iterative where each iteration generates a new level of sub-specifications, sub-functions and sub-components.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The term feature was used as a universal concept for design features, hardware features and software features.
-
- This led to problems while creating a list of features.
- This led to problems during the feature definition step.
- The aim of the approach was to create a list of features.
- Due to the different nature of the features it was impossible to create a single list of features.
- Making a list for each group of features would result in problems with the selection of the features.
-
- The problem with the features became apparent during the feature definition step in \autoref{sec:featuredefinition}.
-
-
- Another problem is the waterfall-like approach.
-
- A possible solution that was discussed during the feature definition step in \autoref{sec:featuredefinition}.
- The current steps are strongly detached from each other.
-
-
-
-
-
-
- \rro{In general, I underestimated the importance of the preliminary research}
- \rroi{\textcite{broenink_rapid_2019} also skips this part.}
- \rroi{As the focus of that paper was on the actual implementation, the preliminary phase was over looked}
- \rroii{However, bringing a system into being, the preliminary design phase is extremely important}
- \rro{For validation \textcite{garrett_322_2000} suggests:}
- \rroi{Looking at comparable systems' specifications}
- \rroi{Use of best engineering judgements}
- \rroi{Apply early simulation results for feedback}
- \rroi{A holistic view is required for validation of the initial design/specifications}
- \rro{Without mechanical experience is difficult}
- \rro{Better specification document is a team effort}
- \rroi{A team with engineers in their own specific field that is included in the design}
- \rro{\textcite{sheard_718_1998} discusses:}
- \rroi{Mechanical requirements are directly derived from and bounded by physics}
- \rro{Result: Mechanical specifications are easier to change}
- \rroi{More room for initial simulations, before making concrete specs}
- \section{Feature Separation}
- \rro{During the case study, the planned approach was not possible}
- \rro{Result: Improvised a structure that was loosly based on Robmosys}
- \rro{Proposed Improvement: Split layout for requirements, functions and components from State Analysis \textcite{kordon_model-based_2007}.}
-
- \rro{Instead of trying to start with a feature, a holistic model of essential elements should be created}
- \rroi{In the holistic basic model, review the features/components on their feasibility}
- \rroii{How likely is it that this specific component is going to work: And if not, what are the consequences? What do we need to change?}
- \rroi{Then add detail to the different subcomponents of that model}
-
- \section{Tooling}
- \rro{20-sim lacks an object oriented approach}
- \rroi{Adding detail to a submodel that is used more than once is a PITA}
- \rroi{Every model is a deepcopy}
|