Linlin L Wang
email: wang@lms.polytechnique.fr

Michel Bornert

Serge Chanchole

Diansen S Yang

Eva Héripré

Arnaud Tanguy

Daniel Caldemaison

E Heripre

Micro-scale experimental investigation of the swelling anisotropy of the Callovo-Oxfordian argillaceous rock

Keywords: argillaceous rocks, radioactive waste repository, anisotropic swelling, environmental scanning electron microscopy, digital image correlation, local strain field, geomechanics

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

The Callovo-Oxfordian (COx) argillaceous rock is being studied as a potential host rock for an underground radioactive waste repository in France, because of its low permeability and other favourable properties. A key feature of this material is its swelling property (i.e. considerable volume increase under wetting), essentially induced by the clay minerals it contains. The swelling of COx argillaceous rock has been found to be anisotropic on the macro-scale: it is much more significant along the direction perpendicular to the bedding plane than along the directions parallel to it (Pham et al., 2007;[START_REF] Vale | Modes de de ´formation et d'endommagement de roches argileuses profondes sous sollicitations hydro-me ´caniques[END_REF][START_REF] Yang | Dependence of elastic properties of argillaceous rocks on moisture content investigated with optical full-field strain measurement techniques[END_REF]. This anisotropy can possibly be linked to various mechanisms, among which are: (1) preferred orientation of clay particles exhibiting anisotropic swelling and mechanical properties, (2) anisotropic shape, orientation and spatial distribution of other mineral inclusions, and (3) anisotropic microcracking induced by wetting. It is acknowledged that the clay particles play a key role in the swelling anisotropy of the argillaceous rock, essentially because of their layered microstructure. Indeed, swelling of clay particles is essentially an increase of inter-layer and inter-particle spaces, so that it is predominant along the direction perpendicular to the layers.

Anisotropy also exists for the mechanical properties of clay particles: the stiffness along the direction normal to the layers is much lower than along other directions [START_REF] Sayers | The elastic anisotropy of shales[END_REF][START_REF] Ortega | The effect of the nanogranular nature of shale on their poroelastic behavior[END_REF]. Hence, the orientation of clay particles is a crucial parameter for swelling anisotropy. It sounds reasonable that the clay particles in this sedimentary rock are oriented such that the layers are preferentially parallel to the bedding plane. However, this is only partly confirmed by X-ray diffraction characterization, which reveals that the COx argillaceous rock shows a relatively weak alignment of clay minerals compared to other rocks [START_REF] Wenk | Preferred orientations and anisotropy in shales: Callovo-Oxfordian shale (France) and Opalinus Clay (Switzerland)[END_REF]. The other mineral inclusions (mostly carbonate and quartz) are insensitive to water and their mechanical properties can be considered to be more isotropic. However, their shape, orientation and spatial distribution might give rise to the swelling anisotropy through the mechanical interactions between these inclusions and clay. Indeed [START_REF] Vale | Modes de de ´formation et d'endommagement de roches argileuses profondes sous sollicitations hydro-me ´caniques[END_REF] has observed some anisotropy in the spatial distribution of the constitutive phases of this rock: larger calcite and quartz grains (above 150 mm in size) exhibiting an anisotropic shape are, for instance, preferentially oriented along the bedding plane; a similar preferred orientation is also observed for elongated clusters of smaller grains, as well as for pyrite veins. In addition, [START_REF] Wang | Micromechanical experimental investigation and modelling of strain and damage of argillaceous rocks under combined hydraulic and mechanical loads[END_REF] has found evidence of a network of micro-cracks induced by wetting (with typical openings ~1 mm), preferentially extending parallel to the bedding plane. This anisotropic micro-cracking, which cannot be observed by unaided eyes, may also contribute to the anisotropy of the swelling strain recorded in the existing macroscopic experimental results.

Although the swelling anisotropy of the COx argillaceous rock has been confirmed on the macroscale, its microscopic mechanisms are still uncertain. In particular, the relative contribution of the various possible mechanisms mentioned above has not been evaluated. The purpose of this paper is to quantify the swelling of this rock at the particle scale and to characterize the spatial distribution of these swelling strains within the microstructure. The results provide an improved insight into the mechanisms of the swelling anisotropy.

MATERIAL

The tested material is the COx argillaceous rock from the Meuse/Haute-Marne underground research laboratory at Bure, in France. It contains 25À55% clay minerals (by weight), 23À42% carbonate (calcite, dolomite and ankerite), 20À31% quartz and feldspars, and a small percentage of subordinate minerals [START_REF] Andra | Re ´fe ´rentiel du Site Meuse/Haute-Marne[END_REF]. The clay minerals in this rock are principally interstratified illite/smectite (I-S), illite, mica, chlorite and kaolinite, among which I-S is the most abundant.

The microstructure of argillaceous rocks has been extensively studied [START_REF] Sammartino | Spatial distribution of porosity and minerals in clay rocks from the Callovo-Oxfordian formation (Meuse/Haute-Marne, Eastern France) implications on ionic species diffusion and rock sorption capability[END_REF][START_REF] Robinet | Effects of mineral distribution at mesoscopic scale on solute diffusion in a clay-rich rock: Example of the Callovo-Oxfordian mudstone (Bure, France)[END_REF]. In general, such rocks appear as a composite made of a continuous clay matrix with mineral inclusions scattered. The size of quartz grains varies from 10 to 100 mm, while that of carbonate is more variable: micron-sized small grains are found together with larger particles which can reach 200 mm or more in length. Both carbonate and quartz grains, exhibiting statistically a moderately elongated shape, seem to be preferentially oriented parallel to the bedding plane [START_REF] Vale | Modes de de ´formation et d'endommagement de roches argileuses profondes sous sollicitations hydro-me ´caniques[END_REF][START_REF] Robinet | Effects of mineral distribution at mesoscopic scale on solute diffusion in a clay-rich rock: Example of the Callovo-Oxfordian mudstone (Bure, France)[END_REF]. The 3D connectivity between other mineral particles and carbonate grains in particular however remains unclear.

EXPERIMENTAL METHOD

ESEM

The experimental investigation of this work benefited from a combination of high-resolution imaging with an environmental scanning electron microscope (ESEM) and digital image correlation (DIC) techniques. A series of ''multi-step'' wetting experiments and associated micro-scale observations were performed in an ESEM (FEI Quanta 600). The principle of controlling the relative humidity (RH) in the ESEM is as follows. By definition, the RH depends merely on temperature and water vapour pressure. The specimen temperature is controlled by a Peltier module which can be fitted on the ESEM motorized stage. The module used in this work enables temperatures in the range À20º to 50ºC to be obtained. By an iterative purge process, the dry air initially present in the ESEM chamber can be pumped out so that the chamber can be filled with water vapour only. Hence, wetting (increase of RH) can be achieved by controlling both the specimen temperature and the gas pressure, equal to the water vapour pressure, in the ESEM chamber.

In addition, a micro-scale observation by ESEM in back-scattered electron (BSE) mode reveals the composite microstructure of this rock. The large inclusions appear as isolated domains with an almost uniform grey level (quartz grains are darker than calcites), while the clay matrix exhibits a micrometric heterogeneity. The presence of water vapour would degrade the image quality because it disturbs not only incident electrons but also the emitted signals. Since water vapour pressure increases with temperature for a given RH, it is desirable to keep the temperature as low as possible from the viewpoint of high image quality (i.e. highly contrasted images with as low as possible image noise) which is a key issue for DIC analysis. In this study, the RH is controlled by changing the ESEM chamber pressure at a constant temperature of 2ºC. We refer to [START_REF] Wang | Micromechanical experimental investigation and modelling of strain and damage of argillaceous rocks under combined hydraulic and mechanical loads[END_REF] for a detailed discussion on this choice.

Strain field evaluation by DIC techniques

The images recorded by the ESEM were analysed by DIC techniques, which quantify local strain fields of the material. Generally speaking, the 2D-DIC technique permits measurement of inplane components of the displacement field in observed zones with sub-pixel accuracy by searching matching-subsets between an image of some chosen reference configuration of the sample and images of the same area after deformation [START_REF] Sutton | Image correlation for shape, motion and deformation measurements: basic concepts, theory and applica-tions[END_REF][START_REF] Bornert | Corre ´lation d'images[END_REF].

The in-house software CMV developed at the LMS and Navier laboratories, implementing the DIC method and various post-processing routines adapted to a micromechanical analysis (see Allais et al., 1994, for details), is used for the DIC analysis and strain measurements performed here. Based on this analysis, the in-plane components of local strains (e xx , e yy , e xy ) can be evaluated at some local gauge length depending on the image characteristics and chosen DIC parameters. In addition, the two inplane eigenvalues of the 2D Green-Lagrange strain tensor (namely e 1 and e 2 with e 2 > e 1 ) and the angle y between the e 2 direction and the vertical axis of the reference image can be determined. These quantities can also be evaluated for the whole region of interest (ROI), and will be referred to by capital letters; for instance, global principal strains are E 1 and E 2 . It is emphasized that the components of the deformation gradient relative to the whole ROI are by definition the spatial averages of the local ones, but E 1 is not the average of e 1 because of possible local fluctuations of the angle y.

The 2D observations in this work were performed on selected zones of the sample surface with a size of 256 mm6221 mm (corresponding to a nominal SEM image magnification 6500), and the related images were recorded with high definition (409663536 pixels) for the DIC analysis. Hence, the physical length represented by a pixel is 62.5 nm. The matching-subset was chosen to be 40640 pixels, i.e. 2.5 mm in physical size. According to this size and the procedure employed to compute local strains (making use of the displacements of the eight closest neighbouring positions of a given measurement position), the gauge length for local strain measurement is 80680 pixels, i.e. 5 mm in real space. Under these experimental conditions, the standard deviation of the experimental errors in the measured local strain components in the clay matrix is about 0.1%, with the maximum below 1%. This error is larger in other mineral inclusions due to the lack of an appropriate local image contrast, but this is not really a problem since such inclusions do not swell.

Sample preparation and experimental procedure

To study the swelling anisotropy of the COx argillaceous rock, two observation planes were prepared on two separate samples extracted from the same core: plane 1 parallel to the bedding plane and plane 2 normal to it (see Fig. 1). Sheet-like FIG. 1. Two observation planes.

specimens, with ~1 mm thickness and in-plane extensions of several millimetres, were prepared under standard room conditions. The small thickness can considerably reduce the time taken to reach the steady state after each wetting step for such a weakly permeable material. To obtain a smooth and well contrasted surface, specimens were polished with abrasive paper in four stages with an increasing grade from 800 to 4000. Moreover, special attention was paid to keeping both sides of the specimen flat and parallel so that the observation plane was perpendicular to the ESEM optical axis.

Both samples (one for each observation plane) were subjected to the same ''multi-step'' wetting test. At first they were cooled down to a temperature of 2ºC and the pressure was adjusted (249 Pa) so as to reach a RH of 35%. Its steady state serves as reference configuration for strain measurements. Four subsequent RH steps were then obtained (Fig. 2) by adjusting the chamber vapour pressure while keeping the temperature constant. In the last step, the pressure was 713 Pa corresponding to a very high RH of 99%. Specimens were unconfined during the test (i.e. free swelling condition). For each wetting step, the RH was modified at a fixed rate (5% RH/min) until the prescribed value was reached. This moderate rate of RH change rate helps to avoid micro-cracking at high RH levels which has been observed at higher rates [START_REF] Wang | Micromechanical experimental investigation and modelling of strain and damage of argillaceous rocks under combined hydraulic and mechanical loads[END_REF]. Then the ESEM chamber pressure was maintained constant until the steady state for the given RH was reached. BSE images of eight ROIs (four for each observation plane) selected for the DIC analysis were recorded every 30 minutes during this transient moisture transport stage. Moisture equilibrium was considered to be reached once the overall incremental strain measured between two images recorded successively was sufficiently small for all these observation zones (in practice a threshold of 10 À4 was adopted, corresponding to the accuracy of the overall strain measurement). The next wetting step then started. For the thin samples prepared in this work, a wetting step lasted ~2 h and ~11 h were required for completing the entire test.

RESULTS

Plane 1

The four ROIs of plane 1 are shown in Figs 3À6 and their global principal strains are given in Fig. 7. These curves exhibit a bi-stage swelling: the strain is extremely small at low RH, while it becomes more significant at higher RH level. The threshold of this non-linearity is around 75%. Averaging the strains over the four ROIs, the major strain E 2 is 0.16% for the first stage from RH = 35% to 75%, and it becomes 0.93% for the second stage to 99% RH. One can refer to [START_REF] Wang | Micromechanical experimental investigation and modelling of strain and damage of argillaceous rocks under combined hydraulic and mechanical loads[END_REF] for a detailed discussion on the mechanisms of this nonlinear swelling. The two principal strains are fairly similar in plane 1. The principal directions y are dissimilar for the four studied zones. For instance, it is about 70º for zone 1, while it is 45º for zone 2 (see Fig. 13). All these results imply that there is no apparent global swelling anisotropy in plane 1. Indeed the fluctuations of principal directions Y and the small differences between E 1 and E 2 are due to the small dimensions of the observation zones which are too small to be considered as representative volume elements (RVE). The measured average strains are thus sensitive to the local statistical realization of the microstructure.

The local strain fields (e 2 : major swelling strain) of the four ROIs in plane 1 are also presented (Figs 3À6). In general, the strain maps are very similar for different wetting steps. Hence, only the total strain maps (i.e. strain induced by 35À90% RH increase) are presented here and can be considered as representative of all wetting steps in terms of spatial distribution and local orientation of the strain field. The strain maps at such a local scale are strongly heterogeneous but well correlated to the microstructure: some violet and blue (i.e. low swelling) domains, naturally often located on the non-swelling inclusions, are wrapped by yellow and FIG. 2. Four-step wetting path of this work. red bands (i.e. high swelling) which are spread throughout the clay matrix. However there are also areas in the clay matrix which almost do not deform. In fact, this heterogeneous strain field results from a complex interaction phenomenon: the clay matrix tends to swell with increasing RH due to its specific swelling property, but it is inhibited by the non-swelling inclusions so that a local stress field would be generated even without external confinement. The heterogeneity inside the clay matrix, such as different clay groups with dissimilar swelling capacities and various clay particle orientations, may also contribute to the generation of local stresses. The total strain is indeed a sum of the free swellings and the strains induced by the internal stress field.

Concerning the high swelling bands in the clay matrix observed in plane 1, they are more or less randomly oriented, without any clear preferred orientation. In some cases, these swelling bands tend to drape the neighbouring inclusions so that their orientations are strongly controlled by the shape and orientation of the latter (an example is outlined in Fig. 3). The symbols used to represent local strains in strain maps are crosses with a major axis indicating the direction of major strain e 2 (measured by local angle y). It is shown that the local e 2 directions are generally perpendicular to the local orientation of swelling bands (an illustration is given in Fig. 3). This implies that these deformation bands are indeed extension bands, rather than shear bands, for which the local e 2 direction would be at 45º with respect to the orientation of the bands. The statistical distributions of these local principal directions y in each ROI can be quantified by their probability distribution function (pdf) shown in Fig. 14. No preferred direction of local principal strain is observed in plane 1.

When the sample was humidified to extremely high RH (and only in that case), some micro-cracks appeared either in the clay matrix or on inclusion boundaries. The latter case is associated with decohesion of the inclusion-matrix interface which leads to a high local extension (an example is outlined in Fig. 5).

Plane 2

The four ROIs in plane 2 are shown in Figs 8À11. The bedding plane is horizontal in these images. Compared to plane 1, the inclusions in plane 2 are broadly smaller and seem to be more elongated. In addition, some pre-existing microcracks were found in all ROIs of plane 2, mostly extending along the bedding plane (i.e. horizontal in the image). This suggests a probable damage of the sample for plane 2 before the test, which was not observed in plane 1 even though samples were prepared under the same conditions. The overall strains of the four ROIs are presented in Fig. 12. Similar to plane 1, the bi-stage swelling is also evident on the strain curves, and the threshold seems to lie between 75% and 85% RH. However, in contrast to the swelling isotropy in plane 1, noticeable anisotropy is manifest in plane 2. The average major strain E 2 of the four ROIs is 1.12% for 35À99% RH change and E 1 is 0.32%, so the swelling anisotropy (ratio of E 2 to E 1 )i s3 . 5 . Moreover, in opposition to various values measured in plane 1, the principal directions Y are always close to 0º for all the four observation zones in plane 2 (Fig. 13), indicating that the preferred swelling direction is perpendicular to the bedding plane, as already noticed by other authors (e.g. Pham et al., 2007).

It should be noted that the major strain E 2 in plane 2 is comparable with the principal strains in plane 1, though the two samples with different observation planes were extracted from a same larger core sample. This is in disagreement with the existing macro-scale results [START_REF] Vale | Modes de de ´formation et d'endommagement de roches argileuses profondes sous sollicitations hydro-me ´caniques[END_REF], which have revealed that E 2 is much greater than E 1 in plane 2 and that the latter is comparable to the principal strains E 1 and E 2 measured in plane 1. In the present case, one would similarly expect the similar principal strains in plane 1 to be comparable to the minor strain parallel to the bedding plane in plane 2. The reason why this is not the case, more precisely why the strains in plane 1 are much larger for similar RH variations, is not clear. This might be related to the prior damage caused during sample preparation as suggested by the formation of cracks parallel to the bedding plane observed in plane 2 (as shown in Fig. 8) but not in plane 1. Under wetting, the swelling of the clay matrix is partly offset by closing of pre-existing micro-cracks so that the global E 2 would be much smaller than that on an undamaged sample. This could explain a low value of E 2 in plane 2, since these cracks are mostly parallel to the bedding plane, but hardly the high strain values in plane 1. Another possible cause could be a difference in mineral composition in ROIs, but no significant difference in inclusion content (from a rough estimation on BSE images) was observed between the two planes. A third explanation could be that the thin samples have undergone an additional overall bending because moisture infiltration would preferably proceed from the observation surface, and not from the opposite side. Swelling would be larger on the upper surface than on the lower one during the transient stages of the test. This may lead to an overall irreversible strain, still present when hydric equilibrium is reached. Such a bending would be bi-directional for plane 1 and unidirectional for plane 2, because of the anisotropy of the material. The detailed analysis of such phenomena is left for further investigations. They should however not modify the The major swelling strain maps (again for 35À99% RH change) of the four ROIs in plane 2 are presented in Figs 8À11. Swelling bands are still observed but they are now preferentially oriented along the horizontal axis (i.e. parallel to the bedding plane). This is particularly true in zone 4 where two horizontal highly strained bands appear in the strain map (Fig. 11). This is clearly different from the observations in plane 1 in which no preferred orientation of swelling bands is observed. Moreover, the pdf of the local y angle (Fig. 14) is concentrated between À30º and 30º and exhibits an intense peak at y = 0º for all the four ROIs in plane 2. This means that the local e 2 directions are predominantly normal to the bedding plane, which coincides with the global Y.

In summary, there are clearly some features in the observations of planes 1 and 2 which are dissimilar. In plane 1, the overall strain is fairly isotropic, the high swelling bands are randomly oriented in strain maps, and so are the local e 2 directions. However, anisotropy manifests in plane 2; the overall strain is clearly larger along the direction normal to the bedding plane, swelling bands in strain maps are preferably parallel to the bedding plane, and a clearly preferred direction normal to the bedding plane is found for the local major strain.

DISCUSSION

Preferred clay-particle orientation

The gauge length of the local strain measurements performed in this work is 5 mm, which is comparable to the size of a clay ''aggregate'' consisting of several individual micrometric clay particles with similar orientation. Hence, the e 2 direction is likely to incorporate information about the clay-particle orientation; indeed the former would be normal to the latter under a free-swelling condition. However, as discussed previously, the strain measured here is a sum of the free swelling of clay minerals and the strain induced by the internal stress field. Because of the lamellar microstructure, the mechanical property of a clay particle is also strongly anisotropic with, in particular, a much larger deformability (i.e. lower stiffness) normal to the layers, so that the mechanical strain might also be predominant along this direction. Hence, the direction of the total strain may not deviate too much from the normal to the layers. As a consequence, the local e 2 direction could be used, at least as a first approximation, as an indicator of the local clayparticle orientation. This interpretation is at least consistent with the observed distribution of local strain orientations (Fig. 14), with no preferred orientation in plane 1 and a pronounced alignment normal to the bedding plane in plane 2.

Another comment can be made on the orientation of deformation bands, which has been often been found to be normal to the local e 2 direction. As a consequence, the orientation of these swelling bands is expected to be mostly aligned with the local clay particle layers. This would again be consistent with the fact that the deformation bands are mostly parallel to the bedding plane in observation plane 2, and more randomly distributed in plane 1. An additional mechanism of the preferred orientation of swelling bands is the spatial distribution of inclusions, which is essentially random in plane 1, but exhibits anisotropy in plane 2, consisting both in a preferred orientation of inclusions and in a tendency of grains to align with respect to each other along the bedding plane. These two phenomena may explain the global preferred orientation of deformation bands in plane 2 and its absence in plane 1. The detailed path of the deformation bands is, however, also determined by the complexity of the local mechanical interactions and the associated stress field induced by the incompatible swelling deformation of different constituents in the rock. Global expansion bands may thus locally be shear bands no longer parallel to clay particles. Hence, their orientation is less likely to be an indicator of the local particle orientation, in particular in the vicinity of inclusions where a considerable portion of the total strain is induced by mechanical stresses.

Anisotropic swelling of clay particles

From the arguments developed in the previous section, the local preferred orientation of clay particles could be estimated from the local e 2 direction in this work. Another interesting question is to quantify the local swelling anisotropy of clay particles. As it is difficult to separate free-swelling strains from mechanical ones, a direct measurement of this quantity seems to be out of reach. However, it makes sense to quantify the total strain anisotropy on the scale of the clay particles. This is the purpose of this last section.

To do so, the pdf of the total local principal strains (35À99% RH) are quantified (Fig. 15). Local e 1 strain pdf varies from À5% to 4% and exhibits a peak at 0 for both observation planes. The local e 2 strain can attain 10% and the most frequent values are also comparable in the two planes; it is 2% for plane 1 and 1.5% for plane 2. In addition, the distribution function in plane 2 is narrower than in plane 1, implying that the strain field in plane 2 is less heterogeneous.

Considering the measurement error (also shown in Fig. 15 and estimated by plotting the pdf of the principal strains obtained when comparing two images without deformation), the actual distributions of local e 1 strains would be narrower (the presence of measurement errors tends to enlarge pdfs), so more concentrated around 0. This means that local swelling strains (of clay particles) are rather unidirectional. Hence, their anisotropy is very pronounced. One may evaluate from these data a lower limit of the local strain anisotropy from these pdfs. In plane 1, local e 2 strain may reach 8% and more, while local e 1 strain is almost always below 3%, so that the ratio between local principal strains is at least 2.7, which may explain the average anisotropy of 3.5 observed on the investigated ROIs on plane 2. This local anisotropy is much larger than the one observed at macroscopic scale which is of ~2 [START_REF] Vale | Modes de de ´formation et d'endommagement de roches argileuses profondes sous sollicitations hydro-me ´caniques[END_REF][START_REF] Yang | Dependence of elastic properties of argillaceous rocks on moisture content investigated with optical full-field strain measurement techniques[END_REF].

Note also that the presence of negative local strains e 1 , which might sound surprising in a swelling experiment, can be explained by the complex mechanical interactions which can induce some compressive local strains.

In summary, among the various possible mechanisms of the swelling anisotropy, it seems that a strong local swelling anisotropy of clay particles, which are likely to deform almost unidirectionally, and a preferred orientation of these clay particles parallel to the bedding plane, is the most important one. The anisotropy of the shape, orientation and distribution of the other mineral inclusions is observed but is not pronounced. It may contribute to a faint preferred orientation of deformation bands parallel to the bedding plane but its contribution to the global swelling anisotropy seems to be limited.

CONCLUSION

By means of a combination of ESEM and DIC techniques, the swelling of COx argillaceous rock was investigated at the micrometric scale of its inclusion-matrix composite microstructure. The observations were conducted on two planes; parallel and perpendicular to the bedding plane. The physical size represented by a pixel in the images processed by DIC is about 60 nm, and the local strain gauge is 5 mm which is comparable to the size of clay particles.

Strongly heterogeneous local deformation fields induced by wetting were evident. They essentially result from the combination of the free swelling of the clay matrix and the mechanical strain associated with a local stress field induced by heterogeneity. The global swelling of this rock is known to be anisotropic, being more intense along the direction perpendicular to the bedding plane. Some anisotropy can be qualitatively discerned in the spatial distribution of the swelling bands observed in the clay matrix, which might be induced by anisotropic spatial distributions of clay and other mineral inclusions within the microstructure. But the proposed statistical analysis of local principal strains and of their directions strongly suggests that the main source of overall swelling anisotropy is related to the anisotropic clay particles and their orientation; they would undergo an almost unidirectional local swelling with increasing RH and exhibit a preferred orientation parallel to the bedding plane.

FIG. 3 .

 3 FIG.3. Observation zone 1 of plane 1: (a) BSE image and (b) e 2 strain map induced by a RH change from 35% to 99%. An example of a highly strained deformation band oriented along an inclusion boundary is outlined; moreover, the local e 2 directions inside are perpendicular to its orientation, which implies that this band is associated with a swelling band.

FIG. 5 .

 5 FIG. 5. Observation zone 3 of plane 1: (a) BSE image and (b) e 2 strain map induced by a RH change from 35% to 99%. A micro-crack induced by wetting (i.e. decohesion of a coarse quartz grain from the clay matrix) results in a high strained domain, outlined in (b).

FIG. 7 .

 7 FIG. 7. Overall strains of the four observation zones in plane 1.

FIG. 9 .

 9 FIG. 9. Observation zone 2 of plane 2: (a) BSE image and (b) e 2 strain map induced by a RH change from 35% to 99%.

FIG. 11 .

 11 FIG. 11. Observation zone 4 of plane 2: (a) BSE image and (b) e 2 strain map induced by a RH change from 35% to 99%.

  FIG. 14. Probability distribution function of y in planes 1 and 2.


Sylvain Vauttier
email: sylvain.vauttier@site-eerie.ema.fr

Christelle Urtado
email: christelle.urtado@site-eerie.ema.fr

Improving statechart composition and reuse in UML

Keywords: component-based development, reuse, composite object behavior, statecharts, UML

Resume: Composite objects reveal themselves to be very useful in component-based development processes for the modeling, the management and the reuse of component assemblies. Although the composition relationship notion has been widely studied, in order to use the composite objects' structure as a mean to model and manage complex data, few works have investigated the modeling of composite object behavior. Indeed, as far as component based development is concerned, the point is not only the building of complex data structures, but also the combination of the behavior of distinct objects in order to get them work as a coherent entity, which is embodied by a composite object. Classical object-oriented design methods, such as those based on the UML modeling language, do not provide adequate means for efficiently capturing the design of the global behavior of composite objects. As a consequence, they fall short in providing models which possess all the benefits expected from the use of composite objects, such as their ability to abstract complex assemblies. Thus we developed a specific design method for composite objects, called COBALT, which adresses the above issues by allowing a more abstract and declarative design of composite object behaviors. These concepts are provided as an extension to UML, in order to enhance its modeling capabilities for composite objects.

Introduction

Software engineering is slowly becoming a « real » industry. As in many other technological fields, vendors are beginning to produce software components which, as chips and integrated circuits for the electronics industry, may become distributed on a large scale, through catalogues, and will enable lower-cost, better-quality application development to be achieved from the reuse of ready-to-use, well tested pieces of software. This (r)evolution, sign of a maturing technology, is probably only at its early stage. Nonetheless, it is attested by the growing number of application frameworks and CASE tools which provide support for component based development [START_REF] Apple Computer | WebObjects Developer's Guide[END_REF][START_REF]Building Applications with JBuilder[END_REF][START_REF] Monday | San Francisco Component Framework : an Introduction[END_REF][START_REF]RealBasic 2.0 Developer's Guide[END_REF], by integrating component technologies such as the Enterprise Java Beans model [START_REF] Sun | Designing Enterprise Applications with the Java 2 Platform, Enterprise Edition[END_REF]. This technological (r)evolution implies a no less significant (r)evolution for the software engineers' work. Indeed, the amount of coding required for the development of an application is reduced, giving an even more predominant role to analysis and design. New tasks appear during these steps: first, the selection of components whose specifications match the requirements of the application, then, the adaptation of these components to the specific context of the application and, finally, the building of a coherent component assembly which implements the target application. This new paradigm entails new specialties in the software engineering field: component provider, who designs components for reuse, application architect, who designs applications by reuse of components, framework or CASE tool provider, who designs technologies and tools providing support for the building and deployment of applications as component assemblies [START_REF] Bouzeghoub | Les Objets[END_REF][START_REF] Cauvet | La réutilisation dans l'ingénierie des systèmes d'information[END_REF][START_REF] Sun | Designing Enterprise Applications with the Java 2 Platform, Enterprise Edition[END_REF][START_REF] Jacobson | The Unified Software Development Process[END_REF].

In this technological context, reuse is the main topic. Software components, which are reusable elements for the development of applications, are designed to be reused as components of larger components or as users of finer grained components -these two faces of the reuse process entails specific constraints on component-based development. Besides, another current trend in the design of software [START_REF] Fowler | Analysis Patterns : Reusable Object Models[END_REF][START_REF] Front-Conte | Réutilisation et patrons d'ingénierie, Génie Objet -Analyse et conception de l'évolution[END_REF][START_REF] Gamma | Design Patterns -Catalogue de Modèles de Conception Réutilisables[END_REF], is to consider as a reusable matter not only the code of a component but also the more conceptual elements which have preceded its implementation: the requirements it satisfies and its design. These conceptual elements and their implementation taken together, form a coherent whole which can be used by component-based development tools to provide application architects with different views of components along the different steps of the development process. Such abstract definitions of components enable the tasks mentioned above (component search, selection, adaptation, and assembly) to be carried out. How to reuse software components is definitely a pertinent problem not only during the coding phase but also during the requirement analysis and design phases. Thus, our work on component-based development has mainly focused on the reuse of the specifications of components in order to make both the building of large and sophisticated component assemblies and the reuse of these assemblies as new components easier [START_REF] Vauttier | Extended Specification of Composite Objects in UML[END_REF][START_REF] Vauttier | Une Etude de la Modélisation du Comportement des Objets Composites[END_REF]. In this context, we chose to represent component assemblies as composite objects. We therefore worked on the reuse of the specifications of the component behaviors during the specification of the behavior of composite objects. Modeling the behavior of composite objects is not straightforward: it requires solutions adapted to their aggregated and dynamic nature that classical objectoriented methods do not provide. We therefore propose an extension to the UML modeling language allowing to efficiently design the behavior of composite objects.

The remainder of this paper presents, on the one hand, how the design of the behavior of a composite object can be achieved with statecharts in UML and how this falls short in providing all the benefits expected from the use of composite objects to model component assemblies. On the other hand, it describes how the semantics of classical statecharts can be refined and extended to provide a dedicated support for the design of composite object behavior.

Reusing behavior designs

2-1. Composite objects: an adapted structure for the modeling of component assemblies

Assembling components consists in tying together a set of isolated components so that they can interact and constitute, as a whole, a system which implements the required functionalities. Two kinds of approaches exist for building component assemblies [START_REF] Cauvet | La réutilisation dans l'ingénierie des systèmes d'information[END_REF]:

-approaches based on connectors [START_REF] Souza | Objects, Components and Frameworks with UML -The Catalysis Approach[END_REF][START_REF] Helm | Contracts : specifying behavioral composition in objectoriented systems[END_REF], which model an assembly of components as simple interconnections between them, without any representation of the assembly itself as an explicit entity. Each assembly is unique and entirely built by the architect. -approaches based on complex components [START_REF] Hartmann | Revised Version of the Modelling Language TROLL[END_REF][START_REF] Ramazani | Extending OMT for the Specification of Composite Objects[END_REF][START_REF] Rumbaugh | Building boxes : Composite objects[END_REF][START_REF] Rumbaugh | Taking things in context : Using composite objects to build models[END_REF], which model a component assembly as a full fledged object. An assembly of component is then represented in a generic way by an object class. It can be thus reproduced many times and automatically built as an instance of this class.

The concrete representation of a component assembly provide approaches based on complex components with better qualities, regarding reuse, than its connector-based counterpart.

In our work, the modeling of component assemblies as complex components is based on composite objects. A composite object is an object which represents the aggregation of a set of objects, called its components, each of which describes a part of the composite object [START_REF] Blake | On Including Part Hierarchies in Object-Oriented Languages, with an implementation in Smalltalk[END_REF]. A composite object embodies, as an abstract entity (a unique object), the assembly built with its components. Using composite objects to represent component assemblies provide incontestable benefits:

richness and expressivity of the modeling of assemblies. The structure that links a composite object to its components is explicitly represented by a set of relations, called composition relations [START_REF] Halper | An OODB Part Relationship Model[END_REF][START_REF] Kim | Composite Objects Revisited[END_REF][START_REF] Odell | Six different kinds of composition[END_REF]. Most of the existing work on composite objects focuses on the semantics of composition relations in order to use composite objects as a mean to model and manage complex data structures. The richness of this semantic is profitable to the management of component assemblies, in that it allows to control the dynamic evolution of their structure -addition or removal of components -or the access to individual components -by modeling their visiblility or sharability. enhanced reuse thanks to the abstract and hierarchical modeling of assemblies. Composite objects which model complex entities are designed in a top-down way, by decomposing them, gradually, into a set of smaller parts. On the one hand, this enables each of these parts to become a potential component which can itself be reused for the modeling of other composite objects. On the other hand, it allows the reuse of existing components for the modeling of some parts of the composite object. Moreover, complex assemblies, once represented as a unique abstract entity by a composite object, can be easily reused as components for building larger assemblies in a bottom-up way [START_REF] Blake | On Including Part Hierarchies in Object-Oriented Languages, with an implementation in Smalltalk[END_REF][START_REF] Ramazani | Extending OMT for the Specification of Composite Objects[END_REF][START_REF] Rumbaugh | Building boxes : Composite objects[END_REF][START_REF] Rumbaugh | Taking things in context : Using composite objects to build models[END_REF].

Figure 1 depicts such a composite object class, HeatingSystem, which models electric heating installations -as for a building CAD application. A heating system is composed of radiators, of a clock and of two thermostats. These thermostats, situated in some central place, allow the ambient temperature of the building to be controlled according to a day / night cycle determined by the clock. A radiator is itself a composite object composed of a heating element and a switch, allowing the radiator to be turned on and off. A radiator can optionally have a thermostat which allows the temperature of the room to be individually set.

2-2. Modeling the behavior of composite objects

Whereas a lot of research work studies composite objects from a structural point of view, the behavior of composite objects gets little attention. Yet, modeling the behavior of composite objects requires adapted means to achieve contradictory goals: design behavior of the composite object as a whole, by combining the individual behaviors of its components, while preserving the reusability of each component. Models used to design the behavior of composite objects should have two fundamental qualities:

a low coupling of components, in order to be able to reuse them in different contexts. The contextual information related to the use of a component in a particular composite object must be located in the composite object itself, as a natural representation of the context. This principle maintains the independence of components [START_REF] Blake | On Including Part Hierarchies in Object-Oriented Languages, with an implementation in Smalltalk[END_REF][START_REF] Murata | Daemons: Another Way of Invoking Methods[END_REF] by preventing specific information from polluting their generic definition and diminish their reuse potential. an abstract definition of the behavior of the assembly. From a structural point of view, a composite object represents a component assembly as a single abstract entity, making its management and reuse easier. In other words, building a composite object results in creating a higher abstraction level which enables the complexity of object structures to be reduced. Such an abstraction mechanism must be provided for behavior as it already is for structures, in order to express the behavior of composite objects as simply as possible and make the reuse of composite object behavior designs effective, when using them to build hierarchically higher composite objects.

With respect to this analysis, the following paragraph studies how classical object-oriented design methods manage the modeling of composite object behavior.

2-3. Composite object behavior modeling capabilities of classical object-oriented design methods

2-3-1. Low coupling of components

Classical object-oriented design methods, such as those using the UML standard modeling language, do not provide any specific concept for the design of the behavior of composite objects. The behavior of a composite object must therefore be designed by the means of a simple set of cooperating objects. In this context, the main task of the architect is to choose a cooperation pattern that allows composite objects to control the behavior of their components (execution of functionalities, state changes) in order to define and manage the behavior of the whole. These cooperation patterns are not specific to composite objects nor to a given design method or language. All of them -except event notification -can be represented, to some extent, in UML, thanks to statecharts. The most noteworthy cooperation patterns are:

delegation. This pattern consists in designing a component in such a way that it invokes determined functionalities of the composite objet to which it belongs in order to delegate to it the handling of the global side effects of the execution of its own functionalities. This simple pattern entails that components know the exact type of composite objects to which they can belong, because of the explicit invocation of some of their functionalities. Such contextual information pollutes the generic definition of a component and prevents him from being reused by other unforeseen types of composite objects. event notification (presented in [START_REF] Gamma | Design Patterns -Catalogue de Modèles de Conception Réutilisables[END_REF] as the Observer pattern). This popular pattern consists in designing a component in such a way that it notifies observers -in this case, the composite objects to which it belongs -of interesting situations -such as state changes -by firing abstract events. Thus, components do not need to have any knowledge about how composite objects will manage their behavior. This strongly isolates the design of components from the design of composite objects. However, component designers must foresee what will be the possible uses of this component in order to design a set of events that will enable the management of the component. This can result in limitations in the reuse of components if this set of events is not suitable for a specific, unforeseen role of the component in a potential composite object. master-slave model. This pattern consists in encapsulating all the components of a composite objet inside it. The composite object then has a total control of the behavior of its components (its is the only object which can send messages to them) and does not need to be warned of what they are doing, to manage the behavior of the whole, anymore. Thus, components can have context-free designs, like isolated objects' have. Nonetheless, a master-slave model hampers some qualities of the object structures modeled with composite objets. As components are no more visible, the double view of a composite object, both as an abstract entity and as a detailed structure is no more available. The dynamic, hierarchical structure of a composite object is replaced and poorly reflected by the flat, monolithic and static amount of information provided by the sole composite object interface [START_REF] Blake | On Including Part Hierarchies in Object-Oriented Languages, with an implementation in Smalltalk[END_REF]. Moreover, component sharing is no more possible. -active behaviors. This pattern consist in designing the behavior of a composite object in such a way that it monitors a set of special situations about its components to which it must react in order to manage its global behavior. To our opinion, this pattern is the most adapted to the design of the behavior of composite objects, for it provides a way to specify how the integration of the behavior of a component is managed, without any requirement in the design of this component, while preserving the component visibility. Such a design of the behavior of a Radiator composite object is presented on Figure 2. Active behaviors are expressed thanks to change events on transitions [START_REF] Sun | Designing Enterprise Applications with the Java 2 Platform, Enterprise Edition[END_REF] which depicts how a Radiator composite object monitors certain state changes in its components and reacts to their occurrences by provoking subsequent state changes to other components in order to combine their behaviors and obtain a global coherent state.

For example, when it is in the state SwitchOff, a Radiator composite object monitors the state of its Switch component in order to detect when it is switched on -as specified by the change event defined by the label when theSwitch in On on the outgoing transition. When this state change occurs, the transition fires and may result in a coordinated state change of the HeatingElement component, depending on the state of the Thermostat component, thanks to the message sending specified in the actions of the transition.

The above discussion shows that a low level of coupling can be reached in the design of composite object behaviors, provided an adapted cooperation pattern is chosen to manage the interactions between the composite object and its components, such as active behaviors.

2-3-2. Abstracting the behavior of a composite object

Whereas coupling is a general issue in object-oriented design that can be solved by applying existing pattern with standard notations, abstraction is a specific property of composite objects that distinguish them from flat object systems. Due to the lack of specific notations or concepts, the behavior of a composite object must be designed as the behavior of a system of objects. Thus, the statechart of a composite object is described as a mere juxtaposition of its own statechart to the statecharts of its components (see Figure 2). At each time, the state of the composite object is defined as the product of the active state in each of these diagrams. Coherent combinations of states are obtained by specifying how state changes are synchronized by sending messages between objects. The actual states of a composite object are never defined: they are calculated by simulating the running of the statemachines into which the statecharts map (through message sendings and transition firings). Designing the behavior of a composite object can thus be compared to designing a complex state, like the Live state in Figure 2, by decomposing it into different concurrent regions. However, unlike the states of a single statechart, different statecharts, describing the behavior of different objects, cannot be composed into a single one.

Such behavior specification does not provide any kind of abstraction -i.e. complexity reduction -of the behavior of a composite object. It cannot be reused to design a more complex object without leading to an unmanageable explosion in the number of states and coordinated state change predictions. Moreover, there is no suitable solution to managing the dynamic structure of composite objects (components being added or removed) and its impact on its behavior. The only practical solution is to provide a separate state diagram for each different configuration of a composite object. It results in a set of behavior diagrams for which no formal structure or management concepts are provided. These important limitations of the modeling languages of classical object-oriented methods, regarding composite object behavior abstraction, motivate the proposition for better adapted solutions. In the following section, we present COBALT, which is our solution to this problem.

Another approach for modeling the behavior of component assemblies with statecharts.

As in CATALYSIS [START_REF] Souza | Objects, Components and Frameworks with UML -The Catalysis Approach[END_REF], we worked on a specific component-based development process, called COBALT [START_REF] Vauttier | Extended Specification of Composite Objects in UML[END_REF][START_REF] Vauttier | Une Etude de la Modélisation du Comportement des Objets Composites[END_REF], which introduces modifications and extensions to the UML notation in order to provide an efficient support for designing and reusing components. But, whereas CATALYSIS promotes a connector-based approach, in which inter-object collaborations are modeled as first-class, reusable design elements, COBALT promotes a complexcomponent-based approach in which component assemblies are explicitly modeled by composite objects. For this purpose, COBALT uses a variant of statechart diagrams whose semantics is adapted to the modeling of composite object behavior.

3-1. Statechart semantics and notation in COBALT

UML, as a generic modeling language, proposes a rich notation for describing statecharts, which provides them with a versatile semantics that can be adapted to many kinds of behavior designs [START_REF] Vauttier | Extended Specification of Composite Objects in UML[END_REF]. On the contrary, COBALT's statecharts have a precise semantics and a single purpose: designing the dynamic behavior of objects -i.e. the set of states in which an object can be and the set of transitions that are possible between these states, defining the different possible life-cycles of this object. Figure 3 presents the statechart diagram of the composite class Radiator, as defined in COBALT with respect to the principles defined afterwards. In COBALT, as in some other work [START_REF] Coad | Object-Oriented Design[END_REF][START_REF] Andre | Une Expérimentation de Développement Formel à Objets[END_REF][START_REF] Rolland | Conception de bases de données : une méthode orientée objet et événement[END_REF], states represent the different behavior modes of an object. Each state models a set of concrete values of the object for which it has some specific behavior. The set of the states of an object is therefore partitioning its different values with regards to the different distinct behaviors they condition. A set is thus only representing an abstract set of concrete values of an object and not the execution of any activities or actions (no use of activities or actions in the description of states). In the same way, a transition only represents the evolution of the state of an object as a result of the execution of a functionality. Transitions do not carry any functional information describing how functionalities are executed (no more actions are associated with transitions). Only the functionalities that really modify the state of the object are relevant for the definition of the statechart (no more internal transitions). Therefore, a statechart does not specify the protocol of an object any more (the sequences of function calls which are valid for the object). In COBALT, the protocol is defined on the functional view of the behavior of an object [START_REF] Vauttier | Extended Specification of Composite Objects in UML[END_REF][START_REF] Vauttier | Une Etude de la Modélisation du Comportement des Objets Composites[END_REF] -on which the detailed execution of each functionality is specified -in order to make statechart specification simpler and to keep dynamic and functional behavior specifications separated. Transitions are triggered by a unique kind of events that signals the end of the execution of functionalities. These events are defined by the keyword after (initially used in UML to signal temporal events) followed by the signature of the functionality. The guard which is associated with the transition is used to measure the effects of the execution of the functionality on the concrete state of the object (the values of its attributes) in order to determine if a transition was crossed and a new abstract state reached.

The statechart diagram of a composite object models the global behavior of the component assembly that it represents. Each state of this diagram is an abstraction of a set of values of the composite object and its components that identifies a specific way the composite object behaves as a whole. Thus, the state of a composite object evolves as defined by its statechart diagram, not only when the own value of the composite object is modified, but also when the value of one of its components is modified. In this letter case, the state change of the composite object is modeled by a transition triggered by the end of the execution of a functionality of a component. This event is specified by prefixing the signature of the executed functionality with a composition path that uniquely identifies the concerned component [START_REF] Blake | On Including Part Hierarchies in Object-Oriented Languages, with an implementation in Smalltalk[END_REF].

3-2. Hierarchical statecharts of composite objects.

As in UML, COBALT's statecharts are hierarchic : they allow statecharts to be constructed by refining states into sets of nested sub-states. When designing the behavior of a composite object, this feature is used in a specific way in order to express the special kind of state changes that come from the dynamic structure evolution of a composite object, in order to specify how the behavior of a composite object is modified when a component is added or removed. To this matter, states at the highest nesting level are given a special role : they model the different kind of configurations of the composite object, meaning the different sets of components for which the composite object has notably different behaviors. For instance, the statechart diagram of the composite class Radiator is defined at its highest level by the WithoutThermostat and WithThermostat states (cf. Figure 3). Such states are called the configuration-states of the composite object. They are linked by transitions triggered by the execution of the functionalities which carry out structural manipulations (addition or removal of a component) to get from a remarkable configuration to another remarkable configuration. The configuration which is associated with a configuration-state can be explicitly defined in a configuration diagram. A configuration diagram is drawn as a zoomed state which contains an object diagram depicting the configuration of the composite object in this state. For instance, the configuration diagram on Figure 4 describes the configuration of a Radiator composite object when it is in the WithoutThermostat configuration-state. Each configuration-state is further decomposed in a classical way, by nesting statecharts which describe the behavior of the composite object in each configuration (cf. Figure 3). The configuration-state concept allows statecharts of composite objects to be rationally constructed. The dynamic behavior of a composite object can be expressed as a unique statechart which integrates in a uniform way every kind of state changes that a composite object may experience. Configuration changes are stable elements in the evolution of the state of a composite object, in comparison with evolutions entailed by value changes of a composite object and its components. Moreover, a configuration change generally entails a more global and drastic variation in the behavior of a composite object than a simple value change. Thus, configuration-states are ideally positioned at the highest abstraction level of a statechart. They improve the hierarchical organization of the statechart of a composite object by partitioning its behavior in a priori radically distinct categories.

3-3. Composition of a composite object state diagram with those of its components

The notations we have introduced so far do not allow to specify which component state combination is represented by each state from the composite object statechart. For this purpose, COBALT introduces a new type of diagram, named state hierarchization diagram, which complements the statechart. A state hierarchization diagram shows a zoomed-in representation of a state of the composite object which describes, in nested boxes, the combination of component states defining a given state of the composite object. For example, the state hierarchization diagram showed on Figure 5 specifies that the state WithThermostat::Live::TurnedOn::Hot of an instance of the composite class Radiator is obtained by the combination of states On, Triggered and Hot of its Switch, Thermostat and HeatingElement components. This form of nesting is different from the state nesting that can be obtained with the classical statechart hierarchization. Our state hierarchization diagrams do not decompose a given object's state (in this case a given composite object's state) into sub-diagrams containing sub-states of this given object. On the contrary, they express a combination between a state of a composite object and states of other objects (namely, its components).

