Nabil Amirach
email: amirach@univ-tln.fr

Claude Jauffret
email: jauffret@univ-tln.fr

Annie-Claude Pérez
email: annie-claude.perez@univ-tln.fr

Dann Laneuville
email: dann.laneuville@dcnsgroup.com

Bearings-Only TMA from Electromagnetic and Acoustic Waves

Keywords: Bearings-only TMA, Cramér-Rao lower bound, estimation, extended Kalman filter, Fisher information matrix, maximum likelihood estimator, observability. I

This paper presents a novel BOTMA based upon two types of bearing measurements: the angles of arrival of electromagnetic waves and the angles of arrival of acoustic waves. The difference of the propagation delays makes the problem observable even when the observer is motionless or nonmaneuvering. We construct a recursive estimator (using the extended Kalman filter) and a batch estimator (the maximum likelihood estimator) whose respective performances are evaluated by Monte-Carlo simulations, and compared to the Cramér-Rao lower bound.

INTRODUCTION

The conventional bearings-only target motion analysis (BOTMA) has been widely addressed in the literature [START_REF] Aidala | Kalman Filter Behavior in Bearings-Only Tracking Applications[END_REF][START_REF] Lindgren | Position and Velocity Estimation via Bearing Observations[END_REF][START_REF] Nardone | Fundamental Properties and Performance of Conventional Bearings Only Target Motion Analysis[END_REF][START_REF] Aidala | Utilization of Modified Polar Coordinates for Bearings-Only Tracking[END_REF]. The target is assumed to be in constant velocity (CV) motion. A well-known weakness of it is the need for the platform to maneuver to render the problem observable [START_REF] Le Cadre | Discret-Time Observability and Estimability Analysis for Bearings-Only Target Motion Analysis[END_REF][START_REF] Nardone | Observability Criteria for Bearings-Only Target Motion Analysis[END_REF][START_REF] Jauffret | Observability in Passive Target Motion Analysis[END_REF]. But, maneuvering makes the observer indiscreet, which is awkward in underwater warfare. This is why constructing target motion analyses (TMA) which need no observer's maneuver to insure observability of the target's trajectory is of prime interest. A few solutions were proposed in the literature: for example, exploiting Doppler-shifted frequency measurement together with bearings makes the problem observable [START_REF] Jauffret | Track Formation with Bearing and Frequency Measurements in Clutter[END_REF][START_REF] Passerieux | Target Motion Analysis with Bearing and Frequencies Measurements[END_REF][START_REF] Jauffret | Multi Frequencies And Bearing Target Motion Analysis : Properties and Sonar Applications[END_REF]. But bearings and frequencies TMA imposes a narrow band processing in the sonar systems. In some circumstances, a target performing particular maneuvers is observable in BOTMA [START_REF] Jauffret | Leg-by-leg Bearings-Only TMA without Observer Maneuver[END_REF][START_REF] Clavard | Target Motion Analysis of a Source in Constant Turn from a Nonmaneuvring Observer[END_REF][START_REF] Jauffret | Bearings-Only Maneuvring Target Motion Analysis from a Nonmaneuvring Platform[END_REF], from a nonmaneuvering platform.

Another promising way is to exploit the angles of arrival of two kinds of signals propagating with different speeds, such as the angles of "lines of sight" (in other words, electromagnetic waves -EMW -) assumed to instantaneously propagate and the angles of "lines of sound" (or acoustic waves -AW-) whose propagation speed is much lower. A novel TMA using these angle measurements acquired by a unique platform allows passively estimating the trajectory of a target in CV motion without any maneuver of the observer. The bearings of the EMW and the bearings of the AW are named subsequently instantaneous bearings and delayed bearings.

In FUSION '15, two independent papers addressed the problem of instantaneous-bearings-and-delayed-bearings-TMA, called in [START_REF] Jauffret | Target Motion Analysis by Inverse Triangulation[END_REF] inverse triangulation TMA (ITTMA) by two different ways: In [START_REF] Yang | Bearings-Only Tracking with Fusion from Heterogenous Passive Sensors: ESM/EO and Acoustic[END_REF], the authors construct a recursive estimate using an Unscented Kalman Filter (UKF) for BOTMA (whose input is the instantaneous bearings), coupled with an Unscented Gauss-Helmert Filter (UGHF) whose role is to update the current estimate by the delayed bearings (called out of sequence measurements in [START_REF] Yang | Bearings-Only Tracking with Fusion from Heterogenous Passive Sensors: ESM/EO and Acoustic[END_REF] and [START_REF] Yang | Interacting Multiple Model Unscented Gauss-Helmert Filter for Bearings-Only Tracking with State-Dependent Propagation Delay[END_REF]). The recursive estimation is done by the two filters: UKF with a 4dimensional state vector and UGHF with a 5-dimensional state vector. In [START_REF] Jauffret | Target Motion Analysis by Inverse Triangulation[END_REF], observability of the target's trajectory is proven and the maximum likelihood estimate is proposed.

In this study, we propose to exploit the analytic link between the propagation delay of the AW and the state vector defining the target's trajectory. This allows us to use one filter (actually an extended Kalman filter -EKF -) with one sole 4dimensional state vector. We compute also the maximum likelihood estimator (MLE) by the Gauss-Newton routine. The respective empirical covariance matrices (evaluated by Monte-Carlo simulations) of the recursive and batch estimators are compared to the Cramér-Rao lower bound (CRLB).

Taking propagation delay into account was previously addressed: In [START_REF] Lo | Broadband Passive Acoustic Technique for Target Motion Analysis Parameter Estimation[END_REF][START_REF] Orguner | Target Tracking Using Delayed Measurements with Implicit Constaints[END_REF][START_REF] Orguner | Disturbed Target Tracking with Propagation Delayed Measurements[END_REF][START_REF] Orguner | Target Tracking with Particle Filters Under Signal Propagation Delays[END_REF][START_REF] Bi | Maneuvring Target Doppler-Bearing Tracking Using Interacting Multiple Models Algorithm[END_REF][START_REF] Guo | A Recursive Algorithm for Bearings-Only Tracking with Signal Time Delay[END_REF][START_REF] Cheung | PMHT for Tracking with Timing Uncertainty[END_REF], the time delay is on-line estimated to reduce the bias of the estimator of targets position. Most of the time, this time delay appears as a "drawback" of the propagation phenomena. In this paper, it helps to propose a "low-cost" unbiased estimation of the target trajectory.

Our paper is composed of four main sections:

Section II is devoted to the definition of our problem. We give the notations employed subsequently.

In Section III, we give the asymptotic performance of any unbiased estimator through the Cramér-Rao lower bound expression.

The estimations of the trajectory, by the maximum likelihood method, then by the extended Kalman filter, are presented in section IV.

Section V is devoted to Monte-Carlo simulations, which allows us to compare the respective performance of the batch and the recursive estimation.

A conclusion follows.

II.

PROBLEM STATEMENT AND NOTATION

Consider a target (T) moving with a constant velocity (or CV motion) and a passive observer (O). In a Cartesian coordinate system, the position of the target at time t is denoted P T (t) = [x T (t) y T (t)] T and its velocity is V T = [ẋT ẏT] T . The trajectory of the target obeys the following equation: P T (t) = P T (t * ) + (t -t * )V T , t * being an arbitrary reference time, and is entirely characterized by the chosen state vector X(t * ) = [x T (t * ) y T (t * ) ẋT ẏT] T . The location of the observer at time t is denoted P O (t) = [x O (t) y O (t)] T . The position of the target relatively to the observer is defined as P OT (t) = P T (t) -P O (t) = r(t)[sinθ(t) cosθ(t)] T . During the scenario, the target and the observer are never located at the same place, i.e. P OT (t) ≠ [0 0] T , ∀t (see Fig. 1).

The target and the observer are moving in a medium in which the electromagnetic waves (EMW) and the acoustic waves (AW) propagate. Delayed bearings are collected by a passive sonar, whose sampling period is about few seconds (typically 4 seconds), and instantaneous bearings are acquired by a passive radar (the sampling period is 1 second) or an optical device, for example a periscope (it is reasonable to assume that a bearing is measured every 2 minutes), for a submarine at surface. The propagation delay of the EMW is negligible, whereas that of the AW must be taken into consideration. So, from the viewpoint of the observer, the instantaneous bearing is equal to θ(t) = tan -1 (

x T (t)-x O (t) y T (t)-y O (t) ) and the delayed bearing is θ D (t) = tan -1 (

x T (t-τ(t))-x O (t) y T (t-τ(t))-y O (t)

), where τ(t) is the propagation duration of the AW to reach the observer at time t. In other words, the observer detects at time t an AW emitted by the target at time t -τ(t). Hence, the propagation delay τ(t)

satisfies the recursion τ(t) = ‖P T (t-τ(t))-P O (t)‖ c
, where c is the propagation speed of sound in the medium. It can be computed by the following expression,

τ(t) = √[V T T P OT (t)] 2 + (c 2 -‖V T ‖ 2 )‖P OT (t)‖ 2 -V T T P OT (t) (c 2 -‖V T ‖ 2 ) .
Note that this expression is the generalized version of τ(t) given in [START_REF] Jauffret | Target Motion Analysis by Inverse Triangulation[END_REF].

In order to emphasize the fact that θ(t) and θ D (t) are completely defined by the state vector, we will denote them by θ(X(t * ), t) and θ D (X(t * ), t), respectively.

At time 𝓊 k (respectively 𝓋 k ), the observer acquires the measured angles θ m (𝓊 k ), respectively θ D,m (𝓋 k ), defined by

