Chenggang Huang

Hui Wang
email: huiwang@dhu.edu.cn

Eric Lichtfouse

Yikai Tang

Hengxue Xiang

Experimental study of multilayer gradient copper foam effect on pool boiling heat transfer performance and gas-liquid behavior characteristics

Keywords:

The rapid growth of the internet of things has induced the integration of many microelectronic devices in physical objects, yet the generated heat decreases the performance and stability of microelectronic devices. Therefore, new materials such as gradient metal foams (GMFs) have been recently designed to improve heat transfer. In this paper, an experimental visualization setup was built to investigate the effect of the GMFs gradient layers number and the arrangement order on the pool boiling heat transfer performance. Results show that increasing the number of gradient layers enhances the heat transfer when the copper foam pore density is low. By contrast, at high pore density of 50 PPI, increasing layers hardly changes heat transfer. The bubbles dynamic behavior on the metal foams surface of with different gradient structures is also different. When bubbles detach upward, the temperature of the metal foam is lower, and the temperature gradient is higher. When bubbles detach sideward, the bubble escape is much shorter, and the bubble detachment frequency and size increase. Combined with the theoretical research, the metal foam gas-liquid flow heat transfer model were constructed. The advantages and disadvantages of GMFs with different structures and the applicable scenarios are analyzed.

Introduction

The integration of electronic components in physical objects is rapidly increasing the era of the internet of things. Nonetheless, the performance and stability of microelectronic devices are reducing due to the generation of high temperatures locally. Therefore, heat transfer performance in electronic equipment should be improved [START_REF] Cao | Experimental Study on the Enhancement of Flow and Boiling Heat Transfer in Copper Foam[END_REF]. Boiling heat transfer is an efficient mechanism for heat removal from a heated surface. Boiling heat transfer is classically improved by adjusting pressure and temperature [START_REF] Fan | Saturated pool boiling with HFE-7100 on a smooth copper surface under different pressures[END_REF], roughening the heating surface [START_REF] Armin | Effects of surface nanostructure and wettability on pool boiling: a molecular dynamics study[END_REF][START_REF] Robert | Pool boiling of water on surfaces with open microchannels[END_REF][START_REF] Kurihara | The effects of superheat and surface roughness on boiling coefficients[END_REF], increasing the heat transfer area [START_REF] Zhang | Influence of heating surface size on heat transfer performance of saturated pool boiling [J][END_REF], changing the surface wettability [START_REF] Zhou | Effects of micro-pin-fins on the bubble growth and movement of nucleate pool boiling on vertical surfaces[END_REF][START_REF] He | Study on Boiling Condensation Characteristics of Superhydrophilic Hydrophobic Composite Surface Based on LBM Method[END_REF][START_REF] Moha | Enhancement of pool boiling heat transfer performance using dilute cerium oxide/water nanofluid: an experimental investigation[END_REF][START_REF] Zhu | Influence of oil on nucleate pool boiling heat transfer of refrigerant on metal foam covers[END_REF][START_REF] Hyungdae | Effects of surface wettability on pool boiling process: dynamic and thermal behaviors of dry spots and relevant critical heat flux triggering mechanism[END_REF], and making a porous metal surface [START_REF] Hyungdae | Effects of surface wettability on pool boiling process: dynamic and thermal behaviors of dry spots and relevant critical heat flux triggering mechanism[END_REF][START_REF] An | Effects of thermal conductivity and wettability of porous materials on the boiling heat transfer[END_REF][START_REF] Mo | Enhanced pool boiling performance of a porous honeycomb copper surface with radial diameter gradient[END_REF][START_REF] Katarkar | Experimental study of pool boiling enhancement using a two-step electrodeposited Cu-GNPs nanocomposite porous surface with R-134a[END_REF]. Recently, metal foams [START_REF] Wang | Theoretical and experimental advances on heat transfer and flow characteristics of metal foams[END_REF] have allowed better boiling heat transfer due to their high pore density, thermal conductivity and specific surface area. Metal forms absorb and diffuse fluids better, thus enhancing boiling heat transfer [START_REF] Manetti | Pool boiling heat transfer of HFE-7100 on metal foams[END_REF]. Copper foams of low pore density, about 10-30 PPI, show higher heat transfer than high pore density foams, above 50 PPI [START_REF] Moghaddam | Pool Boiling of Water and FC-72 on Copper and Graphite Foams[END_REF][START_REF] Xu | Pool boiling heat transfer of ultra-light copper foam with open cells[END_REF][START_REF] Jia | Study on Pool Boiling Heat Transfer Enhancement with Copper Foams[END_REF][START_REF] Liu | Effects of different concentrations of Al2O3 nanoparticles and base fluid types on pool boiling heat transfer in copper foam with bottom condensed reflux[END_REF]. These studies show that heat transfer performance increases then decrease with pore density. The effect of metal foam thickness on the pool boiling heat transfer performance is similar to that of pore density, and the effect of different combinations of thickness and pore density varies greatly, and both parameters will instead inhibit the boiling heat transfer when they are too large [START_REF] Manetti | Effect of copper foam thickness on pool boiling heat transfer of HFE-7100[END_REF][START_REF] Calati | Water pool boiling in metal foams: from experimental results to a generalized model based on artificial neural network[END_REF].

The issue of the lower performance of boiling heat transfer at high pore density and thickness can be solved by using gradient metal foams, which are composites of two or more layers of metal foams with different pore densities. Indeed, GMFs enhanced heat transfer compared to the conventional open-celled uniform metal foam [START_REF] Xu | Experimental investigation on pool boiling heat transfer of gradient metal foams[END_REF][START_REF] Mou | Investigation on Pool Boiling Heat Transfer of Gradient structures[END_REF]. The gradient structure provided a reasonable path for escaping bubbles. An et al. came to the same conclusion and found that surface wettability significantly affects the GMFs [START_REF] An | Effects of thermal conductivity and wettability of porous materials on the boiling heat transfer[END_REF]. Zhang et al. found that sodium dodecyl sulfate enhanced the pool boiling heat transfer of gradient foam at most heat flux, while n-heptanol deteriorated the pool boiling heat transfer [START_REF] Zhang | Experimental investigation on pool boiling mechanism of the gradient metal foam[END_REF]. Yang et al. observed that a radial gradient structure had better capillary performance than a uniform gradient structure [START_REF] Yang | Preparation and Pool Boiling Performance of Gradient Porous Copper Structure[END_REF]. Concerning layers arrangement, Xu et al. found that reversing a foam layer position highly influences the heat transfer [START_REF] Xu | Experimental investigation on pool boiling mechanism of two-level gradient metal foams in deionized water, aqueous surfactant solutions and polymeric additive solutions[END_REF][START_REF] Xu | Investigation on pool boiling heat transfer of metal foam with gradient pore densities[END_REF][START_REF] Xu | Pool boiling investigation on gradient metal foams with double layers[END_REF]. The gradient structure bubble departure phenomenon was substantially attenuated as compared to the one-layer foam [START_REF] Zhou | Experimental study on boiling heat transfer of a self-rewetting fluid on copper foams with pore-density gradient structures[END_REF]. Huang et al. proposed three main ways for boiling bubbles to detach from the surface of gradient metal foams and found that adding self-wetting solutions significantly decreases heat transfer performance [START_REF] Huang | Investigation of bubble behavior in gradient porous media under pool boiling conditions[END_REF]. Wang et al. found that the boiling heat transfer performance of the metal foam cell with different gradient layer thicknesses was also different [START_REF] Wang | Experimental Study on Pool Boiling Heat Transfer Characteristics of Surface Modified Porous Copper[END_REF]. Mao et al. came to a similar conclusion [START_REF] Mao | The heat transfer characteristics of open-cell metal foams in pool boiling[END_REF]. Zhang et al. found that the GMFs can show superior pool boiling heat transfer performance in all heat flow density and pressure ranges [START_REF] Zhang | Experimental Study on Boiling Heat Transfer of Different Structural Parameter Copper Foams under Different Pressures[END_REF].

