Eleonora Tagliabue
email: eleonora.tagliabue@univr.iti.peterlik

Diego Dall'alba

Enrico Magnabosco

Chiara Tenga

Igor Peterlik

Paolo Fiorini

D Dall'

Position-based modeling of lesion displacement in Ultrasound-guided breast biopsy

Keywords: Biomechanical model, Position-based dynamics, Ultrasound-guided breast biopsy, Ultrasound tracking

Purpose Although ultrasound (US) images represent the most popular modality for guiding breast biopsy, malignant regions are often missed by sonography, thus preventing accurate lesion localization which is essential for a successful procedure. Biomechanical models can support the localization of suspicious areas identified on a pre-operative image during US scanning since they are able to account for anatomical deformations resulting from US probe pressure. We propose a deformation model which relies on position-based dynamics (PBD) approach to predict the displacement of internal targets induced by probe interaction during US acquisition.

Methods

The PBD implementation available in NVIDIA FleX is exploited to create an anatomical model capable of deforming online. Simulation parameters are initialized on a calibration phantom under different levels of probe-induced deformations, then they are fine-tuned by minimizing the localization error of a US-visible landmark of a realistic breast phantom. The updated model is used to estimate the displacement of other internal lesions due to probe-tissue interaction.

Results

The localization error obtained when applying the PBD model remains below 11 mm for all the tumors even for input displacements in the order of 30 mm. This proposed method obtains results aligned with FE models with faster computational performance, suitable for real-time applications. In addition, it outperforms rigid model used to track lesion position in US-guided breast biopsies, at least halving the localization error for all the displacement ranges considered.

Introduction

