Isaac Haik Dunn
email: isaac.haikdunn@esiee.fr

Elyes Nefzaoui
email: elyes.nefzaoui@esiee.fr

Jerome Loraine
email: jerome.loraine@xfab.com

Imene Lahbib
email: imene.lahbib@xfab.com

Georges Hamaoui
email: georges.hamaoui@esiee.fr

Duc Tuyen

Brice Nguyen

Philippe Grandchamp

Gregory Basset

U'ren

Isaac Haïk Dunn

Brice Grandchamp
email: brice.grandchamp@xfab.com

Philippe Basset
email: philippe.basset@esiee.fr

Jérôme Loraine

Tuyen Duc Nguyen

Gregory U'ren
email: gregory.uren@xfab.com

Experimental three-dimensional thermal mapping of a GaN on RF-SOI chip

Keywords: GaN transistor, RTD, temperature distribution, silicon on insulator

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.

I. INTRODUCTION

In the past twenty years, integrated circuits based on silicon on insulator substrates (SOI) have become ubiquitous [START_REF] Celler | Frontiers of silicon-oninsulator[END_REF]. Some practicalities of the SOI's buried insulating layer, typically silicon dioxide, are to reduce the parasitic source/drain-to-substrate junction capacitance, to limit the depth of the source/drain junction, and to allow full dielectric isolation of the device in order to eliminate latch-up. However, the buried silicon oxide layer (BOX) has a thermal conductivity about two orders of magnitude smaller than that of silicon. Hence, depending on the thickness of the BOX, the thermal conductance of the substrate may significantly be reduced causing severe undesired self-heating in the devices. This results in higher operating temperatures, thus reducing the device carrier's mobility as well as the maximum drain saturation current, which leads to the degradation of the device performance. On the other hand, the trend to improve the performance of circuits in the past decades has led to the miniaturization of device dimensions, including those of highpower RF devices, thereby increasing device packing densities [START_REF] Dennard | Design of ion-implanted MOSFET's with very small physical dimensions[END_REF], [START_REF] Asenov | Generalized scaling theory and its application to a 1/4 micrometer MOSFET design[END_REF]. During operation, the RF transistors generate a large signal and a high output power. They act as heat sources that increase the surrounding temperature. Consequently, the influence of high temperatures on the electrical characteristics of the transistors must be carefully considered and controlled. As such, the knowledge of the temperature of the transistors, as well as the surrounding temperature field is a useful tool to ensure the optimal performance of the RF integrated circuit. The most common reported experimental techniques for a thermal analysis of an IC rely on measuring its surface temperature using either an infrared or CCD camera [START_REF] Filloy | Thermography techniques for integrated circuits and semiconductor devices[END_REF], [START_REF] Chervonni | Fast estimation of channel temperature in GaN high electron mobility transistor under RF operating conditions[END_REF], Raman spectroscopy [START_REF] Kuball | Time-Resolved Temperature Measurement of AlGaN/GaN Electronic Devices Using Micro-Raman Spectroscopy[END_REF], thermocouples or thermometers deposited on top [START_REF] Su | Measurement and modeling of self-heating in SOI nMOSFET's[END_REF], [START_REF] Estreich | A DC technique for determining GaAs MESFET thermal resistance[END_REF], thermal scanning probe [START_REF] Aubry | SThM Temperature Mapping and Nonlinear Thermal Resistance Evolution With Bias on AlGaN/GaN HEMT Devices[END_REF], liquid crystal technique [START_REF] Lifka | Thin SIMOX SOI material for halfmicron CMOS[END_REF], the temperature dependence of leakage currents [START_REF] Mcdaid | Monitoring the temperature rise in SOI transistors by measurement of leakage current[END_REF] and noise Thermometry [START_REF] Bunyan | Use of noise thermometry to study the effects of self-heating in submicrometer SOI MOSFETs[END_REF]. Nevertheless, the temperature of the transistor channel may not be the same as that of the surface of the IC. The difference is more pronounced when the materials used in the IC are poor thermal conductors, and when the IC process has a large number of layers. Based on our prior expertise in using RTDs for different heat and mass flow measurements [START_REF] Shaun | Design of micro-fabricated thermal flow-rate sensor for water network monitoring[END_REF], [START_REF] Shaun | Micro-fabricated thermal flow-rate sensors: the substrate material impact on the device performance and power consumption[END_REF], [START_REF] Shaun | Micro-fabricated thermal flow-rate sensors: the substrate material impact on the device performance and power consumption[END_REF], [START_REF] Shaun | Sensitivity optimization of micro-machined thermo-resistive flow-rate sensors on silicon substrates[END_REF], we recently proposed a new way to obtain the three-dimensional (3D) temperature field in an SOI stack [START_REF] Nguyen | Measurement and simulation of the threedimensional temperature field in an RF SOI chip[END_REF] using several RTDs in key location of the sample combined to a numerical heat transfer model calibrated using the RTDs measurements. We have shown in particular that it is possible using such method to obtain a reasonably accurate solution of the heat transfer problem in such samples. In the present work, we apply the previously developed method to a radio frequency (RF) chip resulting from on a 3D heterogeneous integration of GaN HEMT and RF-SOI technologies [START_REF] Loraine | 5.9-7.1GHz High-Linearity LNA Using Innovative 3D Device Level Co-Integration of GaN HEMT and RF-SOI[END_REF] combining the advantages of both. The main heat source is now the GaN transistor(s) located at the chip surface which significantly increase the energy and changes the temperature field. We have therefore enhanced the previously developed method using infrared surface thermography to obtain the temperature distribution in the whole chip.