The most classical combination of component states described by state hierarchization diagrams is the one represented on Figure 5. It consists of the conjunction of a set of states of the composite object's components (AND logical operator). It is represented by the simple juxtaposition of the concerned states. The composite object's components, the state of which does not appear on the state hierarchization diagram, can be in any possible state. We also propose notations allowing to express on state hirarchization diagrams whatever logical combination that can be made with states linked with OR, AND or NOT operators [START_REF] Vauttier | Extended Specification of Composite Objects in UML[END_REF][START_REF] Vauttier | Une Etude de la Modélisation du Comportement des Objets Composites[END_REF]. The main advantage of state hierarchization diagrams is to define the desired state combinations between the composite object and its components :

explicitely. The combinations can directly be read from the diagrams.

declaratively. Neither the statechart diagram nor its associated state hierarchization diagrams concretely define how the combination of states is obtained. It is the responsibility of the functional view of behavior to define the successions of executions of functionalities of the composite object and of its components which cause the desired combinations.

Consequently, state hierarchization diagrams resembles other notions presented in research work that declaratively define state synchronization constraints between a composite object and its components [START_REF] Kappel | Object/Behavior Diagrams[END_REF][START_REF] Ramazani | Extending OMT for the Specification of Composite Objects[END_REF]. The set of state hierarchization diagrams associated with the specification of the dynamic behavior of a composite class can be analyzed as a set of state synchronization constraints that must be satisfied during the whole lifecycles of these objects. Despite this similarity, the state hierarchization diagram concept is much more adapted to the semantic specificity of composite objects than its generic counterpart. Unlike a simple constraint between the states of a set of related objects, a state hierarchization diagram defines how a composite object's state is decomposed into a combination of its components' states. State hierarchization diagrams therefore establish a composition hierarchy among states parallel to the composition hierarchy among objects. It provides designers with an abstraction mechanism that is adapted for modeling the behavior of composite objects.

