# DynDSE: Automated Multi-Objective Design Space Exploration for Context-Adaptive Wearable IoT Edge Devices

^{*}

## Abstract

**:**

## 1. Introduction

- We present a simulation-based Design Space Exploration (DynDSE) procedure for wearable IoT devices that employ context-adaptive pattern recognition algorithms for event retrieval, see Figure 1. We provide a formal characterisation of the design space, given a set of system functionalities, components, and their parameters. An iterative search evaluates configurations according to system requirements. The inherent trade-off embedded in conflicting objectives are explored to find an optimal configuration.
- We perform a wearable IoT application evaluation to analyse the resource-performance trade-off considering static and dynamic design aspects through simulations with actual data of Electromyography (EMG)-monitoring eyeglasses in automated dietary monitoring.

## 2. Related Work

## 3. Exploration Framework

#### 3.1. Design Space Representation

#### 3.2. Configuration Generation

#### 3.3. Configuration Evaluation

## 4. Optimisation Metrics

#### 4.1. Retrieval Performance Metric

#### 4.2. Execution Time Metric

#### 4.3. Energy Consumption Metric

**$\mu $C energy consumption**: Most $\mu C$s support an active state and a stand-by state. The average energy consumption in active state ${\mathrm{EC}}_{f}^{\mu C}$, related to the computation of a function f, is proportional to the ${\mathrm{ET}}_{f}$ and defined as:

**Sensor energy consumption**: The average instantaneous energy consumption ${\mathrm{EC}}_{t}^{s}$ for a single sensing component is computed by applying the following equations:

**fFlash/Non-Volatile Memory Energy Consumption**: To estimate the flash and programmable memory, we formulated an energy model inspired by Konstantakos et al. [28]. Writing energy consumption was determined by:

**Radio transmission energy consumption measure**: To estimate the energy consumption of the wireless communication, we relied on the energy model described by Prayati et al. [29]. The model considered the following three stages for transmission: (1) initialisation of transmission and transferring of the frame data from memory to the radio chip FIFO buffer, (2) back-off timeout, and (3) packet transmission via the wireless channel.

**Total energy consumption**: The energy consumption metric EC is computed as follows:

#### 4.4. Memory Demand Metric

#### 4.5. Communication Latency Metric

## 5. IoT Application Evaluation

#### 5.1. Smart Eyeglasses to Monitor Eating in Free-Living

#### 5.2. Design Space Representation

#### 5.2.1. Algorithm (${\Xi}_{1}$)

**FFT-based spotting:**The first pattern spotting method was introduced by Zhang and Amft [32] in order to identify eating moments. An online non-overlapping sliding window segmentation with length m expressed in seconds was used to extract features in continuous EMG data. A one-class classification was performed by a one-class SVM (oc-SVM). Details of the feature extraction and one-class classification can be found in [32]. The ocSVM was trained applying the leave-one-participant-out (LOPO) cross-validation strategy. Hyperparameter optimisation was performed using grid search approach.

**WPD-based spotting:**We designed the second pattern spotting method inspired by the classification task presented in [33]. An online non-overlapping sliding window segmentation with length m expressed in seconds was used. From each segmented frame, the maximum sample value was extracted and compared to a threshold experimentally found. When the sample value was lower than the threshold, the frame was not fed to the spotting pipeline. In the pre-processing module, the EMG signals were passed through a notch filter of 50 Hz to remove power line’s interferences, likely to occur in free-living, also de-trended by a digital high pass filter of 20 Hz and rectified. In the feature extraction module, the signal was passed through a Wavelet Packet Decomposition (WPD), to extract c features, i.e., the WPD coefficients, in the time-frequency domain. The depth level of the tree decomposition was kept constant, i.e., $l=2$. A principal component analysis (PCA) was subsequently used to reduce the number of features from c to d. After normalisation, the features were used as discriminant of the target class by using a ocSVM, with number of support vectors $v=1500$.

#### 5.2.2. Data Sampling (${\Xi}_{2}$)

#### 5.2.3. $\mu $C (${\Xi}_{3}$)

#### 5.2.4. Runtime mode (${\Xi}_{4}$)

