Panagiotis Papadakis

Patrick Rives

Anne Spalanzani

Adaptive Spacing in Human-Robot Interactions

Social spacing in human-robot interactions is among the main features that is useful when integrating human social intelligence into robotic perception and action skills. One of the main challenges, is to capture the transitions incurred by the human and further take into account robot constraints. Towards this goal, we introduce a novel methodology that can instantiate diverse social spacing models depending on the context and further as a function of uncertainty and robot perception capacity. Our method is based on the use of non-stationary, skew-normal probability density functions for the space of individuals and on treating multi-person space interactions through social mapping. We show the utility of our approach in practice using an indoor robot operating in the presence of humans, allowing it to exhibit socially intelligent responses.

I. INTRODUCTION

As technological and societal progress set forth the deployment of robots within human society, humans and robots are expected to share space on the premise of natural interaction. In this versatile problem, social intelligence can be inscribed into robotic skills at various dimensions of human-robot interaction. Among those, understanding and controlling social space [START_REF] Hall | The Hidden Dimension: Man's Use of Space in Public and Private[END_REF], [START_REF] Ciolek | Environment and the spatial arrangement of conversational encounters[END_REF], [START_REF] Vinciarelli | Social signal processing: Survey of an emerging domain[END_REF] is a core element of human social behaviour and further pertinent to robots as it can be expressed through their motion.

Social space sensitivity as a static property does not convey information for an interaction, however, its amplitude changes are strong, implicit cues for the initiation, evolution and termination, or avoidance of an interaction. For this reason, a major part of human-robot interaction studies [START_REF] Tasaki | Distance-based dynamic interaction of humanoid robot with multiple people[END_REF], [START_REF] Hüttenrauch | Investigating spatial relationships in human-robot interaction[END_REF], [START_REF] Kuzuoka | Reconfiguring spatial formation arrangement by robot body orientation[END_REF], [START_REF] Mumm | Human-robot proxemics: Physical and psychological distancing in human-robot interaction[END_REF], [START_REF] Shi | Spatial formation model for initiating conversation[END_REF] has sought to reveal the factors influencing sensitivity in relation to social spacing. Such studies verify what is well known from human sociology and psychology studies, i.e. that theoretical models may vary considerably across human individuals but they further give new insights, occasionally via conflicting findings that arise due to the involvement of robots [START_REF] Dautenhahn | How may i serve you?: A robot companion approaching a seated person in a helping context[END_REF], [START_REF] Carton | Proactively approaching pedestrians with an autonomous mobile robot in urban environments[END_REF].

It is thus becoming more and more evident that sociallycompliant robot skills should first be able to accommodate an extended range of social spacing models (Fig. 1) and second, allow smooth transitions during human-robot interactions. Despite the noticeable progress at distinct steps, however, the overall problem still lacks a framework that is both sufficiently descriptive of human social behaviour and at the same time accounting for robotic constraints. 1 P. Papadakis and P. Rives are with team LAGADIC at INRIA Méditerranée, Sophia-Antipolis, France{panagiotis.papadakis, patrick.rives}@inria.fr Most earlier approaches have focused on the first aspect through the development of complex computational models of social spacing, for example, as functions of human posture [START_REF] Sisbot | A human aware mobile robot motion planner[END_REF], direction [START_REF] Scandolo | An anthropomorphic navigation scheme for dynamic scenarios[END_REF] or intention of interaction [START_REF] Hansen | Adaptive human aware navigation based on motion pattern analysis[END_REF]. The most common route is to aggregate distinct functions which inevitably produces discontinuities within the synthesized social space and consequently, those are not suited for robots that should respond smoothly to transitions in social sensitivity. The function of an individual' s social sensitivity that we proposed in our earlier work [START_REF] Papadakis | Social mapping of human-populated environments by implicit function learning[END_REF] surpassed this limitation, nevertheless, its design did not allow a generalization to varying social behaviour models. Probably the most elaborate attempt to address most of the challenges can be found in the work of Lam et al. [START_REF] Lam | Human-centered robot navigation -towards a harmoniously human-robot coexisting environment[END_REF] that accounted for various models of sensitivity for humans and robots as well as uncertainty in perception. However, due to the usage of a finite-state machine for modelling interaction cases and hard distance thresholds, smooth transitions are not feasible.

Overall, we can assert that earlier works converge on a set of features having the strongest influence in social spacing, that we identify as the lateral and vertical dominance. Although these depend on a variety of factors such as cultural background, age, etc. they are statistically biased towards the right [START_REF] Dautenhahn | How may i serve you?: A robot companion approaching a seated person in a helping context[END_REF], [START_REF] Koay | Learning navigational maps by observing human motion patterns[END_REF], [START_REF] Torta | Design of robust robotic proxemic behaviour[END_REF] and frontal area [START_REF] Hayduk | The shape of personal space: An experimental investigation[END_REF], [START_REF] Kirby | Social robot navigation[END_REF], [START_REF] Rios-Martinez | Understanding human interaction for probabilistic autonomous navigation using riskrrt approach[END_REF] respectively. Otherwise, in the absence of such bias the shape of social space is reduced to a kernel in the form of concentric spheres or ellipses. Literature extends to numerous other works in a similar spirit, hence we focus here onto those that we deem more relevant and refer to recent surveys [START_REF] Kruse | Human-aware robot navigation: A survey[END_REF], [START_REF] Leite | Social robots for long-term interaction: A survey[END_REF] for the interested reader.

In this work, we propose a method to express the dominant factors that bias an individual' s social spacing by a single model (example shown in Fig. 1), allowing smooth transitions and in relation to uncertainty and perception capacity.

We pursue this by using non-stationary, skew-normal probability density functions and build upon our previous work on social mapping [START_REF] Papadakis | Social mapping of human-populated environments by implicit function learning[END_REF] to deal with interactions of multiple participants. The complete methodology allows detection and analysis of diverse human social behaviours while doing so in real-time using conventional computing power.

The remainder of this paper is organized as follows. In Section II we unfold in detail our approach and highlight its theoretical contribution. In the sequel, in Section III, we show the utility of our approach through experiments on an indoor robotic platform operating in the presence of humans and conclude by summarizing our findings in Section IV.

II. PROPOSED APPROACH

We organize our description in three parts. First, in section II-A, we describe how our new model uniquely expresses the prominent social spacing models for individuals while in section II-B we link it with uncertainty and robot perception capacity. Finally, in section II-C we review our approach for mapping social interactions of multiple participants in relation to the new model of individual social spacing.

A. Atomic social space function

For the construction of an individual' s social space we begin by collecting dominant social spacing cues. Here, we consider (i) the position of the human t = (t x ,t y ) T ∈ R 2 , (ii) the orientation θ ∈ [0, 2π) and (iii) the dominant side d ∈ {-1, +1} where -1, +1 correspond to the left and right side of the human respectively.

These cues are collected from a module that performs human detection and tracking of the articulated human motion (see section IV) under known conditions. The position of the human is taken as the body centroid while the orientation from the torso orientation. The dominant side is inferred either implicitly by the minimum lateral distance of the human from obstacles, based on the hypothesis that people maintain a smaller distance from their dominant side and vice versa, or explicitly through a distinctive hand gesture. In this way, a person is finally denoted as p = (t T , θ , d) T .