Overall, GMFs show better heat transfer performance than singlelayer metal foams. However, most studies on gradient structure have focused on two layers of metal foams, and there is few knowledge on multilayers. Little is also known on the movement of the external liquid and on the detachment of boiling bubbles, which control heat transfer. Therefore, here we studied the boiling heat transfer of copper foam in various gradient layers and structures using a visualization experimental setup. We investigated the behavior of boiling bubbles on the gradient copper foam surface. The gradient copper foam enhanced heat transfer mechanisms were investigated from the perspectives of the dynamic bubbles behavior and changes of macroscopic gas-liquid flow directions. The metal foams heat transfer models with different gas-liquid flow directions were constructed.

Experimental

Materials

We studied the boiling heat transfer of gradient metal foams, which are composites made of several layers of uniform copper foam of various pore density and thickness (Table 1, Fig. 1). Copper foams were purchased from Kunshan Guangjiayuanxin Material Company. GMFs with gradually increasing pore size from bottom to top are named positive gradient metal foams (PGMFs), e.g. 20-30-40-50 PPI, whereas other arrangements refer to hybrid gradient metal foams (HGMFs).

In this paper, in order to ignore the influence of other factors on the pool boiling heat transfer performance as much as possible, four kinds of copper foam with the same thickness of 20-30-40-50 PPI were selected and welded into different arrangements of gradient copper foam. From equation [START_REF] He | Study on Boiling Condensation Characteristics of Superhydrophilic Hydrophobic Composite Surface Based on LBM Method[END_REF], we can see that the total heat transfer area of all GMFs was the same.

Analysis of the boiling heat transfer

Fig. 2 shows the system used to study the boiling heat transfer, including a heating system, a glass chamber, a data acquisition system, and a power supply system. The heating system comprises three 150 W dry-fired heating rods, auxiliary heaters, regulators, and power meters. The size of the glass chamber is 100×100 × 250 mm (L × W × H), and the outer wall of the chamber is composed of 4 pieces of 10 mm thick Plexiglas. The bottom plate is a Teflon plate with a small square hole of 21 mm side length in the center of the bottom plate for the heating copper block to pass through the bottom plate and contact the test medium (deionized water). The data acquisition system consists of a data acquisition instrument, a computer, K-type thermocouples, and a high-definition camera. The test is arranged with 6 thermocouples, where T 1 ~T5 are placed on the heating copper block with 6 mm spacing between two adjacent thermocouples, as shown in Fig. 3. T 6 is placed in the chamber to test the working medium's saturation temperature T s .

It is necessary to used welding operations to ensure a tight connection between the metal foam and the heated copper block before the test starts. At this point, the thermal resistance of the solder layer is ignored in the data analysis because the thickness of the solder layer (<0.1 mm) is much lower than the thickness of the metal foam. The surface after soldering is shown in Fig. 4. The procedure is as follows: 1) the auxiliary heater is turned on to heat the test work medium to boiling for 20-30 min to ensure that the non-condensing gas dissolved in the test work medium is removed; then the auxiliary heater is turned off, allowing to cool for 2-3 h. 2) The auxiliary heater is turned on to heat and maintain the boiling state of the work medium in the cavity, then the heating rod is turned on at 10 W.

3) The temperature recorder is turned on. When the temperature fluctuation is lower than 0.1 K/30 min, we considered that the boiling pool has reached a stable state and we start to record the thermocouple temperature. 4) A camera takes pictures of the boiling work medium in the chamber. Then we increase the input power by + 5 W and repeat the previous steps. This is done until reaching 100 W. The heat flux of the pool boiling on the surface of copper foam is calculated according to the data derived from a computer. The change of heat flux with the increase of superheat can reflect the pool boiling heat transfer performance of copper foam, and the larger the heat flux, the stronger the pool boiling heat transfer performance.

Data processing and uncertainty analysis

A total of six thermocouples were arranged, of which T 1 -T 5 were arranged on the heating copper block with two thermocouples spaced 6 mm apart. T s recorded the temperature of the experimental work fluid, and since the thermal conductivity of the heating copper block is much larger than that of the insulation material, so the heating copper block can be approximated as a one-dimensional thermal conductivity only in the vertical direction.

The heat fluxq formula is derived from Fourier's law:

q = -λ dT dx | x (1)
Since the copper block is approximately one-dimensional in thermal conductivity, the heating wall temperature can be obtained by linearly fitting T 1 -T 5 measured by thermocouples to their corresponding x 1 -x 5 . λis the thermal conductivity of the copper block, x 1 -x 5 is the distance from the corresponding thermocouple measurement point to the bottom of the block.

Heating wall temperature T w :

T w = T = f (x w , T) (2)
where x w is the height of the top surface of the thermally conductive copper column x w = 40 mm. Superheat degreeΔT calculation formula is as follows:

ΔT = T w -T s (3)
The convective heat transfer coefficienth derived from the Newtonian cooling equation:

h = q ΔT = q T w -T s (4)
According to the UMF model [START_REF] Du | Analytical considerations of flux boiling heat transfer in metal-foam filled tubes[END_REF], the total heat transfer area of the metal foam can be calculated from the following equation:

S total ≈ ∑ n i=1 V i ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ ̅ 4(π + π 2 )(1 -ε i ) √ / d pi ( 5
)
Where n is the number of layers of GMFs, Vandd p are the volume of each layer of metal foam, metal foam pore size, respectively, which are calculated as follows:

V = 0.02 × 0.02 × H (6) d p ≈ 0.0254 / ω (7)
Substituting equation (6) (7) into equation ( 5) yields the formula for calculating the total heat transfer area of the GMFs.

S total ≈ ∑ n i=1 0.02 × 0.02 × H i × ω i × ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ ̅ 4(π + π 2 )(1 -ε i ) √ / 0.0254 (8)
In calculating the error of heat flux and heat transfer coefficient of the experimental system, the main sources of error according to the standard error analysis are thermocouple measurement error, thermocouple spacing error. According to the method of Moffat [START_REF] Moffat | Describing the uncertainties in experimental results[END_REF] the relative error equations for calculating the heat flux q and the surface heat transfer coefficient h can be obtained [START_REF] Sarangi | Effect of particle size on surface-coating enhancement of pool boiling heat transfer[END_REF].

Δq q = ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ ( ΔT T ) 2 + ( ΔL L ) 2 + ( Δλ λ ) 2 √ ≤ ΔT T + ΔL L + Δλ λ (9)
The calculated error of heat flux and heating surface temperature is less than 10%. The measurement error of thermocouple is 0.5%, and the error range is 1 K. The error of thermocouple measurement spacing is 3.3%, and the error of thermal conductivity of copper block is 3.1%. So, the maximum uncertainty of heat flux is 6.9%.

Results and discussion

Effect of the number of metal foam layers

Fig. 5 shows the boiling heat transfer performance on the gradient copper foam surface. The gradient copper foam is made of 2-4 layers of copper foam of same thickness (2.5 mm) and different pore densities, from 20 to 80 PPI. At low pore density, results show that the four-layer positive gradient 20-30-40-50 PPI, where 50 refers to the bottom layer just above the heat source, displays a higher heat transfer. This is likely due to easier bubble escape upward due to the increasing numbers of the layers. When the pore density is low, the heat transfer performance of pool boiling increases with the number of gradient copper foam layers. At high pore density, increasing the gradient layers number is no apparent effect. Indeed, the copper foam structure becomes more complex at high pore density, thus inducing a disordered movement of boiling bubbles (Fig. 6). Overall, we conclude that the positive multilayer arrangement of copper foam displays a better heat transfer that the uniform layer.

Effect of layer arrangement on heat transfer

Some studies showed that the gradient foam layer position change greatly influences the gas-liquid flow direction. We tested the effect of different arrangements of four copper foam layers of same thickness, of 2.5 mm, and different pore densities, from 20 to 50 PPI, on heat transfer (Fig. 7). Results show that all multilayer arrangements show higher boiling heat transfer performance than the 50 PPI uniform layer copper foam of 10 mm thickness. This is explained by gradient structure makes the pool boiling gas-liquid flow direction change, as detailed in the next section. We also observed that 20-30-40-50 PPI and 40-20-30-50 PPI layer arrangements had better heat transfer than other arrangements. The reasons will be further analyzed in the following text.