θ m (𝓊 k ) = θ(𝓊 k ) + ε(𝓊 k ) and θ D,m (𝓋 k ) = θ D (𝓋 k ) + ε D (𝓋 k ).
ε(𝓊 k ) and ε D (𝓋 k ) are the additive noises, assumed to be zero-mean and Gaussian. Their covariance matrices are respectively equal to 𝑑𝑖𝑎𝑔(σ 2 ) and 𝑑𝑖𝑎𝑔(σ D

2 ) (assumed to be known). Note that, in this paper, the delayed bearings are assumed to be unbiased.

We aim to estimate the trajectory of the target from the two sets

{θ m (𝓊 k ), k = 1, 2, … , N} and {θ D,m (𝓋 k ), k = 1, 2, … , N D }.
In order to simplify the coming developments, we define the three following sets: 𝒰 ≜ {𝓊 k , k = 1, 2, … , N} is the set of the acquisition time of instantaneous bearings; 𝒱 ≜ {𝓋 k , k = 1, 2, … , N D } is the set of the acquisition time of delayed bearings; and 𝒯 ≜ 𝒰⋃𝒱. We sort the elements of 𝒯 in the chronological order: 𝒯 = {t 1 , t 2 , … , t M }, with t k < t k+1 . Then we define two subsets of {1, 2, … , M} denoted I (as "instantaneous") and D (as "delayed") as follows: k ∈ I if the observer acquires a EMW angle at time t k ; k ∈ D if the observer acquires a AW angle at time t k . Now, our problem can be rephrased as follows: "Estimate the state vector

X(t ℓ ) from the set {θ m (t k ), k ∈ I}⋃{θ D,m (t k ), k ∈ D}". Note that {θ m (t k ), k ∈ I}⋂{θ D,m (t k ), k ∈ D} is not necessarily empty.
In the following section, we present the computation of the CRLB.

P T (t -τ(t)) East θ(t) θ D (t) F(X ℓ ) = ∑ 1 σ 2 ∇ X ℓ θ(X ℓ , t k ) k∈I ∇ X ℓ T θ(X ℓ , t k ) + ∑ 1 σ D 2 ∇ X ℓ θ D (X ℓ , t k ) k∈D ∇ X ℓ T θ D (X ℓ , t k ) Since X k = Φ k,ℓ . X ℓ (1)
with

Φ k,ℓ = [ 1 0 0 1 t k -t ℓ 0 0 t k -t ℓ 0 0 0 0 1 0 0 1 ],
the computation of ∇ X ℓ θ(X ℓ , t k ) and ∇ X ℓ θ D (X ℓ , t k ) can be easily performed by

∇ X ℓ θ(X ℓ , t k ) = ∇ X ℓ X k ∇ X k θ(X k , t k ) = Φ k,ℓ T ∇ X k θ(X k , t k )
and

∇ X ℓ θ D (X ℓ , t k ) = ∇ X ℓ X k ∇ X k θ D (X k , t k ) = Φ k,ℓ T ∇ X k θ D (X k , t k ),
where ∇ X k θ(X k , t k ) and ∇ X k θ D (X k , t k ) are detailed hereafter.

From [START_REF] Nardone | Fundamental Properties and Performance of Conventional Bearings Only Target Motion Analysis[END_REF], we have

∇ X k θ(X k , t k ) = 1 r(t k ) [cosθ(t k ) -sinθ(t k ) 0 0] T and the components of ∇ X k θ D (X k , t k ) are ∂θ D (t k ) ∂x T (t k ) = 1 ‖P T (t k -τ(t k )) -P O (t k )‖ {cosθ D (t k ) +sinθ D (t k ) [ ẏTsinθ D (t k ) -ẋTcosθ D (t k ) c + ẋTsinθ D (t k ) + ẏTcosθ D (t k ) ]} (2) ∂θ D (t k ) ∂y T (t k ) = 1 ‖P T (t k -τ(t k )) -P O (t k )‖ {-sinθ D (t k ) +cosθ D (t k ) [ ẏTsinθ D (t k ) -ẋTcosθ D (t k ) c + ẋTsinθ D (t k ) + ẏTcosθ D (t k ) ]} (3) ∂θ D (t k ) ∂ẋT = -τ(t k ) ∂θ D (t k ) ∂x T (t k ) (4) ∂θ D (t k ) ∂ẏT = -τ(t k ) ∂θ D (t k ) ∂y T (t k ) . (5)
Finally, we get

∇ X ℓ θ(X ℓ , t k ) = 1 r(t k ) [ cosθ(t k ) -sinθ(t k ) (t k -t ℓ )cosθ(t k ) -(t k -t ℓ )sinθ(t k )] (6)
and

∇ X ℓ θ D (X ℓ , t k ) = [ ∂θ D (t k ) ∂x T (t k ) ∂θ D (t k ) ∂y T (t k ) (t k -t ℓ -τ(t k )) ∂θ D (t k ) ∂x T (t k ) (t k -t ℓ -τ(t k )) ∂θ D (t k ) ∂y T (t k )] (7)
Note that for ℓ = 1, we find the result given in [START_REF] Jauffret | Target Motion Analysis by Inverse Triangulation[END_REF].

IV. ESTIMATION

We propose two estimates of the target's trajectory. First the maximum likelihood estimator of X ℓ , which is computed in a batch routine, and then a recursive estimator based on the extended Kalman filter (EKF). With the EKF, we estimate recursively X k at each new measurement.

A. Batch estimator: Maximum Likelihood Estimator (MLE)

The maximum likelihood estimator (MLE), which is identical to the least squares estimator since the noises are assumed to be Gaussian, minimizes the following criterion

C(X ℓ ) = ∑ 1 σ 2 [θ m (t k ) -θ(X ℓ , t k )] 2 k∈I + ∑ 1 σ D 2 [θ D,m (t k ) -θ D (X ℓ , t k )] 2 k∈D
The Gauss-Newton (GN) routine is employed for this minimization. The Hessian is nothing else but F(X ℓ ) during iterations. This estimator was presented in [START_REF] Jauffret | Target Motion Analysis by Inverse Triangulation[END_REF].

B. Recursive estimator: Extended Kalman Filter estimator (EKF)

We develop hereafter the equations of the EKF for the state equation, deduce from (1),

X k = Φ k,k-1 X k-1
coupled with a measurement equation which, depending on time t k is 1 or 2-dimensional:

Y k = θ m (t k ) = θ(X k , t k ) + ε(t k ), ifk ∈ Ionly, or Y k = θ D,m (t k ) = θ D (X k , t k ) + ε D (t k ), ifk ∈ Donly, or Y k = [ θ(X k , t k ) θ D (X k , t k ) ] + [ ε(t k ) ε D (t k ) ] , ifk ∈ I ∩ D.
Thus, whatever the case, the k-th measurement can be written as

Y(t k ) = ℋ k (X(t k )) + ℯ k , withℯ k = ε(t k )orε D (t k )or [ ε(t k ) ε D (t k ) ]
In short, the state system is composed of a linear state equation and a nonlinear measurement equation whose dimension can change along the scenario. The EKF algorithm is given by the following equations:

X k/k-1 = F k . X k-1/k-1 P k/k-1 = F k . P k-1/k-1 . F k T K k = P k/k-1 . H k T [H k . P k/k-1 . H k T + R k ] -1 X k/k = X k/k-1 + K k (Y k -ℋ k (X k/k-1 )) P k/k = (I 4 -K k . H k ). P k/k-1 . (I 4 -K k . H k ) T + K k R k K k T
where H k is the Jacobian of ℋ k (. ) at X k/k-1 :

