Ben Faker

Belgacem

Uniqueness for an ill-posed reaction-dispersion model. Application to organic pollution in stream-waters

Keywords: Biochemical Oxygen Demand, Dissolved Oxygen, Stream Waters, Ill-posed Parabolic systems, non-symmetric Mixed problem, saddle point theory, Pazy's Uniqueness Theorem, pointwise sources detection, Identifiability

) governing the interaction between organic pollutants and the oxygen available in stream waters. The sources we consider are point-wise and simulate stationary or moving pollution sources. The ultimate objective is to obtain their discharge location and recover their output rate from accessible measurements of DO when BOD measurements are difficult and time consuming to obtain. It is, as a matter of fact, the most realistic configuration. The subject to address here is the identifiability of these sources, in other words to determine if the observations uniquely determine the sources. The key tool is the study of coupled parabolic systems derived after restricting the global model to regions at the exterior of the observations. The absence of any prescribed condition on the BOD density is compensated by data recorded on the DO which provide over-determined Cauchy boundary conditions. Now, the first step toward the identifiability of the sources is precisely to recover the BOD at the observation points (of DO). This may be achieved by handling and solving the coupled systems. Unsurprisingly, they turn out to be ill-posed. That issue is investigated first. Then, we state a uniqueness result owing to a suitable saddle-point variational framework and to Pazy's uniqueness Theorem. This uniqueness complemented by former identifiability results proved in [2011, Inverse problems] for scalar reaction-diffusion equations yields the desired identifiability for the global model.

Introduction

Two indicators (tracers) are currently used in the analysis and management of stream water quality. The Biochemical Oxygen Demand (BOD) is widely employed to measure the pollution extent due to organic agents and then to evaluate the water characteristics. Another important constituent to consider is the Dissolved Oxygen (DO), the oxygen absorbed by water and is therefore available to biological micro-organisms and in general to aquatic life. Measuring the BOD is a procedure that determines the amount of oxygen consumed by biological organisms for the oxidation of polluting material contained in agricultural, domestic or industrial waste (see [START_REF] Sawyer | Chemistry for Environmental Engineering and Science[END_REF][START_REF] Marchuk | Mathematical models in environmental problems[END_REF][START_REF] Bermúdez | Mathematical techniques for some environmental problems related to water pollution In Díaz and Lions[END_REF]). The increase in BOD (at the expense of DO) is interpreted directly as the oxygen uptake in waters and is informative on the level of the organic pollution. We examine the reconstruction of pollution sources by observing the depletion of the DO concentration caused by the elevation of the BOD density. Notice that the ultimate objective of engineers is to know the Biochemical Oxygen Demand from some given observations. The advantage of this coupled BOD-DO model is that Dissolved Oxygen observations are much easier to conduct. Obtaining exploitable observations of Biochemical Oxygen Demand requires several days which is too long a period in the identification of an accidental spill where time is crucial (the standard is five days for BOD observations) (see [START_REF] Sawyer | Chemistry for Environmental Engineering and Science[END_REF]).

As detailed in [START_REF] Brown | The Enhanced Stream Water Quality Models QUAL2E and QUAL2E-UNCAS: Documentation and Manual[END_REF][START_REF] Jolánkai | Basic river water quality models : computer aided learning (CAL) programme on water quality modelling (WQMCAL)[END_REF][START_REF] Chapra | Surface Water Quality Modeling[END_REF], well developed models for rivers lead to time-dependent parabolic boundary value systems (see also [START_REF] Okubo | Diffusion and Ecological Problems: Mathematical Models[END_REF]). These models are in general one dimensional in the curvilinear abscissa of the river. The dispersion of the pollutant and of the deficit (with respect to the saturation level) of the oxygen concentrations, denoted respectively by b(•, •) and c(•, •), are governed by the partial differential equations

∂ t b -(D(x)b ′ ) ′ + R(x)b = F (x, t)
in (0, L) × (0, T )

∂ t c -D * (x)c ′ ′ + R * (x)c -R(x)b = G(x, t) in (0, L) × (0, T ) b(0, t) = c(0, t) = 0 in (0, T ) D(L)b ′ (L, t) = D * (L)c ′ (L, t) = 0 in (0, T ) b(x, 0) = c(x, 0) = 0 in (0, L).
where F (x, t) is a pollution source, G (x, t) is an oxygen source or sink. D, D * are the longitudinal dispersion parameters and R, R * are the deoxygenation and rearation coefficients. They are all dependent on the space variable x. The term R(x)b in the second equation on the DO is the depletion of oxygen due to elevated BOD. The boundary condition at x = 0 indicates that the water is clean upstream and the downstream condition at x = L results from the truncation of the domain away from the source locations. Initial conditions indicates that the media is not polluted initially, the Biochemical Oxygen Demand is zero and the Dissolved Oxygen is at the saturation level, the deficit to the saturation is then zero. Throughout, we do not include the transport to the model we intend to study in detail. This extension and some others are discussed in a separate section at the end of the paper.

Often, the model treated in the literature consider the same diffusivity for the BOD and the DO concentrations, that is D * = D. Nevertheless, when we are concerned with the interaction between the DO and other oxidizable contaminants, such as phosphorus or nitrates, the dispersion parameters are most likely to be different. We choose to handle the general case, given that it arises some technical points that are worth to deal with. Now, the direct BOD-DO problem that is when the source F and G are known beforehand, is well-posed. It is triangular and both equations are weakly coupled. They may be handled sequentially. Solve first the BOD equation to obtain b(•, •). Then, cope with the DO equation where the global source term (G + Rb) is fully known. We are however concerned with the inverse problem of determining (F, G) from data only given on c(•, •). As will be seen later on the inverse problem is strongly coupled and the uncoupling in the direct problem does not work anymore.

Given ζ L , ζ R two distinct monitoring points such that 0 < ζ L < ζ R < L, we suppose that the following observations are available

B [F, G] = (c(ζ L , •), D * (ζ L )c ′ (ζ L , •)), (c(ζ R , •), D * (ζ R )c ′ (ζ R , •)), 0 ≤ t ≤ T . (1)
With the above observations alone, one cannot hope to uniquely determine any arbitrary source. Some a priori information on the structure of the sources must be accessible. We suppose that each source is spatially supported by a moving point contained within (ζ L , ζ R ) and has a time-varying strength. The sources are then expressed as

F (x, t) = f (t) δ(x -r(t)) in (0, L) × (0, T ) (2)
G (x, t) = g (t) δ(x -s(t)) in (0, L) × (0, T ). ( 3
)
The symbol δ is for the Dirac distribution. The observations recorded at the two monitoring points (ζ L , ζ R ), should be located one upstream and the other downstream of the sources that is ζ L < r(t), s(t) < ζ R for all t ∈ (0, T ) and the (pollution, oxygen deficit) rates (f, g) have finite energies. The identifiability result shows that the trajectory of the pollution source and the varying rate of release can both be retrieved if the variations in DO concentration are observed at two points. Many practical applications may be listed. One is the discrimination of the polluting agent in a river. Moving sources would indicate the responsibility of a ship in the pollution while fixed sources likely suggest the contribution of a factory. Another is to provide responsible authorities with valuable information about the location and the extent of contamination to make enlightened decisions of removing accidental organic pollution and clean-up stream-waters. This prevents eutrophication processes that are real threats to flora and fauna.

To our knowledge only partial results on the identifiability have been obtained on the inverse problem. Previously, El Badia and Hamdi [START_REF] El Badia | Inverse source problem in an advection-dispersion-reaction system: application to water pollution[END_REF] and later Hamdi [START_REF] Hamdi | Identification of a time-varying point source in a system of two coupled linear diffusion-advection-reaction equations: application to surface water pollution[END_REF] considered the case where no source G is active (G = 0) and the source F is point-wise with a fixed position r and a timedependent intensity, i.e. F (x, t) = f (t)δ(xr). With the supplementary assumptions that the physical parameters (D, D * ) and (R, R * ) are constants, that the source becomes inactive after a given time T * < T and at least one of the observations is made at a strategic point, they proved an identifiability result. The result we pursue in this contribution is to consider and extend the identifiability result to the most general situation. We first remove the source inactivity assumption as well as the requirement that one observation point must be strategic(2 ). More importantly, we suppose that the source is moving and our analysis holds for a large class of variable coefficients, (D, D * ) and (R, R * ). Lastly, we show that with the same observation set, we can determine the additional point-wise source, G. These generalizations are fundamentally those that are made in [START_REF] Andrle | Identification of Moving Pointwise Sources in an Advection-Dispersion-Reaction Equation[END_REF] regarding the simpler problem considered earlier in [START_REF] El Badia | Identification of a point source in a linear advection-dispersion-reaction equation: application to a pollution source problem[END_REF][START_REF] Hamdi | The recovery of a time-dependent point source in a linear transport equation: application surface water pollution[END_REF]. Let us emphasize the fact that the difference between [START_REF] El Badia | Inverse source problem in an advection-dispersion-reaction system: application to water pollution[END_REF] and our work is also methodological. We mainly use functional analysis tools essentially coming from saddle point methodology while in [START_REF] El Badia | Inverse source problem in an advection-dispersion-reaction system: application to water pollution[END_REF], the authors made use of Fourier computations which is valid only for constant (dispersion, reaction) coefficients (D , R) and (D * , R * ).

Since the identifiability process is conducted in several steps, we initially consider the coupled problem set in both external cylindrical time-space sub-domains, that coincide with the portions exterior to the observation points. The first and most difficult task will be to recover the Biochemical Oxygen Demand concentration b(•, •) at observation points ζ L and ζ R from known data in [START_REF] Adams | Sobolev Spaces[END_REF]. We have then to cope with two ill-posed parabolic systems set respectively in (0, ζ L ) × (0, T ) and in (ζ R , L) × (0, T ). To state the uniqueness we choose a constructive formulation that will be retained in the numerical implementation. The treatment of the boundary value problems, written in exterior time-space strips is the subject of Section 2. Applying tools from the semi-group theory requires to study the resolvent of the spacial operator involved in the coupled system. The approach we follows relies on a suitable mixed variational formulation. The analysis of the resulting problem is achieved owing to the non-symmetric saddle point theory developed in [START_REF] Bernardi | Generalized inf-sup condition for chebyshev spectral approximation of the stokes problem[END_REF]. Then, the uniqueness result established for the parabolic system is based on a theorem by A. Pazy (see [START_REF] Pazy | Semigroups of Linear Operators and Applications to Partial Differential Equations[END_REF]Chapter 4, Theorem 1.2]) that fits to a large class of ill-posed time-dependent problems. This uniqueness result is announced in [START_REF] Ben Belgacem | Uniqueness for an ill-posed parabolic system[END_REF] and the proofs are provided here. Armed with this result, we prove in Section 3 the identifiability of the sources (2)-( 3) given the observation data on the dissolved oxygen.

