Matthieu Alfaro

Romain Ducasse

Samuel Tréton

The field-road diffusion model: fundamental solution and asymptotic behavior

Keywords: field-road model, diffusion, exchange boundary conditions, fundamental solution, decay rate AMS Subject Classifications: 35K40, 35C15, 92D25, 35B40

We consider the linear field-road system, a model for fast diffusion channels in population dynamics and ecology. This system takes the form of a system of PDEs set on domains of different dimensions, with exchange boundary conditions. Despite the intricate geometry of the problem, we provide an explicit expression for its fundamental solution and for the solution to the associated Cauchy problem. The main tool is a Fourier (on the road variable)/Laplace (on time) transform. In addition, we derive estimates for the decay rate of the L ∞ norm of these solutions.

Introduction

In this work we consider the solutions (v = v(t, x, y), u = u(t, x)) to the linear field-road model

       ∂ t v = d∆v, t > 0, x ∈ R N -1 , y > 0, -d∂ y v| y=0 = µu -νv| y=0 , t > 0, x ∈ R N -1 , ∂ t u = D∆u + νv| y=0 -µu, t > 0, x ∈ R N -1 .
(1.1)

Here N ≥ 2 and d, D, µ and ν are positive constants. This system is actually the linear (purely diffusive) part of the field-road model, introduced by Berestycki, Roquejoffre and Rossi [START_REF]The influence of a line with fast diffusion on Fisher-KPP propagation[END_REF] to describe the spread of invasive species in presence of networks with fast propagation. We review the original system later in this section.

Let us mention that phenomena of spatial spread are highly relevant to the understanding of biological invasions, spreads of emergent diseases, as well as spatial shifts in distributions in the context of climate change. There is a wide literature dedicated to these topics, let us refer for instance to [21,[START_REF]Spatial Models and Biomedical Applications[END_REF] and the reference therein for more details. In the recent years, there has been a growing recognition of the importance of fast diffusion channels on biological propagations: for instance, an accidental transportation via human activities of some individuals towards northern and eastern France may be the cause of accelerated propagation of the pine processionary moth [START_REF] Robinet | Human-mediated long-distance jumps of the pine processionary moth in Europe[END_REF]. Also, in Canada, some GPS data revealed that wolves travel faster along seismic lines (i.e. narrow strips cleared for energy exploration), thus increasing their chances to meet a prey [START_REF] Mckenzie | How linear features alter predator movement and the functional response[END_REF]. It is also acknowledged that fast diffusion channels (roads, airlines, etc.) play a central role in the propagation of epidemics. As is well known, the spread of the black plague, which killed about a third of the European population in the 14th century, was favoured by the trade routes, especially the Silk Road, see [START_REF] Schmid | Climate-driven introduction of the Black Death and successive plague reintroductions into Europe[END_REF]. More recently, some evidences of the the radiation of the COVID epidemic along highways and transportation infrastructures were found [START_REF] Gatto | Spread and dynamics of the COVID-19 epidemic in Italy: Effects of emergency containment measures[END_REF].

In order to capture the phenomena induced by such fast diffusion channels, the so-called field-road reaction diffusion system

       ∂ t v = d∆v + f (v), t > 0, x ∈ R N -1 , y > 0, -d∂ y v| y=0 = µu -νv| y=0 , t > 0, x ∈ R N -1 , ∂ t u = D∆u + νv| y=0 -µu, t > 0, x ∈ R N -1 , (1.2)
was proposed by Berestycki, Roquejoffre and Rossi [START_REF]The influence of a line with fast diffusion on Fisher-KPP propagation[END_REF]. The mathematical problem then amounts to describing survival and propagation in a non-standard physical space: the geographical domain consists in the half-space (the "field") x ∈ R N -1 , y > 0, bordered by the hyperplane (the "road") x ∈ R N -1 , y = 0. In the field, individuals diffuse with coefficient d > 0 and their density is given by v = v(t, x, y). In particular ∆v has to be understood as ∆ x v + ∂ yy v. On the road, individuals typically diffuse faster (D > d) and their density is given by u = u(t, x). In particular ∆u has to be understood as ∆ x u. The exchanges of population between the road and the field are described by the second equation in system (1.2), where µ > 0 and ν > 0. These Robin type boundary conditions link the field and the road equations and, in some sense, are the core of the model. In a series of works [START_REF]The influence of a line with fast diffusion on Fisher-KPP propagation[END_REF][START_REF] Berestycki | Fisher-KPP propagation in the presence of a line: Further effects[END_REF][START_REF]Travelling waves, spreading and extinction for Fisher-KPP propagation driven by a line with fast diffusion[END_REF][START_REF]The shape of expansion induced by a line with fast diffusion in Fisher-KPP equations[END_REF], Berestycki, Roquejoffre and Rossi studied the field-road system with N = 2 and f a Fisher-KPP nonlinearity. They shed light on an acceleration phenomenon: when D > 2d, the road enhances the global diffusion and the spreading speed exceeds the standard Fisher-KPP invasion speed. Since then, many generalizations or related problems have been studied. Field-road models with (periodic) heterogeneities are considered in [START_REF] Giletti | A KPP road-field system with spatially periodic exchange terms[END_REF], [START_REF] Zhang | Spreading speeds and pulsating fronts for a field-road model in a spatially periodic habitat[END_REF], [START_REF] Affili | A Fisher-KPP model with a fast diffusion line in periodic media[END_REF]. Situations where the field is not a half-space but a more general domain are studied in [START_REF] Tellini | Propagation speed in a strip bounded by a line with different diffusion[END_REF], [START_REF] Rossi | The effect on Fisher-KPP propagation in a cylinder with fast diffusion on the boundary[END_REF], [START_REF] Ducasse | Influence of the geometry on a field-road model: The case of a conical field[END_REF], [START_REF] Bogosel | Propagation for KPP bulk-surface systems in a general cylindrical domain[END_REF]. The setting where the Laplace operators are replaced with non-local operators, accounting for more complex diffusion processes, is tackled in [START_REF]The effect of a line with non-local diffusion on Fisher-KPP propagation[END_REF][START_REF] Berestycki | Speed-up of reaction-diffusion fronts by a line of fast diffusion[END_REF]. The papers [START_REF] Berestycki | Generalized principal eigenvalues for heterogeneous road-field systems[END_REF][START_REF]Influence of a road on a population in an ecological niche facing climate change[END_REF] consider the interaction between fast-diffusion networks and ecological phenomena such as climate change. In [START_REF] Pauthier | The influence of a line with fast diffusion and nonlocal exchange terms on Fisher-KPP propagation[END_REF][START_REF]Uniform dynamics for Fisher-KPP propagation driven by a line of fast diffusion under a singular limit[END_REF][START_REF]Road-field reaction-diffusion system: A new threshold for long range exchanges[END_REF], the author introduces long range exchanges so that the road may catch individuals from anywhere in the field and vice versa.

Despite these results on (1.2) and its variations, it turned out that the linear field-road system -obtained by letting f ≡ 0 in (1.2) -was not fully understood: there were no complete expressions for the fundamental solution, and the decay rate of the L ∞ norm of the solutions to (1.1) as t → +∞ was not known.

In the present paper, we thus consider (1.1) as a starting point and intend at filling this gap. It turns out that we can reach an explicit expression for both the fundamental solution and the solution to the associated Cauchy problem. To do so, we perform a "Fourier in x/Laplace in t" transform, which seems to be the good way to understand the intricate exchange boundary conditions. These explicit expressions enable, in particular, to provide a sharp (possibly up to a logarithmic term) decay rate of the L ∞ norm of the solution. Such a linear rate estimate is a key stone information to tackle difficult nonlinear issues. For instance, it is expected, see [START_REF] Fujita | On the blowing up of solutions of the Cauchy problem for u t = ∆u + u 1+α[END_REF] or [START_REF] Alfaro | Blow-up phenomena for positive solutions of semilinear diffusion equations in a half-space: The influence of the dispersion kernel[END_REF], that such a decay rate determines the so-called Fujita exponent p F for the system (1.2) when f (v) = v 1+p : this exponent separates "systematic blow-up" (when 0 < p ≤ p F ) from "possible extinction" (when p > p F ). Also, understanding the Fujita blow-up phenomena when f (v) = v 1+p typically enables, see [START_REF] Alfaro | Fujita blow up phenomena and hair trigger effect: The role of dispersal tails[END_REF], to solve the issue of "extinction vs propagation" in the population dynamics model (1.2) with f (v) = v 1+p (1 -v). Such a nonlinearity serves a model for the so-called Allee effect [START_REF] Allee | Animal Aggregations: A Study in General Sociology[END_REF], roughly meaning that the per capita growth rate of the population is not maximal at small density. We plan to address such issues in a future work.

Main results

Let N ≥ 2 be an integer. A generic point X ∈ R N will be written X = (x, y) with x ∈ R N -1 and y ∈ R. For the "variable of integration", we reserve the notation Z = (z, ω) ∈ R N , with z ∈ R N -1 and ω ∈ R. For the "x-Fourier variable", we use the notation ξ ∈ R N -1 , while, for the "t-Laplace variable", we reserve the notation s > 0, see Appendix A.3. We denote the upper half-space (the "field") R N + : = R N -1 × (0, +∞), its boundary being the hyperplane (the "road") ∂R N + = R N -1 × {0}. For given µ, ν > 0 and D > d > 0 (we refer to Remark 4.1 for the case D ≤ d), we thus consider the linear field-road problem (1.1) supplemented with the initial datum

v| t=0 = v 0 , X ∈ R N + , v 0 ∈ L ∞ (R N + ), u| t=0 = u 0 , x ∈ R N -1 , u 0 ∈ L ∞ (R N -1 ). (2.1)
Our first main contribution is to provide an explicit expression of the solution to this Cauchy problem.

v(t, X) = V (t, X) + µ √ d R N -1 Λ(t, z, y) u 0 (x -z) dz + µ ν √ d t 0 R N -1 Λ(s, z, y) V | y=0 (t -s, x -z) dz ds, (2.2) u(t, x) = e -µt U (t, x) + ν t 0 e -µ(t-s) R N -1 G D R (t -s, x -z) v| y=0 (s, z) dz ds, ( 2.3)
where

• V = V (t, X) is the solution to the Cauchy problem        ∂ t V = d∆V, t > 0, x ∈ R N -1 , y > 0, νV | y=0 -d∂ y V | y=0 = 0, t > 0, x ∈ R N -1 , V | t=0 = v 0 , x ∈ R N -1 , y > 0, (2.4)
• U = U (t, x) is the solution to the Cauchy problem

∂ t U = D∆U, t > 0, x ∈ R N -1 , U | t=0 = u 0 , x ∈ R N -1 , (2.5) • G D R = G D R (t, x) denotes the (N -1)-dimensional Heat kernel with diffusion D, that is G D R (t, x) : = 1 (4πDt) N -1 2 e -x 2 4Dt , ( 2.6)
• and Λ = Λ(t, x, y) is defined as

Λ(t, x, y) : = e -y 2 4dt (2π) N -1 R N -1 aαΦ α + bβΦ β + cγΦ γ (t, ξ, y) e -dt ξ 2 +iξ•x dξ, (2.7)
with (α, β, γ) = (α, β, γ)(ξ) being the three complex roots of the δ-indexed polynomials

P δ (σ) : = σ 3 + ν √ d σ 2 + (µ + δ) σ + ν δ √ d , with δ : = (D -d) ξ 2 , (2.8) (a, b, c) = (a, b, c)(ξ) being given by a : = 1 (α -β)(α -γ) , b : = 1 (β -α)(β -γ) , c : = 1 (γ -α)(γ -β) , (2.9)
and for • ∈ {α, β, γ},

Φ • (t, ξ, y) : = Erfc Γ -2 • √ d t + y 2 √ dt , (2.10)
where Γ( ) : = e -2 , and Erfc is the complementary error function, whose definition is recalled in Appendix A.1.

Let us give some remarks on Theorem 2.1. First, the theorem gives the unique bounded solution. Indeed, there could be non-physical solutions that change sign and grow very fast at infinity: this fact was proved for the Heat equation by Tychonoff [START_REF] Tychonoff | Théoremes d'unicité pour l'équation de la chaleur[END_REF], see also [START_REF] Smoller | Shock Waves and Reaction-Diffusion Equations[END_REF]Chapter 9]. To get rid of such solutions, and so, to ask uniqueness, one needs to impose very loose restriction on the growth at infinity; here we choose boundedness for the sake of simplicity.

