

Abstract-This paper proposes a modified Interconnection and Damping Assignment Passivity-Based Control (IDA-PBC) for DC/DC converter cascaded with LC filter. The plant is modeled using Port-Controlled Hamiltonian (PCH) form. The main objective is to stabilize the cascaded system in case the system supplies Constant Power Load (CPL). To solve the instability issues caused by tightly controlled cascaded systems, the IDA-PBC based on an overall PCH model including LC input filter and DC/DC converter is established. Moreover, to ensure that the proposed IDA-PBC admits one unique solution, an adaptive interconnection matrix is designed to build the internal links in the PCH model. Furthermore, in order to improve the implementation on an on-board DC microgrid application with time-varying CPLs, a modified IDA-PBC algorithm is proposed based on the error between the state vector and the desired operating point, which might be variable. The closed-loop Hamiltonian function is chosen as the Lyapunov candidate function to guarantee that the system operates in a stable manner. The virtual damping assignment technique is addressed to tune the dynamic characteristic of the closed-loop system. Simulation and experimental results are carried out to illustrate the proposed method's effectiveness.

A typical DC distribution system for MEA is shown in Fig. 1 [4] [START_REF] Pang | IDA-passivity-based control for boost converter with lc filter supplying constant power load[END_REF]. This system can be considered as an on-board microgrid. The source side converters provide a regulated DC voltage to the distribution bus. Since the DC-bus voltage is not suitable for the load side, the point-of-load (POL) converters are used to adjust the voltage level [START_REF] Wang | Solid-state single-port series damping device for power converters in dc microgrid systems[END_REF]. An LC filter is introduced between the input and output side of the DC-bus to limit the Electromagnetic Interferences (EMI) and harmonic effect [START_REF] Huangfu | Stability analysis and active stabilization of on-board DC power converter system with input filter[END_REF] [START_REF] Bai | Harmonic analysis and mitigation of low-frequency switching voltage source inverter with auxiliary VSI[END_REF] [9] [START_REF] Huangfu | Analysis and design of an active stabilizer for a boost power converter system[END_REF]. In addition, for this application, due to the tightly regulated power electronics behavior, these loads can be considered as the Constant Power Load (CPL) [START_REF] Hassan | Adaptive passivity-based control of DC/DC buck power converter with constant power load in dc microgrid systems[END_REF] [START_REF] Areerak | Adaptive stabilization of uncontrolled rectifier-based ac-dc power systems feeding constant power loads[END_REF]. However, these filters, DC/DC converters, as well as the CPLs, will greatly impact on the stability and robustness of the onboard DC microgrids [START_REF] Gao | An improved voltage compensation approach in a droop-controlled dc power system for the more electric aircraft[END_REF] [START_REF] Huangfu | Stability analysis and active stabilization of on-board DC power converter system with input filter[END_REF]. Moreover, this system may have a time-varying structure. In fact, a normal flight has 6 to 7 phases. They are namely taxiing, takeoff, climb, cruise, descent, approach, and landing. Each flight phase corresponds to a different operating condition [START_REF] Pang | Interconnection and damping assignment passivity-based control applied to on-board dc-dc power converter system supplying constant power load[END_REF]. Besides, changes in the flight phase also signify that the load is switched accordingly. This feature poses a growing challenge when the CPL is connected to the on-board DC microgrid system [START_REF] Herrera | Stability analysis and controller design of DC microgrids with constant power loads[END_REF] [START_REF] Areerak | Adaptive stabilization of uncontrolled rectifier-based ac-dc power systems feeding constant power loads[END_REF] [START_REF] Pang | IDA-passivity-based control for on-board dc power converter system with constant power load[END_REF]. Several nonlinear control approaches have been reported in the literature regarding the stability problems of DC microgrids containing CPLs. An adaptive backstepping controller is developed in [START_REF] Yousefizadeh | Tracking control for a dc microgrid feeding uncertain loads in more electric aircraft: Adaptive backstepping approach[END_REF]. In [START_REF] Vafamand | Networked fuzzy predictive control of power buffers for dynamic stabilization of DC microgrids[END_REF], a Takagi-Sugeno (TS) based model predictive controller (MPC) is presented to stabilize the networked DC microgrids. Moreover, the extended Kalman filter is complemented to the MPC to estimate the power values of the CPL [START_REF] Yousefizadeh | EKF-based predictive stabilization of shipboard DC microgrids with uncertain time-varying load[END_REF]. In [START_REF] Zhang | Voltage stability analysis and sliding-mode control method for rectifier in dc systems with constant power loads[END_REF] and [START_REF] Vafamand | Robust non-fragile fuzzy control of uncertain DC microgrids feeding constant power loads[END_REF], a sliding mode control and a robust non-fragile fuzzy control are introduced to ensure the stability of the closed-loop system. In [START_REF] Vafamand | Stabilization and transient performance improvement of DC MGs with CPLs: non-linear reset control approach[END_REF], a reset gain-scheduling controller is designed to guarantee the closedloop stability of the DC microgrid through the continuous-time Lyapunov theory.

Likewise, the time-varying structure is also hard to analyze the stability of the proposed system. The stability analysis approach can be commonly categorized into two classes: smallsignal analysis and large-signal analysis. Regarding the smallsignal analysis, the impedance specifications (Middlebrook criterion, MGMP criterion, et al) are less suitable for on-board DC microgrids due to the conservative nature [START_REF] Pang | IDA-passivity-based control for boost converter with lc filter supplying constant power load[END_REF] [START_REF] Huangfu | Stability analysis and active stabilization of on-board DC power converter system with input filter[END_REF]. The state-space models can also be considered with Lyapunov's indirect method to analyze the stability of the microgrid. However, they need a detailed model of the system, including control strategies, which is hard to meet in practice [START_REF] Pang | Fault-tolerant consideration and active stabilization for floating interleaved boost converter system[END_REF]. In case that a detailed model is available, its order is generally high. Authors in [START_REF] Mitiche | Multivariable systems model reduction based on the dominant modes and genetic algorithm[END_REF] suggest a method to reduce the order of the system for stability analysis. Meanwhile, this type of technique is very conservative. Regarding the large-signal analysis, the reverse trajectory tracking approach is a graphical scheme that is hard to apply in high-dimensional systems [START_REF] Herrera | Stability analysis and controller design of DC microgrids with constant power loads[END_REF]. A frequently used approach is based on TS multi-modeling. The computational complexity of the TS multi-models increases exponentially with the number of loads (NP-problem). So, the number of CPLs limits the effective use of this approach [START_REF] Chang | Speed control of the surface-mounted permanent-magnet synchronous motor based on Takagi-Sugeno fuzzy models[END_REF]. Likewise to state-space approaches, the whole system's comprehensive model is required to the Block Diagonalized Quadratic Lyapunov Function (BDQLF) method and Brayton-Moser's mixed potential method [START_REF] Du | Stability criterion for cascaded system with constant power load[END_REF] [START_REF] Loop | Estimating regions of asymptotic stability of power electronics systems using genetic algorithms[END_REF]. Consequently, these methods are not suitable for the time-varying on-board DC microgrids where several sources and loads interact.

Therefore, the stability analysis of on-board DC microgrids calls for a new tool that avoids dealing with high-order models without leading to conservative results. Such a tool is expected to determine the entire system stability based on the stability of its subsystems. It means that the stability of every single subsystem in the microgrid should be guaranteed first. Then, the whole system stability is determined considering the interconnection of these subsystems [START_REF] Pang | Interconnection and damping assignment passivity-based control applied to on-board dc-dc power converter system supplying constant power load[END_REF] [START_REF] Pang | Improving the stability of cascaded dc-dc converter systems via the viewpoints of passivity-based control and port-controlled Hamiltonian framework[END_REF].

The Passivity-Based Control (PBC) is a good candidate to meet the above-mentioned requirements. According to the passivity definition, an important benefit of the PBC is that the passivity property is preserved in arbitrary interconnections. So, it defines a controller design methodology that ensures the system stability by rendering it passive. Then, if the passive ensured subsystems are interlinked in feedback or in parallel form, the whole system is also passive and stable [START_REF] Hassan | Adaptive passivity-based control of DC/DC buck power converter with constant power load in dc microgrid systems[END_REF] [25] [START_REF] Gu | Passivity-based control of dc microgrid for selfdisciplined stabilization[END_REF].

In the literature, the PBC using Euler-Lagrange (EL) models and Port-Controlled Hamiltonian (PCH) models have been introduced for providing the generalized integrated structures [START_REF] Xu | A novel control method for transformer less H-bridge cascaded STATCOM with star configuration[END_REF] [28] [START_REF] Petrovic | Interconnection and damping assignment approach to control of PM synchronous motors[END_REF]. However, the EL models might not be suitable for the electrical and the electromechanical systems owing to the total energy shaping problem [START_REF] Ortega | Interconnection and damping assignment passivity-based control of port-controlled Hamiltonian systems[END_REF]. Therefore, the PCH modeling has been selected in this paper. The PBC based on PCH models is named Interconnection and Damping Assignment Passivity-Based Control (IDA-PBC).

