Dongxu Zhang

Jiangfeng Han

Wenjing Hu

Hui Liu

Mark Chen

Fernando Plimmer

Sparasci

Changzhao Pan

Bo Gao
email: bgao@mail.ipc.ac.cn

Yaonan Song

Haiyang Zhang

Dongxu Han

Jiangfeng Hu

Wenjing Liu

Hui Chen

Mark Plimmer

Fernando Sparasci

Ercang Luo

Laurent Pitre

Active suppression of temperature oscillation from a pulse-tube cryocooler in a cryogen-free cryostat: Part 1. Simulation modeling from thermal response characteristics

Keywords: Pulse tube cryocooler, Cryogen-free cryostat, Thermal response characteristics, Transfer function method, active control

published or not. The documents may come

Active suppression of temperature oscillation from a pulse-tube cryocooler in a cryogen-free cryostat: Part 1.

Simulation modeling from thermal response characteristics

Changzhao Pan, Bo Gao, Yaonan Song, Haiyang

τ Time constant (s)

Introduction

Primary gas thermometry (PGT) methods, such as constant-volume gas thermometry (CVGT) [START_REF] Steur | Constant-volume gas thermometry between 4 K and 100 K[END_REF], dielectric-constant gas thermometry (DCGT) [START_REF] Gaiser | Dielectric-constant gas thermometry[END_REF], acoustic gas thermometry (AGT) [START_REF] Pitre | Acoustic thermometry: new results from 273 K to 77 K and progress towards 4 K[END_REF] and single-pressure refractive-index gas thermometry (SPRIGT) [START_REF] Gao | Feasibility of primary thermometry using refractive index measurements at a single pressure[END_REF], measure thermodynamic temperature with the highest accuracy. The related instruments need to measure the pressure or some other parameters of the working gas (dielectric constant, speed of sound etc.) at a stable temperature for one to obtain the thermodynamic temperature. For example, SPRIGT has the potential to yield an uncertainty of 0.25 mK in the range 5 K to 25 K via the measurement of a resonant microwave frequency. However, it also requires a very high temperature stability working environment with a standard uncertainty below 0.2 mK. More generally, a cryostat with ultra-high temperature stability is essential for all types of PGT.

Cryostats working at temperatures well below 77 K such as those used in DCGT [START_REF] Gaiser | Dielectric-constant gas thermometry[END_REF] and AGT [START_REF] Pitre | Acoustic thermometry: new results from 273 K to 77 K and progress towards 4 K[END_REF] often use liquid helium as the refrigerant. However, the need to refill them with helium results in the experiment being discontinuous while the changing liquid gives rises to constantly evolving operating conditions. Moreover, the boiling of liquid helium adds a large thermal noise to the experimental system, especially in the temperature range above 25 K, which makes stable operation of the cryostat difficult [START_REF] Pitre | Acoustic thermometry: new results from 273 K to 77 K and progress towards 4 K[END_REF]. In recent years closed-cycle cryocoolers such as the commercial 4K Gifford-McMahon (GM) cryocooler or the GM-type pulse tube cryocooler (GM-PTC) have been used as an alternative. Cryostats cooled this way, also called cryogen-free cryostats, can be compact and run uninterrupted for several months or even years. They can be used from room temperature down to around 3 K. Naturally, they have attracted increasing interest [START_REF] Verdier | A 2.8 K cryogen-free cryostat with compact optical geometry for multiple photon counting[END_REF] [6] [START_REF] Nakano | Comparison system for the calibration of capsuletype standard platinum resistance thermometers at NMIJ/AIST[END_REF].

At low temperatures (especially below 77 K), however, systems cooled by both the 4K GM cryocooler and the GM-PTC show temperature oscillations caused by the periodic compression and expansion within the cryocooler. At temperatures below 20 K, because of the low heat-capacity of the material within the cryostat, this oscillation becomes even more manifest, thereby hindering temperature regulation.

Thus far, two main approaches have been employed to attenuate this oscillation, namely, the heat-capacity method (HCM) and the thermal-resistance method (TRM). The HCM uses a material of large heat-capacity at low temperature, such as a pressurized helium pot, lead, or a rare-earth alloy (such as ErNi and Er3Ni). Li et al. [START_REF] Li | Temperature Stabilization on Cold Stage of 4 K GM Cryocooler in Cryocoolers 9[END_REF], Okidono et al. [START_REF] Okidono | Temperature oscillation suppression of GM cryocooler[END_REF] and Webber et al.

[10] attached a helium filled pot onto the cold end of a GM cryocooler, thereby reducing the peak-to-peak temperature oscillation at 4 K from a few hundred millikelvin to below 50 mK. Fluhr et al. and [11], Huang et al. [START_REF] Huang | Experimental investigation on sub-miliKelvin temperature control at liquid hydrogen temperatures[END_REF] used a lead plate to reduce the oscillation amplitude to the millikelvin level. Allweins et al. [START_REF] Allweins | Damping of intrinsic temperature oscillations in a 4 K pulse tube cooler by means of rare earth plates[END_REF] and Shen et al. [START_REF] Shen | Performance of superconducting nanowire single photon detection system with different temperature variation[END_REF] used ErNi alloy with a GM-PTC and attenuated the amplitude to around 10 mK at 4 K. However, while the HCM can suppress the oscillation with almost no increase in lowest working temperature, the additional heat capacity it adds significantly increases the cooling time (typically by an order of magnitude).

The other approach, the TRM, uses a material with low thermal-conductivity at low temperature. Using a fibre-reinforced-plastic (FRP) damper, Nakamura et al. [START_REF] Nakamura | Reduction of temperature fluctuation within low temperature region using a cryocooler[END_REF] reduced the oscillation amplitude at 4.2 K to 0.7 mK while Dong et al. [START_REF] Dong | A new cryostat for precise temperature control[END_REF] using a polytetrafluoroethylene (PTFE) sheet, brought the thermal oscillation amplitude at 20 K down to below 4 mK. Finally, Dubuis et al. [START_REF] Dubuis | Sub-millikelvin stabilization of a closed cycle cryocooler[END_REF], using lead plates with stainless steel spacers to combine both methods, obtained a temperature stability better than 1 mK. While the TRM does not increase the cooling time, it does cause a temperature jump between the cryocooler and the flange it cools, which leads to a loss of cooling power (by as much as several watts, depending on the thermal resistance).

In addition to the two methods above, in our previous experiment [START_REF] Gao | Chinese SPRIGT realizes high temperature stability in the range of 5-25 K[END_REF] [19] [START_REF] Chen | Thermal response characteristics of a SPRIGT primary thermometry system[END_REF], a heatswitch was used to attenuate the temperature modulation.

