\acresetall \chapter{Conclusion} % - evaluate effect of transient node resets + hardened implementation % - create tools for setting up + measuring + analysing experiments % - \fitlab % - stable topology % --> comparable % - transient node resets are a thing % - if reset: changes ++ % - less with hardening % - if no reset: less good --> depends on use-case % - convergence time % - restoring state takes time % - restoring wrong state even more --> validation helps % - performance: delay, packet loss % - hardened implementation loses fewer packets when used without restore UID % - but both worse without single node reset The topic of this work has been to evaluate the reset of single node restarts and the possibly resulting transient node failures on a \ac{WSN} which uses the \ac{RPL}. The evaluation has been performed using \fitlab. For this software has been created to automate the experiments using the existing infrastructure provided by \fitlab and analyze the data obtained from the experiments. For running the hardened implementation in \fitlab, the implementation has been ported to a newer version of \emph{Contiki} that has device support for the sensor nodes. Each experiment has been performed in six different phases, where the first two (N and R) use the default implementation of \ac{RPL} in \emph{Contiki}, the second pair (H and HR) uses the hardened implementation \cite{mueller2017} and the third pair (HS and HSR) uses the hardened implementation that also checks the validity of the restored routing information. First, the \ac{DAG} that results from each experiment has been compared and checked for variances. It has been discovered that, using \fitlab it is possible to reliably create a tree where a certain node (e.g. the node to be reset during R, HR and HSR) joins the \ac{DAG} at a certain rank. This means that comparable results can be obtained for the effect of single node resets. Next, the instability of the \ac{DAG} has been evaluated by counting the number of changes that occur during each phase. It has been observed that a single reset will trigger a large amount of changes in the \ac{DAG}, which will result in a higher energy consumption. If such resets occur, both versions of the hardened implementations will reduce the number of changes to the \ac{DAG}, but will increase the number of changes if no resets occur, in which case the default implementation performs better. From observing the network convergence times for \ac{RPL} for each implementation with and without single node resets, it can be concluded that restoring the state takes time, during which arriving packets will be lost. The hardened implementation, but without the validity checks enabled, performs best in reducing the time packets are dropped while the node recovers from its reset. It has been discovered that the validity checks that involve the exchange of \ac{DIO} messages take longer than recreating the state without restoring it from persistent memory. The final part of the evaluation looked at the message overhead generated by each implementation and for a network with and without single node resets. Here it has been observed, that the default implementation creates the lowest overhead for a scenario without single node resets, while the hardened implementations create a large overhead if no single node reset occurs. For a scenario where single node resets occur, both of the hardened implementations manage to achieve a smaller message overhead than the default implementation. In general, it can be concluded that the energy consumption of the hardened implementation is significantly higher than for the default implementation if no single node resets occur. If single node resets occur, the hardened implementation will only have a small advantage over the default implementation in terms of energy consumption.