A considerable amount of research using IDA-PBC has been done recently in different fields, such as synchronous motor drive [START_REF] Petrovic | Interconnection and damping assignment approach to control of PM synchronous motors[END_REF], DC/DC converters [START_REF] Pang | Interconnection and damping assignment passivity-based control applied to on-board dc-dc power converter system supplying constant power load[END_REF] [31], three-phase inverters [START_REF] Gui | Passivitybased coordinated control for islanded AC microgrid[END_REF], AC/AC power conversion [START_REF] Meng | IDA-PB control with integral action of Y-connected modular multilevel converter for fractional frequency transmission application[END_REF], solid-state transformers [START_REF] Meshram | Port-controlled phasor Hamiltonian modeling and IDA-PBC control of solid-state transformer[END_REF] and robot manipulators [START_REF] Zhang | Precise control of elastic joint robot using an interconnection and damping assignment passivity-based approach[END_REF]. The main notions of PCH and IDA-PBC are given in [START_REF] Ortega | Interconnection and damping assignment passivity-based control of port-controlled Hamiltonian systems[END_REF] [START_REF] Ortega | Interconnection and damping assignment passivity-based control: A survey[END_REF], and references therein. In this paper, a modified IDA-PBC technique for DC/DC converters cascaded with LC filter supplying CPL is presented.

As mentioned earlier, the first step to ensure the stability of an on-board microgrid is to make sure that all subsystems in the microgrid are passive. To do this latter, a passivity-based controller can be developed and implemented on the subsystem level. In this paper, we focus on a subsystem containing an input LC filter, a DC/DC converter and a CPL. Such subsystem appears frequently in on-board microgrids. Compared with the above-mentioned work in the literature, the main contributions of the conducted research here can be summarized as follows:

1) Stabilization of POL conv.+CPL through IDA-PBC based on the overall PCH modeling, including LC input filter:

Previous studies of IDA-PBC do not provide much attention to the LC filter which closely affects the dynamic behavior of the system. From the impedance point of view, the interaction between LC filter and DC/DC converter might influence the system dynamic performance. Coupled with LC filter's uncontrollable feature, the risk of instability will significantly increase. In this paper, based on the PCH framework, all the dynamics, or equivalently energy storage units, in the whole system are considered in the Hamiltonian function (Energy storage function). Then, an overall PCH model containing LC filter and DC/DC converter is obtained. This overall PCH model will be used to prove the passivity and stability of the system and to generate the unique control law. Indeed, the LC filter and the converter constitute the studied system. So, the dynamic behavior due to interactions between the filter and the converter are taken into account during the development of the IDA-PBC technique. Thanks to the overall PCH model, the LC filter's voltage and current are considered in the control law, which is not the case of most control laws in the literature. Then, the stability of the system is ensured by selecting the closedloop Hamiltonian function as the Lyapunov candidate function.

2) Unique control law with the adaptive interconnection matrix:

Motivated by a recent result in [START_REF] Zeng | An interconnection and damping assignment passivity-based controller for a DC/DC boost converter with a constant power load[END_REF], the final control law is generally derived from a partial equation of PCH models. Indeed, by using the PCH form, the total stored energy is considered in the Hamiltonian function, while all the equations are included and satisfied in the passivity and stability proof. So, the control law should take into account all the information of the PCH system, and it should be the unique solution to all the equations. How to link all the equations and obtain a unique control law it is of great interest. In this paper, an adaptive interconnection matrix is developed to achieve this mission. More specifically, we introduce three time-varying coefficients to give the additional degree of freedom, thereby solving the overall PCH function in a unique manner.

3) Taking into account xd and its variations:

Conventional IDA-PBC in the literature suppose the desired equilibrium point xd is always constant. However, the desired equilibrium point is related to the actual operating conditions and it varies over time. The above assumption (constant xd) is satisfied only if the load does not change or it changes very slowly. However, we cannot reach this assumption in MEA applications. In practice, loads are time-varying due to variable operating conditions. To consider variable xd, a modified IDA-PBC and the mathematical proof of stability are presented in this paper. The modified IDA-PBC is based on the error between the state variable and the desired equilibrium point. Consequently, the proposed control law takes into account variations of CPLs and so those of xd.

Although the underlying concept is similar to [START_REF] Pang | IDA-passivity-based control for boost converter with lc filter supplying constant power load[END_REF], some main differences can be noted: 1) The model is more realistic, i.e. some parasitic elements have been considered in this paper and their effects on the control and the stability are studied; 2) A known controlled load (tightly controlled buck converter) is used instead of the ideal CPL. New simulation and experimental results are given in this case: 2.1) An in-depth study of the damping assignment technique and the output voltage reference tracking are presented here. 2.2) The impact of the input voltage disturbances (step change and sinusoidal variations) on the regulation of the output voltage is studied. It is an important point because in practice, the input voltage can be provided by a rectifier or another converter and is likely variable.

This paper contains six sections. In Section Ⅱ, the class of PCH models and the IDA-PBC methodology are briefly described. Section Ⅲ is about the description of the studied system and its PCH model. The proposed modified IDA-PBC, as well as the stability proof and the control law implementation, are detailed in Section Ⅳ. Simulation and experimental results are given in Section Ⅴ, and concluding remarks in Section VI.

II.REVIEW OF THE PORT-CONTROLLED HAMILTONIAN AND THE INTERCONNECTION AND DAMPING ASSIGNMENT PASSIVITY-

BASED CONTROL The class of PCH models and the IDA-PBC methodology related to this paper are briefly recalled in this section. Some properties and definitions are presented here for further details.

A. Concept of PCH

The dynamical system is said to be the port-controlled Hamiltonian system with dissipation, only if the system can be expressed as:

  ( ) ( ) ( ) ( ) H x J x R x x g x u x         (1)
where x∈R n , J(x) is named as the interconnection matrix such that J(x) = -J Τ (x) (skew-symmetric) and R(x) is known as the dissipation matrix such that R(x) ≥ 0 (positive semi-definite). Moreover, H(x)= x Τ Qx is the total stored energy called Hamiltonian function. Q represents the energy storage elements. η corresponds to the disturbances dependent or independent on the state variables. g(x) and u denote the input matrix and the control vector respectively [13] [36].

B. Basic Idea of the IDA-PBC

The main point of the IDA-PBC is to assign a desired energy storage function with respect to a desired equilibrium point xd by modifying the desired interconnection matrix Jd (x), damping matrix Rd (x) and control law (called reshaping). It is necessary to choose a closed-loop Hamiltonian function Hd (x), which admits a strict (local) minimum at xd to guarantee the system stability [START_REF] Pang | IDA-passivity-based control for boost converter with lc filter supplying constant power load[END_REF] [31] [START_REF] Ortega | Interconnection and damping assignment passivity-based control: A survey[END_REF]. The resulting closed-loop system is given below,

  ( ) ( ) ( ) d d d H x J x R x x x      (2)
Moreover, the following equations with respect to Ja (x), Ra(x) should be satisfied, ( ) ( ) ( ) ( )

d a d J x J x J x J x      (3) ( ) ( ) ( ) ( ) 0 d a d R x R x R x R x      (4)
Here, the closed-loop Hamiltonian function (storage function) is defined as,

      0 d d d H x x Q x x x      (5)
Then, we consider the closed-loop Hamiltonian function namely V=Hd (x), is the Lyapunov function candidate. If the desired equilibrium point xd is arbitrary constant, the derivative of the closed-loop Hamiltonian function can be written as,

      0 d d d d H H H V x R x x x x x x                           (6)
Hd (x) is non-increasing, hence it qualifies as the Lyapunov function. The desired dynamical system is stable in the sense of Lyapunov. The final objective is to obtain a static state feedback control signal u by,

    ( ) ( ) ( ) ( ) ( ) ( ) ( )
d d d H J x R x x g x u x H J x R x x x           (7)
It is worthwhile to note that, for the case Ja (x)= Ra (x)= 0, the control law is derived from natural interconnection and damping. Hence, the interconnection matrix cannot be modified, and the virtual damping cannot be injected into the system [START_REF] Pang | Interconnection and damping assignment passivity-based control applied to on-board dc-dc power converter system supplying constant power load[END_REF].

III.PRESENTATION OF THE SYSTEM