II. MATERIALS AND METHODS

Samples of RF SOI power GaN transistors were fabricated on top of an RF-SOI wafer and below a stack of dielectric thin films crossed by metallic traces (as "m" and "q" in Fig. 1.a) and vias for interconnections. The GaN and RF-SOI are fabricated separately and then the GaN transistor is singulated to form a GaN coupon that is mounted on top of the SOI wafer. The GaN coupon is electrically interconnected to the RF-SOI using a thick Cu Re-Distribution Layer (RDL) as shown in Fig. 1.b. Furthermore, we considered three different kinds of GaN transistors, differing in the number of fingers, making a total of 18 samples of 6 different kinds. Apart from the GaN transistors, the samples were fabricated at X-FAB France, based on a 130 nm RF-SOI industrial process. Nine to ten RTDs are distributed in the stack at different heights and lateral positions and are used to probe the local temperature in the chip as shown in Fig. 2.

The RTDs are accessed through contacting pads on the surface of the chip as shown in Fig. 3. A probe card is used to simultaneously probe all the pads used either for sensing or to power supply the transistors. The probe card is connected to several Keithley source meters to perform a 4-points probe resistance measurement and to power the transistors. During the measurement, the chip is positioned on top of a a 6-inch hot chuck coupled to a Julabo CORIO TM CD refrigerated/heating circulator for temperature control purposes. The hot chuck temperature is controlled either via the circulator fluid temperature or by the internal joule effect heater of the hot chuck. The chuck temperature is measured with a type-K thermocouple taped on the surface of the chuck, at the sample vincinity. The chuck temperature is also read by a thermocouple inside the chuck connected to an Omron temperature controller. The wafer containing the chips under test is positioned and clamped on the chuck using vacuum suction. First , we calibrate the RTDs from room temperature up to their maximal operating temperature, 250 °C in our case.We measure their resistance as a function of temperature with a temperature step of 10 °C and obtain the resistance temperature coefficient. Then, we set the hot chuck temperature at 25 °C to ensure a constant temperature boundary condition and bias the transistors with different voltages ranging from 0 V to 1.2 V for the Si transistor, and 0 V to 2 V for the GaN transistors, which correspond to heat sources with a dissipated power of 0.35 W and 1.2 W respectively. We use a Keithley 2612B source meter to power supply the transistors and monitor their dissipated power. The measurement of the RTDs resistance value enables the determination of the temperature value at different locations around the transistors using the calibration data. We also use a FLIR A325sc infrared (IR) camera with a microscope lens providing a spatial resolution of 25 µm x 25 µm to establish a thermography of the surface of the samples under operation, thereby providing the surface temperature field as a function of the heating power. All instruments connected to a computer and controlled using a LabVIEW virtual instrument for automation purposes. The temperature values provided by the different RTDs as well as the IR camera will then be used to calibrate a finite element numerical model as previously done for an SOI stack without GaN transistors [START_REF] Nguyen | Measurement and simulation of the threedimensional temperature field in an RF SOI chip[END_REF]. We have also previously measured the thermal conductivity of most of the materials used in the stack [START_REF] Nguyen | Measurement and simulation of the threedimensional temperature field in an RF SOI chip[END_REF] with the 3ω method in the temperature range from 20°C to -250°C. The obtained thermal properties are also used as inputs in the numerical model to ensure a maximal accuracy.

III. RESULTS AND DISCUSSION

First, the I-V curves of the GaN transistors are obtained for control purposes with comparison with the manufacturer datasheet and to check the power range. We have considered three different GaN transistors A, B and C with different dimensions leading to different dissipated powers. We show in Figure 3 the I-V curves obtained for single GaN transistors samples A, B and C. One should note for example that GaN transistor C is twice longer than transistor B which explains that the obtained current for C is twice larger than that of B for the same applied bias voltage leading to a dissipated power twice larger. The obtained I-V curves enable us to choose the appropriate I-V values to obtain a desired dissipated power. Then the RTDs are calibrated, i.e. their resistance is measured as a function of temperature in the temperature range of interest. The RTDs exhibit a linear behavior of R(T) (results not shown here. See our previous work [START_REF] Nguyen | Measurement and simulation of the threedimensional temperature field in an RF SOI chip[END_REF] for similar results.) over the whole temperature range, as expected since the resistors are made of aluminum, copper, and doped silicon. The choice of different materials for the RTDs at different levels is due to X-FAB XR013 technology process which uses different metals at different levels of the stack. We note here that the RTDs at level "d" are made of semiconductors and provide a better accuracy than the metallic ones (in levels "m" and "q") due to a smaller relative error in measuring R. This is a direct consequence of a larger resistance value at room temperature which is due to the larger resistivity of the used material. Nevertheless, the relative variation of metallic RTDs is large enough to enable a proper measurement of the temperature variation in the range of interest, considering the sensitivity of the used experimental setup, nV for voltage measurement and nA for current measurement in our case. As mentioned in the previous section, the RTDs are then used to measure the temperature of the chip at different locations (those of the RTDs) under operating conditions, i.e. when one or several transistors are power supplied. For this purpose, several different experiments have been performed, on different samples containing one ore multiple GaN transistors.