All the aforementioned techniques, while effective, are passive, their performance depending on the structure of the cryostat. Moreover, their performance cannot be modified during the course of the experiment. For this reason, we have sought instead to use active temperature stabilisation. The most commonly used active method is Proportional-Integral (PI) control. To optimise regulation, researchers have developed many theories on tuning PI coefficients [21] [22]. Even so, the study of feedback control with thermal oscillation is rare.

Bhatt et al. [23] used the transfer function of a cryocooler to help tune the PI control coefficients of their system. To model the thermal behavior of their cryocooler, Sosso et al.

[24] used linear system theory, which can be effective in the design of temperature controllers.

Nevertheless, both these groups' research was only focused on the cold end of the cryocooler itself, and not the cryostat it was cooling. Complete mastery of active control requires that one develop a model for the entire system. Only then can one expect to obtain optimal suppression of temperature oscillation in a cryogen-free cryostat. In the present work, such a model was developed and implemented. It allowed the thermal characteristics of the system to be deduced by experiment. Moreover, it highlighted the inefficacy of traditional PI control and led us to invent a different method for removing thermal oscillations more effectively (by a factor of two).

The remainder of the paper is structured as follows. First, the cryostat and cooler are briefly described. The simulation model is presented, followed by the results obtained when it was implemented with the experiment allowing the determination of all the thermal transfer functions. Finally, the novel active suppression method is described. two of the many thermometers placed throughout the system [START_REF] Gao | Chinese SPRIGT realizes high temperature stability in the range of 5-25 K[END_REF], [START_REF] Gao | Realization of an ultra-high precision temperature control in a cryogen-free cryostat[END_REF].

Cryogenic apparatus

The cryostat studied in this paper was that used in our system for SPRIGT, a detailed description of which can be found in references [START_REF] Gao | Chinese SPRIGT realizes high temperature stability in the range of 5-25 K[END_REF] [19] and [START_REF] Chen | Thermal response characteristics of a SPRIGT primary thermometry system[END_REF]. It was cooled by a commercial Sumitomo GM-type pulse tube cryocooler (PTC), which can yield a lowest temperature of 2.8 K, and can supply 1 W cooling power at 4.2 K. Figure 1

Simulation model

A schematic of the real temperature control system is shown in figure 2(a). To regulate the temperature of the cryostat better and reduce this oscillation, a simplified temperature control system block diagram was developed (Figure 2(b)). Two factors influence the temperature of the flange: the cooling power from the second cold end of the PTC and the heat supplied by the heater. However, the heater also warms the second cold end of the PTC.

To simplify the simulation model, the heat transfer paths are reduced to four modules (figure 2b). The first module concerns the heat transfer from the heater to the flange, modelled by the function G1(s). The second module involves the heat transfer from the flange to the thermometer, modelled by the function G2(s). The third, modelled by the function G3(s), quantifies the heat transfer from the heater to the second cold end of the PTC and then to another thermometer. Finally, the effect of the thermal link is modelled by the transfer function Gthermal link(s).

was added to reduce its temperature. So any temperature oscillation on the flange would be transferred to the pressure tube, thereby causing the pressure to oscillate and degrading the stability of pressure regulation. 2 To simplify the installation of the thermometer, the CU type package was used in the experiment. But the relatively low thermal response time of the CX1050-CU sensor partially attenuated the amplitude of the temperature oscillation. From a relative standpoint, this had no influence on the outcome of the research. However, we suggest the reader use preferably a thermometer with a faster response to measure the dynamic temperature, such as the models CX1050-SD, BC or similar.

These four transfer functions are enough to describe the main thermal response characteristics. To obtain expressions for them, a step response experiment was performed on the flange and the second cold end of the PTC. As shown in figure 3, a heat step (from 0 to 8.8 mW) was added by the heater to the open loop system. The transfer functions G1(s) and G3(s) were then obtained by using the ratio of the Laplace transform of the output function to the Laplace transform of the excitation step heating function. Indeed, according to references [START_REF] Li | Cryogenic precision digital temperature control with peaked frequency response[END_REF] and [START_REF] Sosso | Experimental analysis of the thermal behavior of a GM cryocooler based on linear system theory[END_REF], the best fit of the temperature response to a power step input can be accurately described by a sum of exponential decays:

(1) Table 1. The fitted functions of the stepwise heating and intrinsic sinusoidal response.

Fitted function

Step response

T 2 (K) T 5 (K) Sinusoidal response T 2 (K) T 5 (K)
To simplify the model, a first-order response function was used to describe heat transfer from the heater to the second-stage cold end of the PTC. A second-order response function was used to describe that from the flange to thermometer, because it contains two parts G 1 (s) and G 2 (s) and has two time-constants. Figures 3 a) and b) show the response curves of the flange and the second-stage cold end of the PTC. The fitted response functions can be found in table 1. From its Laplace transform, we obtain the following expressions for the transfer functions:

(2)

(3)

Figure 4 The sinusoidal response from the PTC to the thermometer on the second flange.

In addition to the step response method, the sinusoidal response method can also be used to obtain information on the transfer functions. In the present system, there always exists a temperature oscillation propagating from the second cold end of PTC to flange 3 . This means there also exists a heat oscillation (around a mean value of zero) travelling between the second-stage cold end of the PTC and the flange. Thus, by analyzing this intrinsic sinusoidal response, one can obtain an expression for transfer function. As shown in figure 4, this heat oscillation can be expressed by the derivative of T5, propagating through the thermal link and 3 For the GM type cryocooler, the pressure wave inside of cryocooler is not actually a sine wave, but rather more like a square wave (containing the fundamental and odd harmonics), so the temperature oscillation of the working gas should be non-sinusoidal. However, because of the heat capacity of the cold end, the higher-order harmonics are greatly filtered, resulting in the measured temperature being essentially sinusoidal after all.

the second flange to the thermometer T2. By applying the Laplace transform to this open loop response, one can obtain the complete transfer function from the second cold end of the PTC to the thermometer on the second flange:

(4)

Here, the transfer function of the thermal link Gthermal-link (s) can be expressed in terms of its time constant RC:

(5)

