Keywords: Background Modeling, Gaussian Mixture Models, Foreground Detection

Gaussian Mixture Models (GMMs) are the most popular techniques in background modeling but present some limitations when some dynamic changes occur like camera jitter, illumination changes, movement in the background. Furthermore, the GMM are initialized using a training sequence which may be noisy and/or insufficient to model correctly the background. All these critical situations generate false classification in the foreground detection mask due to the related uncertainty. In this context, we propose to model the background by using a Type-2 Fuzzy Gaussian Mixture Models. The interest is to introduce descriptions of uncertain parameters in the GMM. Experimental validation of the proposed method is performed and presented on a diverse set of RGB and infrared videos. Results show the relevance of the proposed approach.

I. INTRODUCTION

ANY video surveillance systems in visible spectrum [START_REF] Cheung | Robust Background Subtraction With Foreground Validation for Urban Traffic Video[END_REF], [START_REF] Carranza | Free-Viewpoint Video of Human Actors[END_REF], [START_REF] Horprasert | Real-time 3D Motion Capture[END_REF] or infrared (IR) [START_REF] Davis | Background-Subtraction in Thermal Imagery Using Contour Saliency[END_REF], [START_REF] Latecki | Tracking Motion Objects in Infrared Videos[END_REF], [START_REF] Bhanu | Computer Vision beyond the visible spectrum[END_REF] need in the first step to detect moving objects in the scene. The basic operation used is the separation of the moving objects called foreground from the static information called the background. The process is called the background subtraction. In the literature, many background modeling methods have been developed and the most recent surveys can be found in [START_REF] Piccardi | Background subtraction techniques: a review[END_REF], [START_REF] Elhabian | Moving Object Detection in Spatial Domain using Background Removal Techniques -State-of-Art[END_REF]. These background modeling methods can be classified in the following categories: Basic Background Modeling [START_REF] Lee | Background Estimation for Video Surveillance[END_REF], [START_REF] Mcfarlane | Segmentation and tracking of piglets in images[END_REF], [START_REF] Zheng | Extracting Roadway Background Image: A mode based approach[END_REF], Statistical Background Modeling [START_REF] Wren | Pfinder : Real-Time Tracking of the Human Body[END_REF], [START_REF] Stauffer | Adaptive background mixture models for real-time tracking[END_REF], [START_REF] Elgammal | Non-parametric Model for Background Subtraction[END_REF] and Background Estimation [START_REF] Toyama | Wallflower: Principles and Practice of Background Maintenance[END_REF], [START_REF] Messelodi | A Kalman filter based background updating algorithm robust to sharp illumination changes[END_REF], [START_REF] Chang | Vision modules for a multi sensory bridge monitoring approach[END_REF]. Reading the literature, two remarks can be made: The most used models are the statistical ones due to their robustness to the critical situations. The first way to represent statistically the background is to assume that the history over time of intensity values of a pixel can be modeled by a single Gaussian (SG) [START_REF] Wren | Pfinder : Real-Time Tracking of the Human Body[END_REF]. However, a unimodal model cannot handle dynamic backgrounds when there are waving trees, water rippling or moving algae. To solve this problem, the Mixture of Gaussians (MOG) (or Manuscript received September 9, 2009 T. Bouwmans is a member of the laboratory MIA at the University of La Rochelle, France (phone: [START_REF] Tang | Salient Moving Object Detection Using Stochastic Approach Filtering[END_REF].05. 46.45.72.02; fax: [START_REF] Tang | Salient Moving Object Detection Using Stochastic Approach Filtering[END_REF] 05. 46.45.82.40; email: tbouwman@univ-lr.fr).

F. El Baf is a member of the laboratory MIA at the University of La Rochelle, France. (e-mail: felbaf@univ-lr.fr).

Gaussian Mixture Model (GMM)) has been used to model dynamic backgrounds [START_REF] Stauffer | Adaptive background mixture models for real-time tracking[END_REF]. This model has some disadvantages. Background having fast variations cannot be accurately modeled with just a few Gaussians (usually 3 to 5), causing problems for sensitive detection. So, a non-parametric technique [START_REF] Elgammal | Non-parametric Model for Background Subtraction[END_REF] was developed for estimating background probabilities at each pixel from many recent samples over time using Kernel density estimation (KDE) but it is time consuming. In [START_REF] Oliver | A Bayesian Computer Vision System for Modeling Human Interactions[END_REF], Subspace Learning using Principal Component Analysis (SL-PCA) is applied on N images to construct a background model, which is represented by the mean image and the projection matrix comprising the first p significant eigenvectors of PCA. In this way, foreground segmentation is accomplished by computing the difference between the input image and its reconstruction. These four models define the first category using basic statistical model. The second category uses more sophisticated statistical models as Support Vector Machines (SVM) [START_REF] Lin | A probabilistic SVM approach for background scene initialization[END_REF], Support Vector Regression (SVR) [START_REF] Wang | Robust Video-Based Surveillance by Integrating Target Detection with Tracking[END_REF] and Support Vector Data Description (SVDD) [START_REF] Tavakkoli | A Novelty Detection Approach for Foreground Region Detection in Videos with Quasi-stationary Backgrounds[END_REF]. The third category generalizes the models of the first category as the single general Gaussian (SGG) [START_REF] Kim | Robust Silhouette Extraction Technique Using Background Subtraction[END_REF], the mixture of general Gaussians (MOGG) [START_REF] Allili | A Robust Video Foreground Segmentation by Using Generalized Gaussian Mixture Modeling[END_REF] and subspace learning using Independent Component Analysis (SL-ICA) [START_REF] Yamazaki | Detection of Moving Objects by Independent Component Analysis[END_REF], [START_REF] Tsai | Independent Component Analysis-Based Background Subtraction for Indoor Surveillance[END_REF] or using Incremental Non-negative Matrix Factorization (SL-INMF) [START_REF] Bucak | Incremental Non-negative Matrix Factorization for Dynamic background Modelling[END_REF], [START_REF] Bucak | Incremental Subspace Learning and Generating Sparse Representations via Non-negative Matrix Factorization[END_REF] or using Incremental Rank-(R1,R2,R3) Tensor (SL-IRT) [START_REF] Li | Robust Foreground Segmentation Based on Two Effective Background Models[END_REF]. The Table I shows an overview of the statistical background modeling. The first column indicates the categories and the second column the name of each method. Their corresponding acronym is indicated in the first parenthesis and the number of papers counted for each method in the second parenthesis. The third column gives the name of authors and the dates of the first related publication. We can see that the MOG (or GMM) with 100 papers is the most used and improved due to a good compromise between robustness and time/memory requirements. In the GMM initialization, an expectationmaximization (EM) algorithm is used and allows to estimate GMM parameters from a training sequence according to the maximum likelihood (ML) criterion. The GMM is completely certain once its parameters are specified. However, because of insufficient or noisy data in training sequence, the GMM may not accurately reflect the underlying distribution of the observations according to the ML estimation. It is problematical to use likelihoods that are themselves precise real numbers to evaluate GMM with uncertain parameters.

Modeling of Dynamic Backgrounds by Type-2

Fuzzy Gaussian Mixture Models T. Bouwmans, F. El Baf

M

To solve this problem, we propose to model the background by using a Type-2 Fuzzy Gaussians Mixture Model (T2-FGMM) recently developed by Zeng et al. [START_REF] Zeng | Type-2 Fuzzy Gaussian Mixture[END_REF] to introduce descriptions of uncertain parameters in the GMM. The rest of this paper is organized as follows: In the section II, we present briefly related works on GMM's improvements. In the section III, the T2-FGMM is used for background modeling. In the section IV, qualitative and quantitative experiments on RGB videos and infrared videos show that T2-FGMM outperforms the crisp GMM when dynamic changes occur. Finally, we present conclusions and perspectives in Section V.

II. RELATED WORKS