Notation. The Lebesgue space of functions square integrable over I is denoted by L 2 (I). The scale of Sobolev spaces H σ (I), with σ ∈ R, are defined as in [START_REF] Adams | Sobolev Spaces[END_REF]. We use also the vector valued Sobolev spaces L 2 0, T ; H σ (I) and H σ 0, T ; L 2 (I) whose precise definitions are given in [START_REF] Lions | Problèmes aux Limites Non Homogènes et Applications[END_REF]. The space L ∞ (I) is the space of functions essentially bounded in I. We use the bold symbols L 2 (I) or H 1 (I) for vector valued spaces, we have for instance L 2 (I) = L 2 (I) × L 2 (I). Finally, we indicate by C (I) the space of continuous functions in I. D(I) is the space of indefinitely differentiable functions with a compact support in I and D ′ (I) stands for the dual of D(I), the Schwarz space of distributions. We refer to [START_REF] Adams | Sobolev Spaces[END_REF] for more details on these functional spaces.

An Ill-Posed Parabolic System

The milestone of the identification we have in mind is the investigation of two parabolic systems obtained by restricting the coupled BOD-DO model to the strip (0, ζ L ) × (0, T ) for the first and to (ζ R , L) × (0, T ) for the other. Throughout, we conduct our study in the reference domain I = (0, π) and we choose to rather consider lower case physical coefficients to make this section independent and self-contained. The first coupled system, the one related to (0, ζ L )×(0, T ), reads then as follows

∂ t b -(d(x)b ′ ) ′ + r(x)b = 0 in I × (0, T ) (4)
∂ t c -d * (x)c ′ ′ + r * (x)c -r(x)b = 0 in I × (0, T ) (5) b(0, t) = c(0, t) = 0 in (0, T ) (6) c(π, t) = α(t) in (0, T ) (7)
d * (π)c ′ (π, t) = β(t) in (0, T ) (8)
b(x, 0) = c(x, 0) = 0 in I. ) and implies the necessity of a mixed formulation for the study, as will be seen below. Notice that without loss of generality, one can consider for simplicity either α = 0 or β = 0. We do not fix a choice now because we may need to adapt it to the context. We begin by investigating the ill-posedness of this coupled system . Then, as currently done, we study the problem where the boundary data (α, β) are replaced by volume sources (f, g), the main objective pursued being to state a uniqueness result.

Remark 2.1 The other parabolic problem, corresponding to the restriction to (ζ R , L) × (0, T ), can also be set and studied on the reference segment (0, π). The boundary conditions (6), ( 7) and (8) have to be interchanged and modified. The new conditions read as

d * (π)b ′ (π, t) = d * (π)c ′ (π, t) = 0 in (0, T ) c(0, t) = α * (t) in (0, T ) d * (0)c ′ (0, t) = β * (t) in (0, T ).
The new Cauchy data (α * , β * ) are those coming from the observations realized on the dissolved oxygen by the monitoring station located at x = ζ R . The analysis we undertake for the first system (4)-( 9) can be extended as well to this one with some slight adaptations, particularly on the functional subspaces we use.

About Ill-Posedness

We assume throughout our discussion that β = 0. A formulation well fitted to investigate the illposedness consists in treating for instance the normal derivative γ(t) = (db ′ )(π, t), ∀t as an unknown.

Let then γ ∈ L 2 (0, T ) be given and define b γ the unique solution of the scalar reaction-diffusion boundary value problem

∂ t b γ -(db ′ γ ) ′ + rb γ = 0 in I × (0, T ) b γ (0, t) = 0 in (0, T ) db ′ γ (π, t) = γ(t) in (0, T ) b γ (x, 0) = 0 in I.
Then, we construct c γ as the solution of the parabolic equation with rb γ as a source term

∂ t c γ -(d * c ′ γ ) ′ + r * c γ = rb γ in I × (0, T ) c γ (0, t) = 0 in (0, T ) d * c ′ γ (π, t) = 0 in (0, T ) c γ (x, 0) = 0 in I.
With this notation, it is straight forward that the coupled system ( 4)-( 9) may be reduced to the following: Find γ ∈ L 2 (0, T ) that satisfies the following equation

Sγ(t) = c γ (π, t) = α(t) in (0, T ). (10)
It can be proved that the operator S is compact in L 2 (0, T ). This results from the regularity of b γ and c γ . Indeed, S turns out to be bounded from L 2 (0, T ) into H 3/2 (0, T ). The compactness of S comes then from the compactness of the canonical embedding of H 3/2 (0, T ) into L 2 (0, T ). We refer to [START_REF] Dautray | Mathematical Analyis and Numerical Methods for Science and Technology[END_REF] for the technical details skipped over here. Let us stress the fact that the operator S is weekly regularizing given that we have no better regularity than Sγ ∈ H 3/2 (0, T ). As a result, the coupled problem is (mildly) ill-posed according to the classification by G. Wahba (see [START_REF] Wahba | Ill posed problems: Numerical and statistical methods for mildly, moderately and severely ill posed problems with noisy data[END_REF]) and existence and stability for [START_REF] Dautray | Mathematical Analyis and Numerical Methods for Science and Technology[END_REF] are expected to fail.

To have a better insight we put S as a kernel operator. In the case where (d, d * ) and (r, r * ) are constants, Fourier computations can be carried out. For simplicity, assume that d = d * = r = r * = 1. Formal calculations give (after setting

λ k = (k + 1/2) 2 + 1) b γ (x, t) = 2 π k∈N (-1) k t 0 γ(s)e -λ k (t-s) ds sin((k + 1/2)x) c γ (x, t) = 2 π k∈N (-1) k t 0 γ(s)(t -s)e -λ k (t-s) ds sin((k + 1/2)x).
Plugging these formulas into the expression of S shows that it is a convolution operator. Indeed, we have that

(Sγ)(t) = t 0 K(t -s)γ(s) ds ∀t ∈ (0, T ).
The convolution Kernel K(•) is given by

K(s) = 2 π k∈N se -λ k s ∀s ∈ (0, T ).
Problem [START_REF] Dautray | Mathematical Analyis and Numerical Methods for Science and Technology[END_REF] is then a Volterra Equation of the first kind. It can be explicitly shown that S ranges from L 2 (0, T ) into H 3/2 (0, T ). The limited regularity of the kernel K(•) at the point s = 0, in particular the fact that K ′ (0) = +∞, confirms the mild ill-posedness. We refer to [START_REF] Gripenberg | Volterra Integral and Functional Equations[END_REF] for further discussion on the ill-posedness of Volterra problems. Needless to say, the calculations that yield the Volterra equation are not economically reasonable for non-constant coefficients. Diagonalization of the Sturm-Liouville operator is in general avoided.

Abstract Formulation

To investigate the uniqueness issue, we need to put the coupled system (4)-( 9) into an abstract form. Let f and g be given in L 2 (I × (0, T )), consider the time-dependent system

∂ t b c + A b c = f g , ( 11
)
where A is an unbounded linear operator defined in L 2 (I). The domain D(A) ⊂ L 2 (I) is given by

D(A) = (ϕ, ψ) ∈ H 1 (I), ((dϕ ′ ) ′ , (d * ψ ′ ) ′ ) ∈ L 2 (I) ϕ(0) = ψ(0) = 0, ψ(π) = (d * ψ ′ )(π) = 0 ,
and the operator A is defined to be

A ϕ ψ = -(dϕ ′ ) ′ + rϕ -(d * ψ ′ ) ′ + r * ψ -rϕ . ( 12
)
Remark 2.2 Another possible and natural characterization of the (same) domain of A is as follows

D(A) = (ϕ, ψ) ∈ L 2 (I), ((dϕ ′ ) ′ , (d * ψ ′ ) ′ ) ∈ L 2 (I) ϕ(0) = ψ(0) = 0, ψ(π) = (d * ψ ′ )(π) = 0 .
The fact that it is embedded in H 1 (I) may be derived by a hilbertian interpolation argument (see [START_REF] Dautray | Mathematical Analyis and Numerical Methods for Science and Technology[END_REF]).

It is well known that the properties of equation ( 11) are tightly connected with the resolvent R(λ) = (λ + A) -1 (see [START_REF] Dautray | Mathematical Analyis and Numerical Methods for Science and Technology[END_REF]). We need then to state existence and boundedness results for R(λ) in L 2 (I), when λ > 0. Before proving such results, we begin by studying the operator A itself. Let (f, g) ∈ L 2 (I), consider the existence and uniqueness of a solution of the problem

A b c = f g . ( 13
)
To solve [START_REF] El Badia | Inverse source problem in an advection-dispersion-reaction system: application to water pollution[END_REF], we write down a mixed formulation which allows to express the problem as a saddle point problem (see [START_REF] Brezzi | Mixed and Hybrid Finite Element Methods[END_REF]).

The Stationary System

To construct a variational formulation of (13), we proceed formally and we attempt at last to make things mathematically rigorous with the accurate definition of the functional spaces we work in. We multiply the first equation of ( 13) by a test function, ψ with ψ (0) = ψ (π) = 0, and integrate over I to obtain

I db ′ ψ ′ dx + I rbψ dx = I f ψ dx. (14)
Similarly, we multiply the second equation of ( 13) by another test function, ϕ with ϕ (0) = 0, and integrate which yields

I d * c ′ ϕ ′ dx + I r * cϕ dx - I rbϕ dx = I gϕ dx. (15)
Now, we need to render things more accurate and describe the spaces to which the unknowns (b, c) belong and in which the variational problem makes sense. We define the spaces Q = H 1 0 (I) and V as follows

V = ϕ ∈ H 1 (I) ϕ(0) = 0 .
Let us also introduce the two bilinear forms that are involved in equations ( 14) and [START_REF] Gripenberg | Volterra Integral and Functional Equations[END_REF]. We set then

a(χ, ϕ) = - I rχϕ dx ∀(χ, ϕ) ∈ V × V m ( * ) (ψ, ϕ) = I d ( * ) ψ ′ ϕ ′ dx + I r ( * ) ψϕ dx ∀(ψ, ϕ) ∈ Q × V.
All these forms are continuous. With these new definitions, we can express equations ( 14) and [START_REF] Gripenberg | Volterra Integral and Functional Equations[END_REF] as follows find (b, c)