while the transfer function G 2 (s) can be written as: [START_REF] Chapman | Cryogen-free cryostat for neutron scattering sample environment[END_REF] In our previous work, the thermal resistance of the thermal-link was calculated accurately [START_REF] Gao | Realization of an ultra-high precision temperature control in a cryogen-free cryostat[END_REF]. At this temperature, RC  100 ms, so the term RCs can be neglected to begin with in the actual calculation. Then, from equation of (4) (5) ( 6), we obtain: [START_REF] Nakano | Comparison system for the calibration of capsuletype standard platinum resistance thermometers at NMIJ/AIST[END_REF] On the other hand, there are two time-delays in the product of equation ( 2), which correspond the time constants of G 1 (s) and G 2 (s), respectively  1 and  2 . Because G 2 (s) is the transfer function describing heat flow from the flange to the thermometer, it should have the smaller time constant. Thus, we take  2 = 26.48 s. To solve equation [START_REF] Nakano | Comparison system for the calibration of capsuletype standard platinum resistance thermometers at NMIJ/AIST[END_REF], one also needs to know the phase relationship between  and , which can be obtained by measuring T 2 and T 5 simultaneously. In the experiment, a trigger device was used to control two Keithley 2002 digital multimeters (DMM) to measure both temperatures at the same time. The phase difference  - was found to be 1.134 rad, as shown in table 1.

When the following values of the other parameters are inserted, , equation ( 7) simplifies to:

Comparing equations ( 2) and ( 8), the simplest solutions are:

Discussion

In this section, we describe the simulation model developed using MATLAB Simulink software and how simulation results were verified by experiment. Thereafter, we present a novel active suppression method to attenuate the thermal modulation intrinsic to cryogen-free cryostats.

Simulation results and verification

Based on above transfer functions, a simulation model for temperature regulation was developed using MATLAB Simulink software. As shown in figure 5, the heat on the flange can be split into two parts. The first is the heat from the heater, calculated using the transfer function G 1 (s). The second is the heat due to the temperature oscillation of the PTC, which can be calculated using the transfer function G thermal-link (s). Both heat sources warm the flange and so influence the thermometer temperature T 5 via the transfer function G 2 (s). In the simulation, the set point was controlled by a step signal, and the temperature evolution observed on a computer monitor.

Active suppression method

Figure 9 The program used to model active suppression temperature oscillation method. Because traditional PI regulation cannot actively suppress the temperature modulation induced by the PTC, we needed to find another way to attenuate or even remove it. The approach used was to add an extra, active heat oscillation source to the flange to counterbalance the unwanted thermal oscillation. To test this idea theoretically, a sinusoidal heat source was added onto the previous PI simulation model (figure 9). Because by definition a heater cannot cool, the amplitude of this active sinusoidal heat must be lower than the heat used in the previous PI regulation (in this case around 110 mW).

Theoretically, the addition of two sine-waves can either increase or decrease the total amplitude. Thus, there exists an optimal phase relationship between this active sinusoidal heat and the oscillation heating from PTC which makes the oscillation on the flange lowest. For this reason, several phase angles from 0 to 2π were tested (amplitude set to 100 mW).

Figure 10 shows the simulation results. One sees as expected that the original temperature oscillation can be either increased or decreased depending on the phase angle. For a phase angle between 3π/4 and π, the amplitude of the original oscillation is reduced to 1.4 mK. In other words, the amplitude of the original temperature oscillation on the flange (2.75 mK) was suppressed almost two-fold.

Conclusion

To understand PI regulation with temperature oscillation in a cryogen-free cryostat at low temperature (5 K) cooled by a pulse-tube cooler, a simulation model was developed based on the transfer-function method by using both the step response characteristic and the intrinsic oscillation characteristic of cryostat. The results showed that the thermal response characteristics of the cryostat can be well described by four transfer functions. They also showed that the PI parameters mainly affect the overshoot value and stabilization time during the regulation but have a negligible effect on the thermal oscillation amplitude. In other words, the temperature oscillation cannot be suppressed using PI feedback alone. Based on this observation, a new active suppression method was proposed and tested numerically.

According to calculations, it should reduce the original modulation amplitude by a factor of two. The successful experimental implementation of the method will be described in a companion paper submitted to this journal [START_REF] Pan | Active suppression of temperature oscillation from a pulse tube cryocooler in a cryogen-free cryostat: Part 2. Experimental realization[END_REF].

Figure 1 .

 1 Figure 1. a). Schematic diagram of the experimental system b). Schematic diagram of the PI temperature control feedback loop. PTC: Pulse-Tube Cryocooler. The labels T 2 and T 5 refer to

  shows the structural diagram of the main components studied in this work. A flexible thermal-link was used to connect the second cold end of PTC and the second flange. The heat capacity of the flange and the contact resistances of the thermal link provide passive damping of the oscillation from the PTC. Despite this, the temperature of the second flange still exhibits an oscillation with a peak-to-peak amplitude of several millikelvin. Moreover, these thermal oscillations can diffuse into the pressure tube and pressure vessel and thereby degrade the stability of pressure regulation too 1 . To regulate the temperature of the second flange, a heater and two calibrated thermometers (Lakeshore Cernox model CX1050-CU-HT-1.4L 2 ) were used.

Figure 2 a

 2 Figure 2 a). Actual temperature control system b). Simplified representation used to model it.

Figure 3 .

 3 Figure 3. Step responses of a) the flange and b) the PTC second cold end temperatures, T 2 and T 5 respectively.

Figure 5 Figure 6 .

 56 Figure 5 Simulation model written in MATLAB Simulink software

Figure 7 .

 7 Figure 7. Simulation results with different PI parameters (proportional gain Kp and integral gain I) showing temperature evolution towards equilibrium.

Figures 7 and 8

 8 Figures7 and 8show the results obtained using the present simulation model. One observes that the overshoot value and stable time changed with different PI parameters.Because the maximum current was set at 100 mA in the simulation, a larger proportional gain Kp made the temperature reach its stable state more quickly and with a smaller overshoot value. By contrast, a larger integral coefficient I caused a larger overshoot value but had little effect on the stablisation time. On the other hand, the PI parameters have almost no effect on the temperature oscillation amplitude (the amplitude of temperature oscillation changed by only 2% at most), which means the oscillation cannot be actively suppressed using traditional PI feedback. If in the simulation, temperatures appear to take a little longer to reach steady state than in the experiment, the final temperature oscillation amplitudes match experimental results well. The difference in stabilisation time might be caused by the changing of thermal diffusivity with temperature. Because the transfer function method is a 1D simulation, it is assumed that the whole system has a uniform temperature. However, in the real 3D experiment, the flange temperature shows some spatial variation. When the temperature changes from one value to another, even if the temperature of thermometer (located near the heater) has changed to that of the set point, it probably takes longer for the temperature to vary at a more distant location. Consequently, the experimental temperatures reach stability more quickly.

Figure 8 .

 8 Figure 8. Simulation results with different PI parameters: temperature oscillations around the set point.