The original GMM for background modeling was proposed by Stauffer and Grimson [START_REF] Stauffer | Adaptive background mixture models for real-time tracking[END_REF] and present several advantages. Indeed, it can work without having to store an important set of input data in the running process. The multimodality of the model allows to tackle multimodal backgrounds and gradual illumination changes. Despite it, this model present some disadvantages: the number of Gaussians must be predetermined, the need for good initializations, the dependence of the results on the true distribution law which can be non-Gaussian and slow recovery from failures. Others limitations are the needs for a series of training frames absent of moving objects and the amount of memory required in this step. To alleviate these limitations, numerous improvements have been proposed over the recent years as shown by the different acronyms found like AKGMM [START_REF] Han | Update the GMMs via adaptive Kalman filtering[END_REF], TLGMM [START_REF] Yang | Accurate dynamic scene model for moving object detection[END_REF], STGMM [START_REF] Zhang | Spatiotemporal Gaussian mixture model to detect moving objects in dynamic scenes[END_REF], SKMGM [START_REF] Tang | Salient Moving Object Detection Using Stochastic Approach Filtering[END_REF], TAPPMOG [START_REF] Harville | A framework for high-level feedback to adaptive, per-pixel, mixture-of-Gaussian background models[END_REF] and S-TAPPMOG [START_REF] Cristani | A spatial sampling mechanism for effective background subtraction[END_REF]. All the developed improvements can be classified following the strategies used to be more robust to the critical situations met in video sequences [START_REF] Toyama | Wallflower: Principles and Practice of Background Maintenance[END_REF]. The first strategies called intrinsic strategies consist to be more rigorous in the statistical sense or to introduce spatial and/or temporal constraint in the different step of the model. For example, some authors propose to determine automatically and dynamically the number of Gaussians to be more robust to dynamic backgrounds [START_REF] Zivkovic | Improved adaptive Gaussian mixture model for background subtraction[END_REF], [START_REF] Cheng | Flexible background mixture models for foreground segmentation[END_REF], [START_REF] Tan | Traffic Video Segmentation using Adaptive-K Gaussian Mixture Model[END_REF], [START_REF] Carminati | Gaussian Mixture Classification for Moving Object Detection in Video Surveillance Environment[END_REF], [START_REF] Cuevas | A new strategy based on adaptive mixture of Gaussians for real-time moving objects segmentation[END_REF], [START_REF] Wang | Video segmentation algorithm with Gaussian Mixture Model and shadow removal[END_REF]. Other approaches use another algorithm for the initialization [START_REF] Morellas | DETER: detection of events for threat evaluation and recognition[END_REF], [START_REF] Lee | Online Adaptive Gaussian Mixture Learning for Video Applications[END_REF] and allow presence of foreground objects in the training sequence [START_REF] Zhang | An Adaptive Mixture Gaussian Background Model with Online Background Reconstruction and Adjustable Foreground Mergence Time for Motion Segmentation[END_REF]. For the maintenance, the learning rates are better set [START_REF] Zang | Evaluation of an Adaptive Composite Gaussian Model in Video Surveillance[END_REF], [START_REF] White | Automatically Tuning Background Subtraction Parameters Using Particle Swarm Optimization[END_REF] or adapt over time [START_REF] Kaewtrakulpong | A Real-Time Adaptive Visual Surveillance System for Tracking Low Resolution Color Targets In Dynamically Changing Scenes[END_REF], [START_REF] Lee | Improved Adaptive Mixture Learning for Robust Video Background Modeling[END_REF]. For the foreground detection, some authors use a different measure for the matching test [START_REF] Morellas | DETER: detection of events for threat evaluation and recognition[END_REF] or use a foreground model [START_REF] Withagen | EMswitch: a multihypothesis approach to EM background modeling[END_REF]. Another way to improve the efficiency and robustness of the original GMM consist in using extrinsic strategies. Some authors used Markov Random Fields [START_REF] Kumar | Foreground background segmentation using temporal and spatial markov processes[END_REF], hierarchical approaches [START_REF] Sun | Hierarchical GMM to handle sharp changes in moving object detection[END_REF], multi-level approaches [START_REF] Cristani | Integrated Region-and Pixel-based Approach to Background Modeling[END_REF], multiple backgrounds [START_REF] Hu | Robust Background Subtraction with Shadow and Highlight Removal for Indoor Surveillance[END_REF], graph cuts [START_REF] Sun | Better Foreground Segmentation for Static Cameras via New Energy Form and Dynamic Graph-cut[END_REF], multilayer approaches [START_REF] Porikli | Bayesian Background Modeling for Foreground Detection[END_REF] or specific postprocessing [START_REF] Parks | Evaluation of Background Subtraction Algorithms with Post-processing[END_REF]. A recent complete survey of these improvements can be found in [START_REF] Bouwmans | Background Modeling using Mixture of Gaussians for Foreground Detection -A survey[END_REF]. However, none of these improvements consider the uncertainty related to insufficient or noisy data in training sequence. Nevertheless, due to this uncertainty, the GMM may not accurately reflect the underlying distribution of the observations according to the ML estimation. One way to take into account this uncertainty is to use fuzzy concepts with the GMM. A first approach developed by [START_REF] Tran | Fuzzy Gaussian mixture models for speaker recognition[END_REF] consists in the fuzzy GMM (FGMM) that estimates its parameters based on the modified fuzzy cmeans algorithm. So, the FGMM focuses on the precise parameter estimation of GMMs using fuzzy approaches rather than modeling GMMs uncertain parameters. On the other hand, Type-2 fuzzy sets (T2-FSs) [START_REF] Mendel | Type-2 fuzzy sets: Some questions and answers[END_REF] provide a theoretically wellfounded framework to handle GMMs uncertain parameters. Their recent success achieved in pattern recognition has been largely attributed to their three-dimensional membership functions (MFs) for modeling uncertainties. Recently, Zeng et al. [START_REF] Zeng | Type-2 Fuzzy Gaussian Mixture[END_REF] introduce the Type-2 fuzzy sets in the GMM and called it Type-2 Fuzzy Gaussian Mixture Model (T2-FGMM). Experimental validations made in [START_REF] Zeng | Type-2 Fuzzy Gaussian Mixture[END_REF] show the superiority of T2-FGMM in pattern classification. In this context, we propose to apply the T2-FGMM for background modeling to take into account the uncertainty.

III. BACKGROUND MODELING USING TYPE-2 FGMM

In this section, we apply the Type-2 FGMM to background modeling and explain it in the case of RGB videos but it can be apply to infrared videos too by reducing the dimension of the observation to one dimension.

A. Principle

Each pixel is characterized by its intensity in the RGB color space. So, the observation o is a vector t X in the RGB space and 3 = d

. Then, the GMM is composed of K mixture components of multivariate Gaussian as follows:

( ) ( )

∑ = ∑ = K i t i t i t t i t X X P 1 , , , , , . µ η ω (1)
where the parameters are K is the number of distributions,

t i,
ω is a weight associated to the i th Gaussian at time t with mean t i, µ and standard deviation t i, ∑ . η is a Gaussian probability density function:

) ( ) ( 2 1 2 / 1 2 / 3 1 ) 2 ( 1 ) , , ( µ µ π µ η - Σ - - - Σ = Σ t t X X t e X (2)
For the T2-FGMM-UM, the multivariate Gaussian with uncertain mean vector is:

) 2 1 exp( ) 2 ( 1 ) , , ( 2 , 2 / 1 2 / 3 ∏         - - Σ = Σ c c c t t X X σ µ π µ η (3) with ] , [ ~c c c µ µ µ ∈ and { } B G R c , , ∈ .
For the T2-FGMM-UV, the multivariate Gaussian with uncertain variance vector is:

) 2 1 exp( ) 2 ( 1 ) , , ( 2 , 2 / 1 2 / 3 ∏         - - Σ = Σ c c c t t X X σ µ π µ η (4) with ] , [ ~c c c σ σ σ ∈ and { } B G R c , , ∈ .
µ ~ and ∑ ~ denote uncertain mean vector and covariance matrix respectively. Because, there is no prior knowledge about the parameter uncertainty, practically Zeng et al. [START_REF] Zeng | Type-2 Fuzzy Gaussian Mixture[END_REF] assume that the mean and standard deviation vary within intervals with uniform possibilities, i.e., ] , [

~µ µ µ ∈ or ] , [ ~σ σ σ ∈
. Each exponential component in ( 3) and ( 4) is the Gaussian primary membership function (MF) with uncertain mean or standard deviation as shown in Fig. 1. The shaded region is the footprint of uncertainty (FOU). The thick solid and dashed lines denote the lower and upper MFs. In the Gaussian primary MF with uncertain mean, the upper MF is:

) ; ; ( ) ( σ µ o f o h = if µ < o 1 ) ( = o h if µ µ ≤ ≤ o (5) ) ; ; ( ) ( σ µ o f o h = if µ > o where 2 2 1 exp ) , , (         - - = σ µ σ µ o o f and 2 2 1 exp ) , , (         - - = σ µ σ µ o o f
The lower MF is:

) ; ; ( ) ( σ µ o f o h = if 2 µ µ + ≤ o (6) ) ; ; ( ) ( σ µ o f o h = if 2 µ µ + > o
In the Gaussian primary MF with uncertain standard deviation, the upper MF is )