∈ V × Q verifying m (b, ψ) = (f, ψ) L 2 ∀ψ ∈ Q (16) m * (ϕ, c) + a(b, ϕ) = (g, ϕ) L 2 ∀ϕ ∈ V. (17)
It is a non-symmetric mixed problem that does not fit into the saddle-point theory elaborated in [START_REF] Brezzi | Mixed and Hybrid Finite Element Methods[END_REF]. The suitable framework for non-symmetry can be found in [START_REF] Bernardi | Generalized inf-sup condition for chebyshev spectral approximation of the stokes problem[END_REF].

Before going further into the analysis we need to be sure that the (weak) solution of this mixed system satisfies also equation [START_REF] El Badia | Inverse source problem in an advection-dispersion-reaction system: application to water pollution[END_REF]. This requires to check first that (b, c) lies in D(A) and second that it fulfils the system [START_REF] El Badia | Inverse source problem in an advection-dispersion-reaction system: application to water pollution[END_REF]. It holds that Lemma 2.1 Let (b, c) ∈ V × Q be the solution of the mixed problem ( 16)- [START_REF] Hamdi | The recovery of a time-dependent point source in a linear transport equation: application surface water pollution[END_REF]. Then (b, c) ∈ D(A) and satisfies equation [START_REF] El Badia | Inverse source problem in an advection-dispersion-reaction system: application to water pollution[END_REF].

Proof: Assume for the moment that the problem in equation ( 16)-( 17) admits a solution (b, c) ∈ V × Q.

We begin with the first equation of ( 16) which says that b ∈ V satisfies

I db ′ ψ ′ dx + I rbψ dx = I f ψ dx ∀ ψ ∈ Q.
Because b ∈ V , we have immediately that b (0) = 0. Let ψ ∈ D (I) be arbitrarily chosen. Integrate by parts the first term in the above equation to find that

-db ′ ′ + rb = f in D ′ (I) .
The fact that b ∈ L 2 (I) yields that (db ′ ) ′ ∈ L 2 (I) and the the above equality holds then in L 2 (I). Aggregating these results, we have that b ∈ V satisfies

-db ′ ′ + rb = f in I b(0) = 0.
Next, we turn to the second equation [START_REF] Hamdi | The recovery of a time-dependent point source in a linear transport equation: application surface water pollution[END_REF]. Having c ∈ Q produces immediately that c (0) = c (π) = 0. Now, let ϕ ∈ D (I). Integrating by parts the first term in [START_REF] Gripenberg | Volterra Integral and Functional Equations[END_REF] provides that

-d * c ′ ′ + r * c -rb = g in D ′ (I) . (18)
Proceeding as was done for b, we arrive at the fact that (d * c ′ ) ′ ∈ L 2 (I) and that the above equality holds also in this space. What remains to verify is that c satisfies the third boundary condition, namely that d * c ′ (π) = 0. Taking ϕ ∈ V in [START_REF] Gripenberg | Volterra Integral and Functional Equations[END_REF] and integrating by parts yields

I -d * c ′ ′ + r * c -rb -g ϕ dx = -d * c ′ (π)ϕ(π).
On account of equation ( 18) we deduce that d * c ′ (π) = 0 when ϕ(π) = 0. Combining this with the above results, we have

-d * c ′ ′ + r * c -rb = g in I c(0) = 0 c (π) = d * c ′ (π) = 0.
Any solution to ( 16)-( 17) is hence a solution to [START_REF] El Badia | Inverse source problem in an advection-dispersion-reaction system: application to water pollution[END_REF]. The proof is complete.

The next concern is to consider the issue of existence, uniqueness and stability issues for the mixed problem ( 16)-( 17) by using the analysis tools of [START_REF] Bernardi | Generalized inf-sup condition for chebyshev spectral approximation of the stokes problem[END_REF][START_REF] Brezzi | Mixed and Hybrid Finite Element Methods[END_REF] where some conditions are given for the existence and uniqueness of the (b, c). The first one states that the bilinear form a(•, •) must satisfy a couple of inf-sup conditions on the null-spaces of m ( * ) (•, •). The second is that each of m(•, •) and m * (•, •) fulfills an inf-sup condition in Q × V . Let us then denote by

N ( * ) = ϕ ∈ V, m ( * ) (ϕ, ψ) = 0 ∀ψ ∈ Q .
We have that Lemma 2.2 The bilinear form a(•, •) satisfy the following inf-sup conditions, that is

inf ϕ∈N sup χ∈N * a(ϕ, χ) ϕ H 1 χ H 1 ≥ β, inf ϕ∈N * sup χ∈N a(ϕ, χ) ϕ H 1 χ H 1 ≥ β * .
The constants β, β * are positive.

Proof: Let us first observe that dim N ( * ) = 1. Both results are therefore achieved if we simply check that for a ϕ ∈ N , a(ϕ, χ) = 0 for all χ ∈ N * , necessarily yields that ϕ = 0. To prove this, we need to introduce ξ ∈ H 1 (I), the solution of the problem

-dξ ′ ′ + rξ = 0 in I ξ(0) = 0 ξ(π) = 1.
Denote by ξ * ∈ H 1 (I) its counterpart when the parameters are (d * , r * ). Invoking the maximum principle produces that ξ(x) > 0 for all x ∈ I \ {0} (see [START_REF] Gilbarg | Elliptic Partial Differential Equations of Second Order[END_REF]). The same result holds for ξ * . Next, observe that any (ϕ, χ) ∈ N × N * , may be obtained as (ϕ, χ) = (ϕ(π)ξ, χ(π)ξ * ). Now assume that a(ϕ, χ) = 0, for all χ ∈ N * . χ = ξ necessarily yields that ϕ(π) = 0, given that a(ξ, ξ * ) > 0. This ends to ϕ = 0. Stating that for a χ ∈ N * , a(ϕ, χ) = 0, for all ϕ ∈ N , concludes to χ = 0 can be done similarly. The proof is complete.

Lemma 2.3 The bilinear form m(•, •) and m * (•, •) satisfy the inf-sup conditions in V × Q, inf ψ∈Q sup ϕ∈V m(ϕ, ψ) ϕ H 1 ψ H 1 ≥ α, inf ψ∈Q sup ϕ∈V m * (ϕ, ψ) ϕ H 1 ψ H 1 ≥ α * .
The constants α, α * are positive.

Proof: The inf-sup condition on m(•, •) is derived easily. Because Q ⊂ V , we choose ϕ = ψ from which we deduce that m (ϕ, ψ) ϕ H 1 ψ H 1 = m (ψ, ψ) ψ 2 H 1 ≥ α.
The desired result is therefore valid. The proof for m * (•, •) is achieved following the same lines.

All necessary tools for the well-posedness of the mixed problem ( 16)-( 17) are available. We have then Proposition 2. [START_REF] Bermúdez | Mathematical techniques for some environmental problems related to water pollution In Díaz and Lions[END_REF] The mixed problem (16)-( 17) has a unique solution (b, c)

∈ V × Q such that b H 1 + c H 1 ≤ C( f L 2 + g L 2 ).
Proof: It is a direct consequence of the saddle point theory in [START_REF] Bernardi | Generalized inf-sup condition for chebyshev spectral approximation of the stokes problem[END_REF] and Lemmas 2.2 and 2.3.

The next and most important point is to check the existence of the resolvent R(λ), for λ > 0, and to derive its bound with respect to λ. Let us denote by A λ = λ + A, then R(λ) = (A λ ) -1 . Let now (f, g) ∈ L 2 (I) and consider the equation

A λ b λ c λ = f g . ( 19
)
The invertibility of A λ can be proved following the same lines as for A. Define a mixed problem like in ( 16)- [START_REF] Hamdi | The recovery of a time-dependent point source in a linear transport equation: application surface water pollution[END_REF]. The bilinear form a(•, •) remains unchanged while the mixed form

m λ (•, •) is obtained by shifting m(•, •) and m * (•, •) namely that m λ (•, •) = m(•, •)+λ(•, •) and m * ,λ (•, •) = m * ,λ (•, •)+λ(•, •).
The new mixed problem consists therefore in:

finding (b λ , c λ ) ∈ V × Q such that m λ (b λ , ψ) = (f, ψ) L 2 ∀ψ ∈ Q (20) m * ,λ (b λ , ϕ) + a(b λ , ϕ) = (g, ϕ) L 2 ∀ϕ ∈ V. (21)
Everything works just as well as for the problem ( 16)- [START_REF] Hamdi | The recovery of a time-dependent point source in a linear transport equation: application surface water pollution[END_REF]. However, when it comes to the study of the unsteady problem, we need an accurate knowledge of the stability constants and how they grow with respect to λ. This has to do with the inf-sup constants of the bilinear form a(•,

inf ϕ∈N λ sup χ∈N * ,λ a(ϕ, χ) ϕ H 1 χ H 1 ≥ β λ , inf ϕ∈N * ,λ sup χ∈N λ a(ϕ, χ) ϕ H 1 χ H 1 ≥ β * λ .
The constants β, β * are positive and independent of λ.

Proof: The proof is based on tools from the asymptotic analysis. It is technical and postponed to the Appendix.

Remark 2.3

We have also the following results

inf ϕ∈N λ sup χ∈N * ,λ a(ϕ, χ) ϕ L 2 χ L 2 ≥ β, inf ϕ∈N * ,λ sup χ∈N λ a(ϕ, χ) ϕ L 2 χ L 2 ≥ β * ,
for all λ ≥ λ. As will be seen later, these inf-sup conditions are the ones used to establish the desired stability of the resolvent R(λ).

The following inf-sup conditions on m ( * ),λ (•, •) are also valid and their proofs can be conducted using the same arguments as for Lemma 2.3.

Lemma 2.6 bilinear form m λ (•, •) and m * ,λ (•, •) satisfy the inf-sup conditions in V × Q, inf ψ∈Q sup ϕ∈V m λ (ϕ, ψ) ϕ H 1 ψ H 1 ≥ α, inf ψ∈Q sup ϕ∈V m * ,λ (ϕ, ψ) ϕ H 1 ψ H 1 ≥ α * .
The constants α, α * are positive and independent of λ.

We are well equipped to derive the stability on R(λ), needed for the uniqueness result of the unsteady coupled problem.

λ L 2 ≤ C( 1 λ f L 2 + g L 2 ) c λ L 2 ≤ C λ ( 1 λ f L 2 + g L 2 ).
The resolvent R(λ) is then a bounded operator in L 2 (I) with a uniformly bounded norm that is

R(λ) (L 2 (I)→L 2 (I)) ≤ C ′ ∀λ ≥ λ. (22)
The constant C and C ′ are independent of λ.

Proof: Results by Lemmas 2.5 and 2.6 allow to derive the existence and uniqueness by applying the saddle point theory (see [START_REF] Bernardi | Generalized inf-sup condition for chebyshev spectral approximation of the stokes problem[END_REF]). Let us emphasize on the fact that it is necessary here to have the inf-sup conditions of Lemma 2.5, written with the natural norms, those of H 1 . Now, that the existence of (b λ , c λ ) are guaranteed, we aim to show the stabilities with respect to the L 2 -norm, for which the inf-sup condition provided in Remark 2.3 are better suited. To proceed with the stability in the space L 2 (I), we assume first that f = Then, we handle the general case by linearity. On account of (20) (with f = 0), there comes out that b λ ∈ N λ . Now, choosing ψ ∈ N * ,λ in ( 21), we can write that

a(b λ , ψ) = (g, ψ) L 2 , ∀ψ ∈ N * ,λ .
Calling for the first inf-sup condition in Remark 2.3, we obtain the following bound

b λ L 2 ≤ C g L 2 .
Returning to equation ( 21), choose ϕ = c λ , which lies in Q ⊂ V and is hence admissible, we can state that λ c λ 2

L 2 ≤ (b λ , c λ ) + (g, c λ ).
Using the bound for b λ , previously stated, yields that

c λ L 2 ≤ C λ g L 2 .
Now, when the data f does not vanish, we argue by linearity. Thus, we split b λ into b λ := b λ + b λ ( 3 ) where b λ ∈ H 1 0 (I) is the unique solution of

λb λ -(db ′ λ ) ′ + rb λ = f in I.
Notice that b λ fulfills Dirichlet condition at both extremities of I. Moreover, it is readily checked

that b λ L 2 ≤ C λ f L 2 .
Now, inserting the old b λ in the coupled system ( 20)-( 21), we come up with a new one where the unknowns are the new b λ and c λ . Besides, the data are changed to f := 0 and g := g + rb λ . The stability sought for is therefore established owing to the first part of the proof together with the stability on b λ . This completes the proof.

Remark 2.4 Bounds on the norm of (b λ , c λ ) in H 1 (I) and in D(A) may be derived. Indeed, it is readily stated that

b λ H 1 + λ c λ H 1 ≤ C √ λ( 1 λ f L 2 + g L 2 ) (db ′ λ ) ′ L 2 + λ (d * c ′ λ ) ′ L 2 ≤ Cλ( 1 λ f L 2 + g L 2 ).
The constant C is independent of λ 3 A notation abuse is made here.

A Uniqueness Result

The bound on the resolvent R(λ) in Proposition 2.7 does not allow the application of the Hille-Yosida Theorem. Nevertheless, when we are only interested in the uniqueness, a result stated by A. Pazy (see [START_REF] Pazy | Semigroups of Linear Operators and Applications to Partial Differential Equations[END_REF]Chapter 4, Theorem 1.2]) turns out to be sufficient. Let us provide this theorem which ensures the uniqueness of the solution under a pretty weak assumption on the norm of the resolvent. Recall that (b, c) is a solution of problem [START_REF] Eckhaus | Asymptotic analysis of singular perturbations[END_REF] if

b c ∈ C ([0, T ]; L 2 (I)) ∩ C (]0, T ]; D(A)),
and satisfies equation ( 11) for all t ∈]0, T ]. We translate Pazy's Theorem into the context of the problem we are concerned with. We are now in position to give and prove the key result of our work. The following proposition holds.

Theorem 2.9 Problem (11) has at most one solution.

Proof: Proposition 2.7 tells that R(λ) is well defined for all λ ≥ λ. Moreover, owing to the resolvent estimate [START_REF] Pazy | Semigroups of Linear Operators and Applications to Partial Differential Equations[END_REF] we derive that lim sup 3 The BOD-DO System. Identifiability of point-wise sources

We intend to apply the previous results to the original pollution source identification problem of the Introduction. We show that the sources ( 2)-( 3) are uniquely determined by the observation set [START_REF] Adams | Sobolev Spaces[END_REF]. We demonstrate this for moving sources with r(t), s(t), t ∈ (0, T ) still satisfying ζ L < r(t), s(t) < ζ R , ∀t. The trajectories of both sources are assumed Lipschitz regular. We first consider two solutions (b i , c i ), i = 1, 2 of the dispersion-reaction system

∂ t b i -(D(x)b ′ i ) ′ + R(x)b i = F i (t, x) in (0, L) × (0, T ) ∂ t c i -D * (x)c ′ i ′ + R * (x)c i -R(x)b i = G i (t, x) in (0, L) × (0, T ) b i (0, t) = c i (0, t) = 0 in (0, T ) D(L)b ′ i (L, t) = D * (L)c ′ i (L, t) = 0 in (0, T ) b i (x, 0) = c i (x, 0) = 0 in I.
Following the notations in ( 2) and (3), we recall that

F i (t, x) = f i (t)δ(x -r i (t)) and G i (t, x) = g i (t)δ(x -s i (t))
. Without loss of generality, we suppose that r 1 < r 2 and that s 1 < s 2 . The objective is to show that

B [F 1 , G 1 ] = B [F 2 , G 2 ] implies that (b 1 , c 1 ) = (b 2 , c 2 ) .
As a result, uniqueness of the sources will hold; that (r 1 , f 1 ) = (r 2 , f 2 ) and (s 1 , g 1 ) = (s 2 , g 2 ).

Let us first introduce the notations

I L = (0, ζ L ) and I R = (ζ R , L).
Before starting our analysis we need to recall the regularity of the solution (b i , c i ). We need then to fix the assumptions on the diffusion and reaction parameters (D, D * ) and (R, R * ). Suppose that D, R ∈ L ∞ (I) and there exists D and R (4 ) two positive constants such that

D(x), D * (x) ≥ D, R(x), R * (x) ≥ R ∀x ∈ I.
The direct problem has a unique solution (see [START_REF] Dautray | Mathematical Analyis and Numerical Methods for Science and Technology[END_REF]),

b i c i ∈ L 2 (0, T ; H 1 (0, L)) ∩ C ([0, T ]; L 2 (0, L)). (23)
In particular, neither b(•, •) nor c(•, •) has no jumps across the trajectories (t, r(t)) t∈[0,T ] and (t, s(t)) t∈[0,T ] .

They have well defined traces on those curves in the space-time domain. Now, denote by A L (respectively A R ) the operator defined in [START_REF] El Badia | Identification of a point source in a linear advection-dispersion-reaction equation: application to a pollution source problem[END_REF] when restricted to the intervals I L (respectively in I R ). Given that the sources (s i (t), r i (t)) t∈(0,T ) are permanently located in between the observation points ζ L and ζ R , and the initial conditions are zero we have the additional regularity

b i c i ∈ C ([0, T ]; D(A L )) ∩ C ([0, T ]; D(A R )). (24)
We begin by stating some preparatory lemmas. We have that

Lemma 3.1 Suppose that B [F 1 , G 1 ] = B [F 2 , G 2 ], then (b 1 , c 1 ) = (b 2 , c 2 ) in (I L ∪ I R ) × (0, T ). Proof: Assume that B [F 1 , G 1 ] = B [F 2 , G 2 ].
Let us focus on I L × (0, T ). The same argument applies as well to I R × (0, T ). Letting θ = (b 2b 1 ) and η = (c 2c 1 ). According to [START_REF] Saut | Unique Continuation for Some Evolution Equations[END_REF] and [START_REF] Sawyer | Chemistry for Environmental Engineering and Science[END_REF] we have that

θ η ∈ C ([0, T ], L 2 (I)) ∩ C ([0, T ], D(A L )).
Moreover, we can write the following system

∂ t θ -(Dθ ′ ) ′ + Rθ = 0 in I L × (0, T ) ∂ t η -D * η ′ ′ + R * η -Rθ = 0 in I L × (0, T ) θ(0, t) = η(0, t) = 0 in (0, T ) η(ζ L , t) = 0 in (0, T ) D * η ′ (ζ L , t) = 0 in (0, T ) θ(x, 0) = η(x, 0) = 0 in I L .
On account of the uniqueness result established in Theorem 2.9, we derive immediately that (θ, η) = (0, 0) in I L ×(0, T ). According to Remark 2.1, the same result holds in the right portion I R ×(0, T ). The proof is complete.

Lemma 3.2 Assume that B [F 1 , G 1 ] = B [F 2 , G 2 ], then (r 1 (t), f 1 (t)) = (r 2 (t), f 2 (t)), in (0, T ). Proof: Assume that the equality B [F 1 , G 1 ] = B 2 , G 2 ] holds true. Set once again θ = (b 2 -b 1 ).
We have that

∂ t θ -Dθ ′ ′ + Rθ = f 2 (t)δ(x -r 2 (t)) -f 1 (t)δ(x -r 1 (t)) in I × (0, T ) θ(0, t) = 0 in (0, T ) Dθ ′ (L, t) = 0 in (0, T ) θ(x, 0) = 0 in I.
The proof is achieved step by step proceeding as in [2, Theorem 5]. To provide an idea about the tools used there while avoiding technical details, we limit ourselves to stationary sources. We assume then that (r 1 , r 2 ) are time-independent with r 1 < r 2 . We first look at the problem when restricted to I L × (0, T ). By Lemma 3.1, we derive that θ = 0 in the cylinder I L × (0, T ). Then, applying the unique continuation theorem (see [START_REF] Saut | Unique Continuation for Some Evolution Equations[END_REF]) we deduce that θ = 0 in (0, r 1 ) × (0, T ). Similarly, we have that θ = 0 in (r 2 , L) × (0, T ). Now rewriting the problem in (r 1 , r 2 ) × (0, T ), we obtain that

∂ t θ -Dθ ′ ′ + Rθ = 0 in (r 1 , r 2 ) × (0, T ) θ(r 1 , t) = θ(r 2 , t) = 0 in (0, T ) θ(x, 0) = 0 in (r 1 , r 2 ).
The traces at r 1 and r 2 are plainly justified by the regularity (23) of b 1 and b 2 . Then, we conclude that θ = 0 in the whole I × (0, T ) and as a consequence we obtain that (in a distributional sense)

f 1 (t)δ(x -r 1 ) -f 2 (t)δ(x -r 2 ) = 0 in I × (0, T ).
This immediately implies that (r 1 , f 1 (t)) = (r 2 , f 2 (t)), ∀t ∈ (0, T ). The proof of the identifiability is complete for stationary sources (r, f ). It can be extended to moving sources at the cost of additional technical work. We refer to [2, Theorem 11] for details.