Effect of layer arrangement on bubble dynamics

The bubbles dynamics of multilayer gradient copper foam surface under different heat flux are displayed in Fig. 8. Bubble dynamics are very different. For instance, for the 20-30-40-50 PPI positive arrangement, where 50 refers to the bottom layer just above the heat source, bubble dynamic is very regular, most boiling bubbles come out of the copper foam surface from the top, and there is little interference and no merging of top bubble with lateral bubbles. By contrast, bubbles detach first from the sides for the 40-20-30-50 and 40-50-30-20 PPI hybrid layer arrangements. Then, in a second step, when nucleation sites of the upper copper foam are activated, some bubbles also detach from the top. Hybrid layer arrangements display more chaotic bubble detachment, more interference of bubbles with each other, closer positions of bubble detachment, and more bubble merging.

The bubble departure diameter could be directly estimated from the photograph taken in the boiling heat transfer by the camera. In this work, multiple photographs taken at the same stage were used to estimate the bubble departure diameter, and the averaged value was used. The bubble departure number is estimated from the high-speed videos, and then the departure frequency could be calculated from the bubble departure number. The separation size and frequency of bubbles under different heat flux were shown in Fig. 9. Results show that bubble size increases with heat flux. When boiling starts, the size of detached bubbles is higher on the 20-30-40-50 PPI positive layer arrangement than on hybrid layer arrangements. Then this difference reduces with boiling time. Larger bubbles at early stage are explained by a longer detachment path in the positive arrangement. As boiling progresses, the speed and number of bubble detachments rises, and bubble merging is more frequent in hybrid layer arrangements, leading to bigger bubbles at that Fig. 10. Metal foam gas-liquid flow model and analysis of bubble detachment form (a)positive gradient metal foam (b)hybrid gradient metal foam. F a is the bubble growth force, F b is the heat flow driving force, F i is the buoyancy force, F cp is the contact pressure of the copper foam skeleton, F S is the surface tension, and F σ is the bubble brought by the metal foam skeleton escape resistance.

'' tc (t) = k l ΔT ̅̅̅̅̅̅̅ παt √ (10) q '' tc = 2πk l (T w -T s ) A ̅̅̅̅̅̅ ̅ πα l √ ∑ NT n=1 ( D 2 b,n ( ̅̅̅̅̅̅ ̅ t w,n √ f b,n ) ) (11)
From equation [START_REF] Hyungdae | Effects of surface wettability on pool boiling process: dynamic and thermal behaviors of dry spots and relevant critical heat flux triggering mechanism[END_REF], it can be seen that the pool boiling transient thermal conductivity process is closely related to the bubble separation frequency (f) and the bubble separation diameter (D b ). Wang et al. [START_REF] Wang | A revision on Rohsenow model for nucleate boiling of liquid with considering the effect of surface wettability[END_REF] derived the pool boiling heat flux relationship based on the Rohsenow [START_REF] Rohsenow | A method of correlating heat transfer data for surface boiling of liquids[END_REF] correlation equation as:

Nu b = f (Re b , Pr l ) (12) q = 2(πk l ρ l cp l ) 1/2 f 1/2 D 2 b n α (T w -T s ) (13)
In equation [START_REF] Mo | Enhanced pool boiling performance of a porous honeycomb copper surface with radial diameter gradient[END_REF], nαis the active nucleation sites density. As for the foam metal surface, due to its unique porous structure, the pool boiling transient thermal conductivity process will take place inside the pores. So, we use the pores number of metal foam pores number Nmf instead of the active nucleation sites density nα. Based on equation ( 13), we can derive the correlation equation for boiling heat transfer on GMFs surface as:

q mf = 2EF mf ηN mf (πk l ρ l cp l ) 1/2 f 1/2 D 2 b (T w -T s ) (14
)

EF mf = S mf S base (15)
Due to the foam metal stereoscopic structure, it can significantly increase the boiling heat transfer area. So, EFmf is defined as the correction factor for boiling heat transfer in the foam metal surface. For the pore number Nmf, there is a calculation error. Meanwhile, equation ( 13) is a theoretical formula, so we need to introduce a correction factor η to correct Nmf. This is due to the complex structure of the foam metal, the bubble clogging phenomenon or the untimely rewetting process will lead to most of the foam metal area cannot carry out the complete pool boiling process. Where the correction factor η is 0.0965 for the PGMFs and 0.101 for the HGMFs.

The prediction accuracy of the new correlation is shown in Fig. 12. The predicted values of the correlation can agree with 95% of the experimental data within a deviation of ±20%.

From equation ( 14), it can be seen that the GMFs pool boiling heat transfer performance is positively correlated with the bubble separation frequency (f) and the bubble separation diameter (D b ). Shortening the bubble escape distance can thus enhance the transient heat conduction process of pool boiling and enhance the pool boiling heat transfer performance.

It is assumed that when the bubble breaks away from the wall, the bubble takes away the liquid in an area whose radius is the size the bubble's breakaway diameter. At the same time the cold liquid rushes to the heated surface, generating strong transient heat conduction. In the metal foam, when the bubble breaks away from the copper foam surface along the path, the external liquid immediately replenishes to the inside of the metal foam for rewetting, thus inducing transient heat conduction. Moreover, due to the porous nature of the metal foam itself, the number of pores is large, and the transient heat conduction will be carried out in each pore. This fully reflects the advantage of bubble nucleation points number of metal foam.

When the bubble is detached upward, the boiling bubble keeps contact with the metal foam skeleton in the detachment process, thus taking away the heat of the copper foam skeleton. The heat of the metal foam skeleton increases the bubble diameter and enhances the transient thermal conductivity (Fig. 13). This finding is consistent with models time and a disordered bubble dynamics behavior. Overall, for the positive layer arrangement, bubbles detach from the multilayer top and bubble size is more regular than for hybrid layer arrangements. For hybrid layer arrangements, bubbles detach initially from the sides and bubble size is irregular. For the bobble departure frequency, the bubble detachment frequency on the surface of HGMFs is higher than that on the surface of PGMFs at the early stage of boiling. As boiling continued, the frequency of bubble detachment on the surface of PGMFs increased more and more rapidly.

Based on experimental results, we drew gas-liquid flow models to explain the dynamics of the pool boiling bubbles (Fig. 10). For positive arrangements of multilayers of copper foam, e.g. 20-30-40-50 PPI, where 50 refers to the bottom layer just above the heat source, most bubbles detach from the top and the external liquid replenishes into the copper foam from the side. When the heat flux is low, the boiling bubble detach mainly from the surface by buoyancy. At this time, the boiling bubbles will interact inside the copper foam, and part of them will merge before escaping from the surface. Since bubbles merge first and then detach from the copper foam surface, the bubbles size detached in the low heat flux is not significantly smaller than those detached in the high heat flux, as shown in Fig. 9 (a) above. Then, when heat flux rises, bubble merging phenomenon decreases, most bubbles will be directly separated from the surface.

For hybrid arrangements of multilayers copper foam, e.g. 40-20-30-50 PPI, most boiling bubbles escape the copper foam surface from the side, at the initial stage, which greatly shortend the escape path. Thus, the HGMFs have a higher bubble detachment frequency at the beginning of boiling, as shown in Fig. 9 (b) above. At this time, the external liquid replenishes into the copper foam mainly from the top and upper side. Later, when bubbles start to detach from the top, the bubble disturbance becomes larger, and the external liquid replenishment position is reduced.

Heat transfer in multilayers of copper foam

In this paper, we studied heat transfer by thermocouple temperature T 1 -T 5 in copper foams with different layer arrangement (Fig. 11). We compared the positive layer arrangement 20-30-40-50 PPI with the hybrid layer arrangement 20-40-30-50 PPI. Result show that the thermocouple temperatures of the positive gradient arrangement are always lower than that of the hybrid arrangements. This suggests that heat transfer mechanisms are different in positive and hybrid arrangements.