A. System Description Fig. 2 shows the topological structure of the DC/DC converter cascaded LC filter supplying CPL. It is worthwhile to mention that, the ideal CPL does not exist in practice. As described earlier, the tightly controlled converter load behaves like CPL. Therefore, it is a reasonable and effective way to assume and model the CPL as a tightly regulated converter. In this paper, a CPL is implemented by a tightly regulated buck converter, which uses sliding mode control to provide the energy to a resistive load.

Here, only the capacitor insulation resistance (or capacitor leakage resistance) rpf and rp are considered. Indeed, the equivalent series resistance (ESR) of the capacitor is also another important parameter. However, the proposed IDA-PBC is a kind of control approach based on the PCH framework. According to the definition of the IDA-PBC and PCH, the dynamical system is said to be the PCH system with dissipation, only if the system can be expressed as equation [START_REF] Yousefizadeh | Tracking control for a dc microgrid feeding uncertain loads in more electric aircraft: Adaptive backstepping approach[END_REF] (see Section II). If the model is too complex to be described in the form of (1), the IDA-PBC will no longer apply. Unfortunately, considering the ESR in the model will lead us to this situation. Therefore, the ESR is not taken into account in this work.

B. PCH Models Applied

Consider the above-mentioned system described in the state space, a model for the filter and DC/DC converter can be written as follows, the LC filter dynamics:

f f e f f f L i V i r v     (8a) f f f f L pf C v v i r i     (8b)
And the boost converter dynamics:

(1 )

L f L o Li V i r d v      (9a) (1 ) p o L o ch Cv d i v i r      (9b) Assuming that x = [x1 x2 x3 x4] Τ = [if vf iL vo]
Τ represents the state variables, while Q=diag (Lf /2, Cf /2, L/2, C/2) is the system energy storage elements. In this respect, the total stored energy in the system is denoted as the Hamiltonian function,

2 2 2 2 1 2 3 4 1 1 1 1 ( ) + 2 2 2 2 f f H x L x C x Lx Cx x Qx      ( 10
)
According to (1), ( 8), ( 9) and ( 10), the dynamics of the LC filter and boost converter are defined by PCH models of the form,

  2 1 2 2 4 3 2 3 4 2 ( ) ( ) ( ) 1 0 0 0 1 1 1 0 0 0 ( ) 1 1 0 0 1 1 0 0 f f f f e f f f f pf f ch f p g x J x R x r L C L V x L H x L C LC r C x x d x r x L x i x LC LC L C C LC r C                                                                                   ( 11
)
where the dissipation matrix is expressed as,

2 2 2 2 1 1 f f pf f p r r R diag L r C L r C        (12)
IV. DESIGN OF THE PROPOSED CONTROL ALGORITHM

A. Problem Description

Consider the application introduced in the Section I, the timevarying DC microgrids consisting of multiple cascaded or parallel converters and filters. They are interlinked and interact with each other. Therefore, the desired equilibrium point xd in each converter is related to their disturbances η. That is,

  d x f   (13)
In practice, η is the measured variables which only depend on the actual operating conditions of the load. Thus, the firsttime derivative of the closed-loop Hamiltonian function should be written as

    , , d d d d d d H x x x H x x V x x x                              (14)
It can clearly be seen, the previous stability proof in [START_REF] Wang | Solid-state single-port series damping device for power converters in dc microgrid systems[END_REF] is satisfied only under the assumption that xd is always a constant value. In practice, if the load never changes or changes very slowly, we can approximate that xd is a constant value. However, in the proposed on-board DC microgrid with time-varying CPLs, this assumption is invalid and the previous stability proof is no longer satisfied.

B. Proposed Modified IDA-PBC and Its Proof

It should be noted that the desired equilibrium point xd is a sole function of η and it is independent from the state variables x. So, =    . To make sure that this error converges asymptotically to zero, we define the following dynamic model for the tracking error:

  ( ) ( ) ( ) d d d H J x R x x        (15)
It is important to notice that equation [START_REF] Vafamand | Networked fuzzy predictive control of power buffers for dynamic stabilization of DC microgrids[END_REF] represents the desired model for the tracking error where the closed-loop Hamiltonian function (storage function) Hd (x) is rewritten as,

  d H x Q     (16)
Then, the above function is defined as a Lyapunov function candidate V= Hd (x)≥ 0. The time derivative of this function is given by, ( ) ( ) ( )

4 0 d d d d d Q Q H x H x H x V R R                                     (17)
Obviously, Hd (x) is a non-increasing function with time. Therefore, it can be qualified as the Lyapunov function, and xd is an asymptotically stable equilibrium of the closed-loop system.

Then, we replace  by d x x    in [START_REF] Vafamand | Networked fuzzy predictive control of power buffers for dynamic stabilization of DC microgrids[END_REF], the new feedback control action satisfying (1) and ( 15) is obtained by,

    ( ) ( ) ( ) ( ) ( ) ( ) ( ) d d d d H J x R x x g x u x H J x R x x x              (18)

C. Implementation of LC Filter with Boost Converter

In the proposed IDA-PBC based on PCH form, the control law is related to the selection of desired interconnection and damping matrices. The damping matrix should always positive semi-definite and the interconnection matrix is relatively free in structure. Thus, the interconnection matrix is a good candidate for building internal links and adding the additional degree of freedom in the PCH models. The desired interconnection and damping matrices in the close-loop PCH models are defined as follows, 0 0 0 0 0 0 0 0 0 0

3 3 2 d 2 1 1 Ja K K K J J K K K                    (19) 1 2 3 4 2 2 2 2 d f f r r r r R diag L C L C        (20)
The variables K1, K2, and K3 are evenly distributed among the rows of the desired interconnection matrix Jd, internal links are thereby established in the PCH framework. Moreover, these variables vary with time and equilibrium point. So, Jd is an adaptive interconnection matrix in the proposed IDA-PBC.

It is worthwhile to mention that, Ja and J are not necessary to have the same form. In order to make the solution easier to calculate, we choose Ja and J to have the same form in this paper. The closed-loop Hamiltonian function Hd (x) represents the desired total stored energy in the LC filter and boost converter,

            2 2 2 2 1 1 ( ) 2 2 1 1 2 2 d f 1 1d f 2 2d 3 3d 4 4d d d H x L x x C x x L x x C x x x x Q x x             (21)
where

xd = [x1d x2d x3d x4d] Τ = [ifd Vfd id Vd] Τ denotes the desired equilibrium point with respect to x = [x1 x2 x3 x4] Τ = [if vf iL vo] Τ .
It should meet the circuit characteristic requirements and operating conditions. In this case, the desired value Vd is the required output voltage Vref (Vref >270V) for supplying the constant power load. The desired value id is computed by power conservation,

V P V r i r P V P r                           (22)
where,

pf e e f pf r V V r r    (23a) f pf f pf r r r r r r     (23b)
In [START_REF] Zeng | An interconnection and damping assignment passivity-based controller for a DC/DC boost converter with a constant power load[END_REF], the CPL power P is considered as a constant value which is always known. However, load power varies in time and only depend on the equilibrium point and the actual operating condition. Indeed, the converter and its controller are not informed during the load variations, the only choice is to measure it through the sensor. Here, the CPL power P is replaced by vo ich (constant) in equation [START_REF] Du | Stability criterion for cascaded system with constant power load[END_REF]. Moreover, two other desired values are given by ( 24) and [START_REF] Khalil | Nonlinear systems[END_REF], that is,