#### 5.3. Configuration Evaluation

#### 5.3.1. Sensor Dataset

#### 5.3.2. Multi-Objective Computation

- Kernel SVM:$[v\xb760]+[2v\xb750]+[1\xb712]\approx 24\times {10}^{4}$ cycles, where $v=1500$, is the number of support vectors;
- Radial basis function:$[v(2d-1)\xb760]+[v(d-1)\xb750]+[1\xb712]+[v\xb7210]\approx 525\times {10}^{4}$ cycles.

#### 5.3.3. Multi-Objective Visualisation

#### 5.3.4. Multi-Objective Analysis

## 6. Discussion

## 7. Conclusions and Future Work

## Author Contributions

## Funding

## Acknowledgements

## Conflicts of Interest

## Abbreviations

$\mu $C | Microcontroller |

BLE | Bluetooth Low Energy |

CL | Communication latency |

DSE | Design space exploration |

EC | Energy consumption |

ECG | Electrocardiography |

EEG | Electroencephalography |

EMG | Electromyography |

ET | Execution time |

FFT | Fast Fourier transform |

FPGA | Field Programmable Gate Array |

GPU | Graphics Processing Unit |

IoT | Internet of things |

IP | Intellectual Property |

LOPO | Leave-one-participant-out |

MPS | Maximum payload size |

ocSVM | One-class support vector machines |

P | Precision |

PCA | Principal component analysis |

R | Recall |

SVM | Support vector machines |

WPD | Wavelet packet decomposition |

## References