Literature reports show that transient heat conduction is the main heat transfer form in nucleation pool boiling [START_REF] Bi | Effects of bubble coalescence dynamics on heat flux distributions under bubbles[END_REF][START_REF] Moghaddam | Physical mechanisms of heat transfer during single bubble nucleate boiling of FC-72 under saturation conditions. II: theoretical analysis[END_REF]. The heat transfer process from the heating surface to the main liquid area can be regarded as a heat transfer from a hot surface to a semi-infinite object [START_REF] Bi | Study of nanofluid saturated pool boiling heat transfer and CHF model[END_REF][START_REF] Han | The mechanism of heat transfer in nucleate pool boiling-Part I [J][END_REF][START_REF] Cerardi | Study of bubble growth in water pool boiling through synchronized, infrared thermometry and high-speed video[END_REF]. The total heat flow density of the transient thermal conductivity of the pool boiling heat transfer is given as: such as Dhir and Liaw's [START_REF] Dhir | Framework for a unified model for nucleate and transition pool boiling[END_REF] and Zhao et al.'s [START_REF] Zhao | Unified theoretical prediction of fully developed nucleate boiling and critical heat flux based on a dynamic microlayer model[END_REF]. Furthermore, the process of bubble detachment is often accompanied by bubble merging, which promotes the rewetting process of pool boiling. The transfer of heat from the metal foam skeleton causes the overall temperature of the metal foam to drop, promoting the boiling heat transfer. Thus, for the PGMFs, the boiling heat transfer performance is mainly determined by the number of bubble nucleation points.

When the detachment direction of the bubble changes from the top to the side, the upper metal foam and the boiling bubble do not carry out heat transfer. This leads to a decrease in the temperature gradient of the longitudinal metal foam and a temperature difference in the lateral direction, with the internal temperature of the metal foam being closer, as shown in Fig. 14. From the heat transfer point of view, the lateral detachment is not conducive to the boiling heat transfer. However, when the bubble breaks away from the metal foam side, the escape path of the bubble becomes shorter, the merging phenomenon of bubbles occurs frequently, and the escape speed and frequency of the bubble are higher. The rapid detachment of bubbles promotes the rewetting process of pool boiling, strengthening the transient heat conduction process, and facilitating heat transfer. Thus, for the HGMFs, the dynamic behavior of bubbles is the decisive factor affecting the boiling heat transfer performance. This explains why heat transfer enhancement is similar for positive and hybrid arrangements (Fig. 7), despite different temperature readings (Fig. 11). For the positive layer arrangement, temperature readings are lower due to the upward movement of the bubble, which results in a larger overall temperature gradient in the copper foam.

According to the experimental results above, we found that PGMFs and HGMFs have different enhanced boiling heat transfer mechanisms, and thus have different advantages and disadvantages. Combined with the previous study, it can be found that the PGMFs can effectively reduce the heating surface temperature, which is very suitable for those engineering scenarios where the heating surface temperature needs to be controlled. The HGMFs enhance the boiling heat transfer performance by changing the direction of gas-liquid flow in the pool boiling. Compared with the PGMFs, The heat transfer properties of HGMFs require very low physical parameters of the metal foam, which can be used to save materials in some specific applications.

Conclusion

In this paper, the boiling heat transfer characteristics of multilayer GMFs were experimentally studied. The strengthening mechanism of different GMFs was investigated in detail, and the following conclusions were drawn:

(1) For low pore density copper foam, the boiling heat transfer performance increases with the increase of the foam layers. However, for high pore density copper foam, the boiling heat transfer performance hardly changes with the number of the foam layers. (2) The dynamic behavior of bubbles on the PGMFs surface is regular and orderly. In contrast, the behavior of bubbles on the HGMFs surface is disorderly and chaotic. The gas-liquid flow model of metal foam is obtained by analyzing the bubbles dynamic behavior of different structure metal foam. (3) Both gradient structure metal foams can enhance the transient thermal conductivity of the pool boiling process. The PGMFs surface detached bubbles can take away more heat from the metal foam skeleton, and the temperature gradient is large. The escape path of HGMFs bubbles is greatly reduced, and the size and frequency of escape bubbles increase. (4) The superiority of the boiling heat transfer performance of the two gradient structures was demonstrated experimentally. Among them, the PGMFs can better reduce the heating surface temperature, while the HGMFs have lower requirements for metal foam parameters.

5 Fig. 1 .

 51 Fig. 1. 20-40 PPI Gradient copper foam composite made of an upper layer of 20 PPI metal foam and a lower layer of 40 PPI metal foam.

Fig. 2 .

 2 Fig. 2. Experimental system used to measure the boiling heat transfer.

Fig. 3 .

 3 Fig. 3. Thermocouple arrangement on heated copper block (unit: mm).

Fig. 4 .

 4 Fig. 4. Metal foam soldered to a heated copper block.

Fig. 5 .

 5 Fig. 5. Effect of the number of layers of gradient copper foam. Gradient Layers are arranged from the bottom layer toward the top layer, e.g. 20-40 refers to a two layer composite with a bottom layer of 40 PPI pore density and a top layer of 20 PPI pore density.

Fig. 6 .

 6 Fig. 6. Dynamic behavior of homogeneous open-cell metal foam bubbles. (a) Dynamic behavior of bubbles on the surface of low pore density metal foam (b) Dynamic behavior of bubbles on the surface of high pore density metal foam.

Fig. 7 .

 7 Fig. 7. Effect of different arrangements of gradient copper foam Layers are arranged from the bottom layer toward the top layer, e.g. 20-30-40-50 refers to a four layer composite with a bottom layer of 50 PPI pore density and a top layer of 20 PPI pore density. (a)positive gradient copper foam (b) hybrid gradient copper foam.

Fig. 8 .Fig. 9 .

 89 Fig. 8. Bubble dynamics versus heat flux in different arrangements of multilayers gradient copper foam. The 20-30-40-50 PPI multilayer, where 20 refers to the top layer just above the heat source, is a positive arrangement. The 40-20-30-50 PPI and 40-50-30-20 multilayers are hybrid arrangements.

Fig. 11 .

 11 Fig. 11. Temperature at increasing height in positive and hybrid multilayers of copper foam. T 1 was taken at the bottom, and thus is the closest to the heat source. T 2 is located 6 mm above T 1 , and so on. Positive refers to the 20 (bottom)-30-40-50 PPI layer arrangement. Hybrid refers to 20-40-30-50 PPI layer arrangement.

  q

Fig. 12 .

 12 Fig. 12. Prediction accuracy of correlation for gradient metal foams.

Fig. 13 .

 13 Fig. 13. Bubble top detachment heat transfer model (a) Macroscopic heat transfer (b) bubble escape path.

Fig. 14 .

 14 Fig. 14. Bubble side detachment heat transfer model (a) Macroscopic heat transfer (b) bubble escape path.