e fd d pf f V r r i i r r      ( 24
)
fd e fd f V V i r   (25)
Then, by substituting equations ( 11) (15) (19) (20) (21) into equation ( 18), this yield [START_REF] Gu | Passivity-based control of dc microgrid for selfdisciplined stabilization[END_REF]. Equation [START_REF] Gu | Passivity-based control of dc microgrid for selfdisciplined stabilization[END_REF], which is respected to equation ( 18

V.SIMULATION AND EXPERIMENTAL RESULTS

To validate the proposed IDA-PBC control law, simulation results and experimental results are presented in this section. The parameters used are the same in both cases and are summarized in Table I. An experimental bench is implemented in the laboratory as shown in Fig. 4. It mainly consists of digital oscilloscope (TDS5034B), Switches (Semikron trench IGBTs SKM195GB126D), DC power supply (TDK-Lambda 600-17), as well as a dSPACE (ds1103). It is worth to be noted that the equivalent resistance r and rp include some unmodeled losses in the system. It is why we considered them in the model, and why r is greater than its nominal value. The parameters are chosen under the rated power of the CPL, i.e. 1 kW. In the future research work, we will work on on-line parameter estimation to observe the losses parameters.

A. Load Power Step and Damping Injection Results

Due to the time-varying characteristic of the on-board DC microgrid, the power variation always occurs in practice. Therefore, it is necessary to test the proposed method in response to these kinds of changes. Fig. 5-12 represent the system behaviors when the load power step is applied. The state variables x = [if, vf, iL, vo] Τ and desired equilibrium point xd = [ifd, Vfd, id, Vd] Τ are depicted in the same figure to demonstrate the effective tracking performance of the proposed control algorithm.

To begin with, the damping assignment technique is not implemented, the natural damping (R=Rd) is used in IDA-PBC. Fig. 5 (simulation) and Fig. 6 (experimental results) illustrate the system performance after the CPL step from 1 kW to 3 kW. The good performance of trajectory tracking in voltage and current are validated. However, a relatively large overshoot and long settling time are responded for this step. As shown, the system needs more than 0.04 s to reach its new equilibrium point. To solve this problem, the virtual damping is injected into the system (R ≠ Rd) to validate the damping assignment technique. This subsection shows the system performances for different values of r3, which tightly related to the dynamic feature. Other damping factors are remaining in the natural value of the system. Regarding r1, r2, r3, and r4, as indicated in equation ( 17), all the eigenvalues of matrix Rd affect the system stability. From this point, high values of Rd are better for the system stability margins. In this section, r1, r2, and r4 are chosen equal to their nominal values, related to the parameters defined in Table I (natural damping). This choice does not increase system stability margins. However, the results show that the system does not have any instability issue, because the system is already stable with these nominal values (see Figs. [START_REF] Pang | IDA-passivity-based control for boost converter with lc filter supplying constant power load[END_REF][START_REF] Wang | Solid-state single-port series damping device for power converters in dc microgrid systems[END_REF]. Of course, one can add more damping to the system using r1, r2, and r4. But high damping factors will lead to duty cycles out of the range of [0 1] during the transient. In this case, the controller output d saturates at 0 or 1 and the passivity proof is no longer satisfied. A good tradeoff is to find an effective parameter among r1, r2, r3, and r4 to inject the damping, and to keep the other parameters equal to the nominal values. We noticed that r3 affects more effectively the dynamic of the system without saturating, so the passivity proof is satisfied. It is why we choose r3 to inject the damping in this paper. In this way, the same simulation and experimental scenarios are performed and conducted. The simulation and experimental results of these cases are shown in Figs. Fig. 7 and Fig. 10 depict the dynamic waveforms of the cascaded system, when a slightly damping (r3=0.3) is injected into the system. As shown, the system takes about 0.03 s to reach the new equilibrium point. Compared with the no damping case, the overshoot and settling time of the system are correspondingly reduced.

2 1 2 2 3 2 4 2 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 f f f f e f f f f f f pf f 4 3 ch f p r L C L V L x L C L C LC r C x x d x L r L x x i C LC LC L C C LC r C                                                                                    2 2 2 2 1 0 0 0 0 0 1 1 + 0 0 0 0 = 0 0 0 1 1 0 + 0 0 0 1 0 0 + 1 3 f f f f 2 1 1d 1d 3 2 f f f f f 2 2d 3 3d 3 2 1 4 4d f 4 1 r K L C L L r x x x K K C L C LC C x x x x L r K K x x C LC LC L r K LC C                                                            2d 3d 4d x x x             (26)
Figs. [START_REF] Bai | Harmonic analysis and mitigation of low-frequency switching voltage source inverter with auxiliary VSI[END_REF][START_REF] Pang | Fault-tolerant consideration and active stabilization for floating interleaved boost converter system[END_REF] show the dynamic performance, correspond, respectively, to the cases r3=0.4 and r3=0.8. It needs about 0.02 s and 0.01 s respectively to achieve the new equilibrium point. In the case of r3=0.8, comparing the boost converter inductance current response in Fig. 5 and Fig. 6, the system witnesses the 0.01 s settling time compared to the 0.04 s settling time in Figs. 56. In addition, the peak current in no damping case (close to 21A) is larger than that in the case r3=0.8 (close to 16A).

In summary, no matter how deep the damping is injected, all the elements in the system can rapid response and track to their desired value. The good performance of trajectory tracking in voltage and current are validated. In addition, the implementation of the damping assignment technique can significantly improve system performance. As the damping value increases, the overshoot and settling time decrease accordingly. Moreover, as expected, the experimental results and simulation results are identical.

B. Output Voltage Reference Step

In practical applications, the output voltage reference may also change according to the actual CPL requirement. However, it should be noted that for the transient process, the output voltage reference is obtained after filtering the step change by a low-pass filter to reduce the inrush current and the overshoot. Fig. 13 depicts the simulation waveform when Vref steps from 350 V to 400 V at different cut-off frequency of the proposed low-pass filter. Meanwhile, the CPL power is kept at 1 kW and r3 is set to 0.8. As can be seen from Fig. 13, if a voltage reference step is used (wn=infinity), there are large current peak and overshoot in the system response. The peak current of the inductor is about 28 A in both filter and converter. As the cut-off frequency decreases, this current is reduced accordingly. Likewise, when wn=200 rad/s, the peak current has been reduced to 9 A. Simultaneously, the decrease of the peak current and overshoot comes at the expense of increasing settling time. As shown, the output voltage needs about 0.025s to reach 400 V in the case of wn=200 rad/s. Compared with the case without the filter, it takes a relatively long time to step the voltage up. Furthermore, to compare the simulation results with experimental results, the same step change and control parameters are implemented. Considering the current limitation, only part of the content is tested and verified. Figs. [START_REF] Pang | IDA-passivity-based control for on-board dc power converter system with constant power load[END_REF] shows the behavior of the system for different cut-off frequency (wn=200 rad/s and 500 rad/s) of the filter when the output voltage reference is stepped from 350 V to 400 V. Consequently, the simulation results and the experimental validations are in good agreement.

C. Input Voltage Variation

In order to demonstrate more details on the controller performance, some experimental results with transients on the input voltage are performed. The CPL power is also kept at 1 kW and r3 is set to 0.8. Initially, Fig. 15 illustrates the simulation results when the input voltage steps up from 270 V to 300 V. As in practice, a sudden change never happens on the DC-bus voltage, this step change signal is filtered by a low-pass filter. Fig. 15 shows that, without this filter (wn=infinity), there is a large overshoot in the LC filter and the current if and iL become negative. In order to test experimentally the performance of the proposed controller, the step input voltage disturbance from 270 V to 300 V is applied to the system via DC power supply (controlled by dSPACE). It is tested that, the real step signal in dSPACE lead to a 2 ms settling time step change (270 V to 300 V) with 10 V overshoot in practice. The experimental results are presented in Fig. 16. It can be observed during the transient, with the proposed controller, that the system shows a good robustness against input voltage disturbance. According to the three groups of verifications mentioned above, it proves that the proposed control strategy is robust, effective and feasible in practice.

VI.CONCLUSION

This paper introduces a modified IDA-PBC for an LC input filter cascaded with a DC/DC boost converter supplying a CPL. The plant is described using PCH form. The presented model considers all the energy storage units in the system including the LC filter and the DC/DC converter dynamics. Then, an adaptive interconnection matrix is proposed to realize internal links in PCH models and generate a unique control law. This latter takes into account the dynamic behavior due to interactions between the filter and the converter, which are mostly neglected in the literature. Furthermore, a modified IDA-PBC and the proof of stability are presented here while the loads are variable. The damping assignment technique confirms to improve the transient performance of the IDA-PBC. Therefore, the passivity property of the whole system LC input filter-DC/DC converter is ensured. This allows simplifying the stability analysis of an on-board DC microgrid containing this type of subsystems. The simulation and experimental results are given to demonstrate the effectiveness of the proposed method.

Fig. 1 .

 1 Fig. 1. Typical DC microgrid of more electric aircraft.

Fig. 2 .

 2 Fig. 2. The topology of the studied system.

  ), can be considered as a set of 4 equations with 4 unknowns. Consequently, the final control law d can be derived from the above equation. In this way, all the equations are related by the variables K1, K2, and K3, i.e. the desired interconnection matrix Jd. The final control law contains information about all equations and state variables of the overall PCH models, i.e. d is an expression of the state variables x1, x2, x3, and x4. Thus, the current and voltage on the LC filter (x1 and x2) are controlled as they are on the DC/DC converter (x3 and x4). Furthermore, the variables K1, K2, and K3 in Jd vary with time and equilibrium point. Therefore, an adaptive interconnection matrix is attained in the proposed IDA-PBC. The control block diagram with the proposed IDA-PBC controller is given in Fig. 3.

Fig. 3 .

 3 Fig. 3. Control block diagram of the studied system.

Fig. 4 .

 4 Fig. 4. Experimental bench.

  7-12.

Fig. 5 .Fig. 6 .

 56 Fig. 5. System response when r3 =0.2 and CPL power steps from 1 kW to 3 kW (simulation).

Fig. 7 .

 7 Fig. 7. System response when r3 =0.3 and CPL power steps from 1 kW to 3 kW (simulation).

Fig. 8 .

 8 Fig. 8. System response when r3 =0.4 and CPL power steps from 1 kW to 3 kW (simulation).

Fig. 9 .Fig. 10 .

 910 Fig. 9. System response when r3 =0.8 and CPL power steps from 1 kW to 3 kW (simulation).

Fig. 11 .

 11 Fig. 11. System response when r3 =0.4 and CPL power steps from 1 kW to 3 kW (experimental results).

Fig. 12 .

 12 Fig. 12. System response when r3 =0.8 and CPL power steps from 1 kW to 3 kW (experimental results).

Fig. 13 .

 13 Fig. 13. Simulation results when output voltage reference step from 350 V to 400 V.

Fig. 14 .

 14 Fig. 14. Experimental results when output voltage reference steps from 350 V to 400 V. (a) wn=200 rad/s (b) wn=500 rad/s

Fig. 15 .

 15 Fig. 15. Simulation results when input voltage steps from 270 V to 300 V.

Fig. 16 .

 16 Fig. 16. Experimental results when input voltage steps from 270 V to 300 V. (a) wn=200 rad/s (b) wn=500 rad/s (c) wn=1000 rad/s (d) wn=2000 rad/sFinally, to verify the effect of an input voltage sinusoidal disturbance on the system, the input voltage is changed to Ve=270+5sin(100πt). The corresponding responses are shown in Fig.17. As can be seen, the controller can reject the sinusoidal disturbance on the output voltage.

Fig. 17 .

 17 Fig. 17. Experimental results with sinusoidal input voltage disturbance.


Nina Santi
email: nina.santi@inria.fr

Rémy Grünblatt
email: remy.grunblatt@inria.fr

Brandon Foubert
email: brandon.foubert@inria.fr

Aroosa Hameed
email: aroosa.hameed.1@ens.etsmtl.ca

John Violos
email: violos@mail.ntua.gr

Aris Leivadeas
email: aris.leivadeas@etsmtl.ca

Nathalie Mitton
email: nathalie.mitton@inria.fr

Automated and Reproducible Application Traces Generation for IoT Applications

Keywords: CCS CONCEPTS, Networks → Network experimentation, Ad hoc networks, • Computer systems organization → Sensor networks datasets, testbed, network, traces, reproducibility, automation, experiments, 802.15.4

In this paper, we investigate and present how to generate application traces of IoT (Internet of Things) Applications in an automated, repeatable and reproducible manner. By using the FIT IoT-Lab large scale testbed and relying on state-of-the-art software engineering techniques, we are able to produce, collect and share artifacts and datasets in an automated way. This makes it easy to track the impact of software updates or changes in the radio environment both on a small scale, e.g. during a single day, and on a large scale, e.g. during several weeks. By providing both the source code for the trace generation as well as the resulting datasets, we hope to reduce the learning curve to develop such applications and encourage reusability as well as pave the way for the replication of our results. While we focus in this work on IoT networks, we believe such an approach could be of used in many other networking domains.

INTRODUCTION

Data is now at the heart of many research. With the recent growth of machine learning, in particular deep learning, it is now a critical task to find exhaustive and quality data sets to produce pertinent and realistic models. It is even more the case in the IoT, where network traffic data is essential to understand the network characteristics, model them and their patterns. Researches use this kind of data for training models to identify and classify the different IoT devices present in the network. It helps administrators manage the mass of devices in the network and detect malicious devices [START_REF] Miettinen | IoT SENTINEL: Automated Device-Type Identification for Security Enforcement in IoT[END_REF][START_REF] Sivanathan | Classifying IoT Devices in Smart Environments Using Network Traffic Characteristics[END_REF]. It is even more important to train models on traffic data because the IoT devices identification is complicated and relies on easily changeable static information and not on their less changeable activity. Network data sets are also useful to detect anomalous activity or signature behavior of already known attacks by training machine learning [START_REF] Hodo | Threat analysis of IoT networks using artificial neural network intrusion detection system[END_REF][START_REF] Verma | Machine Learning Based Intrusion Detection Systems for IoT Applications[END_REF] or deep learning [START_REF] Diro | Distributed attack detection scheme using deep learning approach for Internet of Things[END_REF] models. Finally, network IoT data alleviates forecasting networks congestion [START_REF] Tang | An Intelligent Traffic Load Prediction-Based Adaptive Channel Assignment Algorithm in SDN-IoT: A Deep Learning Approach[END_REF] or the traffic load [START_REF] Lopez-Martin | Neural network architecture based on gradient boosting for IoT traffic prediction[END_REF] to tackle allocation and management decisions.

Because various types of bias may be present in data [START_REF] Mehrabi | A Survey on Bias and Fairness in Machine Learning[END_REF], and such bias may in turn lead to algorithmic unfairness or other unwanted behaviours, it is important to take great care when designing and creating datasets. Although replicability1 appears as the best way to increase confidence of results building on such experimental artifacts, intermediate steps such as repeatability and reproducibility may also promote the integrity of such results. Repeatability for the creation of datasets is especially important for the IoT and wireless networking domains, as the radio spectrum, the communication technologies or the operating systems powering such networks undergo constant changes, rendering datasets obsolete, or worse, damaging.

In this work, we use the FIT IoT-LAB testbed. FIT IoT-LAB is an open large-scale testbed with wireless sensor nodes and mobile robots [START_REF] Adjih | FIT IoT-LAB: A large scale open experimental IoT testbed[END_REF]. Each node is openly programmable and it comes with convenient tools to gather the experiments' results, making it ideal to generate datasets. We show how we generated different types of network traffic data with the FIT IoT-LAB testbed thanks to our Sisyphe tool. In addition, we provide our results, methods and tools to be entirely reusable and reproducible and share them. Our contributions are threefold :

• We present the architecture of Sisyphe and illustrate its use by generating two datasets using the FIT IoT-Lab testbed. • For each dataset, we discuss the experiment setup and present the results obtained. These results are available to be directly usable.

• We make available all the source code and tools used for each dataset on a public repository. The remainder of this paper is organized as follows. Section 2 presents the architecture of Sisyphe . Section 3 introduces the two different considered scenarios and their peculiarities. The scenarios are then covered in details in 3.1 and 3.2. Section 4 provides some usage examples of these datasets. Finally, Section 5 positions Sisyphe and these contributions with regards to literature before Section 6 concludes this paper by discussing future work.

SISYPHE DESIGN PRINCIPLES AND ARCHITECTURE

The main goal of Sisyphe is to provide a way to generate artifacts in an autonomous, repeatable and reproducible manner2 . To achieve this goal, Sisyphe relies on multiple techniques or design principles that we present in this section. We then present its architecture.

Design principles

It is notoriously hard to reproduce or let alone repeat computer systems research. In [START_REF] Collberg | Repeatability and benefaction in computer systems research[END_REF], the authors measure the two most "basic" requirements for reproduction (different teams, same experimental setup), namely, being able to access to the source code and being able to build this source code, for a set of 601 papers from various ACM conference and journals. Out of the 402 papers not excluded from consideration for hardware availability constraints, or excluded because their results were not backed by code, only 54.0% fulfill the two basic requirements of source code availability and build success. While hopefully the situation is far less dire in 2021 than in 2015, the first step to guaranty reproducibility and repeatability is to ensure the availability of the source code involved in the processing, analysis, presentation steps of the creation of scientific works, but also and most importantly of the experimental code.

Source code archiving. To tackle the source code availability problematic, the source code of the Sisyphe platform as well as the source code of the experiments run on the platform are distributed under open-source licences. Yet, distributing the source code, for example by hosting an archive on some institutional or personal web-page is not enough. Indeed, they may disappear on the occasion of a website redesign or a change of affiliation. Thus, source code sharing platforms such as Github or Gitlab represent a more promising avenue. However, recent history [START_REF] Buchholtz-Au | Visual Studio Codespaces is consolidating into GitHub Codespaces[END_REF][START_REF] Chan | Sunsetting Mercurial support in Bitbucket -Bitbucket[END_REF][START_REF] Imbert | InriaForge: Forum: Annoucement: Scheduled INRIA Forge end of life[END_REF] has shown they are not perfect because they can also close. To ensure source code availability, we therefore rely on software archiving made possible by Software Heritage [START_REF] Cosmo | Software Heritage: Why and How to Preserve Software Source Code[END_REF]. It is a non-profit organization backed by Inria and the UNESCO, whose goal is to establish a long-term software and source code archive. In particular, unique and stable identifiers called SWHID are attributed to the different software components of Sisyphe ensuring an easy access to those components source code.

For example, the identifier of the Sisyphe source code, available at https://github.com/sisyphe-re/infrastructure-ng is swh:1:dir:6b23bcefe73bbaea308b6ea99d7e75cd37ded16fe and allows the exploration of a project's source code in a similar way to the Github web interface. In addition to preserving the source code of the platform, Software Heritage is also used to archive the source code of the experiments every time they are run in an automated manner. In particular, we ensure that the source code is present in the Software Heritage archive before running the experiments, preventing mismatch between the ongoing experiment and what is archived in a long-term manner.

Reproducible Builds. Any researcher that already tried to run old code they wrote for a scientific contribution knows how hard this can be. Having access to the source code is only one part from the broader "reproducibility challenge", as underlined by the results from the "Ten Years Reproducibility Challenge" presented in [START_REF] Perkel | Challenge to scientists: does your ten-year-old code still run?[END_REF] : lacking documentation or access to obsolete computing environments can also represent hard obstacles to overcome. In Sisyphe , we use the Nix package manager [START_REF] Dolstra | The purely functional software deployment model[END_REF] and the NixOS [START_REF] Dolstra | NixOS: A purely functional Linux distribution[END_REF] Linux distribution to provide reproducible development and computing environments. Nix uses a functional approach to package management by linking software and their dependencies using cryptographic hashes. It so allow us to provide an easy way for third-party to re-use our code, without impacting the rest of their system. For example, it is possible to build the RIOT-OS based firmwares from Section 3.2, without having to deal with the so-called "dependency hell", and as long as the Nix package manager is available, by using a single command, namely 'nix build', as shown on 1.

Listing 1: Firmware Compilation using Nix $ g i t c l o n e g i t @ g i t h u b . com : s i s y p h e -r e / f i r m w a r e s $ cd f i r m w a r e s / $ n i x b u i l d [ 1 b u i l t ] $ l s r e s u l t / g n r c _ b o r d e r _ r o u t e r . e l f g n r c _ n e t w o r k i n g . e l f

The more global architecture of Sisyphe is itself written in Nix and based on the NixOS Operating System and thus adopt the "Infrastructure As Code" paradigm. Nix and NixOS try to be reproducible down to the bit level, they so detect quickly existing projects that exhibit non-deterministic patterns in their builds. We discovered an example of such behaviour in the RIOT operating system's code during the development of Sisyphe3 .

Testbeds. As mentioned in [START_REF] Collberg | Repeatability and benefaction in computer systems research[END_REF][START_REF] Perkel | Challenge to scientists: does your ten-year-old code still run?[END_REF], hardware access may also hinder reproducibility, especially when it involves exotic hardware. Providing remote access to standard x86_64 machines might not be useful for reproducibility of system research, as it is easy to gain access to such machines (at least in 2021), but networks and especially IoT networks are a different matter. The fast pace of evolution of such networks means some hardware can be sunset in just a few years time. Moreover, their diversity means reproducing some experiment might come at a high cost, in terms of hardware roll-out or time. We ease the reproduction process in Sisyphe by using testbeds, instead of relying on local deployments. By doing so, anybody with an access to the testbed can reproduce the results at a lower cost. In addition, testbeds promote a greater access to science by leveraging more resources for more people, in particular in IoT networks that demand large deployments. In this work, we use the FIT IoT-Lab testbed, which allows full control of several hundred nodes using a set of APIs and SSH access across five geographical deployments in France. One of the downside of such remote-accessible testbeds, as noted by [START_REF] Brunisholz | WalT: A Reproducible Testbed for Reproducible Network Experiments[END_REF] is that they offer rigid operating conditions and might not provide meaningful results because of their peculiar deployments that may be considered as artificial. To this end, Sisyphe is testbed agnostic and does not try to enforce the use of any specific testbed, as long as experiments can be run in an automated manner, which brings the next main design paradigm of Sisyphe .

Continuous Integration and Automation. The radio environment evolves quickly with the evolution of radio spectrum allocation, changes in the users habits, changes in the communication technology, changes in the applications, operating systems. Thus, Sisyphe adopts a continuous integration and full automation approach for the creation of datasets. Such automation allow identification of IoT networks' global trends, for example about the performance of this or that algorithm implemented in some operating system. Thus, it gain insight into the development of real networks. Most importantly, full automation decouples the experiment from the experimenter and highlight implicit dependencies that may otherwise be hidden. Indeed, the initial work put into automation effort is a form of documentation. It allows observability of the whole experimental process and thus reduce the risk of corporate amnesia and favor easier audits.

Architecture

The global architecture of Sisyphe is presented in Figure 1. The processing pipeline is divided in two main steps, each with different level of reproducibility. The first one is the automated build step, which uses experiment blueprints ,from source code repositories, to create artifacts. These artifacts are then used during the second step, which is the automated evaluation step.

Sisyphe built blueprints with Nix flakes, which are experimental features for easy containerization and composability of Nix-based projects [START_REF] Dolstra | Nix Flakes, Part 1: An introduction and tutorial -Tweag[END_REF]. This assumes that the blueprints are already nix and flakes ready, like in Section 3.2. In the case they are not, a bit of work might be needed as shown in Section 3.1 and some intermediate adapter code is needed. Sisyphe assumes that calling "nix build" will build the artifacts and expose a "run" executable for launching the experiment. The build results are published online in a binary cache in which they are identified by their hashes, which allows to fetch part of the artifacts without having to rebuild them locally.

The automated evaluation step is in general less reproducible than the automated build step. Indeed, for the evaluation of experiment we have to make API calls and interact with real-world resources, which is not as simple as running a sequence of programs in a controlled environment. This evaluation step is executed automatically on Sisyphe at regular intervals, e.g. daily, and the result are also made available on the web 4 . We may need secrets to connect to platforms such as Fit IoT-LAB, for example ssh private keys to copy artifacts on Sisyphe server for their availability, or API keys. Those are passed as environment variables. Containers are used to separate each experiment's evaluation, but we plan to switch to virtual machines in the near future to increase security.

USAGE EXAMPLE : IOT ARTIFACTS GENERATION

In this section, we present how we have produced two IoT artifacts with Sisyphe on the FIT IoT-Lab platform. The two artifacts are created using scenarios related to smart buildings [START_REF] Minoli | IoT Considerations, Requirements, and Architectures for Smart Buildings-Energy Optimization and Next-Generation Building Management Systems[END_REF][START_REF] Verma | Sensing, Controlling, and IoT Infrastructure in Smart Building: A Review[END_REF], covering (i) HVAC systems (heating, ventilation and air conditioning), ii) Smart lighting, iii) Emergency system, iv) Surveillance cameras, v) Virtual or augmented reality rooms and vi) Voice over Internet (VoIP). Each sub-scenario is characterised by the frequency of the exchanged messages, the number of nodes participating in the network, as well as the payload size. With these scenarios, we aim to model the exchange of different types of data, whether textual, audio, or visual data. The first artifact uses the Contiki [START_REF] Dunkels | Contiki -a lightweight and flexible operating system for tiny networked sensors[END_REF] IOT Operating System, and is rather loosely interfaced with Sisyphe . Indeed, while the compilation environment is set up using Nix in Sisyphe , Nix is not used directly to build the firmwares. The source code is fetched on-the-fly in a non-reproducible manner over the internet, that is to say using Git. Any change in the source code repository will not be detected by the system: this first evaluation scenario is used to present how an existing code could be used in Sisyphe with minimal changes. The duration of the experiments are limited to at most 90 minutes. The second artifact uses the RIOT IOT Operating System [START_REF] Baccelli | RIOT OS: Towards an OS for the Internet of Things[END_REF], and is Sisyphe -ready, as it already uses Nix to build the firmwares and the different scripts used for the experiment execution. This second artifact is used to present how a more tailored experiment code can be used with Sisyphe . The duration of the experiments are longer, as each scenario runs for one week. Both methods rely on sensors writing statistics on their serial output to gather data, serial output which is connected to the FIT IoT-Lab monitoring infrastructure and gathered with the so-called "serial-aggregator" of the testbed, and on the use of the 802.15.4 radio technology.

