Kushal Anjaria
email: kushal.anjaria@gmail.com

Arun Mishra

Relating Maxwell's Demon and Quantitative Analysis of Information Leakage for Practical Imperative Programs

Keywords: Information, Maxwell's demon, Second Principle of Thermodynamics, Information security, Reversible system

Shannon observed the relation between information entropy and Maxwell demon experiment to come up with information entropy formula. After that, Shannon's entropy formula is widely used to measure information leakage in imperative programs. But in the present work, our aim is to go in a reverse direction and try to find possible Maxwell's demon experimental setup for contemporary practical imperative programs in which variations of Shannon's entropy formula has been applied to measure the information leakage. To establish the relation between the second principle of thermodynamics and quantitative analysis of information leakage, present work models contemporary variations of imperative programs in terms of Maxwell's demon experimental setup. In the present work five contemporary variations of imperative program related to information quantification are identified. They are: (1) information leakage in imperative program (2) imperative multithreaded program (3) point to point leakage in the imperative program (4) imperative program with infinite observation and (5) imperative program in the SOA-based environment. For these variations, minimal work required by an attacker to gain the secret is also calculated using historical Maxwell's demon experiment. To model the experimental setup of Maxwell's demon, non-interference security policy is used. In the present work, imperative programs with one-bit secret information have been considered to avoid the complexity. The findings of the present work from the history of physics can be utilized in many areas related to information flow of physical computing, nano-computing, quantum computing, biological computing, energy dissipation in computing and computing power analysis.

INTRODUCTION

From the early days of computers and computing processes, physics and computer fields have a long traditional straddling. The physics field considers computers as an engine. The engine which uses its energy to generate mathematical work and while doing this work it generates heat. This phenomenon can be shown in the equation below:

Computational engine energy = mathematical work + waste heat .... [START_REF] Denning | A lattice model of secure information flow[END_REF] In the present paper, the aim is to link the conventional and contemporary methods used for quantitative analysis of information leakage in imperative programs with the physics. For this purpose, the second principle of thermodynamics and Maxwell's demon [START_REF] Maruyama | Colloquium: The physics of Maxwell's demon and information[END_REF] has been used. Our aim is to show that even if system leaks information, the attacker has to do a certain amount of physical work to obtain leaked information. For this purpose, various experimental setups for Maxwell's demon have been considered.

In physics, simple meaning of information has been considered, i.e. "information is any entity which you don't already know" [START_REF] Lutz | Information: From Maxwell's demon to Landauer's eraser[END_REF]. To measure the information, Claude Shannon came up with the information entropy and information theory in 1948. He suggested that larger the information content, larger the entropy. To find the entropy of information, Shannon considered thermodynamic microstate of a computer system with a certain degree of freedom and came up with information entropy formula.

In computer science, to quantify information leakage in secure imperative programs, the noninterference property is also used along with the information theory. The non-interference policy is confidentiality policy which secure programs satisfy to protect the information. To satisfy noninterference property [START_REF] Boudol | Noninterference for concurrent programs and thread systems[END_REF], the computer system is divided into low-security sensitive input/output entities and high-security sensitive input/output entities. A system satisfies non-interference policy if any sequence of low input will produce the same low output regardless of the high input. Denning [START_REF] Denning | A lattice model of secure information flow[END_REF] first introduced quantitative information flow. Her work revealed that to quantify information leakage, change in uncertainty associated with information at different state needs to be considered. After that, a lot of work has been done to quantify information leakage in imperative programs using Shannon's entropy and non-interference. In [START_REF] Gray | Toward a mathematical foundation for information flow security[END_REF][START_REF] Mclean | Security models and information flow[END_REF], quantitative analysis of information leakage in abstract computational systems have been studied using Denning's principle. After that Clark, Hunt and Malacaria [START_REF] Clark | A static analysis for quantifying information flow in a simple imperative language[END_REF][START_REF] Clark | Quantitative analysis of the leakage of confidential data[END_REF] started quantifying information leakage in imperative programs with loops conditions and assignment statements. All the work related to quantification of information leakage in the imperative program was based on Shannon's entropy formula. In some other cases like quantification of leakage in a multithreaded program, non-terminating program, mathematically derived variations of Shannon's entropy formula was used. As a reason, the aim of the proposed work is to go back to the history and try to find the possible setup of Maxwell's demon experiment for the mathematically derived variations of Shannon entropy formulas.

The benefit to revisit Maxwell's experiment for various variation of Shannon entropy formula is it will relate physics and computer again. Solutions of many complex problems related to quantification of information flow can be thought of by physicist as well as computer scientists. Information flow security in quantum computing and nano-computing is also based on the Maxwell demon experiment. The proposed work may open the doors in that direction also.

In the present paper, five types of imperative programs have been derived. For these programs, mathematically and information theoretically derived variations of Shannon entropy formula have been used in literature. For these five types of contemporary imperative programs, the relation between quantitative analysis of information leakage and Maxwell's demon principle will be derived. Not only possible Maxwell's demon experimental setup but also the amount of minimal work required to keep secure content protected from the attacker will also be calculated. In other words, work required by the attacker to obtain the secret content from the imperative programs has been calculated. The five types of imperative programs in which variations of Shannon's entropy formula has bees been used are as below:

1. Simple imperative program: The quantification of information leakage in the simple imperative program has been described by Clark, Hunt and Malacaria in [START_REF] Clark | A static analysis for quantifying information flow in a simple imperative language[END_REF][START_REF] Clark | Quantitative analysis of the leakage of confidential data[END_REF].

Imperative multithreaded program:

To quantify information leakage in the imperative multithreaded program, scheduler effect also needs to be considered. In [START_REF] Chen | Quantitative analysis of leakage for multi-threaded programs[END_REF][START_REF] Ngo | Quantitative security analysis for multi-threaded programs[END_REF][START_REF] Boreale | Quantifying information leakage in process calculi[END_REF] information leakage has been quantified in the imperative multithreaded program.

3. Point to point information leakage in the imperative program: This method was first proposed by Tom Chothiya et al. in [START_REF] Chothia | Probabilistic point-to-point information leakage[END_REF]. In this paper, a method has been proposed to find leakage between any two arbitrary points in the imperative probabilistic program. This method makes convenient to measure specific leaks in the program and it can investigate information security of specific portion of the program.

Information leakage of non-terminating processes:

In some programs or systems, secret contents are continuously generated as they execute repeatedly. In [START_REF] Biondi | Information leakage of non-terminating processes[END_REF], F. Biondi et al. have quantified information leakage in such programs where secret content is infinite.

5. SOA based web services: In this method, loosely coupled components provide services to other component and in this way information flow is generated. Thus, in SOA based web services, interference is not only between high-security sensitive content and low-security sensitive content but it is among secure content and low-security sensitive content and other architectural parameters [START_REF] Kaur | Empirical Analysis of Web Attacks[END_REF].

The motivation for this work has been explained in the subsection below.

Motivation and aim

Our motivation for present work is two dimensional, one dimension is about computational physics and the second dimension is related to non-interference policy. In computational physics, two types of devices are described i.e. logically reversible devices and logically irreversible devices. In the logically reversible devices, the inputs of the devices can be uniquely identified by observing their output, while in logically irreversible devices; inputs can't be uniquely determined by observing their output. Some of the examples of logically irreversible devices are Boolean operations like AND, OR, XOR [START_REF] Bennett | Logical reversibility of computation[END_REF].

