K Vamvoukakis

D Stefanakis

A Stavrinidis

K Vassilevski

G Konstantinidis

M Kayambaki

K Zekentes

Channel width effect on the operation of 4H-SiC vertical JFETs

Keywords silicon carbide, trenched and implanted vertical junction field-effect transistor, normally-on/normally-off device SiC JFETs may have the lowest overall losses of switching devices and can operate at temperatures over 400°C. Over different junction field-effect transistor (JFET) designs the trenched and implanted (TI) gate vertical JFET (TI-VJFET) is very attractive since it may have the lowest on-resistance and its fabrication does not require epitaxial overgrowth or multiple angled implantation. 4H-SiC TI-VJFETs have been fabricated with self-aligned nickel silicide source and gate contacts using a process sequence that greatly reduces process complexity as it includes only four lithography steps. Different design factors, including channel width, channel length, and mesa height, are considered. The effect of the channel geometry on the electrical characteristics has been studied by varying their width (1.5-5μm). The specific ON resistance (R ON ) of the fabricated devices, at V GS =0V, varied from 12.5 to 6.2 mΩ•cm 2 with increasing the channel width. The effect of the channel width was more tremendous on the breakdown voltage of the transistors passing from 80 V to 500 V showing the importance of the static-induction effect (saddle point potential influenced by drain potential) on the transistor blocking characteristics. Indeed, the blocking voltage gain is varying from 50 to single digit values when increasing the channel width. The physical reason is that the blocking gain to first order depends exponentially on the channel dimensions as the drain-source current is exponentially related to the saddle point potential.

Introduction

Power transistors based on wide band gap semiconductors are subject of intensive research during the last decade. The high current and high voltage capabilities of these devices, largely exceeding that of Si counterparts, represent a challenge on various aspects related to the device fabrication, characterization and packaging [1]. Currently, SiC is the wide band gap semiconductor material of choice for fabricating high power devices. Particularly SiC, when compared to silicon, has three times wider bandgap (E g ), ten times higher critical electric field (E c ), nineteen orders of magnitude lower intrinsic carrier concentration (n i ), three times larger thermal conductivity (λ) and higher saturation velocity (v sat ). These characteristics show great potential to make power devices that can operate at higher power, higher temperature and higher frequency with lower leakage current, smaller conduction and switching losses, less stringent requirements in heat removal.

In recent years, numerous SiC high power switching devices such as Schottky barrier diodes (SBDs), metaloxide-semiconductor field-effect transistors (MOSFETs), junction field-effect transistors JFETs), bipolar junction transistors (BJTs), and insulated gate bipolar transistors (IGBTs) have been demonstrated and some of them have already entered successfully the commercial market.

All things considered, the MOSFET is the most promising device in the SiC field. Its technology is more mature and it is a normally-off device with little demand on the drive circuits. However, reliability issues (oxide and threshold voltage stability) still exist despite the long and important effort devoted. The SiC BJT main advantages as power switch are its low conduction loss combined with fast switching. Moreover, BJTs are generally very robust devices. The most crucial parameter for SiC BJT optimization is to increase the current gain at application temperature. This has been addressed by performing special surface passivation based mainly on oxides, which obviously is subject to reliability issues related to the passivating oxides.

SiC JFETs, having no interface issues, can fully benefit from the superior properties of SiC. They have the lowest overall losses of switching devices and their fabrication process is characterized by its simplicity. Moreover, JFETs are very robust devices with a channel not largely affected from surface effects. The main drawback with VJFETs is that they are usually normally-on (depletion mode), which is considered unsafe in power applications. For these reasons, SiC JFETs have been chosen to be developed aiming specific applications such as high-temperature and spacerelated ones.

There are many possibilities in terms of JFET geometry and most of them have been investigated in the case of SiC [2,[START_REF] Veliadis | Advanced Semiconductor Materials and Devices Research: III-Nitrides and SiC[END_REF]. The usual 4H-SiC JFETs are either purely vertical (VJFETs) [Erreur ! Signet non défini., [START_REF] Li | [END_REF]5] or semilateral (SLJFET) [START_REF] Kimoto | Fundamentals of Silicon Carbide Technology. Crowth, Characterization, and Devices[END_REF]. Optimum SLJFET fabrication requires many step implantation and/or re-epitaxial growth after material etching on specific locations. The vertical trenched VJFETs require only one implantation step and a smaller number of lithography steps [START_REF] De Salvo | SiC Materials and Devices[END_REF]. The only difficulty is the tight control of the dimensions, which are of the order of 1-2 μm for both source pillars and gate pitch resulting, thus, in an issue of tight registry control. Indeed, different lithographic approaches, metallization schemes, isolation dielectrics and gate implantation conditions have been tested in previous experiments. [START_REF] Stavrinidis | [END_REF]9]. This effort resulted in the fabrication of SiC TI-VJFET with self-aligned nickel silicide source and gate contacts using a process sequence that greatly reduces process complexity as it includes only four lithography steps. In the present paper, the effect of design factors including channel width, channel length, and mesa height, are investigated with the fabrication of VJFETs that combine different values of these parameters.

The device structure and the fabrication process of the transistors employed in the present study is first exposed followed by their electrical characterization results. Note that in the previous reports [START_REF] Stavrinidis | [END_REF]9], the fully optimized process employed for the last fabricated transistors employed in the present study is not included. An analysis of the characterization results is performed to extract the conclusion on which optimized structures according to the targeted application can be designed.

Device structure and fabrication

The cross-section of the fabricated 4H-SiC TI-VJFETs is shown in Fig. 1. A series of optimization runs have been performed in order to choose this optimized structure [START_REF] Stavrinidis | [END_REF]9]. Different epitaxial structures and gate implantation geometries were used [9]. For the transistors of the present study, the epitaxial structure on the top of the n + 4H-SiC wafer was composed by a 8 μm (L dr ) blocking thick n-layer with N d =5×10 15 cm -3 , an 1.2μm (L ch +L Pchan ) channel layer n-layer with N d =1×10 16 cm -3 and a top 1μm (L Pcont ) thick n + layer with N d =1×10 19 cm -3 . Gate regions were formed by local Al ion implantation and post-implantation annealing resulting in an implanted region with p-type doping of 1×10 19 cm -3 . Two different configurations have been employed for the fabrication of 4H-SiC TI-VJFETs. The main differentiation between these two configurations is the implantation depth which is equal to L G =0.65μm in the first and 1.75μm in the second one respectively. The two transistor types will be distinguished by mentioning them as the "short" (0.65μm) and "long" (1.75μm) channel VJFET. The mentioned values of gate length correspond to the depths where the Al chemical concentration, as measured by Secondary Ion Mass Spectroscopy (SIMS) measurements, is equal to the background n-type dopant density. This assumes a high electrical activation of Al implanted atoms and this assumption is based on the Scanning electron Microscopy (SEM) image contrast from cross-section of the completed devices (Fig. 2).

A second differentiation in fabricated device geometry is on the mesa height (L Pcont +L Pchan ) namely the depth of the etched trench for the Al implantation and the formation of the gate regions. The mesa height equals to 2.5μm for the "short" channel transistors while for the long ones, it is equal to 2μm.