Image-guided breast biopsy is the standard procedure to evaluate symptomatic and screeningdetected suspicious lesions [START_REF] O'flynn | Image-guided breast biopsy: state-of-the-art[END_REF]. Among all types of image-guided breast biopsies that can be performed, ultrasound (US) guidance is widely preferred since it allows to reach difficult areas while optimizing procedure time, without exposing the patient to any harmful radiation, thus overcoming the limitations of biopsies performed under Magnetic Resonance Imaging (MRI) and X-rays guidance. However, besides the fact that procedure outcome strongly depends on clinicians' expertise and available equipment, certain malignant lesions are often challenging to be distinguished in US [START_REF] Apesteguía | Ultrasound-guided core-needle biopsy of breast lesions[END_REF]. Recently, image fusion techniques have been investigated to create navigable anatomy reconstructions that enable the visualization of MRI-detected lesions on real-time US images [START_REF] Guo | Use of a volume navigation technique for combining real-time ultrasound and contrast-enhanced mri: accuracy and feasibility of a novel technique for locating breast lesions[END_REF]. Both commercial and research platforms that implement this strategy align the two images by computing either rigid or affine transformation which minimizes the matching error between sets of corresponding landmarks [4,[START_REF] Aribal | Volume navigation technique for ultrasound-guided biopsy of breast lesions detected only at mri[END_REF]. The main limitation of this approach is that it does not account for the highly deformable nature of the breast. Typically, MRI acquisition is performed with the patient in prone position, whereas the subject lies semi-supine during US scanning. During this repositioning, the breast undergoes large deformations. In addition, in order to obtain acceptable image quality, the physician applies compression forces on the breast with the US probe to guarantee a proper coupling. Ideally, MRI-US fusion should be able to account for these deformations in order to accurately track the motion of internal targets.

Due to the need of modelling these gross deformations, the development of models able to realistically describe breast behavior in clinical settings remains an active research field. Many of these methods focus on the definition of an a-priori deformation model of the structure of interest. The 3D geometry of the anatomy is extracted from the MRI and initialized with known elastic properties and/or parameters, and it is later used to predict structures displacements and deformations, given certain inputs. These models have been employed for co-registration between MRI and other modalities but never with 2D US [START_REF] Hipwell | A review of biomechanically informed breast image registration[END_REF]. This approach has the potential to accurately predict the displacement of MRI-detected lesions even in cases where target areas cannot be identified on US.

The most popular numerical procedure capable of achieving mechanically realistic simulations of the breast relies on the finite element method (FEM) [START_REF] Hipwell | A review of biomechanically informed breast image registration[END_REF]. FEM describes soft tissues through a continuum mechanics formulation and determines future positions by solving physical balance laws. However, high accuracy is obtained at the expense of high complexity, which makes the solution method computationally expensive, thus not generally compatible with real-time. It can happen that the simplifications introduced in the solving process are so strict that the results obtained are less accurate than expected and may even lose their physical meaning [START_REF] Zhang | Deformable models for surgical simulation: A survey[END_REF]. These limitations of FEM can be overcome by geometrybased approaches, like the position-based dynamics (PBD). Instead of predicting volume deformations based on time integration of Newton's second law, as in FEM-based simulations, the PBD approach models objects as an ensemble of particles whose positions are directly updated, as a solution of a quasi-static problem subject to geometrical constraints [START_REF] Bender | A survey on position based dynamics[END_REF]. This makes it possible both to achieve real-time performances and to avoid 3D meshing process, since particles are placed in space to fill a surface-delimited volume. Stability, robustness and simplicity are among the main reasons for the increasing popularity of the PBD method [START_REF] Bender | A survey on position based dynamics[END_REF]. Even though the time evolution of the system does not depend on the integration of physical laws based on real mechanical parameters, some works showed that different types of properties and behaviours of elastic materials can be simulated with PBD by appropriately manipulating modelling parameters and constraint functions of the system [START_REF] Bender | Position-based simulation of continuous materials[END_REF][START_REF] Rodero | Characterisation of position based dynamics for elastic materials[END_REF].

Although the PBD approach has been mainly applied in computer graphic fields, the enhanced speed, controllability and unconditional stability of this method are its most appealing features for its application to medical simulation as well, where interactions between multiple organs and tools have to be modelled and solved in real-time. The most popular exploitation of the PBD concept in the medical field has been in the development of training simulator for surgical procedures involving dissection, since PBD methods are able to handle topological changes involved in such tasks maintaining real-time interactive performance [START_REF] Berndt | Efficient surgical cutting with position-based dynamics[END_REF][START_REF] Pan | Real-time haptic manipulation and cutting of hybrid soft tissue models by extended position-based dynamics[END_REF]. Some other works have focused on the achievement of particular types of deformations by coupling the PBD formulation with mass-spring models [START_REF] Wang | A mass-spring model for surface mesh deformation based on shape matching[END_REF][START_REF] Xu | Integrating viscoelastic mass spring dampers into positionbased dynamics to simulate soft tissue deformation in real time[END_REF] or for the simulation of knot tying procedure [START_REF] Kubiak | A robust method for realtime thread simulation[END_REF]. Camara et al. employed the PBD scheme to create a patient-specific biomechanical model of the kidney for the real-time simulation of intra-operative US images [START_REF] Camara | Simulation of patient-specific deformable ultrasound imaging in real time[END_REF]. Differently from the works mentioned above, here the authors tuned the most relevant PBD parameters to obtain an accurate simulation. They started from the results obtained in their previous work, where PBD parameters were calibrated by minimizing the distance between real and simulated fiducial positions over a sequence of 3 deformations induced by a US probe pressing on a porcine kidney [START_REF] Camara | Soft tissue deformation for surgical simulation: a position-based dynamics approach[END_REF]; then, they refined such parameters to account for the different material properties of the kidney phantom used.

We propose a method that relies on the position-based dynamics (PBD) concept to approximate the motion of internal structures during US scanning. To the best of our knowledge, this is the first work where probe-induced deformations are taken into account in real time. Starting from the work in [START_REF] Camara | Soft tissue deformation for surgical simulation: a position-based dynamics approach[END_REF], we initialize PBD parameters with those estimated on a deformable calibration phantom resembling the scenario of interest, subject to several different probe-induced deformations. As a following step, we fine-tune such properties on the anatomy of interest by tracking the displacement of one US-visible landmark. The fine-tuning procedure allows to customize model parameters and obtain a patient-specific deformation model that can predict in real-time the displacement of other internal areas, even if they are visible only on the initial MRI, thus improving lesion tracking and targeting during biopsy procedures. The proposed PBD model makes it possible to achieve an accurate and stable simulation of large deformations without even requiring a complex 3D mesh generation procedure (which is needed for FEM), which makes the model easy to be generalized and applied directly to the clinical scenario.

The rest of this paper is structured as follows. In Section 2 we introduce the main principles of the position-based dynamics formulation and we present the setup used for the experiments. Section 3 reports results relative to the calibration and validation phases, which are discussed in Section 4. Finally, Section 5 presents our conclusions.

Methods

Position-based dynamics approach

Position-based dynamics is a simulation approach that computes the time evolution of a dynamic system by directly updating positions, as first described by Müller et al. in [START_REF] Müller | Meshless deformations based on shape matching[END_REF]. Simulated objects are discretized as sets of particles, described by their positions p i and velocities v i , subject to a set of positional constraints C j (p 1 , ..., p n ) 0 (symbol denotes either = or ≥). In the PBD approach, deformation calculation becomes a constraint-function optimization problem. The simulation workflow starts with a prediction step in which simplectic Euler integration is performed to guess new particle positions and velocities. Then, non-linear Gauss-Seidel solver is used to find the correction ∆ p to apply to the estimated positions in an iterative fashion, so that each constraint equation (after linearization) is individually satisfied:

C(p + ∆ p) ≈ C(p) + ∇C(p)∆ p 0 (1)
Since the resulting system is under-determined, the position update ∆ p is constrained to ensure the preservation of linear and angular momenta, which corresponds to forcing ∆ p to lie in the direction of the constraint gradient ∇C. The position update is further weighted by the inverse of the mass matrix M and multiplied by a parameter k ∈ [0, 1] which represents the stiffness of the constraint:

∆ p = kλ M -1 ∇C(p) T (2)
The Lagrange multiplier λ which solves Equation 1 is thus unique and given by:

λ = C(p) ∆C(p)M -1 ∆C(p) T (3)
Finally, computed ∆ p are used to correct both the positions and the velocities.

From this implementation, it follows that simulation behavior and performance are not only influenced by the relative position, dimension and number of particles in space, but also by the constraints acting among particles. For example, large deformations of soft bodies are usually achieved by defining positional constraints among rigid clusters of adjacent particles. This kind of constraint is called region-based shape matching. For all the particles which lie within a cluster, goal positions g i are determined after estimating the optimal transformation T that matches initial and deformed positions (denoted by p 0 i and p i , respectively) in a leastsquare fashion:

g i = T p 0 i 1 (4)
Since clusters can overlap (i.e., particles may belong to multiple clusters) the final goal position for a particle is obtained by averaging goal positions of the corresponding regions.

Position corrections are then computed as:

∆ p i = α(g i -p i ) (5)
where α ∈ [0, 1] is the stiffness used to enforce the constraint. As a consequence, realistic elastic behavior is obtained by appropriately selecting cluster parameters. For example, the higher the number of clusters, the more degrees of freedom the body will have. Efficient implementations of the PBD approach together with the region-based shape matching constraint are currently available in several software libraries, such as the NVIDIA FleX [19].

Experimental Setup

The experimental data are acquired from a Freehand Ultrasound System (FUS) based on a Telemed MicrUs US device (Telemed, Vilnius, Lithuania) equipped with a linear probe (model L12-5N40) and an optical tracking system MicronTracker Hx40 (ClaronNav, Toronto, Canada) (Figure 1). We performed all experiments with an acquisition frequency of 5 MHz and a depth setting of 50 mm, while all the other parameters are kept to default values provided by manufacturer. The spatial and temporal calibration methods used in the study are based on the PLUS toolkit, a software and hardware framework for building research FUS [START_REF] Lasso | Plus: open-source toolkit for ultrasound-guided intervention systems[END_REF]. The overall probe spatial calibration error is below 1 mm (±0.7147), and below 0.5 mm (±0.334) for the pointer used for fiducial points localization required for the rigid registration. Thanks to the FUS, we can know in real-time the position and orientation of the US image plane and therefore extract three-dimensional position of any pixel belonging to the image.

Data visualization and analysis are performed in 3D Slicer, e.g. landmarks-based rigid registration between CT-extracted 3D models and FUS reference system or landmark localization and tracking in US images [START_REF] Fedorov | 3d slicer as an image computing platform for the quantitative imaging network[END_REF]. The simulation environment was developed in Unity 2018.3 using NVIDIA FleX on a workstation equipped with an AMD Ryzen 7 1600 processor, 16GB RAM and a Titan Xp GPU donated by NVIDIA Corporation. The communication between FUS (i.e. US images and tracked objects positions and orientations) and other software modules is based on OpenIGTLink protocol [START_REF] Tokuda | Openigtlink: an open network protocol for image-guided therapy environment[END_REF].

Fig. 1 The FUS system allows to map the real positions of the CIRS breast phantom and the US probe to the 3D Slicer scene (right monitor). Information about probe spatial transformation is communicated to the simulated environment in Unity (left monitor)

Calibration phantom

Simulation parameters of the developed deformation model are initialized on a handcrafted box-shaped calibration phantom (155x100x70 mm), made of ballistic gel as described in [START_REF] Amini | A novel and inexpensive ballistic gel phantom for ultrasound training[END_REF]. In addition to correctly approximating the consistency of the clinical scenario of interest, ballistic gel also has realistic echogenic properties. The realism of the setup is further enhanced with the inclusion of three stiffer beads with a diameter of 18 mm within the phantom, placed at three different heights (47 mm, 53 mm, 63 mm). The main advantage of performing an initial calibration on a minimalistic phantom is that it provides a reasonable starting guess of deformation parameters, common for all the patients. We expect that such parameters will not be able to model each anatomy, and a subject-specific tuning of their values will be necessary to account for inter-patient variability. However, having an initial acceptable guess of the parameters will allow to start the refinement process from a point closer to the optimum and also to restrict the search space, making the pre-operative optimization more efficient. Figure 2 shows the corresponding simulation environment, where the virtual US probe is modelled as a rigid body which follows in real-time its physical tracked counterpart. Probe-tissue interaction is modelled as a contact problem, handled by the default collision detection and response implementation provided by the Unity engine. As boundary condition for the simulation, we fixed all the points which belong to the lowest phantom surface. Despite the presence of stiffer internal parts, the proposed model treats The reason for this choice resides in the fact that, since PBD simulation parameters do not have a direct physical meaning, identification of those that describe heterogeneous material properties would not have been straightforward and would require a thorough study.

In general, PBD simulations are controlled by a high number of parameters, but tuning all of them is out of the scope of this research. In the calibration procedure, we focus on the optimization of the parameters defining the clusters of region-based shape matching constraint present in Nvidia FleX implementation, which control objects' deformable behavior: cluster spacing (i.e., the distance between adjacent clusters), cluster radius (i.e., the radius of each cluster region) and cluster stiffness (i.e., the extent to which adjacent cluster are constrained to each other). Although it is well known that other PBD parameters can have an impact on soft body behavior, we decide to keep their values fixed for all the simulations and to set them in accordance with previous works (Table 1) [START_REF] Camara | Soft tissue deformation for surgical simulation: a position-based dynamics approach[END_REF]. The experimental protocol followed for parameters optimization consists of five acquisitions for each phantom inclusion. The initial rest condition is obtained by only slightly touching the phantom with the US probe, without inducing any deformation. Afterwards, four US images are acquired in correspondence of the center of each bead, by applying downward probe displacements of 5 mm, 10 mm, 15 mm and 20 mm. Estimation of optimal model parameters for the calibration phantom is performed with the genetic algorithm scheme. By generating a population of possible solutions at each iteration in a stochastic way, this methodology eventually evolves towards an optimal solution. This scheme is known for being able to offer good characteristics of exploration and exploitation of the search space [START_REF] Mitchell | An introduction to genetic algorithms[END_REF]. In this work, we rely on the implementation provided in MATLAB (MATLAB R2018b, Mathworks, Natick, MA, USA). We minimize the prediction error, formulated by the following bound-constrained problem:

p * gel = arg min lb<p<ub N ∑ n=1 L ∑ l=1 ||X PBD (p, l, n) -X US (l, n)|| ( 6
)
where p is the vector of parameters to optimize, X PBD (p, l, n) is the position of the tracked PBD particle, X US (l, n) is the reference bead position, both relative to bead n at deformation level l, and the symbol ||.|| represents the Euclidean distance. X US (l, n) are selected on US images as points belonging to bead contours which lie closer to the US probe; this choice is motivated by the better visibility of interfaces on US, and allows to avoid additional inaccuracies induced by image segmentation necessary, for example, for centroid computation. The tracked PBD particle (which gives X PBD (p, l, n)) is chosen as the one with minimum distance from the point on bead contour closest to the US probe, in the rest configuration.

In order to describe the entire model as deformable, we constrain all the particles to fall within at least one cluster by imposing cluster radius to be at least half of cluster spacing.

Lower and upper bounds (lb, ub) for cluster spacing parameter are set to [5; 35] mm, where the minimum value is constrained by particle spacing (Table 1), while the maximum value corresponds to half of the smallest gel dimension. Consequently, cluster radius is restricted to the range [2.5; 15] mm. Instead, cluster stiffness is left free to vary within the entire acceptable range [0; 1].

Breast phantom

The biomechanical model presented aims at predicting the displacement of internal lesions detected pre-operatively that follows from the pressure applied by the US probe. In this work, a realistic multi-modality breast phantom (Model 073; CIRS, Norfolk, VA, USA) is used to evaluate the capability of the PBD model to provide correct estimates of biopsy targets. The 3D model of the CIRS phantom's external surface and 10 inner lesions (diameter of 5-10 mm) is obtained by segmenting the corresponding CT image relying on the active contour approach implemented in ITK-SNAP framework [START_REF] Yushkevich | User-guided 3D active contour segmentation of anatomical structures: Significantly improved efficiency and reliability[END_REF], and they are later simplified (smoothed and decimated) without affecting the topology, using MeshLab [START_REF] Cignoni | MeshLab: an Open-Source Mesh Processing Tool[END_REF] (Figure 3). Coherently with the previous setup, we constrain the motion of all the points belonging to the phantom base. Moreover, gravitational force is not applied in this simulation, since the geometry model already represents the phantom in a gravity-loaded configuration. The PBD model of the clinical scenario of interest shares the same fixed parameters of Table 1. A minimalistic scene of the simulated environment in Unity is made available 1 . In order to obtain a patient-specific simulation, some experiments are conducted to refine the values of cluster spacing, radius and stiffness parameters before applying the model to predict lesions displacement due to US probe interaction. This process, which we refer to as fine tuning, consists of tracking the position of a single US-visible landmark subject to four probe-induced deformations (15, 20, 25, 30 mm) in a similar fashion to what has been done for the calibration phantom (Figure 4). In our case, lesion labelled with number 1 is used as a reference for this procedure. It is worth stressing out that the choice of a lesion as landmark for the fine-tuning solely depends on the fact that it is clearly visible on US for the CIRS phantom we use. Despite its unlikeliness, in case no lesions at all can be detected on US images (one lesion is enough for this procedure), the fine-tuning process can be performed by tracking any other internal structure (like ducts or cysts). Likewise the calibration described above, optimal simulation parameters p * breast are chosen as those minimizing the prediction error of our model (Equation 6), where in this case we only consider n = 1 tracked landmark. Due to the fact that the calibration procedure on the ballistic gel phantom has given us a more precise idea of the range where optimal parameters lie, we perform the fine-tuning exploiting the direct search strategy implemented in MATLAB, which has proven convergence to local optimum and is more efficient than genetic algorithm, provided that it starts from a good initialization [START_REF] Audet | Analysis of generalized pattern searches[END_REF]. In particular, the starting parameter vector is initialized with optimal values obtained for the ballistic gel phantom (p * gel ) and the range for lower and upper bounds for each parameters is restricted to 40% of the initial range, centered in the starting point.

Once optimal parameters are found, the PBD model is updated and used to infer the displacement of each of the other 9 segmented lesions under four deformations, after the probe is moved such that the corresponding lesion can be seen on the US image. The same convention is followed when reporting the results for both calibration and validation experiments. Lesion coordinates extracted on US images in the FUS coordinate system are considered as reference quantities. They are selected on US images as points belonging to bead/lesion contours. Localization errors are computed as Euclidean distance between these positions and the 3D coordinates of the PBD particle which, at rest, lies closer to the same location in the simulation scene. In particular, localization error at deformation l relative to tumor n is defined by:

ε(l, n) = ||X PBD (l, n) -X US (l, n)|| (7)
where ||.|| represents the Euclidean distance.

Calibration

This section reports the results relative to the calibration of simulation parameters on the ballistic gel phantom, and to their fine-tuning on the breast phantom. Table 2 reports optimal values for cluster spacing, radius and stiffness parameters estimated through the genetic algorithm strategy (for the calibration phantom) and the direct search method (for the breast phantom). The average error and standard deviation over all deformations, obtained when predicting the position of lesion 1 (the one selected as landmark for the fine-tuning process) when each set of parameters is used, is also tabulated. The fine-tuning process has allowed to achieve a reduction of 24% in the overall mean target error.

Validation

The PBD model initialized with the values estimated during the fine-tuning process is used to predict the displacement of all segmented inner lesions of the CIRS breast phantom, under four different input deformations. Model-predicted lesion positions can be projected onto US images in real-time, making it possible to track even those lesions which cannot be easily detected on US (Figure 5). The performances of the proposed PBD approach are evaluated with respect to FE implementation of Neo-Hookean hyperelasticity provided by SOFA framework [START_REF] Faure | Sofa: A multi-model framework for interactive physical simulation[END_REF]. The choice of hyperelastic formulation is motivated by its popularity in breast biomechanical modelling and the fact that linear elasticity would not have been able to cope with the large input deformations applied. Young's modulus and Poisson's ratio are set in accordance with the values provided by Visentin et al., which are estimated on the same multimodal phantom we use in this work [START_REF] Visentin | Iterative simulations to estimate the elastic properties from a series of mri images followed by mri-us validation[END_REF]. FE simulation is performed on a mesh of 26,220 linear tetrahedral elements, with the same boundary conditions used for the PBD model. The dynamic evolution of the system is obtained with an Euler implicit integration scheme, along with Pardiso solver to efficiently solve the large system of equations [START_REF] Schenk | Solving unsymmetric sparse systems of linear equations with pardiso[END_REF]. The only difference between the two scenarios follows from the way in which the input deformation is applied. Modelling probe-tissue interaction in a FE scenario as a contact problem introduces kinematic nonlinearities, which would make the nonlinear system of equilibrium equations even more demanding to solve. Therefore, instead of modeling the contacts explicitly, we prescribe the displacement of mesh nodes below the US probe to follow probe motion via penalty method. Coherently with the approach followed for the PBD model, localization errors are computed as Euclidean distance between reference landmarks extracted on US images and the closest node of the 3D FE mesh.

Table 3 shows the errors obtained for each phantom lesion as a function of the applied deformation, and the average error per tumor and per deformation. Input deformations are grouped in five ranges based on the displacements of US probe. In the Table, displacement ranges indicated with D15, D20 and D25 have fixed width of 5 mm and are centered in 15, 20 and 25 mm respectively. The two extreme ranges reported (D10 and D30) collect all the remaining values, i.e. D10 contains all the displacements < 12.5 mm while D30 contains all the values > 27.5 mm. Data which are not acquired for some specific lesions are reported in Table 3 as missing values (-). The average time needed for the PBD model to predict anatomical deformations following the 4 input displacements is 6.99 s (±0.36), which approximately corresponds to 1.75 s for simulating each input deformation. On the other hand, the FE model takes 16.37 s (±0.73) on average, which corresponds to nearly 4.09 s for each input deformation. Real-time performances of the proposed method in predicting lesion position can be appreciated in the accompanying video (Online Resource 1). Figures 6 and7 compare the performances of the proposed deformation model with the FE model and a rigid one. Since deformations are not accounted for in the rigid scenario, errors relative to the rigid case are computed as difference between the lesion position at rest (which always corresponds to the predicted position) and the real lesion position, both identified on US images. This paper presents a biomechanical model able to account for the dynamic behavior of the breast during US scanning. The preliminary calibration of the main deformation parameters on a distinct geometry serves to find reasonable initialization values and can be performed offline once for all. Before applying the deformation model, simulation parameters are refined with a fine-tuning procedure on the final structure of interest, in order to improve parameter values to describe patient-specific features. Even though the fine-tuning process is able to further optimize the parameters, Table 2 shows that errors obtained with the ini-tial set can be considered already acceptable. We expect that once the model is applied to the true clinical context, where the high inter-patient variability in geometries and boundary conditions is unlikely to be described by a single phantom, the role of the fine-tuning will emerge more clearly.

The performance of the PBD model in the prediction of the displacement of internal lesions is also tested. From Table 3 it is possible to evince that for all the inner masses, the average prediction error over all the deformations (second to last column in the Table 3) remains below 7.26 mm, which is comparable to the maximum average error made by the FE model (7.13 mm). If we consider the average error per deformation level, it emerges that while PBD model performs better for smaller input displacements (D10 and D15), FEM has improved performances with larger displacements (D20 to D30). It is well-known that accuracy of FE results would benefit from using a higher mesh resolution, but this would come at the expense of a degradation in computation time [START_REF] Zhang | Deformable models for surgical simulation: A survey[END_REF]. Due to the fact that the main aim of this work is to update lesion position on ultrasounds in real-time for tracking purposes, comparison with a highly refined FE mesh has not been considered in this work. In general, Table 3 clearly shows that there are no significant differences in the errors made by the two models, thus suggesting that the prediction accuracy obtained with PBD model is comparable to that achieved with classical FEM, which is typically used to simulate soft tissue biomechanics. If we consider the trend of the error at different deformation levels (Figure 6), it is possible to immediately notice that performances of the PBD and FE models are highly comparable. In particular, they are both able to keep the prediction error limited even at larger deformations, where the rigid case considerably fails. Instead, for small deformations, all the three models perform in a similar way. Figure 7 allows to analyze the prediction performance of the deformation model over all the tumors. It is immediate to notice that both PBD and FE models outperform the rigid case by at least halvening the prediction error on all the tumors. No remarkable differences between results obtained for the two deformable models can be noticed, with the PBD model performing better than FEM on 6 out of 10 lesions, on average. The biggest average error is obtained for both models for tumor 3, the closest to the phantom base, possibly due to an inaccuracy of the models in tackling lesions in that position (i.e. very close to the boundaries).

Analyzing the computational performances, FE model takes more than twice the time needed by the proposed PBD model to perform the simulation, and even without any significant improvement in prediction accuracy. Although a wide variety of techniques have been proposed to simplify the computational complexity of FEM to meet real-time performances [START_REF] Zhang | Deformable models for surgical simulation: A survey[END_REF], we compare our method with the implementation provided by the SOFA framework, which is the state-of-the-art physics engine for interactive medical applications and it is freely available. In addition, SOFA has been already employed to model probeinduced deformation of soft tissues [START_REF] Moreira | Modelling prostate deformation: Sofa versus experiments[END_REF]. An extensive comparison with more advanced FE implementations will be considered in future work. However, apart from the computational performace, the proposed PBD model has several advantages over FEM. First of all, the mesh-free PBD approach allows to avoid the time-consuming generation of high quality mesh, which represents the major bottleneck in FE simulations (especially in those inolving large deformations) [START_REF] Zhang | Deformable models for surgical simulation: A survey[END_REF]. Since we are targeting a patient-specific context, this represents an enormous advantage because the mesh would have to be constructed everytime, for each patient. Furthermore, thanks to its direct manipulation of positions, the PBD approach can easily handle collisions constraints. Probe-tissue interaction can thus be effectively treated as a collision problem, thus allowing to deal with any input probe position without requiring the explicit definition of the contacting surface. The same does not apply to FE simulations, where the enforcement of contact constraints would introduce a degradation of the performances and stability issues.

The proposed approach relies on the region-based shape matching constraint to model large deformations of soft tissues. The main drawbacks of this implementation are the dependence of the deformable behavior on time step size and iteration count, and the fact that PBD parameters do not have a direct physical meaning. Some advanced approaches that overcome these limitations have been proposed but they are not yet incorporated in Nvidia FleX framework and not even publicly available. In addition, they have never demonstrated to be significantly faster than the shape matching method even in its CPU version, so we can reasonably assume that the optimized GPU-based implementation of Nvidia FleX outperforms both approaches from a computational time point of view [START_REF] Macklin | Xpbd: position-based simulation of compliant constrained dynamics[END_REF][START_REF] Bender | Position-based simulation of continuous materials[END_REF]. In future works, we plan to compare the performances of the proposed method with these extensions and also with other approaches such as mass-spring models, ChainMail and smooth particle hydrodynamics (SPH).

The most innovative aspect of the proposed model relies in its ability to compensate in real-time for the large deformations the breast is subject to due to probe pressure during freehand US acquisitions, thus enabling a precise tracking of biopsy targets. However, this method still has some margin of improvement. First of all, a more controllable and repeatable strategy for the application of deformations should be envisioned, for example by using a probe holder or by performing robotic-assisted acquisition. To further reduce inaccuracies, a more precise selection of corresponding fiducials in real and simulated environments has to be made. For instance, an automatic routine for fiducials identification on US images would allow to avoid human errors involved in the landmarks placement. Regarding the simulated environment, it would be optimal either to increment the total number of particles (thus increasing the degrees of freedom) or to force a particle to lie at the same exact location of the real fiducial. However, both particle amount and their placement in space are handled by the current Unity implementation (optimized for gaming applications) and cannot be controlled by the user. As a further extension, we will provide a complete tool for guiding biopsies by including needle insertion simulation. Despite the advantages provided by a meshless approach in handling topology changes, we expect some major challenges in the modelling of needle-tissue interaction. Afterwards, we envision to apply the same method to improve the effectiveness of US-guidance in other percutaneous procedures, such as prostate biopsy.

Conclusion

Exploiting position-based dynamics formulation for modelling breast deformations has proved successful to online predict probe-induced displacement of internal lesions during ultrasound scanning. By accounting for the deformable nature of the anatomy, the proposed approach achieves accuracy which is comparable with FE models, but with faster computational performance and without even requiring 3D mesh generation. Furthermore, it outperforms rigid models usually employed for lesion tracking in biopsy procedures, and paves the way to a wider range of applications, such as planning of optimal transducer trajectories in robotic-assisted US scanning and realistic ultrasound simulation for training purposes.

Fig. 2

 2 Fig. 2 Calibration phantom in the simulated scene in Unity

Fig. 3

 3 Fig. 3 External surface and inner lesions of the CIRS breast phantom in two different views

Fig. 4

 4 Fig. 4 PBD simulation of the CIRS phantom during the fine-tuning procedure: (a) before and (b) after probeinduced deformation. Different clusters are shown with different random colors

Fig. 5

 5 Fig. 5 The PBD model in the Unity scene (on the left) is used to predict lesion position due to US probe pressure. Updated lesion position is projected on the acquired US image in real-time as a red circular overlay. Circle dimension approximates the average lesion size

6

  Average lesions localization errors in mm at different levels of applied deformations (in mm), for rigid (red), PBD (green) and FE (blue) models.

Fig. 7

 7 Fig. 7 Mean localization error in mm obtained for each tumor for rigid (red), PBD (green) and FE (blue) models. Horizontal dashed lines represent the corresponding average error

Table 1

 1 PBD parameters kept constant for all the simulations

	Parameter	Value
	Time step	0.02 s
	Simulation substeps	3
	Substep iterations	9
	Relaxation type	Local
	Gravity	9.81 m/s 2
	Volume sampling	7
	Particle spacing	5 mm
	Shape friction coefficient	0.35
	Particle friction coefficient	0.25
	Damping factor	12
	Collision distance	3 mm
	Self-collision	True

Table 2

 2 Optimal values of cluster spacing, radius and stiffness parameters estimated with the proposed optimization strategies for the calibration and breast phantoms. Last columns report the mean error and standard deviation over all the deformations in mm, when each set of parameters is used to predict the position of the landmark used for the fine-tuning process

		Cluster spacing Cluster radius Cluster stiffness	Mean Error STD
	Calibration phantom	9.6001	9.1674	0.452390	6.64	2.00
	Breast phantom	11.1626	8.5424	0.464890	5.07	1.62

Table 3

 3 Mean localization error in mm for different tumors considering different deformations ranges in the breast phantom. The first table is for the proposed method, while the second table reports results obtained with the FE model

				PBD method
	TumorID	D10	D15	D20	D25	D30	Mean	STD
	1	-	3.259 3.724	5.307	6.214	4.626	1.190
	2	1.467 4.475 6.700	-	8.347	5.247	2.579
	3	3.689	-	5.590	7.831	11.930	7.260	3.069
	4	5.141 6.011 5.396	5.684	-	5.558	0.325
	5	2.190 2.018 4.501	-	6.694	3.851	1.912
	6	5.644 4.319 3.735	-	3.982	4.420	0.737
	7	2.810 3.961 6.374 10.636	-	5.945	2.998
	8	5.581 5.659 6.120	6.683	-	6.011	0.440
	9	-	4.506 3.833	4.007	4.511	4.214	0.301
	10	4.606 2.990 3.193	3.774	-	3.641	0.627
	Mean	3.891 4.133 4.917	6.274	6.946
	STD	1.499 1.189 1.207	2.213	2.649
				FE method
	TumorID	D10	D15	D20	D25	D30	Mean	STD
	1	-	2.686 2.495	3.626	5.175	3.495	1.060
	2	3.621 5.964 5.804	-	7.087	5.619	1.255
	3	3.793	-	6.952	8.136	9.646	7.132	2.151
	4	4.142 3.886 4.954	4.822	-	4.451	0.449
	5	1.255 1.275 1.590	-	3.758	1.970	1.041
	6	6.581 5.871 6.410	-	6.671	6.383	0.310
	7	5.462 5.614 6.414 10.768	-	7.065	2.169
	8	6.983 4.835 4.874	5.418	-	5.527	0.871
	9	-	5.032 5.277	5.047	6.503	5.465	0.607
	10	2.682 2.831 3.341	2.966	-	2.955	0.245
	Mean	4.315 4.222 4.811	5.826	6.473
	STD	1.816 1.557 1.698	2.523	1.805

https://gitlab.com/altairLab/breastsimulationpbd

Acknowledgements This project has received funding from the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation programme (grant agreement No 742671 "ARS" and No 688188 "MURAB").

Compliance with ethical standards

Conflict of Interest The authors declare that they have no conflict of interest.

Ethical approval This article does not contain any studies with human participants or animals performed by any of the authors.


Philippe Roose

Marc Dalmau

Franck Luthon

A Distributed Architecture for Cooperative and Adaptative Multimedia Applications

Previously, we developed a method and a distributed platform for the re-engineering of applications by adding cooperation. The goal was to supply a way of communication based on the exchange of events, messages and shared data. Now, we propose to adapt this approach (method and platform) to distributed multimedia applications. These applications present the characteristic to be organized around the communication. So, we can consider them as composed of distributed components which have to collaborate. Because it is heavily interactive, such an application needs to adapt itself in real-time to the user and to the environment in which it runs. Our approach consists in breaking down the application into two levels : the first one reflects the users' point of view in terms of functionalities. The second one, reflects the way to achieve these functionalities in terms of quality of service. We propose to organize components into workgroups and subworkgroups corresponding to this two levels. The platform manages these groups and makes them evolve in real time. It also ensures the interoperability of components which cooperate in these groups.

Introduction

Our previous works were about a method for reengineering of applications to provide cooperation. This method considers applications from a communication between modules point of view. It allows a workgroup organization of these modules and a specification of information exchanges between modules and workgroups. It is based on a platform which manages workgroups, circulation of information and creation of information with a higher semantic level. Actually distributed multimedia applications are generally realized with distributed components which are comparable to modules. With an organizational point of view, they use the notion of workgroup of components made up to realize a common task using communication. So, these workgroups of components may be considered as « super-components ».

The critical point in such applications is the need of a high flexibility to provide a certain Quality of Service (QoS). As they are very interactive, they have to adapt themselves quickly to the user's requests. Moreover, as they are distributed, they have imperatively to manage the QoS available at each moment on the network.

We recommend to structure such applications with dynamic subworkgroups of components and dynamic groups (composed of subworkgroups). A subworkgroup is a set of components constituted to achieve a common task respectively to a certain QoS (environment QoS). A group is a set of subworkgroups constituted to realize a service respectively to a user (user QoS). Such groups are managed by rules included into the platform and allow the dynamic reconfiguration of the application according to QoS criteria evaluated by these rules. The circulating of information between and inside dynamic workgroups is done to respect the set of constraints (users, services, throughput, time, etc.). To finish, the platform has a global view of the application (fitting and exchanges). It does not have an internal view of components (their functioning).

So, the platform can have a role of supervision, particularly detecting some critical situations and trying to solve them. Such interventions can be realized by modifying the constitution of workgroups and subworkgroups and creating some information in the communication scheme.

Previous works : ELKAR

ELKAR [START_REF] Roose -Elkar | A Component Based Reengineering Methodology to Provide[END_REF] proposed both a method for the reengineering of applications and a software solution to implement it. We were interested in providing cooperation into existing applications to improve them. Generally, users of these applications had, with the time, included external solutions as file transfer, mail or even sometimes re-input of information.

Our proposition handles the re-definition of the application using existing modules and provides a practical implementation. So, this re-engineering method is entirely based on the structuring of the application with dynamic workgroups and on the emphasis of elements of cooperation (information that needs to circulate). It allows to define rules used by the platform to automatically manage the newly organized application.

The method

The method, entirely based on communication, has to manage elements of cooperation which will be exchanged between modules and workgroups.

The first reengineering task consists in doing an inventory of existing modules and information they will produce or use. In fact, this is a kind of audit. Next, we need to organize these modules into workgroups reflecting an organizational view of the application and managing functional constraints. Each workgroup can be now considered as an actor of the application and we need to bring to the fore information it needs and information it produces. The next step consists in establishing workgroup management rules. It is necessary to be sure that incompatible components may not be included into workgroups and that incompatible workgroups are not created. So, it is important to respect conditions before including/removing an element of a workgroup to avoid inconsistency. At this moment, we have the totality of elements constituting the application : actors (modules and workgroups) and elements of cooperation (events, messages and data). Nevertheless, some elements of cooperation identified as necessary might not be directly available (produced by a module). So, we need to define operators allowing to create them from existing elements. We use specific rules (detective rules [START_REF] Chawki | Activity Specification Using Rendez-Vous -2 nd Int'l Workshop on Rules in Database Systems -RIDS[END_REF]) which role is to capture some information available in order to create those missing in the application. And to finish with this study, we can write the set of rules which may be used by the platform. There are rules to do the circulating of information (with an eventual formatting aspect), rules of supervision to manage dynamic workgroups and those allowing to constitute elements of cooperation not immediately available.

The ELKAR platform

Each site (physical localization) participating to the application implements a platform allowing to provide cooperation. This platform is made of :

-A Communication Manager (CM) : it receives all the information sent to this site and ensures the emission on the network of elements of cooperation to other sites. Its knows the constitution of workgroups to send information to local but also distant members. -An Element of Cooperation Manager (ECM) : it receives all the information locally produced and also those received by the CM. Its role is to identify information, to label it according to its origin and its destination (qualification) and to communicate it to other corresponding managers. -A Module Manager (MM) : Each module of the application is associated with a MM. The MM implements the interface between the module and the platform. It captures information produced by the module, it labels, formats and communicates it to the system. Reciprocally, it receives, formats and transmits information to the module. The existence of the MM is justified because modules have not been designed to work cooperatively with others, but only to exchange information with their immediate environment. -A Rule Manager (RM) : Rules are implemented as independent parallel processes. These rules use and produce elements of cooperation. The role of the RM is to activate rule processes and to take rendez-vous with them when it gets an information for these rules.

This approach of supervision of the cooperation seems to be adapted to other domains than re-engineering. That is what we will try to explain in the following parts.

Architecture for adaptive multimedia applications

Distributed Multimedia Applications (DMA) use the concept of component particularly when tools as Java/RMI or CORBA are used. We will be interested in these two technologies according to two aspects : communication between components and quality of service.

Cooperation and multimedia

There are four kinds of communications established between components : -Events : they allow components to inform their environment of all significant internal changes. When received by other components, these events allow to synchronize their running with those of their partners. -Messages : they can be seen under two main aspects.

Firstly, we think about messages as electronic mail allowing to exchange asynchronous information. They are used as a tool for calling remote procedures because a remote procedure call (RPC) is just a message including the name of the procedure and its parameters. At last, with acknowledgement of messages, it is possible to provide a mechanism of « rendez-vous » or to get back the result of a remote procedure. -Data : Data constituting the information system of the application are distributed to avoid important transfer of information from site to site. Nevertheless, they are remotely available for components. -Flows : It is important to keep in mind that multimedia applications are characterized by their continuous data flow (video, sound) with the highest rate possible. A multimedia flow can be characterized [START_REF] Singhoff | Demeure -Environnement d'exécution pour les applications réparties sous contraintes temporelles : une solution CORBA-RTP -RenPar 10[END_REF] by a succession of procedure invocations decomposed into events corresponding to the transmission/reception of the invocation. So, a multimedia flow is seen as a succession of events.

Interactivity and Quality of Service

Multimedia applications are naturally very interactive. They have to adapt themselves, in real-time, to the needs of users. Each of them wants to get a personalized view of the application where it can find the information he wants, and only that one. This information has also to be adapted to users (different languages, different tools and hardware, etc.). It is mandatory to provide this QoS without modifying profoundly the application, and moreover, without modifying the behavior of running components. For the moment, it is not possible to have a constant QoS over Internet, especially as regards throughput and delays. Applications have to adapt themselves in real-time to these evolving conditions to offer the best possible QoS at each moment.

The proposed solution to address the problem of QoS (user and network aspects) is the use of workgroups and subworkgroups. Indeed, components of a multimedia application may be organized in workgroups and subworkgroups according to the following characteristics : -Component : object or program that performs a specific function and is designed in such a way to easily operate with other components and applications. -Subworkgroup : It is made of cooperating components to achieve a common task. It can be considered as a « super-component » characterized by its role and by the QoS it offers. To adapt to external constraints, we have to incorporate into these subworkgroups the components corresponding to the situation. This allows particularly to choose, for a same role, a weaker but quicker QoS when, for example, the performance of the network does not permit to have the best quality. -Workgroup : they are characterized by the service they provide to the user. Consequently, a workgroup is associated to each user. Its goal is to provide the needed view of the application for the user. The flexibility of the application results from the inclusion/exclusion of subworkgroups in the group.

Supervision

Because components are not able to manage themselves problems of inter-operability (without a strong update) and global constraints of the application, we use rules. They are used by the platform to evaluate and adapt the running components to the environment. These rules adapted from the ECA model [START_REF] Chawki | Activity Specification Using Rendez-Vous -2 nd Int'l Workshop on Rules in Database Systems -RIDS[END_REF] -Event-Condition-Action -are fully managed by the platform. There are two types of rule :

Interoperability rules which manage the flow between components that are not necessarily dedicated to work together.

Supervision rules whose role is to (re-)organize the composition of workgroups and subworkgroups.

All the platform managers and rules are implemented with JAVA as parallel processes and coexist with rules processes. The existence of such a platform with a knowledge of the application (structure of workgroups, information exchanged) allows to completely separate the functional aspect from the organizational aspect.

Presentation of an example : an « unsupervised » videoconference

To illustrate this, we will see a proposition for a multimedia application like videoconference with automatic speaker detection and tracking using signal processing technology [START_REF] Liévin | Franck Luthon -A hierarchical Segmentation Algorithm for Face Analysis -Application to Lipreading[END_REF].

Application organization

The workgroup level will ensure the service layer. If a subworkgroup is included into a group, a new service is ensured. In our application, we have three kind of workgroups.

-Speakers : Each speaker has functionalities to capture and restitute pictures and sound and to realize the detection and the tracking. This allows to track him as he speaks and to detect when there is a speaker change.

-Listeners : The workgroup of components associated to each listener has to contain subworkgroups allowing to restitute pictures, sound and documents produced by the speaker. However, if we consider the problem of speech, it is evident that each user wants to hear the speaker with a language that he can understand. So, its associated workgroup may contain a subworkgroup of components ensuring the direct transmission from the microphone of the speaker or a subworkgroup realizing a simultaneous translation or subtitles. -Translators : When the speaker speaks in French, a translator provides a simultaneous English translation (the hypothesis is that all members understand English).

Each participant to the conference will be represented by an instance of one of these workgroups.

Workgroup organization

Workgroups are constituted of one or several subworkgroups. They represent services provided by the groups. For example, the subworkgroups that we can include into the group Listeners are :

Picture subworkgroup, Original Sound subworkgroup, English translated sound subworkgroup Subtitle subworkgroup

We can see that the addition or the substitution [START_REF] Costa | Luís Caires -A basic Model of Typed Components -ECOOP[END_REF] of a subworkgroup by another into the workgroup associated to a user may adapt the service to the needs of this user. In particular, we pay attention to always transmit according to the listener language. This is achieved by integrating either the "original sound" suworkgroup either the "translated sound" subworkgroup or by using the "subtitles" suworkgroup. Such a realization supposes that we have a way to know requirements of each user (for example here, languages he can understand). We propose a solution based on XML. Such information will be available as XML documents. Each user can fill them. The platform will refer to these documents to constitute workgroups.

Inside subworkgroups, the QoS will be managed by the dynamic (inclusion/exclusion/exchange) of components. Components and number of components constituting a subworkgroup will vary according to external constraints and particularly with those of the network. Thus, if during a laps of time, the available throughput does not allow the direct transmission of a high quality video of the speaker to other sites, it will be possible for these sites to replace components of the picture subworkgroup doing the transmission of video by components doing the same work but with a lower resolution, or to add components which role is to better compress pictures but with a loss of quality. To implement such a flexibility, we of course need information on components (what QoS it provides) but we also need a constant evaluation of conditions of the running environment. We propose that the platform adapts the subworkgroup composition according to measures done on the application performances and according to the characteristics of components available into XML documents.

Communication interactions

The organization of the application is dynamically modified by the platform [START_REF] Xu | Multimedia Service Configuration and Reservation in Heterogeneous Environments[END_REF]. So, even if multimedia oriented components are naturally designed to communicate, they cannot organize communications themselves. For example, a component C 1 conversing with another component C 2 may, instantly, and without being informed see C 3 substituted to C 2 according to a specific demand of the user or to suit with the possible QoS. So, how can the dialog continue without any problem ?

As the platform manage the supervision, components do not have to manage de dynamic of workgroups and subworkgroups. With such an organization, the design of components is fully independent of their use and therefore improve their reuse. Subworkgroups of components we have constituted have to appear like super-components. They have to exchange information between each other in order to collaborate. These elements of cooperation constitute information of a different level than those available on each component of the subworkgroup. They do not reflect the state of an internal component but the state of the whole subworkgroup. It is evident that such information cannot be available from one component of the subworkgroup but has to be made by composition of internal information of the subworkgroup. Because our application is executed on a platform managing the supervision, it is not desirable to delegate to components the management of the dynamics of workgroups and subworkgroups they are included into. Next, we need to study information directly available when this component is into a subworkgroup with a known composition. After that, it is possible to define rules which build the information needed by each component from available information. We can illustrate this in the previous application if we want to replace the sound by sub-titles (for disabled-listeners for example). When components doing the broadcasting of pictures collaborate with those doing the broadcasting of the sound, they have to exchange synchronization events corresponding to temporal events (end of frame transmission) [START_REF] Goff | Real-time analysis-synthesis and intelligibility of talking faces[END_REF].

On the other hand, when sound becomes text, we have to manage the conformity between speech and text. In the first case, components ensuring the broadcasting of sound are synchronized to those concerning the broadcasting of pictures by the use of temporal events. It is not possible to do the same in the second case, because it is not conceivable to suppose that the component producing subtitles is designed to synchronize itself from pictures broadcasted. So, we have to give it significant events to run correctly. We will design a rule which will receive events from components broadcasting the picture and events from components broadcasting the sound of the speaker. These events will permit to synthesize events corresponding to the wording of each sentence. These events will provoke procedure calls to the sub-title component of the subworkgroup to print the corresponding text. In fact, we can imagine that the rule itself do part of the signal processing to detect end of sentences with information provided by both corresponding components. With this way to tackle the problem, we transfer onto rules part of the activity of the application. This part is not the role of components because it is not issued from the goal to reach but it is issued from how to reach this goal.

The platform

Each site needs to have its own instance of the platform. The platform manages the communication between sites, the capture of events and messages provided by each component, and the triggering of rules. Moreover, it has to dispose of XML descriptions of users and to do real-time measurement of the QoS.

Platform architecture

We propose an architecture close to the one we made in the ELKAR project. Thus, we find the Communication Manager (CM), the Rule Manager (RM), the Element of Cooperation Manager (ECM). Nevertheless, we have to foresee a service to provide XML documents. So we propose a distributed database containing the needed information to realize the supervision of the application. Furthermore, we will find updated information describing the constitution of workgroups, subworkgroups and the characteristics of each component. Each space contains an XML description of the elements it defines : -The user space contains a description of the set of members allowed to be included into the application (login, role, location, language, …) and its requirements in relation to the application. -The component space is a description in terms of roles, functionality and QoS of each component available for the application (procedures, call and return parameters, the site where it is executed, resources needed, …). We will find information on elements needed/created by this component and characteristics about its participation to subworkgroups (conditions to enter/exit, incompatibilities, etc.).

-The workgroup space allows to know both present workgroups and subworkgroups, their constitution and the geographical localization of each of their members. -The QoS space (the Adaptor in [START_REF] Li | A Control-based Middleware Framework for Quality of Service Adaptations[END_REF]) contains information about constraints to respect in order to have a good execution of the application according to the QoS to obtain. This information will be expressed with temporal logic [START_REF] Costa | Luís Caires -A basic Model of Typed Components -ECOOP[END_REF]. -The flow space contains a description of data flow into the application and a description concerning components which create or use these flows.

Some documents are directly issued from the analysis (Component and QoS spaces) whereas others are updated as the application is running (workgroup and flow spaces). To finish, the user space is a configuration of the application done for each new use.

This description of each space using XML, allows to have a generic model but also to validate the coherency using DTD (Document Type Definition). With DTD, it is possible to represent documents as graphs [6][7] and do checks and operations on them. Thereafter, the use of XML will facilitate the re-use of these documents because the platform implements procedure calls with SOAP (Simple Object Access Protocol) based on XML [START_REF]SOAP Version 1.2 -W3C Working Draft 9[END_REF].

Running of the platform

The role of the various managers (CM, ECM, RM) are conform to those described in ELKAR [START_REF] Roose -Elkar | A Component Based Reengineering Methodology to Provide[END_REF] (communication, elements of cooperation management, rules management). The main modifications with the ELKAR are dynamic reconfiguration of managers using information described into work spaces previously described instead of a static running. The main part of work done by the platform is contained into the rules it uses. The running of these rules is synchronized by elements of cooperation circulating and configured with descriptions available in the different spaces. Some rules will measure performances to check the respect of constraints. These rules may, if needed, take the initiative to modify the composition of workgroups and subworkgroups in order to adapt them to current conditions (workgroup space). For example, a rule receiving messages corresponding to the broadcasting of pictures of the camera (of the speaker) can measure the time between two successive frames and check if it is under the time limit required by the QoS (QoS space). If the throughput becomes inadequate and according to the difference measured, the rule can choose to substitute some components of the subworkgroup broadcasting pictures of this user to replace them with lower quality components (component space). Of course, it not possible to remove a component from a subworkgroup regardless of the coherency of the set. So it is imperative, before removing a component, to be sure that no other component is waiting for a message or an event from it. Rules managing the supervision of workgroups and subworkgroups have to wait the opportune moment to operate before removing or adding a component. The rule itself can also produce the information waited for a component to avoid its locking.

Conclusion

In this paper, we have presented a fully distributed and web-services based architecture for multimedia applications. Our works are at the crossroad of several research domains which are particularly actives : technical inter-operability to insure web-services (multimedia), approaches based on components (software and hardware), QoS and networks. The increasing bandwidth of networks let us suppose that Internet may become more and more accessible for such applications. So we decided to focus on "web-oriented approach". This has two main advantages : components may inter-operate easily using XML messages (becoming a universal technology) and the problem of protocols as IIOP is avoided. More and more, applications are based on distributed components. Nevertheless, and on the contrary to several approach, it does not seems realistic to let components managing both objectives and running constraints. This should be the opposite of the component paradigm. So, with the cooperation model we proposed, components do not have to include the management of constraints (moreover, it may be impossible because they cannot have a global knowledge of constraints). Distributed components based applications are essentially built on the exchange of elements of cooperation (events, messages, data). The control of these exchanges managed by a platform containing all information on the constraints to respect, allows a precise and dynamic supervision of the application. Because of these aspects, re-enginnering methods and those corresponding to cooperative applications put forward solutions particularly suitable to this kind of organization. The structuration on workgroups managing the goal to reach and the QoS gives a global view of the application which is described by a set of documents used by the platform to modify this structure.