The physical devices relate observable outputs and inputs; similarly, non-interference policy relates observable (low-security sensitive contents) and secure content. In simple words, the attacker should not be able to know the secure content by observing output or observables of the system. Thus if we relate physical computation and non-interference, we can derive that the aim of the noninterference property is to convert the system or program into the irreversible system. But as described in [START_REF] Mclean | Non-interference, who needs it?[END_REF], it is not possible to satisfy non-interference property completely in any system. At some point, low-security sensitive content and high-security sensitive content will always interfere. That means in computational physics terminology, at some point system will become logically reversible device and it can violate the second principle of thermodynamics as suggested by Rolf Landauer in 1961 in [START_REF] Landauer | Irreversibility and heat generation in the computing process[END_REF]. Landauer suggested that these "reversible" measurements could be used to sort the molecules and violating the Second Law. Our aim in this paper is to observe this logically reversible device when Maxwell demon experiment and Landauer's principle is applied to them. And through this observation, study the non-interference property from a physical aspect. Thus, in short, the non-interference policy and Shannon's entropy both are related to physics in one or the other way, that's the hint that encourages us to study quantitative analysis of information leakage of various systems from thermodynamics and physics aspects. In the present work, the phenomenon of the reversible and irreversible system has been relaxed compared to quantum computing. In quantum computing, the system is reversible only if all the prior states are physically achievable. In the present work even if the attacker is logically able to get the initial variable value or state after the execution of program then the program is considered as reversible in the present work.

Organization of paper

Section-2 of the paper incorporates preliminary concepts required to understand the paper. It contains information about Maxwell's demon and the relation between Shannon's entropy formula and the second principle of thermodynamics. In section-3, Maxwell demon experimental setup for five types of imperative programs is discussed. 1. The simple imperative program, 2 imperative multithreaded program 3 imperative program with a point to point information leakage 4 imperative program which generates infinite leakage or observable and 5 SOA implementation of the imperative program. In section-3 physical work required to obtain secret from attacker's perspective is also calculated. Section-4 provides a review of literature related to physics, information theory, and computation. In section-5 conclusion and possible future work in the direction of physics and quantitative analysis of information leakage has been discussed.

PRELIMINARIES

In this section, some of the concept relating physics and information are included. The physics and information theory is associated with each other because of the second principle of thermodynamics. The second principle of thermodynamics associates state function known as entropy S and states when the system undergoes transformation [START_REF] Malacaria | Thermodynamic aspects of confidentiality[END_REF]. In simple words, the second principle of thermodynamics states that any system will absorb heat at temperature say T, and then if the system is irreversible then it will dissipate a certain amount of energy which can be used to do work.

Thus as per the second law of thermodynamics,

Δ S ≥ ... (2)
Where Δ S is changed in entropy of the system; T is temperature and is heat. Shannon considered equation-2 with microstates and with degrees of freedom and got entropy formula of information as shown in equation-3 below:

S = .... ( 3
)
Where P is uncertainty associated with the state of the system and S is the entropy of information. From Shannon's formula shown in equation-3, physical work in terms of computing can be described [START_REF] Malacaria | Thermodynamic aspects of confidentiality[END_REF] as:

W = S (h | P) ..... (4)
In equation-4, S is Shannon's entropy, h is secure information and P is observables which are probabilistically related to inputs. Equation-4 also hints that physical work and Shannon's entropy can be related.

From equation-2, Maxwell bought very interesting concept which is known as Maxwell's demon which can relate quantification of information and energy dissipation. This concept has been explained below.

Maxwell's Demon and information quantification

In a thought experiment, Maxwell considered a system with two neighboring chambers at the same temperature initially. The demon is an intelligent agent who can observe the molecules of gas in both the chambers. In both the chambers, some of the molecules will be moving faster than the average while some will be slower. The demon will be able to open and close the molecule size trapdoor available in the partitioning wall of two chambers and collect faster (hot) molecules in on chamber and slow (cold) particles in the other chamber. Maxwell suggested that this temperature difference can be used to create useful work. Based on Maxwell's demon, simplified one molecule model was introduced in [START_REF] Szilard | On the decrease of entropy in a thermodynamic system by the intervention of intelligent beings[END_REF][START_REF] Toyabe | Experimental demonstration of information-to-energy conversion and validation of the generalized Jarzynski equality[END_REF]. From a computational perspective, Bennet's model of Maxwell's demon has been described in the figure-1.

In figure-1 as shown in level-1, the demon is completely ignorant about the position of a gas molecule in the closed system. The system is connected to a heat reservoir at temperature T 0 . From information security perspectives, the demon can be considered as an attacker and system can be considered as a computer program. The secret information in the system is a place of the particle in the system. In level-2, the demon inserts partition without any cost in the closed system which divides the system into two chambers. Now demons know that the particle is either in the left chamber or in the right chamber. From computer science perspective it can be said that attacker is ready to execute the program now. In level-3, the demon is ready to insert the piston into the system without any cost. It is assumed that piston is inserted in the system till partition and still whereabouts of the particle is unknown. This is similar to the situation in the computer where the attacker knows that computer program is divided into low and high-security sensitive content but doesn't know anything about the high-security content before execution. The information about the whereabouts of the particle in the system has been compared with the high-security sensitive content. In level-4, demon pushes the piston isothermally till the end of the chamber say towards the left side. To push the chamber, demon requires physical work

, where k B is Boltzmann constant and T is temperature. In level-5, the demon will remove the partition in the chamber without any cost. The situation shown in level-4 and level-5 can be compared with the situation in computer science when attacker executes the program and waiting for the outcome.

Figure-1 Relation between information entropy and physical entropy

Due to the expansion, in level-6, the system will come to its original state. If the particle was on the left side then, the gas molecule will do the work and heat will flow into the reservoir. If the particle is on the right of the piston, then heat will flow from reservoir [START_REF] Ladyman | The use of the information-theoretic entropy in thermodynamics[END_REF]. By observing heat of the reservoir, the attacker will be able to know that whether the particle was in the right chamber or left the chamber. In computer science terminology, it is similar to the situation where the attacker knows about the secret content by observing the outcome of the program after program execution due to a violation of non-interference. Because of this interference, previous state of high-security sensitive content will be known to the attacker by observing the output. That means, in the physical term, the system will be reversible. Thus, Maxwell's demon shows that how one-bit secret information can be leaked. Landauer suggested from Maxwell's demon that to reset the information gained by an attacker, which means to make situation level-1 = level-7, work K B T ln2 is required. Thus, Landauer principle calculates work require to keep information secret in the computer system. Thus to gain the secret attacker needs to do more than K B T ln2 work.

In [START_REF] Koski | Experimental realization of a Szilard engine with a single electron[END_REF], a similar experiment was done by including weight in the system to measure the work done by the system. The figure-2 below explains the experiment with weight. The figure below explains that how an attacker can use the information about the position of the particle for his/her benefit. The attacker can, for example, use the system as an engine. He can add a partition to the left of the particle and can perform useful work for his/her benefit. As shown in level-1 of figure-3, the attacker doesn't know the position of the particle. So particle can be either left at position -0.5 or at right with position +0.5. Between both the position potential barrier of say k B ln T is available. So initial entropy, S i is k B ln T. After that to know the position attacker does the work equal to k B ln T. Due to this, as shown in level-2, the attacker knows the position of the particle. In the case shown in level-2, the position of the particle is to the right of the partition. For the situation shown in level-2, final entropy S f is 0. Thus from levels 1 and 2, entropy difference can be calculated as shown below: From equation-5, the secret behind the negative sign in Shannon's entropy formula can be understood by the computer scientists.