Source fingers and gate trenches were formed by reactive ion etching (RIE) by using the first lithographic step. Devices with different channel widths (1.5, 2, 2.5, 3, 4 and 5μm) according to the lithography mask have been fabricated. The same multilayer metal mask was used to perform the above patterning by RIE etching and to form gate regions by ion implantation. Aluminium was implanted at temperature of 425 °C with normally incident ion beam (sample's surface and ion beam are perpendicular). Individual implantation energies and Copyright line will be provided by the publisher fluencies were calculated using the SRIM 2D simulation program to form the Al profile. The ion implantation was followed by a thermal annealing at 1600-1800ºC. The gate profile has been checked by Secondary Ion Mass Spectroscopy (SIMS) performed on as-implanted and aspost-implantation-annealed witness samples. A significant lateral straggling has been observed in long device (Fig. 2).

A study on optimum gate-source isolation showed the necessity of a dielectric layer on the sidewalls of the source pillars. The samples were, thus, oxidized to form a 35 nm thick oxide on the Si-face and a 240 nm thick oxide on mesa-structure sidewalls. The thick oxide film grown on the sidewalls consumes unintentionally Al-doped sourcefinger-sidewalls and prevents formation of a leaky gatesource p + -n + SiC junction. The oxide from the Si-face was removed subsequently by anisotropic RIE.

Following, 50 nm thick Ni contact was deposited by ebeam evaporation in a self-aligned way on the tops of source fingers and in gate trenches. The samples were pat- Although, the technology of 4H-SiC JFETs is simpler than that of MOSFETs or BJTs its main difficulty lies with the small width (~1μm) of the source pillars requiring the use of advanced photolithography equipment (steppers, ebeam lithography) or self-aligned approach in the case of contact lithography. Indeed, using a more conventional approach based on different lithographic steps for source and gate metal contacts was possible only for source widths higher than 3 μm (Fig. 3(b)). The main issue in the case of the self-aligned process is related to the metal tears and wings, which should be avoided in order to have a large gate-source breakdown. In the case of Fig. 3(a) these features are not excessive but a study, relative to the use of different photoresist, allowed eliminating them completely (Fig. 3(c)). Fig. 3(c) shows the technology of the optimized metallizations formed by a "salicidation-like" process [START_REF] Stavrinidis | to be presented in ECSCRM'16 and[END_REF], which allows removing the metal from the areas close to the source finger edges. The contact annealing has been performed in two steps (750ºC and 1000ºC) in vacuum and the morphology of the annealed contacts is shown in Fig. 4a. Copyright line will be provided by the publisher

The next process step was the application of a trench filling dielectric (cyclotene c ), its curing and etching-back to expose the mesa-structure tops with source contacts. The usefulness of this step is two fold. First, to planarize the source pillar tops for interconnecting them by a metal deposition. Second, to avoid any short between the source and the gate. Benzocyclobutene (BCB or simply cyclotene) has been employed for this task as it has excellent dielectric and planarization properties in comparison to other dielectrics such as the polyimide. The BCB film was deposited all-over the surface by spin coating and it is much thicker than the height of the source pillars. It was etched-back down to the source finger tops (Fig. 4b) with reactive-ionetching (RIE) in pure SF [START_REF] Kimoto | Fundamentals of Silicon Carbide Technology. Crowth, Characterization, and Devices[END_REF] .

Then, the third lithography step was performed followed by RIE to open the gate pad contacts (Fig. 4c).

Finally, the final fourth lithographic step was employed for depositing and patterning the common source and gate pad Ni/Au metal overlay (Fig. 5). The edge termination was provided by a self-aligned multiple floating-guard-ring structure shown in Fig. 5.

The "real" channel widths and guard rings trenches widths can be determined from SEM observations of the completed devices cross-section similar to that shown in Fig. 2 (hereby mentioned "SEM 1 ") but also from the surface plane views similar to that shown in Figs 34(hereby mentioned "SEM 2 "). It has been observed that the short channel devices exhibit a constant augmentation of about 1μm while for the long channel devices despite of the use of the same mask layout, the formatted channel widths seem to be equal to the nominal ones due to the implantation straggling effect which has been observed.

Device characterization and results

The fabricated devices were characterized on-wafer level up to 200V by using a Keithley 4200 semiconductor parameter analyzer. For the high voltage (>200V) characterization, a curve tracer Tektronix 370A was utilized. The measurements were performed in DC mode, except of the forward conduction characteristics where pulsed mode was utilized in order to avoid the self-heating effect and evalu- Copyright line will be provided by the publisher ate the maximum current conduction capability of the device. The results are reported for both short and long channel devices, by mentioning the "nominal" values of channel width as determined by the lithography masks and not the "real" ones (see discussion above).

Transfer I-V characteristics

Figure 6 shows the transfer I-V characteristics of the fabricated devices with different channel widths for both short and long channel devices. During the measurement, the drain voltage was kept constant at 0.1V.

As the channel width increases, more negative gate voltage values are necessary to pinch off the channel and consequently pass to the off state of the device. We also observe the existence of leakage problem for the short channel devices. Τhe fabrication of normally on or normally-off devices can be achieved by manipulating the channel width. Notice that the desired normally-off behavior is achieved for the narrowest channel width (1.5um) of the long devices.

Figure 7 shows the extracted V th values from the measurements and the theoretically expected curves. More than one theoretical curve are shown trying different doping profiles and channel widths in order to figure out which one is closer to the measured curve. The curves indicated by "SEM" correspond to the above mentioned values "SEM 2 ". It is worthwhile to mention that the threshold voltage value should not depend on the L G according to the theory. However, due to the important strangling in the case of deep ion implantation, the effective channel width is reduced in the long channel devices and there is a shift of the corresponding curve to smaller in absolute value threshold voltage.

Forward conduction.

Figure 8 shows the output I-V characteristics of the fabricated devices with different channel widths for both short and long channels. The gate has been biased at 2 V Gate Voltage (V) Figure 6. Transfer characteristics at V DS =0.1V of the different channel widths for both short (top) and long (bottom) channel devices. (lower than the built-in potential) to minimise the space charge region of the gate p-n junction and achieve consequently the as wide as possible channel which serves the higher current conduction.

Figure 9 shows the on-state I-V characteristics of transistors of W ch =3 um at different gate voltages ranging from 2 V down to threshold voltage value. The satisfactorily high drain current density that is achieved is noticeable. The measurements were performed in pulsed mode to avoid self-heating of the transistors.

We observe that as the L G increases, the effect of the W ch on the amount of the conducted current becomes greater, namely the control of the current conduction by the V GS is easier. Moreover, it is obvious that the short channel devices can pass greater values of current. This is attributed to the lower channel resistance of them in comparison with the respective long channel ones. Particularly for the narrowest short channel devices, the R on is equal to 6.3mΩ•cm 2 while for the respective long channel ones, it equals to 11.3 mΩ•cm 2 .

Reverse blocking

The reverse blocking test was performed with a curve tracer. The fabricated devices were immersed in Fluorinert TM dielectric liquid to prevent air breakdown.

We observed a clear triode regime of operation due to a static induction voltage-blocking capability induced by short-channel-effects (SCE) often called "Drain Induced Barrier Lowering (DIBL) [Erreur ! Signet non défini.].

The good blocking behavior of the long channel devices with low leakage currents, can be in part attributed to the reliable gate-to-source junction. Indeed, measurements of the GS characteristics of the long channel transistors, revealed that the leakage current is kept small at reverse voltages up to 40V, which is enough to pinch off the channel even for the devices with 4 μm channel width. This indicates that the fabricated devices have robust gate junctions and a negative gate voltage can be applied to obtain a high blocking voltage. Note also that these are the devices with the shorter mesa height showing that this parameter is not crucial for having low leakage between gate and source.

Nevertheless, the voltage capability for these VJFETs exhibiting the static-induction effect in the reverse blocking regime depends mainly on the L G /W ch ratio [Erreur ! Signet non défini.]. Higher values of this ratio, as in the case of our long devices, result in higher blocking voltage capability or in other words higher voltage gain values.

In the case of VJFETs exhibiting the static-induction effect, the parameter quantifying this gain control between the voltage across the device (V DS ) and the gate bias (V GS ) is called the "voltage gain" or "blocking voltage gain" or "AC voltage gain" or "differential voltage gain", but is al- Copyright line will be provided by the publisher so sometimes referred to as "voltage amplification factor". The highest voltage gain values were reported for the narrowest transistors, which exhibited the best blocking behavior. Particularly for the W ch =1.5um "long" and "short" channel transistors the voltage gain was found equal to 51 and 9.5 respectively. Fig. 11 shows the voltage gain (μ) dependence on the increase of channel width and on the L G /W ch ratio. A decreasing tense is observed with an abrupt inflection when passing from 1.5μm channel width devices to that with 2μm channel width.

The blocking voltage capability depends also on the device drift region thickness. The fabricated samples feature drift layer of 8μm and a maximum blocking voltage higher than 1000 V was expected. However, to reach this voltage, the VJFET has to be characterized by a high voltage gain (>40) with a simultaneous capability of high gate voltage (>25V for a gain of 40). In the case of our devices, this condition was met only for the smaller channel width long device. The fact that the maximum voltage blocking was only 500 V is attributed to the edge termination and more precisely to the fact that the top n + layer has not been removed from the floating guard rings.

Conclusions

This paper presents the design consideration, fabrication and electrical characterization of 4H-SiC TI-VJFETs with different channel lengths and widths. The electrical characteristics showed that the longer (i.e. deeper Al implantation) gate transistors exhibit higher on-resistance values and lower leakage currents as expected. The threshold voltage and gate-source characteristics were similar for the two types (long and short channel) of transistors. The blocking characteristics were triode-like and consequently the rated voltage class are determined by a static induction effect and therefore rather from the channel geometry than from the drift layer doping and thickness. The advantage of the hereby proposed technology is its robustness and simplicity as only four self-aligned photolithography steps have been employed.

A major conclusion of this study is that a high L G /W ch ratio (higher than 1.2) is necessary for good blocking purposes (e.g. high blocking voltage with small gate bias).

Figure 1 .

 1 Figure 1. Schematic of the device cross-section.

  regions. A 100 nm thick Ni layer is also deposited on the wafer back-side.

Figure 3 .

 3 Figure 3. Source pillars after metallization deposition in the case of non-optimized self-aligned (a) conventional-contactlithography (b) and optimized self-aligned (c) processes.

Figure 2 .

 2 Figure 2. SEM micrographs showing cross sectional views of the completed "short" (top) and "long" (bottom) devices.

Figure 4 .

 4 Figure 4. SEM images taken (top) after RTA at 1000ºC, (middle) after BCB deposition and etch-back from the source fingers and (bottom) after 2 nd etch-back on the gate pad.

Figure 5 .

 5 (a) SEM of the completed device, (b) Schematic of the device cross-section (Dark red:Substrate high n-type SiC, Dark and light green:high and low n-type SiC, red:p-type SiC, yellow:cyclotene, grey:SiO 2 , light orange:Ni contact, purple:Au overlay.

Figure 7 .

 7 Figure 7. Threshold voltage dependence on channel width.

Figure 8 .

 8 Figure 8. On state I-V characteristics of the different channel width devices (V GS =2V).

2 )Figure 9 .

 29 Figure 9. On state I-V characteristics (W ch =3um).

Figure 10 .

 10 Figure 10. Reverse blocking characteristics of the different channel width devices

Figure 11 .

 11 Figure 11. Voltage gain (μ) values.

Acknowledgements

The work was supported from projects Anti-SiC and SICWIRE funded by GSRT and EU respectively.


Pascal Zongo

René Dorville

Elisée Gouba

Joseph Ki-Zerbo

Method for Identifying Spatial Reservoirs of Malaria Infection and Control Strategies

Keywords: Control, Optimization, Metapopulation, Basic reproductive number, cost-effectiveness analysis

Managing spatial reservoirs of malaria infection plays a crucial role in effective disease control. In this paper, a reservoir of infection refers to one or more interconnected subpopulations that sustain the epidemic at the level of the metapopulation to which applying a (linear) control strategy suffices to eradicate the disease in the whole system. We propose a numerical method to explain the steps for identifying reservoirs of malaria infection within n connected regions with the explicit movement of human population from the previous theoretical results in order to design an efficient computational tool. Furthermore, we determine the minimal percentage (critical vaccination fraction) of susceptible individuals in the reservoirs that should be protected to eliminate malaria. The costs and cost-effectiveness of malaria control interventions were analysed considering two strategies of control. (i) protecting the minimal fraction of susceptible individual; (ii) protecting any fraction greater than the minimal fraction. Cost-effectiveness analysis shows that the less cost and more effective strategy is to vaccinate (or protect) the minimal fraction of susceptible human in the reservoir of infection to halt outbreak. A numerical example provides insight into the efficiency of this approach.

I. INTRODUCTION

Malaria is a mosquito-borne infections disease caused by protozoa of the genus plasmodium (parasite). It is estimated that about 1.5-3 million of people, mostly children, die of malaria every year [START_REF] Who | The World Health Report[END_REF]. Malaria control requires an integrated approach, including prevention and prompt treatment [START_REF] Who | Guidelines for the Treatment of Malaria[END_REF].

The parasites are transmitted indirectly from human to human by the bite of infected female mosquitoes of the genus Anopheles. There is some natural acquired partial immunity to the pathogen in humans developed after many years of repeated infections [START_REF] Aron | Mathematical modeling of immunity to malaria[END_REF], [START_REF] Drakeley | Transmission reducing immunity is inversely related to age in plasmodium falciparum gametocyte carriers[END_REF], [START_REF] Kaslow | Transmission-blocking immunity against malaria and other vector-borne diseases[END_REF], [START_REF] Ponnudurai | Transmission blockade of Plasmodium falciparum: its variability with gametocyte numbers and concentration of antibody[END_REF].

Models have already been proposed to provide an explicit framework for understanding malaria transmission dynamics in human population for over 100 years [START_REF] Chitnis | Bifurcation analysis of a mathematical model for malaria transmission[END_REF], [START_REF] Ducrot | A mathematical model for malaria involving differential susceptibility, exposedness and infectivity of human host[END_REF], [START_REF] Mandal | Mathematical models of malariaa review[END_REF], [START_REF] Ngwa | A mathematical model for endemic malaria with variable human and mosquito populations[END_REF] and references there in. Human movement has rarely been taken into account in models. Recently, it was shown that the role of human movement plays a signif cant role on disease reemergence and persistence [START_REF] Arino | Quarantine in a multispecies epidemic model with spatial dynamics[END_REF], [START_REF] Brauer | Mathematical Models in Population Biology and Epidemiology[END_REF], [START_REF] Martens | Malaria on the move: human population movement and malaria transmission[END_REF]. There are two standard approaches to study the spatial dynamics of vector borne disease such as malaria: partial differential equations [START_REF] Lou | A reaction-diffusion malaria model with incubation period in the vector population[END_REF], [START_REF] Xiao | Mathematical Biology Transmission dynamics for vector-borne diseases in a patchy environment[END_REF], [START_REF] Xu | A reaction-diffusion model of dengue transmission[END_REF], [START_REF] Yu | A nonlocal spatial model for Lyme disease[END_REF] and meta-population models [START_REF] Arino | A metapopulation model for malaria with transmission-blocking partial immunity in hosts[END_REF], [START_REF] Lee | the role of residence times in two-patch dengue transmission dynamics and optimal strategies[END_REF], [START_REF] Xiao | Mathematical Biology Transmission dynamics for vector-borne diseases in a patchy environment[END_REF]. More precisely, in [START_REF] Arino | A metapopulation model for malaria with transmission-blocking partial immunity in hosts[END_REF], a metapopulation malaria model was proposed using SI and SIRS models for the vectors and hosts, respectively. The mobility of human population has been proved to have a signif cant impact on the epidemic behavior. For example, the impact of the movement of human population on malaria transmission in different realistic situations: from rural into urban areas and colonization of heretofore unused territories was performed. Using type reproduction numbers approach developed in [START_REF] Heesterbeek | The type-reproduction number T in models for infectious disease control[END_REF], [START_REF] Roberts | A new method to estimate the effort required to control an infectious disease[END_REF], the authors identify the reservoirs of infection and evaluate the effect of control measures. We point out that the reservoirs of infection remain variously and loosely def ned in the literature [START_REF] Ghinai | Malaria epidemiology in central Myanmar: identification of a multi-species asymptomatic reservoir of infection[END_REF], [START_REF] Haydon | Identifying reservoirs of infection: a conceptual and practical challenge[END_REF], [START_REF] Shannon | Sub-clinical P. falciparum infections act as year-round reservoir for malaria in the hypoendemic Chittagong Hill Districts of Bangladesh[END_REF], [START_REF] Viana | Assembling evidence for identifying reservoirs of infection[END_REF]. In this paper, a reservoir of infection is a subpopulation to which applying a (linear) control strategy suff ces to eradicate the disease in the whole system [START_REF] Arino | A metapopulation model for malaria with transmission-blocking partial immunity in hosts[END_REF], [START_REF] Heesterbeek | The type-reproduction number T in models for infectious disease control[END_REF], [START_REF] Roberts | A new method to estimate the effort required to control an infectious disease[END_REF]. A reservoir may comprise multiple connected subpopulation of human and/or mosquitoes. Thus to reduce or eliminate malaria over time, a control should be applied simultaneously in the different reservoirs of infection, but the minimal fraction of susceptible individuals of each reservoir to be protected is not specif ed, thus a control like that should be cost a great deal of money. Therefore arise the following question, what minimal fraction of each group of the reservoir should be protected to eliminate malaria? This minimal fraction can be interpreted as the critical vaccination fraction (fraction of population to vaccinate to halt outbreak).

The main purpose of this paper is threefold: (i) to explain the steps for identifying reservoirs of malaria infection from the theoretical results derived in [START_REF] Arino | A metapopulation model for malaria with transmission-blocking partial immunity in hosts[END_REF] in order to design an eff cient computational tool; (ii) determine the minimal percentage of susceptible individuals in the reservoir namely, those that should be protected to eliminate the malaria over time in the whole of the region; (iii) analysis the cost and cost-effectiveness when controlling infection within the reservoir from the minimal percentage of susceptible individuals to protect. Cost-effectiveness analysis is very important because it compares the costs and health effects of an intervention to assess the extent to which it can be regarded as providing value for money [START_REF] Alphey | A Model Framework to Estimate Impact and Cost of Genetics-Based Sterile Insect Methods for Dengue Vector Control[END_REF], [START_REF] Rich | An integrated epidemiologicaleconomic analysis of foot and mouth disease : applications to the southern cone of South America[END_REF]. This informs decision-makers who have to determine where to allocate limited healthcare resources.

II. DESCRIPTION OF MODEL FORMULATION

In this section we give a summary of the model as already discussed in [START_REF] Arino | A metapopulation model for malaria with transmission-blocking partial immunity in hosts[END_REF] before to extend it. The space was split into n geographical regions. For each geographical unity i, i = 1, . . . , n, human population was divided into three subclasses: susceptible S H,i (t), infectious I H,i (t) and semiimmune R H,i (t). Total size of the human population H i (t) = S H,i (t) + I H,i (t) + R H,i (t) and the mosquito population into two subclasses: susceptible S V,i (t) and infectious I V,i (t). Humans were assumed move from patch to patch but the movement of mosquitoes was neglected, so humans were assumed do not change their epidemiological status during travel. The model was read as follows:

Total mosquito population

V i (t) = S V,i (t)+I V,i (t).
for each i = 1, . . . , n, dS H,i dt = Λ H,i + β H,i R H,i + ρ H,i I H,i -µ H,i S H,i -Φ H,i S H,i + n j=1 m S ij S H,j - n j=1 m S ji S H,i , dI H,i dt = Φ H,i S H,i -ǫ H,i I H,i + n j=1 m I ij I H,j - n j=1 m I ji I H,i , dR H,i dt = α H,i I H,i -δ H,i R H,i + n j=1 m R ij R H,j - n j=1 m R ji R H,i , dS V,i dt = Λ V,i -µ V,i S V,i -Φ V,i S V,i , dI V,i dt = Φ V,i S V,i -µ V,i I V,i (1)
with initial conditions S H,i (0), S V,i (0) > 0,

I H,i (0), R H,i (0), I V,i (0) ≥ 0, ǫ H,i = α H,i + γ H,i + ρ H,i + µ H,i , δ H,i = β H,i + µ H,i .
In the above formulation, m π ij , π = S, I, R, denote the constant rate of travel of humans from patch j to patch i, for all i, j = 1, . . . , n, i = j. M π = [m π ij ], π = S, I, R, is the travel rate matrices. The matrices M π , π = S, R, was assumed to be irreducible and m π ii = 0, for π = S, I, R and i = 1, . . . , n. In this paper, we use the force of infection derived in [START_REF] Chitnis | Bifurcation analysis of a mathematical model for malaria transmission[END_REF] as follows:

Φ H,i = a V,i a H,i V i a V,i V i + a H,i H i σ ViHi I V,i V i , (2a)
Φ V,i = a V,i a H,i H i a V,i V i + a H,i H i σ HiVi I H,i H i + σ HiVi R H,i H i . (2b)

A. Disease free state

An equilibrium solution of system (1) at which there is no disease in any of the patches is called a disease-free equilibrium. The local stability of this point is governed by the basic reproduction number denoted by R 0 . This latter is the expected number of secondary cases produced by a typical infective individual introduced into a completely susceptible population, in the absence of any control measure [START_REF] Diekmann | On the definition and the computation of the basic reproduction ratio R0 in models for infectious diseases in heterogeneous populations[END_REF]. Next generation approach was used to derive R 0 (see [START_REF] Van Den Driessche | Reproduction numbers and subthreshold endemic equilibria for compartmental models of disease transmission[END_REF]). When R 0 < 1 the infection will die out in the long run. But if R 0 > 1 the infection will be able to spread in a population. It was shown that when disease induce mortality is large, a backward bifurcation may occur at R 0 = 1, that to say, reduce R 0 below 1 is not always sufficient to eliminate malaria.

B. Reservoir of infection

In this paper, a subgroup of patches is said to be a reservoir of infection when only targeting a control strategy which linearly reduce the number of susceptible is sufficient to eliminate the malaria in the whole of the patches. Define by J h = {H 1 , H 2 . . . , H n } the set of humans population, it was shown that a control only targeted on human population was possible to eliminate malaria. In this paper we focus on a control type targeted only to the human population. A new next generation operator M J h was defined by

M J h = [R HiHj ] 1≤i,j≤n , (3)
where R HiHj can be interpreted as the expected number of secondary infected humans in patch j that would arise from a single infected human case in patch i, in a situation where all the patches contain a completely susceptible population. Moreover we have

ρ(M J h ) < 1 ⇔ R 0 < 1 (4)
where ρ(A) is the spectral radius of a matrix A (see [START_REF] Arino | A metapopulation model for malaria with transmission-blocking partial immunity in hosts[END_REF] for details).

C. Sufficient condition for a patch to be a reservoir of infection

In [START_REF] Arino | A metapopulation model for malaria with transmission-blocking partial immunity in hosts[END_REF], it was shown that if there exists some patch ℓ in the subset {1, 2, . . . , n} such that R H ℓ H ℓ ≥ 1, then patch ℓ is an infection reservoir. In this case, we need to target simultaneously a control to the whole of susceptible population of the reservoir to eliminate malaria over time.

III. MINIMAL AND EFFICIENT CONTROL

From results obtained in [START_REF] Arino | A metapopulation model for malaria with transmission-blocking partial immunity in hosts[END_REF], arise the following question: What minimal fraction of each group of the reservoir should be protected to eliminate malaria?

Let J res be the set of reservoirs of infection. From section II-C, we have

J res = {ℓ ∈ {1, 2, . . . , n} : R H ℓ H ℓ ≥ 1} (5)
In the sequel, denotes by p the number of patches reservoirs, it is clear that p = cardinal(J res ) so that (np) represents the number of un-reservoirs patches while n is the number of patches. From [START_REF] Heesterbeek | The type-reproduction number T in models for infectious disease control[END_REF], one can define a new next generation matrix as follows: ______________________________________________________________________________________ where E J h and P J h are, respectively, n × p and n × n projection matrices satisfying (E J h ) jj = (P J h ) jj = 1 for j ∈ J res and (E J h ) jj = (P J h ) jj = 0 otherwise. M Jres is a p × p matrix satisfying ρ(M Jres ) < 1 ⇔ R 0 < 1. In the sequel, we set

M Jres = E T J h M J h [I n -(I n -P J h )M J h ] -1 E J h , (6
M Jres = [M ij ] 1≤i,j≤p . (7)
The entries of M Jres are similar in concept to the entries of M J h .

A. Formulation of the objective function

Let S * H ℓ be the number of susceptible individuals within each patch ℓ at the disease free equilibrium, ℓ = 1, . . . , p. this number is obtained from Theorem [START_REF] Ducrot | A mathematical model for malaria involving differential susceptibility, exposedness and infectivity of human host[END_REF] in [START_REF] Arino | A metapopulation model for malaria with transmission-blocking partial immunity in hosts[END_REF].

Let f ℓ denotes the fraction of these susceptible that should be protected in patch ℓ. Then,

S * H ℓ f ℓ (resp. S * H ℓ (1 -f ℓ )
) represents the number of protected (resp. not protected) individuals at the disease-free state in the patch ℓ, ℓ = 1, . . . , p.

The fraction of susceptible in the whole population is denoted by F = (f 1 , f 2 , . . . , f p ) and those who will not need to be protected is denoted by

F = (1-f 1 , 1-f 2 , . . . , 1-f p ).
From now, one can define a new next generation matrix with variable F denoted by M Jres (F ) :

M Jres (F ) =      (1 -f 1 )M 11 (1 -f 2 )M 12 • • • (1 -f p )M 1p (1 -f 1 )M 21 (1 -f 2 )M 22 • • • (1 -f p )M 2p . . . . . . . . . . . . (1 -f 1 )M p1 (1 -f 2 )M p2 • • • (1 -f p )M pp     
Note that when F = 0 then M Jres (F ) = M Jres .

To determine the minimal fractions of susceptible individuals, we set

ρ(M Jres (F )) = 1 ⇔ ρ(M Jres ) = 1 ⇔ R 0 = 1. (8)
Now, one can formulate the objective function to minimized as follows:

min 0≤F ≤1 J (F ) = p ℓ=1 S * H ℓ f ℓ , (9a)
subject to the constraint ρ(M Jres (F )) = 1

Existence of an unique solution of Eqs (9 can be easily derived by a similar argument as in [START_REF] Hill | The critical fraction for heterogeneous epidemic models[END_REF]. A powerful tool for numerical solving of Eqs ( 9) is the method of Lagrange multipliers [START_REF] Lasdon | Optimization theory for large systems[END_REF]. In the sequel we denote by F * = (f * 1 , . . . , f * p ) T the solution of Eq [START_REF] Van Den Driessche | Reproduction numbers and subthreshold endemic equilibria for compartmental models of disease transmission[END_REF].

B. Dynamics of system (1) with control over time

We recall that the minimal control is obtained by solving Eqs. [START_REF] Van Den Driessche | Reproduction numbers and subthreshold endemic equilibria for compartmental models of disease transmission[END_REF]. To test its effect on the dynamic of the system (1), we define a new force of infection, Φ H,i (t), with the value of the minimal control as follows:

Φ H,i (t) = (1 -f * i )Φ H,i (t) if i ∈ J res Φ H,i (t) otherwise. ( 10
)
for all i = 1, . . . , n. In the above equation, Φ H,i (t) represents the initial force of infection defined in Eq. ( 2), J res represents the set of reservoirs of infection defined by Eq (5), the control is only introduced within the reservoir of infection.

C. Analysis of Optimal control

We point out that the minimal control derived in the previous section is not an optimal control. The minimal control does not depend on the time, it is constant over time. An optimal control can be considered when we would like to apply a prevention depending of the time with a given final time T for disease eradication as well as budget constraint, this type of control was already investigated in [START_REF] Zorom | Optimal Control of a Spatio-Temporal Model for Malaria: Synergy Treatment and Prevention[END_REF]. In that case an optimal control problem can be formulated in the set of the identified reservoirs {1, . . . , p} ⊂ {1, . . . , n} with the following objective (cost) functional:

J(f ) = p i=1 T 0 I H,i (t) + R H,i (t) + a i 2 f 2 i (t) dt - p i=1 C i S H,i (T ) (11)
where f = (f 1 , f 2 , . . . , f p ). I H,i and R H,i represent the number of infectious and semi-immune in patch i respectively, p is the number of reservoirs patches, (np) represents the number of unreservoirs patches while n is the number of patches. The term ai 2 f 2 i (t) is the cost of prevention with a i > 0 are the weight factor in the cost of control. C i S H,i (T ) is the fitness of the susceptible at the end of the process as a result of the prevention efforts implements for the patch i = 1, . . . , p. Using a similar argument as in [START_REF] Zorom | Optimal Control of a Spatio-Temporal Model for Malaria: Synergy Treatment and Prevention[END_REF] and under suitable condition one can prove the existence of an optimal control.

D. Methodology for numerical implementation

Here, we present the steps for numerical implementation. Step 3: Compute M J h from in [3, Eq. ( 17)].

Step 4: Compute M Jres from Eq. (6).

Step 5: Solving Eq. ( 9) to find minimal control.

Step 6: Solving Eqs. (1) using the minimal control obtained in step 5 to represent the dynamic of malaria model.

IV. COSTS AND COST-EFFECTIVENESS OF MALARIA CONTROL FOR TWO STRATEGIES

Cost-effectiveness analysis compares the costs and health effects of an intervention to assess the extent to which it can be regarded as providing value for money [START_REF] Alphey | A Model Framework to Estimate Impact and Cost of Genetics-Based Sterile Insect Methods for Dengue Vector Control[END_REF], [START_REF] Rich | An integrated epidemiologicaleconomic analysis of foot and mouth disease : applications to the southern cone of South America[END_REF]. This informs decision-makers who have to determine where to allocate limited healthcare resources. It is performed in this section to assess the effectiveness of a control targeted on the minimal fraction obtained in previous section considering two strategies of control over a reference period T -T I , where T I is the initial time for which the control is introduced and T the final time.

Strategy 1 : Protecting the minimal fraction of susceptible individuals to eliminate malaria in the reservoir of infection over the period T -T I .

Strategy 2 : Protection of any fraction of susceptible individuals greater than the minimal fraction for eradicate malaria at the same over the period T -T I .

To achieve this purpose for our above strategies, we need to compare the differences between the cost and health outcome. This is done by calculating the incremental cost effectiveness ratio (ICER) defined as follows:

ICER = C * -C HE * -HE (12)
where HE * (resp. HE) denotes the health effect of strategy 1 (resp. strategy 2) and C * (resp. C) denotes the present value (at time t = 1) of costs for the whole project of strategy 1 (resp. strategy 2). A similar method is used in [START_REF] Okosun | Impact of optimal control on the treatment of HIV/AIDS and screening of unaware infectives[END_REF].

A. Method to calculate costs C (resp. C * ) for strategy 2 (resp. strategy 1) Let c t ℓ denotes financial cost of protecting one individual for one unit of time t (here one month) in patch ℓ. Because f l S * H l is the number of individuals to be protect in patch ℓ then c t ℓ f ℓ S * H ℓ is the total required financial cost to protect all individuals in patch ℓ = 1, . . . , p. It follows that the total cost allowed to strategy 2 (resp. strategy 1) is given by

C t = p l=1 c t l f l S * H l , and
C * t = p l=1 c t l f * l S * H l t = 1, . . . , T
When cost effectiveness ratios are reported with discounting of future costs and benefits due to the longer-term implementation time, if we denote by r s the social discount rate, we have

C * := T t=1 C * t (1 + r) t-1 and C := T t=1 C t (1 + r) t-1 ,

B. Method to calculate health effect of strategy 1 HE (resp. of strategy 2 HE

* ) HE = 1 T -T I T TI p l=1 S f H l (t)dt and HE * = 1 T -T I T TI p l=1 S f * H l (t)dt,
where S f H l (t) denote the number of susceptible at time t when Φ H,i (t) = Φ H,i and S f * H l (t) denote the number of susceptible at time t when Φ H,i (t) = (1f * i )Φ H,i .

V. SIMULATION EXPERIMENTS

A. Parameters values

To test the method, we have assumed that the travel rates of humans depend on the distance between cities. We set

M S = M I = M R = 10 -3 n -1 • [|i -j|], 2 ≤ i,

B. Results and Discussion

The computation provides the basic reproductive number value: R 0 = 1.3239. That to say, without control, one has malaria that persists in the human population.

1) Reservoir of infection: Numerical implementation of the method shown in Appendix allowed to identify the set of reservoirs shown on Table II andFigure 2) Dynamics of system [START_REF] Alphey | A Model Framework to Estimate Impact and Cost of Genetics-Based Sterile Insect Methods for Dengue Vector Control[END_REF] with/ or without minimal control: Figure 2 show the endemicity of malaria without control. Indeed, Although others cities are not reservoirs of The comparison between ICER(1) and ICER(2) shows a cost saving of 7,2325 for strategy 1 over strategy 2. The ICER for strategy 1 indicates the strategy 2 is "strongly dominated". Strategy 2 is then more costly and less effective than strategy 1. With this result, we therefore conclude that strategy 1 is the less cost and most effective.

VI. CONCLUSION

In this article, we have extended the model derived in [START_REF] Arino | A metapopulation model for malaria with transmission-blocking partial immunity in hosts[END_REF] to give a numerical method to explain the steps for identifying reservoirs of malaria infection within n connected regions with the explicit movement of human population. This method is intended to design an efficient computational tool.

In the one hand, we have shown how to determine the minimal percentage of susceptible individuals in the reservoirs that should be protected to eliminate malaria over time in the whole population. The minimal percentage quantifies the degree of malaria risk in the reservoirs areas. It is regulated by the mobility flux of human population between patches. Thus for the public health decision makers, when datasets on human migration flux, demographic and epidemic are known, this method can aid to estimate the minimal percentage of susceptible individuals to be protected. We have explained that the minimal percentage is not necessarily an optimal control but allows to reduce the cost of intervention. It is constant over time. An optimal control can be considered when we would like to apply a preventative depending of the time with a given final time T for disease eradication as well as a budget constraint. In that case we have shown how to formulate such a problem.

In the second hand, the costs and cost-effectiveness of malaria control interventions is performed considering two strategies of control: (i) protecting the minimal fraction of susceptible individual; (ii) protecting any fraction greater than the minimal fraction. Cost-effectiveness analysis shows that the less cost and more effective strategy is to protect the minimal fraction of susceptible individual in the reservoir of infection. Biologically relevant parameters have been estimated and used to fulfill numerical simulations of the model. These simulations was implemented through an example using Matlab (www.matlab.org). Simulation of the evolution over month of the density of human in infectious class (I H,i ) and semi-immune class (R H,i ), as well as the density of infectious mosquitoes (I V,i ) for 20 cities was shown on Figure 23. Together with the both Figures and the Cost-infectiveness results, we argue that Strategy (ii) is then more costly and less effective than strategy (i). With this result, we therefore conclude that strategy (i) is the less cost and most effective, namely the minimal fraction of population to vaccinate (or protect) to halt outbreak is efficient.

Our study will be useful for spatial vaccination programs in which optimization methods are needed to minimize the costs. Moreover thanks to this study, when the datasets on human migration flux, demographic and epidemic are known, one can estimate the minimal percentage of susceptible individuals to be protected. The method developed in this paper may be allow to the implementation of a software for monitoring spatio-temporal variations in malaria epidemic risk.

)

  IAENG International Journal of Applied Mathematics, 48:1, IJAM_48_1_05 (Advance online publication: 10 February 2018)