Figure 10

 10 Figure 10 Simulation results for active suppression for eight different phase angles from 0 to 7/4. The oscillation amplitude is minimized for a phase of between 3/4 and .

The microwave resonator for SPRIGT is housed within a pressure vessel, the latter connected to a pressure control system at room temperature via a long tube. Wherever this tube passes through a flange, a thermal-link

Acknowledgments

This work was supported by the National Key R&D Program of China (Grant No. 2016YFE0204200), the National Natural Science Foundation of China (Grant No. 51627809), the International Partnership Program of the Chinese Academy of Sciences (Grant No. 1A1111KYSB20160017) and the European Metrology Research Programme (EMRP) project :Real-K (No. 18SIB02). Changzhao Pan was supported by funding provided by an H2020 Marie Skłodowska Curie Individual Fellowship-2018 (834024).


Changzhao Pan

Jiangfeng Hu

Haiyang Zhang

Yaonan Song

Dongxu Han

Wenjing Liu

Hui Chen

Mark Plimmer

Fernando Sparasci

Ercang Luo

Bo Gao
email: bgao@mail.ipc.ac.cn

Laurent Pitre

Active suppression of temperature oscillation from a pulse-tube cryocooler in a cryogen-free cryostat: Part 2. Experimental realization

Keywords: Pulse tube cryocooler, Cryogen-free cryostat, Active suppression method, Temperature oscillation

published or not. The documents may come

Active suppression of temperature oscillation from a pulse-tube cryocooler in a cryogen-free cryostat: Part 2.

Experimental realization

Introduction

A cryogen-free cryostat cooled by a closed cycle cryocooler, such as a Gifford-McMahon (GM) or GM type pulse tube cryocooler (GM-PTC), can provide an uninterrupted long-term low temperature operating environment (from 3 K-300 K). Its intrinsic temperature oscillation, however, limits its application in experiments requiring high thermal stability at low temperature (especially below 77 K).Thus far, many researchers have made efforts to reduce this temperature oscillation, using the heat-capacity method [START_REF] Li | Temperature Stabilization on Cold Stage of 4 K GM Cryocooler in Cryocoolers 9[END_REF][START_REF] Okidono | Temperature oscillation suppression of GM cryocooler[END_REF][START_REF] Webber | Cool-down acceleration of GM cryocoolers with thermal oscillations passively damped by helium[END_REF][START_REF] Fluhr | A low power cryocooled autonomous ultra-stable oscillator[END_REF][START_REF] Huang | Experimental investigation on sub-miliKelvin temperature control at liquid hydrogen temperatures[END_REF][START_REF] Allweins | Damping of intrinsic temperature oscillations in a 4 K pulse tube cooler by means of rare earth plates[END_REF][START_REF] Shen | Performance of superconducting nanowire single photon detection system with different temperature variation[END_REF], the thermalresistance method [START_REF] Nakamura | Reduction of temperature fluctuation within low temperature region using a cryocooler[END_REF][START_REF] Dong | A new cryostat for precise temperature control[END_REF][START_REF] Dubuis | Sub-millikelvin stabilization of a closed cycle cryocooler[END_REF] and the heat-switch method [START_REF] Gao | Chinese SPRIGT realizes high temperature stability in the range of 5-25 K[END_REF][START_REF] Gao | Realization of an ultra-high precision temperature control in a cryogen-free cryostat[END_REF][START_REF] Chen | Thermal response characteristics of a SPRIGT primary thermometry system[END_REF]. However, to the best of our knowledge, no one has yet used active suppression.

Recently, we developed a simulation model using the thermal response characteristics of a cryogen-free cryostat [START_REF] Pan | Active suppression of temperature oscillation from a pulse-tube cryocooler in a cryogen-free cryostat: Part 1. Simulation modelling from thermal response characteristics[END_REF]. It revealed that PI feedback alone cannot remove the unwanted temperature modulation. In the same article, we presented a numerical simulation for a novel active stabilization scheme, the results of which were encouraging. Here we describe its experimental implementation and results obtained. The numerical values used in the theoretical companion paper [START_REF] Pan | Active suppression of temperature oscillation from a pulse-tube cryocooler in a cryogen-free cryostat: Part 1. Simulation modelling from thermal response characteristics[END_REF] relate to a cryostat installed at the Technical Institute of Physics and Chemistry of the Chinese Academy of Sciences (TIPC-CAS). For practical reasons, the method was implemented experimentally at LCM-LNE-Cnam in France. The present article describes that experiment. The general results obtained are applicable to both cryostats and others elsewhere.

The remainder of the paper is structured as follows. First we present the experimental system and control method. Thereafter, the suppression results and influence factors are discussed. Finally, the current limitation and possible improvements of the method are outlined.

Apparatus and active control method

In this section we describe the cryogenic apparatus and how active suppression of the intrinsic thermal modulation was implemented.

Experimental system

Figure 1 shows a schematic diagram of cryostat in the experimental system. This cryostat was cooled by a commercial 4K GM-PTC (Cryomech PT405) which can supply about 0.5 W of cooling power at 4.2 K and 25 W at 65 K. To obtain a lower and more stable working temperature than that achievable with the bare cooler, the second-stage cold head and second flange were shielded by a radiation shield on the first stage. In addition, the second flange was connected to the second stage cold head using six soft thermal-links 1 . The heater (six Minco Polyimide Thermofoil heaters wired in series, total resistance about 650 Ω at room temperature) was fixed on the rods between the thermal-link and the second flange. Three calibrated negative temperature coefficient thermometers (Lakeshore Cernox 1050-CD) were used to measure the temperatures in the cryostat, namely one on the second stage cold head and two on the second flange, as shown in figure 1. In the experiment, the thermometer on the second stage cold head was used to monitor the original temperature oscillation, while that on the second flange was used to regulate and reduce it. The resistances of all the thermometers were measured using both a digital multimeter (DMM) (Keithley 2002) and an analog-to-digital (A-to-D) interface module (National Instruments NI-9219). The DMM can measure resistance more accurately, but for 7.5 digit resolution, its minimum sampling time is a lengthy 75 ms. By contrast, the sampling time of the A-to-D interface was a mere10 ms but its 0.5 mA fixed excitation current is somewhat high, which causes more self-heating than with the DMM (current 96 µA). To benefit from the advantages of both devices, the second flange thermometer resistance was measured using the DMM while that of the sensor on the second stage cold head was measured via the A-to-D interface. A power supply (200 mA, 30 V) provided the heater current. Its response time is less than 10 ms over the whole range (0-200 mA), which is short enough to generate a sinusoidal heating power to balance the temperature oscillation caused by the cryocooler cycle at 1.41 Hz. A detailed comparison of results is presented in the next section.