H k = ∇ X k T ℋ k (X k/k-1 ) = { ∇ X k T θ(X k , t k ) |X k =X k/k-1 ifk ∈ Ionly, ∇ X k T θ D (X k , t k ) |X k =X k/k-1 ifk ∈ Donly, [ ∇ X k T θ(X k , t k ) ∇ X k T θ D (X k , t k ) ] |X k =X k/k-1 ifk ∈ I ∩ D.
where the gradients are given by ( 6) and ( 7), with l =k.

V. NUMERICAL APPLICATION

This section focuses on the study of the empirical performances of the MLE and EKF estimators on different scenarios. The following results are obtained with 500 Monte-Carlo simulations.

The GN routine is initialized with X init = r init [sin(θ m (t 1 )) cos(θ m (t 1 )) 0 0]. where the initialized range r init is arbitrary chosen.

And the EKF is initialized as follows:

Hereafter, the MLE and the EKF algorithm are performed on 6 different scenarios. Two types of scenarios are used in our study: long range scenarios, and short range scenarios. In long range scenarios, passive radar and passive sonar are mounted on the platform. The respective sampling periods of radar and sonar are Δt = 1s. and Δt D = 4s. The respective standard deviations of the instantaneous bearings and delayed bearings are σ = 1° and σ D = 1°. In short range scenarios, passive radar is replaced by a periscope with Δt = 120s, and σ = 0.1°. The sound propagation speed is chosen to be equal to 1500m/s. The observer changes its heading. Note that in all these scenarios, the initial position of the observer is

P O (0) = [0 0] T .
The performances of the estimated state vector at final time obtained with the MLE and the EKF algorithm, as well, are given in tables. We compute the empirical biases and standard deviations of each estimator (denoted σ ̂MLE and σ ̂EKF ) and the asymptotic performance given by the square root of the diagonal element of the CRLB (denoted σ CRLB ). Moreover, to quantify the interest of ITTMA, the asymptotic performance of the classical BOTMA (denoted σ CRLB BOTMA ) are given in tables. For each scenario, four figures are plotted.

A. Scenario 1: Long range (passive sonar and passive

radar) The duration of scenario 1 is 20 minutes (1200 seconds). During the first 200 seconds, the observer is in CV motion with a speed equal to 7m/s and a heading of 90°, then during 400 seconds, it is in constant turn (CT) with a turn rate of -20°/min, and for the last 600 seconds it is anew in CV motion with a speed equal to 7m/s and a heading of -45°. The initial position of the target is P T (0) = [ 15 18 ] T (km); its speed is equal to 5 m/s and its heading is 150°. For the initialization, we chose r init = 10 km. Fig. 2 depicts the 90% confidence ellipses at 400s, 800s, and 1200s, and the 500 estimated positions at the same instants. After the first 7 minutes, the cloud to the 500 MLE is within the confidence ellipses, unlike the EKF which appears biased. The correct performance of the MLE is maintained up to the end of the scenario. The EKF has to wait 13 minutes to behave properly, even though the computed estimators are not strictly efficient. Table I corroborates this fact.

B. Scenario 2: Short range (passive sonar and periscope)

Now, the duration of the scenario is 10 minutes (600s). During the first 100 seconds, the observer is in CV motion with a speed equal to 7m/s and a heading of 90°, then during 400 seconds it is in CT with a turn rate of -20°/min, and for the last 100 seconds it returned in CV motion with a speed equal to 7m/s and a heading of -45°. The target starts from P T (0) = [4 6] T (km) with a speed equal to 5 m/s and a heading of 150°. For this scenario, we chose r init = 10 km. Fig. 3 depicts the 90% confidence ellipses at 200s, 400s and 600s and the 500 estimated positions at the same instants. Again, the MLE behaves accordingly to the theory for this scenario, where its efficiency is confirmed (see Table II). The EKF does not diverge (the cloud of estimates remains in a "reasonable" zone), but it is not efficient. Note that σ CRLB BOTMA is three times bigger than σ CRLB . This improvement is due to the 5 instantaneous bearing measurements only.

C. Scenario 3: Long range (passive sonar and a passive

radar) The trajectory of the observer is the same as in scenario 1. The target's initial position is P T (0) = [ 15 18 ] T (km); its speed is equal to 5 m/s and its heading is -90°. We choose r init = 30 km.

As shown in Fig. 4, the MLE is practically unbiased (see Table III). The EKF is biased but its outputs are in the vicinity of the target's trajectory.

D. Scenario 4: Short range (passive sonar and periscope)

The duration of the scenario and the observer's trajectory are the same as scenario 2. Only the target's trajectory changed. The target starts from P T (0) = [4 6] T (km) with a speed equal to 5 m/s and a heading of -90°. The GN routine and the EKF were initialized with r init = 10 km. Fig. 5 depicts the 90% confidence ellipses at 200s, 400s, and 600s, and the 500 estimated positions at the same instants. The EKF performs poorly whereas the MLE is quasi unbiased and its covariance matrix (not reported here) is very close to the CRLB.

E. Scenario 5: Long range (passive sonar and a passive radar)

This scenario is an extension of scenario 1; now its duration is 30 minutes, and the observer makes a second change of heading: 20 minutes after the beginning, the observer starts its maneuver by a CT during 6min 40s with a turn rate of 20°/min, then it finishes its route in a CV motion during 3min 20s, and an heading of 90°. Fig. 6 shows the 90% confidence ellipsoids at 600s, 1200s, and 1800s, and the 500 estimated positions at the same instants. The MLE keeps its excellent performance, and the EKF, even if it is not efficient in a strict sense, behaves properly (see Table V).

F. Scenario 6: Short range (passive sonar and periscope)

This scenario is the prolongation of scenario 2: the target keeps its route, but the observer makes a second turn after 10 mn: it starts a CT motion with turn rate of 20°/min, and after 6min 40s, it returns in CV motion during 3min 20s. The total duration of scenario 6 is hence 20 minutes.

The 500 estimated positions and the 90% confidence ellipses at 400s, 800s, and 1200s are depicted in Fig. 7. Fig. 7 shows that the EKF does not benefit from the additional maneuver, conversely to the MLE which keeps its efficiency.

VI. CONCLUSION

In FUSION'15, we proposed a novel TMA, called inverse triangulation TMA, by exploiting the angles of electromagnetic wave's arrival and of acoustic wave's arrival. The key of inverse triangulation TMA is to take the propagation delay of the acoustic waves into account. This paper is the extension of this study: we considered a maneuvering platform and used the maximum likelihood estimator together with the extended Kalman filter, both in Cartesian coordinates. The MLE is definitively efficient for this problem. The Cartesian EKF returns estimators which are in the vicinity of the true state vector. However, strictly speaking, it is not efficient, and takes no benefit of a second observer's maneuver. More subtly, its behavior depends on the sampling period of the so-called instantaneous bearings: it seems to be insensitive to these additional measurements when the sampling period is about 2 minutes, even with very accurate bearings. The research effort must hence be focused upon the EKF, for instance in changing the coordinates systems (for example we could try the modified polar coordinates), or in changing the equation of the EKF by extending its linearization in second order. Another point merits to be studied: in real situations, the acoustic bearings can be biased due to propagation phenomena. This bias has to be taken into account. This is still under investigation.

Fig. 1 .

 1 Fig. 1.Example of scenarioIII. ASYMPTOTIC PERFORMANCESThe Cramér-Rao Lower Bound being the inverse of the Fisher information matrix (FIM), we develop the computation of the FIM for the state vector X(t ℓ ) ≜ [x T (t ℓ ) y T (t ℓ ) ẋT ẏT] T (also denoted X ℓ subsequently) for ℓ = 1, 2, … given by the well-known formula:

  Fig. (a) depicts the observer's and the target's trajectory. The letters "O" and "T" designate their respective initial positions; the 90% confidence ellipsoids from the CRLB are centered on the true target's location at three different instants and the 500 MLE estimated positions at the same instants. On Fig (b), the 500 EKF outputs are plotted. Fig. (c) and Fig. (d) are the respective magnifications of Fig. (a) and Fig (b), around the end of the scenario.

Fig. 2 Fig. 2 .

 22 Fig. 2 (a) Fig. 2 (b)

Fig. 3 Fig. 3 .

 33 Fig. 3 (a) Fig. 3 (b)

Fig. 4 Fig. 4 .

 44 Fig. 4 (a) Fig. 4 (b)

Fig. 5 Fig. 5 .

 55 Fig. 5 (a) Fig. 5 (b)

Fig. 6 Fig. 6 .

 66 Fig. 6 (a)

Fig. 7 Fig. 7 .

 77 Fig. 7 (a) Fig. 7 (b)

  Table VI corroborates this assertion.

TABLE I .

 I PERFORMANCES OF THE MLE AND EKF ESTIMATORS IN SCENARIO 1.

	X M	Bias MLE	Bias EKF	σ ̂MLE	σ ̂EKF	σ CRLB	σ CRLB BOTMA
	x T =
	17998	0.1923	191.26	337.66	415.71	342.38	770.37
	(m)
	y T =
	12808	0.9215	46.34	158.84	202.28	161.52	367.51
	(m)
	ẋT = 2.5 (m/s)	0.0030	0.4719	0.3059	0.2891	0.2985	0.6717
	ẏT =
	-4.33	0.0052	0.7283	0.5510	0.5049	0.5463	1.2383
	(m/s)

TABLE II .

 II PERFORMANCES OF THE MLE AND EKF ESTIMATORS IN SCENARIO 2.

	X M	Bias MLE	Bias EKF	σ ̂MLE	σ ̂EKF	σ CRLB	σ CRLB BOTMA
	x T = 5490 (m)	0.8812	178.44	110.78	259.79	111.61	356.99
	y T = 3419 (m)	1.8935	101.44	67.13	154.14	68.00	189.94
	ẋT = 2.5 (m/s)	0.0027	0.5285	0.2279	0.1839	0.2208	0.4319
	ẏT =
	-4.33	0.0070	0.0877	0.4804	0.5683	0.4670	1.2481
	(m/s)

TABLE III .

 III PERFORMANCES OF THE MLE AND EKF ESTIMATORS IN SCENARIO 3.

	X M	Bias MLE	Bias EKF	σ ̂MLE	σ ̂EKF	σ CRLB	σ CRLB BOTMA
	x T = 9005 (m)	6.82	735.98	492.39	251.91	489.70	1102.04
	y T =
	18000	11.75	1082.3	728.35	381.70	725.39	1623.42
	(m)
	ẋT = -5 (m/s)	0.0013	0.7742	0.6132	0.2334	0.6045	1.3613
	ẏT = 0 (m/s)	0.0058	1.0990	0.8789	0.3358	0.8672	1.9418

TABLE IV .

 IV PERFORMANCES OF THE MLE AND EKF ESTIMATORS INSCENARIO 4.

	X M	Bias MLE	Bias EKF	σ ̂MLE	σ ̂EKF	σ CRLB	σ CRLB BOTMA
	x T = 1020 (m)	5.22	46.10	49.22	68.56	48.42	96.73
	y T = 6000 (m)	66.81	627.98	558.04	647.13	546.55	897.54
	ẋT = -5 (m/s)	0.0280	0.2967	0.2360	0.2668	0.2297	0.3189
	ẏT = 0 (m/s)	0.0584	0.3725	0.5002	0.6650	0.4923	0.9184

TABLE V .

 V PERFORMANCES OF THE MLE AND EKF ESTIMATORS INSCENARIO 5.

	X M	Bias MLE	Bias EKF	σ ̂MLE	σ ̂EKF	σ CRLB	σ CRLB BOTMA
	x T =
	19498	1.92	152.40	252.66	413.99	255.10	570.02
	(m)
	y T =
	10210	2.67	59.92	79.28	146.24	81.01	183.17
	(m)
	ẋT = 2.5 (m/s)	0.0046	0.1035	0.0931	0.2756	0.0967	0.2159
	ẏT =
	-4.33	0.0057	0.0402	0.0995	0.3317	0.1007	0.2262
	(m/s)

TABLE VI .

 VI PERFORMANCES OF THE MLE AND EKF ESTIMATORS INSCENARIO 6.

	X M	Bias MLE	Bias EKF	σ ̂MLE	σ ̂EKF	σ CRLB	σ CRLB BOTMA
	x T = 6990 (m)	7.12	484.98	77.07	215.53	77.78	201.03
	y T = 821 (m)	0.18	14.91	11.43	19.73	11.41	21.45
	ẋT = 2.5 (m/s)	0.0041	0.3974	0.0391	0.1112	0.0400	0.1044
	ẏT =
	-4.33	0.0052	0.2464	0.0702	0.1883	0.0695	0.1649
	(m/s)


Keywords: Target motion analysis, tracking, bearingsonly, observability, constant turn motion, constant acceleration motion, sonar, radar, electronic support measurement

Observability in bearings-only target analysis (BOTMA) is studied when the target is in constant-velocity motion and the observer maneuvers gently (a constant turn motion or a constant acceleration motion). During our study, we proved that the rendezvous routes of the observer and the target play a key role in this analysis. We establish necessary and sufficient conditions of observability and we identify the virtual (or ghost) targets giving the same bearings when the system is not observable.

I. INTRODUCTION

T is well known that in bearings-only target motion analysis (BOTMA), under the classic assumption -the target is in constant velocity (CV) motion -, the observer must maneuver in order to render the trajectory of the target observable. Unfortunately, some maneuvers were proven to be ineffective, that is the trajectory of the target is still unobservable, although the maneuvers of the observer [START_REF] Jauffret | Observability in Passive Target Motion Analysis[END_REF], [START_REF] Le Cadre | Discrete-Time Observability and Estimability Analysis for Bearings-Only Target Motion Analysis[END_REF], [START_REF] Lindgren | Position and Velocity Estimation via Bearing Observations[END_REF], [START_REF] Nardone | Observability Criteria for Bearings-Only Target Motion Analysis[END_REF], [START_REF] Pillon | Observability: Range-Only vs. Bearings-Only Target Motion Analysis for a Leg by Leg Observer's Trajectory[END_REF]. Because of their complex and non-intuitive mathematical expressions ( [START_REF] Jauffret | Observability in Passive Target Motion Analysis[END_REF] [START_REF] Nardone | Observability Criteria for Bearings-Only Target Motion Analysis[END_REF]), most of them seem difficult to be done in practice (a boat or a submarine cannot follow strictly a mathematical curve). Therefore, we can expect that simple maneuvers such as the constant turn (CT) motion or the constant acceleration (CA) motion are not ineffective maneuvers. For example, some authors considered in the past that a CT motion guaranteed implicitly observability (see [START_REF] Bucy | Digital Synthesis of Nonlinear Filters[END_REF] [START_REF] Farina | Target Tracking with Bearings-Only Measurements[END_REF]). It turns out that observability has not been studied for these simple maneuvers. In this paper, we goal to analyze observability in BOTMA, when the observer is in CT motion, then we extend this analysis to constant acceleration (CA) motion, which is still a maneuver easy to do. The paper is organized in five main sections: In Section II, the notations are given and the observability problem posed. Section III is devoted to the types of kinematic we will study or encounter in this paper. We give in section IV two general results of BOTMA. The case of an observer in CT motion is studied in Section V. Finally, Section VI presents some results when the observer is in CA motion.

The conclusion ends this paper. This paper is linked with [START_REF] Jauffret | Range-Only Target Motion Analysis: Observability when the Observer Maneuvers Smoothly[END_REF], in which we face the same problem, when the measurements are range.

II. PROBLEM STATEMENT AND NOTATIONS

A. Definitions and notations

Let a target (T) and an observer (O) moving in the same plane, given a Cartesian system. The target is in CV motion, but the observer maneuvers (that is, its velocity is not the same all along the scenario). The observation starts at time 0  t and finishes at time f T t  . At time t, the position and velocity of the observer are respectively

  T )] ( ) ( [ t y t x t P O O O  and     T )] ( ) ( [ t y t x dt t dP t V O O O O    
. For the target, the notations are the same, except the subscript:

  T )] ( ) ( [ t y t x t P T T T  ,   T ] [ T T T T y x dt t dP V    
. In short, the respective motions of the observer and of the target are given by the vectors

        T t y t x t y t x t X O O O O O   ) ( ) (  and     T T T T T T y x t y t x t X   ) ( ) (  .
It is also convenient to define the relative motion of the target w.r.t the observer:

      T )] ( ) ( [ t y t x t P t P t P OT OT O T OT    ,     T )] ( ) ( [ t y t x dt t dP t V OT OT OT OT    
. Consequently, we define the vector

            T t y t x t y t x t X t X t X OT OT OT OT O T OT   ) ( ) (    . In the sequel,   0 T X
will be denoted as T X , which defines the target's trajectory, since

    T T T V t P t P   0
. This vector will be named state vector. Similarly, ) 0 ( OT X will be denoted simply OT X . We implicitly assume that

    0 t P OT , in   f T 0 .

Vectors

U and W are said collinear if a non-zero scalar  exists such that W U   . The angles are clockwise-positive. Subsequently, we will use the symbol  to designate angles: for any pair of vectors U and

W ,   W U,  is the angle defined by the couple   W U, referenced to
U. When U is collinear to the northward direction, we will use W  only (for the bearing or heading). The range and the bearing at time t are given respectively by Bearings-Only Target Motion Analysis: Observability when the Observer Maneuvers Smoothly Annie-Claude Pérez, Claude Jauffret Aix Marseille Univ, Univ Toulon, CNRS, IM2NP, Toulon, France jauffret, annie-claude.perez@univ-tln.fr Denis Pillon retired Thonon-les-Bains, France pillon_denis@orange.fr

I     t P t r OT  and     t P t OT    .
Subsequently, we will use the following simplified notations:

  0 0    ,   0 0 r r  ,   0 OT r V v 
, and

  0 OT r V h  
for the initial bearing, range, relative speed, and heading.

Figure 1 illustrates the notations for a typical scenario.



. We recall that the target's trajectory is declared observable in BOTMA if the following statement is true:

      OT OT f X X X t X t T t      , , , , 0   . Otherwise,
the trajectory is unobservable: at least, one vector

  T OG OG OG OG OG y x y x X   ) 0 ( ) 0 (  (defining a CV motion) different from OT X exists such that       f OT OG T t X t X t , 0 , , ,      . The vector O OG G X X X  
defines the "virtual" trajectory of a "ghost-target", denoted G. For each ghost-target, we define

similarly         T 0 0 0 G G G y x P  , T ] [ G G G y x V    ,     T )] ( ) ( [ 0 t y t x V t P t P G G G G G   
, and

    T G G G G G y x t y t x t X   ) ( ) (  , with the convention   0 G G X X  .
Observability is a necessary (but not sufficient) condition to perform successful TMA. Observability analysis is based upon ideal situation: noiseless measurements and exactly known trajectory. Obviously, in real situation these hypotheses are not verified. The philosophy is to say: if in ideal situation estimating the trajectory of a target is impossible because of the presence of several solutions, in real situation it will be as well.

Observability analysis has two goals: a) Give a necessary and sufficient condition to have unicity of the state vector OT X (that is the trajectory of the target is observable), b) When this trajectory is unobservable, characterize the set of OG X .