Next, the Cauchy problem (2.5) is nothing else than the Heat equation in the hyperplane R N -1 and both the expression and the decay rate of its solution U = U (t, x) are very wellknown. On the other hand, the Cauchy problem (2.4) is the Heat equation in the half-space R N + with Robin boundary conditions, and the understanding of its solution V = V (t, X) is an important preliminary, that we recall in Section 3.

Last, but not least, the "migration-kernel" Λ = Λ(t, x, y) is the keystone to write the solution to the field-road diffusion model. Its main role is to describe the in-flux of individuals in the field from the road via the last two terms of v in (2.2), whose form evokes a Duhamel's formula. We may give a physical sense to Λ by remarking that it is the "v-component" of the solution to (1.1) starting from (v 0 , u 0 ) ≡ (0,

√ d µ δ x=0
). Notice also that, having in mind the acceleration phenomenon [START_REF]The influence of a line with fast diffusion on Fisher-KPP propagation[END_REF][START_REF] Berestycki | Fisher-KPP propagation in the presence of a line: Further effects[END_REF] when D > 2d, Λ is the only term in the expression of v that involves the constant D. However, the expression of Λ(t, x, y) is quite intricate. As a consequence of our Fourier/Laplace transform approach, it involves an integral over ξ ∈ R N -1 . Furthermore, we show in Appendix A.2 that, for almost all ξ ∈ R N -1 , the three complex roots α = α(ξ), β = β(ξ) and γ = γ(ξ) of the polynomials P δ are distinct, which allows to define a = a(ξ), b = b(ξ) and c = c(ξ) in (2.9). Further details will appear in Section 4 and 5 and in Appendix A.2.

Our second main contribution is to estimate the decay rate of the solution to the linear field-road system (1.1) starting from the datum, say

v| t=0 = v 0 , X ∈ R N + , v 0 ∈ L ∞ (R N +
) is nonnegative, and compactly supported,

u| t=0 = u 0 , x ∈ R N -1 , u 0 ∈ L ∞ (R N -1
) is nonnegative, and compactly supported.

v(t, ) L ∞ (R N + ) ln(1 + t) + (1 + t) N 2 ,
∀t > 0, (2.12)

u(t, ) L ∞ (R N -1 ) ln(1 + t) + (1 + t) N 2 , ∀t > 0, (2.13)
for some nonnegative constant depending only on v 0 , and some nonnegative constant depending on both v 0 and u 0 .

The starting point to prove this upper estimate is the explicit expression of v and u given in Theorem 2.1. The main difficulty is to control the "migration-kernel" Λ defined in (2.7) -(2.10) which, as explained above, is the core of the field-road model. To do so, we shall rely on a rather technical result, namely Lemma 5.1, whose proof needs a full understanding of the δ-indexed polynomials P δ in (2.8), achieved in Appendix A.2. Let us emphasize that the expression of Λ we own, namely (2.7) -(2.10), is highly conditioned by the fact that, at some point, we use a decomposition into partial fractions to match up with known forms of Laplace-transforms. This decomposition makes appear the artefacts a, b and c which blow up as the roots of P δ collide for singular values of δ, see (2.9). Fortunately, due to the compensating structure of aαΦ α + bβΦ β + cγΦ γ and as confirmed by the technical Lemma 5.1, these singularities are "artificial".

By following the proof in Section 5, one can track the values of and and check, in particular, that v 0 ≡ 0 implies = 0. As a result, if there is initially no individual in the field, the estimate of the decay rate becomes of the magnitude O((1 + t) -N/2 ), which corresponds to the decay rate of the Heat equation in the half space R N + with Neumann boundary conditions -see Theorem 3.1. This is consistent with the fact that the boundary conditions of the field-road model are of the exchange type so that, roughly speaking, individuals are "not lost" but "stored" in the road. On the other hand, if v 0 ≡ 0, our estimate of the decay rate becomes of the magnitude O((1 + t) -N/2 ln(1 + t)), which is very slightly "less good". We believe that the actual decay rate is always of the magnitude O((1 + t) -N/2 ): to deal with the terms P (t, x, y) and Q(t, x, y) appearing in (5.1), we rely on the uniform estimate (5.4) of the rather intricate function Φ(t, ξ, y) appearing in Lemma 5.1. The use of this uniform estimate is the cause of the logarithmic term appearing later, but refined estimates seem delicate to reach. Notice however that, in order to study the Fujita blow-up phenomenon, the logarithmic term should only play a (bad) role in the so-called critical case.

The organization of the present paper is as follows. In Section 3, we recall some facts about the fundamental solution of the Heat equation in a half-space, that will prove useful in the sequel. In particular, we give a complete derivation of the expression of the fundamental solution in the case of Robin boundary conditions, thus introducing the strategy of proof we will employ to study the complete system (1.1) in Section 4, where we compute the explicit form of the solutions of the linear field-road system, while their decay rate is estimated in Section 5. Last, in Section 6, we present some numerical simulations which not only "validate" Theorem 2.2 but also explore some open problems related to the level sets of the solution, or to the sign of the flux of individuals from the road to the field.

The Heat equation in the half-space

As an important preliminary, we discuss in this section the Heat equation in the half-space, in particular the explicit expression and the decay rate of the L ∞ norm of the solution to the associated Cauchy problem with different boundary conditions. These facts are very classical for the Neumann and Dirichlet boundary conditions, but the details for the case of Robin boundary conditions are not so easy to find. We therefore take this opportunity to present the main arguments, by using a Fourier/Laplace transform strategy, which we use again in the next section to deal with the whole field-road system (1.1).

Let N ≥ 1 be an integer. We recall that a generic point X ∈ R N will be written X = (x, y) with x ∈ R N -1 and y ∈ R. For the "variable of integration", we reserve the notation

Z = (z, ω) ∈ R N , with z ∈ R N -1 and ω ∈ R. For d > 0, we denote the N -dimensional Heat kernel with diffusion d, G(t, X) : = 1 (4πdt) N 2 e -X 2 4dt = 1 (4πdt) N 2 e -x 2 +y 2 4dt , ( 3.1)
and finally, we denote the upper half-space R N + : = R N -1 × (0, +∞), its boundary being the hyperplane

∂R N + = R N -1 × {0}. For 0 ≤ θ ≤ 1, we thus consider the Cauchy problem        ∂ t v = d∆v, t > 0, X ∈ R N + , θv + (1 -θ)d∂ n v = 0, t > 0, X ∈ ∂R N + , v| t=0 = v 0 , X ∈ R N + , (3.2)
where, say,

v 0 ∈ L ∞ (R N + ).
Here n : = (0 R N -1 , -1) and the boundary condition may be recast

θv -(1 -θ)d∂ y v = 0, t > 0, X ∈ ∂R N + .
In this section, the notation B B means there is a constant k = k(N, d, θ) > 0 such that B ≤ kB .

(3.2) is v(t, X) = R N + H θ (t, X, Z) v 0 (Z) dZ, (3.3)
for some H θ (t, X, Z) precised below.

(i) When θ = 0 (Neumann case), we have

H 0 (t, X, Z) = G(t, x -z, y -ω) + G(t, x -z, y + ω),
and

v(t, ) L ∞ (R N + ) R N + |v 0 (Z)| dZ t N 2 , ∀t > 0.
(ii) When θ = 1 (Dirichlet case), we have

H 1 (t, X, Z) = G(t, x -z, y -ω) -G(t, x -z, y + ω),
and

v(t, ) L ∞ (R N + ) R N + ω |v 0 (Z)| dZ t N +1 2 , ∀t > 0. (iii) When 0 < θ < 1 (Robin case), we have H θ (t, X, Z) = H 0 (t, X, Z) -2 √ π A √ dt G(t, x -z, y + ω) Erfc Γ 2Adt + y + ω 2 √ dt , (3.4)
= H 1 (t, X, Z) + 2G(t, x -z, y + ω) 1 - √ π A √ dt Erfc Γ 2Adt + y + ω 2 √ dt , (3.5)
where

A : = θ d(1 -θ) , Γ( ) : = e -2 ,

and the definition of Erfc is recalled in Appendix

A.1. Furthermore, v(t, ) L ∞ (R N + ) R N + (1 + ω)|v 0 (Z)| dZ t N +1 2 , ∀t > 0, (3.6)
and

v(t, ) L ∞ (R N + ) (1 + t) N +1 2 , ∀t > 0, (3.7)
where

: = v 0 2 N +1 L ∞ (R N + ) + R N + (1 + ω)|v 0 (Z)| dZ 2 N +1 N +1 2 .
This theorem is rather classical, in particular points (i) and (ii). A possible way to prove it is to use some continuation arguments. For instance, to prove (i), one defines v(t, X) as the solution of the Heat equation in the whole of R N arising from the initial datum

v 0 (x, y) : = v 0 (x, y) if y > 0, v 0 (x, -y) if y < 0.
Then, by uniqueness of the (bounded) solutions of the Heat equation, v remains even with respect to y, is C ∞ in R N × (0, +∞) by usual regularity results on parabolic equations. Thus it satisfies ∂ y v(t, x, 0) = 0 for all t > 0 and all x ∈ R N -1 . Hence, v(t, x, y) stands as the restriction of v(t, x, y) to the upper-half-space, and we have

v(t, X) = R N G(t, X -Z) v 0 (Z) dZ = R N + G(t, x -z, y -ω) + G(t, x -z, y + ω) v 0 (z, ω) dZ,
from which we deduce the expression of H 0 and the decay rate. The point (ii) can be proven in the same way by considering this time, for v 0 , the odd-continuation (with respect to y) of v 0 . A more tricky (and less known) continuation argument can be used to reach the point (iii). However, in view of the sequel, let us present now the detailed proof of (iii) using rather a Fourier/Laplace transform strategy.

In the following, the x-Fourier transform of u shall be denoted by u, the t-Laplace one by u and the x-Fourier/t-Laplace one by u. We refer to Appendix A.3 for conventions and notations related to these transforms.

Proof of Theorem 3.1, (iii). Applying the t-Laplace transform to the first equation in (3.2), namely

∂ t v(t, x, y) = d(∆ x + ∂ yy )v(t, x, y), yields the elliptic PDE d ∆ x v (s, x, y) + ∂ yy v (s, x, y) -sv (s, x, y) = -v 0 (x, y), (x, y) ∈ R N + ,
where s > 0 acts as a parameter. Then by applying the x-Fourier transform, we reach the linear second order ODE

d∂ yy v (s, ξ, y) -s + d ξ 2 v (s, ξ, y) = -v 0 (ξ, y), y > 0, (3.8)
where s > 0 and ξ ∈ R N -1 act as parameters. Setting σ : = s + d ξ 2 , solutions of (3.8) may be written

v (s, ξ, y) = e σ √ d y C 1 - 1 2 √ d σ y 0 e -σ √ d ω v 0 (ξ, ω)dω + e -σ √ d y C 2 + 1 2 √ d σ y 0 e σ √ d ω v 0 (ξ, ω)dω ,
where C 1 and C 2 are constants (with respect to y) to be determined. In order to insure lim y→+∞ v (s, ξ, y) = 0, one needs

C 1 = 1 2 √ d σ +∞ 0 e -σ √ d ω v 0 (ξ, ω)dω. (3.9) Next, since v (s, ξ, 0) = C 1 + C 2 and ∂ y v (s, ξ, 0) = σ √ d (C 1 -C 2 ),
the Robin boundary conditions enforce

C 2 = 1 - 2A √ d σ + A √ d C 1 . (3.10)
This brings us to the following explicit expression for v :

v (s, ξ, y) = 1 2 √ d +∞ 0   e -σ √ d |y-ω| σ + e -σ √ d (y+ω) σ -2A √ d e -σ √ d (y+ω) σ(σ + A √ d )   v 0 (ξ, ω)dω,
where we recognize known forms of t-Laplace transforms evaluated at σ 2 = s + d ξ 2 -see Lemma A.6, (iii) and (iv) -so that