Table 1

 1 Structure of seven composites of copper foam layers of various pore density and pore size and thickness. Layers are arranged from the top layer (left in table cells) toward the bottom layer (right in table cells).

	Nomenclature	ΔT	wall superheat (K)
	cp d D f h H HGMFs hybrid gradient metal foam (copper foam) specific heat capacity (J⋅kg -1 ⋅K -1 ) metal foam pore size (mm) bubble size (mm) bubble departure frequency (Hz) surface coefficient of heat transfer (W⋅m -2 ⋅K -1 ) thickness (m) k thermal conductivity (W⋅m -1 ⋅K -1 )	x Greek symbols distance from the thermocouple to block bottom (mm) ρ density (kg⋅m -3 ) α thermal diffusivity (m 2 ⋅s -1 ) λ thermal conductivity (W⋅m -1 ⋅K -1 ) ω pore density (PPI) q heat flux (W -1 ⋅m -2 ) ε pore density (%)
	n nα N T PGMFs positive gradient metal foam(copper foam) layer numbers active nucleation sites density total number nucleation sites (#) PPI pores per inch (m -1 ) q heat flux (W⋅m -2 ) S total heat transfer area(m 2 )	Subscripts w s l b mf	wall saturation liquid bubble metal foam
	t	time (s)

Number

Pore density (PPI) Pore size (mm) Layer Thickness (mm)

Acknowledgments

The study was funded by State Key Laboratory for Modification of Chemical Fibers and Polymer Materials, Donghua University (KF2123) and Shanghai Sailing Program (19YF14011700).

Data availability

The data that has been used is confidential.

Declaration of competing interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.


Ananda Basu
email: basu@imag.fr

Marius Bozga
email: bozga@imag.fr

Joseph Sifakis Verimag

Modeling Heterogeneous Real-time Components in BIP

We present a methodology for modeling heterogeneous real-time components. Components are obtained as the superposition of three layers : Behavior, specified as a set of transitions; Interactions between transitions of the behavior; Priorities, used to choose amongst possible interactions. A parameterized binary composition operator is used to compose components layer by layer.

We present the BIP language for the description and composition of layered components as well as associated tools for executing and analyzing components on a dedicated platform. The language provides a powerful mechanism for structuring interactions involving rendezvous and broadcast. We show that synchronous and timed systems are particular classes of components. Finally, we provide examples and compare the BIP framework to existing ones for heterogeneous component-based modeling.

Introduction

A central idea in systems engineering is that complex systems are built by assembling components. System designers deal with a large variety of components, each having different characteristics, from a large variety of viewpoints, each highlighting different dimensions of a system. A central problem is the meaningful composition of heterogeneous components to ensure their correct inter-operation [START_REF] Henzinger | The embedded systems design challenge[END_REF].

One fundamental source of heterogeneity is the composition of subsystems with different execution and interaction semantics. At one extreme of the semantic spectrum are fully synchronized components, which proceed in lockstep with a global clock and interact in atomic transactions. Such a tight coupling of components is the standard model for most synthesizable hardware and for synchronous real-time software. At the other extreme are completely asynchronous components, which proceed at independent speeds and interact non-atomically. Such a loose coupling of components is the standard model for most multithreaded software. Between the two extremes, a variety of intermediate and hybrid models exist (e.g., globally-asynchronous locally-synchronous models).

Another fundamental source of heterogeneity is the use of models that represent a system at varying degrees of detail and are related to each other in an abstraction (or equivalently, refinement) hierarchy. A key abstraction in system design is the one relating application software to its implementation on a given platform. Application software is largely untimed, in the sense that it abstracts away from physical time. The application code running on a given platform, however, is a dynamic system that can be modeled as a timed or hybrid automaton [START_REF] Alur | The algorithmic analysis of hybrid systems[END_REF]. The run-time state includes not only the variables of the application software, but also all variables that are needed to characterize its dynamic behavior, such as time variables and other quantities used to model resources. We need tractable theories to relate component-based models at application and implementation levels. In particular, such theories must provide means for preserving, in the implementation, all essential properties of the application software.

Unified frameworks encompassing heterogeneity in systems design have been proposed in [START_REF] Balarin | Metropolis: An integrated electronic system design environment[END_REF][START_REF] Eker | Taming heterogeneity: The Ptolemy approach[END_REF][START_REF] Balasubramanian | Developing applications using model-driven design environments[END_REF][START_REF] Arbab | Abstract behavior types: a foundation model for components and their composition[END_REF]. Nevertheless, in these works unification is achieved by reduction to a common low-level semantic model. We need a framework which is not just a disjoint union of submodels, but one which preserves properties during model composition and supports meaningful analyses and transformations across heterogeneous model boundaries.

We present the BIP (Behavior, Interaction, Priority) framework for modeling heterogeneous real-time components. BIP integrates results developed at Verimag over the past five years. It is characterized by the following:

• It supports a component construction methodology based on the thesis that components are obtained as the superposition of three layers. The lower layer describes behavior. The intermediate layer includes a set of connectors describing the interactions between transitions of the behavior. The upper layer is a set of priority rules describing scheduling policies for interactions. Layering implies a clear separation between behavior and structure (connectors and priority rules).

• It uses a parameterized binary composition operator on components. The product of two components consists in composing their corresponding layers separately. Parameters are used to define new interactions as well as new priority rules between the composed components [START_REF] Gößler | Composition for component-based modeling[END_REF][START_REF] Sifakis | A framework for component-based construction[END_REF]. The use of such a composition operator allows incremental construction. That is, any compound component can be obtained by successive composition of its constituents. This is a generalization of the associativity/commutativity property for composition operators whose parameters depend on the order of composition.

• It encompasses heterogeneity. It provides a powerful mechanism for structuring interactions involving strong synchronization (rendezvous) or weak synchronization (broadcast). Synchronous execution is characterized as a combination of properties of the three layers. Finally, timed components can be obtained from untimed components by applying a structure preserving transformation of the three layers.

• It allows considering the system construction process as a sequence of transformations in a threedimensional space: Behavior × Interaction × P riority. A transformation is the result of the superposition of elementary transformations for each dimension. This provides a basis for the study of property preserving transformations or transformations between subclasses of systems such as untimed/timed, asynchronous/synchronous and event-triggered/datatriggered.

The paper is structured as follows. Section 2 presents the BIP language and the underlying concepts for component composition. Section 3 presents the operational semantics of the language and associated tools for execution and analysis. Section 4 shows that timed and synchronous systems correspond to particular classes of BIP components. This is illustrated by examples provided in Section 5. Finally, Section 6 discusses some more fundamental issues about the component construction space and its properties.

The BIP language -Basics for Component Composition

The BIP language supports a methodology for building components from:

• atomic components, a class of components with behavior specified as a set of transitions and having empty interaction and priority layers. Triggers of transitions include ports which are action names used for synchronization.

• connectors used to specify possible interaction patterns between ports of atomic components.

• priority relations used to select amongst possible interactions according to conditions depending on the state of the integrated atomic components.

We provide a description of the main features of the language.

Atomic Components

An atomic component consists of:

• A set of ports P = {p 1 . . . p n }. Ports are action names used for synchronization with other components.

• A set of control states S = {s 1 . . . s k }. Control states denote locations at which the components await for synchronization.

• A set of variables V used to store (local) data.

• A set of transitions modeling atomic computation steps. A transition is a tuple of the form (s 1 , p, g p , f p , s 2 ), representing a step from control state s 1 to s 2 . It can be executed if the guard (boolean condition on V ) g p is true and some interaction including port p is offered. Its execution is an atomic sequence of two microsteps: 1) an interaction including p which involves synchronization between components with possible exchange of data, followed by 2) an internal computation specified by the function f p on V . That is, if v is a valuation of V after the interaction, then f p (v) is the new valuation when the transition is completed. That is, an atomic component consists of a declaration followed by the definition of its behavior. Declaration consists of ports and data. Ports are identifiers and for data, basic C types can be used. In the behavior, guard and statement are C expressions and statements respectively. We assume that these are adequately restricted to respect the atomicity assumption for transitions e.g. no side effects, guaranteed termination.

Behavior is defined by a set of transitions. The keyword state is followed by a control state and the list of outgoing transitions from this state. Each transition is labelled by a port identifier followed by its guard, function and a target state.

The

Connectors and Interactions

Components are built from a set of atomic components with disjoint sets of names for ports, control states, variables and transitions.

Notation: We simplify the notation for sets of ports in the following manner. We write p 1 |p 2 |p 3 |p 4 for the set {p 1 , p 2 , p 3 , p 4 } by considering that singletons are composed by using the associative and commutative operation |.

A connector γ is a set of ports of atomic components which can be involved in an interaction. We assume that connectors contain at most one port from each atomic component. An interaction of γ is any non empty subset of this set. For example, if p 1 , p 2 , p 3 are ports of distinct atomic components, then the connector γ = p 1 |p 2 |p 3 has seven interactions: p 1 , p 2 , p 3 , p 1 |p 2 , p 1 |p 3 , p 2 |p 3 , p 1 |p 2 |p 3 . Each non trivial interaction i.e., interaction with more than one port, represents a synchronization between transitions labeled with its ports.