III. OBSERVER CINEMATIC MODELS

In this paper, we are concerned by two models of smooth observer motion: (i) the observer travels in an arc of a circle at constant speed, (ii) it has a constant acceleration vector.

A. CT motion

The observer travels in an arc of a circle whose center is a

fixed point        C C C y x P
and radius is 0   . It has a constant turn rate 0   and an "initial phase"  relative to north, at the beginning of its motion. So, the location of the observer is given by

                     t t P t P C O cos sin
(see Fig. 2). Note that its speed is constant. In order to simplify the coming calculation, we will assume that

       0 0 C P .

B. CA motion

The position of the observer at any time t is

          2 0 0 2 t V t P t P O O O
, where

  T y x    
is the acceleration vector. The relative position of the target with respect to the observer is

          2 0 0 2 t V t P t P OT OT OT (1)
Without loss of generality, we will assume that 0  x  and 0  y  . Indeed, a suitable rotation (depending on the vector  ) of the entire scenario allows us to be in this case. This assumption will make observability analysis easier.

C. Rendezvous routes in CA motion

The observability criteria when the observer is in CA motion will be shown to be linked to the rendezvous (or "collision") route in Sections VI.

Definition: the rendezvous route

The target and the observer are said to be on a rendezvous route (RDVR), when they are in the same place at a time c t .

Since   0

  t P OT , in   f T 0 , c t is not in   f T , 0
. Actually, these rendezvous instants are purely virtual: before 0  t and after f T , O and T were and will be free to choose their own trajectories. Note that a CA motion is not the pursuit curve motion, which has not been yet studied in the TMA observability problem. ). This equality is equivalent to 0 2