v (s, ξ, y) = 1 2 √ d +∞ 0 L t → e -(y-ω) 2 4dt √ πt + e -(y+ω) 2 4dt √ πt -2A √ d Erfc Γ 2Adt + y + ω 2 √ dt e -(y+ω) 2 4dt (s + d ξ 2 ) v 0 (ξ, ω)dω.
Using Lemma A.7 (iv), we can now get rid of the t-Laplace transform and get

v (t, ξ, y) = 1 2 √ d +∞ 0 e -(y-ω) 2 4dt √ πt + e -(y+ω) 2 4dt √ πt 1 -2 √ π A √ dt Erfc Γ 2Adt + y + ω 2 √ dt e -dt ξ 2 v 0 (ξ, ω)dω.
Finally, note that

e -dt ξ 2 v 0 (ξ, ω) = F   e - 2 4dt (4πdt) N -1 2   (ξ) × F [v 0 ( , ω)](ξ) = F   e - 2 4dt (4πdt) N -1 2 * v 0 ( , ω)   (ξ),
whence we can also get rid of the x-Fourier transform and reach

v(t, x, y) = R N +   e -x-z 2 4dt (4πdt) N -1 2   e -(y-ω) 2 4dt √ 4πdt + e -(y+ω) 2 4dt √ 4πdt 1 -2 √ π A √ dt Erfc Γ 2Adt + y + ω 2 √ dt     v 0 (Z) dZ. (3.11)
Expressions (3.4) and (3.5) of H θ are immediately deduced from (3.11). We now turn to the decay rate. It is readily seen that

- √ π Erfc Γ ( ) ≤ - 1 1 + , ∀ ≥ 0.
As a consequence, for all t > 0, all y ≥ 0, and all ω ≥ 0,

- √ π Erfc Γ 2Adt + y + ω 2 √ dt ≤ - 2 √ dt 2Adt + 2 √ dt + y + ω .
Using this into (3.5), we see that, for all t > 0, all X ∈ R N + , and all

Z ∈ R N + , 0 < H θ (t, X, Z) -H 1 (t, X, Z) ≤ 2G(t, x -z, y + ω) 2 √ dt + y + ω 2Adt + 2 √ dt + y + ω m(t) t N 2 , ( 3.12)
where

m(t) : = sup r≥0 2 √ dt + r 2Adt + 2 √ dt + r e -r 2
4dt

.

An elementary analysis shows that

m(t) = max 0≤r≤ √ dt 2 √ dt + r 2Adt + 2 √ dt + r e -r 2 4dt ≤ max 0≤r≤ √ dt 2 √ dt + r 2Adt + 2 √ dt + r 1 √ t .
From this, (3.12), and the case (ii), we obtain the decay rate as stated in (3.6). Combining (3.6) and the fact that v(t,

) L ∞ (R N + ) ≤ v 0 L ∞ (R N + )
, one can check that (3.7) holds true. Let us conclude this section with the following direct consequence of Theorem 3.1.

Corollary 3.2 For any

0 ≤ θ ≤ 1, we have H θ (t, X, Z) = e -x-z 2 4dt (4πdt) N -1 2 × H (1) θ (t, y, ω),
where H (1) θ denotes H θ for N = 1.

The solution to the field-road model Cauchy problem

In this section, we explicitly obtain the bounded solution to the Cauchy problem (1.1) -(2.1).

Before starting, we recall that the x-Fourier transform of u is denoted by u, the t-Laplace one by u and the x-Fourier/t-Laplace one by u. We refer to Appendix A.3 for conventions and notations related to these transforms.

Proof of Theorem 2.1. We start with establishing expression (2.3) for u = u(t, x) which is the simplest to get. To do so, we apply the t-Laplace and then the x-Fourier transforms to the third equation in (1.1), namely ∂ t u(t, x) = D∆ x u(t, x) + νv| y=0 (t, x) -µu(t, x). This yields the algebraic relation

-D ξ 2 u(s, ξ) + ν v | y=0 (s, ξ) -µ u(s, ξ) = -u 0 (ξ) + s u(s, ξ), s > 0, ξ ∈ R N -1 , which is recast u(s, ξ) = u 0 (ξ) + ν v | y=0 (s, ξ) µ + s + D ξ 2 , s > 0, ξ ∈ R N -1 . (4.1)
It is now possible to reach (2.3) from (4.1) by using properties and known forms of t-Laplace and x-Fourier transforms -see Lemmas A.6, (i) and (ii), and A.7, (ii) and (iii):

u(s, ξ) = L t → e -(µ+D ξ 2 )t u 0 (ξ) (s) + νL t → e -(µ+D ξ 2 )t (s) × L t → v | y=0 (t, ξ) (s) = L t → e -(µ+D ξ 2 )t u 0 (ξ) (s) + νL t → t 0 e -(µ+D ξ 2 )(t-τ ) v | y=0 (τ, ξ) dτ (s) = LF (t, x) → e -µt [u 0 * G D R (t, )] (x) (s, ξ) + νLF (t, x) → t 0 e -µ(t-τ ) [v| y=0 (τ, ) * G D R (t -τ, )] (x) dτ (s, ξ) = LF (t, x) → e -µt U (t, x) + ν t 0 e µτ R N -1 G D R (t -τ, x -z)v| y=0 (τ, z) dz dτ (s, ξ)
which provides (2.3). We now turn to the expression (2.2) for v = v(t, X). For convenience let us set

σ : = s + d ξ 2 and Σ : = s + D ξ 2 . (4.2)
As in Section 3, applying t-Laplace then x-Fourier transforms on the first equation in (1.1), namely ∂ t v(t, x, y) = d(∆ x + ∂ yy )v(t, x, y), leads to the linear second order ODE (where s > 0 and ξ ∈ R N -1 serve as parameters)

d∂ yy v (s, ξ, y) -s + d ξ 2 v (s, ξ, y) = -v 0 (ξ, y), y > 0, (4.3)
whose solutions are

v (s, ξ, y) = e σ √ d y C 1 - 1 2 √ d σ y 0 e -σ √ d ω v 0 (ξ, ω)dω + e -σ √ d y C 2 + 1 2 √ d σ y 0 e σ √ d ω v 0 (ξ, ω)dω ,
where C 1 and C 2 are constants (with respect to y) to be determined. In order to insure lim y→+∞ v (s, ξ, y) = 0, one needs

C 1 = 1 2 √ d σ +∞ 0 e -σ √ d ω v 0 (ξ, ω)dω. ( 4.4)
Then, calling A : = ν d and B : = µ d , the exchange condition -second equation in (1.1) -is recast Av| y=0 (t, x) -∂ y v| y=0 (t, x) = Bu(t, x); and since

v (s, ξ, 0) = C 1 + C 2 and ∂ y v (s, ξ, 0) = σ √ d (C 1 -C 2 ),
the exchange condition enforces

C 2 = 1 - 2A √ d σ + A √ d C 1 + B √ d σ + A √ d u(s, ξ) = 1 - 2A √ d σ + A √ d C 1 + B √ d u 0 (ξ) + ν v | y=0 (s, ξ) (Σ 2 + µ)(σ + A √ d ) , ( 4.5)
where we used the expression (4.1) for u(s, ξ) and the definition of Σ in (4.2). Comparing (3.9), (3.10) with (4.4), (4.5), we see that the "deviation" of v (s, ξ, y) (of the field-road model) from the solution to the Heat equation in the half-space (see Section 3) stands in the second term in the right-hand side of (4.5). Hence, using the computations that have been performed in Section 3 and calling V = V (t, X) the solution to (2.4), we reach an implicit expression for v (s, ξ, y), namely

v (s, ξ, y) = V (s, ξ, y) + B √ d e -σ √ d y u 0 (ξ) + ν v | y=0 (s, ξ) (Σ 2 + µ)(σ + A √ d ) . ( 4.6)
Evaluating now (4.6) at y = 0 yields

v | y=0 (s, ξ) = V | y=0 (s, ξ) + B √ d u 0 (ξ) + ν v | y=0 (s, ξ) (Σ 2 + µ)(σ + A √ d ) , whence v | y=0 (s, ξ) = B √ d (Σ 2 + µ)(σ + A √ d ) -νB √ d u 0 (ξ) + (Σ 2 + µ)(σ + A √ d ) (Σ 2 + µ)(σ + A √ d ) -νB √ d V | y=0 (s, ξ). (4.7)
Plugging (4.7) into (4.6) now yields the explicit expression

v (s, ξ, y) = V (s, ξ, y) + B √ d e -σ √ d y (Σ 2 + µ)(σ + A √ d ) -νB √ d u 0 (ξ) + νV | y=0 (s, ξ) . (4.8)
Our task is now to take the inverse Fourier/Laplace transform of the second term in the above right-hand-side. Letting

δ : = (D -d) ξ 2 , one has Σ 2 = σ 2 + δ. Then define Λ (s, ξ, y) : = e -σ √ d y (Σ 2 + µ)(σ + A √ d ) -νB √ d = e -σ √ d y σ 3 + A √ d σ 2 + (µ + δ)σ + A √ d δ . ( 4.9)
To match up Λ (s, ξ, y) with known t-Laplace transforms, we need to expand (4.9) into partial fractions, which requires a study of the polynomials

P δ (σ) : = σ 3 + A √ d σ 2 + (µ + δ)σ + A √ d δ, δ ≥ 0 (since D > d).
We show in Appendix A.2 that the three complex roots α(δ), β(δ), γ(δ) of P δ are simple for almost all ξ ∈ R N -1 . Hence, for these ξ,

Λ (s, ξ, y) = a e -σ √ d y σ -α + b e -σ √ d y σ -β + c e -σ √ d y σ -γ , ( 4.10)
where a, b and c have been defined in (2.9), and do not depend on the the s variable.

Expression (4.10) of Λ shows up a known form of t-Laplace transform -see Lemma A.6, (v) -evaluated at

σ 2 = s + d ξ 2 , namely Λ (s, ξ, y) = L t → e -y 2 4dt a + b + c √ πt + aα Erfc Γ -2α √ d t + y 2 √ dt + bβ Erfc Γ -2β √ d t + y 2 √ dt + cγ Erfc Γ -2γ √ d t + y 2 √ dt (s + d ξ 2 ).
Observing that a + b + c = 0, using Lemma A.

Λ (s, ξ, y) = LF (t, x) → e -y 2 4dt (2π) N -1 η∈R N -1 χ∈R N -1 Φ(t, χ, y) G d R (t, x -η) e iχ•η dχdη (s, ξ) = LF (t, x) → e -y 2 4dt (2π) N -1 χ∈R N -1 Φ(t, χ, y) e iχ•x η∈R N -1 G d R (t, x -η) e -iχ•(x-η) dη dχ (s, ξ) = LF (t, x) → e -y 2 4dt (2π) N -1 χ∈R N -1 Φ(t, χ, y) e -dt χ 2 +iχ•x dχ (s, ξ). ( 4.12)
In other words, and as expected, we do have Λ (s, ξ, y) = LF (t, x) → Λ(t, x, y) (s, ξ),

where Λ = Λ(t, x, y) has been introduced in the statement of Theorem 2.1, see (2.7). Finally, our last move consists in using Lemma A.7, (ii) and (iii), in (4.8), leading us, knowing Λ, to

v (s, ξ, y) = LF (t, x) → V (t, x, y) + B √ d R N -1 Λ(t, z, y) u 0 (x -z)dz + νB √ d t 0 R N -1 Λ(τ, z, y) V | y=0 (t -τ, x -z)dzdτ (s, ξ)
which provides (2.2). ), the roots of P δ are simple. We thus can write again (4.10) and the above proof readily applies. We now turn on the critical case D = d. When ξ browses R N -1 , δ = (D -d) ξ 2 remains stuck at zero -so that Φ(t, ξ, y) is actually independent on ξ -and only the polynomial P 0 plays a role. If µ = ν 2 4d , then P 0 has three simple roots (see Figure X and Appendix A.2) and the above proof again readily applies. On the other hand, if µ = ν 2 4d , then P 0 has a simple root and a double root. In this case, one should go back to (4.9) and, rather than (4.10), use the adequate expansion into partial fractions. Details are omitted.

The decay rate of the field-road model

In this section, we estimate the decay rate of the L ∞ norm of the solution to the Cauchy problem (1.1) - (2.11). Owing to the parabolic comparison principle, we can assume without loss of generality that v 0 and u 0 are smooth.