- Amft, O. How wearable computing is shaping digital health. IEEE Pervasive Comput.
**2018**, 17, 92–98. [Google Scholar] [CrossRef] - Verma, P.; Sood, S.K. Fog assisted-IoT enabled patient health monitoring in smart homes. IEEE Internet Things J.
**2018**, 5, 1789–1796. [Google Scholar] [CrossRef] - Tokognon, C.A.; Gao, B.; Tian, G.Y.; Yan, Y. Structural health monitoring framework based on Internet of Things: A survey. IEEE Internet Things J.
**2017**, 4, 619–635. [Google Scholar] [CrossRef] - Sittón-Candanedo, I.; Alonso, R.S.; Corchado, J.M.; Rodríguez-González, S.; Casado-Vara, R. A review of edge computing reference architectures and a new global edge proposal. Future Gener. Comput. Syst.
**2019**, 99, 278–294. [Google Scholar] - Selvaraj, S.; Sundaravaradhan, S. Challenges and opportunities in IoT healthcare systems: A systematic review. SN Appl. Sci.
**2020**, 2, 139. [Google Scholar] [CrossRef] - Jayakumar, H.; Raha, A.; Kim, Y.; Sutar, S.; Lee, W.S.; Raghunathan, V. Energy-efficient system design for IoT devices. In Proceedings of the 2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC), Macau, China, 25–28 January 2016; pp. 298–301. [Google Scholar]
- Belwal, M.; Sudarshan, T. A survey on design space exploration for heterogeneous multi-core. In Proceedings of the 2014 International Conference on Embedded Systems (ICES), Coimbatore, India, 3–5 July 2014; pp. 80–85. [Google Scholar]
- Pimentel, A.D. Exploring exploration: A tutorial introduction to embedded systems design space exploration. IEEE Des. Test
**2016**, 34, 77–90. [Google Scholar] [CrossRef] - Schiboni, G.; Amft, O. Saving energy on wrist-mounted inertial sensors by motion-adaptive duty-cycling in free-living. In Proceedings of the 2018 IEEE 15th International Conference on Wearable and Implantable Body Sensor Networks (BSN), Las Vegas, NV, USA, 4–7 March 2018; pp. 197–200. [Google Scholar]
- Brandolese, C.; Fornaciari, W.; Pomante, L.; Salice, F.; Sciuto, D. Affinity-driven system design exploration for heterogeneous multiprocessor SoC. IEEE Trans. Comput.
**2006**, 55, 508–519. [Google Scholar] - Streichert, T.; Glaß, M.; Haubelt, C.; Teich, J. Design space exploration of reliable networked embedded systems. J. Syst. Archit.
**2007**, 53, 751–763. [Google Scholar] [CrossRef] - Haubelt, C.; Schlichter, T.; Keinert, J.; Meredith, M. SystemCoDesigner: Automatic design space exploration and rapid prototyping from behavioral models. In Proceedings of the 45th Annual Design Automation Conference. ACM, Anaheim, CA, USA, 8–13 June 2008; pp. 580–585. [Google Scholar]
- Bharatula, N.B.; Stäger, M.; Lukowicz, P.; Tröster, G. Empirical study of design choices in multi-sensor context recognition systems. In Proceedings of the IFAWC 2nd International Forum on Applied Wearable Computing, Zurich, Switzerland, 17–18 March 2005; pp. 79–93. [Google Scholar]
- Bharatula, N.B.; Anliker, U.; Lukowicz, P.; Tröster, G. Architectural tradeoffs in wearable systems. In Proceedings of the International Conference on Architecture of Computing Systems, Anaheim, CA, USA, 8–13 June 2008; pp. 217–231. [Google Scholar]
- Anliker, U.; Beutel, J.; Dyer, M.; Enzler, R.; Lukowicz, P.; Thiele, L.; Troster, G. A systematic approach to the design of distributed wearable systems. IEEE Trans. Comput.
**2004**, 53, 1017–1033. [Google Scholar] - Anliker, U.; Junker, H.; Lukowicz, P.; Tröster, G. Design methodology for context-aware wearable sensor systems. In Proceedings of the International Conference on Pervasive Computing, Berlin, Germany, 8 May 2005; pp. 220–236. [Google Scholar]
- Beretta, I.; Rincon, F.; Khaled, N.; Grassi, P.R.; Rana, V.; Atienza, D.; Sciuto, D. Model-based design for wireless body sensor network nodes. In Proceedings of the 2012 13th Latin American Test Workshop (LATW), Quito, Ecuador, 10–13 April 2012; pp. 1–6. [Google Scholar]
- Stäger, M.; Lukowicz, P.; Tröster, G. Power and accuracy trade-offs in sound-based context recognition systems. Pervasive Mob. Comput.
**2007**, 3, 300–327. [Google Scholar] - Rault, T.; Bouabdallah, A.; Challal, Y.; Marin, F. A survey of energy-efficient context recognition systems using wearable sensors for healthcare applications. Pervasive Mob. Comput.
**2017**, 37, 23–44. [Google Scholar] [CrossRef] - Mesin, L. A neural algorithm for the non-uniform and adaptive sampling of biomedical data. Comput. Biol. Med.
**2016**, 71, 223–230. [Google Scholar] [CrossRef] [PubMed] - Scarabottolo, I.; Alippi, C.; Roveri, M. A spectrum-based adaptive sampling algorithm for smart sensing. In Proceedings of the 2017 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computed, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI), San Francisco, CA, USA, 4–8 August 2017; pp. 1–8. [Google Scholar]
- Rieger, R.; Taylor, J.T. An adaptive sampling system for sensor nodes in body area networks. IEEE Trans. Neural Syst. Rehabil. Eng.
**2009**, 17, 183–189. [Google Scholar] [CrossRef] [PubMed] - Künzli, S.; Thiele, L.; Zitzler, E. Modular design space exploration framework for embedded systems. IEEE Proc.-Comput. Digit. Tech.
**2005**, 152, 183–192. [Google Scholar] [CrossRef] - Gajski, D.D.; Vahid, F.; Narayan, S.; Gong, J. System-level exploration with SpecSyn. In Proceedings of the 35th Annual Design Automation Conference, San Francisco, CA, USA, 15–19 June 1998; pp. 812–817. [Google Scholar]
- Zhuge, Q.; Shao, Z.; Xiao, B.; Sha, E.H.M. Design space minimization with timing and code size optimization for embedded DSP. In Proceedings of the 1st IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis, Newport Beach, CA, USA, 1–3 October 2003; pp. 144–149. [Google Scholar]
- Rajagopal, S.; Cavallaro, J.R.; Rixner, S. Design space exploration for real-time embedded stream processors. IEEE Micro
**2004**, 24, 54–66. [Google Scholar] [CrossRef] - Powers, D.M. Evaluation: From precision, recall and F-measure to ROC, informedness, markedness and correlation. Mach. Learn. Technol.
**2011**, 2, 37–63. [Google Scholar] - Konstantakos, V.; Chatzigeorgiou, A.; Nikolaidis, S.; Laopoulos, T. Energy consumption estimation in embedded systems. IEEE Trans. Instrum. Meas.
**2008**, 57, 797–804. [Google Scholar] [CrossRef] - Prayati, A.; Antonopoulos, C.; Stoyanova, T.; Koulamas, C.; Papadopoulos, G. A modeling approach on the TelosB WSN platform power consumption. J. Syst. Softw.
**2010**, 83, 1355–1363. [Google Scholar] [CrossRef] - Zhang, R.; Amft, O. Monitoring chewing and eating in free-living using smart eyeglasses. IEEE J. Biomed. Health Inform.
**2017**, 22, 23–32. [Google Scholar] [CrossRef] - Schiboni, G.; Amft, O. Automatic dietary monitoring using wearable accessories. In Seamless Healthcare Monitoring; Springer: Berlin/Heidelberg, Germany, 2018; pp. 369–412. [Google Scholar]
- Zhang, R.; Amft, O. Free-living eating event spotting using EMG-monitoring eyeglasses. In Proceedings of the 2018 IEEE EMBS International Conference on Biomedical & Health Informatics (BHI), Las Vegas, NV, USA, 4–7 March 2018; pp. 128–132. [Google Scholar]
- Chu, J.U.; Moon, I.; Lee, Y.J.; Kim, S.K.; Mun, M.S. A supervised feature-projection-based real-time EMG pattern recognition for multifunction myoelectric hand control. IEEE/ASME Trans. Mechatron.
**2007**, 12, 282–290. [Google Scholar] [CrossRef] - Schiboni, G.; Suarez, J.C.; Zhang, R.; Amft, O. Attention-Based Adaptive Sampling for Continuous EMG Data Streams. In Proceedings of the 2019 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI), Leicester, UK, 19–23 August 2019; pp. 1178–1183. [Google Scholar]
- Buschhoff, M.; Günter, C.; Spinczyk, O. A unified approach for online and offline estimation of sensor platform energy consumption. In Proceedings of the 2012 8th International Wireless Communications and Mobile Computing Conference (IWCMC), Limassol, Cyprus, 27–31 August 2012; pp. 1154–1158. [Google Scholar]
- Mikhaylov, K. Simulation of network-level performance for Bluetooth Low Energy. In Proceedings of the 2014 IEEE 25th Annual International Symposium on Personal, Indoor, and Mobile Radio Communication (PIMRC), Washington, DC, USA, 2–5 September 2014; pp. 1259–1263. [Google Scholar]
- Zhang, R.; Bernhart, S.; Amft, O. Diet eyeglasses: Recognising food chewing using EMG and smart eyeglasses. In Proceedings of the 2016 IEEE 13th International Conference on Wearable and Implantable Body Sensor Networks (BSN), San Francisco, CA, USA, 14–17 June 2016; pp. 7–12. [Google Scholar]
- Azariadi, D.; Tsoutsouras, V.; Xydis, S.; Soudris, D. ECG signal analysis and arrhythmia detection on IoT wearable medical devices. In Proceedings of the 2016 5th International Conference on Modern Circuits and Systems Technologies (MOCAST), Thessaloniki, Greece, 12–14 May 2016; pp. 1–4. [Google Scholar]
- Kumar, G.S.A.; Manimaran, G.; Wang, Z. End-to-end energy management in networked real-time embedded systems. IEEE Trans. Parallel Distrib. Syst.
**2008**, 19, 1498–1510. [Google Scholar] [CrossRef] - Shoaib, M.; Jha, N.K.; Verma, N. Algorithm-driven architectural design space exploration of domain-specific medical-sensor processors. IEEE Trans. Very Large Scale Integr. VLSI Syst.
**2012**, 21, 1849–1862. [Google Scholar] [CrossRef]