For single GaN transistor samples, we have measured the temperature of the thermometers for 3 different biases from 0 to 0.9 W. The results are shown in Figure 4 for one of the tested samples. We observe a linear behavior of the temperature as a function of the heating power for all the RTDs. Moreover, we observe a larger temperature at the highest levels (m and q), whereas the thermometers at level "d", closer to the substrate, exhibit the lowest temperatures. In fact, the largest temperature, 55° in this case, is reached by , one of the RTDs of level q, just below the GaN coupon. One should note here that this is not the maximum temperature in the chip since the RTDs enable to access directly the temperature value only at 9 different location. This distribution is expected since the GaN coupon is the heat source and the SOI substrate which is in contact with a controlled temperature chuck at a constant temperature, 25° in our case, is the heat sink. Larger temperatures are then expected at the GaN transistor level. In addition, we observe that some RTDs are more sensitive to GaN transistors than others (for example compared to ).

We show in Figure 5 the results of a similar experiment obtained with a multiple GaN transistor sample containing two GaN transistors at different biases, i.e. at different dissipated powers from 0 to 1.85 W. The two GaN transistors are biased simultaneously to investigate the effect of multiple heat sources on the temperature distribution. The dissipated power in this case is twice larger than that of a single GaN transistor sample since we double the number of heat sources.

The largest temperature recorded by the RTDs slightly increases compared to the single GaN case and exceeds 60°C. We also observe a significant change in the temperature distribution compared to the single GaN case. RTDs of level d which are located at diff level, i.e. the closest to the substrate and the farthest from the heat source, still exhibit the lowest temperatures, very close to room temperature since they are located just on top of the substrate where a constant temperature boundary condition is imposed, 25°C in our case and around room temperature) in addition to a large thermal conductivity of the silicon substrate. However, m level RTD now records the largest temperatures for all dissipated powers even if it is not the closest to the heat sources since it is at an intermediate level between level d and level q (see Figure 1-a). This apparently surprising result may be explained by a heat bridge between the heat sources, GaN transistors, and the RTD 1 of level m due to the copper metallic vias that are illustrated in yellow in Figure 1-a. If such bridge is avoided in the single GaN transistor samples, it is not the case in the multiple GaN transistor sample due to the largest footprint of the heat sources at the stack top. Finally, we complement the in-situ contact measurements obtained using the RTDs by remote measurements using IR thermography to obtain the sample surface temperature field. We show in Figure 6 a 2D surface temperature map obtained for a sample with 2 GaN transistors where the same bias of 2 V was applied to the two transistors. The two GaN transistors are biased simultaneously. As expected, the maximum temperature is observed at the center of the transistors and exceeds 147 °C. Such result is expected since the maximum temperature is expected at the center of the heat sources. One should note here the large temperature difference between the maximum temperatures provided by the RTDs embedded in the stack and those recorded at the sample surface. This suggests that most of the generated heat is evacuated by convective transfer at the GaN transistors surface rather than by conduction in the stack and the substrate. Consequently, an efficient cooling strategy would focus on remove the heat directly at the chip top, i.e. directly from the heat source, either by forced convection or by contact, rather than from the stack bottom due to the large thermal resistance of the stack below the GaN transistors. The IR thermography image also reveal hot spots at the contact pads located at the chip surface (not shown in Figure 6 because of the strong zoom on the heat sources) and used to probe the different RTDs and to power supply the transistors suggesting electric power dissipation at these locations. This should be considered for an accurate quantification of the electric power actually dissipated by the GaN transistors which is probably lower than that provided by source-meter. The obtained experimental results are currently being embedded in the 3D multi-physics numerical model similar to the one we previously developed for the SOI stack with SOI transistors [START_REF] Nguyen | Measurement and simulation of the threedimensional temperature field in an RF SOI chip[END_REF] in order to obtain the full 3D temperature field of the chip. The temperature values provided by the RTDs and the surface temperature obtained by IR thermography will be used to calibrate the model and ensure a good agreement between the simulation and the experiment.

IV. CONCLUSIONS

We report on a new method to obtain the 3D temperature field in a RF chip based on a 3D heterogeneous integration of GaN HEMT and RF-SOI technologies under operating conditions using multiple distributed embedded RTDs as temperature sensors in different key locations, surface IR thermography to be coupled to multi-physics numerical simulations. The sample is made of a stack of multiple thin films of different materials including silicon, silicon oxides, silicon nitride and metals on top of an RF Si transistor fabricated on an RF-SOI substrate. One or multiple additional GaN transistors are mounted on top of the SOI stack. Experimental data obtained at the RTDs locations and at the sample surface show a maximum temperature of 147°C at the chip surface and more specifically at the center of the GaN transistors locations. They also show a decreasing temperature with an increasing depth due the effect of the surface heat source (GaN transistor) and the heat sink (substrate). We also observe different temperature distribution for single and multiple GaN transistors samples due to heat bridges in the case of multiple transistors. Obtained results suggest and efficient cooling strategy should remove the heat directly from the transistors surface rather than from the chip backside due to a large thermal resistance of the stack. A numerical model of the chip we previously developed under COMSOL Multiphysics for the SOI has been adapted to include the GaN transistors. Its calibration is the key next step of this work in order to improve the agreement between numerical and experimental data as we have previously done for similar chips [START_REF] Nguyen | Measurement and simulation of the threedimensional temperature field in an RF SOI chip[END_REF]. The numerical model can then be used as a tool to optimize the thermal management of the whole chip.