Proof of Theorem 2.2. We first handle the case of v -from which the one of u shall easily ensue. Reminding the expression (2.2) of v,

v(t, X) = V (t, X) + µ √ d
Let us call this P (t, x, y),

R N -1 Λ(t, z, y) u 0 (x -z) dz + µ ν √ d t 0 R N -1 Λ(s, z, y) V | y=0 (t -s, x -z) dz ds
and that Q(t, x, y).

, (5.1) The first term, namely V (t, X), is the solution to the Cauchy problem (2.4) whose L ∞ control is given in statement of Theorem 3.1 (iii):

V (t, ) L ∞ (R N + ) R N + (1 + ω)|v 0 (Z)| dZ t N +1 2 , ∀t > 0. (5.2)
To deal with terms P and Q, we will need the following lemma, whose proof is postponed at the end of this section. (5.3)

Then S(t) : = sup y≥0 sup ξ∈R N -1 |Φ(t, ξ, y)| 1 √ 1 + t , ∀t > 0. (5.4)
From here, the estimate of P is straight. Indeed, using expression (2.7) of Λ as written in Theorem 2.1, we get

|P (t, x, y)| = z∈R N -1 e -y 2 4dt (2π) N -1 ξ∈R N -1 Φ(t, ξ, y) e -dt ξ 2 +iξ•z u 0 (x -z) dξ dz ≤ S(t) (2π) N -1 ξ∈R N -1 e -dt ξ 2 dξ z∈R N -1 |u 0 (z)| dz = S(t) (4πdt) N -1 2 z∈R N -1 |u 0 (z)| dz.
Whence, thanks to Lemma 5.1,

P (t, ) L ∞ (R N + ) R N -1 |u 0 (z)| dz t N 2
, ∀t > 0.

(5.5)

Controlling Q is more refined. Observe from Theorem 3.1 and Corollary 3.2 that

V (t, x, y) = η∈R N -1 ∞ ω=0 G d R (t, x -η) H (1) θ (t, y, ω) v 0 (η, ω) dω dη,
where θ : = ν 1+ν ∈ (0, 1), so that

Q(t, x, y) = t s=0 z∈R N -1 e -y 2 4ds (2π) N -1 ξ∈R N -1 Φ(s, ξ, y) e -ds ξ 2 +iξ•z η∈R N -1 ∞ ω=0 G d R (t -s, x -z -η) H (1) θ (t -s, 0, ω) v 0 (η, ω) dω dη dξ dz ds = t s=0 e -y 2 4ds (2π) N -1 ξ∈R N -1 Φ(s, ξ, y) e -ds ξ 2 η∈R N -1 ∞ ω=0
H (1) θ (t -s, 0, ω) v 0 (η, ω)

z∈R N -1 G d R (t -s, x -z -η) e iξ•z dz dω dη dξ ds.
The integral in z is nothing else than

F [G d R (t -s, + x -η)] (ξ) = e -d(t-s) ξ 2 +iξ•(x-η) so that Q(t, x, y) = t s=0 e -y 2 4ds (2π) N -1 ξ∈R N -1 Φ(s, ξ, y) e -dt ξ 2 η∈R N -1 ∞ ω=0 H (1) θ (t -s, 0, ω) v 0 (η, ω) e iξ•(x-η) dω dη dξ ds = t s=0 e -y 2 4ds (2π) N -1 ξ∈R N -1 Φ(s, ξ, y) e -dt ξ 2 e iξ•x ∞ ω=0
H (1) θ (t -s, 0, ω) v 0 (ξ, ω) dω dξ ds.

As a result,

|Q(t, x, y)| ≤ 1 (2π) N -1 t s=0 S(s) ξ∈R N -1 e -dt ξ 2 ∞ ω=0
H (1) θ (t -s, 0, ω) v 0 (ξ, ω) dω dξ ds.

From the control on S in Lemma 5.1 and estimate (3.7) in Theorem 3.1 (with N = 1), we reach

|Q(t, x, y)| t s=0 ξ∈R N -1 e -dt ξ 2 1 √ 1 + s (1 + t -s) dξ ds t N -1 2 t 0 1 √ 1 + s (1 + t -s) ds,
for some ≥ 0. Finally, an elementary computation shows

t 0 1 √ 1 + s (1 + t -s) ds = 1 √ 2 + t   ln   1 + 1+t 2+t 1 -1+t 2+t   -ln   1 + 1 2+t 1 - 1 2+t     ≤ ln(4t + 6) √ 2 + t ,
from which there comes

Q(t, ) L ∞ (R N + ) ln(1 + t) t N 2
, ∀t > 0.

(5.6) Gathering (5.2), (5.5) and (5.6) brings us to the announced control (2.12) on v.

Let us now turn to u. We recall its expression as written in (2.3):

u(t, x) = e -µt U (t, x) + ν t 0 e -µ(t-s) R N -1 G D R (t -s, x -z) v| y=0 (s, z) dz ds,
where U = U (t, x) denotes the well-known solution to the Cauchy problem (2.5). Hence, thanks the control (2.12) we just established on v,

|u(t, x)| u 0 L 1 (R N -1 ) e -µt t N -1 2 + e -µt t 0 e µs ln(1 + s) (1 + s) N 2 ds + e -µt t 0 e µs 1 (1 + s) N 2
ds.

(5.7) We now treat the two temporal convolutions in (5.7). To do so, remark that d ds e µs µ ln(1 + s)

(1 + s) N 2 = e µs ln(1 + s) (1 + s) N 2 + e µs µ 1 -N 2 ln(1 + s) (1 + s) N +2 2 s→∞ ∼ e µs ln(1 + s) (1 + s) N 2
yields t 0 e µs ln(1+s) (1+s)

N 2 ds ∼ e µt µ ln(1+t) (1+t) N 2
. Similarly,

d ds e µs µ 1 (1 + s) N 2 = e µs 1 (1 + s) N 2 - e µs µ N 2 (1 + s) N +2 2 s→∞ ∼ e µs 1 (1 + s) N 2 yields t 0 e µs 1 (1+s) N 2 ds t→∞ ∼ e µt µ 1 (1+t) N 2
. Therefore,

|u(t, x)| u 0 L 1 (R N -1 ) e -µt t N -1 2 + ln(1 + t) (1 + t) N 2 + (1 + t) N 2
, which provides the control (2.13) on u up to changing the value of if necessary.

It now remains to prove Lemma 5.1.

Proof of Lemma 5.1. The proof is related to the study of the δ-indexed polynomials P δ in Appendix A.2. As δ = (D -d) ξ 2 browses R + , the polynomials P δ may provide double or triple roots for, at most, two values of δ -see Lemmas A.2 to A.5 (i). In Lemmas A.2 to A.5 we build a closed set E of R + so that, for δ ∈ E, the roots α, β, γ remain away from each other and so that each connected component of E c contains one and only one δ i (i = 0, 1 or 2) which provides a multiple root λ i . This proof is divided into three steps:

(i) We treat the cases where δ ∈ E for which, thanks to the boundedness of a, b and c, we can consider aαΦ α , bβΦ β and cγΦ γ independently.

We deal then with the situations where δ ∈ E c . In those, because a, b and c may be unbounded we must consider aαΦ α , bβΦ β and cγΦ γ together. Let δ ∈ E c , then there is i ∈ {0, 1, 2} such that δ ∈ (δ i -η, δ i + η) -recall that δ = δ i provides the multiple root λ i and that η is defined in Lemmas A.3 to A.5.

(ii) We treat the cases where the root λ i is double.

(iii) We treat the cases where the root λ i is triple.

Before starting, we emphasize that (A.5) insures Re(α), Re(β), Re(γ) ≤ 0 which allows us to use the estimates (A.4

) at point z = -2 • √ d t+y 2 √ dt
for • in the convex hull of α, β and γ. Notice that, in the sequel, we shall often write Φ • for Φ • (t, ξ, y).

Step (i). Because inf

δ∈E (|α -β| , |α -γ| , |β -γ|) > ε, we have sup δ∈E (|a| , |b| , |c|) < 1 ε 2 .
(5.8)

Next, using (A.4), we have, for λ ∈ {α, β, γ},

|λΦ λ | = λ Erfc Γ -2λ √ d t + y 2 √ dt 2 |λ| √ dt -2λ √ d t + y ≤ 1 √ t ,
the last inequality coming from Re(λ) ≤ 0 and y ≥ 0. Gathering the latter inequality with (5.8) provides, in view of (5.3),

sup y≥0 sup δ∈E |Φ(t, ξ, y)| 1 √ 1 + t for all t ≥ 1. (5.9)
We now turn to the case where 0 < t ≤ 1 (still when δ ∈ E). Let δ ∞ > 0 be defined as in Lemma A. The first term the above right-hand-side is clearly bounded while, for the second,

|bβΦ β | = |β| |Φ β | |β -α| |β -γ| ≤ |Φ β | |β -α| ≤ |Φ β | ε < +∞.
Hence sup

t∈(0,1] sup y≥0 sup δ∈E∩[δ∞,+∞) |Φ(t, ξ, y)| < +∞.
(5.12)

From (5.10) and (5.12), we deduce that (5.9) actually holds true for all t > 0, and we are done with this case.

Step (ii). Without loss of generality, we may, to fix ideas, suppose that δ → δ i (i = 1 or 2) provides the merging of the simple roots α and β into the double root λ i -see Lemmas A.4 and A.5. Recall in that case that inf

δ∈(δ i -η,δ i +η) inf λ∈[α,β] (|λ| , |λ -γ|) > ε,
for some η > 0. Then, for δ ∈ (δ i -η, δ i + η) and λ ∈ [α, β], one sets

ψ λ = ψ λ (t, ξ, y) : = λ(Φ λ -Φ γ ) λ -γ ,
and we claim that

sup y≥0 sup δ∈(δ i -η,δ i +η) sup λ∈[α,β] ψ λ 1 √ 1 + t , ∀t > 0, (5.13)
where

ψ λ denotes (∂ • ψ • ) λ (t, ξ, y). Using aα + bβ + cγ = 0 we get |Φ| = |aα(Φ α -Φ γ ) + bβ(Φ β -Φ γ )| = |ψ α -ψ β | |α -β| ≤ sup y≥0 sup δ∈(δ i -η,δ i +η) sup λ∈[α,β] ψ λ 1 √ 1 + t ,
where we used the mean value inequality to provide third line. It thus only remains to prove the claim (5.13). We have