**Figure 1.**DynDSE procedure for wearable IoT edge devices. $\mathcal{X}|\mathcal{E},\Omega $: design space; $\mathcal{X}|E,\Omega $: system configuration; $\mathit{\pi}$ benefit metrics set; $\mathit{\rho}$: cost metrics set; ${\mathit{z}}_{\pi}$: benefit requirement set; ${\mathit{z}}_{\rho}$: cost requirement set; ${s}_{i,k}$: data sample i from channel k.

**Figure 2.**(

**a**) FFT-based spotting: Relation between execution time and energy consumption. Some of the spotting parameters were omitted for readability. The spotting parameter m represents the data frame size. (

**b**) WPD-based spotting. Relation between execution time and energy consumption. The spotting parameter m represents the data frame’s size and d represent the reduced feature space’s dimension.

**Figure 3.**Memory ${m}_{d}$ foot-print for the online data buffer while executing the WPD-based spotting. Each colour is related to a specific $\mu C$.

**Figure 4.**(

**a**) FFT-based spotting. Average retrieval performance when varying the spotting parameters in uniform sampling mode. Bars were sorted by increasing retrieval performance. The spotting parameter m represents the data frame size. (

**b**) WPD-based spotting. Average retrieval performance when varying the spotting parameters in uniform sampling mode. Bars were sorted by increasing retrieval performance. The spotting parameter m represents the data frame’s size and d represent the reduced feature space’s dimension.