Simple traces for link evaluation

Based on the needs and requirements from a specific usage, we may need to use simple data about node communication in a peer to peer approach. It may for example be useful to train machine learning models to get an estimation of the communication delay. In this section, we first present the experimental setup and tools we used to configure and launch experiments on the FIT IoT-LAB test-bed. Then we introduce the tools we used to retrieve the experimental results and parse the files to get data about specific metrics we needed. The methodology presented can be applied to any other metric that can be extracted from a set of nodes communicating in broadcast manner. can be fully modified, and several examples are available to learn. Different operating systems can be used, such as Contiki [START_REF] Dunkels | Contiki -a lightweight and flexible operating system for tiny networked sensors[END_REF], which is a lightweight system for wireless sensor networks. To generate simple traces for link evaluation, we based our firmware on a publicly available example based on Contiki5 which sends broadcast messages on a regular basis. We made small modifications to adjust the behavior to our needs. To easily and quickly run experiments, we wrote a simple script which takes the following experimental parameters as input: the experiment duration, the sending frequency, the packets' payload size and the list of nodes used in the experiment. We have defined these parameters according to the characterization of the scenario done previously. They are summarized in Table 1. To get information about the nodes operations, they are configured to output data on their serial links as soon as they send or receive packets. For the hardware side, we chose to use the open nodes M3 6 . Those are based on STM32 micro-controllers and an ARM Cortex M3 processor. They offer power and flexibility, and thus are the ones that meets the largest number of applications. Our script execute the following operations. The firmware code is modified, based on the experimental parameters that are given. Then the firmware is compiled, and the nodes that takes part in the experiment are booked using the IoT-LAB tools. The serial aggregator from the toolset is started to log the serial output of every node from the experiment. For every line of log, a timestamp is registered along the source node's name. Once the experiment is ready to begin, the firmware is uploaded on the nodes. After the given duration of the experiment, the results are retrieved from the remote IoT-LAB server and a copy is stored on the local computer. The script and every software we used are freely available and usable with the obtained data.