Figure 1 :

 1 Figure 1 : a) Schematic of a typical stack on an SOI wafer similar to the one considered in the present work, with a transistor (not shown) at DIFF level (red), several metallic levels (yellow) and multiple layers of dielectrics (blue). Several metallic vias are show (yellow). The GaN transistor(s) are added on top of the structure (not shown). b) Crosssection of MTP with RF-SOI carrier and GaN coupon.

Figure 2 :

 2 Figure 2 : Top view of a single GaN (left) and multiple GaNs (right) transistors sample. 28 contact pads are visible for each sample, in a square shape whose side is 0.7 mm long.

Figure 3 :

 3 Figure 3 : I-V curves of three different types of single GaN transistor samples. Upward triangles indicate that the bias voltage was being increased, from 0 V to 2 V, whereas the downward triangles are data for a decreasing voltage. The letters A, B and C refer to the type of GaN transistors considered here.

Figure 4 :

 4 Figure 4 : Temperature of 9 RTDs at 3 different levels of the SOI stack of a single GaN transistor sample as a function of the dissipated electric power. The subscripts d, m and q refer to 3 different heights where d is located just above the BOX level m just below the GaN coupon and q an intermediate level.

Figure 5 :

 5 Figure 5 : Temperature of 7 RTDs, at 3 different levels of the stack on multiple GaN transistors sample, for 4 different transistor bias when the two GaN transistors are biased simultaneously.

Figure 6 :

 6 Figure 6 : Temperature map of the surface of a dual GaN transistors sample when a 2 V bias is applied simultaneously to each transistor obtained by IR thermography. The two hot spots are the zones where the GaN transistors are located. The axis numbers represent the number of pixels in each direction. The pixels are are 25 µm x 25 µm in size.

ACKNOWLEDGMENT

Authors would like to thank Dr. Julien Pagazani and Mr. Laurent Buès for their help on the experimental part of this work.


Serge Abiteboul

Pierre Bourhis

Alban Galland

Bogdan Marinoiu

The AXML Artifact Model † (Invited Paper)

Keywords: Active XML, database, workflow, artifact, documents

. To illustrate, we briefly consider the monitoring of distributed systems and the verification of temporal properties for them.

I. INTRODUCTION

The evolution of shared data is at the center of most human activities. The novel notion of business artifact [START_REF] Nigam | Business artifacts: An approach to operational specification[END_REF] has been proposed to specify such evolution. The main idea is to capture both the flow of control (workflow) of the application but also data evolution (data cycle). See [START_REF] Hull | Artifact-centric business process models: Brief survey of research results and challenges[END_REF] for a brief survey on the topic and research directions. In the spirit of this approach, we assume as a context a network of autonomous systems evolving and interacting by exchanging data. Building on Active XML (AXML for short) [START_REF] Abiteboul | The Active XML project: an overview[END_REF], we propose a new artifact model. The thesis is that AXML is a proper formal foundation for such an artifact model.

Workflow and database systems are two essential software components that often have difficulties interoperating. Datacentric workflow systems are meant to integrate both the control of workflows and the data of databases. They allow the management of data evolution by tasks with complex sequencing constraints as encountered for instance in scientific workflow systems, information manufacturing systems, e-government, e-business or healthcare global systems. We follow here a data-centric workflow approach where both data and tasks, and also the "actors" (humans, processes, systems) are captured by objects called artifacts. Artifacts present the following facets that, in our opinion, have to be captured by an artifact model:

State An artifact is an object with a universal identity (e.g., URI). Its state is self-describing (e.g., XML data) so that it may be easily transmitted or archived. It has a host that is a peer or another artifact. Evolution An artifact is created, evolves in time (possibly space), hibernates, is reactivated or dies according to a logic that is specified declaratively. Its evolution may be constrained to obey some laws, e.g. some workflow. Interactions An artifact interacts with the rest of the world via function calls (e.g., Web services) both as a server and a client. An artifact provides for communications, storage and processing for the artifacts it hosts. History As in scientific workflows, an artifact has a history with time and provenance information that may be recorded and queried. These requirements have been in part motivated by [START_REF] Bhattacharya | A data-centric design methodology for business processes[END_REF]. We claim that the AXML model [START_REF] Abiteboul | The Active XML project: an overview[END_REF] provides a proper foundation for an artifact model. An AXML document consists of an XML document with embedded function calls. The calls may be activated from inside (the artifact as a client) and then receive answers in push or pull mode. The calls may also be activated from outside (the artifact as a server). Rules are used to specify the logic of functions, declaratively [START_REF] Abiteboul | Static analysis of Active XML systems[END_REF].

In this paper, we introduce the AXML artifact model and illustrate its use with recent works on distributed system monitoring and verification. The paper is organized as follows. In Section II, we present the model. We briefly discuss monitoring in Section III and verification in Section IV. The last section is a conclusion. To conclude this section, we present a motivating example and mention related works.