**Figure 5.**(

**a**) FFT-based spotting. Average retrieval performance vs. sampling reduction when varying ${\theta}_{h}$. Individual lines correspond to the spotting parameters, which respect P and R requirements in Table 1. The F1-score requirement is derived by the same P and R requirements. The used parameters for the context-adaptive sampling were: ${D}_{h}=1$, ${D}_{l}=0.1$, ${D}_{TH}=0.6$, $n=4$, $\tau =3\phantom{\rule{0.166667em}{0ex}}\mathrm{s}$, ${\theta}_{l}=10\phantom{\rule{0.166667em}{0ex}}\mathrm{mV}$. (

**b**) WPD-based spotting. Average retrieval performance vs. sampling reduction when varying ${\theta}_{h}$. Individual lines correspond to the spotting parameters that respect P and R requirements in Table 1. The F1-score requirement is derived from the same P and R requirements. The used parameters for the context-adaptive sampling were: ${D}_{h}=1$, ${D}_{l}=0.1$, ${D}_{TH}=0.6$, $n=4$, $\tau =3\phantom{\rule{0.166667em}{0ex}}\mathrm{s}$, ${\theta}_{l}=10\phantom{\rule{0.166667em}{0ex}}\mathrm{mV}$.

**Figure 6.**FFT-based spotting and uniform sampling. Resource-performance trade-off for real-time mode, including different $\mu C$s: ARM CortexM3 (

**left**), TI MSP430F1611 (

**center**), PSoC1 M8C (

**right**). List of objectives: P = precision, R = recall, EC = energy consumption, ET = execution time, MD = memory demand.

**Figure 7.**FFT-based spotting and context-adaptive sampling. Resource-performance trade-off for real-time mode, including different $\mu C$s: ARM CortexM3 (

**left**), TI MSP430F1611 (

**center**), PSoC1 M8C (

**right**). List of metrics: P = precision, R = recall, EC = energy consumption, ET = execution time, MD = memory demand. Context-adaptive sampling parameters are: ${D}_{h}=1$, ${D}_{l}=0.1$, ${D}_{TH}=0.6$, $n=4$, $\tau =3\phantom{\rule{0.166667em}{0ex}}s$, ${\theta}_{l}=10\phantom{\rule{0.166667em}{0ex}}\mathrm{mV}$, ${\theta}_{h}=180\phantom{\rule{0.166667em}{0ex}}\mathrm{mV}$.

**Figure 8.**WPD-based spotting and uniform sampling. Resource-performance trade-off for real-time mode, including different $\mu C$s: ARM CortexM3 (

**left**), TI MSP430F1611 (

**center**), PSoC1 M8C (

**right**). List of metrics: P = precision, R = recall, EC = energy consumption, ET = execution time, MD = memory demand.