; ; ( ) ( σ µ o f o h = and lower MF is ) ; ; ( ) ( σ µ o f o h = .
The factor m k and v k control the intervals in which the parameter vary as follows:

σ µ µ m k - = , σ µ µ m k + = (7) σ σ v k = , σ σ ) / 1 ( v k = (8)
Because a one-dimensional gaussian has 99.7% of its probability mass in the range of ] 3 , 3 [

σ µ σ µ + - , Zeng et al [29] constrain ] 3 , 0 [ ∈ m k and ] 1 , 3 . 0 [ ∈ v k
. These factors also control the area of the FOU. The bigger m k or v k , the larger the FOU which implies the greater uncertainty.

Both the T2-FGMM-UM and T2-FGMM-UV can be used to model the background and we can expect that the T2-FGMM-UM will be more robust than the T2-FGMM-UV. Indeed, in the GMM maintenance, only the means are estimated and tracked correctly. The variance and the weights are unstable and unreliable as explained by Greiffenhagen et al. [START_REF] Greiffenhagen | The Systematic Design and Analysis Cycle of a Vision System: A Case Study in Video Surveillance[END_REF].

B. Training

Training the T2-FGMM consist to estimate the parameters µ , ∑ and the factor m k or v k . Zeng et al. [START_REF] Zeng | Type-2 Fuzzy Gaussian Mixture[END_REF] set the factors m k or v k as constants according to prior knowledge and then in our application are fixed depending to the video. Thus, parameters estimation of T2 FGMM includes three steps:

-Step 1: Choose K between 3 and 5.

-Step 2: Estimate GMM parameters by an EM algorithm -Step 3: Add the factor m k or v k to GMM to produce T2-FGMM-UM or T2-FGMM-UV.

Once the training is made, a first foreground detection can be processed.

C. Foreground Detection

Foreground detection consist to classify current pixel as background or foreground. By using the ratio

j j j r σ ω = , we
firstly ordered the K Gaussians as in [START_REF] Stauffer | Adaptive background mixture models for real-time tracking[END_REF]. This ordering supposes that a background pixel corresponds to a high weight with a weak variance due to the fact that the background is more present than moving objects and that its value is practically constant. The first B Gaussian distributions which exceed certain threshold T are retained for a background distribution:

      > = ∑ = T B b i t i b 1 , min arg ω (9)
The other distributions are considered to represent a foreground distribution. When the new frame incomes at times t+1, a match test is made for each pixel. For this, we use the log-likelihood, and thus we are only concerned with the length between two bounds of the log-likelihood interval, i.e.,

)

) ( ln( )) ( ln( ) ( t t t X h X h X H - =
. In Fig 1 . (a), the Gaussian primary MF with uncertain mean has:

σ µ / 2 ) ( - = t m t X k X H if σ µ m t k X - ≤ or σ µ m t k X + ≥ (10) 2 / / 2 / ) ( 2 2 2 m t m t t k X k X X H + - + - = σ µ σ µ if σ µ σ µ m t m k X k + < < - In Fig 1.(b)
, the Gaussian primary MF with uncertain standard deviation has µ and σ are the mean end the std of the original certain T1 MF without uncertainty. Both ( 10) and ( 11

2 2 2 2 2 / ) / 1 ( ) ( σ µ - - = t v v t X k k X H (11)
σ k X H t < ) ( ( 12
)
where k is a constant threshold equal to 2.5. Then, two cases can occurs: (1) A match is found with one of the K Gaussians. In this case, if the Gaussian distribution is identified as a background one, the pixel is classified as background else the pixel is classified as foreground. (2) No match is found with any of the K Gaussians. In this case, the pixel is classified as foreground. At this step, a binary mask is obtained. Then, to make the next foreground detection, the parameters must be updated.

D. Maintenance

The T2-FGMM Maintenance is made as in the original GMM [START_REF] Stauffer | Adaptive background mixture models for real-time tracking[END_REF] as follows:

-Case 1: A match is found with one of the K Gaussians.

For the matched component, the update is done as follows:

( )

α ω α ω + - = + t i t i , 1 , 1 ( 13
)
where α is a constant learning rate.

+ + + - = t t i t i X ρ µ ρ µ ( 14
)
T t i t t i t t i t i X X ) ).( ( ) 1 ( 1 , 1 1 , 1 2 , 2 1 , + + + + + - - + - = µ µ ρ σ ρ σ (15)
where ( )

i i t X ∑ = + , , . 1 µ η α ρ (16)
For the unmatched components, µ and ∑ are unchanged, only the weight is replaced by

t j t j , 1 , ) 1 ( ω α ω - = + (17).
-Case 2: No match is found with any of the K Gaussians. In this case, the least probable distribution k is replaced with a new one with parameters:

ht Prior Weig Low 1 = + k,t ω ( 18
) 1 1 , + + = t t k X µ (19) Variance Initial Large 2 1 = + k,t σ (20)
Once a background maintenance is made, another foreground detection can be processed.

IV. RESULTS AND DISCUSSION

We have applied the T2-FGMM-UM and T2-FGMM-UV algorithms in different dynamic backgrounds in the visible and beyond the visible spectrum. In these scenes, the four main types of dynamic backgrounds appear: camera jitter, waving trees, water rippling and water surface. On a 3 GHz Intel Pentium Duo processor with 2 GB RAM, an optimized implementation of the proposed approach can process about 11 fps for a frame size of 240*360. All the algorithms were implemented under Microsoft Visual C++ using the OpenCV library. Firstly, qualitative comparative results with the original mixture of Gaussians method [START_REF] Stauffer | Adaptive background mixture models for real-time tracking[END_REF] are shown then a quantitative evaluation is presented. For the proposed algorithms, the best results are obtained by setting 2 =

A. Qualitative Analysis

Qualitative results on six sequences of dynamic scenes are presented in this section. Four sequences concern outdoor scenes in RGB videos [62] [64] and two sequences in infrared videos [START_REF] Miezianko | IEEE OTCBVS WS series bench[END_REF].

Frame 271

Frame 373 Frame 410 Frame 465 Fig. 2. Camera jitter: The first row are the original images, the second row are the results obtained by using the GMM [START_REF] Stauffer | Adaptive background mixture models for real-time tracking[END_REF], the third row are the result obtained using the T2-FGMM-UM and the fourth row are the result obtained by using the T2-FGMM-UV.

Frame 100 Frame 210 Frame 325 Frame 500

Fig. 3. The first row shows the original frames for Campus sequences. The second row presents the segmented images obtained by the GMM [START_REF] Stauffer | Adaptive background mixture models for real-time tracking[END_REF]. The third and the fourth rows illustrate the result obtained using the T2-FGMM-UM and the T2-FGMM-UV respectively.

Frame 110 Frame 413 Frame 120 Frame 590

Fig. 4. The first row shows the original frames for Fountain and Water Surface sequences. The second row presents the segmented images obtained by the GMM [START_REF] Stauffer | Adaptive background mixture models for real-time tracking[END_REF]. The third and the fourth rows illustrate the result obtained using the T2-FGMM-UM and the T2-FGMM-UV respectively.

1) RGB Videos

We have tested our method on the sequence Camera Jitter which comes from [START_REF] Sheikh | Bayesian Modeling of Dynamic Scenes for Object Detection[END_REF] downloadable at [62]. We have also tested our method on the sequences Campus, Fountain and Water Surface which come from [START_REF] Li | Statistical Modeling of Complex Background for Foreground Object Detection[END_REF] downloadable at [64]. Fig. 2 shows the robustness of T2-FGMM-UM against camera jitter and respectively Fig. 3 for the waving trees (Campus sequence) and Fig. 4 for the water rippling (Fountain sequence) and water surface (Water Surface sequence). In each case, the T2-FGMM-UM gives the best result followed by the T2-FGMM-UV and the GMM. These different experiments confirm that to take into account the uncertainty using T2-FGMM performs the GMM. Furthermore, the T2-FGMM-UM is more robust than the T2F-GMM-UV like supposed in Section III.

2) Infrared Videos

We have tested the proposed algorithm on the Terravic datasets [START_REF] Miezianko | IEEE OTCBVS WS series bench[END_REF]. We have choosen the two sequences called Uneventful Background Motion because they present dynamic backgrounds as waving vegetations. In this sequence, nothing must be detected. The Fig. 5 shows the result obtained using the GMM, the T2-FGMM-UM and the T2-FGMM-UV on the frame 150 of the sequence IRTR01. The Fig. 6 shows the same experiments on the frame 150 of the sequence IRTR02. The motion causes substantial false positive detection in the GMM. The more robust is the T2-FGMM-UM followed by the T2-FGMM-UV. These results confirm the robustness of the proposed method in the presence of dynamic backgrounds in infrared videos.

B. Quantitative Analysis 1) RGB Videos

In order to provide a quantitative perspective about the quality of foreground detection with our approach, we have used a test sequence and the corresponding ground-truth segmentation from [START_REF] Sheikh | Bayesian Modeling of Dynamic Scenes for Object Detection[END_REF]. This outdoor sequence involved a camera mounted on a tall tripod and was available. The wind caused the tripod to sway back and forth causing nominal motion in the scene. To be more complete, we have compared our method to the GMM, and two improved versions: The first one was developed by Bowden et al. [START_REF] Kaewtrakulpong | A Real-Time Adaptive Visual Surveillance System for Tracking Low Resolution Color Targets In Dynamically Changing Scenes[END_REF] and performed the initialization and maintenance of the GMM's parameters. The second one was proposed by Zivkovic et al. [START_REF] Zivkovic | Improved adaptive Gaussian mixture model for background subtraction[END_REF] and allowed to adapt the number of Gaussian K overtime. In Fig. 7, the first row shows different current image and the second row shows the corresponding ground truth. The third row shows the results obtained by the Bowden's GMM. The fourth and the fifth rows show respectively the results obtained by the corresponding T2-FGMM-UM and T2-FGMM-UV versions. The sixth row shows the results obtained by the Zivkovic's GMM. The seventh and eigth rows show respectively the results obtained by the corresponding T2-FGMM-UM and T2-FGMM-UV versions. Table II, Table III and Table IV show the performance in term on False Positive (FP), False Negative (FN) and Total Error (TE) and Fig. 8 show graphically these results. In each case, the T2-FGMM-UM and T2-FGMM-UV give less error than the corresponding original crisp version and the T2FGMM-UM appears the best algorithm for object/target detection.

2) Infrared Videos

For the evaluation beyond the visible spectrum, we have used the Dataset 01: OSU Thermal Pedestrian Database which comes from the OTCBVS 2009 dataset [66]. The Fig. 9 shows the results obtained on the Sequence 1 using the GMM [START_REF] Kaewtrakulpong | A Real-Time Adaptive Visual Surveillance System for Tracking Low Resolution Color Targets In Dynamically Changing Scenes[END_REF], the T2-FGMM-UM and the T2-FGMM-UV on the frame 27. Silhouettes are well detected by the three algorithms but the T2-FGMM-UM gives less false detection followed by the T2-FGMM-UV and the crisp GMM. Then, to evaluate quantitatively our method, we have used the similarity measure derived by Li et al. [START_REF] Li | Statistical Modeling of Complex Background for Foreground Object Detection[END_REF]. Let A be a detected region and B be the corresponding ground truth, the similarity between A and B can be defined as:

B A B A B A S ∪ ∩ = ) , ( (21)
If A and B are the same, S (A,B) approaches 1, otherwise 0 i.e. A and B have the least similarity. The ground truth is marked manually. Table V shows similarity value obtained for this experiment. It confirms the qualitative evaluation.

Frame 271

Frame 373 Frame 410 Frame 465 Fig. 7. Camera jitter. The first row shows the original images and the second row the corresponding ground truth. In the third, the fourth and the fifth rows respectively, the segmented images by the Bowden's GMM [START_REF] Kaewtrakulpong | A Real-Time Adaptive Visual Surveillance System for Tracking Low Resolution Color Targets In Dynamically Changing Scenes[END_REF], the T2-FGMM-UM and T2-FGMM-UV versions are shown. The sixth, the seventh and the eigth rows present respectively the segmented images by the Zivkovic's GMM [START_REF] Zivkovic | Improved adaptive Gaussian mixture model for background subtraction[END_REF], the T2 FGMM-UM and T2 FGMM-UV versions. The upper right image shows the performance of the Bowden's GMM [START_REF] Kaewtrakulpong | A Real-Time Adaptive Visual Surveillance System for Tracking Low Resolution Color Targets In Dynamically Changing Scenes[END_REF], the T2-FGMM-UM and T2-FGMM-UV versions. The lower image the shows the performance of Zivkovic's GMM [START_REF] Zivkovic | Improved adaptive Gaussian mixture model for background subtraction[END_REF], the T2 FGMM-UM and T2 FGMM-UV versions. V. CONCLUSION

In this work, we have modeled the background by using a Type-2 Fuzzy Gaussian Mixture Models. Experimental validations on RGB and infrared videos show very satisfactory performance and more robustness than the crisp GMM in difficult environments. The proposed approach also addresses most of the four main dynamic backgrounds: Camera jitter, waving trees, water rippling and water surface. The T2-FGMM-UM is more robust than the T2-FGMM-UV due to a better estimation of the mean than the variance.

This work confirms the pertinence of the fuzzy concepts in the field of background subtraction. Future works concern applications of fuzzy concepts in other steps of background subtraction like in the background initialization, the background maintenance and the foreground detection.

Fig. 1 .

 1 Fig. 1. The upper image shows the Gaussian primary MF with uncertain mean and the lower image shows the Gaussian primary MF with uncertain std. Both of them have uniform possibilities. The hatched region is the FOU. The thick solid and dashed lines denote the upper and the lower MFs respectively.

Fig. 5 .

 5 Fig. 5. Sequence IRTR01 -First row: The current image, Result with the GMM [47 Second Row: Result with T2-FGMM-UM, Result with T2-FGMM-UV

Fig. 8 .

 8 Fig.8. Performance analysis The upper left image shows the performance of the GMM[START_REF] Stauffer | Adaptive background mixture models for real-time tracking[END_REF] and their corresponding T2-FGMM-UM and T2-FGMM-UV versions. The upper right image shows the performance of the Bowden's GMM[START_REF] Kaewtrakulpong | A Real-Time Adaptive Visual Surveillance System for Tracking Low Resolution Color Targets In Dynamically Changing Scenes[END_REF], the T2-FGMM-UM and T2-FGMM-UV versions. The lower image the shows the performance of Zivkovic's GMM[START_REF] Zivkovic | Improved adaptive Gaussian mixture model for background subtraction[END_REF], the T2 FGMM-UM and T2 FGMM-UV versions.

Fig. 9 .

 9 Fig. 9. Sequence OSU -First row: The current image, the ground truth. Second row: Results with T2-FGMM-UM and the T2-FGMM-UV respectively. Third row: Result with the GMM [47].

TABLE II PERFORMANCE

 II ANALYSIS WITH GMM FROM STAUFFER AND GRIMSON[START_REF] Stauffer | Adaptive background mixture models for real-time tracking[END_REF]

	Method	Error Type	271 Fr.	373 Fr.	410 Fr	465 Fr	Total Error
	GMM Stauffer [13]	FN FP	0 2093	1120 4124	4818 2782	2050 1589	18576
	T2-GMM-UM	FN FP	0 203	1414 153	6043 252	2520 46	10631
	T2-GMM-UV	FN FP	0 3069	957 1081	2217 1119	1069 1158	10670
			TABLE III
	PERFORMANCE ANALYSIS WITH THE MODIFIED GMM FROM BOWDEN ET AL. [47]
	Method	Error Type	271 Fr.	373 Fr.	410 Fr	465 Fr	Total Error
	GMM Bowden et al.[47]	FN FP	0 1034	265 1359	637 3308	413 814	7830
	T2-GMM-UM	FN FP	0 37	522 287	2179 787	1251 122	5185
	T2-GMM-UV	FN FP	0 0	757 162	4130 252	1818 21	7140
			TABLE IV
	PERFORMANCE ANALYSIS WITH THE MODIFIED GMM FROM ZIVKOVIC [36]
	Method	Error Type	271 Fr.	373 Fr.	410 Fr	465 Fr	Total Error
	GMM Zivkovic [36]	FN FP	0 341	1152 1404	6688 1077	3009 310	13981
	T2-GMM-UM	FN FP	8 204	1414 154	6043 252

  Bouwmans received his PhD in Image Processing from the University of Littoral Côte d'Opale, Calais, France in 1997. From 2000 and 2007, he was a member of the Laboratory L3i at the University of la Rochelle. During this period, he was a member of the Aqu@theque project. Since 2008, he is a member of the laboratory MIA (Mathematic, Images and Applications). Currently, his research concern moving object detection in videos sequences by using fuzzy concepts in background subtraction. F. El Baf received her Master in image and calculus from the University of La Rochelle, La Rochelle, France in 2005 and her PhD in Mathematics applied to Image Processing in June 2009. Her research concerns the application of fuzzy concepts in the field of background subtraction.

					TABLE V
					PERFORMANCE ANALYSIS IN INFRARED VIDEOS
	T.	Method	T2-FGMM-UM	T2-FGMM-UV	GMM [47]
		S	, ( B A	)	48%	43%	36%


Julien Siebert
email: julien.siebert@loria.fr

Laurent Ciarletta
email: laurent.ciarletta@loria.fr

Vincent Chevrier
email: vincent.chevrier@loria.fr

Agents and artefacts for multiple models co-evolution Building complex system simulation as a set of interacting models

Keywords: I.6.5 [Simulation and Modelling]: Model Development Simulation techniques, tools and environments, Software engineering, Complex systems Building complex system simulation as

Complex systems simulations generally involve the interaction of different scientific fields. Human economies, ecosystems or dynamic computer networks such as P2P are good examples. Since models and simulators already exist in those fields, designing the simulation as a society of interacting and co-evolving models appears attractive. Beyond the technical issues to make different simulators cooperate, the challenges are to make the co-evolution design and implementation easier for the users that rarely know intricate modelling and simulation tools, and to facilitate the collaboration of different experts. Agents and artefacts (A&A) paradigm simplifies the design and the implementation of a society of interacting and co-evolving models. That is, the addition, the removal or the interchange of models require less effort. Contrary to classical approaches, we have built a decentralized co-evolution architecture based upon A&A and a data-driven coordination model. In this article, beyond the architecture presentation, we focus on the benefit provided by A&A used for multiple models co-evolution.

INTRODUCTION

Modelling and Simulation (M&S) techniques and software engineering have always been in touch with each other. In [START_REF] Joines | Fundamentals of object-oriented simulation[END_REF] the authors declare that [...] the real limits on the future adoption of simulation may rest on our ability to represent complex systems and to do it easily, which can be constructed as a matter of modelling style. [

...] Thus the distinction in programming style is not what can and can't be done but what can be done easily.

A complex system is composed of a set of interacting parts that as a whole exhibits properties that cannot be predicted from the simple sum of the individual parts properties. Human economies, social structures, climate or ecosystems are good examples of complex systems. Equation based modelling cannot represent interactions among components and their impact on the global system behaviour. Multiagent approach offers an interesting alternative [START_REF] Van Dyke | Agent-based modeling vs. equation-based modeling: A case study and users' guide[END_REF].

Complex systems modelling also involves the interaction of different scientific domains or different abstraction levels. This is the case in biology, for example, where models from chemistry and biology (organ, tissues) may be needed [START_REF] Southern | Multi-scale computational modelling in biology and physiology[END_REF] or in dynamic networks with models from sociology and computer networks [START_REF] Siebert | De l'intérêt du couplage de modèles pour appréhender les interactions utilisateurs-réseaux dynamiques[END_REF]. This way, different specialists work on the same simulation. Each one brings its own models and simulators.

The challenge is then to allow those scientists to build a complex simulation from their own building blocks. Moreover, we should keep in mind that they are probably not familiar with the intricate modelling and simulation tools and theories. One way to facilitate the interaction of heterogeneous models is to build the simulation as a society of interacting models. Models should be seen as component we can weave together (as in component-based software engineering). Some work has already been done in this way. The high level architecture (HLA) [START_REF] Kuhl | Creating computer simulation systems: an introduction to the high level architecture[END_REF] is a standard that proposes to use a central infrastructure in order to make models interact. VLE [START_REF] Quesnel | The virtual laboratory environment: A multimodelling and simulation framework[END_REF] and JAMES II [START_REF] Himmelspach | Plug'n simulate[END_REF] are both modelling and simulation frameworks that allow to couple different models (issued from different formalisms). Agents and artefacts (A&A) paradigm [START_REF] Ricci | Give agents their artifacts: the a&a approach for engineering working environments in mas[END_REF] has been used in order to build a complex systems simulation as a society of interacting and coevolving models [START_REF] Bonneaud | Pattern oriented agent-based multi-modeling of exploited ecosystems[END_REF].

In this paper we propose modelling engineering concepts to simplify the design of distributed and decentralized complex systems simulations. To do this, we use the perspective of A&A. However, contrary to approaches such as HLA or A&A used in [START_REF] Bonneaud | Pattern oriented agent-based multi-modeling of exploited ecosystems[END_REF], we do not rely on a global scheduler in order to synchronize the different interacting models. Instead, we propose a data-driven coordination model that allows a decentralized synchronization [START_REF] Siebert | Agents & artefacts for multiple models coordination[END_REF]. On the other hand, contrary to approaches such as VLE [START_REF] Quesnel | The virtual laboratory environment: A multimodelling and simulation framework[END_REF] and JAMES II [START_REF] Himmelspach | Plug'n simulate[END_REF] that imposes to build models directly in the modelling framework, we concentrate on reusing existing models and simulators and making them interact. Since our work fo-cuses on model coupling level, innovations from the parallel and distributed computation domain may of course be used to implement our approach.

The outline is the following: in section 2, we present the challenges related to the coupling and the coordination of different simulators. In section 3, we propose a coordination model and an architecture based upon A&A. In section 4, we developed a proof of concepts. We use our concepts to make some existing Netlogo models interact. Finally, discuss the advantages and the limits of such an approach.

CHALLENGES AND RELATED WORKS 2.1 A modular approach

When we talk about complex systems, we usually think of decentralized, open and large scale systems. It is generally accepted that there is no central point of control. Actually, global properties emerge from the interaction of subsystems (or entities). Moreover, entities can enter and leave the system and their number is admitted to be large. A good example is P2P networks, in which there is no central point of control, people can connect and disconnect themselves on the fly and the size of these networks have reached several million users.

However, complexity occurs through the interaction of different abstraction levels. For example, prediction of P2P networks performances are difficult because it involves the interaction of socio-economic parameters (users willingness to share and to download data) and network parameters (bandwidth, download time). Models exist in both humanities and computer network sciences. Moreover, modelling a system as a set of interacting subsystems is simpler and requires a collaborating team of experts. Thus, it appears that, in order to predict the behaviour of a complex system such as P2P networks, it is necessary to couple heterogeneous models [START_REF] Siebert | De l'intérêt du couplage de modèles pour appréhender les interactions utilisateurs-réseaux dynamiques[END_REF]. It may also be necessary to interchange a model by another one in order to compare simulation results. In the same way, a new instance of a model may be added in order to scale up the simulation.

We think that, in order to build a complex system simulation from heterogeneous models, specialists from the different concerned fields should be able to, firstly, reuse the existing models and simulators they develop with as little modifications as possible and, secondly, easily add, remove or interchange the models.

Existing modelling and simulation frameworks (such as JAMES II [START_REF] Himmelspach | Plug'n simulate[END_REF] or VLE [START_REF] Quesnel | The virtual laboratory environment: A multimodelling and simulation framework[END_REF]) imposes that every specialist involved in the simulation should know the framework and modify its own models in order to include them. Conversely, we think that models should be seen as component we can weave together (as in component-based software engineering). The challenge is then to modify as little as possible the existing models, to make them interact in such a way that it is transparent for the people involved in the simulation design.

In order to build concepts generic enough, we make several assumptions. Models are black boxes with input and output ports (as in [START_REF] Zeigler | Theory of Modeling and Simulation[END_REF], see figure 1) and there exist simulators functions that give us the current and the next simulation time (see section 2.3). 1). Since these models represent several dynamics at different scales and have been implemented independently, each model has its own representation of time and data. In the same way, each simulator proceeds its own execution. Coherence and compatibility issues appear when coupling different models and simulators. The next sections present the related challenges and issues.

Exchanging data between simulators

Coherence

Scales or dimensions in which a piece of data is represented could be different from a model to another. Moreover the representation can be discrete or continuous. For example, a position pos1 = < x, y, z > (with x, y and z expressed in meters) in a first model can be represented only in two dimensions in a second one: pos2 = < x, y > (with x and y expressed in kilometers). A solution proposed in [START_REF] Bonneaud | Pattern oriented agent-based multi-modeling of exploited ecosystems[END_REF] is to define operations (projection, discretization, reduction) in order to achieve this coherence.

The same way, each model could have its own time representation. For synchronization purpose, we need to assure, for example, that a time value t1 ∈ R + in a first model correspond to a time value t2 ∈ N in a second one. We propose to express an operation that makes the correspondence between both time values.

Compatibility

Each simulator could implement a single piece of data in its own way (integer, float, etc.) or some simulators may not implement all aspects of a given model. These challenges are discussed in [START_REF] Riley | A federated approach to distributed network simulation[END_REF]. A solution is to add an entity (a program) between the simulators. Its role is to translate the data in order to respect the compatibility between simulation tools.

Synthesis

Coupling different models and simulators implies to deal with coherence and compatibilities issues that are neither models, nor simulators purpose. Since we try to modify as least as possible the existing models, a solution that appears is to design of a new entity in charge of these issues (see figure 2). This is what is proposed in [START_REF] Bonneaud | Pattern oriented agent-based multi-modeling of exploited ecosystems[END_REF], where an artefact [START_REF] Ricci | Give agents their artifacts: the a&a approach for engineering working environments in mas[END_REF] is define in order to deal with these issues.

Coordination in co-evolution

The goal of time management in co-evolution is to ensure that simulation events (or steps) are executed in the correct Figure 2: Using an artefact to deal with coupling issues. A coupling-artefact is needed for each link between two models order (local causality constraint [START_REF] Fujimoto | Parallel simulation: parallel and distributed simulation systems[END_REF]). Two main approaches have been proposed to coordinate interacting simulators: optimistic and conservative [START_REF] Fujimoto | Parallel simulation: parallel and distributed simulation systems[END_REF]. We assume that the existing simulators we reuse have been developed independently and where not thought for distributed simulations. So they do not have a roll-back capability (see optimistic approach): they cannot go back into the simulation process in order to take new input events into consideration. As a consequence, we focus on the conservative mode. In the latter, the coordination model has to determine when a simulation event (or step) is safe to process. Definition 2.3.1. For a model Mi, a simulation event (or step) associated with the current simulation time cti is said to be safe to process if all the input events received after this event execution are timestamped with a time value > cti.

For example, in the figure 2, suppose the model M1 is at simulation time ct1 = 8. Its next event to process ne1 is at time nt1 = 12. This event ne1 is said to be safe if no other event will be send to M1 with a timestamp < 12. In our example, M1 has to know if M3 will send events with timestamps ∈ [8, 12[. If not, ne1 is safe and M1 can process it. This way, simulators stay synchronized and the causality constraint is satisfied.

Conservative coordination can be done by using a central and global scheduler that synchronizes all the simulators as in [START_REF] Bonneaud | Pattern oriented agent-based multi-modeling of exploited ecosystems[END_REF][START_REF] Riley | A federated approach to distributed network simulation[END_REF][START_REF] Kuhl | Creating computer simulation systems: an introduction to the high level architecture[END_REF]. In these solutions, models and simulators need substantial modifications in order to be controlled by the scheduler. This prevents to easily reuse the existing M&S tools. In section 3, we remove this central scheduler and we propose a novel decentralized coordination.

PROPOSITION

We present the concepts used in order to build complex simulation as a society of interacting models. We do not target on-line nor real time simulations, which directly interact with the reality.

Goals

We use the A&A paradigm [START_REF] Ricci | Give agents their artifacts: the a&a approach for engineering working environments in mas[END_REF] to facilitate the design and the implementation of a society of co-evolving models. Our approach is intended to make the design and the implementation of such simulations transparent. This way the specialists involved in the simulation do not care about coordination issues and only focus on the modelling aspects. The architecture we propose is modular and decentralized. It requires as little modifications as possible to integrate existing models and simulators and, more important, these modifications are done once for all. Thus, to design a simulation of heterogeneous models becomes a building block game.

We propose to use objective coordination. That is, coordination does not rely on a single entity but is provided by the surrounding environment. This method is well known in the field of situated multiagent systems [START_REF] Van Dyke | Digital pheromone mechanisms for coordination of unmanned vehicles[END_REF][START_REF] Rupert | The web from a complex adaptive systems perspective[END_REF] (stigmergy) or in parallel systems [START_REF] Schumacher | Objective coordination in multi-agent system engineering: design and implementation[END_REF] (shared memory). This provides a way to loosely couple and to coordinate the interacting processes. In our case, the simulators interact through the set of data they exchange. Thus, their surrounding environment is composed of the coupling-artefacts between them and the set of exchanged data.

Validity interval and coordination

Our coordination model principle is the following, each model Mi holds a current simulation time value cti and knows the simulation time value for the next event (or next step) to be processed nti. That is, when a model Mi is executed, it produces data δi at time cti. These data δi will not change until the next time nti when the model Mi is executed. As a result, we can say that δi are valid for the simulation time interval Γi = [cti, nti[.

A simulator can execute a model if the simulation event to process is safe (see definition 2.3.1). Then, the issue for the simulator is to know when an event is safe. It can be solve if the simulators exchange both the data and the corresponding validity interval: < δj; Γj >. Indeed, a simulation event is safe to process if cti ∈ Γj for all the input data (i = j).

Coordination is neither the simulator, nor the model purpose. It is the environment role. In our case, the couplingartefacts besides being in charge of coupling issues (see section 2), are also in charge of coordination. That is, when data are transmitted through the coupling-artefact, the latter saves them (as a shared memory), then, when a model Mi needs input data for the time cti, it asks the couplingartefact for safe data (i.e. data < δj; Γj > that fulfills the condition cti ∈ Γj (with i = j)). This way, models can interact and coordinate themselves in a loosely and decentralized way.

We have developed a formal version [START_REF] Siebert | Aa4mm coordination model: event-b specification[END_REF] of this coordination model and we have proved that coordination occurs between models and that the system is alive and deadlock free with k models (k ∈ N).

Architecture overview

Our architecture is intended to make the design and the implementation of a simulation of heterogeneous models transparent, modular and decentralized. In this section, we presents the concepts from A&A we use.

The coupling-artefacts are in charge of the coordination and the coupling aspects. The main contribution of our work is that data exchanges and coordination happen through the simulators environment (the coupling-artefacts) so the models execution can be decentralized. We previously define one coupling-artefact for each link between models (see figure 2). Data exchanged between two models flow through a coupling artefact (see figure 3).

We use two other kinds of entities to deal with separation of concerns. To format data (i.e to associate δi and Γi), to send data through the coupling-artefact and to ask for Coupling-Artefact post()

Post < δ i , Γ i > read() Return a safe data < δ i , Γ i >
Table 1: Artefacts functions summary safe data is neither the simulator, nor the model, nor the coupling-artefact purpose. So we define an entity which behaviour will be to manage the data flows for a given model: the model-agent. Its role is to get the data δi, the cti and nti values from the model Mi, to send the < δi; Γi > tuples to the output coupling-artefacts, to ask the safe data δj from the input coupling-artefacts and to send them to Mi. The model-agent behaviour is describe in figure 4.

In order for the model-agent to interact with the models, and in order to modify as little as possible the existing models Mi, we define an interface that allows the modelagent to achieve its purposes: the model-artefact. It allows the model-agent to initialize, execute the model Mi and to manage its input and output ports. The table 1 lists both the coupling and model-artefacts functions. The whole architecture is described in the figure 3. It is modular, transparent and decentralized so the simulation can be seen as a set of distributed and reusable components. Models are in charge of modelling. The model-agents are in charge of executing the models. Finally, the couplingartefacts are in charge of the coordination process. This way, we can easily add, remove or interchange models without being concerned with coupling and coordination issues (see section 4).

PROOF OF CONCEPT

The objective of this section is to present how to build a complex simulation as a society of interacting models. The simulation results validation is out of the scope of this article. We present a proof of concept illustrated by NetLogo [START_REF] Netlogo | Center for Connected Learning and Computer-Based Modeling[END_REF] models co-evolution. We choose those simple models for the sake of illustration : they are straightforward to understand and we think they highlight some of the coupling and synchronization problems we raised in section 2. We discussed more evolved examples in section 5.

We implement our concepts in a framework called AA4MM 1 . It is coded in Java and rely upon the Java Messaging Service in order to deal with shared memory purposes. Since this framework, at first, has been developed in order to build a proof of concepts and since the discussion about implementation choices and performances is out of the scope of this article, we do not give a lot of details about this framework. Interested readers can find more details on the AA4MM web page.

A sheepfold study made of sheep, grass and wolves models co-evolution

Imagine we want to predict the impact of a sheepfold. For example: what are the best herding strategies ? What is the risk for a sheep to be eaten by a wolf ? etc. We want to model an ecosystem made of wolves, sheep, shepherds and grasslands. The first model M1 represents sheep moving and shepherds trying to herd them. The second one M2 represents sheep2 eating grass and gaining energy. The last one M3, is a prey predator model that represents the wolf predation.

Our goal is to design the sheepfold simulation as a set of interacting and co-evolving models. We want to couple the three above-mentioned models using the concepts we present in section 3.

Integration basic steps

At first we only consider M1 and M2. Assume we are more preoccupied by the impact of sheep on the grasslands. We target the addition of M3 later (section 4.4). Both specialists of sheep model and grassland model should be able to make their own models and simulators interact.

The first thing to do to couple different models is to define the input and output ports of each model and the connections between them. The sheep movements are described by the sheep model M1. That is M1 provides the set of sheep positions SP . In order to be executed, M2 needs to update its own local sheep positions from M1. On its part, the sheep movement is influenced by the sheep energy SE. Energy is provided by M2. As a consequence, M1 needs to update its own local sheep energy values from M2. Figure 5 depicts both conceptual links between M1 and M2 and how it is implemented.

Existing models integration

The second thing to do to couple different models is to build the model-artefacts for each involved model. Each specialist have to create a model-artefact for its model. Consider M1, its behaviour is given by the algorithm 1. The model-artefact in charge of M1 must implement the functions listed in table 1.

The init() function sets the number of sheep, shepherds and their initial positions in M1. Since Netlogo processes simulation step by step, the run() function executes one simulation step of M1, the getCurrentTime() and getNext-Time() returns ct1 (the number of clock ticks) and nt1 = ct1 +1. getOutputData() function returns all sheep positions SP . setInputData() sets into M1 the sheep energy SE.

The same work is done for M2 and M3. All those functions are implemented by simply calling procedures through the provided API. As a consequence, we do not modify the original model. However, the simulators has to provide the mentioned functions (run(), init()etc.). Thus, we modify the execution process.

Coupling models

In our example, one coupling-artefact cA1 is in charge of the sheep positions. The other one cA2 deals with sheep energy (figure 5).

Consider cA1, its post() function allows M1 for sending the sheep positions with their validity interval: < SP, Γ1 >. The read() function provides safe sheep positions to M2. We assume that both models M1 and M2 have the same representation of the sheep positions. We will see in section 4.3 how to deal with different scales and representation. It is worth noticing that the specialists involved in the simulation do not have to deal with coordination issues since the coordination model is already implemented into the coupling-artefact.

Model-agent behaviour

Once the artefacts are built, the last thing to do is to build the model-agents that will use them. One model agent is created for each model. The generic model-agent behaviour is presented in figure 4. In our example, agents have to create and to initialize their own model via the proper modelartefact functions init(). Then, they post the initial output data (SE and SP at time 0).

The agents manage the simulation process as follows.

1. Read the input data SE (resp. SP ) from the couplingartefact cA2 (resp. cA1). Set them to the model one.

2. Execute the model M1 (resp. M2) (i.e call the modelartefact run() function).

3. Get the current and next time values ct1 and nt1 (resp. ct2 and nt2).

4. Get output data SP (resp. SE) from the modelartefact. Post them to the coupling one cA1 (resp. cA2).

The agents do this loop until the simulation ends.

Synthesis

In this section, we presented a case study in which a simulation is built from three models. Notice that those models come from different domains, have been designed independently and can be ran separately. We assume that the specialists of each domain wish to couple those models in order to build a more complex simulation. In order to make those models interact they need to deal with issues such as coupling, coordination and model execution. However, they are not familiar with distributed simulations and coordination process.

The aim of our framework is to facilitate the creation of this simulation by making the coupling and coordination issues transparent. When the specialists need to couple models, they need to define the data flows between them and to implement a coupling-artefact for each link. They do not have to care about the synchronization process since the coordination model is already implemented into the couplingartefacts and the exchanged data. A model-artefact has to be created for each model to interface. There are six functions to implement (see table 1). We rely upon the work in [START_REF] Zeigler | Theory of Modeling and Simulation[END_REF] in order to define and make these functions as generic as possible, anyway existing models may be adapted in order to match them. In the next sections, we show that, having done these simple modifications, it is straightforward to add or interchange models and also to deal with the interaction of models designed in different scales.

Dealing with scales differences

Until now, we have assumed that time and space scales in both models M1 and M2 were the same. In the reality, specialists design their models independently. Most of the time, the models scales are different. For example, the grassland specialists are interested into how fields evolve each season although sheep specialists are more concerned with how the sheep population evolves each week. As a consequence, the time and space scales in both models M1 and M2 are not similar. This firstly causes coherence and compatibility issues (see section 2). For example data such as positions in model M1 do not correspond to positions in model M2. Secondly, models executions are different. E.g., when the model M2 computes the fields evolution from winter to spring, the model M1 needs to compute the sheep population evolution for the 12 corresponding weeks. Although M2 processes one single simulation event, M1 processes 12 of them. So the models need to be coordinate.

In the next sections, we present how to make models with different scales interact through our framework.

Different space scales

Consider that one patch of grass correspond to a square of 2 × 2 patches in the sheep model M1 (see figure 6). Since it is not possible to change the patches size in the grass model M2, sheep positions produced by M1 does not fit anymore with space in M2. As a consequence, we need to add an operation in the coupling-artefact cA1 when the grass modelagent reads the sheep positions. This operation consists in dividing each sheep position coordinates by a factor 2. Note that we target a challenge due to the exchanged data coherence. We only modify the entity in charge of that issue: the coupling-artefact.

Different time scales

The same way, consider that the grass model M2 may no longer be executed step by step but 2 steps by 2 steps; while the sheep model execution remains step by step (see figure 7). This is related to the model M2 execution process. So we modify the related model-artefacts functions run() and getNextTime(). That is, instead of executing only one simulation step, the run() function executes two simulation steps. Then the getNextTime() function returns nt2 = ct2 + 2. Since the coordination occurs only thanks to time values given by getCurrentTime() and getNextTime() functions, these are the only modifications to make.

Adding, or exchanging models

In this section, we present the advantages to consider model as component and the simulation as a distributed set of interacting models.

Simple addition

The sheep and grass specialists involved in the sheepfold simulation wish to predict the impact of wolves living in the neighbourhood. As a consequence, a new model M3 should be added in the simulation. The challenge is to couple a new model to the previous ones without rebuilding the whole simulation (see figure 8).

The first thing to do is to define the new links between three the models. The specialists have to know which data are exchanged between M1, M2 and M3. Two cases are possible. Either the exchanged data are the same as those existing or they bring into play new ones. On the one hand, we can reuse the existing coupling-artefacts. On the other hand, we need to create new coupling-artefacts (as described in section 4.2).

Consider M3, this models defines the wolf predation dynamics: wolves move, catch a sheep and took energy from the sheep (as they eat them). This way, M3 needs to update its own local sheep position values from M1 and M3 provides negative sheep energy values SE3 when they eat the sheep. The links between the models are described in figure 8. Since they do not require some new data to exchange, we can reuse the existing coupling-artefacts cA1 and cA2.

Since it is already present, M3 can ask the couplingartefact cA1 to give it the sheep positions SP from M1. The only thing to do is to add an operation to cA1 in order for M3 to read that value. However, when M1 ask cA2 to give it the sheep energy values, it has to take into account both the positive values SE2 given by the grass model M2 and the negative values SE3 given by the wolf model M3.

That is, we need to define a new operation in cA2 in order to combine both energy levels. In our case, for a given sheep energy level, cA2 needs to add the energy gain SE2 and the energy loss SE3. This way M1 updates a single sheep energy value for each sheep.

A (little bit) more complicated addition

As we saw in section 4.3, M1, M2 and M3 may have been designed independently and, as a consequence, scales in each model may be different. For example, the grassland model There is no need to care about coordination since the coordination model is already implemented into the couplingartefacts and the exchanged data. The only modifications to make concern the run() and getNextTime() functions as in section 4.3.2.

In our example, the coupling-artefact cA1 needs to provide sheep positions from M1 to both models M2 and M3. Since the sheep positions in these models are different, cA1 need an operation to translate sheep positions from M1 to M2 (as in section 4.3.1) and, in the same way, another one that translate sheep positions from M1 to M3.

Note that, since the coupling-artefacts store the data sent by the model-agents it is possible to define as many operations as needed in order to deal with the coupling issues (see section 2). As a conclusion, if works from sections 4.3 and 4.4.1 have already been done, no more modifications are needed in order to build the new coupling scheme.

Interchange

After some measurements, one may find that a model is not accurate enough and that another one should be better. In order to interchange models, the simulation designers simply need to check that they will have the same input and output ports. For example, in M1, instead of moving randomly, the sheep can move accordingly to a flocking model (as [START_REF] Reynolds | Flocks, herds, and schools: A distributed behavioral model[END_REF]). Instead of rewriting a new model, we can simply replace M1 by an existing flocking model M ′ 1 that have the same input and output ports. This way, we do not change the model-agents nor the coupling-artefacts. We only need to build a model-artefact for the new model M ′ 1 (see figure 9). Imagine now that we are more interested in reintroducing wolves into the wild than in the sheep industry. However, we want to reuse the existing models and results we previously obtained. That is, we want to build new simulations from the same building blocks. In addition, new models may be needed. In order to build this simulation, we do not have to rewrite neither all the models, nor the coordination process. We only have to take the building blocks and to link them properly. This is one of the advantages to see simulation as a set of interacting and co-evolving models, and to have the concepts that allows to easily implement it.

Indeed, it is worth noticing that none of the model-agent needs to know each other, neither they know which reads the data they post. This simplifies the addition, the removal or the interchange of the models. The important thing is to check the dependencies between the models. That is, the interacting models should have the right input and output ports. Then, it is straightforward to implement new coupling-artefacts, to reuse the existing ones and to link them with the proper model-agents.

CONCLUSION

Summary

In this article, we present an architecture to build simulations as a society of interacting and co-evolving models. It is based upon the A&A paradigm. We also propose an objective coordination model with decentralized models execution. Our concepts facilitate the building of such simulations since it makes the coupling and coordination issues transparent for the users. This way, people involved into the simulation design only have to care about modelling and about the data flows between models.

The architecture we propose is modular and decentralized so that any model could be added, removed or interchanged with as little modifications as possible. We have developed a formal coordination model and proved that synchronization happens without deadlocks for a number of simulators k ∈ N. We implemented our concepts in order to build a proof of concept illustrated by several examples.

Discussion and future directions

In this article, we have made the assumption that the complex system studied is divided into several abstraction levels. One may want a geographical division where the subsystems may represent different geographical subparts. As a consequence, entities can enter, leave the models or go from a model to another. This point of view raises new modelling and coupling challenges. We think the concepts presented in this article can help to solve these new issues.

We use this framework on an ongoing work on co-evolution of mobile ad hoc networks and social models. We then couple an event-based simulator (network model) with a step-by-step simulator (agent based model). It is part of a french ANR research project. We plan to use some of the experiments to improve and study the implementation performances.

Although the examples presented are quite simple and broadly compatible (both discrete event), we though that with the concept presented here we can be used to couple equation based models (EBM) with agent based ones. Technically, we need to resolve (or run()) EBM for time intervals instead of events or steps. It is possible to go from the micro scale to the macro one by using operations (as defined in section 2) such as sums, means or distributions, etc. ; the other way round by, for example, introducing randomness. Discrete event formalism and the work in [START_REF] Zeigler | Theory of Modeling and Simulation[END_REF] should be a good line of thinking in order to look further.

Another open issue would be in the validation process of co-evolution. One question that arise is the following : do several independent and valid models give valid results when coupled together ? We think that this question is domain related and that complex simulations have to be done and compared to real measurement in order to answer this issue.

Figure 1 :

 1 Figure 1: Examples of different kinds of models coupling

  Run one simulation event, step or time interval getOutputData()Return output δ i from M i setInputData()Send input δ j data to M i getCurrentTime() Return ct i getNextTime()Return nt i stop()Manage the end of the simulation (storing data, etc.)

Figure 3 :

 3 Figure 3: Architecture overview: from concepts to implementation

Figure 4 :

 4 Figure 4: The model-agent behaviour : to manage the simulation process.

Figure 5 :

 5 Figure 5: Coupling sheep and grass models from the conceptual view to the implementation

Figure 6 :

 6 Figure 6: Sheep and grass models spaces correspondenceNote that we target a challenge due to the exchanged data coherence. We only modify the entity in charge of that issue: the coupling-artefact.

Figure 7 :

 7 Figure 7: Sheep and grass models execution time correspondence

Figure 8 :

 8 Figure 8: Addition of a third model

Figure 9 :

 9 Figure 9: Interchanging models 4.4.4 Building new simulations

http://www.loria.fr/∼siebertj/aa4mm/

Originally rabbits. We changed species.

joris.rehm@loria.fr; MOSEL Team, LORIA.

virginie.galtier@supelec.fr; Supelec Metz.

Acknowledgements

The authors would like to thanks ANR SARAH project and La Région Lorraine for their financial support, Joris Rehm 3 and Virginie Galtier-Ciarletta 4 for their collaboration.


Marcos Moshinsky

Yurii Fedorovich Smirnov

Maurice R Kibler
email: m.kibler@ipnl.in2p3.fr

In memoriam two distinguished participants of the Bregenz Symmetries in Science Symposia

Some particular facets of the numerous works by Marcos Moshinsky and Yurii Fedorovich Smirnov are presented in these notes. The accent is put on some of the common interests of Yurii and Marcos in physics, theoretical chemistry, and mathematical physics. These notes also contain some more personal memories of Yurii Smirnov.

Introduction

Yurii Fedorovich Smirnov passed away in 2008 and Marcos Moshinsky in 2009. They were two famous physicists with common interests in nuclear physics, atomic and molecular physics, and mathematical physics. More generally, both of them were at the origin of significant achievements in symmetry methods in physics. They actively participated in several Symmetries in Science Symposia in Bregenz. These two giants had parallel centers of interest in the sense that they developed separately some complementary works in nuclear physics (that led in particular to the concept of Moshinsky-Smirnov coefficients), dealt with some related problems in atomic, molecular and mathematical physics, and, finally, combined efforts to produce a beautiful and very useful book [1] on the applications of the harmonic oscillator system to various areas of physics and chemistry.

It is not the purpose of these notes to extensively list and analyse the numerous papers by Marcos and Yurii. I shall focus on some particular facets of their works. I had the opportunity to meet Marcos and Yurii several times in Bregenz and on several other occasions, and to discuss with them about Wigner-Racah algebras for finite groups, Lie groups and quantum groups. I had also a chance to collaborate with Yurii Smirnov. Therefore, I shall devote the main part of these notes to some specific domains of importance to Yurii and Marcos and to some more personal reminiscences on Yurii.

Marcos Moshinsky

Marcos Moshinsky was a Mexican physicist. He was born in Kiev (Ukraine) in 1921. He arrived as a refugee in Mexico when he was three years old and obtained Mexican citizenship in 1942. He received a Bachelor's degree in physics from the Universidad Nacional Autónoma de México (U.N.A.M.) and a Ph.D. degree in theoretical physics, under the guidance of Eugene P. Wigner, from Princeton University. Marcos was also the recipient a post-doctoral fellowship at the Institut Henri Poincaré in Paris. Afterwards, he returned to Mexico and pursued a brillant career at the U.N.A.M. in Mexico City.

Professor Marcos Moshinsky had important responsabilities as the President of the Sociedad Mexicana de Física, as a member of El Colegio Nacional, and as a member of the editorial board of several international scientific reviews. He produced and/or co-produced more than 200 scientific papers and four books among which the most well-known are the one written in collaboration with Thomas A. Brody on transformation brackets for nuclear shell-model calculations [START_REF] Brody | Tables of Transformation Brackets for Nuclear Shell-Model Calculations[END_REF] and the one with Yurii F. Smirnov on the applications of the harmonic oscillator in various fields of physics and quantum chemistry [1]

Marcos and Yurii

A first seminal paper by Marcos concerned the transient dynamics of particle wavefunctions, a phenomenon that gives rise to diffraction in time [START_REF] Moshinsky | [END_REF]. However, most of his scientific work dealt with collective models of the nucleus, canonical transformations in quantum mechanics, and group theoretical methods in physics, with a special emphasis on symplectic symmetry in nuclear, atomic and molecular physics. These themes were of interest to Yurii too. Following the pioneering work of Talmi (who prepared his Ms.S. thesis with Guilio Racah, his Doctorate thesis with Wolfgang Pauli and who was a post-doctoral fellow with Eugene P. Wigner) [4], both Marcos and Yurii were interested in the description of pairs of nucleons in a harmonicoscillator potential. In 1959, Moshinsky developed a formalism to connect wavefunctions in two different coordinate systems for two particles (with identical masses) in a harmonic-oscillator potential [5]. In this formalism, any two-particle wavefunction |n 1 ℓ 1 , n 2 ℓ 2 , λµ , expressed in coordinates with respect to the origin of the harmonic-oscillator potential, is a linear combination of wavefunctions |nℓ, N L, λµ , expressed in relative and centre-of-mass coordinates of the two particles. The so-called transformation brackets nℓ, N L, λ|n 1 ℓ 1 , n 2 ℓ 2 , λ make it possible to pass from one coordinate system to the other. Moshinsky gave an explicit expression of these coefficients in the case n 1 = n 2 = 0 and derived recurrence relations that can be used to obtain the coefficients for n 1 = 0 and n 2 = 0 from those for n 1 = n 2 = 0 [5]. Along this vein, Brody and Moshinsky published extensive tables of transformation brackets [START_REF] Brody | Tables of Transformation Brackets for Nuclear Shell-Model Calculations[END_REF]. At the end of the fifties, Smirnov worked out a similar problem, viz. the calculation of the Talmi coefficients for unequal mass nucleons, and gave solution for the case n 1 = 0 and n 2 = 0 [6,7]. (Indeed, the transformation brackets and the Talmi coefficients are connected via a double Clebsch-Gordan transformation.) The coefficients nℓ, N L, λ|n 1 ℓ 1 , n 2 ℓ 2 , λ , called transformation brackets by Moshinsky and total Talmi coefficients by Smirnov, are now referred to as Moshinsky-Smirnov coefficients. Both the Moshinsky-Smirnov coefficients and the Talmi coefficients were revisited at the end of the seventies in terms of generating functions in the framework of the approaches of Julian S. Schwinger and Valentine Bargmann to the harmonic-oscillator bases [8]. (The work by Mehdi Hage Hassan [8], who prepared his State Doctorate thesis at the Institut de Physique Nucléaire de Lyon and conducted his career in Beyrouth, constitutes a very deep and original approach to the Talmi coefficients and Moshinsky-Smirnov coefficients.) It should be noted that the transformation brackets or Moshinsky-Smirnov coefficients are also of importance for atoms and molecules as shown by Marcos and Yurii in their book [1] written during the time Yurii was a visiting professor at the Instituto de Física of the Universidad Nacional Autónoma de México.

A second area of common interest to both Marcos and Yurii concerns the many-body problem considered from the point of view of unitary and symplectic groups and the use of nonlinear and nonbijective canonical transformations. In this vein, Moshinsky and some of his collaborators introduced the concept of an ambiguity group, a group required for taking into account the nonbijectivity of certain canonical transformations [9]. Indeed, this concept is closely related to the one of Lie algebra under constraint [10], which in turn is connected to nonbijective transformations like Hopf fibrations on spheres and Hopf fibrations on hyperbolids [START_REF] Lambert | Kustaanheimo-Stiefel and other transformations Group Theoretical Methods in Physics ed R Gilmore[END_REF]. Among the nonbijective transformations, one may mention the R 4 → R 3 Kustaanheimo-Stiefel transformation and the R 2 → R 2 Levi-Civita transformation as well as their various extensions [START_REF] Lambert | Kustaanheimo-Stiefel and other transformations Group Theoretical Methods in Physics ed R Gilmore[END_REF][START_REF] Hassan | Non-bijective quadratic transformations and theory of angular momentum Selected Topics in Statistical Mechanics[END_REF]. In particular, the Kustaanheimo-Stiefel transformation allows one to pass from a four-dimensional harmonic oscillator subjected to a constraint to the three-dimensional hydrogen atom (see for instance [START_REF] Kibler | [END_REF]). This subject was of interest to Yurii and he revisited the hydrogen-oscillator connection with Corrado Campigotto [14].

The harmonic oscillator is a central ingredient in numerous studies by Smirnov and Moshinsky. Many applications of the nonrelativistic and relativistic harmonic oscillators to modern physics (from molecules, atoms and nuclei to quarks) were pedagogically exposed in the book by Marcos and Yurii [1] with a special attention paid to the n-body problem (in the Hartree-Fock approximation), the nuclear collective motion and the interacting boson model.

But their common interests were not limited to transformation brackets and harmonic oscillators. Let us briefly mention that both of them were also interested in group theoretical methods and symmetry methods in physics and also contributed to several fields of mathematical physics including, for instance, the state labelling problem, special functions, and generating functions (see, for example, [15,16]).

Yurii Fedorovich Smirnov

Yurii Fedorovich Smirnov was a Russian physicist. He was born in the city of Il'inskoe (Yaroslavl' region, Russia) in 1935. He graduated from Moscow State University. Subsequently, he completed his Doctorate thesis at the same university under the guidance of Yurii M. Shirokov and benefited from fruitful contacts with other distinguished physicists including Yakov A. Smorodinsky. He pursued his career in the (Skobeltsyn) Institute of Nuclear Physics and in the Physics Department of (Lomonosov) Moscow State University with many stays abroad. The last fifteen years of his life were shared between Moscow and Mexico City where he was a visiting professor and later a professor at the Instituto de Física and at the Instituto de Ciencias Nucleares of the U.N.A.M. (he spent almost 11 years in Mexico). He received prestigious awards: the K.D. Sinel'nikov Prize of the Ukrainian Academy of Sciences in 1982 and the M.V. Lomonosov Prize in 2002. He was also a member of the Academy of Sciences of Mexico.

Yurii Smirnov authored and/or co-authored eleven books and more than 250 scientific articles. He also translated several scientific books into Russian. He translated, for example, a book on the harmonic oscillator written by Marcos Moshinsky in 1969, precisely the book that was a starting point for their common book on the same subject, published in 1996 [1]. He was a member of the editorial board of several journals and a councillor of the scientific councils of the Skobeltsyn Institute of Nuclear Physics and of the Chemistry Department of Moscow State University, as well as of the Institute for Theoretical and Experimental Physics (ITEP) in Moscow.

Some personal reminiscences on Yurii

My first contact with the work of Yurii Smirnov dates back to 1978 when my colleague J. Patera showed me, on the occasion of a NATO Advanced Study Institute organised in Canada by J.C. Donini, a beautiful book written by D.T. Sviridov and Yu.F. Smirnov [17]. This book dealt with the spectroscopy of d N ions in inhomogeneous electric fields (part of a disciplinary domain known as crystal-and ligand-field theory in condensed matter physics and explored via the theory of level splitting from a theoretical point of view). In 1979, B.I. Zhilinskiȋ, while visiting Dijon and Lyon in France in the context of an exchange programme between the USSR and France, gave me another interesting book, on f N ions in crystalline fields, written by D.T. Sviridov, Yu.F. Smirnov and V.N. Tolstoy [START_REF] Sviridov | Spektroskopiya Kristallov[END_REF]. At that time, the references for mathematical aspects of crystaland ligand-field theory were based on works by Y. Tanabe, S. Sugano and H. Kamimura from Japan [19], J.S. Griffith from England [START_REF] Griffith | [END_REF], and Tang Au-chin and his collaborators from China [START_REF] Au-Chin | [END_REF] (see also some contributions by the present author [START_REF] Kibler | [END_REF]). The two above-mentioned books by Smirnov and his colleagues shed some new light on the mathematical analysis of spectroscopic and magnetic properties of partly filled shell ions in molecular and crystal surroundings. In particular, special emphasis was put on the derivation of the Wigner-Racah algebra of a finite group of molecular and crystallographic interest from that of the group SO(3) ∼ SU (2)/Z 2 .

My second (indirect) contact with Yurii is related to an invitation to participate in the fifth workshop on Symmetry Methods in Physics in Obninsk in July 1991. Unfortunately, I did not get my visa on time reducing my participation to a paper in the proceedings of the workshop edited by Yu.F. Smirnov and R.M. Asherova [START_REF] Kibler | Symmetry adaptation and two-photon spectroscopy of ions in molecular or solid-state finite symmetry Symmetry Methods in Physics[END_REF].

In the beginning of the 1990's, I had a chance to discover another facet of Yurii's work. In 1989, a Russian speaking student from Switzerland, C. Campigotto, spent one year in the group of Prof. Smirnov. He started working on the Kustaanheimo-Stiefel transformation, an R 4 → R 3 transformation associated with the Hopf fibration S 3 → S 2 with compact fiber S 1 . (Such a transformation makes it possible to connect the Kepler-Coulomb system in R 3 to the isotropic harmonic oscillator in R 4 .) Then, Campigotto (well-prepared by Smirnov and his team, especially Andrey M. Shirokov and Valeriy N. Tolstoy) came to Lyon to prepare a Doctorate thesis (partly published in [START_REF] Campigotto | [END_REF]). He defended his thesis in 1993 with George S. Pogosyan (representing Yu.F. Smirnov) as a member of the jury.

A fourth opportunity to work with Yurii stemmed from our mutual interest in quantum groups and in nuclear and atomic spectroscopy. I meet him for the first time in Dubna in 1992. We then started a collaboration (partly with R.M. Asherova) on qand qp-boson calculus in the framework of Hopf algebras associated with the Lie algebras su(2) and su(1, 1) [START_REF] Yu | Some aspects of q-boson calculus Symmetries in Science VI: From the Rotation Group to Quantum Algebras[END_REF]. In addition, we pursued a group-theoretical study of the Coulomb energy averaged over the nℓ Natomic states with a definite spin [START_REF] Kibler | [END_REF]. We also had fruitful exchanges in nuclear physics. Indeed, Prof. Smirnov and his colleagues D. Bonatsos (from Greece), S.B. Drenska, P.P. Raychev and R.P. Roussev (all from Bulgaria) developed a model based on a one-parameter deformation of SU (2) for dealing with rotational bands of deformed nuclei and rotational spectra of molecules [27] (see also [28]). Along the same line, a student of mine, R. Barbier, developed in his thesis a two-parameter deformation of SU (2) with application to superdeformed nuclei in mass region A ∼ 130 -150 and A ∼ 190 (partly published in [29]). It was a real pleasure to receive Yurii in Lyon on the occasion of the defence of the Barbier thesis in 1995. Indeed, from 1992 to 1995, Yurii made four stays in Lyon (one with his wife Rita and one with his daughter Tatyana) and we jointly participated in several meetings, one in Clausthal in Germany (organised by H.-D. Doebner, V.K. Dobrev and A.G. Ushveridze) and two in Bregenz in Austria (organised by B. Gruber and M. Ramek).

I cannot do justice to all of the fields in which Yurii was recognized as a superb researcher. It is enough to say that he contributed to many domains of mathematical physics (e.g., finite groups embedded in compact or locally compact groups, Lie groups and Lie algebras, quantum groups, special functions) and theoretical physics (e.g., nuclear, atomic and molecular physics, crystal-and ligand-field theory). Let me mention, among other fields, that he achieved alone and with collaborators significant advances in the theory of clustering of shell-model (nuclear) systems [START_REF] Neudatchin | Nucleon Clusters in Light Nuclei[END_REF], in projection operator techniques for simple Lie groups [START_REF] Asherova | [END_REF], in the theory of heavy ion collisions [32], and in the so-called J-matrix formalism for quantum scattering theory (see [START_REF] Yu | Harmonic oscillator representation in the theory of scattering and nuclear reactions Harmonic Oscillators[END_REF] and references therein). The J-matrix formalism requires the solution of three-term recurrence relations (or second-order difference equations); along this line, Yurii and some of his collaborators published several works (see for instance [34]). As another major contribution, at the end of the sixties he proposed in collaboration with Vladimir G. Neudatchin a method, the so-called (e,2e) method (an analog of the (p,2p) method used in nuclear physics), for the experimental investigation of the electronic structure of atoms, molecules and solids; this method was successfully tested in many laboratories around the world (see [35] and references therein).

Yurii was also an exceptional teacher. It was very pleasant, profitable and inspiring to be taught by him. I personally greatly benefited from discussions with Yurii Smirnov.

Closing

Yurii and Marcos had many students who are now famous physicists. They interacted with many collaborators in their countries and abroad, and had an influence on many scientists. Marcos Moshinsky and Yurii Fedorovich Smirnov will remain examples for many of us. We shall not forget them.

  . He received several prizes, namely the Premio Nacional de Ciencias y Artes in 1968, Premio Luis Elizondo in 1971, Premio U.N.A.M. de Ciencias Exactas in 1985, Premio Príncipe de Asturias de Investigación Científica y Técnica in 1988, and the prestigious UNESCO Science Prize in 1997 for his work in nuclear physics. He also received the Wigner medal in 1998.