1) The two types of RDVR

                    ) 3 ( 0 0 0 ) 2 ( 0 2 1 0 0 2 OT c OT x c OT c OT y t y t x t x    If   0 0  OT y , then (3)
1 2          x c c t t    or 0 2 2 2      c c t t
  constant  t 
up to c t . Note also that two rendezvous instants may exist (depending on  ). In Fig. 3

              0 0 0 0 0 0 2 2 OT OT OT OT OT OT x y x y x y y       . Proof: Equation (3) implies that     0 0 OT OT c y y t   
. Reporting this result in

(2), we get

            0 0 0 2 1 0 0 0 0 2 2    x OT OT OT OT OT OT y y x y y x     . We end up with               0 0 0 0 0 0 2 2 OT OT OT OT OT OT x y x y x y y       .
QED.

In the following proposition, we give a criterion based on the bearings, which allows us to know if we are on an RDVR-II or not.

2) Criterion of RDV-II From the remark following Proposition 2, when the target and the observer are on an RDVR-I, the bearings are constant. In this case, the trajectory of the target is not observable in BOTMA. Conversely, if the bearings are constant, the two vehicles are not necessarily on an RDVR-I. Therefore, finding a criterion of RDVR-I is hopeless. It is impossible to decide if we are in logic of RDVR-I from bearings only. In contrary, we can give a criterion of RDVR-II, based on bearings.

Proposition 4:

O and T are on RDVR-II if and only if

  t t 1 0 tan      , with

Proof:

We have to prove that the equivalence

                0 0 0 0 0 0 2 tan 2 1 0 OT OT OT OT OT OT x y x y x y y t t             We have           0 0 2 1 0 0 tan 2 OT OT x OT OT y t y t x t x t         . If               t y t y t x t x t t OT OT x OT OT 1 0 2 1 0 0 0 2 1 0 0 then tan                As a consequence,     0 0 OT OT c y y t    is a root of     x OT OT t x t x  2 2 1 0 0    .
We get the equality

              0 0 0 0 0 0 2 2 OT OT OT OT OT OT x y x y x y y       . Conversely, if               0 0 0 0 0 0 2 2

OT

           t y t y t x t x OT OT x OT OT 1 0 2 0 0 2 1 0 0           . QED.
To resume, if the bearings collected by the observer verify

  t t 1 0 tan      , then if 0 1  
, the observer and the target are on an RDVR-II; else, they can be on an RDVR-I or not.

In practice, it is well known by sailors that when the observer is itself in CV motion and the bearings are constant, the observer and the target can be on a collision route. To avoid a collision, the observer must maneuver. However, if it accelerates and if the bearing tangent is linear, it may still remain on a rendezvous route, and the collision will occur.

IV. TWO GENERAL RESULTS ABOUT OBSERVABILITY IN BOTMA

We give hereafter two general results, which will be necessary to prove observability when the trajectory of the target is a combination of CA and CV motions (see Proposition 11).

Proposition 5: Observability equivalence between two observers in BOTMA

Let there be two observers measuring the same bearings. If the target is observable from one, it will be observable from the other (or equivalently, if it is unobservable from one, it will be unobservable from the other).

Proof:

We recall that BOTMA has a linear version, whatever the trajectory of the ownship. Indeed, the noise-free measurement

equation                      
                    N O O T t
             or, in short,   Z X T   A , where the k-th line of    A is           k k k k k k t t t t t t     sin cos sin cos  
, and the k-th element of

Z is         k k O k k O t t y t t x   sin cos 
; see [START_REF] Dogançay | 3D Pseudolinear Target Motion Analysis from Angle Measurements[END_REF]11,16].

The observability is hence brought by the set

      N t t   , , 1 
, which means that if two observers collect the same set

      N t t   , , 1 
, if the target is observable from one, it will be observable from the second one. In this case, the state vector is computed by

      Z X T 1     A A T .
QED.

Proposition 6: Observability equivalence for time-reversed bearings

Let there be two observers #1 and #2. Observer #2 measures the same bearings as observer #1, but in the inverse temporal order,

that is         k N k t t t   1 2   , where     k i t 
is the bearing measured at time k t by observer #i. If the target detected by observer #1 is observable, then the target detected by observer #2 will be, and the converse.

Proof: Let us define the matrix

    i  A whose k-th line is                   k i k k i k k i k i t t t t t t     sin cos sin cos   . Let us prove that             2 1 Rank Rank   A A 
. We note that the k-th line of

    2  A is                                     k N k k N k k N k N k k k k k k t t t t t t t t t t t t t t t t          1 1 1 1 2 2 2 2 sin cos sin cos sin cos sin cos        
We construct a third matrix denoted A ~ by permutation of the lines of

    2  A , that is, the first line of A ~ is the N-th line of     2  A , the second line of     2  A is the (N -1)-th of     2  A ,
and so on. In other words, we flip the matrix in the up/down direction. Obviously,

        2 Rank Rank  A A 
. We note that the first two columns of A ~ are the first two columns of

    1  A .
The third (resp. fourth) column of A ~ is N t multiplied by the first (resp., second) column of N t , minus the third (resp., fourth) column of

    1  A . Hence,         1 Rank Rank  A A  . Consequently,             1 2 Rank Rank   A A 
. We readily deduce that

                    2 2 1 1 Rank Rank     A A A A T T  .
QED.

Note that these properties cannot be extended for any measurements such as frequency measurements, since they are not time-reversible.

V. OBSERVER IN CT MOTION

The CT motion was defined in Section III A. We propose the following result when the noise-free bearings are continuously available during   f T , 0 .

Proposition 7: Observability in BOTMA for CT motion

If the observer is traveling along an arc of a circle, then any target moving with a constant velocity is observable in BOTMA.

Proof: Suppose that a ghost (G) moving in CV motion is detected in the same bearings as the target for any

  f T t , 0  . The equality       t P t P t OG OT      is equivalent to       t P t k t P OT OG  for certain   0  t k               f O T O G T t t P t P t k t P t P , 0 ,                   t P t k t P t k t P O T G 1                                        t t t k V t P t k V t P T T G G cos sin 1 0 0   1   t k .
In other words, no such ghost exists: the trajectory of the target is hence observable.

QED.

Note that if the observer's trajectory contains at least one arc of a circle, then the trajectory of any target having a constant velocity is observable in BOTMA.

VI. OBSERVER IN CA MOTION

We have now the tools to give conditions observability criterion based on bearings only.

Proposition 8:

Assume that the observer is in CA motion. The target's trajectory is unobservable if and only if

  t t 1 0 tan      . If 0 1  
, the target and the observer are on a RDVR-II and the ghosts are on a RDVR-II with the observer. Their trajectories are defined by

        0 0 T G X X
, where  is a scalar and  is a vector of the null space of the matrix

                              1 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 OT x OT OT OT OT OT y y x y x y     . If 0 1  
, the trajectories of the ghosts are defined by

    Ξ   0 0 T G X X , with   T 0 0 2 1       Ξ .

Proof:

We have to identify the solutions of the equation

    OT X t X t , ,    . Since the implication           OT OT X t X t X t X t , tan , tan , ,        holds, we concentrate our effort on the equation     OT X t X t , tan , tan   
. We define the components of

X by   T y x y x  
. Two cases must be studied:

Case (1):   0 0  OT y or   0 0  OT y  .         0 0 2 0 0 2 2 2 OT OT x OT OT x y t y t x t x y t y t x t x               ,   f T t , 0   .             y t y t x t x y t y t x t x x OT OT OT OT x                             2 0 0 0 0 2 2 2 ,   f T t , 0   .
After reordering the terms of this equation, we get

                                   0 0 2 0 2 0 0 0 0 0 0 0 OT OT x OT x OT OT OT OT OT OT OT y y y x y y y x x y x y y x y x x y y x             We end up with the system ) (  B X M with                                1 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 OT x OT OT OT OT OT y y x y x y     M and                              0 0 2 0 0 0 0 0 OT OT x OT OT OT OT y y y x y x B      We note that the vector OT X
is a solution of the above equation.

The vector OT X is the unique solution of ) ( if and only if

  0 det  M
, in other words, the trajectory of the target is observable. And conversely, the trajectory of the target is not observable if and only if

  0 det  M . Consequently, the discussion is about   M det . We readily get               x OT OT OT OT OT OT y y x y y x  0 2 1 0 0 0 0 0 det 2 2       M . If   0 det  M
, we have to discriminate the subcase where

  0 0  OT y from the subcase   0 0  OT y . If   0 0  OT y , then   0 0  OT x . The case   0 0  OT x means
that the target and the observer are co-localized at the initial time. This does not respect the assumptions given in II A. This case is hence discarded.

If   0 0  OT y , then               0 0 0 0 0 0 2 2 OT OT OT OT OT OT x y x y x y y      
; that is, the observer and the target are on an RDVR-II (cf. Proposition 3). Since the acceleration x  is not equal to zero,   0 OT y  cannot be equal to zero. As the consequence, the first two columns of M are not collinear. We remark also that the fourth column of the matrix M cannot be simultaneously collinear with another one, so the rank of M is equal to 3.

The set of solutions of ) ( is the set of the vectors defined by

    OT OG X X
, where  is a scalar and

  T 0 3 2 1     
is a nonzero vector of the null space of M . We verify that   t  has a special form:

    t t 1 0 1 tan       , with     0 0 0 OT OT y x   and           0 0 0 0 0 2 1 OT OT OT OT y x y x y      . Note that         t y t y t x t x OG OG x OG OG 1 0 2 0 0 2 0 0           is equivalent to             0 0 2 0 0 1 0 2 OG OG x OG OG y t y t t x t x           .
Hence, at time

       
Then     2 , ,       OT X t X t 0    y t y  ; that is, 0   y y 
. The bearing rate is zero and the set of solutions is the line of sight of the target: any ghost traveling in this line (the X-axis)

is detected in the same (constant) bearing        2
 as the target of interest. The target's trajectory is not observable.

QED.

We end up with an observability criterion based on bearings only.

Proposition 9: Observability criterion for CA motion

Assume that the observer is in CA motion.

                      T OT OT OT O E y y x y x V    0 0 0 0 .

Proof:

We denote in this proof the initial position and the velocity of a virtual observer in CV motion by  

        T 0 0 0 O O E y x P  and   T E E E y x V    . The equality                   ET OT ET OT y t y x t x t   0 0 tan 1  implies that     t y t y x t x ET OT ET OT 1 0 0 0         . Consequently 0  ET y  , and   1 0   OT ET y x  . Since           0 0 0 0 0 2 1 OT OT OT OT OT y x y x y      (see Proposition 4), we get         0 0 0 0 OT OT OT OT ET y x y x x      . We end up with                      

QED.

Recall that this notion of virtual observer was initially introduced in [START_REF] Jauffret | Observability in Passive Target Motion Analysis[END_REF] for any ineffective maneuver: for such a maneuver, we have  

t t t 3 1 0 1 tan       
. We prove here that 0 3 



if the ineffective maneuver corresponds to an RDVR-II.

Hereafter, we propose an example of a scenario where the observer has a higher order dynamic than the target and the target's trajectory still remains unobservable. We have chosen a scenario with an RDVR-II (hence satisfying Proposition 3): 4 depicts the maneuvering observer together with the target (thick lines) and four ghosts (thin lines). Moreover, the trajectory of the virtual observer E is plotted. Four lines of sight are given. Extension: Observer in CV and then CA motion and the converse:

      ) m/