Implementation Strategy

As proposed in the companion paper [START_REF] Pan | Active suppression of temperature oscillation from a pulse-tube cryocooler in a cryogen-free cryostat: Part 1. Simulation modelling from thermal response characteristics[END_REF], active suppression is performed by adding an appropriate oscillating heat source to the heat generated by a proportional-integral (PI) controller. To implement the method, however, two practical problems needed to be solved.

Because the oscillating temperature would either increase the value above or decrease it below its mean value in one cycle, we also needed to generate a corresponding "negative" or positive oscillating power to balance this oscillation. The first problem was thus how to avoid a negative value generated by PI feedback, which would produce no response from the heater (since a heater always supplies a positive amount of heat). The second problem was how to generate an oscillating power with a well-defined phase lag with respect to that of the temperature oscillation. Because the temperature oscillation propagates through the thermallink, contact thermal resistance and heat capacity components, its phase undergoes some changes by the time it reaches the location of the heater. Thus, there should exist a suitable phase for balancing power oscillations. To solve the first problem, the strategy is always to set the mean value of this oscillating heat to be greater than zero. The larger mean value set, the larger one can set the corresponding amplitude of oscillating heat. This means there is always DC heating on the flange, which raises the lowest operating temperature of the cryostat (in our case, we increased the lowest temperature by around 1.4 K). The heating generated by the heater can be split into two parts, as shown in figure 2. The DC component generated by the PI controller regulates the average temperature around the set point while the AC component provides active suppression of the temperature modulation. We first use PI feedback to regulate the temperature of the second flange from the lowest temperature (unregulated temperature around 5.6 K) up to 7 K. This heating power is relatively stable and unmodulated. The resulting temperature oscillates around the set point since, as already mentioned, PI feedback is ineffective for removing the spurious modulation. Thereafter, based on the temperature oscillation, the AC heating component is supplied using the same heater. Provided the heating power has a suitable amplitude and phase lag (see below) the temperature oscillation will be reduced. There are two ways to solve the second problem. The first is to measure the phase of temperature in real time and simultaneously synthesize a phase-shifted heating wave. This approach was tested using the function generator in LabVIEW software. However, it is relatively difficult to realize in practice, because it requires data be acquired and analyzed and the heat wave generated all very quickly (here in less than 0.1 s). Another, easier way is shown in figure 3. Here the temperature is measured discontinuously, n times per cycle, with a uniform sampling time (80 ms in this work). The temperatures are stored as temporary variables in the LabVIEW software. In the experiment, we chose the i th storage variable as a reference to generate an oscillating heating power (we only use the i th temperature value to subtract its mean temperature then multiply it by a factor Kp). This signal is then supplied to the heater to generate a heating power with a phase lag of (360/n)×(i -1) degrees. In the experiment, we also needed to find the optimal phase lag (i.e. find the optimal value of i) and the amplification factor Kp.

Experimental results and discussion

In this section, the factors influencing the active suppression will be discussed. These include mainly the thermometry, the phase-delay angle, the extra thermal-noise caused by the method and the different operating temperatures.

Temperature measurement

In this section, we describe first how the measured temperature is split into AC and DC components. Next we outline the ways to measure reference temperature and the choice of the best method. Finally, the active sinusoidal heating to suppress temperature oscillation is presented.

DC and AC temperature components

In the experiment, two thermometers were used to measure the temperature on the second flange, one on the left, the other on the right (figure 1). The left part of figure 4 shows the temperature measurements with no digital filter. In this case, both thermometers show almost the same temperature oscillation albeit with a slightly different mean value. To separate the temperature oscillation into DC and AC components, the output of the thermometer on the right-hand side was processed with a moving digital filter (filter count: 10); the results are shown on the right side of figure 4. This signal was then used to calculate the DC heating component used for PI feedback. In addition to this DC heating, a suitable AC heating component is added and the sum of these two components is guaranteed to be a positive value, which is finally provided by the heater. At the same time, the unfiltered thermometer output is used to record and analyze the temperature oscillation.

Reference temperature

Since the oscillation heating power is generated with respect to a reference temperature, it is very important that the measured value of the latter be stable. As mentioned above, both a digital multimeter (DMM) and an A-to-D interface were be used to measure it. Figure 5 shows the outputs of the two devices (the temperature on the second stage cold head), which were measured when the temperature was regulated at 7 K (for the second flange). The upper part in figure 5 shows the results measured with the DMM (7.5-digit resolution, sampling time 80 ms). It shows some instability occurs during the measurement, which might be due to the unstable sampling rate of the DMM. If this unstable oscillation were superimposed on the reference temperature, the active sinusoidal heating would be also unstable and, while reducing the amplitude of the original oscillation, would add some other noise. The lower trace in figure 5 shows the results measured using the A-to-D interface (sampling time 40 ms, recording time 80 ms). Because of greater self-heating (excitation current 0.5 mA), the temperature is higher than the value measured by the DMM (excitation current only 96 μA). However, its measured value is relatively more stable. Because this temperature was only used as reference to generate the oscillating heating power, its absolute value was unimportant. Its stability, however, was crucial, so in later experiments, the reference temperature of the second stage was always measured using the A-to-D interface.

Active sinusoidal heating

Figure 6 shows the active oscillating heating power supplied during regulation. Its value was calculated using the reference temperature and multiplication factor Kp = 35 000.

Different phase delays between the oscillating heating power and the reference temperature oscillation were tested. One can see the waveform of this oscillating heating power is slightly different from that of the reference temperature. This is because the heating was the sum of DC and AC components. The DC component generated by PID controller also had some effect and changed the waveform of the final heating.

Optimizing the phase delay