Example: To illustrate, we use as a running example, a simplified view of the Dell manufacturing system [START_REF] Kapuscinski | Inventory decisions in Dell's supply chain[END_REF]. See Figure 1. When a new Web order arrives (1), a new webOrder artifact is created. Then the new artifact creates a subartifact that is sent to a credit service [START_REF] Hull | Artifact-centric business process models: Brief survey of research results and challenges[END_REF]. Once credit has been approved, the subartifact returns to the webOrder but now its state contains all the credit data (and notably the fact that the credit request was successful). A plant is then selected and the artifact moves to that plant (3). It initiates a new subartifact for gathering parts, that is sent to a warehouse and another local artifact for communications < plant artID="plant02" > ... < webOrder artID="wo3" > < client > < name > Sue Leroux < /name > < address > ... < /address > < /client > < order > ... < /order > < order > ... < /order > < creditApproval artID="wo3-ca" > ... < /creditApproval > < fun funID="?warehouseOrder"/ > < fun funID="?comm"/ > < /webOrder > ... < /plant > Figure 2. An AXML artifact with the customer (4). Once the product has been built, the artifact is sent to a delivery service [START_REF] Abiteboul | Static analysis of Active XML systems[END_REF]. Finally, once the Web order has been completed, the artifact moves to an archive where it is stored as a text-based XML serialization that includes all the information it has gathered during its life cycle [START_REF] Kapuscinski | Inventory decisions in Dell's supply chain[END_REF]. (Subartifacts may also be archived separately.)

The state of an artifact is an AXML document. See Figure 2 where the tree is represented using an XML syntax (a text-based serialization of the tree). The figure shows part of a webOrder artifact immediately after it enters the plant. The creditApproval element denotes a subartifact (the one that has been processed by the bank). The functions ?warehouseOrder and ?comm will be activated next in order to create the warehouseOrder and communication subartifacts that will then work concurrently (and somewhat autonomously). Observe that we have simplified here the exact AXML syntax. For instance, the artifact IDs are more complex. (They include the URI of the peer where the artifact has been created and an identifier within this peer.)

Related work: Although the notion of artifact has been recently articulated by [START_REF] Nigam | Business artifacts: An approach to operational specification[END_REF], similar ideas of data centric workflows have been around, e.g., in AXML [START_REF] Abiteboul | The Active XML project: an overview[END_REF], in the Vortex system [START_REF] Dong | A framework for optimizing distributed workflow executions[END_REF] or scientific workflows [START_REF] Davidson | Provenance and scientific workflows: Challenges and opportunities[END_REF]. The models that are considered are often restricted, e.g., [START_REF] Bhattacharya | Towards formal analysis of artifactcentric business process models[END_REF], [START_REF] Bhattacharya | A data-centric design methodology for business processes[END_REF]. For instance, a single artifact is usually considered, vs. a system of artifacts in the present paper. Also, these models are often based on the relational model so have difficulties with the collections of artifacts or nested tasks/artifacts. Formal models for data-centric workflows have been considered in [START_REF] Deutsch | Automatic verification of data-centric business processes[END_REF] (that focuses on verification) and [START_REF] Fritz | Automatic construction of simple artifact-based business processes[END_REF] (that discusses the synthesis of artifacts).

II. THE MODEL

In this section, we present the AXML artifact model. We assume the existence of infinite alphabets: P for peer names; A for artifact identifiers; C for class names; S for stage names; L for labels; D for constants (say strings).

Artifact tree: The identifier α ∈ A of an artifact is a URI that it acquires at creation time. The artifact identified by α is an object that has an AXML document for state. In the following, we use α to denote the identifier as well as the object itself. We next modify the notion of active documents of [START_REF] Abiteboul | The Active XML project: an overview[END_REF] to meet the needs of an artifact model.

An (AXML) artifact tree is a tree with nodes in N defined as follows. A node in N is a pair (α, i) where α is the ID of the artifact this node belongs to and i ∈ D a unique ID within this artifact. This guarantees that two distinct nodes in the system will not have the same identifier. The nodes in an artifact α are called α-nodes. Some nodes are labeled by element names in L (element nodes), some by constants in D (content nodes) and finally some by "function names" (function call nodes) in F, that is defined next. A function name in F is an expression f @α where α is in A ∪ ⊥ and f is in D. For f @α with α in A, we say that we call f at artifact α. For f @⊥, we say that we call the external service f (in practice, f is the URL of a Web service).

An artifact tree regroups several artifacts (on the same peer):

Definition: An (AXML) artifact tree is a finite, labeled, unordered, unranked tree with nodes in N and labels in F ∪ L ∪ D where nodes labeled by D are only leaves 1 and verifying:

(+) If an α-node in the tree has a β-node as child, then this β-node is a maximum for all β-nodes in the tree and none of its descendants is an α-node.

If a β-node is a child of some α-node, we say that β is a subartifact of α, and this transitively.

Figure 2 illustrates these notions. The figure shows a possible state of a Plant artifact tree. Observe the wo3 webOrder artifact. Its ID is wo3. It contains some element nodes (name), some content node ("Sue Leroux"), some function nodes (a call to a ?warehouse function), and a subartifact (wo3-ca).

Artifact schema: We next define the notion of schema by enriching the schemas of Guarded AXML (GAXML for short) [START_REF] Abiteboul | Static analysis of Active XML systems[END_REF] to meet the needs of an artifact model. A schema imposes constraints on a system of artifacts or its evolution: (i) typing constraints (as in DTD or XSD); (ii) service signatures (as in WSDL); and (iii) dynamic constraints (as in BPEL). We next introduce our notion of schema based on different components that are detailed further.