3-4. Usage and benefits of COBALT's statecharts

One of the main goals of COBALT is to allow the specifications of the behavior of a composite object to be constructed by composing the specifications of its components, as structural notations allow a composite object to be described as being composed of other objects. The specific semantics and notations that were introduced above for statecharts achieve this goal for specifying the dynamic behavior of composite objects 1 . The dynamic behavior of a composite object can be expressed on a unique statechart diagram partly composed of elements from the statecharts of its components. Indeed, the states of a composite object are defined as composed of states of its components. In the same way, the set of transitions between these states is partly composed of transitions triggered by the execution of functionalities of components which mirrors actual transitions in the statecharts of these components. The abstraction capabilities of composite objects are thus preserved on the behavioral view of their specifications. The behavior specification of composite objects can therefore be profitably used to manage the reuse process of composite objects. The increasing complexity of the objects that are built through successive compositions is then balanced by an increased abstraction level, which keeps the specifications of composite objects simple and usable.

Besides, in classical object-oriented design methods, statecharts are mainly constructed bottom-up, to sum up the scattered functional behaviors contained in the interaction diagrams resulting from the refinement of use cases.

To our opinion, the design process of a component should be inversely carried out -i.e. mainly in a top-down way -because a component is not designed to satisfy the specific requirements of an application but to generically model a concept. This reflection about the intrinsic nature of a component need to be captured on a global and abstract view of its behavior which provide a point to be refined into complete detailed behavior specifications. The modal and declarative semantics of our statecharts are suitable for this use. They provide simple, yet comprehensive and formal view of the behavior evolution of an object over its different lifecycles. Once established, a statechart is used as a basis to design the detailed execution of its functionnalities. Indeed, the set of states on a statechart draws a synthetic view of the different situations to be handled by distinctive behaviors of the functionalities (modal behaviors). In the same way, the transitions of a statechart establish a cause-to-effect link between the execution of given functionalities and state changes which provide designers with pre-conditions (source states) and post-conditions (target states) that can help the design of functionalities and allow their specifications to be checked.