In the experiment, the operating frequency of the GM-PTC was 1.41 Hz (the intrinsic frequency), but the sampling time in the PI controller was set to 75 ms (close to the lower limit of the DMM in 7.5-digit resolution mode), which meant the number n was about 11 (figure 3). This is not accurate enough, because during the optimization process the phase lag changed by at least 36°. To increase the accuracy of optimization, n was set to 21, which required the sampling time to be 35.5 ms. In the experiment, however, we did not alter the sampling time but rather calculated its value between two steps using linear interpolation. Thus, we needed to find the best phase delay among the 21 angles. show the standard deviation of temperature oscillation for each phase lag. One sees that, as expected, a sinusoidally modulated heating power can either suppress or amplify the original temperature oscillation. From the view of standard deviation, the optimal phase lag was about 223°, for which the temperature oscillation was reduced from 5.2 mK to 3.3 mK. Figure 8. Left: Relationship between the temperatures on the second flange and second-stage cold end2 (an example for phase lag of 223°) . Right: Slopes for different phase lags Besides using the standard deviation to evaluate the effectiveness of oscillation suppression, it can also be evaluated via the relationship between the temperatures on the second flange and the second stage. If the phase between the temperature on the flange and on the second stage cold head is fixed, the two temperatures should be linearly correlated, in which case all the data should lie on a straight line the slope of which could be used to quantify the efficiency of the suppression method. Figure 8 gives an example for a phase lag of 223°, the X-axis corresponds to the temperature of second stage and the Y-axis to the temperature of the second flange. The relationship between these two temperatures was fitted to a straight line. Because the amplitude of the temperature oscillation on the second stage cold head was almost unchanged (along the X-axis, ), a smaller slope of this line corresponds to more effective oscillation suppression. The right half of figure 8 shows the slopes for different phase lags. As far as standard deviations are concerned, the smallest slope appears for a phase lag of 171°. This difference indicates that some other changes occur during the process of oscillation suppression, which will be discussed in next section. After optimization of the phase delay, a long-term measurement was performed to check temperature stability. Figure 9 shows the results for 10 hours of continuous thermometry. The left-hand side shows the results obtained using traditional PI control and the right-hand side those using active control. There is a visible improvement, which highlights the effectiveness of the latter method. wave but also makes its mean temperature unstable. When the amplification factor Kp is increased, the suppression effect increases (smaller oscillation amplitude) but the frequency of temperature oscillation is modified (i.e. it falls). Figure 12 shows a Fourier analysis of temperature oscillation before and after the active oscillation suppression, revealing the appearance of a lower frequency temperature wave in the latter case. This low-frequency thermal noise adds extra instability to the system, thereby hindering the effectiveness of active suppression. As discussed above, this thermal noise was mainly caused by the instability of the mean temperature (DC component). Thus, improving the stability of the reference temperature measurement and PID controller might reduce it.

Associated thermal-noise

Results for a higher temperature (9 K)

To demonstrate the active suppression method is applicable at temperatures other than 7 K, it was also tested at a higher temperature, namely 9 K. Here temperature oscillations, though a little smaller than at 7 K3 , still subsist and need to be counterbalanced. Figure 13 shows the corresponding experimental results. Three different phase delay angles were measured for different amplification factors Kp. One sees this active method attenuates the temperature oscillation significantly (the standard deviation is reduced by 1.5 mK). One also sees that the optimal phase lag is about 223° and that the suppression improves with increasing values of the proportional gain Kp.

Figure 13. The effect of oscillation suppression at 9 K for three different phase lags

Conclusion

A new active control method to suppress the temperature oscillation from a 4K GM pulse tube cryocooler has been tested experimentally. It involves the active generation of an oscillating heat source to compensate the periodically varying temperature. To implement the method, a reference temperature was stored and used to generate a sinusoidally varying heat source with a well-defined phase lag. The results showed there exists an optimal phase lag for which the standard deviation of the oscillation is reduced by 30% compared with that obtained using traditional PI control. At the same time, however, increasing the proportional gain of the oscillating heating power generates additional, lower frequency thermal-noise (in addition to a second harmonic component) which ultimately limits the effectiveness of the method. This limitation could be reduced by using a more stable reference temperature measurement and PI controller. Nevertheless, we have demonstrated the feasibility of active oscillation suppression method and recommend its use to improve the temperature stability in all cryogen-free cryostats.

Figure 1 .

 1 Figure 1. The schematic diagram of experimental system. Only two of the six copper rods are

Figure 2 .

 2 Figure 2. Strategy to produce "negative" current in the experiment. The DC component is

Figure 3 .

 3 Figure 3. Experimental strategy to implement a phase-delayed heat source.

Figure 4 .

 4 Figure 4. Measured temperature on the second flange with and without digital filtering. The

Figure 5 .

 5 Figure 5. Stability of cryocooler second-stage temperature measured by two instruments.

Figure 6 .

 6 Figure 6. The oscillation heating power in the regulation. (⁕) Second-stage cold head

Figure 7 .

 7 Figure 7. The effect of oscillation suppression with different phase lags. Left figure: the red

Figure 9 .

 9 Figure 9. Long-term stability of active oscillation suppression. The horizontal lines indicate

Figure 10 .

 10 Figure 10. The standard deviation of temperature on the second stage and the standard

Figure 11 Figure 12

 1112 Figure 11 Transient temperature oscillation with and without active suppression for different

Material: Cu-OFE(Cu-c2) copper braid, length 62 mm, cross-sectional area 30 mm

.

The self-heating of the temperature sensor on the second stage cold end by the high excitation current of the Ato-D interface (see

section 3.1.2) results in a seemingly higher temperature than that of the second flange. If the temperatures of the second stage and second flange were linearly correlated, all the data would lie on a straight line. Here, even though the correlation of those two temperatures is slightly nonlinear we still apply a straightline fit for simplicity and use the slope to estimate the efficiency of the suppression method.

The heat-capacity of the material used for the thermal link (copper) increases with temperature, which helps to damp the temperature oscillation from the cryocooler. At a higher temperature, therefore, the amplitude of temperature oscillation should be smaller.

Acknowledgments

This work was supported by the National Key R&D Program of China (Grant No. 2016YFE0204200), the National Natural Science Foundation of China (Grant No. 51627809), the International Partnership Program of the Chinese Academy of Sciences (Grant No. 1A1111KYSB20160017) and the European Metrology Research Programme (EMRP) project18SIB02 "Real-K" . Changzhao Pan was supported by funding provided by a H2020

Marie Skłodowska Curie Individual Fellowship -2018 (834024). The authors also wish to thank Nicola Chiodo and Pascal Gambette for their help in setting up the apparatus.


Edouard Guégain
email: edouard.guegain@univ-lille.fr

Amir Taherkordi
email: amirhost@ifi.uio.no

Clément Quinton
email: clement.quinton@univ-lille.fr

The ICO Tool Suite: Optimizing Highly Configurable Systems

Dealing with large configuration spaces is a complex task for developers, especially when manually searching for the configuration that best suits some given requirements. In this paper, we present the ICO tool suite, a set of software components designed to help developers optimize their configuration w.r.t a set of performance indicators. This tool suite can be used through a command-line client or an Eclipse plugin, while the loose coupling with its core library make it flexible-enough to be integrated into existing tools. ICO is assessed by evaluating the time it saves to users over a manual optimization.

I. INTRODUCTION