In practice, an observer decides to maneuver after a phase of CV motion. Therefore, it is worth studying observability when the trajectory of the observer is composed of a CV motion, then of a CA motion. The velocity of the observer at the very beginning of the CA motion is equal to the velocity during the first leg. Of course, observability must be studied when during the CA motion the trajectory of the target is not observable. The case where the bearings are constant during the CA motion can be straightaway discarded since during the first leg, the bearings are the same than during the CA motion (and are constant). Therefore, we will assume that O and T are on a RDVR-II during the CA motion, that is

  t t 1 0 tan     
.

Proposition 11: Observability criterion in BOTMA for CA-CV and CV-CA motions

Assume that the observer is in CV motion and then in CA motion or the converse. The target's trajectory is observable in BOTMA if the bearings are not constant during the CA motion.

Proof:

We have only to consider the case where O and T are on an

Figure 1 .

 1 Figure 1. Typical scenario of TMA and associated notations

Figure 2 .

 2 Figure 2. Typical scenario when the observer is traveling in an arc of a circle.

  two types of RDVR The RDVRs are called rendezvous routes of type I (RDVR-I), when noncollinear as well, the RDVRs are called rendezvous routes of type II (RDVR-II).Note that for the RDVR-II,  are collinear; that is,

  , an example of such a situation is given: The target starts at   T

Figure 3 .Proposition 3 :

 33 Figure 3. Example of case where the target and the observer have two RDVs.

  consequence, all the ghosts and the observer are on an RDVR-II (but at different times of rendezvous). collinear. Note that O and T are not necessarily on an RDVR-I.

Figure 4 .

 4 Figure 4. Non-observable trajectory in BOTMA, the target, some ghosts, and the bearing-equivalent-nonmaneuvering observer.

  same bearings as the observer. If the bearings are constant, the observer, the target and the virtual observer travel in the same line.If O and T are on an RDVR-II, its velocity is

	Proposition 10
	The trajectory of the target is not observable if, and only if a
	virtual observer, located at   0 O P	at time	0 t , in CV motion, 
	continuously collects the
			tan		t		0	t 1 

The target's trajectory is observable if and only if     or equivalently, if and only if O and T are not on an RDVR-II and the bearings are not constant.

  Conversely, if the trajectory of the target is not observable, then from proposition 9, the bearings are constant or the target and the observer are on a RDVR II.

		E P	0	and	E V , respectively.
	If a virtual observer, located at	O P	  0	at time	0 t , in CV 
	motion, continuously collecting the same bearings as the
	observer exists, the trajectory of the target is not observable
	from Proposition 5.
	If the bearings are constant, then     0 0 0   O O y y 	. The virtual
	observer (in CV motion) such that     0 0 O E P P 	and	E V 	O V	  0
	collects the same bearings as O.
	If the target and the observer are on a RDVR II, let us
	construct a virtual observer E in CV motion: Its initial
	position and velocity are denoted

We extended our analysis when the observer's trajectory is composed of a CA motion followed by a CV motion (and inversely): arguing fundamental properties, we proved that the target is observable in this case.

RDVR-II during the CA motion. During this phase, following Proposition 10, the observer collects the same bearings as the non-maneuvering observer E. Hence, the observer collects the bearings acquired by another observer whose trajectory is composed of two legs at CV: the first one is defined by

and the second one by E V . In short, the observer acquires the same bearings as the ones collected by a leg-by-leg maneuvering observer. Since the bearings are not constant, the target's trajectory is observable from the virtual observer E (see [START_REF] Le Cadre | Discrete-Time Observability and Estimability Analysis for Bearings-Only Target Motion Analysis[END_REF]). Proposition 5 completes the proof. QED Remark: Proposition 6 allows us to extend Proposition 11 when the observer is first in CA motion and then in CV motion.

VII. CONCLUSION In this paper, observability of a target in constant velocity motion from a smoothly maneuvering observer (constant turn motion and constant acceleration motion) has been conducted.

When the observer is in CT motion (see for example [START_REF] Bucy | Digital Synthesis of Nonlinear Filters[END_REF] and [START_REF] Farina | Target Tracking with Bearings-Only Measurements[END_REF]), observability is always guaranteed. If the displacement of the observer contains at least an arc of a circle, this conclusion remains valid.

When the observer is in CA motion, observability is guaranteed if and only if there is no 0  and 1  such that the tangent of the bearings at time t is equal to t

In any other case, that is the tangent of the bearings at time t is equal to t

for some 0  and 1  , its trajectory is not observable. This proves that even if the observer kinematic is of an order greater than the one of the target, observability is not guaranteed (see eq (41) in [START_REF] Jauffret | Observability in Passive Target Motion Analysis[END_REF]). This is not in contradiction with [START_REF] Fogel | Nth-order Dynamics Target Observability from Angle Measurements[END_REF], whose authors established a necessary (but nonsufficient) observability condition. We proved that if 1  is non null, then the observer and the target are on a rendezvous route. We characterized the set of ghost-targets, which is uncountable.


Patrice Berthod

Patrice Berthod -

Thermodynamic calculations used for characterizing the sub-surface changes induced by high temperature oxidation for carbides-reinforced alloys

published or not. The documents may come

Thermodynamic calculations used for characterizing the sub-surface changes induced by high temperature oxidation for carbides-reinforced alloys

To achieve sufficient mechanical properties for high temperature applications many refractory cast alloys are strengthened by carbides. When these ones are oxidized at high temperature their subsurface microstructures evolve. There is generally a disappearance of carbides from surface over a depth which increases with temperature and time while, in some conditions, curious phenomena occur for carbides in an area separating carbidefree zone and bulk (coarsening, stoichiometry change, precipitation of additional carbides). In addition, iron alloys may also know modification of matrix nature in the zone affected by oxidation, due to local chemical changes. The aim of this work is to list the types of subsurface modifications (concerning carbides only) induced by high temperature oxidation, and to interpret these local microstructure phenomena by using thermodynamic calculations.

Thus, in addition to the development of oxides layer over the external surface and sometimes internal oxides growth, oxidation at high temperature promotes several subsurface microstructure modifications. Among them there are sometimes curious phenomena concerning deeper carbides, obviously induced by a not outward but inward diffusion of carbon released by disappearing carbides. The growing carbidefree zone, which always acts, may be considered as not desirable for the alloy surface because of a decrease in hardness and probably in wear resistance; but it can be also considered as an especially refractory skin which can prevent emergence of molten alloy as in case of sudden significant increase of temperature in service. existence or not of an outer zone (1) in which carbides have disappeared (carbide-free zone, "cfz"), modifications of the already existing interdendritic carbides concerning their morphology / surface fraction or their apparent composition (2), existence of new carbides precipitated in matrix in a zone separating the carbidefree zone and the unmodified bulk (3) Image analysis for specifying the carbides fractions versus the depth may lead to the distributions of C content, and then of the local solidus temperature, thanks to thermodynamic calculations (ThermoCalc) again.

The cfz with very low or zero C and the intermediate zone with a higher C content than in bulk, have their own solidus temperatures: a low one for the carbideenriched zone (when it exists) and a high one for the carbidefree zone, when compared to the bulk one.

Faculté des Sciences et Technologies

Ni-30%Cr-0,2%C alloy oxidized at 1100°C for 100h

  the external surface (µm) local solidus temperature (°C) Some examples of sub-surface microstructure changes induced by oxidation at high temperature:


est destinée au dépôt

The obtained microstructures are hypo-eutectic (2.5wt.%C), eutectic (3%C) and hyper-eutectic (3.5 to 5wt.%), and carbides are essentially Cr 7 C 3 (except for 2.5wt.%: Cr 23 C 6 ). The carbides fraction increases with the carbon content and tends to decrease with temperature. Carbides can become the main phase in the carbon-richest alloys in term of volume fraction. The results of thermodynamic calculations are consistent about the microstructures. A good agreement was also found concerning the liquidus temperatures but mismatches were noticed about the solidus temperatures. The obtained hardness are generally of very high level (more than 800Hv) but it tends to decrease when the heat-treatment temperature increases, as consequence of the decrease in carbide volume fraction when the exposure temperature increases.

Faculté des Sciences et Technologies

Carbon-containing iron alloys are generally known to possibly contain large quantities of hard phases or compounds able to bring high hardness to the alloys, as cementite, pearlite or martensite. If their chemical compositions also contain chromium such alloys may reach high levels of hardness, thanks to the formation of numerous interdendritic chromium carbides, as it can be met in some iron-based bulk alloys or hardfacing coatings hardened by tungsten carbides for example. Simultaneous high levels of carbon and chromium may lead to bulk alloys, easy to elaborate by casting, and which may display first high volume fractions of carbides for an enhanced hardness and wear resistance and also a good resistance to high temperature oxidation useful in case of substantial increase in temperature during service (e.g. due to friction).