On the basis of these atomic cues, we construct a function IS p (.) for the social space of an individual p, whose parameters are controlled through certainty, robotic perception capacity and the way in which these influence common social spacing models. We begin by identifying the social spacing models that are prominent within the literature and adopted in the majority of human-robot interaction studies, as follows; (a) concentric circles [START_REF] Hall | The Hidden Dimension: Man's Use of Space in Public and Private[END_REF], (b) egg-shape [START_REF] Hayduk | The shape of personal space: An experimental investigation[END_REF], (c) ellipse [START_REF] Helbing | Social force model for pedestrian dynamics[END_REF] and (d) dominant-side [START_REF] Grin-Lajoie | Characteristics of personal space during obstacle circumvention in physical and virtual environments[END_REF], as sketched at the top of Fig. 2.

Through an examination of these models and earlier studies (see Section I) we can distinguish a set of generative properties of atomic social spacing. First, all models suggest that social sensitivity is a concave function of interpersonal distance. In other words, it is a unimodal function where sensitivity is maximum at the centroid of the person, while it degrades in the remaining surrounding area. Second, sensitivity follows a progressive decay as a function of distance, which allows us to naturally assume the existence of a smooth function, where smoothness implies infinite differentiability. And finally, a person' s sensitivity may exhibit asymmetry along the vertical and lateral dimension.

To express these characteristics within a single representative function, we appoint to IS p (.) a bivariate Skew-Normal (SN) probability function denoted as Ñ , which is by definition a smooth and concave function, satisfying the first two requirements. In particular, the family of skew-normal distributions [START_REF] Azzalini | A class of distributions which includes the normal ones[END_REF], [START_REF] Azzalini | The multivariate skew-normal distribution[END_REF] constitutes a superset of the normal distribution N , being further parameterized by the socalled shape parameter that controls the amount of skewness, which allows us to accommodate the last requirement by introducing skewness along an arbitrary direction. Following [START_REF] Azzalini | The multivariate skew-normal distribution[END_REF], this is achieved by setting IS p (.) to be a probability density function distributed as Ñ (t, Ω, α) defined as:

IS p (u) = 2φ (u)Φ(α T u) (1)
where u ∈ R 2 , φ (.) denotes the normal probability density function N (0, Ω) with covariance matrix Ω, Φ(.) is the respective cumulative distribution function of φ and α = (α 1 , α 2 ) T is the parameter vector that controls the skewness. Without loss of generality, we take the position of the human t to be centred at the coordinates origin O and with body direction θ = π/2 aligned to the vertical axis. Furthermore, due to the inherent characteristic of the SN distribution that its mode does not coincide with that of the non-skewed version, we translate the skewed density function so that its mode coincides with the location of the human. In lack of a known closed-form solution, we compute the location of the mode numerically, e.g. through gradient descent. Finally, since we use IS p (.) to account for the social sensitivity of an individual human in real world coordinates, an isotropic scaling can be applied so that proxemics-based distances or other experimentally derived distances can be assigned to the isocontours of the function. The second row of Fig. 2 shows the resulting IS p (.) function that is attributed to a human and how its parameters are controlled to instantiate the main spacing models.

α = 0 T α = (0, α 2 ) T α = 0 T α = (α 1 , 0) T Ω = σ 2 I Ω = σ 2 I Ω = (σ 2 x , σ 2 y ) T I Ω = σ 2 I

B. Adapting to perception capacity and uncertainty

We proceed by linking the atomic sensitivity function with two distinctive dimensions in human-robot interaction, namely, robotic perception capacity and uncertainty. This is necessary for making our approach applicable to varying settings and allowing smooth transitions among models.

The first dimension refers to the ability of a robot to infer the information about the body orientation θ and dominant side d. This ability depends on the sensors and algorithms that a robot is equipped and in turn, determines the form of the p vector for characterizing a human. To account for these differences we distinguish which social spacing models are applicable in each case as given in Table I where the first column lists possible perception modalities while the applicable social spacing models are given in the second. Once perception capacity is given, we continue by accounting for the second distinguished dimension in humanrobot interaction, i.e. uncertainty. This is necessary as switching between social spacing models may not only occur due to the social behaviour of the human, but it could further be the result of sensing uncertainty. Common factors that introduce uncertainty within the individual elements of the vector p during human-robot interactions are selfocclusions, occlusions from other humans, occlusions due to the environment and range limits.

Giving an explicit model of uncertainty that accounts for all these factors is beyond our scope here as that depends on the hardware set-up and environment conditions. Instead, we focus here on the more general case wherein uncertainty is either the result of excessive or too short distance between the robot and the human that may prevent capturing of the complete human body. This can be alleviated by regulating transitions among the main social spacing models. Our hypothesis is that the concentric circles model (a) constitutes the most basic and simple social spacing model that is assigned at minimum certainty, while all the remaining models (b), (c) and (d) arise as certainty increases and completely outweigh model (a) when certainty is maximized.

Let us denote as IS m,p (u) a specific social space function for a person p where m ∈ {a, b, c, d} enumerates the corresponding model and as ρ ∈ [0, 1] the certainty factor, then the expected social sensitivity is obtained as:

IS p (u) = IS a,p (u) • (1 -ρ) + IS m,p (u) • ρ (2)
Eq. ( 2) implements the transitional mechanism between spacing models as a function of certainty ρ. In order to further guarantee smooth transitions certainty is in turn expressed as a function ρ(.) that is C k (continuous up to the k th order). A practical example is given in Fig. 3 that depicts frames where certainty regarding social spacing cues varies as a result of distance from the human, following a 1D Gaussian approximation and in line with related findings [START_REF] Mead | Probabilistic models of proxemics for spatially situated communication in hri[END_REF]. Initially, the human resides at the far limit of the perceptual range (frame #i) bearing minimum certainty ρ i , then he resides at the center (frame # j) with maximum certainty ρ j and finally (frame #k) continues to approach which reduces certainty to ρ k as the body extends beyond the field of view. Finally, we note that while our approach favours smooth model transition it also allows hard switches that may naturally occur (e.g. through an intentional sudden posture change).

C. Mapping interactions of multiple participants

In the previous section we showed how we can effectively address the problem of adaptive social spacing for individuals through a general framework and by taking into account robot perception capacity and certainty. In the sequel, we build upon our previous work on social mapping [START_REF] Papadakis | Social mapping of human-populated environments by implicit function learning[END_REF] that provided a general framework for mapping the collective interactions among humans by extending the notion of personal space to interpersonal social spaces. Its formulation allows the usage of any type of atomic space function as long as it satisfies the conditions for being a probability density function. Here, we employ the social mapping paradigm on the new atomic social space function which uses the SN pdf.

At the first step, we take m i i.i.d. (independent and identically distributed) samples from the atomic social space function IS p i (.) of each individual i = 1, 2, ...N where N is the total number of individuals. For the determination of the number of samples m i for each human we follow the same principle as before, i.e. using the detection certainty to regulate the number of samples so that m i ∈ {0, 1, ..., m max }. We gather the total number M = m 1 + m 2 + ... + m N of sampled points from all individuals into a set S = {s 1 , s 2 , ...s M } ⊂ R 2 , holding the data that we will use to reconstruct a global density function of social sensitivity.

Following [START_REF] Papadakis | Social mapping of human-populated environments by implicit function learning[END_REF], we formulate this as a one-class density estimation problem and we solve it by employing Kernel Principal Component Analysis for novelty detection [START_REF] Hoffmann | Kernel pca for novelty detection[END_REF]. This involves the computation of the centralized Gram matrix K for the set S whose (i, j) th entry is given by:

Ki j = K i j - 1 M M ∑ r=1 K ir - 1 M M ∑ r=1 K r j + 1 M 2 M ∑ r,s=1
K rs [START_REF] Vinciarelli | Social signal processing: Survey of an emerging domain[END_REF] where in our implementation we set K i j = k(x, y) = exp(-γ||s is j || 2 ). This step is concluded by computing the eigen-decomposition of K which gives a set of eigenvectors e l , l = 1, 2, ..., M and corresponding eigenvalues λ l . Finally, we use the reconstruction error within the subspace of the first 1 ≤ l max ≤ M principal directions as the global sociality density estimate D(q) for an arbitrary point q ∈ R 2 . As was shown in [START_REF] Papadakis | Social mapping of human-populated environments by implicit function learning[END_REF], using Kernel PCA for novelty detection is superior to a Parzen window aggregation as the former concentrates the density within groups of humans and ensures that the density is maximized on the human position.

III. EXPERIMENTS

We have performed our experiments with an indoor robotic platform Neobotix MP-500 which employs a two-wheel differential drive mobility system (see Fig. 4 (a)) and using the Robot Operating System (ROS) [START_REF] Quigley | Ros: an open-source robot operating system[END_REF]. Robot navigation was semi-supervised while detection and analysis of (inter)personal social spaces were entirely automated. To detect the articulated human motion we used the Asus XtionPRO Live camera which captures synchronized RGB-D images in conjunction with the OpenNI library. An array of 8 cameras in total are mounted sideways on top the robotic platform (Fig. 4 (b)), by regular 45 • increments that allow a panoramic sensing of the environment. Table II describes our experiments on the basis of the Human-Robot Interaction Taxonomy provided in [START_REF] Yanco | Classifying human-robot interaction: an updated taxonomy[END_REF]. The goal of these experiments is to demonstrate the utility of the proposed framework in diverse scenarios. Following up earlier work [START_REF] Fulgenzi | Probabilistic navigation in dynamic environment using rapidly-exploring random trees and gaussian processes[END_REF], [START_REF] Rios-Martinez | Understanding human interaction for probabilistic autonomous navigation using riskrrt approach[END_REF] that developed socially-intelligent path planning strategies on the basis of a given set of interacting people our focus here is on the actual extraction of the higher-level spatial relationships within real human-human and human-robot encounters 1 . a) Experiment #1: Two trials were first performed by each of three participants in a scenario where the human and the robot approach each other along a narrow corridor. An explicit or implicit interaction was required so that the robot can bypass the human safely and with minimal disturbance to the atomic social space. Fig. 5 shows snapshots from a specific trial and the respective stages of situation awareness for the robot. In detail, once the human is first detected at a distance where certainty is minimum he is attributed with the basic spacing model of concentric circles (Fig. 5 (a)). As he approaches (Fig. 5 (b)), certainty increases with respect to the body orientation which coincides with the motion direction and hence the egg-shaped model is assigned. Upon approach, the human signifies explicitly that ✲ time Fig. 6. Mapping the social interactions of three participants using the proposed approach along various time frames. The overlaid path plan between points A and B corresponds to the trajectory which best prioritises the regressed global social sensitivity.

◗ ◗ ◗ ◗ ◗ ◗ ◗ ◗ ◗
he gives priority to the robot to pass from his right side through a distinctive hand gesture. This is interpreted as a cue that signifies the human' s dominant side, shifting the social sensitivity density of the human towards his left (Fig. 5 (c)) and allowing the robot to bypass the human from the right side (Fig. 5 (d)). This experiment demonstrates how our framework allows transitions among social spacing models by appropriate control of the non-stationary, skew-normal density function in a continuous mode of operation.

Within the total set of trials, the participants either completely gave all their space clearance to allow the robot to pass or performed a similar distinctive gesture to signify their dominant side. As our aim here is not to demonstrate a gesture recognition approach, in Fig. 5 we chose to illustrate the trial where the hand gesture was mostly distinctive and how it affected the adaptation of the atomic social space.

b) Experiment #2: In the sequel, multiple humans interact within a spacious area while the robot employs social mapping [START_REF] Papadakis | Social mapping of human-populated environments by implicit function learning[END_REF] in order to extract interpersonal social zones at various density levels. This is done by detecting and analysing the spatial interactions on a per-frame basis using the isocontours of different levels of sociality density. Fig. 6 (top row) depicts various such examples taken from a sequence wherein humans interact with each other, together with the corresponding social mapping output (bottom row). Three increasing levels of global social sensitivity have been set which we enumerate as I, II and III respectively, while the thickness of the contour of each zone is set proportional to the number of contained humans. The different frames illustrate how our proposed approach can extract the basic features that are useful for a robot to understand the spatial relations among humans within a highly dynamic scene.

At a second step, we have evaluated the utility of the complete proposed framework by showing different path trajectories which were planned by the robot when instructed to traverse the scene from a starting point A to a destination, oriented point B, using the baseline ROS trajectory planner that employs the Dynamic Window Approach (DWA) [START_REF] Fox | The dynamic window approach to collision avoidance[END_REF].

The trajectories are shown in blue color at the bottom row of Fig. 6 and are the outcome of a priority-based path planning scheme which operates on the 2D grid produced by social mapping and is conditioned on the I, II and III levels.

In short, within this scheme path planning is initially constrained to the free space of the exterior of the total I level. If this area is too small to allow a feasible path, path planning is performed on the next larger area as specified by the exterior of the II level and if necessary this continues until the III level. Following this rule, the extracted paths which are shown for each frame are those that maximally respect the global social sensitivity. This extends the notion of adaptive spacing proposed by our method to the notion of adaptive socially-compliant path planning. Here, we demonstrate this feature using DWA and believe that it could be equivalently integrated with other relevant strategies.