Our society relies on numerous software systems that exhibit a large set of functionalities, options and parameters. This variability aims at addressing various needs of our daily lives and satisfy as many requirements as possible. That is, modern software systems can exhibit millions of configurations [START_REF] Martin | Transfer learning across variants and versions : The case of linux kernel size[END_REF], i.e., a large configuration space. As a developer, managing such highly configurable systems comes with the challenges of (i) dealing with the huge number of configurations and (ii) providing the best possible software to end-users.

A practical way to encode large configuration spaces is by means of feature models [START_REF] Lienhardt | Lazy product discovery in huge configuration spaces[END_REF]. A feature model, such as the one in Figure 2a, is a tree of hierarchically organized features which describes -with the help of cross-tree constraints expressing inter-feature dependencies -the possible and allowed feature combinations, i.e., the software configurations. Automated analysis of feature models provides support for checking the validity of a configuration, in particular regarding the set of features developers decide to include or exclude from such configurations [START_REF] Benavides | Automated analysis of feature models 20 years later: A literature review[END_REF].

Although the configuration satisfying the developer's requirements (i.e., containing all the wanted features) may be valid, it is not possible to ensure that this configuration is optimal regarding a defined performance indicator. That is, it is not possible to manually ensure that, among millions of other valid configurations, the current configuration performs better, e.g., in terms of memory footprint, response time, or energy consumption.

In this paper, we thus propose the Iterative Configuration Optimizer (ICO) tool suite. ICO provides developers with an automated support for finding configurations that comply with their functional requirements (i.e., features that have to be included or excluded) while efficiently complying with some given performance indicators.

II. WHY ICO?

Managing software variability and performance is a difficult task: configuration spaces can be large and manual inspection of the performance of each configuration is not a viable option. There has been an effort from the software variability community to address these issues by providing various tool supports [START_REF] Rodas-Silva | Selection of software product line implementation components using recommender systems: An application to wordpress[END_REF]- [START_REF] Siegmund | Spl conqueror: Toward optimization of non-functional properties in software product lines[END_REF]. However such tools usually exhibit one of the two following drawbacks:

• Ad-hoc mechanisms and algorithms, requiring an upfront development investment to be used in different contexts or with different indicators [START_REF] Rodas-Silva | Selection of software product line implementation components using recommender systems: An application to wordpress[END_REF]- [START_REF] Lian | An approach for optimized feature selection in large-scale software product lines[END_REF]; • Large all-in-one tools, built with the intent of dealing with any project, but requiring (i) to go through a steep learning curve and (ii) to deal with a lot of technical requirements [START_REF] Siegmund | Spl conqueror: Toward optimization of non-functional properties in software product lines[END_REF].

Both industrial and academic practitioners and researchers are thus missing a simple, turnkey solution to manage and optimize their software configurations. To address the limitations previously described, we thus propose a generic, easy-to-use, and lightweight tool suite, ICO.

ICO is built upon the approach presented in [START_REF] Édouard Guégain | On reducing the energy consumption of software product lines[END_REF]. This approach was designed to compute the energy consumption of features and aims at optimizing the energy consumption of configurations containing such features. Specifically, our approach aims at maximizing performance gains while minimizing changes to the existing configuration [START_REF] Guégain | Configuration optimization with limited functional impact[END_REF], contrary to existing optimization approaches that tend to search for the best possible configuration.

In particular, the scope of ICO is to optimize a configurable system regarding any functional or non-functional performance indicator as long as its configuration space is encoded as a feature model. Moreover, ICO supports multiobjective optimization with performances composed of several indicators, e.g., energy consumption, and memory footprint. In the remainder of the paper, performance indicators is used as a placeholder referring to either a unique indicator or a composition of indicators. Finally, while the approach described in [START_REF] Édouard Guégain | On reducing the energy consumption of software product lines[END_REF] is tested against one use case, ICO is domain agnostic and can be used with any configurable software represented by a feature model.

III. THE ICO TOOL SUITE

The ICO tool suite 1 is a set of software components interacting together to help developers optimize the configurationw.r.t performance indicators -of the software being developed. The ICO tool suite is composed of three tools:

• ICOLIB, a library that performs the optimizations;

• ICOCLI, a command-line tool to interact with ICOLIB;

• ICOPLUGIN, an Eclipse plugin to interact with ICOLIB. Figure 1 presents the architecture of ICO. ICO executes the user's instructions regarding (i) the configuration to optimize, (ii) the feature model encoding the configuration space of the software, and (iii) its related performance data files.

The architecture of the tool suite is flexible enough to be extended by any front-end components interacting with ICOLIB. These components take as input performance data as CSV files. Performance files can describe the performance of individual features as well as the performance of pairs of features, in order to take feature interactions into account [START_REF] Siegmund | Predicting performance via automated feature-interaction detection[END_REF], [START_REF] Calder | Feature interaction detection by pairwise analysis of ltl properties-a case study[END_REF]. Such data can be a direct assessment of the feature's performances, e.g., the number of lines of code, or an evaluation of their impact on configurations' performances, e.g., time or energy. Through either ICOCLI or ICOPLUGIN, the user's instructions are sent to ICOLIB which in turn relies on the FeatureIDE library [START_REF] Thüm | Featureide: An extensible framework for feature-oriented software development[END_REF] to perform an automated analysis of the configurations. In particular, the library checks the validity of the resulting optimized configurations returned by ICOLIB. Relying on this library also makes ICO more versatile, as it provides support for a wide range of feature model and configuration file formats, such as CNF and DIMACS for feature models or XML and Equation for configurations.

Based on the user's inputs (e.g., features that have to be included or excluded for functional reasons), ICOLIB provides suggestions to improve the current configuration by maximizing its performance indicators. These suggestions can be the addition or removal of a feature, or a substitution of a feature with another one. They are provided both for a completed configuration, or dynamically while configuring 1 The source code is available at https://gitlab.inria.fr/ico by suggesting which feature should be added next to make the configuration both valid and more efficient. As such, ICO can thus be considered both an optimizer and a recommender system [START_REF] Pereira | A feature-based personalized recommender system for product-line configuration[END_REF], [START_REF] Pereira | A contextaware recommender system for extended software product line configurations[END_REF].

A. ICOlib

ICOLIB is the central component of the tool suite. It provides a facade exposing the API handling all operations that can be performed with ICO: load a project, display current performances, manage constraints (i.e., the lists of features that have to be included or excluded from the configuration), list or apply improvement suggestions and save the new configuration. While managing constraints and listing/applying suggestions are core functionalities of ICO, the processes of loading, validating, and saving configuration are delegated to the FeatureIDE library. Relying on the strategy pattern, ICOLIB is provided with two optimization approaches, implementing respectively the feature-wise and pairwise approaches from [START_REF] Édouard Guégain | On reducing the energy consumption of software product lines[END_REF]. Thanks to this architectural design, new optimization algorithms can seamlessly be integrated to ICO.