The precise semantics of our statecharts allows their interpretation to be fully automated [START_REF] Vauttier | Extended Specification of Composite Objects in UML[END_REF]. Beyond their prevalent role in the conceptual steps of component development, statecharts can thus also be used in a concrete way by CASE tools to simulate the behaviors of object assemblies upon their specification, in order to verify their consistency. In the same way, statecharts can be used during the coding phase to automatically generate the code that manages the state changes of objects and the different modes of their functionalities (thanks to a metaobject protocol implementing an extension of the STATE pattern [START_REF] Gamma | Design Patterns -Catalogue de Modèles de Conception Réutilisables[END_REF][START_REF] Vauttier | Extended Specification of Composite Objects in UML[END_REF]).

Once a component is designed and implemented, its statecharts plays a preponderant role in its selection for reuse. The role of a statechart for the dynamic behavior of an object can be compared to the role of the interface for the functional behavior of this object. It provides designers with an abstract view of the dynamic behavior of an object that enables its conformance to requirements to be finely analyzed [START_REF] Harel | Executable Object Modeling with Statecharts[END_REF]. Indeed, pure syntactic conformance -i.e. the matching of the signatures of functionalities -cannot ensure more than a "mechanical" compatibility. Statecharts convey enough semantics to check if a component provides a really conformant behavior -i.e. if a given sequence of function calls entails a given sequence of states so that the component can meet the state combinations required to be coherently used in the assembly. After the component is selected, its statechart is used to compose the statechart of the composite object that models the assembly. Then, the statechart of the composite object will be used as a basis for the design of the detailed behavior of the assembly and finally for the automatic code generation the code that implements the management of its behavior.