Results

. Thanks to the serial output generated by the nodes, we can extract simple experiments' results. A single text file contains output from every nodes. Each of that file's line contains information about which nodes sent messages, and which nodes received it. A line of log contains a timestamp, the identifier of the node which wrote the line, if it has sent or received a message, and the associated message identifier. As the log structure is very simple, the file's parsing is easy. We divide the log file in two : one contains the log about messages sent and the other log about messages received. In the first file, about messages sent, we compute and add the number of nodes that have received each message next to the log line of its transmission. In the second file about receptions, based on the timestamps of each log, we compute and add the transmission delay in milliseconds associated with each reception. With that, we obtain a simple yet complete dataset about one hop communications. That dataset can then be used to train automatic learning models which needs realistic information and metrics about specific applications and experimental settings. In our work, we use the dataset to predict the communication's delay, based on the network's state and use case. To that end, we wrote scripts to automatically extract, compute, and graph different metrics about the dataset. Those scripts are made with Python, and freely available in open access on our Gitlab repository 7 . Based on the needs, metrics can be simply extracted and graphed with quick modifications of the available scripts. Our scripts are intended to be reusable to extract other metrics, such as the message window, or other data with the same format.

Traces for network evaluation

In this section, we focus on creating a more realistic dataset for network evaluation. This type of dataset is useful to understand applications traffic profiles. We first describe the experiment architecture and setup. We also introduce how we generate the traffic and the experiment parameters. Then, we present the results we obtained and how to exploit them.