ψ λ = λΦ λ λ -γ - γΦ λ (λ -γ) 2 + γΦ γ (λ -γ) 2 , where Φ λ denotes (∂ • Φ • ) λ (t, ξ, y). It is at first clear that sup t∈(0,1] sup y≥0 sup δ∈(δ i -η,δ i +η) sup λ∈[α,β] ψ λ < +∞.
(

Next, using control (A.4), we have, for λ ∈ [α, β],

Φ λ = √ t Erfc Γ -2λ √ d t + y 2 √ dt √ t 4dt -2λ √ d t + y 2 ≤ 1 |λ| 2 √ t , |Φ λ | = Erfc Γ -2λ √ d t + y 2 √ dt 2 √ dt -2λ √ d t + y ≤ 1 |λ| √ t , |γΦ γ | = γ Erfc Γ -2γ √ d t + y 2 √ dt |γ| 2 √ dt -2γ √ d t + y ≤ 1 √ t ,
and so, because |λ| > ε -see Lemmas A.4 and A.5, (iii) -, one gets, for all t ≥ 1,

sup y≥0 sup δ∈(δ i -η,δ i +η) sup λ∈[α,β] ψ λ 1 √ 1 + t . ( 5.15)
Gathering (5.14) and (5.15) finally gives (5.13) for all t > 0 and we are done with this case.

Step (iii). We recall in this last case that δ → δ 0 provokes the merging of the three simple roots α, β, γ into the triple root

λ 0 = -A √ d 3 .
Without loss of generality it may be assumed that α is the real root, and taking ε R and ε I as defined in Lemma A.3, (ii), we have

α = λ 0 -2ε R , β = λ 0 + ε R + iε I , γ = λ 0 + ε R -iε I .
Using again aα + bβ + cγ = 0 yields

Φ = bβ(Φ β -Φ α ) + cγ(Φ γ -Φ α ) = β β -γ Φ β -Φ α β -α - γ β -γ Φ γ -Φ α γ -α = β β -γ Φ β -Φ α β -α - γ β -γ Φ β -Φ α β -α = Re Φ β -Φ α β -α + i β + γ β -γ Im Φ β -Φ α β -α = Re Φ β -Φ α β -α + λ 0 + ε R ε I Im Φ β -Φ α β -α . (5.16)
The main issue is now to control second term in (5.16) because one has to compensate the term ε I which vanishes as δ → δ 0 . To do so, we use a Taylor-Lagrange expansion of Φ • at • = α which provides, for some λ ∈ [α, β],

Φ β = Φ α + (β -α)Φ α + (β -α) 2 2 Φ λ , where Φ α denotes (∂ • Φ • ) α , and Φ λ denotes (∂ •• Φ • ) λ . Hence, one gets Φ β -Φ α β -α = Φ α + 3ε R + iε I 2 Φ λ .
Now, because α is real,

Im Φ β -Φ α β -α = 3ε R 2 Im(Φ λ ) + ε I 2 Re(Φ λ ),
and therefore, using that ε R

δ→δ 0 = O(ε I ), Im Φ β -Φ α β -α ≤ 3 2 |ε R | + 1 2 |ε I | Φ λ ε I Φ λ .
As a consequence, by using the mean value inequality to control the first term in (5.16), one gets

|Φ| sup y≥0 sup δ∈(δ 0 -η,δ 0 +η) sup ∈[α,β] Φ + sup y≥0 sup δ∈(δ 0 -η,δ 0 +η) sup λ∈[α,β] |λ 0 + ε R | Φ λ .
It is first clear that sup Φ λ < +∞.

t∈(0,1] sup y≥0 sup δ∈(δ 0 -η,δ 0 +η) sup ∈[α,β] Φ < +∞, (5.17
(5.18)

Now, using control (A.4), we have, for and λ ∈ [α, β],

Φ = √ t Erfc Γ -2 √ d t + y 2 √ dt √ t 4dt -2 √ d t + y 2 ≤ 1 | | 2 √ t , Φ λ = t Erfc Γ -2λ √ d t + y 2 √ dt t 8(dt)

Numerical explorations

Through this section, we assume N = 2, meaning that the road is a line and we perform some numerical simulations of the Cauchy problem (1.1) - (2.11). To do so, we truncate the unbounded domain R × (0, +∞) and work on a bounded box (-2M, 2M ) × (0, M ), where M > 0. To preserve the quantity of individuals, we impose the no-flux boundary conditions through the artificial frontiers. The resolution method is based on a classical finite difference scheme. Since we consider M 1 and an initial datum (v 0 , u 0 ) supported in a "relatively small" compact compared to the size of the box, we are confident that the numerical solution should be close to the real solution.

On the decay rate. When D > d, the asymptotic decay rate of the L ∞ norm of the solution (v, u) is expected to be of the magnitude O((1 + t) -1 ), see Theorem 2.2 and the discussion on the logarithmic term right after. This is numerically confirmed by the left panel of Let us make a concluding remark on the asymptotic decay rate of the flux. Notice that we have focused on the flux at x = 0. However, the L ∞ norm of the is not always attained at this point. In particular, we have numerically observed that, in the vicinity of x = 0, the flux is "dromedary shaped" (one bump) when D is much smaller than 2, but "camel shaped" (two bumps) when D is slightly smaller than 2. This oscillation phenomenon would deserve further investigations.

A Appendix

A.1 The complementary error function Erfc

Recalling that Γ( ) = e -2 , the Erfc function is defined by Then, a more detailed analysis provides further information about the nature and the behaviour of the roots, as stated in the following lemmas.

Lemma A.1 (Large values of δ)

There is δ ∞ > 0 large enough such that, for all δ ≥ δ ∞ , the three roots are simple, one is real (say α) and the two others are complex conjugated (say Im(β) > 0 and Im(γ) < 0). Moreover, we have

Theorem 2 . 1 (

 21 Solution to the linear field-road Cauchy problem) Assume D > d. Then the unique bounded solution to the Cauchy problem (1.1)-(2.1) is

(2. 11 )

 11 In the statement below, the notation B B means there is a constant k = k(N, d, D, ν, µ) > 0 such that B ≤ kB .

Theorem 2 . 2 (

 22 Decay rate of the solutions to the linear field-road system) Assume D > d and let (v, u) be the bounded solution to the Cauchy problem (1.1)-(2.11). Then

Theorem 3 . 1 (

 31 Heat equation in the half-space) The solution to the Cauchy problem

Remark 4 . 1 (

 41 When D ≤ d) Let us first discuss the case D < d. Then, when ξ browses R N -1 , δ = (D -d) ξ 2 browses (-∞, 0]. As in Appendix A.2, it can be shown that, for almost all δ ≤ 0 (and thus for almost all ξ ∈ R N -1

Lemma 5 . 1 (

 51 L ∞ control of Φ) Recall the notation introduced in the proof of Theorem 2.1: Φ(t, ξ, y) : = aαΦ α + bβΦ β + cγΦ γ (t, ξ, y).

1 .

 1 It is readily seen that sup t∈(0,1] sup y≥0 sup δ∈E∩[0,δ∞] |Φ(t, ξ, y)| < +∞. (5.10) Next let us consider δ ≥ δ ∞ . Since γ = β, c = b, Φ γ = Φ β , we deduce from (5.3) that |Φ| ≤ |aαΦ α | + 2 |bβΦ β | . (5.11)

  Figure I. On the other hand, when D ≤ d (which is not the essence of the field-road model), one should, based on Remark 4.1, redo the lengthy computations of Section 5 to capture the asympotic decay rate. We are rather confident that this should not alter the result, and this is sustained by numerical simulations, see the right panel of Figure I.

Figure I -

 I Figure I -Decay in log-scale of the solution to the Cauchy problem (1.1)-(2.11) with N = 2, M = 800, µ = 10 and ν = 1, arising from the datum (v 0 , u 0 ) ≡ (1 [-10,10]×[10,30] , 1 [-10,10] ).

Figure II -

 II Figure II -Two snapshots at time t = 1000 of a few level sets of the solution to the Cauchy problem (1.1)-(2.11) with N = 2, M = 200, d = µ = ν = 1 and two different values for D, arising from the datum (v 0 , u 0 ) ≡ (1 [-5,5]×[0,5] , 0).

Figure III -

 III Figure III -Plot of the flux entering the field, F (t, x) = µu(t, x) -νv| y=0 (t, x), of the solution to the Cauchy problem (1.1)-(2.11) with N = 2, M = 200, d = µ = ν = 1 and D = 100, arising from the datum (v 0 , u 0 ) ≡ (1 [-5,5]×[0,5] , 0), for eight different values of time.

Figure IV -

 IV Figure IV -Plots in log-scale of x 0 (t) (on left) and |F (t, 0)| (on right) for the solution to the Cauchy problem (1.1)-(2.11) with N = 2, M = 200, d = µ = ν = 1 and D = 100, arising from the datum (v 0 , u 0 ) ≡ (1 [-5,5]×[0,5] , 0). When D = 0.1, d = 1, Figure V indicates that the flux is positive in the middle of the road, and negative far away, that is the opposite situation than the previous case. Furthermore if we denote x 0 (t) the (rightmost) position where the flux changes sign, that is F (t, x 0 (t)) = 0, the left panel of Figure VI suggest that x 0 (t), again, asymptotically behaves like O(t 1/2 ). Last, the right panel of Figure VI indicates that the asymptotic decay rate of the flux at x = 0 is of the magnitude O((1 + t) -2 ), which is in contrast with the previous case. In particular, the decay of the flux is faster, which is consistent with the observation -∂ y v| y=0 (t = 1000, ) ≈ 0 on the top panel of Figure II.

Figure V -

 V Figure V -Plot of the flux entering the field, F (t, x) = µu(t, x) -νv| (t, x), of the solution to the Cauchy problem (1.1)-(2.11) with N = 2, M = 200, d = µ = ν = 1 and D = 0.1, arising from the datum (v 0 , u 0 ) ≡ (1 [-5,5]×[0,5] , 0), for eight different values of time.

Figure VI -

 VI Figure VI -Plots in log-scale of x 0 (t) (on left) and |F (t, 0)| (on right) for the solution to the Cauchy problem (1.1)-(2.11) with N = 2, M = 200, d = µ = ν = 1 and D = 0.1, arising from the datum (v 0 , u 0 ) ≡ (1 [-5,5]×[0,5] , 0).

Figure VII -

 VII Figure VII -Plot of F (3000, 0) (on left) and the decay rate of |F (t, 0)| (on right) with different values of D for the solution to the Cauchy problem (1.1)-(2.11) with N = 2, M = 300, d = µ = ν = 1, arising from the datum (v 0 , u 0 ) ≡ (1 [-20,20]×[0,20] , 0).

2 ) 4 )

 24 Figure VIII -Plot of |Erfc (z)|.

Figure

  Figure IX -Plot of Erfc Γ (z) .

  δ)) = +∞, so that, up to increasing δ ∞ if necessary, |β -γ| > |β| for all δ ≥ δ ∞ .Next we fix ν > 0 and d > 0 (and thus A) and describe the situations while decreasing the parameter µ from +∞ to 0. Most of the results can be seen at a glance on Figure X.