The topic of this study is to elaborate by HF induction melting several alloys with very high carbon contents (from 2.5 to 5.0wt.%C), to characterize their microstructures after stabilization at different high temperatures, to assess their fusion temperature range, and finally to compare all these experimental results to predicted results issued from thermodynamic calculations. Fe-30Cr-2.5 to 5C alloys ought contain an austenitic matrix and carbides at high temperature as predicted by preliminary thermodynamic calculations.

The elaboration of these alloys by melting of pure elements using a high frequency induction furnace allowed obtaining alloys the ascast microstructures of which contain eutectic and pro-eutectic carbides (if carbon exceeds the eutectic content).

After 50 hours spent at high temperature (followed by air cooling) the carbide fractions (resp. morphologies) are sligthly decreased (resp. changed), especially for 1200°C.

As revealed by X-Ray Diffraction, the carbides are Cr23C6 in Fe25 and mainly Cr7C3 in the C-richer alloys.

The types and carbides surface or volume fractions issued from thermodynamic calculations are consistent with XRD and image analysis results. Good agreement was found between the fusion end/ solidification start temperatures and the calculated liquidus temperatures.

In contrast the agreement is not so good concerning the solidus temperature, but its decrease when the carbon content increases was well predicted.

Thanks to the high intrinsic hardness of carbides (about 1650Hv for Cr23C6 and 1340Hv for Cr7C3), the obtained alloys logically show very high levels of hardness. It seems that, at this level of carbide fraction there is no longer an increase of the alloy's hardness with the carbon content or carbide fraction. In contrast the exposures to high temperature induce a softening, especially when it is realized at 1200°C.

  Experimental and thermodynamic study of ternary Fe-30Cr-xC carbon-rich alloys with x varying from 2.5 to 5.0 wt.% Moussa Ba, Ahmed Dia, Patrice Berthod, Lionel Aranda, Thierry Schweitzer, Pascal Villeger To cite this version: Moussa Ba, Ahmed Dia, Patrice Berthod, Lionel Aranda, Thierry Schweitzer, et al.. Experimental and thermodynamic study of ternary Fe-30Cr-xC carbon-rich alloys with x varying from 2.5 to 5.0 wt.%. Calphad XL, May 2011, Rio de Janeiro, Brazil. hal-03661630 Calphad XL -Rio de Janeiro (Brasil) -2227 May 2011 Experimental and thermodynamic study of ternary Fe-30Cr-xC carbon-rich alloys with x varying from 2.5 to 5.0 wt.% Moussa BA, Ahmed DIA, Patrice BERTHOD, Lionel ARANDA, Thierry SCHWEITZER, Pascal VILLEGER Institut Jean Lamour, Université Henri Poincaré, NancyUniversité BP 70239, Bd des Aiguillettes, 54506 Vandoeuvre-lès-Nancy, France


Valentin Besnard
email: valentin.besnard@eseo.fr

Frédéric Jouault
email: frederic.jouault@eseo.fr

Massimo Tisi
email: massimo.tisi@imt-atlantique.fr

The TTC 2018 Social Media Case, by ATL and AOF

Incremental model queries are a key solution to apply model-driven engineering to rapidly evolving models. This paper describes alternative solutions to the live competition of the Transformation Tool Contest 2018. The case study requires to query large models of social networks to derive the most influential and controversial contributions. We compare two batch solutions implemented in a general-purpose language (Xtend) and a model transformation language (ATL), to one incremental solution implemented by the Active Operations Framework.

Introduction

This paper describes the solutions to the Social Media case [START_REF] Hinkel | The TTC 2018 Social Media Case[END_REF] that were developed by the authors during the live competition of the Transformation Tool Contest 2018 (TTC2018) 1 .

The goal of the contest was to make queries on models conforming to a social network metamodel (Figure 1). On each model, the chosen solution had to compute the result of two queries: a first time on the initial model and then after each change made on the source model. The goal of the first query (Q1) is to find the three most controversial posts (i.e., most commented and liked posts), while the goal of the second query (Q2) is to search the three most influential comments (i.e., comments commented by biggest groups of friends). The interested reader should refer to the case description paper in [START_REF] Hinkel | The TTC 2018 Social Media Case[END_REF] for a detailed presentation of the case study.

Our team submitted three solutions to this live contest. The first one has been implemented in ATL [START_REF] Jouault | Transforming Models with ATL[END_REF], a declarative rule-based model transformation language. The second one is a batch solution implemented in Xtend 2 mainly used for comparison with and validation of the two other solutions. The last one takes avantage of the Active Operations Framework [START_REF] Jouault | On the Use of Active Operations for Incremental Bidirectional Evaluation of OCL[END_REF] (AOF) based on active operations [START_REF] Beaudoux | Active Operations on Collections[END_REF] for incremental computation.

During this live contest, our solutions were competing against various solutions based on other tools. An evaluation process has been used to classify all solutions according to four criteria: correctness, conciseness, understandability, and performance. As outcome of this evaluation, our team won two awards: the "Most Concise Solution Award" for the ATL solution, and the "Audience Award" for the AOF solution.

The remainder of this paper is structured as follows. The thee submitted solutions are presented in Section 2 for ATL, Section 3 for Xtend, and Section 4 for AOF. Then, all these solutions are evaluated and compared in Section 5, where we draw some conclusions.

A solution in standard ATL

Our first solution is written as a pure ATL query and executed on the most recent ATL virtual machine (EMFTVM). Queries in ATL are OCL expressions, that can call helper OCL functions and libraries. Thus, this solution includes a complete encoding of the case study as declarative and functional OCL code.

The main objective of the solution is maximizing conciseness and readability. The whole program comprises only 13 lines (Q1) + 31 lines (Q2) = 44 lines. The execution in standard ATL is not incremental, but it has good batch performance since both queries are implemented by algorithms with linear complexity.

The full code for Q1 is presented in Listing 1. The recursive allComments helper gathers the set of comments for a given post, and a score for the post is computed by the given formula (line 11) considering the number of comments and likes to the post. The main query topPosts sorts the set of posts by score (and timestamp) and picks the top three posts. The code for Q2 is shown in Listing 2. In particular, the allComponents helper implements a one-pass algorithm for the detection of all the connected components. The algorithm iterates on the likers: if the liker has not been visited then compute a new component by the allFriends function. The allFriends helper (whose implementation is not shown in the listing) is just a standard depth-first traversal, limited to the subgraph s. Finally a score is computed for each comment (line 5), and the top three comments are identified similarly to Q1 (lines 1-2). The solution being completely declarative, some degree of implicit incrementality can be added by switching to an incremental execution engine, without requiring to modify the user code. Incremental engines for ATL exist [START_REF] Jouault | Towards incremental execution of ATL transformations[END_REF][START_REF] Martínez | Reactive model transformation with ATL[END_REF] and perform an on-demand activation of transformation rules. However they do not incrementally update the computation of OCL expressions. Hence, they would not have an impact on pure queries like the one we present. In Section 5 we show the performance of this ATL code on an experimental execution mode for ATL that leverages Active Operations for incrementality (see Section 4).

A batch solution in Xtend

In parallel with the ATL solution, an implementation of both queries has been made in Xtend3 , a modern Java dialect suited for rapid prototyping thanks to its flexibility and expressiveness. Results obtained with this solution have been used to validate results of both ATL and AOF solutions.

We have written a first batch implementation of Q1 and Q2 (i.e., without incrementality) in pure Xtend, using the Eclipse Modeling Framework (EMF) plugin to perform loading and navigation into models. In a second step, we optimize this solution using Java 8 Streams to parallelize some operations on collections. The Xtend code used for the implementation of Q1 (Listing 3) shows that this mechanism is used two times: (1) to process all posts in parallel, and (2) to compute the sum of all likes received by comments of a post in the computeScore method. For better performance, we have also implemented a specific Stream operation, called Greatest3, to avoid sorting the whole list of posts while only the top 3 posts can be considered.

The code of Q2 is similar to the implementation of Q1 except for the computeScore method. Indeed, the second query requires to find connected groups of users through the friend relationship. For this purpose, the computeScore method uses a connected components algorithm based on Tarjan algorithm [START_REF] Tarjan | Depth-first search and linear graph algorithms[END_REF].