We now present the final result of the analysis, the identifiability of the sources for the full coupled system.

Theorem 3.3 Assume that B [F 1 , G 1 ] = B [F 2 , G 2 ], then (r 1 (t), f 1 (t)) = (r 2 (t), f 2 (t))
in (0, T ) (s 1 (t), g 1 (t)) = (s 2 (t), g 2 (t)) in (0, T ).

Proof:

The first identifiability result is stated in Lemma 3.2. It remains to prove the second. Set again θ = (b 2b 1 ) and η = (c 2c 1 ). We have already verified that θ = 0. Additionally, Theorem 2.9 yields η = 0 in the external part of the space/time domain (I L ∪ I R ) × (0, T ). The following equation holds for η,

∂ t η -D * η ′ ′ + R * η = g 2 -s 2 (t)) -g 1 (t)δ(x -s 1 (t)) in I × (0, T ) η(0, t) = 0 in (0, T ), D * η ′ (L, t) = 0 in (0, T ) η(x, 0) = 0 in I.
Arguing as in Lemma 3.2, and [2, Theorem 11] we conclude with η = 0 in the whole I × (0, T ) and then we obtain that

g 1 (t)δ(x -s 1 (t)) -g 2 (t)δ(x -s 2 (t)) = 0 in I × (0, T ).
This yields that (s 1 (t), g 1 (t)) = (s 2 (t), g 2 (t)), ∀t ∈ (0, T ). The proof is complete.

Some extensions

We have already indicated that the BOD-DO model investigated here is sufficient to point out the difficulties arising in the analysis of the identifiability and to propose a way to solve them. Some generalizations may be however considered. Their study may be conducted following a similar methodology with presumably some more technical work.

Adding transport.-Another worthy extension is the addition of advective transport to be able to consider pollution in flowing stream environments. It makes sense to include this term to extend applicability to the wide range of flowing stream and river systems in which case the advective transport may be likely the most important. Pollutants are carried further downstream at faster rates and their impact is probably more extensive. The addition of advective transport results in the following equations on b and c as follows

∂ t c -(Dc ′ ) ′ + V c ′ + Rc = f (t)δ(x -r(t))
in (0, L) × (0, T ),

∂ t c -(D * c ′ ) ′ + V c ′ + R * c -Rb = g(t)δ(x -s(t)) in (0, L) × (0, T ).
where V is the stream velocity and we note that the spatial operator is not self-adjoint. A well known transformation permits one to remove the advection term in each equations, reducing them to a self-adjoint equations (the spatial operator is then said to be in a Sturm-Liouville form). The transformation with constant coefficients is given in [START_REF] Dautray | Mathematical Analyis and Numerical Methods for Science and Technology[END_REF]Remark 11,p. 87] and is demonstrated for the scalar BOD equation with coefficients in [START_REF] Andrle | Identification of Moving Pointwise Sources in an Advection-Dispersion-Reaction Equation[END_REF]. The extension of our results will not yield insurmountable difficulties, though some more technical tools are necessary.

Multiple point-wise sources.-Engineers may be facing the detection of more than one pollution source. BOD-DO equations on b(•, •) and c(•, •) could be enriched by multiple source terms

∂ t b -(Db ′ ) ′ + Rb = 1≤k≤k * f k (t)δ(x -r k (t))
in (0, L) × (0, T ),

∂ t c -(D * c ′ ) ′ + R * c -Rb = 1≤k≤k * g k (t)δ(x -s k (t)) in (0, L) × (0, T ).
In [START_REF] Andrle | Identification of Moving Pointwise Sources in an Advection-Dispersion-Reaction Equation[END_REF], it is already noticed that for the scalar model (for BOD for instance), at least 2k * observations are required to obtain the identifiability for k * point-wise sources. They should be distributed in a particular way. Between each pair of neighboring sources one should place two distinct observation points. This requires of course some a-priori of the pollution source locations . The same rule has to be observed here to achieve identifiability. Between two consecutive pairs of sources (r, s) we must be able to access measurements on (c, D * c ′ ) at two different points. The study is conducted following the same lines. The BOD-DO parabolic model to study in between two neighboring observation points is defined by two-sided Cauchy data on c(•, •) while no boundary conditions are provided for b(•, •). The variational framework written for one-sided Cauchy data extends and the saddle-point theory applies as well.

Conclusion

The identifiability of organic pollution sources by indirect observations of another interacting constituent is a challenging issue. A well established process is the detection of the BOD tracer from DO observations. The resulting model which is a coupled time-dependent system where the recovery of the missing observations on BOD is considered. The identifiability requires uniqueness results for two ill-posed parabolic systems. Such results may be stated by combining tools from the saddle point theory and some others coming from the semi-group theory. Specifically, we consider a mixed variational formulation to study the resolvents of the steady systems, then we call for Pazy's uniqueness theorem. They enable to show that the pollutant concentration tracer is unique with respect to the observations of the dissolved oxygen tracer. This turns out to be a key tool in order to show the identifiability of a moving source term on each constituent. Before closing, let us indicate that a careful bibliography makes us believe that this is the first work where the Pazy theorem is used to state uniqueness for parabolic systems where Hille-Yosida's theory fails.

6 Appendix : Inf-sup conditions on a(•, •).

The statement of the necessary inf-sup conditions on a(•, •), when restricted to N λ × N * ,λ may be achieved following the proof of Lemma 2.2. However, the main point is not solved which is the knowledge of the behavior of the constants involved in those inf-sup conditions with respect to λ when it grows to infinity. This may be achieved through some constructive methodology which requires some sharp a-priori estimates on the solution ξ λ (λ ≥ 0) of the following problem

(λ + r)ξ λ -dξ ′ λ ′ = 0, in I, ξ λ (0) = 0, ξ λ (π) = 1.
We call ξ * ,λ the unique solution of the same elliptic problem where the coefficients (d, r) are changed into (d * , r * ). The objective is to bound from below a(ξ λ , ξ * ,λ ), for large values of λ. Qualitatively, each of ξ λ and ξ * ,λ is well known to show a boundary layer along x = π when λ grows to infinity.

Zooming around x = π and picking up tools from the asymptotic analysis enables to derive rigorously the desired result. Let us before recall the minoration (by r > 0) of the reaction parameters (r, r * ) so as the piecewise continuity assumptions made on the dispersion coefficients ( Proof: The approach we use to state the lemma is the one currently employed in the asymptotic for partial differential equations (see [START_REF] Eckhaus | Asymptotic analysis of singular perturbations[END_REF][START_REF] Cousteix | Analyse asymptotique et couche limite[END_REF] for example). We try to approximate the solutions ξ λ and ξ * ,λ , in the boundary layers located at the vicinity of x = π. Let us focus on ξ λ , the same work should be made for ξ * ,λ . Observe that the maximum principle yields that ξ λ (x) > 0 for all x ∈]0, π] (see [START_REF] Gilbarg | Elliptic Partial Differential Equations of Second Order[END_REF]). Now, let us zoom on the narrow interval [πǫ, π], with ǫ = 1 √ λ , for large λ. We introduce therefore the stretching coordinate z ∈ [0, 1] so that x = πǫz, and for a function p in the variable x, we define p in the variable z so that p(z) = p(x). With these notations, there comes out that ξλ is such that where γ ′ is a positive constant that does not depend on λ. It is however dependent of r and d π .

Returning to the primary functions, through a changing of variable, we obtain that The proof is complete. After these preparatory technical results, we are well equipped to establish the inf-sup condition of Lemma 2.5. The statement in Remark 2.3 is proved following the same lines.

Proof of Lemma 2.5:

Let λ be sufficiently large and ϕ be given in N λ . There comes that ϕ = ϕ(π)ξ λ . Choose ψ = ϕ(π)ξ λ, * , it is readily checked that ψ ∈ N * ,λ . Then, we have that

a(ϕ, ψ) ϕ H 1 ψ H 1 = a(ξ λ , ξ * ,λ ) ξ λ H 1 ξ * ,λ H 1 .
Considering the supremum on χ ∈ N * ,λ and calling for Lemmas 6.1 and 6.

( 9 )

 9 Both (d, d * ) and (r, r * ) belong to L ∞ (I), are positive and are assumed to be piecewise continuous on I. The dispersion parameters are also bounded away from zero. There exists a constant d > 0 such that d(x) > d and d * (x) > d. The positivity assumption on (d, d * ) is necessary and the one on (r, r * ) is only for convenience. It is possible at the cost of a suitable change of variable to write down an equivalent time-dependent problem where r(x) > r > 0 and r * (x) > r . Notice that from now on we won't indicate explicitly in the equations the dependence of the parameters on the abscissa x. The particularity here is that no boundary conditions are provided on b(•, •) at point x = π while c(•, •) enjoys both Dirichlet and Neumann conditions. This fact induces a strong coupling between the concentrations b(•, •) and c(•, •

2 . 5

 25 •), when restricted to N λ × N * ,λ . The construction of N λ and N * ,λ follows the one of N and N * where m λ (•, •) and m * ,λ (•, •) are used instead of m(•, •) and m * (•,•). The following holdsLemma There exists λ > 0 such that for all λ ≥ λ, the bilinear form a(•, •) satisfy the inf-sup conditions,

Proposition 2 . 7

 27 Let (f, g) ∈ L 2 (I). The mixed problem (20)-(21) has a unique solution (b λ , c λ ) ∈ V × Q. The following estimates hold b

Theorem 2 . 8 (

 28 A. Pazy) If R(λ) exists for large real-numbers λ(≥ λ) and lim sup λ→+∞ 1 λ log R(λ) (L 2 (I)→L 2 (I)) = 0, then the initial value problem (11) at most one solution.

λ→∞ 1 λ

 1 log R(λ) (L 2 (I)→L 2 (I)) = 0. Applying Pazy's Theorem 2.8 achieves the proof.