We finally note that despite the fact that our approach is transparent to the number of human participants, the previous examples involved a maximum of three collocated humans since additional members typically occluded those being previously detected. Therefore, to complement our experiments we applied our approach within a synthetic scenario that involves 5 collocated people and show the corresponding results within Fig. 7. To compensate for the lack of realism, we have used real human Motion Capture (MOCAP) sequences of dynamic pair-wise interactions taken from the Carnegie Mellon University dataset (http://mocap.cs.cmu.edu/). While such a scenario clearly surpasses the perception capabilities of contemporary robots in terms of detection and analysis of the articulated human motion, it is provided to show the applicability of the proposed methods in conditions that are far more complex that those explored in earlier works.

In terms of efficiency, execution rate mainly depends on the number of detected humans which prescribes the total number M of points that are sampled to reconstruct the global sensitivity density. All other parameters are set constant according to the employed sensors, which in our set-up yielded an execution rate ranging from 40 to 8 frames/sec. ✲ time Fig. 7. Mapping the social interactions in a synthetic scenario of five humans using the proposed approach along various time frames. The overlaid path plan between points A and B corresponds to the trajectory which best prioritises the regressed global social sensitivity.

IV. CONCLUSIONS

We introduced a novel probabilistic framework capable of instantiating diverse models of social spacing and accounting for distinctive dimensions in human-robot interaction, namely, perception capacity and certainty. We have concretely shown how our method allows smooth adaptation in the situation awareness of a robot within common humanrobot interaction examples and further showed its utility at the level of path planning by adapting trajectories to social sensitivity levels. By coupling skills of human social behaviour perception with path planning within real interaction scenarios, we believe that our work makes a considerable forward step in the field of socially-embedded robots.

The description of our methods was focused on skills of social intelligence where robots should avoid interrupting human activities. As part of our ongoing work we are interested in integrating these skills with complementary behaviours where robots are able to initiate, maintain and terminate interactions with humans. As this involves the usage of additional behaviour cues and superior recognition skills, we plan to investigate the role of certainty and perception capacity in human-robot interactions at a finer level.

Fig. 1 .

 1 Fig. 1. Varying poses (top) and corresponding interpretation (bottom) using adaptive spacing; (a) frontal motion, (b) neutral and (c) dominant side.

Fig. 2 .

 2 Fig. 2. Top row; prominent social spacing models for individuals (a) concentric circles, (b) egg-shape, (c) ellipse and (d) smaller in dominant side. Bottom row; corresponding interpretation by controlling the parameters of the bivariate skew-normal probability density function.

  (a), (b), (c) p = (t T , d) T (a), (c), (d) p = (t T , θ , d) T (a), (b), (c), (d)

Fig. 3 .

 3 Fig. 3. Snapshots of approaching human where certainty is represented as a smooth function of detection distance.

Fig. 4 .

 4 Fig. 4. Illustration of (a) the robotic platform that was used for the indoor experiments and (b) the corresponding perception setup.

Fig. 5 .

 5 Fig. 5. Bypassing each other along corridor. Frames (a)-(d) show the concept of adaptive spacing by considering certainty and social cues.

TABLE I Perception

 I

capability Applicable models p = t (a) p = (t T , θ ) T

For a video illustration of the presented experiments please refer to the accompanying file provided as supplementary material.


Marie-Sophie Hervieux
email: marie-sophie.hervieux@univ-nantes.fr.

Lemna

Pierre-Alexandre Mahieu

A detailed systematic review of the recent literature on environmental Kuznets curve dealing with CO 2

Keywords: EKC, CO2, JEL codes: Q56, Q53

Since the early 90', many articles have been published on Environmental Kuznets Curve (EKC), especially empirical articles dealing with CO 2 . In our paper, we provide a detailed review of the empirical articles dealing with CO 2 that were published in 2012 and 2013 in ISI Web of Knowledge. Our review, which is based on 41 studies, reports many information, such as the outcome of the study or the econometric procedure employed. Our review can be useful for several purposes, such as to perform a meta-analysis or to test the EKC.

Introduction

The concept of "Environmental Kuznets Curve" (EKC) is born in 1991 with the Grossman and Krueger's study of the North American Free Trade Agreement (NAFTA) [START_REF] Grossman | Environmental impacts of a North American Free Trade Agreement[END_REF][START_REF] Stern | The rise and fall of the environmental Kuznets curve[END_REF]. According to the EKC hypothesis, economic development would deteriorate environment and then would improve it, hence resulting in an inverted Ushaped curve.

The relationship between environment and development is generally expressed as follows:

= + + +
where E is a proxy for per capita environmental degradation, Y is per capita income, and ε is the normally distributed error term. EKC hypothesis holds if > 0, < 0, and both coefficients are statistically significant. Therefore, the turning point is obtained by setting the first derivation with respect to income of our equation equal to zero.

There is a high heterogeneity in the literature regarding the econometric procedures when testing the EKC hypothesis or when attempting to identify the turning point. Some study use panel data [START_REF] Dinda | Air quality and economic growth: An empirical study[END_REF]) while others use time series data [START_REF] De Bruyn | Economic growth and emissions: Reconsidering the empirical basis of Environmental Kuznets Curves[END_REF]).

Likewise, some study use logarithmic form (Panayotou (1993)) while others do not [START_REF] Wang | Functional sensitivity of testing the environmental Kuznets curve hypothesis[END_REF]). Some authors add a cubic term of income in order to allow for more flexibility (potential N shaped form) [START_REF] Torras | Income, inequality, and pollution: A reassessment of the Environmental Kuznets Curve[END_REF], others choose completely different functional forms such as non parameters functions or non polynomial functional forms [START_REF] Begun | In search of a sulphur dioxide Environmental Kuznets Curve: A bayesian model averaging approach[END_REF]). The choice of the econometric procedure is an important issue since it can affect results [START_REF] Harbaugh | Reexamining the empirical evidence for an Environmental Kuznets Curve[END_REF].

We decide to present a snapshot of the publications that were published in ISI Web of Knowledge in 2012 and 2013. Contrary to other past reviews [START_REF] Borghesi | The environmental Kuznets curve: A survey of the literature[END_REF][START_REF] Dinda | Environmental Kuznets Curve hypothesis: A survey[END_REF][START_REF] He | Is the Environmental Kuznets Curve hypothesis valid for developing countries? A survey[END_REF][START_REF] Lieb | The environmental Kuznets curve and flow versus stock pollution: the neglect of future damages[END_REF][START_REF] Stern | The rise and fall of the environmental Kuznets curve[END_REF], we provide a systematic review of publications because it allows for replication and also possible future extension of the database. To this end, we will provide the selection rule as well as the final database. Furthermore, we focus on the carbon dioxide (CO 2 ) because (i) most of the past studies focused on CO 2 and (ii) the recent report of the Intergovernmental Panel on Climate Change (IPCC), stresses the need to better understand the relationship between environment and growth so as to limit global warming.

Finally, we only report the most recent studies since state of the art tends to change over time.

Our systematic review might interest readers testing the Environmental Kuznets Curve in the near future who might want to know the most recent econometric procedures and methodology. Furthermore, readers interested in the existence or not of environmental Kuznets curve (or its shape) in a given country or area might want to know the most recent empirical studies since what was true in the past might no longer hold. Finally, it may help to perform a meta-analysis. So far, very few attempts have been made [START_REF] Cavlovic | A meta-analysis of environmental Kuznets curve studies[END_REF][START_REF] Goldman | Meta-analysis of environmental Kuznets curve studies: determining the cause of the curve's presence[END_REF][START_REF] Hui | Economic growth and environmental quality: a meta-analysis of environmental Kuznets curve studies[END_REF]. A possible reason is that meta-analysis requires a high level of precision regarding the econometric procedure and methodology used in the selected studies. The rest of the paper is organized as follows: Section 2 details the construction of the database, section 3 presents the database, and section 4 provides a discussion.

Methods

We used the ISI Web of Knowledge because it involves a large number of high quality journals. First, we entered the following criteria in ISI: 1) the topic 2 is "Environmental Kuznets

Curve" or "Kuznets Environmental Curve", 2) the manuscript is published in 2012 or 2013, 3) the manuscript is an "article", 4) the article is published in one of the following ISI libraries:

Science Citation Index Expanded (SCI-EXPANDED), Science Citation Index Expanded (SCI-EXPANDED) and Arts and Humanities Citation Index (A&HCI), and 5) the journal is classified in one of the following fields: "economics", "environmental studies" and "environmental science". We obtained 111 articles. Then, we browsed the articles to retain only those with an empirical application dealing with CO 2 . In total, we obtained a sample of 41 studies, after excluding 60 studies that dealt with other environmental pressure indicators (i.e.

deforestation, water pollution, biodiversity, SO 2 , NO X , land degradation, Suspended Particulate Matter, Ecological Footprint, wastes, pesticides, etc.) or that were poorly related to the ECK. We also removed 10 studies providing a review of literature, a meta-analysis or a theoretical model.

Results

The database is available at this link [https://docs.google.com/spreadsheets/d/1yw96x0Qkizz86B9jA595P6gxU-1JyoI2NBBpdKl517g/edit?usp=sharing] which is composed of 41 observations. The main variables are described in Table 1. Figure 1 shows that a sizeable part of the 41 articles are published in economic modelling energy policy and energy economics. Figure 2 shows that studies have been performed in many areas of the world, but few applications have been made in Africa.

Data

We focus on studies which use CO 2 data to proxy the environmental degradation. Four main sources represent about 80% of the observations: WDI for 37%, IEA for 15%, EIA for 15%

and CEDIAC for 10%. Moreover all of our studies use CO 2 emissions instead of CO 2 concentrations, which is standard for this pollutant. Concerning the proxy for economic development, 90% of the studies use the traditional per capita GDP (mostly expressed in term of real GDP).

It is also worth noting that about the half of the studies involves panel data, the other half uses time series data, and only one study uses cross-countries data. At the beginning of EKC field, studies mainly used panel data due to the lack of long run data.

Functional form

There is still no consensus on the question of the use of data in their logarithmic form, but nevertheless, three-quarters of the studies use logarithms. The functional form mostly used is the traditional quadratic one (40%). Only 13% of our studies add the cubic term of GDP despite the fact that quadratic functional form is often criticized because it puts restrictions on estimated coefficients. We note that 22% of the studies focus on the linear relationship between GDP and CO 2 which discards the possibility of a turning point, therefore without concluding about the existence of an EKC. On the other hand, 30% of studies choose alternative methods.

Econometrical procedure

The bias of spurious regression in case of non-stationarity has been fully discussed in past literature [START_REF] Perman | Evidence from panel unit root and cointegration tests that the Environmental Kuznets Curve does not exist[END_REF]. This may explain why 68% of the current studies test the presence of unit root in data. Moreover, stationarity analysis allows for long run analysis which seems pertinent in the case of EKC (long term process). Besides, 61% of studies conduct long-run analysis mostly via cointegration analysis.

Outcome

In total, 23% of studies support EKC assumptions. The smallest turning point (4,700 US$) is found by [START_REF] Saboori | Economic growth and CO 2 emissions in Malaysia: A cointegration analysis of the Environmental Kuznets Curve[END_REF] for Malaysia, while the highest turning point 3 (32,855.55 US$) is found by [START_REF] Arouri | Energy consumption, economic growth and CO 2 emissions in Middle East and North African countries[END_REF] in a study that involved twelve countries of Middle East and North African (MENA) countries.

Conclusion

In this paper, we provided a detailed review of the empirical articles dealing with CO 2 that were published in 2012 and 2013 in ISI Web of Knowledge. Our review, which is based on 41 studies, reported many information, such as the outcome of the study or the econometric procedure employed. We found that more than 60% of studies analyze the potential presence of unit root and conduct long-run analysis. However, functional forms are still

Figure 2

 2 Figure 1 Journals

Table 1

 1 Main variables of the review

	Variable	Description	Mean	Number	of
			(standard	useable
			deviation)	observations
	Data
	Source_WDI	The data for the CO 2 comes from World	0.37 (0.49) 41
		Development Indicators (WDI)
	Source_IEA	The data for the CO 2 comes from	0.15 (0.36) 41
		International Energy Agency (IEA)
	Source_EIA	The data for the CO 2 comes from Energy	0.15 (0.36) 41
		Information Administration (EIA)
	Source_CEDIAC	The data comes from Centro de Análisis	0.12 (0.33) 41
		de Información sobre Dióxido de
		Carbono (CEDIAC)
	CO 2	The variable related to pollution is	1.00 (0)	41
		expressed in emission
	Income	The variable related to economic	0.90 (0.30) 40
		development is expressed in GDP
	Frequency_annual The data are annual	0.98 (0.16) 40
	Panel_data	The author(s) use(s) panel data	0.49 (0.51) 40
	Time series_data	The author(s) use(s) time series data	0.48 (0.51) 40
	Number_countries Number of countries (for panel studies 39.48

traditional ones (linear, quadratic or cubic) for about two thirds of these studies. Only few studies support EKC assumptions, which is coherent with previous literature.


Filip Křikava

Philippe Collet

Romain Rouvoy

Integrating Adaptation Mechanisms Using Control Theory Centric Architecture Models: A Case Study

Control theory provides solid foundations for developing reliable and scalable feedback control for software systems. Although, feedback controllers have been acknowledged to efficiently solve common classes of problems, their adoption by state-of-the-art approaches for designing self-adaptation in legacy software systems remains limited and at best consists in ad hoc integrations, which are usually engineered manually.

In this paper, we revisit the Znn.com case study and we present an alternative implementation based on classical feedback controllers. We show how these controllers can be easily integrated into software systems through control theory centric architecture models and domainspecific modeling support. We also provide an assessment of the resulting properties, quality attributes and limitations.

Introduction

Feedback control is acknowledged as one of the viable solutions for self-adaptive software systems engineering [START_REF] Brun | Engineering Self-Adaptive Systems Through Feedback Loops[END_REF][START_REF] Maggio | Decision making in autonomic computing systems[END_REF][START_REF] Salehie | Self-adaptive software: Landscape and research challenges[END_REF]. It provides solid foundations and a systematic approach for designing reliable and robust adaptation mechanisms, controllers, which drive the system adaptation [START_REF] Abdelzaher | Performance guarantees for Web server end-systems: a controltheoretical approach[END_REF]. However, integrating such controllers into legacy software systems remains challenging [START_REF] Brun | Engineering Self-Adaptive Systems Through Feedback Loops[END_REF][START_REF] Cheng | Software Engineering for Self-Adaptive Systems: A Research Roadmap[END_REF]. In particular, this requires selecting the appropriate target system outputs and control inputs (touchpoints), devising the actual controller design, and finally a software architecture integrating the controller into the target system [START_REF] Hellerstein | Feedback control of computing systems[END_REF]. As a matter of example, well-established feedback controllers for common and recurring problems (e.g. Quality of Service (QoS) management [START_REF] Abdelzaher | Web server QoS management by adaptive content delivery[END_REF][START_REF] He | Feedback control-based dynamic resource management in distributed real-time systems[END_REF] or performance guarantees [START_REF] Abdelzaher | Modeling and performance control of Internet servers[END_REF][START_REF] Abdelzaher | Performance guarantees for Web server end-systems: a controltheoretical approach[END_REF][START_REF] Abdelzaher | Feedback Control Architecture and Design Methodology for Service Delay Guarantees in Web Servers[END_REF]), are being integrated into target systems and tuned manually. Even though supporting tools, such as MATLAB, SIMULINK, or SYSWEAVER [START_REF] Niz | Model-Based Development of Embedded Systems: The SysWeaver Approach[END_REF], provide code generation capabilities, the controller integration into the target system still requires an extensive handcrafting of a non-trivial code that results in significant accidental complexities. Moreover, these tools mostly target embedded real-time systems rather than distributed enterprise systems.

In this paper, we revisit the Znn.com case study [START_REF] Cheng | Evaluating the effectiveness of the Rainbow self-adaptive system[END_REF], an acknowledged case study from the self-adaptive software systems community 1 , and we describe an elegant solution integrating classical feedback controllers using control theory centric architecture models [START_REF] Krikava | ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures[END_REF]. Znn.com is a web-based N-tier client-server system that models a news service provider like cnn.com. The main control objective is to make Znn.com to serve its content within acceptable response time and quality even in the event of traffic spikes caused by highly popular news by using content adaptation (e.g. serving reduced content quality). This paper contributes to demonstrate a systematic integration of a control theory based approach that addresses the Znn.com control objective.

Our solution is based on a technologically agnostic Domain-Specific Modeling Language (DSML) for defining Feedback Control Loops (FCLs). It supports composition, distribution and reflection, thereby enabling coordination and composition of multiple distributed FCLs using control schemes. It raises the level of abstraction at which the FCL architectures are defined, and a support is provided for automated implementation code synthesis and verification. The application to Znn.com enables us to demonstrate the model capabilities to progressively refine adaptation mechanisms, going from local content delivery adaptation using an existing and proven control algorithm [START_REF] Abdelzaher | Web server QoS management by adaptive content delivery[END_REF][START_REF] Abdelzaher | Performance guarantees for Web server end-systems: a controltheoretical approach[END_REF] to distributed content adaptation, and finally to adaptive control.

Related Work

IBM proposed MAPE-K decomposition of a FCL [START_REF] Ibm | An Architectural Blueprint for Autonomic Computing[END_REF] which has become a widely referenced model for autonomic systems, followed by number of framework-based approaches [START_REF] Salehie | Self-adaptive software: Landscape and research challenges[END_REF]. The Rainbow framework [START_REF] Garlan | Rainbow: architecture-based self-adaptation with reusable infrastructure[END_REF] provides an architecture-based approach for self-adaptive software systems using utility theory for an optimal adaptation strategy selection. The DYNAMICO model [START_REF] Tamura | Improving contextawareness in self-adaptation using the DYNAM-ICO reference model[END_REF] defines a fixed three-layers architecture with three FCLs for managing control objectives, target system adaptation and dynamic monitoring. The StarMX framework [START_REF] Asadollahi | StarMX: A framework for developing selfmanaging Java-based systems[END_REF] designs self-managing Java-based applications using JMX for target system touchpoints and a policyrule language for adaption engine. The Zanshin Framework [START_REF] Angelopoulos | Requirements and architectural approaches to adaptive software systems: A comparative study[END_REF] uses requirements engineering and goal models for self-adaptive software development.

The advantage of the above framework based solutions is that they provide an architecture basis of an application and therefore they can simplify its development. However, the adaptation mechanisms within these frameworks mostly use a simple, fixed threshold-based eventcondition actions, not providing support for control theory based controllers. For example, both DYNAMICO and Zanshin implements Znn.com decision policies by using simple conditions such as experiencedRespTime > MAX _ RESPTIME [11, p. 187]. As a result, the target system is more likely to experience instability due to oscillations (e.g. continuously enlisting and discharging servers). Furthermore, frameworks always impose the use of a specific technological stack. The level of abstraction and formal reasoning is also usually limited since the adaptation is an integral part of the implementation. Finally, except DYNAMICO, they are primarily designed for scenarios that can be solved by centralized control loop and do not allow hierarchical control schemes nor adaptive control as they do not support runtime modifications of adaptation strategies or thresholds.

The model@run.time approaches are using models to represent abstractions of running systems and MDE techniques for their adaptation at runtime [START_REF] France | Model-driven Development of Complex Software: A Research Roadmap[END_REF]. For example, Vogel et al. [START_REF] Vogel | A Language for Feedback Loops in Self-Adaptive Systems: Executable Runtime Megamodels[END_REF] propose runtime executable megamodels with a language for adaptation logic modeling and a runtime interpreter. Similarly to our approach they also support hierarchically organization and FCL coordination, however, they present only a high-level overview of how the actual adaptations look like.

A lot of effort has been also invested in tools for engineering feedback control for real-time embedded systems. Ptolemy II [START_REF] Eker | Taming heterogeneity -the Ptolemy approach[END_REF] is an extensive framework for the simulation of concurrent actor-oriented systems allowing to combine heterogeneous models of computation. We follow a similar actor-oriented approach and our execution semantics is derived from Ptolemy pushpull model of computation (cf. Section 3.2). However, Ptolemy focus rather on simulation of the executable models and their transformations to the embedded systems. SIMULINK is an industry standard tool for developing feedback control targeting primarily embedded systems. SYSWEAVER extends SIMULINK code generation capabilities for distributed real-time systems.

Control Theory Centric Architecture Models

This section outlines our approach for integrating adaptation mechanisms into software systems through control theory centric architecture models. A detailed description is provided in [START_REF] Krikava | Domain-Specific Modeling Language for Self-Adaptive Software System Architectures[END_REF].

Principles and Design Decisions

Generality (applicability to a wide range of target platforms and adaptation scenarios), visibility (explicit FCLs, their processes and interactions), and composability (fine-grained reusable elements representing the FCL processes) are all well-identified requirements for FCL engineering [START_REF] Brun | Engineering Self-Adaptive Systems Through Feedback Loops[END_REF][START_REF] Cheng | Software Engineering for Self-Adaptive Systems: A Research Roadmap[END_REF][START_REF] Müller | Visibility of control in adaptive systems[END_REF][START_REF] Salehie | Self-adaptive software: Landscape and research challenges[END_REF]. In order to meet these requirements, we structure the approach around a DSML with an actor-oriented design. The key advantage of a DSML is the possibility to raise the level of abstraction at which the FCLs are described and directly use the FCL domain concepts. Moreover, DSMLs are particularly suitable for automated reasoning and implementation code synthesis [START_REF] Kelly | Domain-Specific Modeling: Enabling Full Code Generation[END_REF]. Since FCLs are inherently concurrent, we choose an actor-oriented design [START_REF] Hewitt | Viewing control structures as patterns of passing messages[END_REF] representing the FCL processes as message-passing actors.

The actor model allows to implement FCLs without worrying about thread safety, it is scalable [START_REF] Haller | Scala Actors: Unifying thread-based and event-based programming[END_REF] and seamlessly supports remote distribution.

For illustration, we use the Apache overload control FCL (cf.

Feedback Control Definition Language

Our approach is based on an actor-oriented component meta-model for representing FCLs abstractions, called Feedback Control Definition Language (FCDL) [START_REF] Krikava | ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures[END_REF]. The components are actor-like entities called Adaptive Elements (AE) that are connected into hierarchically composed networks that form closed FCLs.

Syntax. An AE defines properties and input/output ports through which it communicates with other AEs using either data-driven (push) and demand-driven (pull) mode.

Once an AE receives a message, it executes its associated behavior whose result may or may not be sent further to the connected downstream elements which in turn will cause them to react and so on and so forth. An AE can be passive, i.e. triggered by a message, or active, i.e. triggered by an external event (e.g. a file modification). The ports and properties data values are statically typed and FCDL further supports parametric polymorphism. We recognize the following types of AE: a sensor (raw information collection), an effector (changes propagation), a processor (data processing and analyzing), and a controller (decision making). FCDL also contains a composite type that can be created from both atomic AEs and other composites. It can define ports, which are used to promote ports of the contained elements. Furthermore, a composite is also the primary unit of deployment.

Figure 2 shows an FCDL model implementing the FCL from Figure 1. The figure uses an informal FCDL graphical notation (a formal textual syntax is presented further in Section 4). Conceptually, each AE can be seen as a target system itself, and as such it can provide sensors and effectors enabling the AE reflection. This is a crucial feature permitting to hierarchically organize multiple FCL [START_REF] Kephart | The Vision of Autonomic Computing[END_REF] in an uniform way and therefore realize complex control schemes from elementary building blocks.

Semantics. The execution semantics is based on the Ptolemy [START_REF] Eker | Taming heterogeneity -the Ptolemy approach[END_REF] push-pull model of computation [START_REF] Zhao | A Model of Computation with Push and Pull Processing[END_REF]. We further adapt a notion of Interaction Contracts (IC) to precisely define allowed interactions of AE [START_REF] Cassou | Leveraging software architectures to guide and verify the development of sense/compute/control applications[END_REF]. An IC specifies what ports activate an AE, what inputs might be pulled during AE execution, and what outputs might push results. For example, the IC associated with PeriodicTrigger is sel f ; ⇓ (input); ⇑ (output?) . It denotes an interaction caused by a self activation, pulling data from the input port and conditionally pushing data to the output port. ICs allow for asserting certain architectural properties (e.g., consistency, determinacy, completeness) and they denote the type of the associate activation function making the generated source code both prescriptive (guiding developers) and restrictive (limit-ing developers to what the architecture allows).

Application to ZNN.COM

The main Znn.com control objective is content adaptation whereby the delivered content quality (e.g. degraded image quality) is reduced when the server is under heavy load. This has been well studied by Abdelzaher et al. [START_REF] Abdelzaher | Modeling and performance control of Internet servers[END_REF][START_REF] Abdelzaher | Web server QoS management by adaptive content delivery[END_REF][START_REF] Abdelzaher | Performance guarantees for Web server end-systems: a controltheoretical approach[END_REF], providing a control theoretic approach, which we integrate into Znn.com using FCDL.

Local Content Delivery Adaptation

Controller Design. Abdelzaher et al. [START_REF] Abdelzaher | Web server QoS management by adaptive content delivery[END_REF][START_REF] Abdelzaher | Performance guarantees for Web server end-systems: a controltheoretical approach[END_REF] proposes two controllers: a simple integral controller and a more sophisticated proportional integral controller. Due to the space limitations, in this paper we only consider the former one, however, from the software architecture perspective, the only difference between them is the type of AE that is instantiated. The focus of FCDL is to facilitate the controller integration into software system not to develop of the controller itself.

The controller input is the web server utilization U = aR + bW that is periodically computed using request rate R = ∑ r t and delivered bandwidth W = ∑ w t , where a and b are platform constants3 and ∑ r, ∑ w are the number of requests and the amount of bytes sent over some period of time t, respectively. The controller output is the severity of the adaptation action G = G + K I E = G + K I (U * -U) where K I is the controller integral gain, U * is the target utilization (set by a system administrator) and U is the observed utilization. It determines which content tree should be used ranging from G = M, servicing all requests using the highest quality content tree to G = 0 in which case all requests are rejected.

Architecture. Figure 3 shows one possible integration of the above controller into the target system using FCDL.

For the decision-making part we create an AE, IController, that implements a general integral controller. Once a new value (U) is pushed into its input, it computes and pushes the control input (G). Both the integral gain (K I ) and the reference input (U * ) are represented as the controller properties. The monitoring part periodically computes server utilization U. Both the R and W can be obtained from Apache access log file. We create an active sensor, FileTailer, that activates every time a file content changes pushing out the modified part. The connected AccessLogParser extracts the number of requests r, the size of the responses w and pushes the values into the connected counters requestCounter and responseSizeCounter. To compute utilization U, the sum of requests ∑ r and response size ∑ w has to be converted into request rate R and bandwidth W -i.e., the number of requests and sent bytes over certain time period t. We reuse the periodic trigger, which by pulling its input causes LoadMonitor to compute U using the accumulated ∑ r, ∑ w sums. In the reconfiguration part, the FileWriter updates the web server URL rewrite rules reflecting the newly computed content tree.

To demonstrate composition, the presented elements are assembled into three composites ApacheQOS, QOSControl and ApacheWebServer, representing the main composite that will be deployed, the control, and the target system, respectively. This makes a clear separation of concerns and easy to switch from web server implementation to another. Implementation. FCDL models are implemented in a domain-specific language called Extended Feedback Control Definition Language (XFCDL). It is a textual DSL for authoring FCDL models that further supports modularization and AE implementation using a Java-like expression language Xbase 4 . Listing 1 shows an excerpt 5 of the IController AE. Line 1 defines a new active polymorphic processor type with data type parameter T , followed by ports declaration (lines 2-4) and property definition (line 6). Line 7 specifies an IC and line 10 provides its implementation directly in Xbase.

Distributed Adaptation

Next, we extend the adaptation to cover distributed Znn.com deployment on a pool of replicated servers with a load balancer.

Controller Design. The distributed deployment con- 4 A statically typed Java-like expression language http://bit.ly/1mr36bt 5 The complete XFCDL code is available from the companion website http: //fikovnik.github.io/Actress/ICAC14.html Listing 1: XFCDL code of PeriodicTrigger AE sists of a server pool S with n servers and one load balancer. Each server S i runs locally the previously developed ApacheQOS FCL computing its target content tree G i . In order to maintain the highest QoS, the load balancer dynamically schedules the arriving requests to a server s ∈ S that provides the least degraded content: content_tree (s) = max (content_tree (S)).

Architecture. Figure 4 depicts the FCL architecture representing the distributed control. The LocalApache-QOS runs at each of the server S i , encapsulating the local ApacheQOS FCL. The LoadBalancerControl runs on the load balancer controlling the scheduler using the above equation.

The load balancer FCL first collects the content tree (G) status of all the participating servers using distributed publish/subscribe event bus. An advantage of using an event bus is that it does not need to be a priori aware of all the participating servers. In FCDL, an event bus is facilitated by two AEs: the publisher (EventBusPublisher) and the subscriber (Event-BusSubscriber). We use key-value tuples of servers S i (server hostname) with their corresponding content trees G i . The G i is obtained from a newly promoted ApacheQOS port contentTree so that the G is available from the outside. The pushed (S i , G i ) entries are received by the EventBusSubscriber and aggregated using the MapStore AE, which is a map storage. The server with the highest G is selected by the MapMaxKey AE and consequently used to update the load balancer scheduling rules.

System Identification

Controllers for software systems are usually driven by "black box" models derived from experimental runs collecting data and statistical model constructions. An experimental run consists of observing the effect of control inputs on the measured outputs. In FCDL, this can be facilitated by designing an open loop architecture in which target system touchpoints are used to set control inputs and observe/log corresponding system outputs. For example, Figure 5 shows an architecture model for tuning the controller from Section 4.1 into an open loop that can exercise the system on a range of inputs and log its outputs. Instead of connecting a controller output into the ApacheWebServer content tree input, we connect it directly to a value generator, a discrete sine wave.

Adaptive Control

An adaptive control improve FCL portability to load conditions and platform resource capacities that have not been anticipated during the system identification [START_REF] Abdelzaher | Feedback Control Architecture and Design Methodology for Service Delay Guarantees in Web Servers[END_REF]. In FCDL, an adaptive control is facilitated by the model reflection. Figure 6 depicts an architecture of adaptive control for local content delivery adaptation FCL (cf. Section 4.1) that reuses part of the system identification developed above. The aim is to perform an online profiling of the target system (relation between U and G), based on which we estimate the controller parameters (K I ). First the IController is extended with a provided effector to allow to change K I at runtime. Next, we reuse the part of the architecture developed for the system identification and we create an AdaptiveController for the parameter estimation. It can be implemented using an adaptive controller as shown by Lu et al. [START_REF] Lu | An adaptive control framework for QoS guarantees and its application to differentiated caching[END_REF] or by constructing a dynamic system model as proposed by Filieri et al. [START_REF] Filieri | Automated Design of Self-Adaptive Software with Control-Theoretical Formal Guarantees[END_REF]. Finally, we encapsulate the corresponding elements into a new composite AdaptiveControl that can be placed on the top of the FCL developed in Section 4.1. Adaptive control is one example of the FCDL reflection capabilities, which can also be used to design adaptive monitoring, or to organize multiple FCLs using various control schemes, such as hierarchical control.

Assessment and Discussion

In this section we assess our approach by discussing its properties and quality attributes. As such, the assessment is rather qualitative since we do not evaluate the controllers themselves. Implementation. To facilitate the development using FCDL, we have implemented a prototype of a Java/EMF [START_REF] Steinberg | EMF: Eclipse Modeling Framework (2nd Edition)[END_REF] based modeling environment called AC-TRESS [START_REF] Krikava | ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures[END_REF]. It provides support for FCDL modeling, verification (user defined constraints and temporal properties) and source code generation together with runtime platform.

Properties. The generality is addressed by using a finegrained FCL decomposition which should be usable in any domain for various adaptation property. FCDL is built as a technologically-agnostic model and the Java based ACTRESS implementation provides only one technological solution. Generality is also obtained in adaptation scenarios, as they are captured at a conceptual level using the problem domain concepts, rather than the implementation concepts. The visibility property is tackled by having all the FCL processes represented as firstclass entities with explicit interactions that are precisely guided by interaction contracts. Finally, we have shown that FCLs are composed from clearly structured finegrained AEs using ICs to guide AE interactions and implementations (cf. Section 4.1).

Quality Attributes. Among many software quality attributes, the following are relevant for evaluating selfadaptive engineering approaches and have been already used by others, e.g. Asadollahi et al. [START_REF] Asadollahi | StarMX: A framework for developing selfmanaging Java-based systems[END_REF]. -Usability. Our approach relies on known concepts, as FCDL is using notions from control theory and component-based software engineering, XFCDL follows known concepts from Java, and the ACTRESS modeling environment is integrated in the Eclipse IDE, which might simplify adoption for the users already familiar with it. Furthermore, using on the actor-model simplifies AE implementation without the need to protect mutable states [START_REF] Haller | Scala Actors: Unifying thread-based and event-based programming[END_REF]. The implementation effort varies between 200-300 XFCDL lines of code per scenario 6 . -Reusability. There are two features that contributes to AE reusability: the FCDL support for data type polymorphism and the Xbase support for lambda expressions that allows to use functions types as properties. This results in higher-order polymorphic AEs definitions. -Extensibility. FCDL and XFCDL are both defined using their respective EMF meta-models. Therefore, extending their core functionality is only possible by modifying the ACTRESS source code. On the other hand, thanks to MDE, it is possible to use the FCDL 6 The complete XFCDL code is available from the companion websitehttp:

//fikovnik.github.io/Actress/ICAC14.html models and target different systems, providing new code generators, verification techniques and the like. -Performance. The ACTRESS runtime is based on Akka7 which with no AE deployed accounts for 1.5MB8 . The memory overhead is about 400 bytes per actor instance with a possible throughput of 50 million messages per sec on a single machine 9 . The size and the CPU time of an AE is mostly affected by the amount of state it keeps and the complexity of its activation methods. However, the main potential performance issues are in the indirect load caused by the sensors and effectors.

Conclusions

While control theory provides solid foundations for designing self-adaptive systems, its mapping into implementation artifacts often results in the development of dedicated assets (e.g. code, models) which inevitably prevents their reuse and adoption at a larger scale. To overcome this limitation, we define FCDL, a domainspecific modeling language for integrating adaptation mechanisms into legacy software systems. We demonstrated its use on an implementation of local and distributed content delivery adaptation and distributed resource management. FCDL is a domain-specific and technologically-agnostic architecture model that provides an actor-based programming model. Currently we are focusing in carrying more case studies, in particular targeting different self-adaptive properties and improvements such as support for distributed deployment and failure propagation. For future work, we intend to investigate adaptive feedback controllers and the principles of defensive programming in order to better control the execution of feedback control loops.

Figure 1 )Figure 1 :

 11 Figure 1: Apache overload control block diagram

Figure 2 :

 2 Figure 2: A FCDL model of Apache overload control

Figure 3 :

 3 Figure 3: Apache content delivery control

1 active processor PeriodicTrigger<T> { 2 push in port output: T 3 pull in port input: T 4 self 10 act

 23410 port selfport: long // self port for self-activation 5 6 property initialPeriod: Duration = 10.seconds 7 act activate(selfport; input; output?) activate { output.put(input.get) } 11 } 12 }

Figure 4 :

 4 Figure 4: Distributed QoS Management Control FCLs

Figure 5 :

 5 Figure 5: Apache content delivery control. The Utili-zationMonitor contains the requestCounter, responseSize-Counter and loadMonitor elements from Figure 4.

Figure 6 :

 6 Figure 6: Adaptive control for Apache content delivery controller

http://www.hpi.uni-potsdam.de/giese/public/selfadapt/exemplars/modelproblem-znn-com

For simplicity, we only use the case with one controller.

cf. Abdelzaher et al.[START_REF] Abdelzaher | Web server QoS management by adaptive content delivery[END_REF][START_REF] Abdelzaher | Performance guarantees for Web server end-systems: a controltheoretical approach[END_REF]

http://akka.io

MacBook Pro 2.53 Ghz, 8GB RAM, Java 1.7_17 64bit, Akka 2.2

http://bit.ly/1gHM975

Acknowledgments. This work is partially supported by the Datalyse project www.datalyse.fr.