Figure X -Lemma A. 2 (Lemma A. 3 ( 3 . 4 (sLemma A. 7 ( 1 (

 X233471 Figure X -Multiplicity of the roots of P δ for fixed ν, d. Fix the last parameter µ > 0, then δ browses [0, +∞). Lemma A.2 (Only simple roots) Assume µ > 8A 2 d 27 is fixed and set E : = R + . (i) For all δ ∈ E, the three roots are simple, one is real and the two others are complex conjugated. (ii) There is ε > 0 such that inf δ∈E (|α -β| , |α -γ| , |β -γ|) > ε.

  7, (iv), and recalling the notation Φ • defined in statement of Theorem 2.1, see (2.10), we thus reach

	Λ (s, ξ, y) = L t → e -y 2 4dt aαΦ α + bβΦ β + cγΦ γ (t, ξ, y) e -dt ξ 2 (s).	(4.11)
	We know from Lemma A.6, (i), that e -dt ξ 2 = F [G d R (t, )] (ξ) -notice that here we do mean
	G d R , and not G D R , see (2.6). Denoting
	Φ : = aαΦ α + bβΦ β + cγΦ γ ,
	we also know -see Lemma A.7, (i) -that Φ(t, ξ, y) =	1 (2π) N -1 F [F [Φ(t, -, y)]] (ξ). Hence,
	from Lemma A.7, (ii), we end up with

√1+t for all t > 0, and we are done with this case which concludes the proof of the lemma.

Acknowledgement. Matthieu Alfaro is supported by the région Normandie project BIOMA-NORMAN 21E04343 and the ANR project DEEV ANR-20-CE40-0011-01. Samuel Tréton would like to acknowledge the région Normandie for the financial support of his PhD.

Without loss of generality, we assume that, for i = 1 or 2, the double root λ i derives from the merging of α and β. Define η : = δ 2 -δ 1 2 and

4 , then there is δ 2 > 0 such that the following holds.

(i) If δ = δ 2 , the three roots are simple and as δ encounters δ 2 , two of the three simple roots merge in a double root λ 2 .

Without loss of generality, we assume that the double root λ 2 derives from the merging of α and β. Define η : = δ 2 2 and

A.3 Fourier, Laplace and Fourier/Laplace transforms

The transforms of a function w depending on t > 0 and x ∈ R N -1 we use are • the x-Fourier one (said "hat w"):

w(t, z)e -iξ•z dz;

• the t-Laplace one (said "frown w"):

• the x-Fourier/t-Laplace one (said "frown-hat w"):

The following Fourier and Laplace transforms are well-known -see, e.g., [30, page 250, lines 84 and 88] for (iii) and (iv). (ξ) = e -a ξ 2 , a > 0.

(ii) L t → e -at (s) = 1 a+s , s > -a.


Mounir Tlili

William Kokou Dedzoe

Esther Pacitti

Patrick Valduriez
email: patrick.valduriez@inria.fr

Reza Akbarinia
email: rakbarin@cs.uwaterloo.ca

Pascal Molli

Gérôme Canals

Stéphane Laurière
email: slauriere@xwiki.com

la diffusion de documents scientifiques de niveau

recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

INTRODUCTION

Collaborative applications are getting common as a result of rapid progress in distributed technologies (grid, P2P, and mobile computing). Constructing these applications on top of P2P networks has many advantages which stem from P2P properties: decentralization, self-organization, scalability and fault-tolerance. As an example of such application, consider a second generation wiki such as XWiki [START_REF]XWiki Concerto[END_REF]13] that works over a P2P network and enables users to edit, add, and delete Web documents.

In a collaborative application, many users frequently need to access and update information even if they are disconnected from the network, e.g. in a train or another environment that does not provide good network connection. This requires that users hold local replicas of shared documents. However, a collaborative application requires optimistic multi-master replication to assure data availability at anytime. Optimistic replication is largely used as a solution to provide data availability for these applications. It allows asynchronous updating of replicas so that applications can progress even though some nodes are disconnected or are under failed. This enables asynchronous collaboration among users. However, concurrent updates cause replica divergence and conflicts, which should be reconciled. In most existing solutions [START_REF] Pacitti | Preventive Replication in a Database Cluster[END_REF][START_REF] Saito | Optimistic replication[END_REF], timestamp reconciliations are not well adapted to peers' dynamicity (peers may join and leave the network at anytime). Some semantic reconciliation engines are implemented in a single node (reconciler node), which may introduce bottlenecks [START_REF] Preguiça | Semantics-based reconciliation for collaborative and mobile environments[END_REF][START_REF] Martins | Dynamic and distributed reconciliation in P2P-DHT networks[END_REF] and single point of failures. Thus, we choose to explore P2P reconciliation. We focus on timestamped P2P reconciliation. The challenge consists of providing a distributed (P2P) highly available structure supporting multi-master reconciliation and eventual consistency in the presence of dynamicity and concurrent updates on the same document, which is a typical case in P2P collaborative applications.

In this paper we present P2P-LTR, a fully distributed P2P structure over a DHT that provides the following services: a timestamp service based on KTS [START_REF] Akbarinia | Data Currency in Replicated DHTs[END_REF], a highly available log service (P2P-Log) storing timestamped updates, and a retrieval algorithm getting the timestamped updates in total order. Our main goal is to provide eventual consistency in the presence of dynamicity and failures. This approach is generic and could be used by any reconciliation engine. In this paper, we consider a general P2P text edition context such as XWiki.

To validate P2P-LTR we implemented it using OpenChord [START_REF] Stoica | Chord: a scalable peer-to-peer lookup service for internet applications[END_REF][START_REF]Open Chord version 1.0.2 User's Manual[END_REF]. Next, we implemented a prototype to create specific scenarios to test and validate P2P-LTR. For instance, we may specify the number of peers or network latencies, or may provoke failures. We use our prototype to check the correctness and response times of P2P-LTR. In our demonstration, we show how P2P-LTR generates timestamps in a fully P2P and continuous manner, managing concurrent updates. Then, we demonstrate how the P2P-Log works to provide high availability of updates in the DHT. Next, we demonstrate the retrieval algorithm that gets timestamped updates from the P2P-Log in total order. We issue several simultaneous updates coming from different peers and show that P2P-LTR manages concurrency correctly, and provides eventual consistency. Finally, we show how P2P-LTR deals with peer s' dynamicity and failures.

The rest of this paper is organized as follows: In Section 2, we describe our general P2P-LTR model and the main concepts. In Section 3, we present P2P-LTR's main procedures and summarize P2P-LTR functionalities. In Section 4, we describe our prototype. We present the main demonstration features in Section 5. Finally, Section 6 concludes.

P2P-LTR MODEL

In this section, we present our P2P-LTR model and the main concepts of our approach. In our model, we consider five types of peers (see Figure 1): User Peer: implements the user application (denoted by u) that holds primary copies (in our case, documents). Tentative update actions performed by users on primary copies are captured after each document save operation (see Figure 2). These updates are wrapped together in the form of a patch (a sequence of updates). A tentative patch is afterwards timsetamped in continuous timestamp order by interacting with its corresponding Master-key. Based on this, each patch is executed in the timestamp order at each involved user peer (masters of the same document), to assure eventual consistency. To assure total order, continuous timestamped patches are stored at the P2P Log and users may retrieve them at specific Log-Peers for reconciliation.

Dynamic Master-key Peer: responsible for generating continuous timestamps for a document: each new patch of a document in the DHT has a timestamp (denoted by ts), which is exactly one unit greater than the timestamp, say ts', of the previous patch on the same document, i.e. ts = ts'+ 1. Each document is identified by a key value. Using this key, the user peer locates the Master-key, by hashing the name of the document using a specific hash function h t . When a new timestamp is generated, the Master-key publishes the timestamped patch in the P2P-Log at specific Log-Peers. For this, the Master-key peers must first have a set of pairwise independent hash functions H r = {h 1 , h 2 , …, h n } which we call replication hash functions, used for implementing patch replication in the DHT.

Figure 1. Components peers of P2P-LTR

For a given key, the Master-key peer assumes the responsibility of sustaining the last timestamp value (denoted by last-ts) value and mediating between concurrent updates.

Master-key Succ: replaces the Master-Key in case of crashes.

Log-Peer: peer that is responsible for holding a timestamped patch done on a replica (document). A patch is replicated by a Master-key peer by performing: Put(h 1 (key+ts),Patch), Put(h 2 (key+ts),Patch)… Put(h n (key+ts),Patch).

Log-Peers-Succ: replaces the Log-Peers in case of crashes.

Our network model is semi-synchronous, similar to the ones proposed in [START_REF] Linga | Guaranteeing Correctness and Availability in P2P Range Indices[END_REF][START_REF] Akbarinia | Data Currency in Replicated DHTs[END_REF][START_REF] Martins | Dynamic and distributed reconciliation in P2P-DHT networks[END_REF].

P2P-LTR PROCEDURES

In this section, we summarize the main procedures of P2P-LTR: patch timestamp validation, patch replication and patch retrieval.

In our model, each user peer (e.g. running locally the XWiki application) has a local primary copy of the document (e.g. XWiki document, see Figure 2). Thus a user u 1 may work asynchronously. When she modifies a specific document d, the generated patch is considered as a tentative patch because its timestamp number is still not validated. The validation procedure consists of providing a continuous timestamp value to the new patch considering concurrent updates on the same document d, performed by other users (master of the same document). Recall that since patch generation may be done concurrently, it may happen that an user generates new tentative patche without knowing that previous validated patches on the same document d are available at the P2P-Log. The patch timestamp validation procedure is done by contacting the Master-key of d.

To handle validation, at each peer, each document has an associated local timestamp value (denoted by ts). Recall that the Master-key holds the last timestamp (denoted by last-ts) provided for any peer of the same document. Thus, for a given document, the user peer u 1 first contacts the corresponding Master-key and asks it to publish the patch with the timestamp value ts by invoking put(h t (key), patch+ts), where h t is the timestamp hash function used to locate Master-key peers wrt. to a specific key (i.e. document). If the Master-key local timestamp value (last-ts) is equal to ts, then the Master-key increments by one last-ts value by using gen_ts(key), and confirms the user peer u 1 that it will trigger the patch replication procedure. Next, the Master-key replicates the patch in the P2P-Log (at the Log-Peers) by invoking sendToPublish(key, last-ts, patch) and acknowledges u 1 , with a message containing the validated timestamp value.

If the Master-key local timestamp value (last-ts) is greater than ts, that means that there are previous validated patches available in the P2P-Log, generated by other users, that must be integrated in u 1 's document d before (e.g. for instance by using So6 [10] reconciliation engine which is based on operational transformation [START_REF] Molli | Using the transformational approach to build a safe and generic data synchronizer[END_REF]). To accomplish this, u 1 must perform the retrieval procedure to get all missing patches in continuous timestamp order, by using get(h i (key+ts)), where h i is one of the replication hash functions. Afterwards, u 1 restarts the timestamp validation procedure again until last-ts value is equal to ts value.

To manage concurrent patch timestamp validation on the same document, the corresponding Master-key serves each user peer sequentially. That is, a new timestamp ts value for a given document d is provided after the replication of the previous timestamped (ts-1) patch on d.

Each Master-key Peer provides three main operations for patch management:

• gen_ts(key): given a key, generates an integrer number as a timestamp for key with two main properties: the timestamps generated by the Master-key peer have the monotonicity and continuous timestamping property, i.e. two timestamps generated for the same key are monotonically increasing and the difference between the timestamps of any two consecutive updates is one.

• last_ts(key): given a key, returns the last timestamp generated for key. The last_ts operation can be implemented like gen_ts except that last_ts is simpler: it only returns the value of timestamps and does not need to increase its value.

• sendToPublish(key, last-ts, patch): for each h in H r it puts (replicates) the patch by using: Put(h 1 (key+ts),Patch),Put(h 2 (key+ts),Patch)…Put(h n (ke y+ts),Patch) at the Log-Peers that are rsp(key,h). In addition, it replicates the last-ts at the Master-Succ Peer.

To summarize, P2P-LTR is composed of the following three main procedures:

1. Edit a page locally (produces a tentative patch) 2. Validate the tentative patch timestamp value (considering other updaters) and retrieve patches if necessary.

3. After timestamp validation, replicate the new patch at the P2P-Log.

PROTOTYPE

In this section, we describe the prototype used to validate P2P-LTR main procedures.

The current implementation of the prototype is based on Open Chord which is an open source implementation of the Chord protocol. Open Chord is distributed under the GNU General Public License (GPL). It provides all DHT functionalities which are needed for implementing P2P-LTR, e.g. lookup, get and put functions. We implemented our own successor management and stabilization protocols on top of Open Chord to handle peers dynamicity and failures wrt. to P2P-LTR, since the ones proposed by Open chord are not suited to P2P-LTR.

In our prototype, peers are implemented as Java objects. They can be deployed over a single machine or several machines connected together via a network. Each object contains the code which is needed for implementing P2P-LTR services. To communicate between peers, we use Java RMI [START_REF] Java | [END_REF] which allows an object to invoke a method on a remote object.

The prototype provides a GUI that enables the user to manage the DHT network (e.g. create the DHT, add/remove peers to/from the system, etc.), store/retrieve data in/from the DHT, monitor the data stored at each peer, the keys for which the peer has generated a timestamp, etc. (see Figure 3).

DEMONSTRATION SCENARIOS

The key features of P2P-LTR, are demonstrated through the following scenarios:

Timestamp generation. This scenario is used to show that the responsibility for the continuous timestamp generation is distributed over all peers of the DHT, i.e. each Master-key peer is responsible for timestamping a subset of the documents, (see Figure 4). Concurrent patch publishing. This scenario is used to show that P2P-LTR manages correctly concurrent patch publishing on a same document. For this, we submit concurrent patches for a document coming from different users and show that eventual consistency is assured. Figure 5 shows that when a peer performs the retrieval procedure in the presence of other updaters, it retrieves continuous timestamp patches.

Figure 5. Missing patches retrieval on total order

Master-key peer departures. In this scenario, we focus on the cases where a Master-key peer leaves the system normally or as a result of a failure. In this case the leaving peer triggers DHT destabilization which yields P2P-LTR to manage stabilization in order to assure correctness. We first demonstrate that when a Master-key peer leaves the system normally P2P-LTR transfers its key and timestamps to its Master-Succ peer. To do this, we show that a new pair Master-key and Master-key-succ is established correctly. Using our prototype, we show that the set of keys and timestamp values related to the Master-key that left the DHT are correctly inserted into its successor peer. We also demonstrate the cases where the Master-key peer fails. We show that P2P-LTR assures that its successor takes over correctly, assuring continuous timestamps for the key.

New Master-key peer joining. This scenario focuses on the cases where a new peer joins the system and becomes a Masterkey peer for certain keys. In this case, the joining peer triggers DHT destabilization. P2P-LTR assures that the old responsible transfers its keys and timestamps to the new Master-key, without violating eventual consistency.

CONCLUSION

In this paper, we presented P2P-LTR which provides P2P logging and timestamping services for P2P reconciliation over a distributed hash table (DHT). To validate P2P-LTR, we developed a prototype and several scenarios that test our solutions and measure performance. In addition, we demonstrate our implementation solutions over a DHT to manage some challenging scenarios related to peers' dynamicity and failures. Through our prototype, we show that P2P-LTR behaves correctly and assures eventual consistency despite peers' dynamicity and failures. We are currently integrating P2P-LTR with XWiki [12, 13] using a So6 variant as text reconciliation engine.

Figure 2 .

 2 Figure 2. XWiki Document example in editing mode

Figure 3 .

 3 Figure 3. P2P-LTR Main Interface

Figure 4 .

 4 Figure 4. Set valid timestamps at a chosen Master Peer

ACKNOWLEDGEMENTS

This work is partially funded by French ANR XWiki Concerto project and European STREP Grid4All project.


F Mallet

M-A Peraldi-Frati

C André

From UML to Petri Nets for non functional Property Verification

Real-time embedded architectures consist of software and hardware parts. Meeting non-functional constraints (e.g., real-time constraints) greatly depends on the mappings from the system functionalities to software and hardware components. Thus, there is a strong demand for precise architecture and allocation modeling, amenable to performance analysis.

The paper proposes a model-driven approach for the assessment of the quality of allocations of the system functionalities to the architecture. We consider two technical domains: the UML domain for the definition of the model elements, and a non functional property analysis domain, external to UML, used for formal verification. This paper focuses on 1) the specification of expected behavior by UML activities, specialized to support the synchronous paradigm, 2) the definition of an analysis model for temporal properties: the Modular and Hierarchical Time Petri Nets, 3) the transformation from the specification model to the analysis model.

Introduction

Real-time embedded architectures consist of software and hardware parts. Meeting non-functional constraints (e.g., real-time constraints) greatly depends on the mappings from the system functionalities to software and hardware components. Such a mapping-here called allocation-includes temporal scheduling as well as spatial partitioning and communication synthesis aspects. Thus, there is a strong demand for precise architecture and allocation modeling, amenable to performance analysis and that captures the heterogeneous nature of architectures and applications.

Since its introduction in 1997, the Unified Modeling Language [START_REF]Unified Modeling Language: Superstructure. V 2.0[END_REF] has become the de facto modeling language for software development. This is due to its standardized notation and its support for domain-specific extensions via the definition of profiles. The standard semantics of UML 2.0-such as explained by Selic [START_REF] Selic | On the Semantic Foundations of Standard UML 2.0[END_REF]-has been willingly kept very general and informal, even though there were some attempts to give a more precise semantics [START_REF] Clark | A feasibility Study in Rearchitecturing UML as a Family of Languages using a Precise OO Meta-Modelling Approach, version 1.0[END_REF]. When addressing a specific domain, a subset of UML is often sufficient but may require a formal semantics. For instance, in the UML specification, activities use an informal semantics inspired from Petri-Net. A formal definition of the semantics of the activities in terms of Petri-nets has been proposed [START_REF] Störrle | Semantics and Verification of Data Flow in UML 2.0 Activities[END_REF] by introducing one-to-one structural transformations.

When considering real-time applications and time behavior, the model needs further extensions. The TURTLE (Timed UML and RT-LOTOS Environment) approach [START_REF] Apvrille | A Real-Time UML Profile Supported by a Formal Validation Toolkit[END_REF] proposes the expression of temporal requirements through extended UML2.0 interaction and sequence diagrams. TURTLE is specific to real-time embedded systems design and provides a formal framework based on the RT-LOTOS language. The automatic generation of RT-LOTOS code allows for formal analysis of this design by using the RTL tools.

For real-time embedded applications-such as data and image processing, and automatic controlfunctionality and expected behavior are often specified by data flow models. This justifies our choice of the UML 2.0 activities for behavioral modeling. In this paper, we attempt to define a mapping for a restrictedclass of activity diagrams to Time Petri Nets. We do not aim at specifying a full simulation semantic for the activities but rather to provide a support for verifying non functional properties-like deadline-on activities. Hence, we provide one-to-many transformation rules that only capture the temporal information extracted from the activity diagram and according to some allocation constraints. Other non functional properties would induce other transformation rules and are beyond the scope of this paper. The term allocation denotes the organized mapping of elements within the various structures and hierarchies of a user model. The Deployment concept supported by UML is a special case of allocation.

The standardization of domain-specific extensions for UML has to follow a profile submission process. For instance, in the domain of real-time systems, the UML profile for 'Schedulability, Performance and Time' defines standard paradigms of use for modeling of time, schedulability and time-related aspects [START_REF]UML Profile for Schedulability, Performance, and Time, version 1.1[END_REF]. This profile is being revised and should be merged into some future extensions [START_REF]UML Profile for Modeling and Analysis of Real-Time and Embedded systems (MARTE) RFP[END_REF]. In this paper we do not attempt to formally define a UML profile, because there are quite tedious to read for non UML specialists, we rather focus on the structural transformations required to capture the allocation constraints and eventually verify temporal properties.

The paper structure is as follows. Section 2 presents the application specification used to illustrate our transformations. The next section introduces specialized UML activities for the behavioral modeling and data flow representation. Section 4 defines our structural transformation rules to obtain a hierarchical modular Time Petri Net. Section 5 is devoted to an original property-checking technique: timing properties studied by the automatically derived Time Petri nets.

Application Specification

Algorithm/Architecture

To illustrate our transformation process, we use a simple but typical example of control and signal processing applications. This example consists of complex atomic data processing parts (operations) driven by activation conditions (control). The specification is as the same abstraction level as a TLM (Transaction Level Model [START_REF] Cai | Transaction Level Modeling: An Overview[END_REF]) description. An operation may be an IP (Intellectual Property) such as an FFT, a convolution, a filtering… Usually these applications are executed in a cyclic and periodic way. During a cycle, sensors are read, operations are performed and outputs are issued.

This application is made of 4 input signals (M, A, B, C, from sensors), 3 output signals (W, Y, Z, to actuators) and 3 operations (oper1 to oper3). From the functional point of view, the system may operate in two modes (M1, M2) selected by the input M. Each mode is specified by a data flow model. A functional specification of the expected behavior is:

The execution platform is given: 2 processors (P1 and P2) connected by a bidirectional channel.

This example is often used as an illustration of the SynDEx AAA methodology [START_REF] Grandpierre | From Algorithm and Architecture Specifications to Automatic Generation of Distributed Real-Time Executives: a Seamless Flow of Graphs Transformations[END_REF] that focuses on the adequation between algorithm and architecture (timeliness and optimization). Even though the goal is the same, our approach is different because the starting point is a UML activity and we obtain the result by applying systematic structural transformations while SynDEx use its own input format and its own scheduling algorithms. We rely on UML 2.0, existing profile (Schedulabitity, Performance, and Time specification: SPT [START_REF]UML Profile for Schedulability, Performance, and Time, version 1.1[END_REF]) and forthcoming profiles (system engineering [START_REF]UML profile for Systems Engineering RFP[END_REF], Marte [START_REF]UML Profile for Modeling and Analysis of Real-Time and Embedded systems (MARTE) RFP[END_REF]).

Non functional constraints

Various non functional constraints are imposed. Deadline is such a constraint (a period of 40 time units, equal to the deadline): whatever the mode, all operations must be executed within this deadline. Other constraints are related to deployment: some processing elements have fixed location; others have to be mapped onto physical resources so that real-time constraints are met. With the knowledge of the performances of the platform elements (processors and channels), a cost specification can be associated with pairs "processing, processor", and "communication, channel". For instance, the cost can be an execution time characterized by a time interval, possibly reduced to a singlevalue as in Figure 1. Additional allocation constraints can be specified such as uniqueness of deployment, expressed by the uniqueAllocation attribute. In our example, oper2 is potentially deployable on P1 or P2, but since uniqueAllocation is true, we may choose to allocate oper2 either on P1 or P2, but not both.

Note that, in Figure 1 inpX (outpX) stands for the acquisition (actuation) processing of signal X. Inter processor communications have a duration that depends on the type of transmitted data (Figure 2, lefthand side). More generally, several channels (e.g., Ethernet and WiFi) may exist between two processors, associated with different costs (Figure 2, right-hand side). The communications may even be dissymmetric (e.g., ADSL where upstream and downstream communication costs are different).

Data flow representation

In UML 1.x activity graphs were just an informal specialization of state machines. Such a representation was not convenient for systems engineers. To address this issue, explicit representation of data and control flows has been introduced through activity diagrams. Now, in UML 2.0, activities are first class concepts with their own diagrams. The semantics of activities is large enough to cover several domain-specific interpretations [START_REF] Selic | On the Semantic Foundations of Standard UML 2.0[END_REF]. A more precise semantics can be given in profiles using the semantics variation points. In our case, the semantics is implied by systematic structural transformations that lead to a mathematically wellfounded model: the Time Petri nets.

An activity is a UML behavior. It specifies a partial ordering of executions of subordinate behaviors, using control and data flow models. Activity diagrams support hierarchical description; subordinate behaviors are individual elements (actions) that can be invocation actions or structured activity nodes. The UML::Activities package consists of many packages. In order to provide automated transformations and to perform formal property verifications, we do not support all the activity model elements and constructs, but we require a precise semantics for the selected model elements. We use a synchronous semantics [START_REF] Benveniste | The synchronous languages 12 Years Later[END_REF], well adapted to the kind of applications we focus on. This restriction can be imposed by stereotyping. We define «SActivity», a stereotype of Activity that conforms to the synchronous reactive model of computation. This choice requires this approach to be restricted to applications with deterministic executions or at least to applications for which a valid deterministic behavior can be derived. A synchronous system evolves in a sequence of non overlapping reactions in a lock-step manner. A typical synchronous execution scheme consists of a read phase (input acquisitions), a computation phase, and finally, a write phase (actuation). The sequence of these three phases is called a reaction and must be performed in isolation (i.e., the computation is blind to environment changes). Moreover a synchronous execution demands finite executions; it is loop free-the related SActivity is a Directed Acyclic Graph or DAG-and deterministic. Details about synchronous execution semantics are beyond the scope of this paper (see [START_REF] Simone | Towards a Synchronous Reactive UML subprofile?[END_REF]). Figure 3 represents the application activity at the top level. In all figures we use the standard UML 2.0 notation [START_REF]Unified Modeling Language: Superstructure. V 2.0[END_REF]. For pins, only a small rectangle is normative. We choose, as most UML tools, to place an arrow inside the rectangle to indicate whether it is an input or an output pin. Modes are selected by a DecisionNode. A DecisionInput is a behavior attached to a decision node, which selects one of its outgoing edges. The decision node is refined into an invocation action (decision), defined by its own activity diagram (not shown in this paper). Here, an action is a UML CallBehaviorAction that directly invokes a behavior. In our approach, a behavior is either elementary (e.g., isEqual, and thus specified by an elementary operation given in a table, see Figure 1) or further refined as an activity diagram (e.g. the M1 activity in Figure 3).

Access to information demands special actions, which can be resource and time consuming. We explicitly represent these accesses using two stereotypes of CallBehaviorAction: CallReadData for inputs, represented on Figure 3 by the box icon with an outgoing arrow, and CallWriteData for outputs. The 'which' stereotype attribute refers to the entity that conveys the value. This is a constant reference, not implying any object flow, and assigned to a ValuePin. Figure 3 is interpreted as follows: a value (the object m) is read from the sensor M and is used to decide whether to run in mode M1 or M2. Actions M1 and M2 are call behavior actions, specified in separate activity diagrams. For instance, activity M1 is described in Figure 4.

From Data flow to Petri Net

Our main goal is to formally verify some non functional properties of the application. In this paper, we focus on time properties. For this purpose, we need to fulfill three requirements. First, give a formal semantics to each activity model element. Second, compose these semantics to derive the semantics of the SActivity. Third, take into account architectural constraints and non functional properties to be verified.

Hierarchical and Modular Time Petri Nets

To address the first requirement, Time Petri nets [START_REF]The Petri Nets World[END_REF] have been preferred to the UML State Machines and Activities. Petri nets have well-established mathematical foundations (semantics) and offer rich analysis capabilities. Contrary to UML state machines, Petri nets support true concurrency. As for UML2.0 activity diagrams, though they are inspired from Petri nets, they lack a formal semantics.

We introduce Modular and Hierarchical Time Petri Nets (MHTPN) to meet the second requirement, making it possible to compose behaviors. The Petri Net community is working on a model generic enough to cover all Petri Net formats (namely, the Petri Net Markup Language, PNML [START_REF] Billington | The Petri Net Markup Language: Concepts, Technology, and Tools[END_REF]). Our model, MHTPN, is specific to Time Petri nets, while PNML was designed to be completely generic. Thus, MHTPN is simpler and fits better our approach. It is organized in three packages. This hierarchical model (Figure 5) is built upon the classical flat model of Petri nets (Figure 6). In this latter model, timing information (a special kind of cost specification) is attached to transition (Time Petri Net). A third package, not presented here, defines graphical features.

MHTPN modules, like PNML ones, compose through their interface, supporting both place and transition fusions. Deriving MHTPNs from activity diagrams is driven by the structural transformations specified in Section 4.2. To satisfy the last requirement, we must take into account architectural constraints-distribution constraints that result in communications-and temporal constraints. Section 4.4 explains how the MHTPNs are augmented by dedicated transformation patterns to make communications explicit. Section 4.5 shows how temporal constraints are represented in the MHTPN.

Structural Transformations

The structural transformations from SActivity model elements to MHTPN model elements are summarized in Table 1. Note that most of the SActivity model elements are transformed into module instances. We have defined a library of MHTPN modules suitable for expressing the temporal behavior. Figure 7 shows two examples:

SActivity model element

ProcessingElement and Join modules. The ProcessingElement module captures the temporal behavior of actions that represent elementary processing elements. In a module the grey-background part is the interface made of ports. The other part expresses the module behavior as a modular Petri net (i.e., it may use module instances as well). The central transition is fired when the processing element is executing, it takes inputs from the left hand-side place and produces outputs in the right hand-side place. This transition can only be fired when a resource is available; this resource is modeled by the place above the transition in the figure. This place, which is a ReferencePlace, may share-with another ProcessingElement-an actual place defined outside the module. With this first abstraction, the resource is released immediately. In section 4.4, we take duration into account through TimeIntervals associated with transitions. The Join MHTPN module is a very classical building block in Petri Nets. Nevertheless, it is important to note that the usage of such a module as a placeholder for an SActivity MergeNode is justified because we want to verify temporal properties. When several branches, which take time, execute in parallel, the overall time spent is the maximal time of all branches. Using a Join results in computing the maximum, while using a Merge would have resulted in choosing the branch with the shortest time. Had we chosen to model another non functional property, like power consumption, we would have been bound to define another module-a Merge or any other adapted module-to represent an SActivity MergeNode. Activity diagram focuses on the execution with a strong flow flavor and applies well to engineering systems. An activity expresses what to do but little where to do it. The activity diagram (section 3) specifies the algorithmic part of the application (section 2.1). Non functional constraints and the architectural aspects are still to be captured. Distribution aspects and induced communications are also to be modeled. To this end, we introduce below two concepts-potential allocation and communication processing elements-and the associated transformations.

Potential Allocation

The processing and communication costs are related to a pair "elementary processing element, host", which characterizes a potential allocation. A host is either a processor or a channel. An elementary processing element, associated with an elementary operation, is potentially deployed onto several targets (a set of hosts). For instance, oper3 can be deployed on processors P1 or P2. The respective costs are given in tables from Figure 1. A non elementary processing element, whose behavior is described by an Activity, is associated with a set of allocations resulting from the allocations of the subordinate actions. The cost associated with an Activity results from a semantic transformation that propagates allocation information. This process is explained below.

Communication processing element

Given the potential allocations for all elementary operations, we derive all potential communications. Some SActivity model elements require adding explicit communications; this is the case for actions that represent elementary processing elements and for the final node of the top-level SActivity. Communications must explicitly appear when they may have a cost. To avoid duplication, communications are systematically inserted before each input port of every elementary processing element. The communication cost varies depending on the potential allocations of both the target and the source elementary processing elements. Since we are using a modular and hierarchical representation the source elementary processing elements may not be known when compiling the module. The source and its potential allocation will be discovered at elaboration time after connecting module instances.

No communication is inserted for a user-defined Activity; its communication costs are eventually paid when used by an elementary processing element defined in the corresponding module.

A FinalNode is always translated into an output port. The FinalNode of the top-level SActivity needs a special transformation; it can be interpreted as a form of distributed termination, and as such, it may imply a communication cost. Therefore, a potential communication is inserted before it.

Alike elementary processing elements, communications take inputs, produce outputs, require a resource (i.e., communication media) and may take time. Therefore, both elementary processing elements and communications are represented with Processing- Element module instances.

Temporal constraints, architectural constraints and non-functional properties

Table 2 summarizes how time constraints, architectural constraints and non-functional properties are modeled with the MHTPN modules. Execution durations from Figure 1 are integrated by associating a TimeInterval with the central transition of the corresponding ProcessingElement module instance (see Figure 7).

UML Models MHTPN Model elements Behavior

See The resource is held during a given amount of time, thus preventing other processing elements from using it at the same time. The output tokens are released at the end of the execution. Similarly, execution durations of communications (Figure 2) are integrated by associating a TimeInterval with the central transition of the corresponding communication ProcessingElement module instance. This characterization by a time interval is only sensible for dedicated real-time networks. More general communications would require stochastic models, not supported by TINA and MHTPN.

When a resource offers a concurrency degree higher than one, several tokens are put into the place that represents the resource, thus making the concurrent use of this resource possible.

Finally the global deadline constraint is modeled using an ObservingElement module instance (Figure 8). This module is specifically designed for time properties. Had we chosen to verify another kind of non-functional property-like consumption for instance-we would have had to design another module.

Time property analysis

For the purpose of time property analysis we use the time Petri net analyzer (Tina) [START_REF] Berthomieu | The tool TINA -Construction of abstract state space for Petri net and Time Petri Nets[END_REF], which supports both timed and untimed nets. However, Tina does not support hierarchical descriptions. We have built a tool that allows for graphical composition of MHTPN modules. It exports flattened modules into a Tina-compatible format. Section 5.1 shows how Tina is used to check time properties. Section 5.2 briefly describes the software environment we have built as a prototype to demonstrate the feasibility of our approach.

Property checking

In order to be analyzed, the MHTPN generated by model transformations is flattened into a Time Petri Net, which is a prerequisite for Tina. From a Time Petri Net, Tina generates various behavioral graphs, on which analyses can be conducted. The simplest exploration reports unbounded places and dead transitions. Behavioral graphs can be efficiently shared and exchanged as a Kripke Transition system for advanced analyses Tina offers a large choice of analysis methods dealing with various levels of abstraction. The exploration can be exhaustive, which is often the case for our acyclic Petri nets, or partial. The violation of safety properties can be detected on the fly (i.e., while generating the behavioral graph). Notice that deadline is a form of safety property, also known as 'bounded liveness'. When a property is violated, a counter example is generated. Tina also allows the designer to express the expected properties in temporal logic formulas (Linear Time Logic-LTL-or Computational Tree Logic star-CTL*-), which are then verified by model-checking techniques.

Our MHTPN library modules are devised so as dead transitions reveal property violations or structural inconsistency. For example, we can identify impossible allocations, or check whether or not the deadline constraints are met. For the application of Section 2, using LTL formulas, the analysis is able to assert the following properties:

1.

There is no valid allocation with a deadline constraint less than 38 time units.

2.

To meet the strong deadline of 38 time units, oper2, oper3 and outpY must be executed on P2, while inpC can be executed either on P1 or P2.

3.

To meet the weaker deadline constraint of 40 time units, oper2 must be executed on P2 but there is no constraint for other potential allocations.

Software environment

We have started to implement a tool suite that supports the four steps of the transformation chain. The first step concerns the capture of the activity diagram, of architectural constraints and of non-functional properties. The second step is the transformation of SActivity diagrams into MHTPN. In the third step, the MHTPN is flattened and exported to Tina as explained in the previous section. Tina is used to perform the fourth step and the result provided is brought back inside our tool for interpretation.

Concerning the actual implementation, the first two steps imply building a UML modeling tool and using a mature model transformation technology; they are still under development and the related actions were performed manually on the example presented. The third step has been implemented first because it involves the manipulation of hundreds of nodes even for small examples, while previous steps apply to more abstract models, making them simpler to handle.

We have built an Eclipse plug-in that captures the MHTPN, flattens it and exports it in a format accepted by Tina. The MHTPN metamodels shown in Figure 5 and Figure 6 have been captured using an EMF Ecore model. The EMF technology generates the business model code, XML generators and parser; it thus provides a support for making the models persistent. The XML files produced follow an XML schema also generated by EMF. Even though EMF also provides tree-based editors that follow the model description, we have found them not sufficiently user friendly for our application. Then, we have implemented upon the EMF-generated business model code, a graphical interface using the GEF methodology. More details about the Eclipse framework and the related EMF and GEF projects are available on the Eclipse web site [START_REF]The Eclipse project[END_REF].

Conclusion

This paper has shown a way to use UML and model transformations to derive an analysis model from a UML functional description. First, the functionality of the application is expressed as a stereotyped UML activity diagram tailored for synchronous reactive execution. Following the model-driven approach, this model passes through a series of transformations resulting in a model amenable to formal analyses.

For property analysis, the semantics of UML 2.0 is not sufficiently precise (many semantic variation points, no formal definition). This is a deliberate choice made by the standard to be widely applicable. When a precise domain or fine property analyses are targeted, the semantics has to be strengthened within a profile. This is what we have done to model distributed control applications with several potential allocations of operations to hardware/software execution supports. The semantics of UML 2 activity diagrams has been revisited to remove variations points and introduce "synchronous" evolutions. Details about this profile are available in a technical report [START_REF] André | Nonfunctional Property Analysis using UML2.0 and Model Transformations[END_REF]. For analysis, since this paper focuses on the temporal correctness of applications with concurrent evolutions, we have chosen Petri Nets as the analysis domain and especially, modular and hierarchical time Petri nets.

Diagram interchanges and model transformations have been implemented in Java, within the Eclipse framework. Meta-models have been captured using an EMF Ecore model. Temporal properties are analyzed by Tina, a time Petri net analyzer. Reachability analysis tools of Tina establish the existence of a valid allocation meeting temporal constraints. More complex properties can be expressed as temporal logic formulas (LTL formulas) and formally analyzed by model-checking techniques. The Tina tool box provides the behavioral graph generator, facilities to specify temporal logic formulas, and connections to several model-checkers. For the example studied in the paper, with the given parameters, we have established that a given operation must necessarily be allocated to a given processor in order to meet the deadline. This leads to a reduction of the possible allocations to be explored. Once the adequate solutions are better characterized, we may export pertinent information, extracted from UML models, to other analysis tools. For instance, we could easily export the algorithm and architecture models to SynDEx [START_REF] Grandpierre | From Algorithm and Architecture Specifications to Automatic Generation of Distributed Real-Time Executives: a Seamless Flow of Graphs Transformations[END_REF] for further optimization and generation of the real-time distributed code. This paper has illustrated how to associate time Petri nets with our library elements. We have used Petri net models as behavioral models. However, they cannot easily capture preemptive behaviors. We plan to use more expressive formalisms. In the future, to make the best of the underlying synchronous hypotheses, we intend to use the industrial synchronous language Esterel /Scade [START_REF] Studio | [END_REF] and its validation tools, or the Polychrony platform [START_REF] Guernic | Polychrony for system design[END_REF].

Figure 1 :

 1 Figure 1: Execution durations for processing elements.

Figure 2 :

 2 Figure 2: Execution durations for communication elements.

Figure 3 :

 3 Figure 3: Activity Diagram (top-level).

Figure 4 :

 4 Figure 4: Activity Diagram (Mode M1).

Figure 5 :

 5 Figure 5: Modular Time Petri Net Model.

Figure 6 :

 6 Figure 6: Time Petri Net Core Model.

Figure 7 :

 7 Figure 7: Examples of modules from the MHTPN library.

Figure 8 :

 8 Figure 8: ObservingElement MHTPN module.

Table 1 : Behavior Transformation from SActivity model elements to MHTPN model elements.

 1

	Condition	MHTPN model element
	top level	PetriNet

Table 1

 1 Allocation

		Allocation Cost (time)	Time Interval
		Host	Place
	Resource	Concurrency	Token load or capacity
		Degree
	NFP	Deadline	ObservingElement*
	* ModuleInstance : instances of modules predefined in a library.

Table 2 : Transformation rules.

 2