( Peers: To simplify, we assume here that the set Π of peers is fixed. In general, it may vary when, during a run, we discover new peers. From an implementation viewpoint, a peer provides storage, communications and computing resources for the artifacts it hosts. As we will see, artifacts will be allowed to exchange data with other peers or to move to another peer. AXML data (e.g., in function arguments and results) are sent as strings and reconstructed at the receiving peer with new node IDs. On the other hand, when an artifact moves, its nodes preserve their IDs.

Classes: To simplify, we assume here that the set C of classes is fixed. In general, it may vary when we discover new classes of artifacts. To simplify again, we assume that the class of an artifact is an immutable property. For each class, the function τ specifies the type of the state of artifacts in this class. For each class, the artifacts in that class go through different stages. We use a variant of DTDs for unordered trees [START_REF] Abiteboul | Static analysis of Active XML systems[END_REF]. Let c i be a class of artifacts. Then the class typing τ i is a set {(s i1 , δ i1 ), ..., (s iM , δ iM )} where each s ij is one of the possible stages of class c i , and each δ ij is an unordered DTD that characterizes this particular stage. To discriminate between stages, we impose that for two distinct j, k, there is no data that satisfies both δ ij and δ ik .

Interface: The function ι defines the interface of artifacts. For each class c, ι(c) specifies the list of functions, artifacts in that class are willing to support, as well as the types of the input and output of these functions.

Note that the interfaces we consider here focus on signatures and are therefore rather simple. One could consider more complex interfaces, and in particular some that would include states. For instance, suppose we view creditApproval as an external service. Such a service may have in its interface the constraint that it will always refuse credit to a customer that has already been denied credit twice (unless some special procedure is performed). Such more complex interfaces may be captured as well by artifacts.

The function ι similarly defines the list of external functions and their input/output types (ι(⊥)).

Function semantics: Artifacts evolve in time according to some "logic" specified declaratively. We assume here each artifact carries with it, its logic. (This is a departure from AXML where functions are not defined within a document but in their hosting peers. We will examine this issue further.) We first consider "internal functions", i.e., functions supported by the artifacts, then "external functions", i.e., those supported by external services. As in GAXML, there are 4 components in a function call:

Function call activation is controlled by a call guard. Call argument is computed by an argument query.

The return of the result is controlled by a return guard.

The result of the call is computed by a result query. Observe that the guards impose a control over runs of the system. They are specified using Boolean combinations of tree-pattern queries over the documents (BTPQ for short). More precisely, they are Boolean BTPQs, i.e., BTPQs with no free variables. The argument and return queries are also BTPQs but possibly with free variables that define their results. These are all queries that are evaluated relative to the function call node, respectively function return node.

An issue is where are these four components specified. Let f be a function defined in class c, i.e., each c-artifact α supports calls f @α. Then θ(c, f ) specifies the return guard and return query of function f in class c, i.e. for all such call f @α. (In practice, the definitions of these two components are specified in the definition of the particular class of the receiver.)

On the other hand, the call guard and the argument query are chosen by the caller2 . They are given as children of function call nodes. Note that one can therefore specify different call guards and argument queries for different calls of the same function, even in the same artifact. Note also that call guards allow in particular sequencing function calls. For instance, given two calls to functions f 1 , f 2 in the same document, to force f 1 to be evaluated first, one may require in the call guard of f 2 that the result of f 1 has already been received.

To illustrate, consider the running example. One can specify that when a product has been ordered, a bill is issued to the customer. The guard may be that this product is available. In GAXML syntax, the query to compute the argument of the call may be as in Figure 3.

A last aspect of function in the AXML artifact model is that like AXML, AXML artifacts support both pull and push services. A pull service call is just a standard remote method call. A push service call is a subscription. It is typically answered by "yes". Then the server sends a stream of data possibly eventually closed by an end-of-stream. Now consider external functions. From a peer viewpoint, there is no difference between calling an internal or an external function. Thus, a call to an external function also has a call guard and an argument query. On the other hand, the external service is outside the artifact realm. Thus the return guard is simply a constraint on the data that is returned and there is no return query. So an external function simply returns non-deterministically some data obeying typing constraints. Observe that one can use these external queries to model arithmetic functions (to ignore their semantics and avoid reasoning about arithmetic) or user inputs.

Workflow: For each class c i , a workflow ω(c i ) imposes constraints on how an artifact in this class may evolve. This may be specified with triples (event, precond, postcond).

The key events that can be considered correspond to the activation of a function call at some peer, the reception of the call at some other peer, the sending of the result, and the reception of that result. Many high level events such as artifact creation, move or archiving may be seen as instances of function calls. The conditions precond and postcond are (BTPQ) formulas over the states of the artifacts (including their times and locations).

One could prefer a more standard workflow approach in the style BPEL. The workflow is then given by specifying admissible transitions between the stages. Suppose that an event e occurs that moves an artifact in class c i from state σ to σ ′ . Then there must exist (e, p, p ′ ) ∈ ω(c i ) with σ |= p and σ ′ |= p ′ . If this is not the case, a workflow constraint violation is detected.

In both approaches, the system should specify what to do when such a violation occurs, e.g., transaction abortion or roll back.

Artifact system and runs: An artifact system for a schema (Π, C, τ, ω, θ, ι) is a function I that (i) maps each p ∈ Π to an artifact tree I(p); and (ii) for p = p ′ , no artifact ID occurs in both I(p) and I(p ′ ).

An artifact system defines the set art(I) of artifacts occurring in I. Note that (ii) is some form of "non-ubiquity" condition for artifacts. Each is entirely in one host. On the other hand, an artifact may create a subartifact and "send" it out in the world, e.g., the warehouseOrder subartifact of a webOrder. The localization of an artifact α in art(I), denoted λ(α), is the peer that it is included in.

A run of a system is a sequence I j of systems, where each transition corresponds to some elementary operation, e.g. a function call. An interesting issue is the time of the transition. Time is always defined with respect to a peer, e.g., a time is a pair (p, t) where p is a peer ID and t ∈ Q. The order between these times, denoted ≺, is only partial. Consider for instance the activation of a function call. As already mentioned, this involves some synchronicity between the caller and callee. The transition happens at two simultaneous times, one for the caller p 1 and one for the callee p 2 and (p 1 , t 1 ) ≡ (p 2 , t 2 ).

From a formal point of view, these exchanges and moves occur instantaneously. For instance, for a message from some peer p to some peer p ′ , the message is sent and received simultaneously. Of course, this synchronicity does not correspond to the fundamentally asynchronous nature of the distributed world we model. To overcome this shortcoming, one can introduce a new peer, namely Net, to represent the communication network. So, for instance, to move from p 1 to p 2 , an artifact will move (instantaneously) from p 1 to Net, then later on move (instantaneously) to p 2 . So, we will see two distinct times, (p 1 , t 1 ) ≡ (Net, t ′ 1 ) ≺ (Net, t ′

Main

2 ) ≡ (p 2 , t 2 ). Note that the inequality captures the (desired) constraint that a message arrives after it is sent.

We conclude this section with remarks on important aspects of the artifact model:

Tasks and services, states and stages, activities All these notions (in our opinion, sometimes considered in confusing ways) are formally captured in the artifact model. This will be best seen with our running example. A Plant artifact receives streams of webOrders, a collection of tasks. To each of these tasks, corresponds an artifact for us. Different subtasks for a webOrder, e.g., creditApproval, warehouseOrder, are represented by subartifacts. This is where the natural nesting in the model comes in handy. In general, a task may require the collaboration of several artifacts. A Plant artifact provides a service (that corresponds physically to building the product). At some point in time, a Plant artifact may be processing a large number of webOrders. The state of each webOrder is an (Active) XML document. Some of them may be in a waitingForParts stage, others in inConstruction, waitingForTests, etc. The notion of activity often arising in functional decompositions of business processes, may be seen as a view over a system of artifacts. It may focus on several artifacts, e.g., the warehouse activity would group the artifacts involved in the warehousing task for a webOrder. It may also isolate a particular period of the process, e.g., the different stages in a product construction. Time and provenance The system handles time and queries talk about it, e.g., which webOrders took more than one week of processing and which webOrder were delivered before being paid? The system also handles provenance and queries talk about it, e.g., which webStore created a particular webOrder and which plant built the products for it?

Life and death An artifact may be created in a number of ways, e.g., from scratch, by cloning an existing artifact, or by activating some (pas-sive) data. An artifact may hibernate temporarily or terminate. Typically some archiving may be performed at the end of the artifact life cycle or at particular milestones.

Asynchronous communications

The system provides reliable communications, where an artifact can send a message to any other artifact just by knowing its ID. An issue is the localization of the destination artifact. This is straightforward to implement for artifacts that are anchored at a particular peer. For artifacts that move, the system is responsible for forwarding them messages. This is a standard issue in system with mobile objects, e.g., cell phones.

Where are the artifact rules? The fact that an artifact (in an object-oriented style) carries its own logic is a departure from AXML where the rules that define local functions are installed at the hosting peer. Observe that this does not imply that the artifact has to have some deep knowledge of the organization of its host. For instance, an artifact entering the webStore does not have to know where the catalog is located; it only has to know the name of the function to obtain information from the catalog. A more serious issue is that this may be viewed as some security violation since the peer is going to run the rules of the artifact inside its own environment. We believe that this is the standard cost (as in Java applets) we have to pay for the flexibility of the approach. A peer can always deactivate an artifact it is hosting or control it very tightly (e.g., in a sandbox).

III. MONITORING

One of the problems we studied is the monitoring of distributed systems based on the notion of artifacts. In this section, we briefly mention this work to illustrate the use of artifacts. A fundamental issue in that setting is that we do not see all that is going on inside the artifact. We may not even see all the communications. Hence we have to handle incomplete information in particular for query processing.

We have developed the P2PMonitor monitoring system [START_REF] Abiteboul | Distributed Monitoring of Peer to Peer Systems[END_REF]. Both the monitored and the monitoring systems are P2P. We have used the Dell manufacturing system [START_REF] Kapuscinski | Inventory decisions in Dell's supply chain[END_REF] in a demo [START_REF] Abiteboul | Distributed Monitoring of Peer to Peer Systems (demo)[END_REF] to validate these ideas with webOrders modeled as AXML artifacts.

Functionalities: In general, the surveillance of artifact in our system is based on the following functionalities. The alerters are in charge of the detection of basic events in the systems we monitor (e.g., sending/reception of a function call, sending/reception of result). The stream processors process streams of alerts and evaluate on-line queries. Repositories store surveillance data and maintain access structures such as indexes or materialized views. And, finally, XML processors process this surveillance data and evaluate offline spatio-temporal queries.

We next briefly discuss interesting issues encountered when developing this system.

The alerters: AXML peers can provide self-monitoring functionalities for the artifacts they host. In these systems, monitoring may be run simultaneously with the application logic (if there is no risk to interfere, e.g., with the application performance). However, most of the systems we want to monitor are not AXML. For such a non-AXML system, we have limited access to the data and control of the system. We can observe (some of) its interactions with the rest of the world. This may be achieved e.g., by installing a "spy" on its Web server that observes the service calls and responses of the Web server. For database systems, an alerter may rely on the triggering system of the database or on the surveillance of update calls to the database. For instance, in P2PMonitor, we have developed a Webserver alerter and an eXist-database alerter.

Stream processing: Stream processing is needed for gathering and organizing the desired traces of runs and for on-line queries. The techniques we use for stream processing are described in [START_REF] Abiteboul | Efficient maintenance techniques for views over active documents[END_REF]. The central component is the axlog widget defined by tree-pattern queries over active documents (in the AXML style) that include some input streams of updates. A widget generates a stream of updates for each query, the updates that are needed to maintain the view corresponding to the query. To support widgets we use a novel algorithm [START_REF] Abiteboul | Efficient maintenance techniques for views over active documents[END_REF], [START_REF]Satisfiability and Relevance for Queries over Active Documents[END_REF] based on datalog technology (Differential or MagicSet) and efficient XML automata filtering (YFilter).

Localization of the artifacts to monitor: This is an important aspect in monitoring. Different styles of localization may be considered:

• Static Monitoring: We know in advance the peers to monitor and their location as, e.g., in the Dell Supply Chain demonstration [START_REF] Abiteboul | Distributed Monitoring of Peer to Peer Systems (demo)[END_REF]. • Self-monitoring: An AXML artifact does itself the monitoring so localization is not an issue. • Monitoring by contamination: When an artifact moves to a different location (say a new peer), its monitor sends to the monitor of the new location all the indications needed for the monitoring of the artifact to continue. (It may have to "install" a monitor at the new location if none exists.) • Primary-site-driven monitoring: In the style of the MobileIP protocol [START_REF] Force | Rfc 3344, IP mobility support for IPv4[END_REF], a primary site of the artifact is responsible for always knowing the location of the artifact (e.g., the artifact has to inform it) and installing monitoring on the host of the artifact (when possible).

IV. VERIFICATION

In [START_REF] Abiteboul | Static analysis of Active XML systems[END_REF], the analysis of the behavior of GAXML systems, and in particular the verification of temporal properties of their runs, are considered. For instance, one may want to verify whether some static property (e.g., all ordered products are available) and some dynamic property (e.g. an order is never delivered before payment is received) always hold. The temporal properties are specified in Tree-LTL, a data-tree-based temporal logic that allows expressing a rich class of temporal properties. Two examples of tree-LTL formulas are given in Figure 4.

The analysis establishes the boundary of decidability of satisfaction of Tree-LTL properties by GAXML systems. In particular, decidability is obtained by disallowing recursion in GAXML systems, which leads to a bound on the number of total function calls in runs.

Although recursion-free GAXML is a rather restricted language for specifying artifacts, it already captures some essential aspects of the control of applications in presence of data.

V. ISSUES AND ON-GOING WORK

There has been a number of works around AXML. See [START_REF] Abiteboul | The Active XML project: an overview[END_REF]. We mention the ones that are most relevant to the discussion and discuss issues.

1) Model: The present paper is an attempt to specify a model of artifacts based on AXML. This is on-going work. 2) Monitoring, tracing, querying history: We mentioned works in that direction in Section III. 3) Verification: We mentioned works in that direction in Section IV. The problem is also studied in [START_REF] Abiteboul | Positive Active XML[END_REF], [START_REF] Genest | Tree pattern rewriting systems[END_REF]. An interesting direction is to enrich (beyond GAXML) the class of system that may be verified. 4) Time: an issue is the absence of global clock. So reasoning about time is more complicated. 5) Interface: in general, we don't know the internal logic of some artifacts or that of some tasks performed on another peer. We need to be able to describe abstractly such behaviors. There is some on-going work on interfaces in the context of AXML [START_REF] Benveniste | Interface for Active XML[END_REF]. 6) Access control: we are working on access control mechanisms in such a distributed environment, where partners want to keep control over their own data.

Every mail order is eventually completed (delivered or rejected):

∀X[G( Main

Definition:

  An (artifact) schema S = (Π, C, τ, ω, θ, ι)

Figure 1 .

 1 Figure 1. Artifacts in the Dell application

Figure 3 .

 3 Figure 3. A GAXML query

  Every product for which a correct amount has been paid is eventually delivered (note that the variable Z is existentially quantified):

Figure 4 .

 4 Figure 4. Tree-LTL formula

• A finite set Π = p 1 , ..., p K of peer names.[START_REF] Nigam | Business artifacts: An approach to operational specification[END_REF] In[START_REF] Abiteboul | Static analysis of Active XML systems[END_REF], function nodes are leaves. Here we will see that the function nodes have children that will in particular contain their "call guard" and "argument query". See further.

In GAXML, all calls to a function f use the same call guard and argument query .

This work has been partially funded by the Advanced European Research Council grant Webdam and the ANR grant Docflow.