**Figure 9.**WPD-based spotting and adaptive sampling. Resource-performance trade-off for real-time mode, including different $\mu C$s: ARM CortexM3 (

**left**), TI MSP430F1611 (

**center**), PSoC1 M8C (

**right**). List of metrics: P = precision, R = recall, EC = energy consumption, ET = execution time, MD = memory demand. The used parameters are: ${D}_{h}=1$, ${D}_{l}=0.1$, ${D}_{TH}=0.6$, $n=4$, $\tau =3\phantom{\rule{0.166667em}{0ex}}\mathrm{s}$, ${\theta}_{l}=10\phantom{\rule{0.166667em}{0ex}}\mathrm{mV}$, ${\theta}_{h}=180\phantom{\rule{0.166667em}{0ex}}\mathrm{mV}$.

**Figure 10.**WPD-based spotting and uniform sampling. Resource-performance trade-off for online mode, including different $\mu C$s: ARM CortexM3 (

**left**), TI MSP430F1611 (

**center**), PSoC1 M8C (

**right**). List of metrics: P = precision, R = recall, EC = energy consumption, ET = execution time, MD = memory demand.

**Figure 11.**WPD-based spotting and context-adaptive sampling. Resource-performance trade-off for online mode, including different $\mu C$s: ARM CortexM3 (

**left**), TI MSP430F1611 (

**center**), PSoC1 M8C (

**right**). List of metrics: P = precision, R = recall, EC = energy consumption, ET = execution time, MD = memory demand. The used parameters are: ${D}_{h}=1$, ${D}_{l}=0.1$, ${D}_{TH}=0.6$, $n=4$, $\tau =3\phantom{\rule{0.166667em}{0ex}}\mathrm{s}$, ${\theta}_{l}=10\phantom{\rule{0.166667em}{0ex}}\mathrm{mV}$, ${\theta}_{h}=180\phantom{\rule{0.166667em}{0ex}}\mathrm{mV}$.

**Figure 12.**Estimated energy consumption (EC) for the individual participants on the TI MSP430F1611.

**Left**: FFT-based spotting with $m=13$.

**Right**: WPD-based spotting with $(m=256,d=20)$.

**Table 1.**Our metrics and their relative system requirements. The table also indicates the elements which affect the system requirements. T denotes the runtime duration and m the data frame length.

The Requirement Is Imposed by | |||||||||
---|---|---|---|---|---|---|---|---|---|

Objective | Abbreviation | Description | Requirement | Value | Task | Battery life | $\mathit{\mu}\mathit{C}$ | ||

$\pi \left(\mathcal{X}\right|E,\Omega )$ | ${\pi}^{1}\left(\mathcal{X}\right|E,\Omega )$ | P | Precision | ${z}_{\pi}^{1}$ | $\ge 70\%$, | X | |||

${\pi}^{2}\left(\mathcal{X}\right|E,\Omega )$ | R | Recall | ${z}_{\pi}^{2}$ | $\ge 80\%$ | X | ||||

$\rho \left(\mathcal{X}\right|E,\Omega )$ | ${\rho}^{1}\left(\mathcal{X}\right|E,\Omega )$ | ET | Ex. time in real-time | ${z}_{\rho}^{1}$ | Real-time: $<m$ | X | X | ||

Ex. time online | Online: $<T$ | X | X | ||||||

${\rho}^{2}\left(\mathcal{X}\right|E,\Omega )$ | EC | Energy Consumption | ${z}_{\rho}^{2}$ | $\le 52.8\phantom{\rule{4pt}{0ex}}\mathrm{mWh}$ | X | X | |||

${\rho}^{3}\left(\mathcal{X}\right|E,\Omega )$ | MD | Memory Demand | ${z}_{\rho}^{3}$ | Variable (see Table 5) | X |