Listing 3: Q1 in Xtend with Java Streams 1 def private q u e r y Q 1 ( ) {

An incremental solution in AOF

Active operations [START_REF] Beaudoux | Active Operations on Collections[END_REF] are OCL-like operations such as collect, select, etc. equipped with incremental propagation algorithms. Each operation is able to perform an initial computation, and then to update its result when its source changes (and vice versa when possible). Furthermore, it is possible to build complex incremental expressions by composing active operations. They may thus be used to incrementally evaluate OCL expressions [BCD + 14, Section 5] such as found in ATL-like model transformations. It is therefore possible to use active operations to write incremental queries and transformations.

The AOF implementation [START_REF] Jouault | On the Use of Active Operations for Incremental Bidirectional Evaluation of OCL[END_REF] of active operations is based on observation, and notably supports EMF models. It is implemented in Java, and can be used from Java or Xtend code. Each mutable value is wrapped in an observable box, which is either a collection, or a singleton value. Each active operation observes its source box, and updates its target box upon changes by applying its propagation algorithm.

AOF provides enough basic active operations to implement the case study. However, building complex queries out of basic operations does not always guarantee scalability. We observed that creating specific operations sometimes helps [START_REF] Jouault | Efficient OCL-based Incremental Transformations[END_REF]. Listing 4 shows how AOF can be used in Xtend to implement the first query. The code corresponding to the second query in given in Listing 5. For this case study, we developed four new operations:

1. sortedBy (see line 2 in Listing 4, and line 2 in Listing 5) returns a sorted copy of its source collection using one or more criteria. This is a standard OCL operation for which AOF does not have a specific implementation yet. We implemented this operation around a balanced binary tree, which makes it possible to have a logarithmic change propagation time.

2. take (see line 3 in Listing 4, and line 3 in Listing 5) returns the n first elements of a collection.

3. allContents (see line 8 in Listing 4, and line 2 in Listing 5) retrieves all model elements contained in a given source element, filtering them by type. This is not a standard OCL operation but is rather a kind of mix between closure applied on the contents of an element, and select. This operation can be implemented relatively efficiently on observable EMF models, which already provide access to all transitively contained elements of a given element.

4. layering (see line 8 in Listing 5) implements an incremental connected component algorithm.

The first two operations (i.e., sortedBy, and take) are relatively generic, and may ultimately be integrated into AOF. allContents is not a basic operation, but should prove useful in other transformations. Finally, layering is more specific to some graph-related transformations.

Listing 4: Q1 in Xtend using AOF 1 def private q u e r y Q 1 ( ) {

Evaluation and Conclusion

Figure 2 shows performance of the AOF solution versus NMF4 . Our two best performing solutions are represented in Figure 2: the AOF solution (Section 4), and the ATL solution (Section 2) on an AOF-powered execution mode. The latter is a still-experimental recent development, which enables incremental evaluation of ATL by leveraging AOF. It basically behaves similarly to the AOF solution. However, it requires simpler ATL code than what is presented in Section 2. For instance, this incremental ATL solution reuses the AOF-compatible connected component algorithm mentioned in Section 4. The Xtend solution with Stream optimization shows suitable results for the initial computation but, as a batch solution, it lacks performance on performing changes. The ATL solution on the standard engine is relatively slow, and not incremental. AOF seems to be slightly more efficient than NMF on Figure 2 but the slight differences may be in part due to the fact that measures are performed differently for .Net-based NMF and Java-based AOF. The very last high update time measure for NMF is likely due to a too small heap size requiring too much garbage collection. In conclusion, the pure ATL solution maximizes conciseness and readability while the pure AOF solution optimizes incremental performance. The AOF-powered backend for ATL aims to jointly address the two dimensions, and the experimental results in figures are promising. We plan in future work to extend this initial prototype to a full fledged solution for efficient incremental execution of declarative query and transformation code.

Figure 1 :

 1 Figure 1: Social Network metamodel.

Listing 1 :

 1 Q1 in ATL 1 query t o p P o s t s = S N ! P o s t . a l l I n s t a n c e s ( )->s o r t e d B y ( e | e . t i m e s t a m p )->s o r t e d B y ( e | e . s c o r e )->r e v e r s e ( ) 2 ->s u b S e q u e n c e ( 1 , 3 ) ; 3 4 helper context S N ! S u b m i s s i o n def : a l l C o m m e n t s : S e q u e n c e ( S N ! C o m m e n t ) = 5 s e l f . c o m m e n t s ->u n i o n ( s e l f . c o m m e n t s ->c o l l e c t ( e | e . a l l C o m m e n t s )->f l a t t e n ( ) ) ; 6 7 helper context S N ! P o s t def : c o u n t L i k e s : I n t e g e r = 8 s e l f . a l l C o m m e n t s ->c o l l e c t ( e | e . l i k e d B y . s i z e ( ) )->s u m ( ) ; 9 10 helper context S N ! P o s t def : s c o r e : I n t e g e r = 11 10 * s e l f . a l l C o m m e n t s ->s i z e ( ) + s e l f . c o u n t L i k e s ;

Listing 2 :

 2 Q2 in ATL 1 query t o p C o m m e n t s = S N ! C o m m e n t . a l l I n s t a n c e s ( )->s o r t e d B y ( e | e . t i m e s t a m p )->s o r t e d B y ( e | e . s c o r e ) 2 ->r e v e r s e ( )->s u b S e q u e n c e ( 1 , 3 ) ; 3 4 helper context S N ! C o m m e n t def : s c o r e : I n t e g e r = 5 s e l f . a l l C o m p o n e n t s ->c o l l e c t ( c | c . s i z e ( ) * c . s i z e ( ) )->s u m ( ) ; 6 7 helper def : a l l F r i e n d s ( u : S N ! U s e r , s : S e q u e n c e ( S N ! U s e r ) ) : T u p l e T y p e ( c o m p o n e n t : S e q u e n c e ( S N ! U s e r ) , 8 r e m a i n i n g : S e q u e n c e ( S N ! U s e r ) ) = . . .

9

  10 helper context S N ! C o m m e n t def : a l l C o m p o n e n t s : S e q u e n c e ( S e q u e n c e ( S N ! U s e r ) ) = 11 s e l f . l i k e d B y ->i t e r a t e ( u ; 12 a c c : T u p l e T y p e ( c o m p o n e n t s : S e q u e n c e ( S e q u e n c e ( S N ! U s e r ) ) , v i s i t e d : S e q u e n c e ( S N ! U s e r ) ) = 13 T u p l e { c o m p o n e n t s=S e q u e n c e { } , v i s i t e d=S e q u e n c e {}} | 14 i f ( a c c . v i s i t e d ->i n c l u d e s ( u ) ) 15 then a c c 16 e l s e l e t c o m p o n e n t : T u p l e T y p e ( c o m p o n e n t : S e q u e n c e ( S N ! U s e r ) , r e m a i n i n g : S e q u e n c e ( S N ! U s e r ) ) = 17 t h i s M o d u l e . a l l F r i e n d s ( u , s e l f . l i k e d B y ->e x c l u d i n g ( a c c . v i s i t e d ) ) . c o m p o n e n t in 18 T u p l e { c o m p o n e n t s = a c c . c o m p o n e n t s . a p p e n d ( c o m p o n e n t ) , v i s i t e d = 19 a c c . v i s i t e d ->u n i o n ( c o m p o n e n t ) } 20 e n d i f ) . c o m p o n e n t s ;

2

  return s o c i a l N e t w o r k . p o s t s . p a r a l l e l S t r e a m . c o l l e c t ( C o l l e c t o r . o f ( [ 3 new G r e a t e s t 3 ( 4 C o m p a r a t o r . c o m p a r i n g I n t [ 5 i f ( i t === n u l l ) { I n t e g e r . M I N _ V A L U E } e l s e { c o m p u t e S c o r e } 6 ] . t h e n C o m p a r i n g ( C o m p a r a t o r . c o m p a r i n g [ t i m e s t a m p ] ) 7 ) 8 ] , [ $ 0 . a d d ( $ 1 ) ] , [ $ 0 . m e r g e ( $ 1 ) ] , [ a s L i s t ] ) ) . m a p [ i d ] . j o i n ( " | " ) 9 } 10 def private c o m p u t e S c o r e ( P o s t p ) { 11 val c o m m e n t s = p . e A l l C o n t e n t s . f i l t e r ( C o m m e n t ) . t o L i s t 12 return c o m m e n t s . s i z e * C O M M E N T _ S C O R E + c o m m e n t s . p a r a l l e l S t r e a m . m a p T o I n t [ l i k e d B y . s i z e ] . s u m * L I K E _ S C O R E 13 }

2

  return s o c i a l N e t w o r k . _ p o s t s . s o r t e d B y ( [ c o m p u t e S c o r e ] , [ _ t i m e s t a m p . a s O n e ( n u l l ) ] ) 3 . t a k e ( 3 ) . c o l l e c t [ i d ] 4 } 5 val s c r o r e B y P o s t = new H a s h M a p <P o s t , I O n e <I n t e g e r >> 6 def private c o m p u t e S c o r e ( P o s t p ) { 7 return s c o r e B y P o s t . g e t ( p ) ? : { 8 val c o m m e n t s = p . _ a l l C o n t e n t s ( C o m m e n t ) 9 val s c o r e = c o m m e n t s . s i z e * C O M M E N T _ S C O R E + c o m m e n t s . l i k e d B y . s i z e . s u m * L I K E _ S C O R E 10 val r = s c o r e . a s O n e ( 0 ) 11 s c o r e B y P o s t . p u t ( p , r ) Q2 in Xtend using AOF 1 def private q u e r y Q 2 ( ) { 2 return s o c i a l N e t w o r k . _ a l l C o n t e n t s ( C o m m e n t ) . s o r t e d B y ( [ c o m p u t e S c o r e ] , [ _ t i m e s t a m p . a s O n e ( n u l l ) ] ) 3 . t a k e ( 3 ) . c o l l e c t [ i d ] 4 } 5 val s c r o r e B y C o m m e n t = new H a s h M a p <C o m m e n t , I O n e <I n t e g e r >> 6 def c o m p u t e S c o r e ( C o m m e n t c ) { 7 return s c o r e B y C o m m e n t . g e t ( c ) ? : { 8 val s = c . _ l i k e d B y . l a y e r i n g [ u | 9 u . _ f r i e n d s . s e l e c t M u t a b l e [ f | f . _ l i k e s . s e l e c t [ i t == c ] . n o t E m p t y ] 10 ] . c o l l e c t M u t a b l e [ i t ? . s i z e ? . s q u a r e ? : e m p t y O n e ] . s u m 11 s c o r e B y C o m m e n t . p u t ( c , s )

Figure 2 :

 2 Figure 2: Initial computation of Q1 query: NMF vs. AOF vs. AOF-powered Incremental-ATL

https://www.eclipse.org/xtend/

Some scalability issues of our AOF solution have been solved since the submission to the live competition.