Following results in [START_REF] Gößler | Composition for component-based modeling[END_REF], we introduce a typing mechanism to specify the feasible interactions of a connector γ, in particular to express the following two basic modes of synchronization:

• Strong synchronization or rendezvous, when the only feasible interaction of γ is the maximal one, i.e., it contains all the ports of γ.

• Weak synchronization or broadcast, when feasible interactions are all those containing a particular port which initiates the broadcast. That is, if γ = p 1 |p 2 |p 3 and the broadcast is initiated by p 1 , then the feasible interactions are

p 1 , p 1 |p 2 , p 1 |p 3 , p 1 |p 2 |p 3 .
The typing mechanism distinguishes between complete and incomplete interactions with the following restriction: All the interactions containing some complete interaction are complete; dually, all the interactions contained in incomplete interactions are incomplete. An interaction of a connector is feasible if it is complete or if it is maximal.

Preservation of completeness by inclusion of interactions allows a simple characterization of interaction types. It is sufficient, for a connector γ to give the set of its minimal complete interactions. For example, if γ = p 1 |p 2 |p 3 |p 4 and the minimal complete interactions are p 1 and p 2 |p 3 , then the set of the feasible interactions are p 1 ,

p 2 |p 3 , p 1 |p 4 , p 2 |p 3 |p 4 , p 1 |p 2 |p 3 , p 1 |p 2 |p 3 |p 4 .
If the set of the complete interactions of a connector is empty, that is all its interactions are incomplete, then synchronization is by rendezvous. Broadcast through a port p 1 triggering transitions labeled by ports p 2 , . . . , p n can be specified by taking p 1 as the only minimal complete interaction.

The syntax for connectors is the following:

interaction ::= port id + connector::= connector conn id = port id + [complete = interaction + ] [behavior {on interaction [provided guard] [do statement]} + end]
That is, a connector description includes its set of ports followed by the optional list of its minimal complete interactions and its behavior. If the list of the minimal complete interactions is omitted, then this is considered to be empty. Connectors may have behavior specified as for transitions, by a set of guarded commands associated with feasible interactions. If α = p 1 |p 2 |...|p n is a feasible interaction then its behavior is described by a statement of the form: on α provided G α do F α , where G α and F α are respectively a guard and a statement representing a function on the variables of the components involved in the interaction. As for atomic components, guards and statements are C expression and statements respectively.

The execution of α is possible if G α is true. It atomically changes the global valuation v of the synchronized components to F α (v). We use a graphical notation for connectors in the form of trees. The leaves are singleton interactions and the higher level nodes are synchronization types. We denote an incomplete interaction by a bullet and a complete interaction by a triangle. For example, consider the connector C 1 described below:

connector C 1 = p 1 |p 2 |p 3 behavior on p 1 |p 2 |p 3 provided ¬(x 1 = x 2 = x 3 ) do x 1 , x 2 , x 3 := MAX(x 1 , x 2 , x 3 ) end
It represents a strong synchronization between p 1 , p 2 and p 3 which is graphically represented in figure 2(a), where the singleton incomplete interactions p 1 , p 2 , p 3 are marked by bullets. The behavior for the interaction p 1 |p 2 |p 3 involves a data transfer between the interacting components: the variables x i are assigned the maximum of their values if they are not equal.

The following connector describes a broadcast initiated by p 1 . The corresponding graphical representation is shown in fig 2(b).

connector C 2 = p 1 |p 2 |p 3 complete = p 1 behavior on p 1 do skip on p 1 |p 2 do x 2 := x 1 on p 1 |p 3 do x 3 := x 1 on p 1 |p 2 |p 3 do x 2 , x 3 := x 1 end
This connector describes transfer of value from x 1 to x 2 and x 3 .

Notice that contrary to other formalisms, BIP does not allow explicit distinction between inputs and outputs. For simple data flow relation, variables can be interpreted as inputs or outputs. For instance, x 1 is an output and x 2 , x 3 are inputs in C 2 .

Priorities

Given a system of interacting components, priorities are used to filter interactions amongst the feasible ones depending on given conditions. The syntax for priorities is the following:

priority::= priority priority id [if cond] interaction < interaction
That is, priorities are a set of rules, each consisting of an ordered pair of interactions associated with a condition (cond). The condition is a boolean expression in C on the variables of the components involved in the interactions. When the condition holds and both interactions are enabled, only the higher one is possible. Conditions can be omitted for static priorities. The rules are extended for composition of interactions. That is, the rule begin 1 < begin 2 means that any interaction of the form begin 2 |q has higher priority over interactions of the form begin 1 |q where q is an interaction.

Compound Components

A compound component allows defining new components from existing sub-components (atoms or compounds) by creating their instances, specifying the connectors between them and the priorities. The syntax of a compound component is defined by: compound

::= component component id {contains type id {instance id[parameters]} + } + [connector + ] [priority + ] end
The instances can have parameters providing initial values to their variables through a named association.

An example of a compound component named System is shown in figure 3. It is the serial connection of three reactive components, defined as:

component System contains Reactive r 1 , r 2 , r 3 connector C 1 = r 1 .in

out end

We use priorities to enforce a causal order of execution as follows: once there is an in through C 1 , the data are processed and propagated sequentially, finally producing an out through C 4 before a new in occurs through C 1 . This is achieved by a priority order which is the inverse of the causal order.

Implementation

In this section, we describe briefly the operational semantics and the execution platform for BIP.

Operational semantics

A detailed and fully formalized operational semantics is beyond the scope of this paper. We focus on aspects that are crucial for understanding the underlying mechanism for execution of interactions between a set of components. For the sake of simplification, we consider components without priorities. These are only a filtering mechanism for interactions.

Consider a compound component built from w atomic components by using a set of connectors and without priority rules. Its meaning is an extended automaton with:

• A set of variables, which is the union of the sets of variables of the atomic components.

• A set of states, which is the cartesian product of the sets of control states of the atomic components.

The extended automaton has a set of transitions of the form (s, α, g, f, s ), where:

• s = (s 1 , . . . , s w ), s i being a control state of the i th atomic component.

• α is a feasible interaction associated with a guarded command (G α , F α ), such that there exists a subset J ⊆ {1, . . . , w} of atomic components with transitions {(s j , p j , g j , f j , s j )} j∈J and α = {p j } j∈J .

• g = ( j∈J g j ) ∧ G α .

• f = F α ; [f j ] j∈J .
That is, the computation starts with the execution of F α followed by the execution of all the functions f j in some arbitrary order. The result is independent of this order as components have disjoint sets of variables.

• s (j) = s j if j ∈ J; otherwise s (j) = s j . That is, the states from which there are no transitions labeled with ports in α, remain unchanged.

The extended automaton is a machine with moves of the form (s, v)

α → (s , v ),
where s is a state of the automaton and v is a valuation of its variables. The move (s, v)

α → (s , v ) is possible if there exists a transition (s, α, g, f, s ), such that g(v) = true and v = f (v).

The BIP Execution Platform

The BIP framework has been partially implemented in the IF toolset [START_REF] Bozga | The IF toolset[END_REF] and the PROMETHEUS tool [START_REF] Gößler | PROMETHEUS -a compositional modeling tool for real-time systems[END_REF]. We have developed a full implementation of the toolset that includes:

• A frontend for editing and parsing BIP and generating C++ code to be executed and analyzed on a backend platform.

• A backend platform consisting of an engine and the infrastructure for executing the generated C++ code.

• Connections to analysis tools of the IF tool-set.

The execution engine directly implements the operational semantics. At control states, atomic components post the port names of enabled transitions. The execution engine monitors the state of atomic components and finds all the enabled interactions by evaluating the guards on the connectors. Then, between the enabled interactions, priority rules are used to eliminate the ones with low priority. Amongst the maximal enabled interactions, it executes one and notifies the atomic components involved in this interaction. The notified components continue their local computation independently and eventually reach new control states. Two options, one for multithreaded execution (each atomic component having a thread) and the other for a single threaded execution (the execution engine being the only thread) are implemented.