Conclusion and perspectives

This paper presents some of the main features of the COBALT component-based development method. This method lies on the representation of component assemblies as composite objects. In COBALT, we proposes a solution to overcome the lack of abstraction of UML statechart diagrams in order to be able to veritably compose the statechart diagram of a composite object from those of its components. The dynamic behavior definition of a component assembly can therefore benefit from the composite object concept in terms of modeling, management and reuse, in the same way as its structure does. We therefore believe that statechart diagrams, as they are specified in COBALT, can play a central role, not only in the design but also in the coding of a component assembly. For this purpose, we also have proposed an implementation model that enables a direct mapping of a graphic behavior specification into a coding structure that can be implemented into whatever classical objectoriented language. As a perspective and inspired by the JAVABEANS component model [START_REF] Sun | Java Beans API Specification 1[END_REF], we plan to further explore these concepts in order to provide designers with a conceptual view of component behaviors from which he/she can intuitively and declaratively build most of the behavior of an assembly. This conceptual view, described in the JAVABEANS model by the set of events components can emit, would be, in our case, described by the component statechart diagrams.

Figure 1 :

 1 Figure 1 : Example of a composite class modeling heating systems

Figure 2 :

 2 Figure 2 : Statechart diagram of the composite class Radiator

Figure 3 :

 3 Figure 3 : Statechart diagram of the composite class Radiator in COBALT

Figure 4 :

 4 Figure 4 : Configuration diagram associated with the WithoutThermostat configuration-state

Figure 5 :

 5 Figure 5 : Specification of the state WithThermostat::Live::TurnedOn::Hot of a Radiator composite object

Besides, we also provide in COBALT such extensions for specifying the functional behavior of composite objects, in order to allow the functionalities of a composite object to be defined as a dynamic and declarative composition of the functionalities of its components[START_REF] Vauttier | Extended Specification of Composite Objects in UML[END_REF][START_REF] Vauttier | Une Etude de la Modélisation du Comportement des Objets Composites[END_REF].