The time required to generate suggestions is highly dependent on the structure of the feature model, especially on the number of features and cross-tree constraints (and their complexity). However, as suggestions are independent of each other, their generation can be parallelized. ICOLIB current Java implementation relies on Stream.parallelStream() for such a task.

Two ICOLIB clients are provided: the first one as an Eclipse Plugin (ICOPLUGIN), and the second one as a command line tool (ICOCLI).

B. ICOPlugin

ICOPLUGIN is an Eclipse2 plugin developed to interact with ICOLIB and implemented as an Eclipse view. Whenever a configuration file is selected by the user, the ICOPLUGIN view displays the five following tabs:

• Features, to list and apply feature-based suggestions;

• Interactions, to list and apply interaction-based suggestions; • Constraints, to manage the exclusion and inclusion of features; • Details, to monitor the current configuration performances; • Logs, to monitor ICOLIB execution logs. Both Features and Interactions suggestion tabs give access to the Apply all suggestions and Find suggestions functionalities of their respective mode. When listed, each suggestion exhibits an Apply button to let the developer perform the proposed suggestion. Figure 2 shows the Interactions tab of ICOPLUGIN. The configuration to optimize belongs to the configuration space encoded by the feature model presented in Figure 2a. Figure 2b is a screenshot of the Interactions tab of ICOPLUGIN providing the user with a list of suggestions. The

C. ICOCLI

Another means to interact with ICOLIB is by using ICO-CLI, a lightweight command line interface program. ICOCLI proposes two modes: the single-line mode, where instructions are given as parameters, and the interactive mode where instructions are given sequentially by the developer in a shell. It is also possible to mix the two modes by giving some instructions as parameters (e.g., the project path), and then the remaining instructions in the shell. The single-line mode is relevant for automation (e.g., for CI/CD or in an automated process) or to perform a single task, whereas the interactive mode provides a more human-friendly interaction with the tool suite, enabling an in-depth exploration of the variability of the software and its performances, e.g., comparing the performance of features and interactions or the impact of constraints on suggestions.

Figure 3 presents the same set of tasks computed in the two different modes. The developer loads the software project ./project and the configuration file ./project/default.xml respectively with parameters -P and -C. Then, features feat1 and feat2 are added to the exclusion list and feature feat3 is added to the inclusion list using parameters -e and -i in single-line mode and the exclude/include commands in interactive mode. All the best feature-related suggestions are then applied with parameters -F -A in single-line mode or by using the apply -F -A command in interactive mode. Finally the configuration ./default.xml is overwritten by -S in single-line mode or save in interactive mode. The developer quits the program with exit in interactive and mixed modes, while in singleline mode the -N parameter prevents the shell from opening.

ICOCLI also offers the ability to perform arbitrary modifications to the configurations, which could otherwise be done through FeatureIDE in ICOPLUGIN. IV. EVALUATION In our previous work [START_REF] Édouard Guégain | On reducing the energy consumption of software product lines[END_REF], we conducted an empirical evaluation to assess the accuracy and effectiveness of our optimization algorithms when optimizing the energy consumption of the highly configurable system RobocodeSPL. In this paper, to assess ICO, which implements this algorithm, we extend that previous evaluation with additional experiments on the same configurable system, Robocode. This system is composed of 92 features which be derived into 1.3×10 6 configurations. The observed performance indicator is the energy consumption of the configurations.

We conducted a survey to determine how developers could benefit from using ICO in their everyday work when dealing with a large configuration space and trying to find the best suitable configuration with respect to their functional (i.e., features to be included or excluded) and non-functional (i.e., performance indicators) requirements. Precisely, 15 software developers, with 5 to 20 years of professional experience, were asked to perform the same experiment with and without ICO. We provided the participants with a configuration file and the following question: "How to improve the configuration of this software?". The experiment consists in comparing the time saved by optimizing a configuration with ICO instead of manually. Specifically, the users were given two tasks: improving a specific configuration a first time w.r.t feature performances and a second time w.r.t interaction performances. They were asked to perform these two tasks by relying on a spreadsheet containing the performance data, and then by using ICOPLUGIN.

The participants received an explanation of the usage of the spreadsheet and ICOPLUGIN, and they performed the tasks a first time on a toy configuration before the actual evaluation. Table I presents the results of this evaluation. Regarding the feature-wise optimization, the average time to perform the experiment was 131.9 seconds without ICO and 14,3 seconds with ICO, resulting in an 89% time reduction. As of the interaction-wise optimization, the average time to perform the experiment was 164,7 seconds without ICO and 10,1 seconds with ICO, i.e., a 94% time reduction. The average time to perform the experiment without ICO increased between the feature-wise optimization and the interaction-wise one, as the latter is more complicated. Contrarily, it remained consistent when using ICO as both optimizations take the form of a similar task in ICOPLUGIN.

ICO thus offers substantial time savings on the optimization process, while requiring a very minimal learning step. Such results tend to confirm the relevance of ICO as an easily accessible optimization tool.

V. CONCLUSION

In this paper, we presented ICO, a tool suite designed to improve the performance of a configuration. Our approach extends our previous work [START_REF] Édouard Guégain | On reducing the energy consumption of software product lines[END_REF] and provides developers with suggestions to improve the performances of their configurations. We conducted a preliminary evaluation showing how ICO can be used in practice by developers to save time during the configuration and optimization of their software. As future work, we plan to develop a plugin to be integrated with IntelliJ IDEA to address a wider range of developers and we are considering improving the parallelization process (used for generating suggestions) by leveraging GPU with the CUDA framework [START_REF] Owens | Gpu computing[END_REF], in order to tackle larger feature models.

Fig. 1 :

 1 Fig. 1: The architecture of the ICO tool suite.

  (a) An excerpt of a feature model. (b) The interaction suggestion tab of ICOPLUGINwhile optimizing a configuration from the feature model.

Fig. 2 :

 2 Fig. 2: Usage of ICOPLUGIN

Listing 1 :Fig. 3 :

 13 Fig. 3: The two modes of ICOCLI.

TABLE I :

 I The time to optimize a configuration by the users.

https://www.eclipse.org/

Suggestions must be recomputed to avoid overwriting improvements e.g., with suggestions "replace A by B (+15%)" and "replace A by C (+10%)", applying all suggestions without recomputing them would replace A by B and then by C, which is suboptimal.