( 1 +

 1 ǫ 2 ȓ) ξλd ξ′ λ ′ Here τ ∈]0, 1[. Now, let us carefully examine d(z) = d(πǫz). Due to the smoothness assumption on the diffusivity d(•) told of above, d(z) converges towardd π > 0 in L ∞ (0, 1) for large λ. A straightforward consequence is that ( ξλ ) λ converges in H 1 (0, 1) towards ξ(z) = sinh(ω π (1z)) sinh(ω π ) + τ sinh(ω π z) sinh(ω π ) ,when λ tends to infinity. Here, we have set d π = (ω π ) 2 . This, together with the minoration of the reaction parameter ȓ(z) ≥ r > 0, yields the following estimate (valid for large values of λ)[0,1] ȓ(z) ξλ (z) ξ * ,λ (z) dz ≥ γ ′ [0,1]ξ(z)ξ * (z) dz = γ > 0,

  [π-ǫ,π] r(x)ξ λ (x)ξ * ,λ (x) dx = ǫ [0,1] ȓ(z) ξλ (z) ξ * ,λ (z) dz ≥ γǫ = γ √ λ .Given the positivity of ξ λ and ξ * ,λ , we derive finally thata(ξ λ , ξ * ,λ ) = I r(x)ξ λ (x)ξ * ,λ (x) dx ≥ [π-ǫ,π] r(x)ξ λ (x)ξ * ,λ (x) dx ≥ γ √ λ .

Remark 6 . 1 Lemma 6 . 2 ξ λ 2 L 2 2 L 2 ξ λ 2 L 2 (I) + √ rξ λ 2 L 2 (I) + √ dξ ′ λ 2 L 2 (I) ≤ λ ζ 2 L 2 (

 6162222222222222 The estimate Lemma 6.1 is optimal and can not be improved. Analytical computations realized for constant coefficients (r, r * ) and (d, d * ) are liable to sweep away any doubt. There exists λ and a constant α independent of λ such thatλ (I) + ξ ′ λ (I) ≤ α √ λ, ∀λ ≥ λ.Proof: The elliptic equation on ξ λ being symmetric, it can be formulated as a minimization problem of the potential energy. The bound in the lemma is therefore directly issued from the formulaλ Straightforward calculations end to the bound λ ζ 2 L 2 (I) + √ dζ ′ 2 L 2 (I) ≤ γ ′′ √ λ.The proof is therefore complete.

  d, d * ). A direct consequence is that (d, d * ) have finite limits at x = π. We will denote by d π , d * ,π ∈ R those limits. Obviously, we have that d π , d * ,π ≥ d. It holds that Lemma 6.1 There exists λ and a constant γ independent of λ such that

	a(ξ λ , ξ * ,λ ) ≥	γ √ λ	,	∀λ ≥ λ.

  Switching to the infimum on ϕ ∈ N λ achieves the proof. Remark 6.2 The inf-sup conditions in Remark 2.3 by means of the same arguments. The only modification is to switch from the H 1 -norm to the L 2 -norm. The lower bound comes from the estimate a(ξ λ , ξ * ,λ )ξ λ L 2 ξ * ,λ L 2 ≥ β,owing to the L 2 bounds of ξ λ and ξ * ,λ by Lemma 6.2.

							2, we state that
	sup χ∈N * ,λ	a(ϕ, χ) ϕ H 1 χ H 1	≥	a(ξ λ , ξ * ,λ ) ξ λ H 1 ξ * ,λ H 1	≥	β λ	.
	β is independent of λ.

In the practice, it is hard and even impossible to tell whether an observation point is strategic or not. Indeed, the set of non-strategic points is dense in (0, L).

The hypothesis on R and R * is optional and can be removed.


Kahina Hassam
email: kahina.hassam@univ-ubs.fr

Salah Sadou
email: sadou.salah@univ-ubs.fr

Vincent Le Gloahec
email: v.legloahec@alkante.com

Régis Fleurquin
email: regis.fleurquin@univ-ubs.fr

Adapting OCL Constraints After a Refactoring of their Model Using an MDE Process

Keywords: UML models, OCL constraints, refactoring, model transformation

Refactoring is a kind of endogenous model transformation. Its aim is to restructure applications without changing their external behavior. Several studies have been carried out on the refactoring of UML models specifically on the refactoring of UML class diagram models. During refactoring, the OCL constraints associated with these UML class diagram models are omitted or manually rewritten, which often leads the system to an inconsistent state. We propose an approach to transform, as automatically as possible, these OCL constraints using the transformation model. This approach uses the used transformation model to find a sequence of basic refactoring operations that once applied to the initial model leads to the final model. Thus, we can use an already known results for OCL constraint transformations in case of stepwise model refactoring.

Introduction

Refactoring is an important activity within the domain of software maintenance [START_REF] Mens | Challenges in model refactoring[END_REF][START_REF] Mens | A survey of software refactoring[END_REF]. It is an essential activity for handling software evolution [START_REF] Roberts | Practical analysis for refactoring[END_REF]. Refactoring is defined as change to the internal structure of software to improve certain software quality characteristics (such as understandability, modifiability, reusability, modularity, adaptability) without changing its observable behavior [START_REF] Fowler | Refactoring: Improving the Design of Existing Code[END_REF]. In the domain of Model Driven Engineering (MDE), refactoring is considered as a type of endogenous model transformation [START_REF] Mens | A taxonomy of model transformation[END_REF]. Indeed, the modification of a source model is done by model transformation to produce a target model so that both models conform to the same metamodel. Several studies have already been carried out on the refactoring of models, in particular in UML [START_REF] Omg | Unified Modeling Language: Superstructure, version 2.1.1[END_REF] models and especially on the refactoring of UML class diagram models [START_REF] Boger | Refactoring browser for uml[END_REF][START_REF] Sunyé | Refactoring UML models[END_REF]. Beyond the capabilities of UML graphical diagrams to elaborate UML models, constraints are added to allow for the precision needed to write executable models [START_REF] Warmer | The Object Constraint Language: Getting Your Models Ready for MDA[END_REF]. These constraints are described using the Object Constraint language(OCL) [START_REF] Omg | Object Constraint Language Specification, version 2.0, Object Modeling Group[END_REF]. Current UML model refactoring, especially UML class diagram refactoring, concentrate on the diagrammatic part, but the OCL constraints are neglected and become incoherent with the new model [START_REF] Markovic | Refactoring ocl annotated uml class diagrams[END_REF]. The solution used thus far is to modify them manually, which is very time consuming and error prone [START_REF] Kosiuczenko | Redesign of uml class diagrams: a formal approach[END_REF].

We propose an approach to transform, as automatically as possible, the OCL constraint invariants associated with UML models. For this, we use the transformation model that was used to transform the UML model to which the constraints are associated. Our approach is independent from any model transformation language, because it considers the transformation model as a "Black Box". The main aim of our approach is to deduce the list of basic refactoring operations corresponding to changes made by this "Black Box" on a given model. This list allows us to use the tool proposed in [START_REF] Markovic | Refactoring ocl annotated uml class diagrams[END_REF] for the transformation of OCL constraints after each basic refactoring operation (stepwise approach).

The remainder of the paper is organized as follows: the next section gives details of our approach. In Section 3, we show how to build the mapping table between elements of the initial model and those from the transformed one. A case study with the implementation of our approach is presented in Section 5. And finally, before concluding in Section 7, we give an overview of related work in Section 6.

Used Approach

For OCL constraints refactoring, we propose the approach described in Figure 1. The most important task in this approach is the representation of the transformation model as an ordered set of basic refactoring operations. When the ordered set is applied to the source model, then it leads to the same target model obtained through model transformation.

We consider the transformation model as a "Black Box", thus our approach is independent from a particular transformation language. The sequence found does not represent the transformation model in its entirety. It represents only the processing performed by the transformation model on the source model. The refactoring operations considered in this work are those defined in [START_REF] Markovic | Refactoring ocl annotated uml class diagrams[END_REF] (Extract Class, Move Attribute, etc.)

To obtain the sequence of basic refactoring operations, we define three principal steps. The first step, as shown in Figure 1, annotates the source model by adding tags to each element from the source model. The aim of this step is to trace the source model elements. Then, we execute the model transformation to obtain an annotated target model. Using the source and target annotated models, we build a mapping table (Step 2 in Figure 1). The mapping table summarizes for each element from the source model its corresponding element(s) from the target model, if it still exists. The third step uses the obtained mapping table to compute the sequence of basic refactoring operations. Once the sequence of basic refactoring operations is recovered and ordered, we use the approach presented in [START_REF] Markovic | Refactoring ocl annotated uml class diagrams[END_REF] for OCL constraints refactoring (Step 4). In [START_REF] Markovic | Refactoring ocl annotated uml class diagrams[END_REF], the authors describe for each UML refactoring operation its impact on the OCL constraint invariant associated with UML class diagram source model. The authors also identify which basic operations have an impact or not on the OCL constraints. Their approach was implemented as an Eclipse plugin named Roclet [START_REF] Team | Roclet project[END_REF]. Thus, by providing the obtained sequence of operations (Step 3) to Roclet, we transform the OCL constraints of the source model into constraints that conform to the target model.

The two following sections describe, respectively, Steps 1, 2 and 3. Step 4 is just a use of Roclet and will not be presented in this paper. For more information on using Roclet, the reader may refer to [START_REF] Team | Roclet project[END_REF].

Tracking Model Elements

Traceability is very important during the model life cycle [START_REF] Ramesh | Representing and reasoning with traceability in model lifecycle management[END_REF]. In the context of MDE (Model-Driven Engineering), several definitions were proposed for traceability [START_REF] Aizenbud-Reshef | Model traceability[END_REF][START_REF] Gotel | An analysis of the requirements traceability problem[END_REF][START_REF] Paige | Building model-driven engineering traceability classifications[END_REF]. According to [START_REF] Gotel | An analysis of the requirements traceability problem[END_REF], traceability can be defined as:

The ability to describe and follow the life of a requirement, in both a forwards and backwards direction (i.e., from its origins, through its development and specification, to its subsequent deployment and use, and through periods of on-going refinement and iteration in any of these phases).

In MDE, traces are generated through the process of model transformation as it is specified in the QVT (Query|View| Transformation) standard [START_REF] Omg | MOF QVT Final Adopted Specification, Object Management Group[END_REF]. Many transformation languages like ATL [START_REF] Jouault | Loosely coupled traceability for atl[END_REF] and Kermeta [START_REF] Falleri | Towards a traceability framework for model transformations in kermeta[END_REF] include the definition of a traceability metamodel. But traceability models are often omitted when writing the transformation model. Moreover, there are different techniques to calculate differences between models. Some are based on the use of a persistent identifier [START_REF] Alanen | Difference and union of models[END_REF], while others use approximation approaches [START_REF] Ohst | Differences between versions of uml diagrams[END_REF][START_REF] Xing | Umldiff: an algorithm for object-oriented design differencing[END_REF].

In the context of refactoring, where operations are primarily used to manipulate existing elements, the existence of a persistent identifier (defined in the metamodel) for each element of the model seems indispensable to us. This makes the technique of comparing models, based on identifiers, the most appropriate solution. However, if we add an identifier to each element from the initial model and then we apply the transformation model (as a black box), there is no guarantee of finding these identifiers in the resulting model. Indeed, the current transformation languages use internal representations for each model without, necessarily, taking into account identifiers. The problem can be solved by adding identifiers in metamodels and forbid their modification by transformation models.

Unfortunately, metamodels do not define identifiers. For these metamodels, we propose an annotation mechanism, which plays the role of an identifier, allowing the traceability of elements after execution of the transformation.

Source Model Annotation

The annotation mechanism aims at maintaining a traceability link between the source and target elements. The annotation algorithm adds a tag to each model's element. Thus, each element's name in the model should conform to the following BNF syntax: Container: describes the name of the direct parent of each element in the model (e.g., if the element is an attribute then its container corresponds to the name of the class to which it belongs);

NameElement::= {Mark}{Name}{Mark}{Container}{Mark}{MetaClass}{Mark}{Type}{Mark} Mark::= [#xB-#xC] | [#xE-#x1F] | [#x7F-#x84] | [#x86-#
Name: describes the current element's name;

MetaClass: describes the meta class of the current element (e.g., Package, Class, Attribute, etc.);

Type: describes the type of the current element.

Building the Mapping Table

To be productive, traces need an adequate representation and/or visualization. In the literature, several representations (matrices, cross-references, or graph-based representations) can be found [START_REF] Wieringa | An introduction to requirements traceability[END_REF]. To keep the traceability link between source elements and target ones, we represent the traces in a mapping table. The traces will be used to deduce the basic refactoring operations that will enable us subsequently to transform OCL constraints. This mapping table is a two dimension matrix (Source Elements, Target Elements). It is intended to simplify the visualization and representation of the various changes made in the model. To build a mapping table, we propose Algorithm 1, which analyzes the annotated source model to retrieve information about its elements. Then, for each element, it analyzes the annotated target model to find one or more elements so that their information matches. If so, it then verifies their current information in the target model: if they are unchanged they will be inserted as is in the mapping table, otherwise it modifies them with new information before insertion. If no element corresponds to the source element, then the target element is marked as Null, which means that the element was either renamed or removed. This case will be handled in collaboration with the designer once the first version of the table is made by the algorithm (see bellow). If there are elements in the target model without corresponding ones in the source model (marked as Null), it means that the transformation has either created or renamed elements. The mapping table produced by this algorithm is then proposed to the designer to take a decision about null values in targeted element. In case of rename, we have to check that the new name is considered by our algorithm as a new element. Then we associate these elements in the table. This processing corresponds to the collaborative step of our approach. Indeed, without help from designer, it is impossible to decide if the situation corresponds to a rename or a suppression . An example of a produced mapping table is given in Figure 2. The description of this mapping table is given below:

Algorithm 1: Mapping

• (line 1) class Department is still contained in the same package; The designer's decision may be: line 9 corresponds to a deletion, while line 10 corresponds to a renaming. To specify the new name, it will be suggested to the designer all the elements of the table that have the same metaclass than the renamed element and that have null as value in the initial model (supposed created). Thus, after the adjustments made by the designer, line 9 remains as it is, while lines 10 and 11 will be unified to signify the renaming.

Extracting the Basic UML Refactoring Operations

After the approval of the mapping table by the designer, we compute the set of refactoring operations (third step in Figure 1). These operations allow us to transform the OCL constraint invariants attached to the UML class diagram source model, according to the approach proposed in [START_REF] Markovic | Refactoring ocl annotated uml class diagrams[END_REF]. Algorithms used to deduce the different refactoring operations and the rules defined to ordain them are discussed below.

Property Refactoring Operations

By property, we mean attribute, operation, and association end. Since the computing of basic refactoring operations is the same for all properties, we show only one algorithm that is synthesized in Figure 3.

There are four types of operations that deal with properties, they are defined as follows:

• The PullUp Property operation moves a property from a subclass to a superclass [START_REF] Fowler | Refactoring: Improving the Design of Existing Code[END_REF].

• The PushDown Property operation moves a property from a superclass to a subclass [START_REF] Fowler | Refactoring: Improving the Design of Existing Code[END_REF]. • The Move Property operation moves a property from a source class to target class through an association [START_REF] Fowler | Refactoring: Improving the Design of Existing Code[END_REF].

• The Rename Property operation renames a property without changing its container [START_REF] Fowler | Refactoring: Improving the Design of Existing Code[END_REF].

If the containers of both elements differ (in this case, a container is a class), then the relationship between those two containers is tested. If the source element's container is a superclass of the target element's container, one can deduce that a "PushDown Property" refactoring has occurred. If it is the target element's container which is a superclass of the source element's container, then one can deduce that a "PullUp Property" has been performed.

However, if the source element does not exist, this implies that the target element has been created by the transformation. Finally, if the target element does not exist, then we can deduce that the element has been removed by the transformation. The creation or removal of properties are not considered refactoring operations. They are considered atomic operations that contribute to refactoring operations, such as "Extract Class".

Extract Class and Extract Superclass Refactoring Operations

According to [START_REF] Fowler | Refactoring: Improving the Design of Existing Code[END_REF], the Extract Class operation creates a new class and moves the relevant features from the old class into the new extracted one and connects it with the old class with a new association such as the multiplicity is 1 on both sides. The Extract Superclass operation creates a superclass from two classes with similar features and moves the common features to the superclass.

Rename Class is a refactoring operation [START_REF] Markovic | Refactoring ocl annotated uml class diagrams[END_REF] that consists in changing the class's name. To deduce if a model transformation has performed operations on classes, we have defined an algorithm, whose functioning is synthesized in Figure 4.

The algorithm scans the mapping table, and for each source element whose metaclass is "Class", its name is compared to the target element's name. If the latter has changed, then we can deduce that a "Rename Class" refactoring operation has been performed.

If a source element does not exist, this means that a new class has been created. In the context of UML models refactoring, a creation can be spawned by refactoring operations such as "Extract Class" or "Extract SuperClass". To distinguish which one of these refactoring operations has been performed, we rely on the operations realized on properties. If a "Move Property" refactoring has been performed from the source class towards the target class, then we can deduce that the refactoring is of kind "Extract Class". On the contrary, if a "PullUp Property" operation has been performed from a source class towards a target class, this implies a refactoring of kind "Extract SuperClass". Those two kind of refactoring operating on class's properties cannot co-exist. If such a case occurs, this implies inconsistencies during model transformation.

Ordering the Basic Refactoring Operations

The application of the previous algorithms returns a set of refactoring operations, in an undetermined order. Nevertheless, as the Roclet tool is used to perform the actual refactoring (of both the model and its constraints), these operations must be executed in a particular order so that the refactoring is properly applied. It is easily understandable, for example, that it is impossible to move an attribute in a class if this class has not yet been created. Besides, if the operations are not well ordered, the model obtained after applying the refactoring operations will not be necessary the same as the target model that results from the initial "Black Box" transformation. Therefore, the transformed OCL constraints will not conform to the target model.

Thus, we have defined some rules for defining the order of refactoring operations: • Apply the operations that concern the container before the content, and so, deal with classes before properties (attribute, operation and association ends). Indeed, as stated in the OCL metamodel [START_REF] Omg | Object Constraint Language Specification, version 2.0, Object Modeling Group[END_REF], a constraint requires a class as a valid context.

• Do not extract a class or a superclass from a class that has not yet been created. For example, given these two operations:

1. ExtractClass(class2:Class, class3:Class, role1:String, role2:String);

2. ExtractSuperClass(class1:Class, class2:Class, newName:String);

One must apply the operation (2) before applying [START_REF] Mens | Challenges in model refactoring[END_REF], because when executing the first operation, the class class2 does not yet exist.

• Do not make operations that concern properties (Move, PullUp or PushDown) on a class that has not yet been created. For example, if we have these two operations:

1. MoveProperty(a:Property, class1:Class, class2:Class, ae: Association End);

2. ExtractClass(class1:Class, class2:Class, role1:String, role2:String);

One must apply the operation (2) before applying (1), because, when executing the first operation, the class class2 and the association end ae do not yet exist. 5) specifies information about the departments, their projects, their employees and bank accounts that are associated with both departments and employees. Eight OCL constraints are attached to this model. The first one is the (MinSalary) constraint, it ensures that in the department no employee has a salary lower than the minSalary. The others ensure that the office number is different from the area code (OfficeNumbDIFFoffAreaCode), that all projects have at least two project managers (AtLeastTwoPro-jectManagers), that the project id is unique (UniqueId), that an employee is not associated to more than two projects (MaxTwoProject), that the balance of any account associated to an employee is positive (BalancePositif), that in the department there is a manager (DepartManager), that the employee name category is not empty. These OCL constraints are described below: Using a tool that we developed and named Co-refTool, we will transform the previous OCL constraints so that they conform with the target model. The Co-refTool builds a mapping table, based on the traces between the annotated source model and the annotated target model. This table is then submitted to the designer for approval. This step also allows to fix mapping problems that may occur, especially when the rename of attributes or classes cannot be detected. Once validated, Co-refTool computes the set of basic refactoring operations, and orders them according to the previously defined ordering rules (see Section 4).

Illustrative Example

The mapping table and the set of refactoring operations corresponding to the example are summarized in Figure 6.

To produce the list of refactored OCL constraints, we use the Roclet tool [START_REF] Team | Roclet project[END_REF]. This tool offers the capability of refactoring both UML models and their associated constraints, by providing support for execution of basic refactoring operations, as shown in Figure 7. Within Roclet, we execute the set of refactoring operations, obtained by the Co-refTool, on the source model with its constraints. After executing these operations by stepwise adaptations, both the source model and the OCL constraints have been refactored. Using model comparison, we can then make sure that the latter model is the same as the target model, which was transformed using the initial "Black Box" transformation model. Thus, this result lets us assert that the ordered set of refactoring operations produced by our Co-refTool is It is also important to note that this ordered set of operations is not the only one that could lead to the same target model. Indeed, multiple paths can lead to the same result, and this is due to the rules applied to define the order of operations. As Roclet transforms both a source model and its constraints, here below are the OCL constraints associated with the target model, automatically transformed thanks to the application of the refactoring operations: In this case study, we showed how to apply our approach for the co-refactoring of models and their OCL constraints. The use of Roclet for the actual refactoring of OCL constraints allows to produce syntactically correct constraints with a preserved semantic [START_REF] Markovic | Model refactoring using transformations[END_REF].

Related Work

Our work concerns mainly three aspects of model transformations: refactoring of OCL constraints attached to UML class models, transformation of OCL constraints to simplify them and finally the traceability.

In [START_REF] Markovic | Refactoring ocl annotated uml class diagrams[END_REF], the authors have presented an approach to transform OCL constraints for each basic operation of refactoring. Their approach is complementary to ours because our solution is based on their results. Similarly in [START_REF] Kosiuczenko | Redesign of uml class diagrams: a formal approach[END_REF], the author proposes a method for transforming constraints that allows for the extension of a mapping defined on a few model elements, which is called interpretation function. This function is used first to redesign UML class diagram models. The same function is re-used to automatically translate the OCL constraints. The applicability of the approach is demonstrated in the case of UML class diagrams models refactoring. Our approach is very similar to this approach. Indeed, refactoring is a special case of redesign. However, their approach is theoretical and its implementation is not obvious.

In [START_REF] Correa | Applying refactoring techniques to uml/ocl models[END_REF], the authors propose to improve badly structured OCL constraints by identifying OCL bad smells (such as duplicate code in the constraint). This is done for only very limited extent relationships between OCL constraints and the underlying class diagram. In [START_REF] Cabot | Transforming ocl constraints: a context change approach[END_REF], the authors propose an approach to assist the designer during the definition of the constraints by means of automatically transforming the initially defined constraints into equivalent alternatives by changing the context of the constraints. The proposed approach is formalized as a path problem over a graph representing the diagram. Each path between two vertices corresponds to a different context to represent the set of constraints defined over the first vertex. In [START_REF] Giese | Simplifying transformations of ocl constraints[END_REF], the authors propose an approach to simplify the OCL constraints generated in the context of design pattern instantiation templates, i.e., constraints expressing requirements associated with patterns. They identify various kinds of rules that are needed for OCL simplification and pointed out differences to usual term rewriting systems. All these work concern the second category defined above. Indeed, the simplification of constraints is complementary to our work. As we do not insure that the transformed constraint is optimal, a step for simplification may be very useful.

Our work is also concerned by techniques and frameworks for traceability and model comparison. Concerning traceability, some related work have been discussed in Section 3. Besides the fact that traceability is an output artifact of a model transformation, it can also be the result of applying techniques of versioning. The latter is necessary in the context of MDE [START_REF] Cicchetti | Managing model conflicts in distributed development[END_REF][START_REF] Visser | Model-driven software evolution: A research agenda[END_REF][START_REF] Altmanninger | Why model versioning research is needed!? an experience report[END_REF], because it can help to manage the evolution of models. The use of algorithms developed for control systems, such as CVS and SVN, is incongruous in the context of MDE because the comparison is made at a low-level [START_REF] Mens | A state-of-the-art survey on software merging[END_REF]. Concerning model comparison techniques, the UMLDiff approach described in [START_REF] Xing | Umldiff: an algorithm for object-oriented design differencing[END_REF] is very interesting because it can incorporate the semantics of the target language to provide more accurate results. However, this needs to specify the complete matching algorithm manually, which can be a particularly challenging task and this advantage comes at a high price [START_REF] Kolovos | Different models for model matching: An analysis of approaches to support model differencing[END_REF].

There are other approaches, which can be also used to compare models, like SiDiff [START_REF] Treude | Difference computation of large models[END_REF]. This approach is based on assigning a weight to each element in the models through a configuration file. The disadvantage of this approach is the difficulty for establishing and fine-tuning the weights of the features, which needs empirical trials and is an error-prone process. As such, finding the exact values of weights that deliver the best results for a particular modeling language can be particularly challenging.

Conclusion and Future work

Refactoring is a very important activity in the life cycle of software, because it improves its quality without changing its external behavior. In the Model Driven Engineering context, refactoring is expressed using endogenous transformation models. The constraints that annotate the source model, which aim is to reduce the number of valid instances, are unfortunately omitted or manually rewritten. We have presented an approach to transform OCL constraints attached to a model after its refactoring. It is true that our approach applies only with some assumptions. Among these assumptions is the assumed knowledge of the transformation language to select a mark that does not interfere with the latter. However, this assumption is not restrictive because in most cases the designer knows the used transformation language. The interest of our solution is that it avoids rewriting the transformation model to trace model elements. And as we have shown, the trace of model elements is not enough to easily translate OCL constraints.

We built our solution based on already approved results [START_REF] Markovic | Refactoring ocl annotated uml class diagrams[END_REF]. This has advantages as well as disadvantages. The most important advantage is that part of the problem is already solved. Among disadvantages, the most important one concerns restrictions for possible extensions given the context of the solution. Indeed, we inherit all the restrictions of the solution. For example, we had planed to use the proposed approach to transform architectural constraints as proposed in [START_REF] Tibermacine | On-demand quality-oriented assistance in component-based software evolution[END_REF]. However, the context of the transformation is exogenous (different metamodels). But, the solution proposed in [START_REF] Markovic | Refactoring ocl annotated uml class diagrams[END_REF] is not applicable for exogenous transformation. So, as future work, we intend to use a graph representation of the constraint, and using the mapping table, bring the problem to a graph transformation.

Figure 1 :

 1 Figure 1: The Global Approach

  x9F] Name::=String Container::= String MetaClass::= Package | Class | Attribute | Operation Type::= String | Integer | Boolean | Class Mark: describes the string used to separate the different information. The choice of the mark is left to the designer who has a minimal knowledge of the transformation language;