Δ S = S f -S i = 0 -k B ln T = -k B ln T .... ( 5
In the present work, we will demonstrate possible settings of Maxwell's demon experiment for a practical imperative program like the simple imperative program, imperative multithreaded program, a probabilistic program with a point to point information leakage program, a program which generates infinite secret and the program executes in SOA based architecture.

MAXWELL'S DEMON EXPERIMENTAL SETUP FOR PRACTICAL IMPERATIVE PROGRAMS

The quantitative analysis, based on Shannon's entropy formula has been used widely these days to decide the threshold of the information leakage in the programs. The Shannon's formula is derived from the second principle of thermodynamics and Maxwell's demon experiment. So our aim in this paper is to go in the reverse direction and try to find how the experimental setup of Maxwell's demon can be, for practical programs which have the secret of one bit. In this section, Maxwell demon's experimental setup will be investigated for five types of program:

1 Simple imperative program, 2 Imperative multithreaded programs, 3 Probabilistic programs with point to point information leakage, 4 Imperative program which generates infinite secret and 5 The program executes in SOA based architecture.

Simple imperative program

In the present work, the simple imperative program has been considered as a sequential program without loops. An example of simple imperative program snippet is as below:

secret variable = h o: = h
As shown in the snippet, h is high-security sensitive variable and o is observable. Assume that high-security sensitive variable h and observable o are one bit variable. In the second statement, the non-interference property is violated as high-security sensitive variable and observable interfere with each other. Thus, due to the second statement of the snippet, the program becomes reversible and violates the second law of thermodynamics as suggested in Maxwell's demon experiment.

For these types of simple imperative programs, the setup of Maxwell's demon experiment will be same as shown in figure-1. The reason is, in the program, the one-bit secret is there which can be compared with the secret position of a gas particle in Maxwell demon experiment. The imperative program can be compared with the closed system as described in Maxwell's experiment. Work required to protect the secret content will be k B ln T. In other words, the attacker needs to do minimum work k B ln T to get the secret.

Imperative multithreaded program

In simple terminology, multithreading is the ability of processor with a single core or multiple cores to execute more than one thread using the scheduler in such a way that it appears to the user that threads are being executed concurrently. In the present paper, it has been assumed that multithreaded programs are executed on a single core or a single processor with the help of scheduler. In [START_REF] Chen | Quantitative analysis of leakage for multi-threaded programs[END_REF][START_REF] Ngo | Quantitative security analysis for multi-threaded programs[END_REF][START_REF] Boreale | Quantifying information leakage in process calculi[END_REF] methods to quantify information leakage is provided. The scheduler in multithreaded program assigns the probability to the thread for execution and based on probability it picks up a thread for execution. Information leakage in the multithreaded program depends on the sequence in which threads are picked up by the scheduler for the execution. An example of the imperative multithreaded program is as below: h = h mod 2; Th 0 : l = h; Th 1 : Th 10 : l = k; Th 11 : l = m As shown in the example, h is high-security sensitive variable while l, k, and m are low-security sensitive variable. It has been assumed here that all variable i.e. h, k, l, and m are one-bit variables. For this imperative multithreaded program, the scheduler will assign the probabilities to threads Th 0 and Th 1 . The threads Th 10 and Th 11 are child threads. When l = h is executed at that time the noninterference property will be violated.

From physics perspectives, if we want to design Maxwell's demon experiment then effects of scheduler needs to be considered. To consider scheduler effect, probability needs to be included in Maxwell demon experiment. The probability was included in this experiment by P. Malacaria and F. Smeraldi in [START_REF] Malacaria | Thermodynamic aspects of confidentiality[END_REF]. In the experiment P. Malacaria and F. Smeraldi assumed that there is more than one system in the experiment and particle is found in two chambers of the systems with probability μ 1 and μ 2 . It has been assumed that μ 1 > μ 2 and μ 1 + μ 2 =1. The boxes or systems considered in the figure-4 have unit volume. In physics terminology, it was assumed that all the systems are identical and contain an ideal gas molecule. It has been assumed that piston is on the center position of the systems and shafts are connected at the end. Since molecules are in both the chambers of the systems, it will hit the piston from both the sides. The concept is shown in Figure -4 below. In the figure, two systems are shown with the probability that particle found in the left chambers (marked with label 'a' in figure -4) of both the system with probability μ 1 and on the right chambers (marked with label 'b' in figure -4) of both the system with probability μ 2 . So piston will press the gas particle in the right chamber or in the left chamber. This concept is similar to the thread scheduling done by the scheduler.

As shown in figure-4, pistons will move towards right till the pressure on both the sides is equal. This can be used to extract work from the system. In the experiment, P i = μ i k B T. Here P 1 is the pressure in left chamber and P 2 is the pressure in the right chamber. The volume of chambers are unit volume so V 1 + V 2 = 2. The expansion takes place till pressure in both sides are equal so, = . That means at the end of expansion we have V 1 = 2μ 1 .

Figure-4 Maxwell's demon experiment with two systems and probabilities

Thus, from thermodynamics perspectives, work done by this system can be calculated as: Thus, the attacker needs this much work to know about the secret in the multithreaded program which executes under the effect of scheduler. Similarly, for n systems, the above case is generalized and calculated work done is provided below. Detailed calculation of work done by n state system is provided in [START_REF] Malacaria | Thermodynamic aspects of confidentiality[END_REF]. It is:

M n ln n/M n -M n-1 ln n-1/M n-1 + μ n ln μ n ... ( 7
)

Imperative program with point to point information leakage

In this method of quantification, the simple imperative program has been considered but leakage has been calculated between any two arbitrary points in the imperative program. In [START_REF] Chothia | Probabilistic point-to-point information leakage[END_REF], this type of information leakage model has been discussed. In the paper, leakage in practical JAVA programs has been quantified. One similar example of an imperative program is given below:

Program-1 Statement-1; Statement-2; Statement-3; Statement-4; Statement-5; End
As shown in the program there are five statements. Aim here is to find leakage between any two statements. The interference between high-security sensitive variable and low-security sensitive variable may be or may not be between selected arbitrary points of the program. For example, in the above code snippet, interference is in statement-3. If statement-1 and statement-2 are selected to quantify leakage then it is possible that quantified leakage is zero. In the program above, it is assumed that high-security sensitive variable is of one bit.

The setup of Maxwell's demon experiment for this program will be hypothetical in nature. The setup is shown in the figure-5 below. In program two arbitrary points can be selected. Similarly, as shown in figure system walls XY and PQ are movable and allow attacker or user to select two points in the system. A particle of an ideal gas is in the left chamber as shown in the figure. The wall XY is a movable wall. If it is moved towards the right and crosses the particle then it is assumed that particle will be outside of the system through the wall XY. This is the hypothesis considered in this setup. As shown in the figure, volumes of chambers are V 1 and V 2 . In the previous case, unit volumes were considered for both the chambers, but here this will not be the case. So in this case, V 1 + V 2 ≠ 2 but let's assume that V 1 + V 2 = V total = x. It has been assumed that the piston will cover volume x-y during expansion. The probability that the particle is within the system boundary decided by the user is μ. Let's assume that the particle is within the system then work done by this system can be calculated as:

W exp = = = -μ (ln y -ln (x-y)) k B T ... (8)
Thus, the attacker needs to do minimum work -μ (ln yln (x-y)) k B T as shown in equation-8.

Imperative program which generates infinite secrets

The quantitative analysis successfully measures the protection of secure content in the system but till 2014, it was assumed that secret and observations produced by the system are finite. But in 2014, F. Biondi et al. suggested in [START_REF] Biondi | Information leakage of non-terminating processes[END_REF] that there can be programs or systems which can generate infinite secret and observables. In [START_REF] Biondi | Information leakage of non-terminating processes[END_REF] method to quantify information leakage in such program was also provided. For example, consider the code snippet from [START_REF] Biondi | Information leakage of non-terminating processes[END_REF] In the code snippet, variable h is high-security sensitive variable. If the value of variable h is zero then program will produce a string of infinite zeros and ones with same probability i.e. 0.5. If the value of h is 1 then zero will be produced with probability 0.75 and 1 will be produced with probability 0.25. Thus as shown in the code snippet, it generates infinite observable. The attacker will observe the behavior of some observable and based on that he will try to guess the value of high security sensitive variable h. It is clear for the above code snippet that after some iteration, leakage will be entire variable h, i.e. 1 bit.

The setup of Maxwell's demon experiment for programs which generate infinite observable is shown in the figure-6 below. In the figure, the probabilistic observable generation is omitted for simplicity. The probabilistic system will be similar to the one shown in subsection 3.2. The figure shows the experimental setup to deal with infinite observables. As shown in the figure, hypothetical experimental setup of Maxwell demon experiment needs to be considered in this case. Both the chambers shown in figure-6 are infinite in length. The piston is in the center of the system and in this experiment, expansion of piston will take place till significant observable work is not achieved by the system. Assume that attacker needs k observables to find where the particle is.

Here volume of both the chamber is infinite. Thus V 1 + V 2 = V total = ∞. It is assumed that piston moves till attacker gets significant knowledge. So the assumption is expansion takes place till volume m. Work done in the system can be calculated as

W exp = = = ln (∞) -ln (m) k B T = -(ln(m) -lim (k)) k B T .... (9)
At volume m, an attacker may know the secret. In [START_REF] Biondi | Information leakage of non-terminating processes[END_REF] equation H (h)lim H (h| o 1 , o 2 , ...,o k ) is used to quantify leakage. This is similar to equation-9.

Program executes in Service Oriented Architecture (SOA)

SOA is an architectural solution which provides loose coupling of services through the orchestration of service components. In the case of an SOA-based program, information leakage will not be just because of interference among the low-security sensitive and high-security sensitive variables but other architectural parameters will also play a crucial role in the quantification of information leakage. The detail about the SOA and attacks related to SOA are discussed in detail in [START_REF] Erl | Service-oriented architecture: concepts, technology, and design[END_REF] and [START_REF] Kaur | Empirical Analysis of Web Attacks[END_REF][START_REF] Yamany | Quality of security service for web services within SOA[END_REF] respectively. In SOA, the parameters like network link will be outside of the closed system. Thus in the SOA based web services and programs, non-interference property needs to be considered in a global way. In this SOA based structure, interference is not only between the high variable and low variables but all other architectural factors. In the SOA based systems, the architectural parameters like the effect of link failure also needs to be considered which interfere with secure content.

The setup of Maxwell's demon experiment will be very similar to the one shown in figure-1 and figure-2. But as other factors (like network link) also get involved in the SOA-based program, in Maxwell's demon experiment also other factors also needs to be considered. So Maxwell's demon experimental setup, it is considered that the system is not in thermal isolation. The temperature outside the system can affect the work done by the system. The environmental elements affect the system; this phenomenon is known as decoherence. In SOA system, the attacker should know about the frequency of the link, similarly, in Maxwell's demon experiment, the demon should know about the temperature outside the system. This situation rarely takes place in both the cases. But avoidance of decoherence situation is big research challenge in conventional computing as well as quantum computing. In this situation, calculation of work done is very complex to calculate. Recently, Anjaria k→∞ k→∞ and Mishra, in [START_REF] Anjaria | Quantitative analysis of information leakage in service oriented architecture based web services[END_REF] have successfully demonstrated the quantification of information leakage in SOA based system.

From analysis of various experimental setups it can be concluded that at present, information security policies based on non-interference policy of various types of programming scenario were just an extension of Maxwell demon experimental setup. But for cloud computing and SOA based system, this conventional variations of Maxwell demon experimental setup will not work due to decoherence. To eliminate decoherence, computer scientists and physicists have to do combined efforts. In [START_REF] Anjaria | Quantitative analysis of information leakage in service oriented architecture based web services[END_REF], Anjaria and Mishra have considered non-interference policy globally and quantified the leakage. This can be considered as a way to mitigate decoherence.

RELATED WORK

From second law of thermodynamics, in 1879, Rudolph Clausius suggested that spontaneous processes have preferred direction and this direction is from hotter body to cooler body. In deriving information theory and entropy, Shannon took help of this fact represented by Rudolph. Shannon first believed that information and the second law of thermodynamics can be related but then he focused on very important questions: Just like mechanical systems, is it possible to get knowledge about the work done by the system by observing states of the system only? In the question, work done can be considered as minimal work required protecting the secret content. The answer to the above question was found from the concept of Maxwell's demon. This famous concept of Maxwell's demon was represented by Maxwell. The history of the experiment is available in [START_REF] Lef | Maxwell's Demon 2: Entropy, Classical and Quantum Information[END_REF].

Lio Szilard converted Maxwell's demon experiment into single molecule based Maxwell's demon experiment in [START_REF] Szilard | On the decrease of entropy in a thermodynamic system by the intervention of intelligent beings[END_REF]. This same single molecule based experiment has been used in the paper to explain the relation between quantitative information and thermodynamics. Like Maxwell, Szilard also represented thought experiment only. In 1961, Landauer suggested in [START_REF] Landauer | Irreversibility and heat generation in the computing process[END_REF] that erasure of information in single molecule system or single bit information system is a dissipative process. In [START_REF] Bérut | Experimental verification of Landauer/'s principle linking information and thermodynamics[END_REF], A Berut et al. represented actual experimental set up to verify Szilard and Landauer's principle. In [START_REF] Bérut | Experimental verification of Landauer/'s principle linking information and thermodynamics[END_REF], A Berut et al. used a system of a single colloidal particle, trapped in a modulated double-well potential to verify thought experiment represented by Szilard and Landauer.

The logical explanation for the presence of demon and why demon will not be able to break the second law of thermodynamics was presented by Bennett and Oliver Penrose in [START_REF] Bennett | The thermodynamics of computation-a review[END_REF] and [START_REF] Penrose | Foundations of statistical mechanics: a deductive treatment[END_REF] respectively. Bennett and Oliver Penrose argued that presence of demon and resetting of demon's memory to initial place will dissipate heat. Landauer suggested in [START_REF] Landauer | Irreversibility and heat generation in the computing process[END_REF][START_REF] Landauer | Dissipation and heat generation in the computing process[END_REF] that resetting of memory always dissipate heat. From Landauer's argument, Bennett and Oliver calculated and explained that due to this heat dissipation, the demon will not be able to violate the second principle of thermodynamics. Thorough and state of the art survey of thermodynamics and information is discussed in [START_REF] Lutz | Information: From Maxwell's demon to Landauer's eraser[END_REF] by E Lutz and Sergio C. State of the art survey of the relation between thermodynamics and information in provided in [START_REF] Parrondo | Thermodynamics of information[END_REF] by Juan M. R. P. et al. The Maxwell's demon, Landauer and Bennett's principles have been widely used in mechanics, computer science, and statistics. In [START_REF] Timler | Maxwell's demon and quantum-dot cellular automata[END_REF], John T and Craig L. provided quantum dot cellular automata model of Maxwell's demon. This automata model is very useful to study computation and energy dissipation in computing. In [START_REF] Mandal | Work and information processing in a solvable model of Maxwell's demon[END_REF], D. Mandal and C. Jarzynski proposed information processing solvable model of Maxwell's demon which can be used in computation and mechanics widely to model the work and energy dissipation. In [START_REF] Malacaria | The thermodynamics of confidentiality[END_REF] and [START_REF] Malacaria | Thermodynamic aspects of confidentiality[END_REF], P. Malacaria and F. Smeraldi successfully attempted to relate secure computing, confidentiality, quantitative analysis of information and physical process and systems. P. Malacaria and F. Smeraldi argued using thermodynamics that any computing system whose final state is observable must dissipate Wk B T ln2 energy. In equation, W is information theoretic notion of quantitative information flow. In the papers [START_REF] Malacaria | Thermodynamic aspects of confidentiality[END_REF] and [START_REF] Malacaria | The thermodynamics of confidentiality[END_REF] timing channel and entropy variations were also addressed. The work done by P. Malacaria and F. Smeraldi is the main motivation behind this present paper.

CONCLUSION AND FUTURE SCOPE

Once the fundamental relationship was established between information and thermodynamics, an attempt has been made in the present paper to relate recent trend in confidentiality and information quantification with thermodynamics. In the present work, minimal work required by an attacker to gain confidential information is also calculated for five cases i.e. 1 Information leakage in imperative program 2 imperative multithreaded program 3 point to point leakage in imperative program 4 imperative program with infinite observation and 5 imperative program in the SOA-based environment. The possible experimental setup of Maxwell's demon was also described for each five cases. Although at first possible experimental setups of Maxwell's demon look impractical, in [START_REF] Bérut | Experimental verification of Landauer/'s principle linking information and thermodynamics[END_REF], the simple experimental setup has already been proposed. So in future, setup of other variations of this experiment may also be possible.

At present, we make no claims about practical implications of the proposed method in any specific field but in future, this work will be helpful to find many unanswered questions in the fields of computation energy dissipation, quantitative analysis, and information secrecy. The present work will also help to understand confidentiality in quantum computing. The work can be related in the future with nano-computing and technology, molecular and biological computing fields. This work bridges the computer science and physics so that physicist and computer scientists can together solve some complex problems in information flow security and quantitative analysis of information leakage.

Figure- 2

 2 Figure-2 One molecule engine proposed by SzilardIn[START_REF] Bennett | The thermodynamics of computation-a review[END_REF], Bennett represented this concept using Position vs. potential graph. The graph is shown in the figure-3 below. It describes that to know the position of the particle, a certain amount of potential barrier needs to be overcome.

Figure- 3

 3 Figure-3 Position vs. Potential graph to understand Maxwell's demon

Figure- 5

 5 Figure-5 Experimental setup of Maxwell's demon experiment to quantify point to point information leakage in imperative program

Figure- 6

 6 Figure-6 Experimental setup of Maxwell's demon experiment to quantify information leakage in imperativeprogram which generates infinite observables

  is provided below.

	secret int1 h;
	if (h ==0) then
	observable int1 o :=0;
	while (0==0) do
	random o:= randombit
	(0.5) ;
	od
	else
	observable int1 o :=0;
	while (0==0) do
	random o:= randombit
	(0.75) ;
	od
	fi
	return ;


Zach Lewkovicz
email: zach.lewkovicz@lip6.fr

Jean-Daniel Kant
email: jean-daniel.kant@lip6.fr

Advances in Complex Systems

Keywords: multi-agent simulation, labor market, emergence

The aim of this work is to design a Multi-Agent System (MAS) simulation to model the French labor market. We departed from an economic model proposed by Cahuc and Carcillo to model the introduction of a new job contract into the labor market. We designed a specific methodology to convert this equation-based model to an agent-based model, and calibrated our MAS to reproduce the data found in the economic simulations. As we observed the same tendencies found in the former one, a new dimension emerged from the agent-based simulation: an increase of oscillations for the characteristic rates, revealing an increase of precariousness (job instability) due to the new type of contract. Moreover, our simulation enabled to detect and correct some flaws of the Cobb-Douglas type of matching function. These encouraging results lead us to pursue into that direction, where several extensions of our model can be proposed, including the move to a large-scale simulation framework.

Introduction

In this paper, we aim to build a computational economic model that imitates the conditions of the French labor market in order to study the possible changes in the market, due to the introduction of a new job contract. We intend to take advantage judiciously of the tools provided by Multi-Agent Systems (MAS), i.e. systems made of artificial agents that are autonomous and in strong interaction with each other [START_REF] Weiss | Multiagent Systems A modern approach to distributed artificial intelligence[END_REF], in order to translate an economic model into an agent-based one. This approach is common in the Agent-based Computational Economics (ACE) community [START_REF]Handbook of Computational Economics, 2: Agent-Based Computational Economics[END_REF]. The ACE community captures economic changes and developments, and translates them into dynamic computational models. In these models, entities (agents) interact with each other and with the artificial environment. The meaning of computational entity is a collection of data and behavioral methods.

This transposition from a pure economic model to a multi-agent system was conceived in two phases. We started by identifying the main actors in the model. Each actor has his/her own main role, and his/her own behaviors (methods). These behaviors introduce the dynamics to the simulation. We have afterwards integrated the calculation mechanisms of the economic model that are the decision processes of the agents.

The implementation of the multi-agent mechanisms is sometimes straightforward, like when we encode the individual decision process, which helps the agents to choose their future action. However, some variables, which are computed by equations in the classical economic approach, can be directly set in the MAS simulation from the results of the agents' interactions. This is the case, for instance, of the unemployment rate: in the MAS simulation, depending on the decisions of workers and employers, jobs are created or destroyed, positions are filled or persons are fired, and the unemployment rate fluctuates accordingly during the simulation. Hence, one central issue when we design our MAS model is to decide whether a particular variable can be derived from simulation or had to be computed via equations.

In the long run, the goal of this work is to provide a useful and reliable tool to political deciders. A tool that will allow, through the agent-based simulation, to evaluate and predict the efficiency of particular economic policies for the labor market.

Model Features

The Economic Model

The economic model we adopted was proposed by Cahuc and Carcillo [2] in order to model the introduction of a new job contract (CNE) into the French labor market. Coming from a microeconomic approach of Labor Economics [START_REF] Cahuc | Labor Economics[END_REF], they used several systems of equations to describe the evolution of productivity, unemployment rate, expected utility, decision-making, etc. There are three types of job contracts in the model: CDD (short and fixed duration), CDI (no duration limit), CNE (no duration limit but a trial period of 2 years). The model is divided into two parts: one before the introduction of the new contract and the second just after this introduction. For each part, an independent system of equations defines the thresholds for the various behaviors in the market.

In the first part of the simulation two types of contracts exist, namely CDD and CDI. CDD is a contract of limited duration. After two years this contract has to be either destroyed or transformed into a CDI contract. The CDI is a contract of unlimited duration. As the productivity of employees change over time, companies prefer to hire with the CDD contract, which is less binding. An upper limit is introduced to the possible number of hires with CDD per company (the case in the real French labor market).

A worker may loose his/her job in two cases. After two years of work with a CDD contract, the company assesses the productivity of its employee: if this productivity is insufficient, the contract is not transformed into a CDI contract and the person looses his/her job. In the second case, employees working with a CDI contract, are evaluated every month, and can be fired upon each evaluation. However the company must justify this decision. The productivity thresholds for each type of contract are computed separately.

In the second part of the simulation the CDD contract is replaced with the CNE contract. During the first two years, the company is allowed to fire an employee at the end of every month upon evaluation, without having to justify its decision. In addition to these evaluations, a general evaluation is made at the end of two years: if the contract is not destroyed, it is transformed into a CDI contract. Hires are made only with CNE contract.

The model defines several thresholds, which take part in the decisional mechanisms in the simulation. Employers decide whether to fire employees or not, concerning their productivity, and also decide whether to open vacancies or not. Employees decide whether to look for a job or not to participate in the labor market.

Main MAS features

When using MAS, one intends to study a specific problem and therefore chooses a particular architecture for the model. Nevertheless, certain characteristics are common to all MAS [START_REF] Weiss | Multiagent Systems A modern approach to distributed artificial intelligence[END_REF]. Let us briefly review these main features while referring also to our model:

The Agents

All existing ACE models of the Labor Market use Worker agents and Employer agents. Some introduce also a Government agent [START_REF] Neugart | Labor market policy evaluation with ACE[END_REF]. The number of agents in the simulation can be an important factor. In [START_REF] Neugart | Endogenous matching functions: An agent-based computational approach[END_REF] we find 100 agents and in [START_REF] Neugart | Labor market policy evaluation with ACE[END_REF] we find 200, while [START_REF] Pingle | Evolution of worker-employer networks and behaviors under alternative unemployment benefits: An agent-based computational study[END_REF] uses 24 agents: 12 workers and 12 employers. Many researchers want to have the possibility of obtaining "zero unemployment" ( [START_REF] Neugart | Labor market policy evaluation with ACE[END_REF], [START_REF] Pingle | Evolution of worker-employer networks and behaviors under alternative unemployment benefits: An agent-based computational study[END_REF]), which -in their models -implies to have the same number of workers and employers. Our simulation allows setting the number of agents freely, just before it is launched. There is no obligation of having the same number of worker agents and employer agents. Moreover, the user can choose the maximal number of jobs that a single company (employer agent) will be able to open. In our simulation we set the number of workers to 400.

Heterogeneity

In the real labor market it is obvious that actors, let's say workers, are not homogeneous. One can consider psychological aspects of people, like the level of their education, their history in the labor market or their cognitive abilities. Heterogeneity of agents in ACE simulations is used to study specific aspects of the labor market. For instance, [START_REF] Pingle | Evolution of worker-employer networks and behaviors under alternative unemployment benefits: An agent-based computational study[END_REF] introduces heterogeneity by using the memory (the history of interactions) of agents. In that way a persistent relationship between two agents can be studied. In other models, agents have various reservation wages [START_REF] Neugart | Endogenous matching functions: An agent-based computational approach[END_REF] or skill endowments [START_REF] Neugart | Labor market policy evaluation with ACE[END_REF]. In our model agent's heterogeneity is introduced in several aspects: each agent has its own working-site history, productivity rate and "well-being" (the expected utility thresholds with which it reasons).

Goals of the agents

We can often see that agents do not have an explicit goal. In ACE models the agents may have a reasoning process that allows them to maximize their profit, for example by choosing their next action according to a profit matrix [START_REF] Pingle | Evolution of worker-employer networks and behaviors under alternative unemployment benefits: An agent-based computational study[END_REF]. In [START_REF] Neugart | Labor market policy evaluation with ACE[END_REF], agents imitate a winning strategy without knowing what the meaning of the term "winning strategy" is. As in our model agents live and reason constantly, their permanent goal is to improve their situation, by choosing a higher expected utility state.

Representations of information

The information in the simulations has two main characteristics.

• A complete information environment, where everybody knows or may know everything. • A perfect information environment, where the information, which the participants have, is a 100% exact.

We can find different approaches dealing with information in the simulations. In [START_REF] Neugart | Labor market policy evaluation with ACE[END_REF] an assumption of complete and perfect information is made. To compute the investment rate of each agent in his own professional training, the average profits of all other agents is taken in account. This method may facilitate calculations and may also simplify implementation, but it is less realistic when talking about decision making in the real labor market. Incomplete and perfect information is used in [START_REF] Pingle | Evolution of worker-employer networks and behaviors under alternative unemployment benefits: An agent-based computational study[END_REF], where the agents play a strategy game over a profit matrix of a "prisoner's dilemma" type. As both agents choose their strategy simultaneously they ignore the adversary's strategy, the type of information is incomplete. Then again, as both agents know the matrix, and gain exactly what they should, the information is also perfect in this case. [START_REF] Gabriele | Labor market dynamics and institutions: an evolutionary approach[END_REF] uses incomplete information when agents do not know (or have access) to all the vacancies in the labor market. A searching mechanism for the agents is implemented in the simulation, but this mechanism is quite demanding (from a cognitive point of view), so that agents cannot discover all vacancies in the market. Uncertainty is introduced by [START_REF] Neugart | Labor market policy evaluation with ACE[END_REF] in form of probability. Shocks hit sectors in the labor market, which oblige employers to close down their companies.

Neither companies nor employees can predict these shocks, in this case an imperfect information assumption is made.

In our model the nature of information varies according to the types of agents (see section 3 for more details on agents in our system). Person agents (i.e. job seekers or employees) are somewhere between complete and incomplete information. On one hand, they use the rate of unemployment to calculate their chances and their expected utility of finding a job, a process that uses complete information. This process is not completely unrealistic, as persons do read the newspaper and can get a general impression of the unemployment situation in the labor market. If a person sees that the unemployment rate is high, he/she may think that his/her chances of finding a job are too small and so, give up and leave the labor market.

On the other hand, the Person agent cannot know nor estimate the duration of time required to be matched with a job offer: this incertitude is a clear case of incomplete information. This same kind of analysis is valid for Company agents (employers) as well.

As all reasoning processes in the simulation take place simultaneously for all agents, we can say that the information that agents have is imperfect. At the moment an agent decides about his future (taking in account, let's say a certain unemployment rate), it is possible that many other agents have gone through the same process and have decided to change their state. So the agent has really a quite imperfect image of the situation in the labor market.

Interactions between agents

The ACE community uses message sending to implement communication and interactions between agents, as it is often done in MAS. The protocols for this messages sending are not always defined explicitly in the simulations, although we can get a general idea about their structure from principles like "first applied, first hired" or "an agent can not apply to more than one job" [START_REF] Pingle | Evolution of worker-employer networks and behaviors under alternative unemployment benefits: An agent-based computational study[END_REF]. Sometimes the order of message sending is crucial to the results obtained, and sometimes it has no importance, as in the Gale-Shapley algorithm [START_REF] Pingle | Evolution of worker-employer networks and behaviors under alternative unemployment benefits: An agent-based computational study[END_REF]. We also use message sending to make the agents interact, like transmitting information to each other. However, in our model, the type of communication is closer to reality, as it takes place simultaneously and asynchronously: each agent makes its decisions independently of other agents and communicates information whenever it decides to do so.

The environment

The most complex environment is dynamic, stochastic, inaccessible, nondeterministic, non-markovian and continuous, alas, this is the case of the labor market. To be able to deal with this complexity ACE researchers use various simplifying hypothesis. The environment in previous ACE experiments is usually markovian, deterministic, static and discrete.

In our simulation, the environment is dynamic -the unemployment rate can change every round, non-markovian -the current productivity of an agent does not depend on its previous productivities, inaccessible -agents cannot know the decisions of other agents concerning their future, deterministic -the actions of agents are executed fully and discrete -each agent has its own life cycle.

Everyday life in the company

Everyday life in the company is usually treated implicitly in ACE models. From the moment when a person has been hired, his/her wage and his/her productivity stay constant over time. Exogenous events may occur in the labor market, like economic shocks [START_REF] Neugart | Labor market policy evaluation with ACE[END_REF] or technological progresses [START_REF] Gabriele | Labor market dynamics and institutions: an evolutionary approach[END_REF]. In [START_REF] Pingle | Evolution of worker-employer networks and behaviors under alternative unemployment benefits: An agent-based computational study[END_REF] interactions take place explicitly in the company, where the employees and the employers constantly play a game of strategies. This game is played over a profit matrix by choosing a cooperation strategy or a defection strategy. Our simulation does not include a bilateral relationship in the company. A worker performs with certain productivity and it is the employer who decides whether to keep or to fire this worker. The wage of the worker is constant over the time that he/she works, as his/her expected utility. The separation between a worker and an employer can be initiated only by the latter one that means that en employee cannot quit.

Our Model's Agentification

The agents participating in the model are:

• The Person agent, who produces while working and gets paid a salary. It can be employed, unemployed or not participating in the labor market. It matches unemployed Person agents with vacant jobs. • The Government agent, who sets economic policies in the labor market.

The Person agent (worker)

The Person agent can be in one of three states:

worker it fills a job, produces and gets paid. unemployed it has no job, but it is looking for one. In this case it gets unemployment benefits. non-participant it does not fill a job neither does it look for one. In this case it gets social welfare allowances. The Person agent has a capital which is the sum of money it earns by filling a job or the allowances it gets. It is characterized by the productivity with which it performs its job. This productivity represents the quantity of work and the investment of the agent in the job it fills [START_REF] Cahuc | The Shortcomings of a Partial Release of Employment Protection Laws: The Case of the 2005 French Reform[END_REF]. This productivity takes its values randomly from a probability distribution every month. We can sum up the Person agent's behaviors in the state transition diagram depicted in Figure 1.

The Person agent uses its decision mechanism in two situations: in the state of unemployment and in the state of non-participation. The transition between these two states is due to a reasoning process, where it decides which state will be more profitable economically. Thus, if the expected utility u for an unemployed person is greater than the expected utility n for a non participating person, the Person agent shifts from non-participant to unemployed state; otherwise, we have the opposite shift. In order to compute these expected utilities, the agent has to solve a system of four equations (a separate system exists for each model). For more details see [START_REF] Cahuc | The Shortcomings of a Partial Release of Employment Protection Laws: The Case of the 2005 French Reform[END_REF].

The Company agent (employer)

In the labor market the Company agents offer vacancies, decide whether to hire a person or not and eventually decide whether to keep or to fire this person. Two states exist for a job: vacant the Company looks for a Person to fill the job. filled the job is populated, and produces a profit.

A Company agent can decide not to look for a person to fill a vacancy if it thinks its chances of succeeding are too low, and that it will loose more money looking for an employee than keeping the job closed. If such decision is made after firing a worker, we will say that the job is destroyed. In this model a Company agent has a size, which defines the number of jobs it can offer. The Company agent uses its decision mechanism in the beginning of each cycle and after each firing. If a firing takes place or vacancies that have not been published exist in the company, the agent decides whether to open these jobs or not. This decision is made according to a threshold C computed for the profitability of a job. The decision mechanism also intervenes after each productivity report, when evaluating the employee and deciding about his/her future in the company. Figure 2 summarizes the Company agent's behaviors.

The Matching agent

In order to integrate the environment of the labor market, we introduce a Matching agent. The role of this agent is to manage the lists containing the states of the agents and the states of the jobs in the labor market. Moreover, as we know, looking for a job consumes time and money. Furthermore it is possible that the offer and demand of different types of jobs do not coincide. The matching function M is used to introduce this notion of delay and frictions. Hence, the matching agent computes at each cycle M (U, V ), the number of hires as a function of the number of unemployed persons U and the number of vacant jobs V . Following [START_REF] Cahuc | The Shortcomings of a Partial Release of Employment Protection Laws: The Case of the 2005 French Reform[END_REF], we use the same matching function and parameters: M (U, V ) = V.m(θ), where :

m(θ) = m 0 θ -0,5 (1)
m 0 = 0.772 for the best fit to the real French Market data, and θ = V U is the tightness of the labor market.T

The Government agent

The main functionality of this agent is to set the economic policies in the labor market. The agent calibrates the model and is responsible for setting the policy wanted, for example which contracts will be available (CDD, CDI, CNE ...). This agent decides the amount of annual salaries for the different types of contracts, unemployment benefits, social welfare allowances etc. It also computes the benefits paid to fired workers.

Results

The simulation

We implemented our system using the Repast Platform [START_REF] Repast | Recursive Porous Agent Simulation Toolkit[END_REF]. The simulation takes place in two parts, each part corresponds to different types of contracts. In the beginning we can set the number of agents (Persons, Companies) and the size of Companies that will take part in the simulation. We can also modify the level of salaries in the model, the amount of the unemployment benefits and the level of social welfare allowances. The new thresholds for the decision mechanisms are computed automatically by the system. The simulation is then launched.

The agents are created and start to interact with the environment of the labor market and with each other. The Person agents decide constantly whether to look for a job or not to participate in the labor market, while the Company agents decide whether to open jobs or not. The user can observe the unemployment rate, the vacancy rate, the participation rate, the tightness of the labor market and the messages sent between the agents. The user then decides on what moment to introduce the new contract and the simulation adopts automatically the new model. In the results below, we used 11000 agents. The unemployment rates for the two parts of the simulation are depicted in Figure 3. The graph shows that before the introduction of the CNE contract, the unemployment rate stabilizes and that right after this introduction, there is a decrease in the rate and a second stabilization in a higher level. These same results are found in the economic model, where the economists explain that in the long term the unemployment rate will restabilize at a superior level.

Detecting flaws in the matching function

However, when looking at the instantaneous data set measured at each cycle in Figure 3, one can see that there are many drops to zero. This is the case for the two parts of the simulation (i.e. before and after the CNE's introduction). . The only differences are the frequency of drops and the amplitudes of these oscillations, they are both higher during the CNE's regime. Because it is unrealistic to obtain a zero-level of unemployment and this was not found in the original simulation from Cahuc and Carcillo, we had to understand the causes of these abnormal oscillations.

In order to answer this question one has to study the matching process in the model. As mentioned above in 3.3, the matching process computes at each round the number of hires, M (U, V ) = V.m(θ). From Eq.( 1) and recalling that θ = V /U , we derive :

M (U, V ) = V.m 0 .V -0,5 .U 0,5 = m 0 .U 0,5 .V 0,5 (2)
This function has the type of the Cobb-Douglas function :

M (U, V ) = A.U α V 1-α (3)
with A = m 0 and α = 0, 5. When analyzing this Cobb-Douglas function, Boyer found that is has a quite restricted definition domain, as depicted in Figure 4 [1]. The function calculates relevant rates only when its arguments take their values in the domain represented by the white cone (EOF ). If U and V take their values in the gray area (V OE), the number of unemployed U drops to zero because there are too many vacancies and all the jobs are matched. In the gray area (F OU ), the number of vacant jobs V drops to zero because there are too many unemployed and all the jobs are matched (see [START_REF] Boyer | Fonction d'appariement et fonction de production[END_REF] for details).

When it is used with the macro-level economic model, we can ensure at the average to stay within the definition cone (EOF ). This is not the case at the microlevel, the agent's interactions can produce any values of (U, V ) leading to extreme cases (U = 0 or V = 0) after the matching process being applied. This explains the unrealistic drops of the unemployment rate to zero found in Figure 3.

Correcting the matching function

To sum up the results found in the last paragraph above, we could state that in our simulation of the CNE the Cobb-Douglas type of a matching function is microfounded, as it shows an abnormal behavior at the micro level. We proposed to replace it with another matching function, that was proposed by Stevens [START_REF] Stevens | New microfoundations for the aggregate matching function[END_REF], in the case when search and recruitment effort are exogenous that is the case in the CNE model. The new matching function we introduced into the model is presented in Equation 4.

m(u, v) = m 0 uv u + v (4)
This function fulfills all the requirements stated by Petrongolo and Pissarides [START_REF] Petrongolo | Looking into the black box: A survey of the matching function[END_REF], and its domain definition is 2 . The results obtained with the new function are depicted in Figure 5. One can see that after an oscillatory period the unemployment rate stabilizes and no drops to zero are detected.

Results' analysis

The results we found in our simulations using the new matching function resemble to the results found in the economic model: our MAS/ACE model reproduces the same average behaviors in the labor market. We find the same tendencies while looking at the rates of unemployment, participation etc.

For instance, if we take the evolution of the unemployment rate (percentage of unemployed persons within the labor force population) depicted in Figure 5, after the introduction of CNE contracts, there is a temporary drop in the unemployment rate, due to the brief rise in the vacancy rate (percentage of vacant jobs) and the decrease of the labor force. After this brief drop, the market's average unemployment rate stabilizes on a higher level than before, since it is easier to fire a person with CNE. Overall, with CNE, we have a transition from 7.1% of unemployment to 16% on average. Similarly, with the shift to CNE, the vacancy rate (percentage of vacant jobs) is increasing, as shown in Figure 6. The companies decide to open new jobs, because their expected value is higher if filled than if vacant. Regarding individual persons, when fired, the expected utility tends to be higher in the non-participation then in the unemployment state, so they do not look for a new job and the number of vacancies stays high. In our simulations, we measured a shift from 21% to 29% in the vacancy average rate. Finally, as shown in the Figure 7, persons have a higher tendency to consider the non-participation state with higher expected utility than the unemployment state. More and more workers, who have just lost their jobs, choose to abandon the attempt of looking for a new job because they consider the market and the jobs in it to be extremely unstable. The fall of the working population rate drops from almost 90% to 64%, on average.

The impact on the well-being

The novelty in our approach comes from the fact that MAS simulations add the possibility of taking into account more realistically the interactions between agents. Although in the economic model we can compute the unemployment rate at any given period, we cannot observe the interactions that led to this rate -our MAS simulation allows that. For instance, in Figures 567, we can see the increasing frequency and also the increasing deviations from the mean after the introduction of CNE contracts. This phenomenon clearly shows that the well-being of persons decreases: the frequency of these oscillations shows frequent shifts from work to unemployment or non-participation, and vice-versa. Thus it measures the precariousness of persons and the volatility of the labor market. All three rates (unemployment, vacancy, working population) show an increasing frequency of oscillations, after the introduction of the CNE contract.

Conclusion and future directions

In this study, we translated a pure economic model into a MAS simulation and reproduced the same results as in the economic model. Moreover, a new dimension emerged that could not be explicitly shown in the original model : the precariousness induced by the CNE contract.

Contrary to most approaches in economics, we adopted a bottom-up approach. This approach is based on a higher granularity of the model. Most economic models, including models that deal with microeconomic questions, use to average behaviors of agents when reasoning about durations or decision-making. When using an agentbased simulation, we have to look into the agent, and thus to define its architecture. Many types of architectures are possible. In the future, we plan to model the agent's cognition more profoundly, in order to tackle more adequately the human decision processes involved in the labor market. For such a purpose, we could use and adapt our cognitive architecture CODAGE [START_REF] Kant | Modeling one human decision maker with a multi-agent system: the codage approach[END_REF] we already applied for an experimental financial market. The whole idea is to "humanize" more the agents, to provide them with finer and more precise reasoning and decision abilities, something that will hopefully bring them closer to real human agents in the labor market.

We have not so far exploited all the possibilities provided by MAS, and several improvements will help to bring the model closer to reality in the future. First, we could diversify the agents a little more. By diversity we mean setting a field of expertise for each agent. In that case, an agent will be hired only for jobs, which suit its professional profile. This enrichment will make the matching mechanism more realistic and add frictions to the labor market environment.

Second, in the real world, the matching process is not perfect and straightforward. Even if an employee meets with an employer, a matching does not necessarily take place. A selection or sorting phase may be integrated into both sides. An employee may wave away a job offer because he/she finds the work conditions not satisfying enough. An employer may refuse a candidate because of a bad interview, a bad vita or simply because he/she prefers hiring someone else.

Third, the meeting between a worker and an employer may be considered as a bargaining interaction as well, where both sides negotiate the wage, the work conditions and so on. This first meeting may end in separation or in hiring. By allowing agents to negotiate, the interactions in the simulation will depend more on the labor market situation. If the unemployment rate is low an employee should have more power when negotiating his/her work conditions then when there are a lot of unemployed persons and not many vacancies.

Finally, our model allows an employer to fire an employee, but the opposite case where an employee decides to quit is not permitted. This situation is biased and a future version of our model should allow an employee to quit his/her job as well.

  /lookingForAJob() matched[n>u]/stopLookingForAJob() u -expected utility for an unemployed person n -expected utility for a nonparticipating person

Fig. 1 .

 1 Fig. 1. States of the Person agent

Fig. 2 .

 2 Fig. 2. States of the Company agent

Fig. 3 .

 3 Fig. 3. Unemployment rate with the Cobb-Douglas matching function. Vertical bar shows the time when CNE contract is introduced. The circle dots represent the instantaneous values, cross-marks the floating average values.

Fig. 4 .

 4 Fig. 4. The Cobb-Douglas definition domain

Fig. 5 .

 5 Fig. 5. Unemployment rate through time. Vertical bar shows the time when CNE contract is introduced. The circle dots represent the instantaneous values, crossmarks the floating average values.

Fig. 6 .

 6 Fig. 6. Vacancy rate through time. Vertical bar shows the time when CNE contract is introduced. The circle dots represent the instantaneous values, crossmarks the floating average values.

13 Fig. 7 .

 137 Fig. 7. Working population rate through time. Vertical bar shows the time when CNE contract is introduced. The circle dots represent the instantaneous values, crossmarks the floating average values.

  • The Company agent, who hires and fires Person agents. It can also decide whether to open a job or to keep it closed. • The Matching agent, who represents the environment of the labor market.

Zach Lewkovicz and Jean-Daniel Kant

Acknowledgments

We thank Pierre Cahuc for the useful discussions about the CNE model. This work is supported by a grant from Région Ile-de-France.