The engine has a state space exploration mode, which under some restrictions on the code for guards and functions, generates state graphs that can be analyzed by using model-checking tools.

The backend, which is the BIP exploration platform, has been entirely implemented in C++ on Linux and uses POSIX threads. This choice has been made mainly for efficiency reasons but also to allow a smooth integration of components with behavior expressed using plain C/C++ code. The BIP frontend which includes the C++ code generator and some editing facilities, is implemented in Java. In particular, the frontend uses Eclipse EMF technology and associated tools for model representation and model transformations.

Subclasses of Components

In this section, we show that timed and synchronous systems can be represented as BIP components.

Timed Components

We define timed components and provide a structure preserving mapping from timed components to BIP components defined in section 2.

Timed components are built from atomic timed components. The definition of atomic timed components for discrete time is inspired from [START_REF] Altisen | Scheduler modeling based on the controller synthesis paradigm[END_REF]. They have:

• A set of ports P = {p 1 . . . p n }.

• A set of control states S = {s 1 . . . s k }.

• A set of variables V partitioned into two sets U and X, respectively the set of untimed and timed variables.

• A set of transitions of the form (s 1 , p, g u p ∧ g t p , f p , s 2 ) τp , representing a step from control state s 1 to s 2 . The urgency type τ p which can be either eager or lazy is used to characterize the urgency of the transition. As for ordinary transitions, g p = g u p ∧ g t p is a guard, conjunction of conditions on untimed and timed variables respectively and f p is a function on V .

• A set of evolution functions {φ i } 1≤i≤k in bijection with control states. The function φ i gives for a given valuation x of X at control state s i and a given value of a discrete time parameter t, the valuation φ i (x, t) reached when time progresses by t. Further, it satisfies the following properties:

φ i (x, 0) = x, and

-φ i (x, t 1 + t 2 ) = φ i (φ i (x, t 1 ), t 2 ).
An atomic timed component C represents a transition system [START_REF] Altisen | Scheduler modeling based on the controller synthesis paradigm[END_REF] in the following manner.

Let s i be a control state of C and (u, x) be a valuation of (U, X). From the state (s i , u, x),

• Either an enabled transition can be executed independently of its urgency type -the semantics is the same as for transitions of BIP components. We provide a translation from timed to BIP atomic components. The principle of the translation is explained in figure 4. It consists in implementing for each atomic component, time progress from s i and subsequent state changes, by a loop transition with guard true and function φ i (x, 1). This transition has a port tick for synchronization with other timed components. In the composition of the resulting BIP components from the timed components, strong synchronization is necessary for the tick ports as shown in the architecture of figure 5. That is, a connector T ick relating all the tick ports is used. T ick has an empty set of complete interactions.

Furthermore, to take into account urgency of the transitions, we use priorities. For each eager transition with guard g p , a rule of the form: priority P if g p T ick < p|q is used where q is an interaction. This means that strong synchronization through T ick can occur only if there are no enabled eager transitions.

Synchronous Components

Synchronous components are a subclass of components built from synchronous atomic components which have:

• A set of control states S, partitioned into three sets S st = ∅, S un , S syn = ∅, respectively the sets of stable, unstable and synchronization states.

• A particular class of transitions, synchronization transitions. These have a special port syn, their guards are true and functions are empty. From synchronization states only synchronization transitions are possible and lead to stable states.

• Transitions from unstable states leading either to unstable states or to synchronization states.

• Stable states with synchronization transition loops. All other transitions from these states lead to unstable or synchronization states. There is a finite number of transitions in a path between two successive distinct stable states in the transition graph. This guarantees that for dealockfree execution, stable states are visited infinitely often. The general form of a synchronous atomic component is shown in figure 6. Composition of synchronous components is characterized by the following requirements:

• Ports of transitions from unstable states must belong to complete interactions, that is, their execution cannot be blocked due to synchronization constraints.

• All the syn ports are strongly synchronized via a connector Syn with empty set of complete interactions.

• Any interaction has higher priority than the syn interaction. This enforces progress from stable states and prevents livelock by looping on syn transitions.

The general form of a synchronous architecture is shown in figure 7. The above requirements ensure lockstep execution. For such an execution, a run is a sequence of steps leading from one global stable state to another. If all the components are at stable states, then each component can execute a sequence of transitions leading to a synchronization state. From synchronization states, strong synchronization through syn is enforced. This interaction cannot occur as long as other interactions are possible, as it has the lowest priority. It may happen that during a synchronous step some components stay at the same stable state, if the transitions leaving this state are not enabled. The synchronization transition loops from stable states allow transitions from synchronization states of the other components to be executed.

Applications and Case Studies

In this section we provide examples that were modeled and executed in BIP. The first example, taken from [START_REF]Workshop on distributed embedded systems[END_REF], is a performance evaluation problem with timed tasks processing events from a bursty event generator. The second example is a synchronous modulo-8 counter.

Tasks with Bursty Event Generator

We model System which is the serial connection of a bursty event generator with three tasks t 1 , t 2 and t 3 , running on independent CPU's. A task can execute as soon as its predecessor has finished. The block diagram for System is shown in figure 8(a). The atomic components of System are T ask and EventGenerator. For each atomic component, we specify its ports, variables and behavior. A generic timed model of T ask is shown in figure 9, which can be used either as a simple task, or as a preemptable task. It has a timed variable d to enforce worst case execution time W CET . In the graphical notation, urgency types are associated with ports. We use the notation p τ , where τ can be either (eager), λ (lazy), or δ (delayable). The latter is a composite type very useful in practice. It means that the transition labeled with p is considered to be lazy at some state if it remains enabled at the next time unit; otherwise, it is eager. For instance, the notation finish δ in figure 9 means that the transition is lazy when d < W CET and eager when d = W CET .

φ RUN ((x,y), 1)=(x+1,y+1) period ε [x=T] x:=0, k:=k+1 go δ [k ≥ 0 ∧ x + k T ≤ J ∧ y ≥ D] y:=0, k:=k-1 RUN go period
The ports and behavior of EventGenerator are shown in figure 10. It has a period T and a jitter J with J > T and has a minimum inter-arrival time D between successive events being generated.

The compound component System is a serial connection of the EventGenerator and three instances of T ask, t 1 , t 2 and t 3 , as shown in figure 11. In this model, the tasks are non-preemptable, so the ports preempt and resume are not associated to connectors. Component instances are parameterized: EventGenerator instance by the time-period T, jitter J and minimum inter-arrival time D; Task instances by their worst case execution time WCET.

Synchronous Modulo-8 Counter

We model a synchronous modulo-8 counter producing a 3 bit count value. A bit is modeled as an atomic component representing a modulo-2 counter. The modulo-8 counter is obtained by composing three modulo-2 counters.

The behavior of the atomic component Modulo2Counter is depicted in figure 13.

Zero' and One' are stable states whereas Zero and One are synchronization states respectively. The port flip corresponds to a complete interaction. The variable x is the input and y is the output.

end connector C 1 = b 0 .f lip complete = b 0 .f lip connector C 2 = b 1 .f lip complete = b 1 .f lip connector C 3 = b 2 .f lip complete = b 2 .f lip priority P 0 b 0 .syn|b 1 .syn|b 2 .syn < b 0 .f lip priority P 1 b 0 .syn|b 1 .syn|b 2 .syn < b 1 .f lip priority P 2 b 0 .syn|b 1 .syn|b 2 .syn < b 2 .

f lip end

The global data flow is encoded in the behavior of the syn connector C 0 . The input (x) of b 0 representing the least significant bit of the counter, is always set to 1, for b 2 , the input is the conjunction of the outputs(y) of the previous two bits(b 0 , b 1 ). The y values form the output of the Counter on execution generates the count sequence 000 to 111. Low priority of the syn interaction favours internal computations of the atomic components.

Discussion