Figure 2 :

 2 Figure 2: Example of a mapping table

• (line 2 )

 2 name attribute has moved from class Department to class Party; • (line 3) creation of a new association end (employeeEND) in the class Category; • (line 4) creation of a new class (Party) in the package (Package1); • (line 5) creation of a new class (Category) in the package (Package1); • (line 6) creation of a new association end (categoryEnd) in the class Employee; • (line 7) getName() operation has moved from class Department to class Party; • (line 8) creation of a new attribute (nameCategory) in the class Category; • (line 9 and 10) The null value at the targeted model part means that the designer has to decide (delete or rename); • (line 11) possible creation of a new association end between class BankAccount and class Employee.

Figure 3 :

 3 Figure 3: Property Refactoring Operations

Figure 4 :

 4 Figure 4: Class Refactoring Operations

Figure 5 :

 5 Figure 5: Endogenous Model Transformation

Figure 5

 5 Figure 5 describes an example of an endogenous model transformation, the aim of which is the refactoring of a UML model. The UML class diagram source model (left part of Figure5) specifies information about the departments, their projects, their employees and bank accounts that are associated with both departments and employees. Eight OCL constraints are attached to this model. The first one is the (MinSalary) constraint, it ensures that in the department no employee has a salary lower than the minSalary. The others ensure that the office number is different from the area code (OfficeNumbDIFFoffAreaCode), that all projects have at least two project managers (AtLeastTwoPro-jectManagers), that the project id is unique (UniqueId), that an employee is not associated to more than two projects