Functionality (${\mathbf{\Xi}}_{\mathit{\xi}}$) | Algorithm (${\mathbf{\Xi}}_{1}$) | Data Sampling (${\mathbf{\Xi}}_{2}$) | Microcontroller (${\mathbf{\Xi}}_{3}$) | Runtime Mode (${\mathbf{\Xi}}_{4}$) |
---|---|---|---|---|

Component(${\u03f5}_{\xi ,q}$) | FFT-based (${\u03f5}_{1,1}$) | Uniform (${\u03f5}_{2,1}$) | PSoC1 M8C (${\u03f5}_{3,1}$) | Real time (${\u03f5}_{4,1}$) |

WPD-based (${\u03f5}_{1,2}$) | Adaptive (${\u03f5}_{2,2}$) | TI MSP430F1611 (${\u03f5}_{3,2}$) | Online (${\u03f5}_{4,2}$) | |

ARM CortexM3 (${\u03f5}_{3,3}$) | ||||

Parameter(${\omega}_{\xi ,q,w}$) | Data frame size m (${\omega}_{1,1,1}$) | |||

Data frame size m (${\omega}_{1,2,1}$) | Context measure’s upper bound ${\theta}_{h}$ (${\omega}_{2,2,1}$) | |||

Dim. feature space d (${\omega}_{1,2,2}$) |

**Table 3.**Analytical breakdown of the two spotting algorithms. Each function f belongs to an algorithm stage $\kappa $. The variable m denotes the length of the window size. For the WPD-based feature extraction, the variable c denotes the number of WPD coefficients, l denotes the depth level of the WPD decomposition tree, and d denotes the dimensionality of the feature space after applying PCA. For spotting, the variable v is the number of support vectors. The operations for pre-processing, feature extraction, and spotting are calculated on each sliding window’s instance.

Algorithm | Stage $\left(\mathit{\kappa}\right)$ | Function $\left(\mathit{f}\right)$ | N. Arithmetical Operations | Memory Demand | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|

Add | Mult | Div | Root | Comp | Exp | Integers | Floats | ||||

Both | Pre-processing | Low-pass filtering | m | - | - | - | - | - | - | 1 | |

FFT-based | Feature extraction | Standard deviation | $3m-1$ | m | 2 | 1 | - | - | 1 | - | |

Fast Fourier trasform | $3m\xb7lo{g}_{2}m$ | $2m\xb7lo{g}_{2}m$ | - | - | - | - | - | k | |||

Maximum | - | - | - | - | $m-1$ | - | 1 | - | |||

L2-norm | $d-1$ | d | - | 1 | - | - | 1 | - | |||

WPD-based | Feature extraction | WPD | ${\sum}_{i}^{l}\frac{(m/{2}^{i})-1}{2+1}\xb7{2}^{i}$ | ${\sum}_{i}^{l}\frac{(m/{2}^{i})+1}{4}\xb7{2}^{i}$ | - | - | - | - | - | $4+d$ | |

PCA | $d\xb7(c-1)$ | $d\xb7c$ | - | - | - | - | - | $c\xb7d$ | |||

L2-norm | $d-1$ | d | - | 1 | - | - | 1 | - | |||

Both | Spotting | Kernel SVM | $v+1$ | $2v$ | - | - | 1 | - | v | $v\xb7(d+1)$ | |

+ Radial basis kernel | $v\xb7(2d-1)$ | $v\xb7(d+1)$ | - | - | 1 | v | - | 1 |

**Table 4.**Analytical breakdown of the context-adaptive sampling algorithm. The variable n denotes the number of samples taken during the n-shots measure, and g denotes the number of channels. The function is executed at any n-shot measure.

Function $\left(\mathit{f}\right)$ | N. Arithmetical Operations | Memory Demand | ||||||
---|---|---|---|---|---|---|---|---|

Add | Mult | Div | Root | Comp | Exp | Integers | Floats | |

Context measure | $2n\xb7g$ | - | 2 | - | $n-1$ | - | - | 1 |

Response output | 4 | 1 | 1 | - | - | - | - | 4 |

Attention time | - | - | - | - | 2 | - | - | 2 |

**Table 5.**Number of machine cycles ${n}_{x}^{cyc}$ for the arithmetical operation x and memory specifications for the considered $\mu C$s.