The BIP framework shares features with existing ones for heterogeneous components, such as [START_REF] Balarin | Metropolis: An integrated electronic system design environment[END_REF][START_REF] Eker | Taming heterogeneity: The Ptolemy approach[END_REF][START_REF] Balasubramanian | Developing applications using model-driven design environments[END_REF][START_REF] Arbab | Abstract behavior types: a foundation model for components and their composition[END_REF]. A common key idea is to encompass high-level structuring concepts and mechanisms. Ptolemy was the first tool to support this by distinguishing between behavior, channels, and directors. Similar distinctions are also adopted in Metropolis and BIP, which offer interaction-based and control-based mechanisms for component integration. The two types of mechanisms correspond to cooperation and competition, two complementary fundamental concepts for system organization.

There is evidence through numerous examples treated in BIP, that the combination of interaction and control mechanism allows enhanced modularity and direct modeling of schedulers, quality controllers and quantity managers.

BIP characterizes components as points in a threedimensional space: Behavior × Interaction × P riority, as represented in figure 14. Elements of the Interaction × P riority space characterize the overall architecture. Each dimension, can be equipped with an adequate partial order, e.g., refinement for behavior, inclusion of interactions, inclusion of priorities. Some interesting features of this representation are the following: Separation of concerns: Any combination of behavior, interaction and priority models meaningfully defines a component. This is not the case for other formalisms e.g., in Ptolemy [START_REF] Eker | Taming heterogeneity: The Ptolemy approach[END_REF], for a given model of computation, only particular types of channels can be used. Separation of concerns is essential for defining a component's construction process as the superposition of elementary transformations along each dimension.

Unification: Different subclasses of components e.g.,untimed/timed, asynchronous/synchronous, event-triggered/data-triggered, can be unified through transformations in the construction space. These often involve displacement along the three coordinates. They allow a deeper understanding of the relations between existing semantic frameworks in terms of elementary behavioral and architectural transformations.

Correctness by construction:

The component construction space provides a basis for the study of architecture transformations allowing preservation of properties of the underlying behavior. The characterization of such transformations can provide (sufficient) conditions for correctness by constructions such as compositionality and composability results for deadlock-freedom [START_REF] Gößler | Composition for component-based modeling[END_REF].

Current work on BIP deals with both theoretical issues and applications. Theoretical work directions include the study of a notion of glue for components and its properties as well as a notion of expressiveness for component-based description languages. Applications aim at "componentizing" existing real-time software written in C++ including an MPEG encoder and an adaptive robotic application. Finally, we are developing a tool for translating a subset of the BIP language into THINK [START_REF] Fassino | THINK: A Software Framework for Component-based Operating System Kernels[END_REF], from which implementations on bare machines can be generated.

Figure 1 .

 1 Figure 1. An atomic component.

Figure

  Figure1shows an atomic reactive component with two ports in, out, variables x, y, and control states empty, full. At control state empty, the transition labeled in is possible if 0 < x. When an interaction through in takes place, the variable x is eventually modified and a new value for y is computed. From control state full, the transition labeled out can occur. The omission of guard and function for this

Figure 2 .

 2 Figure 2. Interaction types.

Figure 4 .

 4 Figure 4. Transformation from Timed Component to BIP Component.

Figure 5 .

 5 Figure 5. Composition of Timed Components.

Figure 6 .

 6 Figure 6. Synchronous Atomic Component.

Figure 7 .

 7 Figure 7. Composition of Synchronous Components.

Figure 8 .

 8 Figure 8. End to end delay measurement for tasks.

Figure 9 .

 9 Figure 9. The Task component.

Figure 10 .

 10 Figure 10. The EventGenerator component.

Figure 13 .

 13 Figure 13. The Modulo2Counter component.

Figure 14 .

 14 Figure 14. The Construction Space.

state empty on in provided 0 < x do y:=f(x) to full state full on out to empty end end

	BIP description of the reactive component of fig-
	ure 1 is:
	component Reactive
	port in, out
	data int x, y
	behavior

  = r 1 .out|r 2 .in behavior on r 1 .out|r 2 .in do r 2 .x := r 1 .y end connector C 3 = r 2 .out|r 3 .in behavior on r 2 .out|r 3 .in do r 3 .x := r 2 .y end connector C 4 = r 3 .out complete = r3.out priority P 1 r 1 .in < r 2 .out|r 3 .in priority P 2 r 1 .in < r 3 .out priority P 3 r 1 .out|r 2 .in < r 3 .

			empty				empty				empty
	C 1	in	full	out	C 2	in	full	out	C 3	in	full	out	C 4
			r 1				r 2	System	r 3
		Figure 3. A compound component.
	complete = r 1 .in
	connector C 2

•

  Or time can progress by one unit, leading to state (s i , u, φ i (x, 1)), if all eager transitions are disabled.

	p	r		p	r	tick
						tick
	r g r f r	S i	p g p u ∧g p t f p	f r g r r	S i	g p f p u ∧g p t p x:= φ i (x,1)
	S m	S n	S r	S m	S n	S r

Figure 11. Architecture of System.

  = e.tick|t 1 .tick|t 2 .tick|t 3 .tick connector C 1 = e.period complete = e.period connector C 2 = e.go|t 1 .get connectorC 3 = t 1 .f inish|t 2 .get connector C 4 = t 2 .f inish|t 3 .get connector C 5 = t 3 .f inish complete = t 3 .f inish connector C 6 = t 1 .start complete = t 1 .start connector C 7 = t 2 .start complete = t 2 .start connector C 8 = t 3 .start complete = t 3 .start priority . .. endThe maximum end-to-end delay was calculated by exhaustive state space exploration of System composed with an observer component measuring the end to end delay of the events. With the values of the parameters as used in the BIP description above, the maximum delay obtained was 43 time units (tick transitions).Consider a modification of System where tasks t 1 and t 3 share CPU1 and t 1 can preempt t 3 , whereas t 2 runs on CPU2, as shown in figure8(b). Its BIP description without the priorities enforcing urgency is given below: e.tick|t 1 .tick|t 2 .tick|t 3 .tick connector C 1 = e.period complete = e.period connector C 2 = e.go|t 1 .get connector C 3 = t 1 .f inish|t 2 .get|t 3 .resume complete = t 1 .f inish|t 2 .get connector C 4 = t 3 .f inish|t 1 .resume complete = t 3 .f inish connector C 5 = t 1 .start|t 3 .preempt complete = t 1 .start connector C 6 = t 3 .start|t 1 .preempt complete = t 3 .start connector C 7 = t 2 .start complete = t 2 .start connector C 8 = t 2 .f inish|t 3 .get priority P 1 t 3 .start < t 1 .start priority P 2 t 3 .start|t 1 .preempt < t 1 .f inish|t 2 .get priority . . . end Mutual exclusion between t 1 and t 3 is enforced by the connectors C 3 , C 4 , C 5 and C 6 . They guarantee that a task will preempt if the other has to start, and similarly a task can resume only when the executing task finishes, as depicted in the architecture of figure 12. Priority P 1 enforces the static priority between t 1 , t 3 and priority P 2 ensures non preemption of t 1 by t 3 . The maximum end to end delay recorded by the observer component in this example was 194 time units.

	t 3 (W CET = 1)
	The BIP descrip-tion of System without the priorities enforcing urgency is tick t 1 tick get go tick get C 2 C 3 finish resume preempt start tick get resume preempt start finish t 3 System t 2 resume preempt finish start C 0 C 8 C 7 connector C 0 e connector C 0 e tick go C 2 C 0 C 5 period C 1 component System get resume preempt tick start finish t 3 C 8 contains EventGenerator e(T = 10, J = 40, D = 1) t 1 finish tick start get resume preempt System t 2 tick get resume preempt finish start C 3 C 4 C 6 C 7 contains T ask t 1 (W CET = 8), t 2 (W CET = 4), t 3 (W CET = 1) C 6 C 5 C 4
	shown below:
	component System
	contains EventGenerator e(T = 10, J = 40, D = 1)
	contains T ask t 1 (W CET = 8), t 2 (W CET = 4),

period C 1 Figure 12. Architecture of System with mu- tual exclusion.