Experiment description.

We reuse the scenarios of the Section 3 but enhance them by considering different type of packet generation. As we focus on network evaluation, we present a more advanced architecture, illustrated in Figure 2. Each experiment, corresponding to a scenario, involves three types of entities (nodes): Server: the server is a node which hosts a UDP server, receiving packets and collecting information about those packets. It is reachable through the Internet through an IPv6 connection. In all the experiments, there is only one server. Border Routers : border routers are nodes which connect the sensors to the internet. They are equipped with two interfaces, one connected to the internet and the other one connected to the sensors network, using the 802.15.4 technology and the RPL routing protocol. In the RPL protocol, they are the root of the RPL DODAGs. During the experiments, the number of border routers is kept constant but may vary between experiments, as shown in Table 2.

Sensors : The sensors are the core of the network. They generate data according to a specified random distribution and transmission parameters, and send them to the server. They are connected together using the 802.15.4 technology and the RPL routing protocol, which means each sensor may also be used to relay packets or frames to border routers, if it is on the shortest path between a sensor and the DODAG root. Each sensor may have different parents in the DODAG, allowing packets to flow in a path or another. We introduce a new type of packet generation which goes beyond regular and periodic packet generation, and allows to better model real world scenarios. Indeed, in the HVAC scenario for example, sensors might send information in a periodic manner in order to control the system, but in the emergency response scenario for example, sensors will also react when they detect a possible danger, which cannot be captured by simple periodic traffic generation. Thus, beyond the previously used periodic generation where the packet are sent at a fixed interval of time (denoted as "Periodic"), we also use a packet generation method based on an exponential distribution of rate parameter 𝜆 (denoted as "Exponential"). This distribution is generated by using the inverse transform sampling method directly on the sensor node, using the floating point random number generation from the RIOT Operating System. As the FIT IoT-Lab m3 nodes are based on the STM32 CPUs, which feature a hardware random number generator, we believe the generated distribution is of sufficient quality for our usecases. We also consider an Hybrid traffic generation method, which is the simultaneous generation of data according to the Periodic and the Exponential method at the same time. All parameters are summarized in Table 2.

Results

. The results are gathered either from the server or from the sensors by a script running on the FIT IoT-Lab frontend servers. In particular, the border routers are not gathering any statistics to avoid such data collection to interfere with the experiment, as their serial link is already for the ethernet-over-serial (ethos) connection. The results for each scenario are streamed and compressed using the ZSTD compression algorithm 8 directly to Sisyphe server where they can be post-processed after the end of the experiment, in particular to format them. Originally formatted as text, the results 8 https://github.com/facebook/zstd are transformed into SQLite3 databases to allow for easy manipulation and querying. For the moment, we kept the database format simple, in particular by using no relationship between the tables, using SQLite3 as a poor man's binary file format. Such databases are also compressed using ZSTD, as their uncompressed size can reach 100GB for an experiment of one week.

The databases comprise tables with different level of information, from high level layer 3 statistics to low level phy information, e.g. average reception power of the frames of this or that neighbor in the RPL DODAG. While we will not go into the details of the database schema, which is documented in the campaign repository 9 , we present in Listing 2 an example of operation on the data. Theses operations give us the transmission timestamp, the sensor ID and reception timestamp for the first 5 received packets of the dataset.

Listing 2: Example of simple data manipulation of the generated data $ s q l i t e 3 h v a c _ 2 6 3 6 8 5 . db3 S Q L i t e v e r s i o n 3 . 3 5 . 2 2021 -03 -17 1 9 : 0 7 : 2 1 E n t e r " . h e l p " f o r u s a g e h i n t s . s q l i t e > SELECT udp . Timestamp , udp . Node , s e r v e r . Timestamp Such data can for example be presented as in Figure 3, where we plot the latency of every received frame in the HVAC systems scenario for each received frame at the server side. Out of the 128 627 received frames, 115 have a negative latency (and are not represented on the graph), i.e. they appear as if they were received before being sent. We believe this may be due to the FIT IoT-Lab se-rial_aggregator behaviour which is used to time the received serial messages from the sensors, or due to some latency introduced by the RIOT threading mechanism, both of which may introduce some latency before recording that a packet has been sent. We can observe that as expected, the DODAG roots, whose transmitted packets are represented in yellow, have an overall lower latency as they are closer to the server. We present in Figure 4 the packet delivery ratio over the whole duration of the HVAC systems experiment for each node (with each point representing a single node). We can observe that out of the 100 sensors, 34 have a PDR of less than 1.2%, including 15 nodes never having a single packet received by the

POSSIBLE USAGES

Traces of IoT applications are valuable information for wireless networks architectures, like edge computing. We can use datasets to train and evaluate resource allocation and task offloading mechanisms. Edge computing is characterized by a highly dynamic environment and heterogeneity of applications and resources. Thus, data driven modeling is a prominent solution for this type of network. Real time schedulers can recognise trace patterns and allocate resources such as memory, bandwidth and CPU, among users to optimize the network efficiency and reduce costs. Scheduling algorithms [START_REF] Cherkasova | Comparison of the three CPU schedulers in Xen[END_REF] decide the amount of resources allocated and the duration of each allocation into two different layers. In the first layer, resources from servers are distributed among several virtual machines. In the second, a virtual machine can run several applications concurrently. The complexity of edge computing systems, the fluctuation of the workload, the constraints of the Service Level Agreements (SLA), the interaction with application's users and the dynamic environment make us move towards intelligent solutions that learn from historical data.

Resource management ensure the smooth operation of the IoT applications and the edge infrastructure. We can train resource management policies with IoT application traces. We can design an admission control to prevent the processing nodes from accepting workload that will cause QoS degradation, such as an increase in response time or a decrease in throughput. An efficient resource allocation mechanism increase the computational efficiency of the infrastructure. It consider the amount of resources required for the timely completion of the workload, the vicinity between the workload producers to the processing nodes [START_REF] Violos | Leveraging User Mobility and Mobile App Services Behavior for Optimal Edge Resource Utilization[END_REF] and the type of workload [START_REF] Bouras | Mapping of Quality of Service Requirements to Resource Demands for IaaS[END_REF]. For instance, an intelligent resource allocation mechanism can offload to GPUs the workload produced by augmented reality IoT applications because this type of workload includes intensive matrix multiplications. Last but not least, a load balancing mechanism avoids the situation in which some nodes become overloaded while the others have little work to do. The workload balancing mechanism can redistribute the workload evenly among processing edge nodes, trying to ensure the allocation principles of efficiency, fairness and starvation-free of the nodes.