Number of Machine Cycles per Operation | Memory spec. $\left[\mathbf{kB}\right]$ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|

${n}_{\mathrm{Add}}^{cyc}$ | ${n}_{\mathrm{Mult}}^{cyc}$ | ${n}_{\mathrm{Div}}^{cyc}$ | ${n}_{\mathrm{Root}}^{cyc}$ | ${n}_{\mathrm{Comp}}^{cyc}$ | ${n}_{\mathrm{Exp}}^{cyc}$ | ROM/ Flash | RAM | |||

$\mu C$ | PSoC1 M8C | 544 | 560 | 912 | 1344 | 80 | 2672 | 32 | 2 | |

TI MSP430F1611 | 177 | 153 | 405 | 668 | 37 | 334 | 48.25 | 10 | ||

ARM CortexM3 | 60 | 50 | 80 | 380 | 12 | 210 | 512 | 96 |

**Table 6.**Component electrical characteristics to estimate the EC and MD measures via simulation. All values were extracted from datasheets. The following symbology is used. ${I}_{\mathrm{act}}$: current consumption in active mode; ${I}_{\mathrm{stb}}$: current consumption in stand-by mode; $\mathrm{V}$: voltage; $\nu $: frequency; Res.: resolution; Cap.: capacity; ${M}_{b}$: data block’s size; ${I}_{\mathrm{write}}^{m}$: current consumption for memory writing; ${t}_{\mathrm{write}}$: time for writing a data block.

Functionality | Component | Electric Characteristics | ||||||||
---|---|---|---|---|---|---|---|---|---|---|

Memory Write Operation | ||||||||||

${\mathit{I}}_{\mathbf{act}}\left[\mathbf{mA}\right]$ | ${\mathit{I}}_{\mathbf{stb}}\left[\mathbf{mA}\right]$ | V | $\mathit{\nu}\left[\mathbf{MHz}\right]$ | Res.$\left[\mathbf{bit}\right]$ | Cap.$\left[\mathbf{mWh}\right]$ | ${\mathit{M}}_{\mathit{b}}$[Byte] | ${\mathit{I}}_{\mathbf{write}}^{\mathit{m}}\left[\mathsf{\mu}\mathit{A}\right]$ | ${\mathit{t}}_{\mathbf{write}}\left[\mathbf{ms}\right]$ | ||

$\mu C$ (${\Xi}^{3}$) | PSoC1 M8C (${\u03f5}^{3,1}$) | 8.0 | 0.025 | 3.3 | 24 | 8 | - | 64 | 619.5 | 1.5 |

TI MSP430F1611 (${\u03f5}^{3,2}$) | 0.57 | 0.05 | 3 | 8 | 16 | - | 60 | 2300 | 23.0 | |

ARM CortexM3 (${\u03f5}^{3,3}$) | 7.0 | 0.55 | 3.3 | 48 | 32 | - | 256 | 500 | 3.28 | |

Data Sampling (${\Xi}^{2}$) | EMG sensing | 4.0 | 0.008 | 3.3 | $256\times {10}^{-6}$ | - | - | |||

Power supply | Li-Ion polymer battery | - | - | 3.7 | - | - | 925 |

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Schiboni, G.; Suarez, J.C.; Zhang, R.; Amft, O.
DynDSE: Automated Multi-Objective Design Space Exploration for Context-Adaptive Wearable IoT Edge Devices. *Sensors* **2020**, *20*, 6104.
https://doi.org/10.3390/s20216104

**AMA Style**

Schiboni G, Suarez JC, Zhang R, Amft O.
DynDSE: Automated Multi-Objective Design Space Exploration for Context-Adaptive Wearable IoT Edge Devices. *Sensors*. 2020; 20(21):6104.
https://doi.org/10.3390/s20216104

**Chicago/Turabian Style**

Schiboni, Giovanni, Juan Carlos Suarez, Rui Zhang, and Oliver Amft.
2020. "DynDSE: Automated Multi-Objective Design Space Exploration for Context-Adaptive Wearable IoT Edge Devices" *Sensors* 20, no. 21: 6104.
https://doi.org/10.3390/s20216104