Figure 6 :

 6 Figure 6: MappingTable and the Set of Refactoring Operations

  c o n t e x t D e p a r t m e n t i n v M i n S a l a r y : s e l f . e m p l o y e e s -> s e l e c t ( e | e . s a l a r y <= s e l f . m i n S a l a r y )-> s i z e ( ) = 0 c o n t e x t Employee i n v OfficeNumbDIFFoffAreaCode : s e l f . o f f i c e N u m b e r <> s e l f . o f f i c e A r e a C o d e c o n t e x t P r o j e c t i n v A t L e a s t T w o P r o j e c t M a n a g e r s : s e l f . d e p a r t m e n t -> f o r A l l ( d | d . e m p l o y e e s -> s e l e c t ( e | e . n a m e C a t e g o r y= 'PM' )-> s i z e ( ) > = 2 ) c o n t e x t D e p a r t m e n t i n v U n i q u e I d : s e l f . p r o j e c t s -> f o r A l l ( p | p . i d -> s i z e ( ) < = 1 ) c o n t e x t Employee i n v MaxTwoProject : s e l f . e m p l o y e r -> f o r A l l ( d | d . p r o j e c t s -> s i z e ( ) < = 2 ) c o n t e x t Employee i n v B a l a n c e P o s i t i f : s e l f . a c c o u n t s -> f o r A l l ( a | a . b a l a n c e > 0 ) c o n t e x t D e p a r t m e n t i n v D e p a r t M a n a g e r : s e l f . e m p l o y e e s -> e x i s t s ( e | e . name = ' Manger ' ) c o n t e x t Employee i n v : s e l f . n a m e C a t e g o r y <> ' '

Figure 7 :

 7 Figure 7: Using Refactoring Operations in Roclet

  c o n t e x t D e p a r t m e n t i n v M i n S a l a r y : s e l f . e m p l o y e e s -> s e l e c t ( e | e . s a l a r y <= s e l f . m i n S a l a r y )-> s i z e ( ) = 0 c o n t e x t Employee i n v OfficeNumbDIFFoffAreaCode : s e l f . t e l e p h o n e N u m b e r . o f f i c e N u m b e r <> s e l f . t e l e p h o n e N u m b e r . o f f i c e A r e a C o d e c o n t e x t P r o j e c t i n v A t L e a s t T w o P r o j e c t M a n a g e r s : s e l f . employee -> f o r A l l ( d | d . c a t e g o r y -> s e l e c t ( e | e . n a m e C a t e g o r y = 'PM' )-> s i z e ( ) > = 2 ) c o n t e x t D e p a r t m e n t i n v U n i q u e I d : s e l f . e m p l o y e e s -> c o l l e c t ( p | p . p r o j e c t s )-> a s S e t () -> f o r A l l ( p | p . i d -> s i z e () <= 1 ) c o n t e x t Employee i n v MaxTwoProject : s e l f . p r o j e c t s -> a s S e t () -> s i z e () <= 2 c o n t e x t Employee i n v B a l a n c e P o s i t i f : s e l f . a c c o u n t s -> f o r A l l ( a | a . b a l a n c e > 0 ) c o n t e x t D e p a r t m e n t i n v D e p a r t M a n a g e r : s e l f . e m p l o y e e s -> e x i s t s ( e | e . name = ' Manger ' ) c o n t e x t Employee i n v : s e l f . c a t e g o r y . n a m e C a t e g o r y <> ' '

Table Algorithm

 Algorithm Data: Model annotatedSourceModel, annotatedTargetModel; Result: Table mappingTable; foreach (sourceElt in annotatedSourceModel) do if (sourceEl exists in annotatedTargetModel) then Insert in the mapping table sourceElt as source element and its corresponding one in annotatedTargetModel with the new information as target element;

else Insert in the mapping table sourceElt as source element and null as target element; foreach ( elt in annotatedTargetModel and not associated with an element in annotatedSourceModel) do Insert in the mapping table null as source element and elt as target element;