A more challenging task is the workload modeling. Workload is characterized by self-similarity with multivariate dependencies, strong auto-correlation values and seasonality [START_REF] Calzarossa | Workload Characterization: A Survey Revisited[END_REF]. With a time series analysis of IoT application traces, we can detect changes in the evolution of the workload, find relationships between different steps in time and forecast future values. We can analyze historical data sequences to estimate the correlations between different edge nodes and predict bottlenecks in the network. The workload modeling may include two components. The first one build IoT applications profiles based on : the message exchange frequency, payload, transmission time, packet delivery rate, resource usage. These applications profiles will summarise how an application behaves in different circumstances. The second component associate application profiles with resource requirements or QoS metrics. The workload modeling will help the application owners and the edge infrastructure providers to understand what are the main characteristics of the application, how the applications interact with the infrastructure and which nodes are identified as hubs or bridges.

The extensive use of IoT devices and edge infrastructures leads to service reliability and availability issues. These issues are intrinsic to edge computing because of its highly distributed nature. Several types of failures may occur such as hardware, virtual machines, application and network. It may cause full or partial breakdowns and shutdowns. Edge computing should be resilient to these failures. Conventional replication techniques may not be feasible because on the edge resources are not highly available. Analysing IoT applications traces can help us to detect and handle the various faults with two fault tolerance approaches: proactive and reactive [START_REF] Hasan | Fault tolerance in cloud computing environment: A systematic survey[END_REF]. In proactive fault-tolerance, the data traces can be used to predict potential faults and substitute the suspected node by some replicant node. In the reactive fault tolerance, we use data traces to detect the fault and take actions in order to decrease the influence of failure to improve the recovery time and the maintainability of the system.

We require an advanced analysis to get meaningful insights of IoT QoS applications' behavior from generated time series datasets. QoS requirements, such as throughput, delay, and Packet Loss Ratio (PLR), associated with each IoT application helps us understand the main characteristics of these applications. Furthermore, there is a large number of IoT devices generating huge amounts of data within each application. Thus, if we predict the time varying characteristics of the device's traffic, we can guarantee a specific level of Quality of Service (QoS). These QoS can be quantitative or ratio data type, representing the application datasets. The prediction of such metrics, by resorting to machine learning approaches, becomes of utmost importance. The machine learning architectures efficiently extract useful features and suppress irrelevant variations in datasets [START_REF] Lecun | Deep learning[END_REF]. It has an ability to approximate the complex functions in order to build the prediction models for learning tasks and accuracy. Thus, machine learning constructs a powerful tool for QoS prediction problems by leveraging generated IoT application traces. We can predict the QoS metrics with historical datasets with various learning models, such as Recurrent Neural Network (RNN) and Long Short-Term Memory (LSTM). In a supervised learning setting, the relation between a set of input variables and one or more output variables is determined using a finite set of observations. Once the machine learning model is trained then the prediction is done. For example, statistical based features (i.e. packet inter-arrival time, burstiness rate, etc.) and network based features (i.e. IP addresses, port numbers, packet sizes, etc.) can be employed to predict the individual's IoT device traffic profile [? ]. Finally prediction of the IoT traffic generated is done to better understand services' requirements.

RELATED WORKS

Pflanzner et al. [START_REF] Pflanzner | A Crawling Approach to Facilitate Open IoT Data Archiving and Reuse[END_REF] provide an indexing service to retrieve open traces of applications available on the internet. [START_REF] Kuzman | A Testbed and an Experimental Public Dataset for Energy-Harvested IoT Solutions[END_REF] presents a dataset from a test bench of solar-powered weather sensors. The data contains the power consumption and production of the application to help research in self-powered IoT applications. Xiao and al. [START_REF] Xiao | TrajData: On Vehicle Trajectory Collection With Commodity Plug-and-Play OBU Devices[END_REF] introduce a ready-to-use on-board unit solution to collect vehicle trajectory data. Their solution contains a deep learning algorithm to fill gaps in data collection, such as GPS failures. [START_REF] Jacob | Dataset: Wireless Link Quality Estimation on FlockLab -and Beyond[END_REF] provides a dataset from the FlockLab platform. Data collection is performed over a long period of time to capture long-term periodic patterns that affect the quality of wireless links. Software Heritage is at the heart of the source code archiving part of Sisyphe [START_REF] Di | Referencing Source Code Artifacts: a Separate Concern in Software Citation[END_REF], but is not aimed at archiving experiment results or binary artifacts (such as firmwares) nor providing the automation for experiments, from the build to the results recovery, unlike Sisyphe .

CONCLUSION

In this work, we introduce Sisyphe for an automated generation of artifacts. Its architecture automates the build of the various tools needed for experimental evaluation on platforms such as FIT IoT-Lab as well as the artifacts generation, resulting in an entirely repeatable and reproducible process. Experimenters using Sisyphe can easily repeat their experiments according to custom schedules, allowing to account for example for the time variability of environmental factors such as network traffic. Results obtained through Sisyphe can be easily promoted as they are more easily verifiable by their peers. We then illustrate the use of Sisyphe by generating two IoT data sets using the FIT-IoT Lab platform. The presented artifacts are from IoT applications, but we emphasize that Sisyphe can generate artifacts for other type of networks, depending on the chosen build process and evaluation platforms in the Sisyphe pipeline. Finally, we provide an extensive review of the possible use of this type of data. All code source and tools are at the disposition of the community. We hope with this work to make traces generation accessible along with promoting open science and research reproducibility.

3. 1 . 1

 11 Experiment setup. FIT IoT-LAB offers several tools to launch, control and retrieve results from the experiments. The nodes' firmware

Figure 1 :

 1 Figure 1: Overview of the architecture of Sisyphe . Bold elements are used in one of the two example presented in this work.

  FROM s e r v e r . . . > INNER JOIN udp ON s e r v e r . p a y l o a d =udp . p a y l o a d LIMIT 5

Figure 2 :

 2 Figure 2: Experiment architecture for network evaluation

Figure 3 :

 3 Figure 3: Evolution of the latency for the network evaluation HVAC scenario as a function of time. Each dot represents a single received packet, and colors represent the Rank in the RPL protocol, with red being 256, green being 512, blue being 1024 and yellow above.

Figure 4 :

 4 Figure 4: Packet Delivery Ratio (PDR) for the 100 nodes from the network evaluation HVAC scenario over the whole experiment duration. The colors represent the mode of the RPL Rank using the same color code from Figure 3.

Table 1 :

 1 Experiments parameters for simple link evaluation

	Scenario	Nodes number	Message exchange frequency	Payload size (byte)	Duration (minutes)
	HVAC systems	100	1 packet/4 minutes	60	60
	Smart lighting	100	1 packet/8 minutes	30	90
	Emergency response	40	1 packet/30 seconds	127	10
	Surveillance	30	99 packets/seconds	127	10
	Virtual or augmented reality	10	197 packets/seconds	127	10
	VoIP	10	16 packets/seconds	127	10
	They are at the edge of the sensor network, bridging two networks.

Table 2 :

 2 Experiments parameters for network evaluation

	Scenario	Sensor number	Border routers number	Payload size (bytes)	Packet generation type	lambda Period (s)
	HVAC systems	100	5	60	Periodic	-	260.0
	Smart lighting	100	5	30	Exponential	0.00208	-
	Emergency response	40	5	127	Hybrid	0.0333	30.0
	Virtual or augmented reality	10	3	127	Exponential	196.74	-
	VoIP	10	3	127	Hybrid	15.74	.063532

We use the terminology of the Artifact Review and Badging Version 1.1 from the ACM.

Sisyphe is the french name of the Greek mythology character Sisyphus, punished for cheating death by being forced to repeat an action for eternity.

https://github.com/RIOT-OS/RIOT/pull/16511/

The web interface for Sisyphe is available at https://sisyphe.grunblatt.org/

Available here: https://github.com/iot-lab/contiki/tree/master/examples/ipv6/simpleudp-rpl

[START_REF] Calzarossa | Workload Characterization: A Survey Revisited[END_REF] More information: https://github.com/iot-lab/iot-lab/wiki/Hardware-M3-node

https://gitlab.irisa.fr/0000H82G/traces

https://github.com/sisyphe-re/riot_rpl_udp_scenarios

ACKNOWLEDGMENTS

This work was partially supported by the CPER DATA and CHIST-ERA-2018-DRUID-NET project "Edge Computing Resource Allocation for Dynamic Networks".