Step 1 : 2 :

 12 Compute principal next generator matrix K from [3, Theorem 3]. Step Compute next generator matrix extracted K from [3, Corollary 1].

1 .

 1 Cities number 2,3,5,6,8,10,12,13,15,16 and 20 represent the reservoirs of infection based on the value of the minimal fraction F * := (f * 1 , . . . , f * 20 ). Indeed, one considers that a city ℓ is a reservoir when f * ℓ = 0.

Fig. 1 .

 1 Fig. 1. This figure shows the cities which represent reservoirs of infection when we use the data in Table III and the algorithm presented in this paper. Cities number 2,3,5,6,8,10,12,13,15,16 and 20 represent the reservoirs of infection while cities 1,4,7,9,11,14,17,18,19 are not. Moreover this figure provides the minimal percentage (i.e. 100F * , where F * := (f * 1 , . . . , f * 20 ) is shown on Table (II)) of human within each reservoir that should be protected to eliminate malaria in the whole of the population (human and mosquitoes).

[

Fig. 2 .

 2 Fig. 2. Simulation of the evolution over month of the density of human in infectious class (I H,i ) and semi-immune class (R H,i ), as well as the density of infectious mosquitoes (I V,i ) for 20 cities when we have no control measures. Initial condition: S H,i (0) = 500, i = 1, . . . , 20, I H,1 (0) = 10, and I H,i (0) = 0, i=2,. . . , 20; R H,i (0) = 0, i = 1, . . . , 20; S V,i (0) = 100, i = 1, . . . , 20; I V,i (0) = 0, i = 1, . . . , 20.

[

Fig. 3 .

 3 Fig. 3. Simulation of the evolution over month of the density of human in infectious class (I H,i ) and semi-immune class (R H,i ), as well as the density of infectious mosquitoes (I V,i ) for 20 cities when the minimal percentage of susceptible human shown in Table II are protected 100 months post-infection. Initial condition: S H,i (0) = 500, i = 1, . . . , 20, I H,1 (0) = 10, and I H,i (0) = 0, i=2,. . . , 20; R H,i (0) = 0, i = 1, . . . , 20; S V,i (0) = 100, i = 1, . . . , 20; I V,i (0) = 0, i = 1, . . . , 20.

  Table III summarizes the model parameters as well as their biological interpretation and Table I summarizes the state variables.

TABLE II THE

 II MINIMAL FRACTION F * AND THE MAXIMAL FRACTION F DEPENDING OF THE PARAMETERS VALUES OF a H AND a V .

	City	1	2	3	4	5	6	7
	a H	1.6	2	2.5	1.5	2.1	2.3	1.2
	a V	0.6	0.65	0.35	0.4	0.3	0.5	0.2
	F *	0	0.6	0.80	0	0.63	0.70	0
	F	0	1	1	0	1	1	0
	City	8	9	10	11	12	13	14
	a H	1.9	1.7	2.4	1.6	2	2.5	1.5
	a V	0.55	0.8	0.45	0.6	0.65	0.35	0.4
	F *	0.48	0	0.70	0	0.51	0.72	0
	F	1	0	1	0	1	1	0
	City	15	16	17	18	19	20
	a H	2.1	2.3	1.2	1.9	1.7	2.4
	a V	0.3	0.5	0.2	0.55	0.8	0.45
	F *	0.56	0.65	0	0	0	0.71
	F	1	1	0	0	0	1

TABLE III BASELINE

 III VALUES FOUND IN THE LITERATURE[START_REF] Arino | A metapopulation model for malaria with transmission-blocking partial immunity in hosts[END_REF],[START_REF] Ducrot | A mathematical model for malaria involving differential susceptibility, exposedness and infectivity of human host[END_REF],[START_REF] Chitnis | Bifurcation analysis of a mathematical model for malaria transmission[END_REF],[START_REF] Zongo | Modélisation mathématique de la dynamique de la transmission du paludisme[END_REF]. WE HAVE ASSUMED THAT THE PARAMETERS ARE IDENTICAL IN ALL THE PATCHES EXCEPTED a H,i THAT VARIES FROM A PATCH TO ANOTHER AND THE RATE OF TRAVEL m π ij THAT DEPENDS ON THE DISTANCE BETWEEN PATCHES.

	Symbol	Description	Values
	Λ H,i :	recruitment into the susceptible class	0.4
	α H,i :	rate of progression from the
		infectious to the semi-immune class	0.0035
	ρ H,i :	rate of recovery from being infectious	0.035
	β H,i :	rate of recovery from being semi-immune	5.5 × 10 -4
	γ H,i :	disease induced death rate	9 × 10 -5
	µ H,i :	natural death rate	5 × 10 -4
	Λ V,i :	recruitment into the susceptible class	500
	µ V,i :	natural death rate	0.04
	σ H i V i :	probability of transmission from an infect-
		ious human to a susceptible mosquito	0.48.
	σ H i V i :	probability of transmission from a semi-
		immune human to a susceptible mosquito	0.048
	σ V i H i :	probability of transmission from an infec-
		tious mosquito to a susceptible human	0.022
	a H,i :	maximum number of mosquito bites
		a human can receive per unit time	Table II
	a V,i :	number of times one mosquito would
		bite humans per unit time	Table II
	M π :	π = S, I, R rate of travel
		of humans from patch j to patch i	Eq. (13)


Sahar Kallel

Chouki Tibermacine

Ahmed Hadj Kacem

Christophe Dony
email: dony@lirmm.frahmed.hadjkacem@fsegs.rnu.tn

Multi-Paradigm Architecture Constraint Specification and Configuration Based on Graphs and Feature Models

Currently, architecture constraints can be specified and checked in different paradigms of software development, the object-oriented, componentbased and service-based one. But the current state of the art and practice do not consider their specification at a high level of abstraction, independently from any paradigm vocabulary. We propose in this paper a process combining graphs and feature modeling to specify multiparadigm architecture constraints. These constraints are expressed with OCL on a particular meta-model of graphs. Then these constraints can be transformed to any chosen paradigm, after their configuration using a feature/variability model. This transformation allows later to handle these constraints in that (chosen) paradigm: to refine them, to generate source code from them, and to check them on models and on source code. A case study is presented in this paper; it concerns architecture constraint specification and configuration under software migration from the object-oriented to the component-based paradigm.

Introduction

Documenting software architectures provides a preliminary comprehensive view of the structure and the behavior of the software. This documentation includes the definition of architecture decisions which provide an important element: Architecture constraints.

Architecture constraints [START_REF] Tibermacine | Architecture constraints[END_REF], which are meta-level specifications of invariants on the structure of the entities, constituting a user application (objects for instance), enable to "formalize" the topological/structural conditions imposed by design patterns, architectural styles or any design principle. They are involved throughout the software development life-cycle (from design to implementation stages and in maintenance). Currently, these artifacts can be specified and checked in different programming paradigms: the object-oriented, component-based and service-based one, among others. But constraint specifications in the different paradigms are defined completely separately from each other, while these share a major part of their specification. This part concerns the formalized structural conditions. The variable part between them is the set of architectural entities on which these conditions are checked (objects, object dependencies, components, ports, connectors, services, and so on). For example, in the Façade pattern, the façade entity is an object in an object-oriented application, and what it hides to client entities are the internal methods of the application. In a component-based application, the façade entity is a component which provides a unique port to client entities; it hides the provided services by the other components of the application. The structural conditions here are the same (presence of a unique entity -object or component -which serves client entities).

In our previous works [START_REF] Kallel | Automatic translation of ocl meta-level constraints into java metaprograms[END_REF][START_REF] Kallel | Generating reusable, searchable and executable "architecture constraints as services[END_REF], we have studied the use of OCL/UML 1 for architecture constraint specification and their checking at the design and implementation stages in different development paradigms. Our first work presented a process which enables to generate meta-programs that make possible constraint checking on object-oriented applications. The second work proposed another process which enables to generate reusable and executable components deployed in component-based applications, in addition to architecture constraints as services which are reusable, searchable, executable and checkable in service-based applications. We propose in this paper an approach (a language and a process) in which architecture constraints are specified in an abstract way, with a neutral structural constraint vocabulary. They are expressed in ocl and navigate in a meta-model of graphs. Then these constraints can be transformed towards a given paradigm (in our case, the object-oriented, component-based and servicebased ones) by configuring a feature model. This feature model expresses the commonality and variability between development paradigms. Once constraints are transformed to a given paradigm, they can be checked on models defined in that paradigm, or be refined and transformed into meta-programs (particular classes or component/service descriptors) to be checked on the code of applications.

The remaining of this paper is organized as follows. In the following section, we present the graph meta-model and the feature model used in our approach. Section 3 explains the process of architecture constraint configuration and transformation. A case study is exposed in Section 4. Before concluding, we discuss the related work in Section 5.

Architecture Constraint Specification and Configuration

We define in the first subsection a meta-model of graphs on which an example of an architecture constraint is specified. In the second subsection, we present the feature model used for the configuration of constraints.

A Meta-model of Graphs

As an underlying software representation we use graphs because they can capture the basic structure in a straightforward and generic way: nodes represent software entities and edges represent relationships between those entities. More precisely, we have used typed, directed and labeled graphs. We have used a typed graph to specify that nodes can be nested in other nodes. We have used directed graphs, implying that each edge has a source and a target node (directed dependencies between software entities) and labeled graphs to attach any number of domain-specific properties to the nodes and edges. Fig. 1 shows the meta-model of graphs used in our approach. A graph is composed of edges and nodes. A node has at least one outgoing and ingoing edge. Each edge has exactly one source node and one target node. A node can be composite or simple. The composite node can be composed of simple and also composite nodes. Each node and edge can be labeled in order to refine the graph. According to this meta-model, we can obtain a model (a graph) that contains edges going from inside a composite node to a simple one.

Listing 1.1 presents an architecture constraint characterizing the Façade pattern. This constraint is formalized with OCL navigating in the meta-model shown in Fig. 1. It consists of several sub-constraints. We suppose that there exist a set of nodes that represent clients, another set represents systems and a node represents a facade. These node labeled Client, System, Facade may give a hint about constraint semantic but it is not clear that these nodes represent objects, components or classes. At this level, we can say that the constraint is formalized in an abstract way, i.e. independently from any paradigm. To translate the constraints into a specific paradigm, we have to configure a feature model which is presented in the following section.

Feature models

Feature models [START_REF] Pohl | Software product line engineering: foundations, principles and techniques[END_REF] are simple and hierarchical models that capture the commonality and variability of a set of products in a software product line. In our approach, a feature model is used to express the variability between software development paradigms.

A feature diagram is a representation of a feature model. We have used the notation of Czarnecki et al. [START_REF] Czarnecki | Staged configuration through specialization and multilevel configuration of feature models[END_REF] in the feature diagram developed for our approach because it is a practical way to integrate labels for the nodes and the edges. It is a useful way to configure the constraint which navigates, among others, in Label, Node and Edge meta-classes of the graph meta-model. Moreover, an architecture constraint is generally composed of sub-constraints assembled by the logic operator "and" (see Listing 1.1). In each sub-constraint, we find several (0n) nodes and/or edges. Each node or edge can be translated to the appropriate element in the chosen paradigm (class, method, connector, port, object, etc). For doing so, we added a cardinality to the feature diagram in order to be able to do all the required transformation for each sub-constraint and configure each node and each edge.

Since this work is a continuation of our previous works (introduced in the previous section), we have chosen to translate ocl architecture constraints from a graph meta-model to UML2 meta-model based on feature models. Therefore, the features (without considering the leaves) represent, among others, the metaclasses (Ex: Graph, Node, Edge) and the meta-roles (ex: source and target) of the meta-model of graphs, while the leaves of the feature diagram are elements of the UML meta-model (Fig. 2 3 ).

The root feature of the diagram is the graph representing the architecture on which the constraint is formalized. The feature Node is a sub-feature of EltGraph (i.e.,Node is a child of EltGraph in the feature tree) and has an attribute for specifying its label, if any. Every feature is qualified by a feature cardinality. It

Multi-paradigm Architecture Constraints

In this section, we present the different steps of the constraint transformation. We use the Façade architecture constraint shown in Listing 1.1 as a running example.

Constraint Configuration

Constraint configuration consists in selecting, in the feature diagram, the suitable features to build a new constraint in the chosen paradigm. This step is started by configuring first the context of the constraint, then configuring the OCL definitions 4 and OCL let expressions, if any, and finally the sub-constraints by respecting their appearance order in the constraint. A step called feature model specialization [START_REF] Czarnecki | Staged configuration through specialization and multilevel configuration of feature models[END_REF] is performed before the configuration. It consists in choosing the precise values of cardinalities presented in the feature diagram. This facilitates the configuration of the constraint by reserving the exact number of features in the configuration interface.

Each sub-constraint, including the OCL let expression, is represented by EltGraph. In our constraint, we have 8 EltGraphs. We can configure all these EltGraphs thanks to the cardinality of this feature. We follow the order of the sub-constraints to configure them. Fig. 3 presents a possible configuration of the sub-constraint 5 (in Listing 1.1 without considering the let expressions) in the object-oriented development paradigm. The constraint configuration is performed using the feature IDE plugin. It shows an interface to configure a feature diagram. We can see all the possible configurations and it produces exceptions if the configuration does not respect the requirements of the feature diagram.

Constraint Transformation

The implementation of the constraint transformation is performed using the editor of the feature model. The first step is a direct transformation of the constraint. It uses the configured feature model. The second step is based on the abstract syntax tree (AST) generated from the obtained constraint and the XMI document representing the UML meta-model. It has as a goal to make the constraint valid. The tool-set used for configuring the feature diagram provides a document that includes the inputs and the outputs of the configuration (names of features). Our process uses this document and automatically applies the mapping to the constraint. An abstract syntax tree is generated from the constraint (which is specified in the graph meta-model). The AST node names and their types (the meta-class names) are then modified by their corresponding features and are regenerated in order to obtain an architecture constraint written in the UML meta-model.

Listing 1.2 presents the façade constraint after the direct transformation. The meta-role outgoing in Line 9 in Listing 1.1 is replaced by clientDependency and in Line 16 by ownedAttribute as the configuration is defined (see Fig. 3). In Listing 1.2, the constraint is specified in UML meta-model, but this transformation does not necessarily produce a valid OCL constraint. OCL exceptions are provided when compiling the constraint in an OCL compiler. For example Edge in Line 5 is undefined in UML meta-model. The two following sub-steps are implemented to solve these errors.

1. Removing unnecessary sub-constraints : This is the case of the subconstraints 1 and 2 in Listing 1.2. The user does not completely configure the sub-constraints. They do not have any equivalence in the target paradigm: the object-oriented paradigm. These sub-constraints are safely removed from the constraint.

Adding OCL expressions :

There are two cases where we should add OCL expressions. The process here examines the constraint in each case and try to add OCL expressions to make it valid and accurate.

The process in the first case consists first in replacing all the roles and metaclasses that are still written in the graph meta-model by their corresponding modeling elements in the UML meta-model. This transformation is complementary to the direct one. It is based on the AST generated from the constraint. The AST parser, taking into consideration the UML meta-model, indicates the AST nodes which whose types do not belong to the UML meta-model. We take the example presented in Line 5, in Listing 1.2 in which the meta-class Edge is not translated yet. According to the UML meta-model, clientDependency is a navigation that produces Set(Dependency). So, Edge will be replaced by Dependency. The same processing is performed for the error located in Line 8 in the same Listing: Edge is replaced by Property.

The process in the second case consists in adding navigation patterns5 in the constraint. Indeed, after the direct transformation, we can obtain in a subconstraint an ocl inequality exception. Suppose that we take an example of a constraint that has, in its specification in the graph meta-model, a navigation towards the Node meta-class via target, to get the target node (one node [1..1]) (see Listing 1.3). The user configures target by end in the componentbased development paradigm. end is a meta-role in the UML meta-model. It provides a set [0..*] of component connectors. So, we face an OCL exception (Set(Connectors)= a component). Here, the process adds, among others, an appropriate quantifier that takes only one of the sets to complete the constraint transformation. More details are given in the following Listings.

In the first line of Listing 1.3, X and Y are nodes composing the graph of the model. The constraint imposes that the node X should have at least one outgoing edge towards the node Y. To transform this constraint in the component paradigm, the user configured outgoing by ownedPort and target by end. The process checks if the constraint has again errors of the first case. The second line represents the constraint specification under the transformation. We observe that the specification of this constraint is wrong. It is violated when evaluating it in the UML meta-model. To solve this problem, we integrate first some meta-roles such as ownedConnector and role (an application of the first case) and then pattern navigations as presented in Listing 1.4. This Listing shows a possible result. As we noticed above, the implementation of the process that consists in making the architecture constraint independent to any paradigm uses an Eclipse tool-set. This tool-set generates the abstract syntax tree (AST) and analyzes the UML meta-model. Each output (sub-constraint) provided by this process should be validated by the user.

Case Study

We have applied the proposed approach on a particular engineering activity: the automatic software migration from the object-oriented paradigm to the component-based one one. In this kind of activities, it is too difficult to directly specify the architecture constraint in the transformed application (componentbased application) because many constraints imposed by the initial application (like, inheritance and instantiation) may generate other constraints (new architectural patterns are added under the migration, which are not known by the user, especially if the migration is automatic) and new architectural elements (connectors and ports) which can impose new architecture constraints.

We take the example of an object-oriented application which is designed with UML and implemented with java, and which represents an information screen [START_REF] Alshara | Migrating large object-oriented applications into componentbased ones[END_REF]. This application simulates the behavior of an information screen, a software system which displays in a public transportation's embedded screen, the names of stations, the expected time at each station, etc. The ContentProvider class implements methods which send text messages (instances of the Message class), and time information obtained through Clock instances based on the data returned by TimeZone instances. The DisplayManager is responsible for viewing the provided information through a Screen. The design of this application imposed a set of architecture constraints that should be valid on the code. Some of these constraints are presented in the following list.

-ContentProvider class should be a singleton class.

-Clock and Message classes should be kept in relation with the Content abstract class (which is an inheritance relation in the OO application). -The Observer pattern is instantiated in this application. We focus in this case study on a part of this pattern, in which DisplayManager class should be in association with ContentProvider to invoke methods returning the content.

When migrating an application, major changes of the architecture and then the source code are performed. Some elements are removed, others are added, e.g. dependencies between some elements are changed, etc. In fact, each paradigm imposes its own architecture design principles. For example, in the componentbased paradigm, each component must hide its internal structure. It should provide its services without exposing the classes that implement them. These conditions should be taken into consideration. In addition, the works cited previously proposed an automatic migration of the applications, which generally produces additional intermediate classes, methods and components in addition to dependencies between them, which are seamless to developers. In this case, rewriting the constraints in the target paradigm is difficult because architectural elements constituting the target application can be unknown.

Our intuition is that our approach can allow to simplify the migration of the architecture constraints of information screen object-oriented application in component-based paradigm. To apply our approach, we have used software migration works that are composed of two steps: architecture recovery then code transformation. These works generate automatically a graph describing the architecture of the target application. This graph contains labeled nodes that may represent the classes, the methods, the attributes and the components representing clusters of cohesive classes, in addition to edges that link between nodes (method invocations, connectors between required/provided interfaces, etc.). Besides, to make component interfaces operational, the graph is extended by other nodes and edges that represent new classes, interfaces and attributes that are generated to transform inheritance into the component-based paradigm [START_REF] Alshara | Migrating large object-oriented applications into componentbased ones[END_REF]. Fig 4. shows an excerpt of this graph. In this constraint, the let expressions search for the elements composing the application, and which can be classes or components. compo1 is an example of a variable which references the node named Component1. This component was identified in the architecture recovery step; it is considered in this constraint as a graph's node.

Configuring the constraint by the feature model

There are nodes that represent classes (annotated by CP, Factory, Content and TimeZone), attributes (dashed nodes in Fig 4), components (annotated by Componenti, i=[1..5]), etc. There are edges that represent connectors (thick dashed edges), others represent inheritance (between classes inside components). There are other nodes which are generated due to solutions kept to transform the instantiation and inheritance. Some of these nodes are annotated with IContent, Factory, this, super, ITimeZone. There are also edges which link them. These elements did not exist in the architecture of the source application (object-oriented information screen application). They imposed a new condition that consists in respecting the factory pattern (which is instantiated in the architecture when transforming an inheritance relation in the chosen migration solution in this case study). The constraint will be configured in our feature model starting by the first sub-constraint and so on as described in Section 3. We indicate for each element its equivalent in the new architecture.

Transforming the constraint

Following the process explained in Section 3 by using the configured feature model of our constraint and after making the constraint well specified in the UML meta-model, we obtain as an excerpt of a result the following Listing. This constraint declares first the internal component which composes the target application. This implies modifications in the let expressions like in Line 3. According to the configured feature diagram, the sub-constraints 1 and 2 (Lines 6 to 10) handle the relations between the generated components, and the remaining of the constraint deals with classes. Indeed, the migration solution used in this case study produces a component-based application in which components are clusters of classes (a hybrid object/component target model). This is the reason why the end of the architecture constraint in the Listing still treats classes. This makes this example a multi-paradigm architecture constraint.

Discussion: The migration of the object-oriented information screen application has produced new architecture elements and new architecture relations. This is observable (in Fig. 4) by the production of 5 components, 6 classes and several attributes. Therefore, a direct transformation of the application's constraints is obviously very complex because they do not treat the newly created architectural elements. After specifying the constraints of the target application in the graph meta-model, based on the generated graph from the architecture recovery step, which should be done only once, the user can transform the constraints after a simple configuration of the feature model. To migrate the application to another paradigm, such as the service-oriented one, with the proposed approach the developer can just configure again the feature model to transform her/his constraints.

In addition, the usage of the graph meta-modeling and the feature model facilitate constraint specification at an abstract level. In the long term, we imagine the development of a catalog of architecture constraints written in the graph meta-model. This catalog can be used in different scenarios. Suppose that we use another software migration solution, like [START_REF] Allier | From object-oriented applications to component-oriented applications via component-oriented architecture[END_REF], which transforms inheritance and instantiation from object-oriented to component-based paradigm by using the Adapter and Facade patterns, in contrast to the one used in this case study that is based on the Factory pattern. The architecture constraints formalizing these two patterns (Adapter and Facade) can be checked out from the catalog, then configured (by adding the necessary labels) and at last integrated in the architecture constraint specification of the application. Vranic et al. proposed a method of multi-paradigm software development called multi-paradigm design with feature modeling (MPDFM) [START_REF] Vranić | Multi-paradigm design with feature modeling[END_REF]. Feature modeling is used to model both an application and the solution domain. Solution domain concepts (paradigms) are represented as features. These later (called paradigms) are being selected in the feature model in order to obtain code skeleton. This method is evaluated on the AspectJ paradigm as a solution domain. Like our approach, this method uses feature modeling to express variabilities between paradigm instances. But the term paradigm denotes a solution domain concept, which corresponds to a programming language mechanism/extension. In our approach, we used the common definition of a paradigm -a way of development. This covers a larger spectrum.

Balarin et al. proposed a formalism for constraint specification at higher levels of abstraction [START_REF] Balarin | Constraints specification at higher levels of abstraction[END_REF]. This formalism use mathematical theorems to remove any ambiguity in its interpretation, and yet it allows quite simple and natural specification of many typical constraints. In our work, we have proposed an abstract specification level of constraints based on graphs. With graphs, we can benefit from a visualization that simplifies the comprehensibility of any kind of constraints. Constraint specification with graphs allows later transformation, refinement and code generation which is very complex when using a pure mathematical formalism.

ACL [START_REF] Tibermacine | A family of languages for architecture constraint specification[END_REF] is a family of languages which allows the specification of constraints associated to architecture decisions, at any stage of the component-based software development process. Independently to any component-based model, architecture constraints can be specified with this language. The authors proposed a generic meta-model that includes the common concepts found in existing component models. This meta-model can be used to specify these constraints, which are independent from component models. Then, through XML transformations, constraints can be checked on a precise component model, like Corba. In contrast to our work, this work deals with the component-based software development paradigm only, and not the other paradigms. Their generic meta-model includes common concepts in component-models and not variable concepts. In our work, thanks to feature modeling, we specified common and variable concepts in development paradigms and used this in constraint transformation.

Many works [START_REF] Bauer | Enhancing the dynamic meta modeling formalism and its eclipsebased tool support with attributes[END_REF][START_REF] Rutle | A formal approach to the specification and transformation of constraints in mde[END_REF][START_REF] Radke | Translating essential ocl invariants to nested graph constraints focusing on set operations: Long version[END_REF] handle the specification of constraints with graphs. These works share the same context as our approach but their goal is different from ours. They focus on, among authors, formalizing semantics in UML models and transformations using ocl, verifying them on models. But no one considers ocl architecture constraint specification. To the best of our knowledge, there is no work that enables to make architecture constraints specified independently to the paradigm used in the application development.

We presented in this paper an approach that enables the specification of multiparadigm architecture constraints. These constraints are written in an abstract way independently from any paradigm. The key idea is to combine the usage of OCL with a graph metamodel, and a feature model to implement our method. The meta-model of graphs is used to specify the constraints and the feature model is exploited to express paradigm variabilities. The constraints can be translated to any specific paradigm, simply through the configuration of the feature model.

As a future work, we plan to provide a way to express architecture constraints at (yet) a more abstract level, with a natural language syntax, and then combine it with this work and our previous approaches to provide a complete process. A transformation method should be developed to transform the architecture constraint specification from natural language into graph-based specification and then into UML-based one, until source code generation according to a specific paradigm. This will make the architecture constraint specification simpler, yet keep it operational (checkable on source code and at runtime).

Fig. 1 .

 1 Fig. 1. Meta-model of graphs

contextListing 1 . 1 .

 11 Graph inv : --C l i e n t s have o n l y o u t g o i n g e d g e s c l i e n t s ->f o r A l l ( n : Node | n . i n g o i n g ->isEmpty ( ) ) and --Systems have o n l y i n g o i n g e d g e s s y s t e m s ->f o r A l l ( n : Node | n . o u t g o i n g ->isEmpty ( ) ) and --No e d g e s between c l i e n t s and s y s t e m s c l i e n t s ->f o r A l l ( n : Node | n . o u t g o i n g ->f o r A l l ( e : Edge | 10 s y s t e m s ->e x c l u d e s ( e . t a r g e t ) ) ) and --A l l t h e e d g e s whose s o u r c e s a r e t h e c l i e n t s s h o u l d go t o t h e f a c a d e c l i e n t s ->f o r A l l ( n : Node | n . o u t g o i n g ->f o r A l l ( e : Edge | e . t a r g e t=f a c a d e ) ) and --The f a c a d e s h o u l d be l i n k e d t o a t l e a s t one s y s t e m f a c a d e . o u t g o i n g ->e x i s t s ( e : Edge | s y s t e m s ->i n c l u d e s ( e . t a r g e t ) ) Facade constraint specification in the graph meta-model

Fig. 2 .

 2 Fig. 2. An excerpt of the feature diagram for constraint transformation from graphs

Fig. 3 .

 3 Fig. 3. A possible configuration of Facade constraint in OO paradigm

context

  Package inv : -c l i e n t s ->f o r A l l ( n : C l a s s | n.->isEmpty ( ) ) and s y s t e m s ->f o r A l l ( n : C l a s s | n.->isEmpty ( ) ) and c l i e n t s ->f o r A l l ( n : C l a s s | n . c l i e n t D e p e n d e n c y ->f o r A l l ( e : Edge | s y s t e m s ->e x c l u d e s ( e . s u p p l i e r ) ) ) and . . . . and f a c a d e . o w n e d A t t r i b u t e ->e x i s t s ( e : Edge | s y s t e m s ->i n c l u d e s ( e . t y p e ) ) Listing 1.2. An excerpt from a Facade constraint after a direct transformation

X

  . o u t g o i n g ->e x i s t s ( e : Edge | e . t a r g e t=Y) X . ownedPort->e x i s t s ( e : P o r t | e . end = Y) Listing 1.3. OCL AC before and after direst transformation X . ownedPort->e x i s t s ( e : P o r t | e . ownedConnector . end-> exists(ee:ConnectorEnd | ee.role -> includes(Y.role)) ) Listing 1.4. OCL AC specified in the UML meta-model

Fig. 4 .

 4 Fig. 4. An excerpt of a graph representing the architecture recovered from the Information Screen application

context 10 -Listing 1 . 6 .

 1016 Component inv : l e t i n t e r n a l C o m p o : S e t ( Component ) . . . in l e t compo1 : Component=internalCompo->s e l e c t ( n : Component | c . name='Component1 ' )->a s O r d e r e d S e t ( )-> f i r s t ( ) in --t h e o t h e r l e t e x p r e s s i o n s . . . i n compo1 . ownedPort->one ( e : P o r t | e . ownedConnector . end ->f o r A l l ( e e : ConnectorEnd | e e . r o l e ->i n c l u d e s ( compo2 . r o l e ) ) ) and compo2 . ownedPort . ownedConnector->f o r A l l ( e1 , e2 | compo3 . r o l e ->i n c l u d e s ( e1 . end . r o l e ) and compo4 . r o l e >i n c l u d e s ( e2 . end . r o l e ) ) and 11 c o n t e n t . i n t e r f a c e ->e x i s t s ( e : I n t e r f a c e | e . name=i C o n t e n t ) and 12 f a c t o r y . o w n e d A t t r i b u t e ->one ( e : P r o p e r t y | e . t y p e=c o n t e n t ) An excerpt of AC specification in UML meta-model (Component modeling)

UML http://www.omg.org/spec/UML/2.4.1 is an OMG standard and covers both class/object and component modeling

For space limitation, the constraints accompanied the feature diagram are not showed

OCL queries characterized by the keyword def:. They allow to declare and define attribute values (like let expression) and/or to return internal OCL operation values.

A navigation pattern is a set of navigations. It includes more roles and ocl operations/quantifiers.