Estelle Malavolti
email: estelle.malavolti@enac.fr.

Single Till or Dual Till at airports: a Two-Sided Market Analysis

Keywords: two-sided market, network externalities, air transport economics. JEL codes: L11, L12, L89

Big airports profits are more and more often coming from commercial activities such as retailing. However, commercial services are relatively far from the original mission of the airport: providing airlines with aviation services such as ground handling, terminal management or airside operations, and being regulated for that because of an obvious dominant position with respect to airlines. For this reason, one can advocate for the separation of the two activities, i.e. for a dual till approach, in which only the aeronautical activity is regulated. We, instead, suggest that a single till regulation, in which the total profit of the airport is examined, is relevant because it allows to take into account the externalities existing between retailing and aeronautical services.

, 2006), we show that the airport is a platform which makes the shops and the passengers meet.

The retailing activity depends on how many passengers are circulating and connecting at the airport, as well as the time they spent in the airport, while passengers value the least connecting time as possible. We show that the aeronautical tax can be either higher or lower under single till depending on whether the impact of the passengers demand or of the waiting time is the more important for the shops.

Introduction

The commercial activity of big airports is becoming more and more important: The share of the commercial profits in their total profits has increased a lot. It represents 60% of the profits for Fraport, Frankfort airport, meaning that it is more important than the core activity of the airport: providing airlines with aeronautical services. Commercial revenues increased by 9% for the now privatized Aeroports de Paris. In 2007, the commercial activity accounted for 26% of Schiphol Group (Amsterdam)'s revenues and 34% of the operating result.

The investment strategies of airports are thus taking into account this aspect: when deciding to extend the capacity of an airport (by building new terminals for example), airport managers include the space for new shops. For instance, the extention of Beijing airport, which surface represents 1.3 million square meters, which stands for 1.6 times the surface of the original terminal, while the number of passengers is supposed to double (in the short run).

However, commercial services are relatively far from the original mission of an airport: providing airlines with aviation services such as ground handling, terminal management or airside operations, and being regulated for that because of an obvious dominant position.

How should airports manage both the aeronautical and the commercial activities? Should we separate the two activities? Are the kind of questions we address in this paper.

Our paper offers an original interpretation of the problem with the use of two-sided market. The airport is indeed a platform which makes passengers and shops meet. Shops are interested in having passengers wandering in the airport while waiting for a connecting flight. They will be more willing to pay for a space at the airport if there are a lot of passengers travelling and if they are in connection and wait sufficiently for this connection.

Then the airport could be tempted to decrease the passenger tax in order to make people travel more. However there exists a side effect on passengers demand: The airline could choose a too high waiting time caused by a low aeronautical tax, and thus make passengers travel less. We show that if the airport consider the two activities as being related it de facto internalizes effects which are complex and playing in different directions. We show that if the externality on passengers is high enough, the aeronautical tax is set at a lower level: Passengers are subsidized to travel, i.e., they pay a lower ticket price and wait less, by shops, which pay a higher rent for the space. On the contrary, if the marginal impact of the waiting time on shops demand is high enough, the aeronautical tax is set at a higher level: Less passengers travel and they wait more, which allows the airport to make more profit on the shops side.

Our paper relates to the economics of media markets as well as to the literature on two-sided markets. [START_REF] Rochet | Two-Sided Markets: A Progress Report[END_REF] attempt to build a general framework for two-sided markets and give a definition: A market is said to be two-sided when the volume of transactions on both sides is affected by a change in the price of one side of the market, keeping the total price constant. This means that the price structure affects the profits and the economic efficiency1 . The literature on two-sided markets builds on two branches of the literature: Firstly, the literature on network externalities (Katz andShapiro (1985,1994), [START_REF] Farrell | Standardisation, Compatibility and Innovation[END_REF]) and more specifically on indirect externalities (e.g. [START_REF] Chou | Network effects without Network Externalities[END_REF]) and secondly the literature on multi-product pricing. In our paper, externalities are present in that shops are both interested in having more passengers and having them waiting a long time for their connection. However, intermediaries are needed in this context because passengers do not internalize their positive impact on retailers2 .

As a consequence, the price structure matters, which is not considered in the classical network externalities literature. On the contrary, the literature on multi-product pricing focuses on price structure but forgets about externalities. Because the sides of the market need one each other to exist, the problem can indeed be considered as a problem of pricing in the case of complementary goods: If the price of the ticket decreases, the demand for space increases. However, this is forgetting about the externality exerted by the shops on consumers, through their sensitivity with respect to the connecting time. 3 .

The media industry is one of the first application of two-sided market: viewers want to watch programs and dislike the announcements they carry, whereas advertisers see audience as potential consumers 4 . Generally, what authors show is that it makes sense that advertisers subsidize the TV consumers because of the presence of externalities. Our paper builds on this literature in a sense but the application is completely different. We use a classical framework as presented in [START_REF] Rochet | Two-Sided Markets: A Progress Report[END_REF] with usage externalities: the retailers are sensitive to the number of passengers wandering in the airport. To the difference to [START_REF] Rochet | Platform Competition in Two-Sided Markets[END_REF] or [START_REF] Armstrong | Competition in Two-Sided Markets[END_REF], we do not model competition between platforms, as an airport is de facto in a monopolist situation with respect to airlines and shops, but fully model the consumers side as in Crampes et alii (2006). Besides we model the fact that airlines choose nonetheless the ticket price but also the connecting time for passengers. This allows to take into account a side effect of the presence of shops: They are interested by having more passengers, i.e. passengers demand exert a positive externality on shops. However, shops are also interested in the time spent by these passengers in the airport: The more the waiting time, the more the shops demand.

This may lead the airport to try to increase the waiting, creating a negative externality on passengers.

The paper is organized as follows: Section 2 sets out the model and derive the general results while in Section 3, we discuss a numerical example. Section 4 concludes and provide some insights in terms of welfare analysis5 .

A two-sided market model

Airports are "economic catalysts" as they have "two groups of customers who need each other in some way; but who can't capture the value from their mutual attraction on their own; and rely on the catalyst to facilitate value-creating reactions between them" [START_REF] Evans | Catalyst Code[END_REF]. According to [START_REF] Evans | Catalyst Code[END_REF], catalysts do exist for a while but will play an increasingly important role in our economies due to technological changes and the reduction of the communication costs. There are several examples of catalysts, for instance, Rochet and Tirole (2004) mentionned Videogame platforms, which need to attract gamers in order to convince game developers to design games to their platform and need games in order to induce gamers to buy and use their videogame console; payment card systems, which need to attract both merchants and cardholders; TV networks, portals, newspapers, which compete for advertisers as well as audience.

An airport plays the role of a platform which makes passengers and shops meet. Shops need to be present at the airport to reach passengers. Shops will address their demand directly to the airport. To contrast, passengers buy tickets by an airline, which decides of both a ticket price and a connecting time. The airline has to pay an aeronautical tax set by the airport. Finally, the airport chooses the rent for the space and the level of the aeronautical tax, up to a certain level (it is regulated by a price cap) 6 .

The Aeronautical Activity

Consider would-be passengers who express a (total) demand for travel N (p, t). It is function of the price of the ticket p, which is set by the airline and of the connecting time t.

We assume that demand is decreasing in the price p and in the connecting time t, and that the cross derivative is negative

δ 2 N (p, t) δpδt < 0
This assumption is made to take into account that the price of the ticket and the connecting time are imperfect substitutes for passengers: I may accept to wait a longer time if the price is really low. On the contrary, if the price is high, I tolerate it only if the connecting time is very low as well.

We consider an airline in a monopolist situation because in hub airport one airline is often in a dominant position. The airline takes as given the aeronautical tax a imposed by the airport. This tax is proportional to the number of passengers N (p, t). The airline sets both the price of the ticket which will be paid by the consumers and the connecting time, i.e.. the time spent by passengers in the airport between two connecting flights.

The connecting time t has no price as such but allows the airline to save some production costs. Given C(N, t) the production cost, we then assume that C(N, t) δN ≥ 0 and that C(N, t) δt ≤ 0. The program of the airline is thus as follows

M ax {p,t} Π = (p -a)N (p, t) -C(N, t)
The first order conditions then gives the following equations:

δΠ δp = 0 ⇔ p -a -δC δN p = 1 N/p (1)
δΠ δt = 0 ⇔ p -a -δC δN = δC δt / δN δt (2)
Equation ( 1) tells us that the monopolist mark-up of the airline has to be equal to the inverse of the direct price elasticity, denoted by N/p , which is a classical result. More interestingly, the second equation explains that the difference between the price and the cost (which includes variable t) is function of the gain in terms of cost by an increase in the connecting time, measured by δC δt and of its cost in terms of demand. When computing the ratio (1)/(2), we obtain the following expression:

p = N/p (- δC δt δN δt )
The couple (p, t) in determined such that the price of the ticket equals an expression which stands for the monopolist trade-off between saving costs when increasing t and loosing passengers because of a higher connecting time, weighted by the the direct elasticity of the demand with the price. An explicit solution for the price and the connecting time is expressed in the next section.

The monopolist internalizes the fact that the connecting time influences the demand and the price and the connecting time are imperfect substitutes to serve a certain level of demand. On the contrary, the airline forgets that it has an influence on the aeronautical tax through the choice of t. The airport, playing its role of platform, is the one who will internalize the effect.

The Commercial Activity

Shops are present in the airport. They are numerous and in competition (perfect) for the occupation of the space in the airport. They express a demand which is naturally decreasing in the rent r paid to occupy the space. Their demand is also function of the number of passengers who wander in the airport as well as of the connecting time of these passengers. Indeed, the more number of passengers and the more likely the sell. However, the sell is also explained by the time passengers spend in the airport, waiting for their next plane. Thus, demand for space from shops is decreasing in the price r and increasing in t and N . From the shops point of view, they are interested in fact by a mix between passengers and having them waiting sufficiently longer in the airport. The connecting time and the passengers are imperfect substitutes for the retailers. We define s the demand for space from shops. s has the following characteristics:s = s(r, N, t) with, for all r, N , t

δs δr < 0 δs δN ≥ 0 δs δt ≥ 0.

The Platform

The airport is a platform which will make the link between both the commercial and the aeronautical activities. It will set both the aeronautical tax a and the space rent r in order to maximize the joint profit of the two activities. We assume that the (production) cost of the airport is linked to the demand of passengers (and not chargeable to each of the activity). To make things simpler, we further assume that these costs are proportional to passengers demand (parameter γ, with γ > 0). We consider fixed cost and denote them CF . The program of the airport can thus be written

M ax {a} Π airport = aN +rs -γN -CF s.t. s = s(r, N, t) , N = N (p, t) , p = p(a) , t = t(a) .
The FOC, taking into account the constraints,i.e. considering that N (.) is a function of a, write Where t (a) (respectively N (a) denotes the total derivative of the waiting time (resp. the passengers demand) with respect to the passenger tax a. Equation ( 4) can be rewritten as follows r = -s δsδr .

If the shops demand is sensitive to the rent, the level of the rent will be naturally lower.

The level of a is determined so as to take into account several effects: the first effect, N (a)-(a-γ)N (a), corresponds to the impact of a on the pricing of the ticket. Indeed, increasing a will have an impact on the choice of the airline (p, t). If the airport were considering independently the two activities, this effect would be the only one present to determine a, i.e. the impact of t on passengers demand would have been the sole impact taken into account. The second impact, rN (a) δs δN , measures the externality exerted by passengers demand on shops activities but weighted by the indirect impact of the aeronautical tax on the passengers demand. The sign of this effect depends on how passengers demand reacts to a. The last effect, rt (a) δs δt , takes into account the impact of the connecting time t on shops profit. The sign of this last effect depends on the impact of the aeronautical tax on the waiting time. To measure the total effect and determine whether the aeronautical tax a is lower or higher than with a situation in which the airport considers independently the two activities, one need to determine the impact of the tax on the ticket price and on the connecting time. a is part of the marginal cost of the airline. As such, as the mark-up ( p-a-δC δN p is the margin above the marginal cost (represented by δC δN ), the ticket price p should be increasing with the aeronautical tax, i.e., p (a) ≥ 0. The connecting time t is a substitute to the ticket price to satisfy the passengers demand, as such, the aeronautical tax a should have the same impact, i.e., t (a) ≥ 0. Hence, both the ticket price and the waiting time are increasing with the aeronautical tax. As the passengers demand is assumed to be decreasing in both the waiting time and the ticket price, we conclude that it is decreasing with the aeronautical tax, i.e., N (a) ≤ 0. We can then re-interpret the first order conditions. Now that N (a) ≤ 0 and knowing that the first part of the FOC, i.e., N (a) -(aγ)N (a) is monotonically decreasing in a, adding rN (a) δs δN which is a negative term (for all a and r) means that the solution in a should be lower than if the two activities were considered independently. Since passengers demand is affected negatively by a change in the aeronautical tax, increasing the tax means having less passengers, which means having less demand for space too. The sign of the last effect, measured by rt (a) δs δt , is opposite. Indeed, t is increasing in a, so as the effect of the connecting time on the space demand δs δt . Then, rt (a) δs δt is positive for all a and r. Comparing with a situation in which the commercial and aeronautical activities are independent, this effect tends to increase the level of aeronautical tax. Since the connecting time is positively affected by the aeronautical tax, increasing the tax means having a higher connecting time chosen by the airline, which in turn means having more demand from shops. We thus cannot conclude on the global effect, i.e.., on the choice of the aeronautical tax by the airport.

The aeronautical tax tends to be lower if the (negative) effect on passengers demand is high enough. It is higher if the effect on the connecting time is high enough. To conclude on the effect, on need to give expression for both the passengers and the shops demands.

The choice of a has an impact on the choice of r through the shops demand. If the twosided aeronautical tax is lower, this means that the impact of a on the shops demand is negative. Indeed ds da = N (a) δs δN + t (a) δs δt .

The demand for shops being decreasing with a, the price for space is higher in the twosided market situation. The aeronautical tax and the rent are impacted differently by the two-sidedness of the market.

We sum up these results in the following proposition:

Proposition 1
The aeronautical tax a is set lower and the rent r is set higher in the case of two-sided market if the partial impact of passengers demand N on shops demand s is more important than the partial impact of the connecting time t on shops demand s.

The airport thus internalizes the two contradictory effects when choosing its prices.

To be able to measure the effects, let us consider a numerical (simple) example.

Numerical example

Let us define specific functions for our problem. For example, we define passengers demand function as follows

N (p, t) = ū -p -αt -βtp.
where ū is the net utility derived if the consumers do not travel, we normalize it to unity.

Parameter α measures the direct impact of the connecting time on passengers utility. We assume that this impact is lower than the one of the direct price, i.e. α < 1. Parameter β measures the cross effect between p and t for the passengers. β is positive to take into account the fact that if the waiting time (respectively the ticket price) is high, the marginal impact of the ticket price (resp. the waiting time) on passengers demand is even higher in absolute value. Linearity is assumed to obtained simple results.

We interpret the role of the connecting time as a means for the airline to decrease its marginal cost. The cost of producing travel C(N, t) is for example chosen to be as follows

C(N, t) = (c -t)N.
Where c > 0 is the unit cost.

The demand for space is expressed as follows:

s(N, t, r) = κN + λt -r.

Let us now solve for the equilibrium values of p, t, a and r, with the corresponding quantities N and s. Solving first the airline program allows to state the following lemma.

Lemma 1 The difference between the two instruments p and t available to the airline is constant

p -t = 1 -α β Proof.
From the FOC of the airline we obtain that

t p = N/t N/p .
Which simplified to the following expression

p -t = 1 -α β .
Lemma 3 Under our assumptions, the aeronautical tax is lower if the airport considers the two sides of the market a T S < a 0 .

Proof.

Considering the FOC on a, what matters is the sign of ds/da. Computing ds/da leads to the following expression:

-8α(1 + β)κ -(-B + B 2 + A)(-Bκ -λ),

where B = 1 -a -c and A = 16α(1 + β). A > 0, while we cannot conclude for B since a is endogenous.

In the case B is positive, then the global expression is negative, thus ds/da < 0, implying that a T S < a 0 .

If B < 0, but λ is sufficiently important, then the global effect is also negative.

The aeronautical tax being lower when the market is considered to be two-sided, we can now derive the impact on the other equilibrium variables. Indeed, as the ticket price and the connecting time are increasing in a, p T S < p 0 and t T S < t 0 , implying that more passengers travel at the equilibrium. The shops demand is lower, because ds/da < 0, and, from the first order conditions, shops pay a higher rent.

Conclusion

The airport is a platform which takes into account the externalities existing between the commercial activity and the aeronautical activity. As shops are sensitive to both the waiting time and the number of passengers present at the airport, two contradictory effects have been determined: the aeronautical tax is lower if the shops are more sensitive to the number of passengers. We conclude as well that separating the two activities, i.e. considering the double till regulation, is synonymous of forgetting the externalities potentially existing between the two sides of the market. What we aim to value now is to try to estimate empirically if there are some externalities, and, if so, what effect is the most important on shops demand.

  N (a) -(a -γ)N (a) +rN (a)

The paper by[START_REF] Baxter | Bank Interchange of Transactional Paper: Legal and Economic Perspectives[END_REF] first introduced the notion of interdependence of demands for an antitrust case concerning banks interchange fees.[START_REF] Armstrong | Competition in Two-Sided Markets[END_REF] and[START_REF] Parker | Two-sided Network Effects: A Theory of Information Product Design[END_REF] are general papers which set out the notion of two-sided markets and derive general results.[START_REF] Evans | Catalyst Code[END_REF] give a practical description for two-sided markets and a lot of examples of multi-sided businesses.

[START_REF] Caillaud | Chicken and Egg: Competition among Intermediation Service Providers[END_REF] study the role of intermediaries when there are indirect externalities

For an explanation of the price theory of two-sided markets, seeRochet and[START_REF] Rochet | Two-Sided Markets: A Progress Report[END_REF][START_REF] Weyl | The Price Theory of Two-sided markets[END_REF].

See Anderson and Gabszewicz (2005) and[START_REF] Evans | Catalyst Code[END_REF] for a detailed review. Other interesting papers are[START_REF] Gabszewicz | Programming and advertising competition in the broadcasting industry[END_REF] for an analysis of advertising under free-toair, or[START_REF] Peitz | Content and Advertising in the media: Pay-Tv versus free-to-air[END_REF] for an analysis of the advertising intensity and the content programming of free-to-air and pay-tv.Crampes, Haritchabalet and Jullien (2006) model endogenous entry in a model where platform compete for advertising resources

.[START_REF] Baxter | Bank Interchange of Transactional Paper: Legal and Economic Perspectives[END_REF] For general analysis of welfare in two-sided markets, see for instance[START_REF] Anderson | Market provision of Public goods: The case of broadcasting[END_REF] or[START_REF] Ambrus | Platform Competition and Welfare: Media Markets Reconsidered[END_REF] for a specific analysis of media market. Nocke,[START_REF] Nocke | Platform Ownership[END_REF] focuses on platform ownership and find that if network externalities are important, a monopolistic platform is socially preferred.

We do not model the regulator as such. We left this for further research.

The difference between the price of the ticket and the connecting time is held constant by the airline because of the linearity of the demand essentially. It is nevertheless interesting to notice that the more the cross effect between the two instruments (measured by β) and the less the difference, while the more the direct impact (measured by 1 -α), the more the difference. It is interesting to notice that the impact of the aeronautical tax is identical for both instruments dp da = dt da .

Solving for the first order conditions stated in the previous section we obtain the following expressions for the price of the ticket, the connecting time and the number of passengers at the equilibrium:

Lemma 2 At the equilibrium, the ticket price p T S and the connecting time t T S varies positively with respect to the aeronautical tax. Passengers demand N T S varies negatively w.r.t. the aeronautical tax.

Proof.

When derivating p T S w.r.t. a, one obtains that it depends on the sign of

Two cases have to be considered. If a ≥ 1 -c, then the ticket price is increasing with a (if supposedly, c < 1). On the contrary, if a < 1 -c, then the expression has the following form:

, where A = 16α(1 + β) > 0 and B = (1 -a -c)β > 0 and we can directly conclude that it is always positive (for all a). We conclude that p is increasing in a, so as to t. As N (p, t) is decreasing w.r.t. both t and p, then it is decreasing in a.

If the aeronautical tax is set at a lower level, we can conclude that the ticket price and the connecting time are lower than if the activities were treated separately. At the equilibrium, the number of passengers is higher: More people travel.


Meropi Topalidou

Arthur Leblois

Thomas Boraud

Nicolas P Rougier
email: nicolas.rougier@inria.fr

A Long Journey into Reproducible Computational Neuroscience

Computational neuroscience, a relatively recent field, has gained fast ground and modelling is now widely used to better understand individual and collective neuronal dynamics, and to propose new functions relying on neural substrate. While the development of a model is initially tightly linked to the specific question asked by a given group of researchers, further development of the model in different contexts is often possible and desired. When such further development relies on new players, the continuity of the work requires proper validation, reproduction and sharing of the models original equations and code. However, as they are published today, computational neuroscience papers rarely include the sufficient material for the reproduction and sharing of the underlying model as a whole.

 investigating the dynamics of basal ganglia circuits and their function in multiple level action selection. In collaboration with the authors of the original work, we first explain the difficulties encountered during the reproduction and validation of the initial model and results. These difficulties led us to completely rewrite the model enforcing best software practices, relying on previous attempts to provide a common framework for reproducible computational science and software sustainability. We hereby detail these practices in the face of our practical example: the reproduction of the results from Guthrie et al. (2013). In particular, these practices include: (i) a template for formal description of the model in a single table, (ii) a public repository for shared software a proper version control, and (iii) an easy interface to run the underlying code and reproduce figures. We finally propose new formats for communicating results allowing the replay of a code while reading a computational study, in order to get a deeper understanding of the concepts being introduced.

Introduction

During the last few years, there has been an increased interest in reproducible computational science as shown by the flourishing literature on the topic [START_REF] Peng | Reproducible research in computational science[END_REF][START_REF] Sandve | Ten simple rules for reproducible computational research[END_REF][START_REF] Osborne | Ten simple rules for effective computational research[END_REF][START_REF] Stodden | Implementing Reproducible Research[END_REF], on good software practices [START_REF] Nordlie | Towards reproducible descriptions of neuronal network models[END_REF][START_REF] Donoho | An invitation to reproducible computational research[END_REF][START_REF] Delescluse | Making neurophysiological data analysis reproducible. why and how[END_REF][START_REF] Wilson | Best practices for scientific computing[END_REF][START_REF] Goble | Better software, better research[END_REF] and the newly created websites to ensure software sustainability (recomputation.org, runmycode.org, etc.). These both illustrate the extent of the problem and the paradoxical nature of the situation. While computer science offers a large set of tools for prototyping, writing, running, testing, validating, sharing and reproducing results, computational neuroscience still lags behind.

In the best case, authors may provide sources of their model as a compressed archive and feel confident they contributed to reproducible computational neuroscience. But this is not exactly true. [START_REF] Buckheit | Wavelets and Statistics, chapter Wavelab and reproducible research[END_REF] explained almost 20 years ago that, an article about computational result is advertising, not scholarship. The actual scholarship is the full software environment, code and data, that produced the result.

Anyone that ever open such compressed archive will plainly agree with this quote. How things went so bad ?

Part of the answer may be the ever growing place of software in modern Science, up to the point where new research domains have emerged, mirroring their traditional counterpart with the computational adjective (computational biology, computational neuroscience, computational geometry, etc.). Does this mean all of a sudden everybody can write software ? Unfortunately no. If more than 50% of scientists admit to write software according to a survey by [START_REF] Hannay | How do scientists develop and use scientific software[END_REF], it is very unlikely that all of these people received proper training to do so. This results in software of very different quality and accessibility, but more importantly, this may also result in incorrect software. And if your software is incorrect, so will be your science [START_REF] Merali | Computational science: ... error ... why scientific programming does not compute[END_REF]. This article aims at showing the full extent of the problem through the detailed story of the reproduction of a computational model. It has been written in collaboration with the authors of the original work, that allowed a full access to their archives and code and provides all the missing information that grounded the research.

In a previous modeling study, [START_REF] Leblois | Competition between feedback loops underlies normal and pathological dynamics in the basal ganglia[END_REF] demonstrated an action selection mechanism in cortico-basal ganglia loops based on a competition between the positive feedback, direct pathway through the striatum and the negative feedback, hyperdirect pathway through the subthalamic nucleus. In [START_REF] Guthrie | Interaction between cognitive and motor cortico-basal ganglia loops during decision making: a computational study[END_REF], authors investigated further how multiple level action selection could be performed by the basal ganglia, and the model has been extended in a manner consistent with known anatomy and electro-physiology of the basal ganglia in the monkey. The model is quite complex, but such is the basal ganglia. Unfortunately, the information provided by the latter article was not sufficient to allow for the direct reproduction of the model. We explained in this article the precise difficulties we encountered and the reasons that lead us to a complete rewrite of the model, trying to enforce best software practices. Following good software practices, we were ultimately able to reproduce original results, confirming the correctness of the original implementation of the model. But we lost nearly three months in the process, while this should have been a routine task.

Models Original model

The initial version of the model [START_REF] Leblois | Competition between feedback loops underlies normal and pathological dynamics in the basal ganglia[END_REF] was studied through analytical calculation (in a reduced model of the network) and through numerical simulations (for the complete model including random connectivity, heterogeneities and synaptic noise). The simulation programs were written in C code (by A. Leblois), and, for some exploratory simulations, in Fortran (by D. Hansel). All the code used to run simulations for the results and figures of [START_REF] Leblois | Competition between feedback loops underlies normal and pathological dynamics in the basal ganglia[END_REF] was written in C. At that stage, analytical calculation and simulations of the model could be reproduced simply from the equation and parameters provided in the paper. The task would be relatively easy for the reduced model, but may take quite some time for the extended model given the large number of parameters required to define network connectivity, neuronal properties and inputs. The C code underlying the simulations of this complete model was not written to be easily shared (no versioning, no public repository), and providing the raw code would therefore be of partial help only. The later version of the model [START_REF] Guthrie | Interaction between cognitive and motor cortico-basal ganglia loops during decision making: a computational study[END_REF] was developed in a collaboration between authors of the original version (A. Leblois and T. Boraud) and a new post-doc (M. Guthrie).

The latter decided to use a graphical user interface (Delphi) to develop further the model, most likely due to his specific coding history. This methodological decision had a rather negative impact on the further development of the model: it was not possible for A. Leblois, who developed the initial version of the model, to run the code and therefore he had limited access to the behavior of the new model as the architecture complexity was incremented. It now turns out that this approach also impedes the reproducibility of the model by other scientist. This was precisely the case for M. Topalidou and N. Rougier when they decided to reproduce results of the article and soon realized that the information provided by the article was not sufficient to reproduce the results.

Literal description

The literal description of the model is primarily addressed to a neuroscientist audience (it was published in Journal of Neurophysiology) and assumes implicitly that readers are familiar with both neurophysiology and neuroanatomy of the basal ganglia. For example, the detailed description of the nuclei is absent and well know facts, such as the nature (excitatory or inhibitory) of this or that projection, are not mentioned.

While this might be obvious for experts, such absence makes the reproduction task more difficult for non experts, even if it is possible to somehow deduce this knowledge from various hints in the article. Overall, the model is described quite precisely, with a lot of important information, but still, some information are ambiguous or erroneous and some others are just missing. We report in this section the description of the model as it has been proposed in the original article. We use gray boxes to indicate in extenso citation of the original material. Ambiguous and erroneous information Throughout the whole article, the different parts of the model are described using neuron, ensemble or unit. This ambiguity is related to the fact that there are two possible interpretations of the rate model. Either it is used to represent a neuronal population, each firing rate variable being associated to the average activity over a large pool of neurons. Or it can be used to represent the output (formally, the slow synaptic output) of a given neuron. In the case where connectivity between populations is all-to-all, all neurons behave the same in one population, and the single variable represent either the average firing of the population or the activity of any of these neurons. In the original article, ensemble is defined as a set of co-activated neurons but units seems to be reserved for striatal units which suggest striatal elements might be represented by a single neuron while other elements may need several neurons. From the various figure describing the architecture of the model, it happens eventually an ensemble is a represented by a single equation.

No units are given for the different constants and reader has to guess the unit from the nature of the variable. While this poses no problem for most variables and constants, there are some ambiguous situations.

For example, time constant tau has been set to a value of 10. Since this is a time constant used for synaptic decay, we can deduce the actual value is 10 milliseconds or 0.01 second. However, this is far from evident by looking at the sources because the actual dt variable has been set to 1ms and removed from equations (implicit use of the forward Euler method).

The initialization of weights are defined in two different parts of the paper. First on page 3030 (second column):

Weights were initialized to a Gaussian distribution with a mean of 0.5 and a SD of 0.005 at the start of each simulation... then on page 3031 in the caption of figure 4.

All synaptic weights were initialized to 0.5.

In fact, both definitions are right but do not address the same projections. Cortico-striatal synaptic weights use Gaussian distribution while all other weights are set to 1.0. Finally, the Boltzmann equation according to the paper is:

mout = Vmin •     Vmax -Vmin 1 + e V h -min V c    
This definition is wrong according to the proper Bolzmann equation that use a + instead of a • . The problem is even worse, because the article equation, when used with parameters given in table 3 of the original article, is quite similar to the actual Bolzmann equation. This makes even more difficult to spot the error and only the change of parameters clearly indicate the equation is wrong.

Undisclosed information As explained previously, the model refers to two pathways, one direct and one hyperdirect, but authors never explained what nuclei are involved or how they interact. For example, it is not mentioned if GPi sends inhibitory or excitatory inputs to thalamus. The only reference exists in the caption of the first figure. Furthermore, the last sentence of the same caption and table 2 indicate that cortex sends input to the thalamus but the gains used in the source code, are different from the article.

The learning rule includes a V i term which refers to the value of cue i. Knowing that each cue is associated with a reward probability, it is legitimate at this stage to assimilate the two of them. However, it appears this value is actually referring to the state value as defined in reinforcement learning [START_REF] Sutton | Reinforcement Learning: An Introduction[END_REF].

This was far from obvious since these values were not defined beforehand and their initial state is reported nowhere. Only the knowledge of reinforcment learning methods helped us setting their initial state to 0.5.

Source description

Because we were unable to reproduce the model using article description, we proceeded with studying the sources of the model that we requested from the authors. These sources are not available elsewhere and we were lucky enough that authors still have a copy around. However, studying these sources, to try to undersand how the model works, has been a very demanding task. The main reason is that the main project file is 6000 lines long (using Pascal programming language) and mix the graphical user code with the actual model simulation. Furthermore, in order to compile the model, we needed a Windows system, the Delphi 7 personal edition compiler suite (which is no more available from the editor) and various extra components that were used for the graphical user interface. Even if we were able to gather most of these components, we

were not able to find all of them and consequently, we did not manage to compile the model. However, having these sources was still very useful because they allowed us to check for the implementation of this or that equation. This is, for example, how we spotted the error on the Bolztmann equation and the initialization of weights. It also helped us to find out which set of parameters were used since the sources are accompanied by several configuration files (quite ill-named default.ini, default2.ini, etc.).

Executable

We had to turn to the actual executable and run it on a combination of Virtual Box and a 32 bits Windows 7 even though the original model has been developped using Windows XP, but we did not encounter any compatibility issue. This binary executable came as a great help in understanding how the model actually works (see figure 2) and allowed us to check for the activity of other structures and to compare the respective implementations (original and our version). Unfortunately, such executable is quite limited in what you can actually experiment, because it is dedicated to the main experimental paradigm. If we were able to tweak the various parameters to check for the activity of this or that structure, we could not, for example, experience lesion or new connectivity patterns. In other words, we could not escape the main experimental paradigm that is hard-coded through the interface. from a total freedom. Depending on the level of expertise of the designer, this can be a viable approach but is prone to many errors (e.g. inconsistent variable type, use of the default random generator, improper integration scheme, etc.). For the redesign of the model, we choose the DANA library [START_REF] Rougier | Dana: Distributed numerical and adaptive modelling framework[END_REF], https://github.com/rougier/dana) which is a Python library heavily inspired from Brian but slanted towards mean-rate models. The main reason for such a choice is that last author is an expert in Python and developed the DANA library which is open source, documented, tested and maintained. The use of this library allowed us to reduce the model to a 200 lines Python script.

Version control

In any experimental laboratory, notebooks help to keep track of the daily activity. Such notebooks are typically permanently bound (no flying pages) with page numbered (one can notice if a page is missing) and entries are timestamped and signed and such that an entry cannot be physically deleted. Even if such notebook are scarcely shared, they are used by the experimentalist who wrote them to get back some info they forgot. Legally, the notebook may attest that you did the experiment first, and it is used to attest that you use the right medications (for animale welfare). The digital equivalent for computational neuroscience is version control using tools such as subversion (http://subversion.apache.org) or git (http://www.github.com).

Public repository

As explained earlier, we managed to contact the original authors and they were able to send us the original source code. This was somehow expected since the model is barely two years old. However, for older models, it might be very unlikely that authors can still be contacted or that they still have a copy of the model, if this one has not be made public in the first place. There are many ways to do that, a simple compressed archive bundled with the supplementary materials on the journal website, a dedicated repository like, for example, the Neuron database available at http://senselab.med.yale.edu/modeldb/. For our revamped model, we decided from the start to make it available on github which offer a web-based framework for collaboration, code review, and code management and yields several advantages. First, all the repositories are public by default and anyone can look directly at a specific project as well as its commit history (however, this public nature is not always desirable). Furthermore, anyone can fork the project by hitting a single button and starts working on his own personal version of the model. Also, if some changes or bug fixed are worth to be added to the main repository, it is possible to issue a pull request that tell the original authors what is the purpose of this pull request and what would be changed (see figure 4). At this point, it is possible to discuss the pros and cons of this or that change before merging it into the main repositoty. Once this is done, the contribution will be recorded inside logs.

Interface

The IPython notebook [START_REF] Pérez | IPython: a system for interactive scientific computing[END_REF]) is a web-based interactive computational environment where you can combine code execution, text, mathematics, plots and rich media into a single document. This allows easy collaroration with colleagues since the notebook can be exported to various formats (HTML, pdf, etc.) or directly shared online using a static version. One of the strength of the notebook is that it allows to mix code, figures and elaborated comments into a single document. For example, the equation governing a potential can be inserted in extenso (using L A T E X language) and the result is a self-contained document with code, results and explanations. The model has been made also available as a notebook such that it is a self-contained interactive document, mixing model definition and explanation.

Results

The final step in our journey has been to check if results could be reproduced faithfully. Due to the difficulty in the redesign of the model, this has been split in two phases. First, we checked if a single trial could be qualitatively reproduced in terms of dynamic (oscillations during settling) and decision (does a decision actually occurs in the cognitive and motor structures). We then proceeded to the learning task in order to reach asymptotic performances.

Single trial

A trial lasts for exactly three seconds, including a settling phase of 500ms with no external input. During this settling phase, there appear some characteristic damped oscillations that stabilizes just before the actual start of the trial (see figure 5). At time t=500ms, cues are presented to the model in the form of external activity that feed the cognitive and motor areas. The activity of the associative cortex receives proper external activity in order to disambiguate correspondence between shape and position (no binding problem). Cognitive and motor neurons that are not fed by the external input decrease their activity to the resting potential while the fed ones increases their activity. After 750ms, the activity of the active neurons start to diverge in both cognitive and motor groups. For a decision to be considered to have occurred, there must be a significant difference (40Hz) which happens around 1250ms for both cognitive and motor groups. The trial stops at 2500ms and the model can return to the resting state in 500 ms. The original article provided a single figure with the activity of both cortical cognitive and motor structures, although it was essential for us to check the activity of other structures during a single trial as shown on figure 7 in the appendix.

Learning

According to the original protocol, learning has been tested over 120 consecutive trials. However, there was missing information about the exact protocol and we assumed the following elements:

• We assumed an exact uniform target distribution (each target appears exactly 60 times). This has been implemented by shuffling an array holding all the targets pairs.

• We implemented an explicit resetting phase between trials to ensure we have no trailing activities from previous trial.

• Learning occurs at the end of the trial, if and only if a motor decision has been made by the model.

• Trials where no motor decision has occurred (difference of activity is less than 40Hz) have been discarded.

The learning protocol has been averaged over 250 simulations of 120 trials. Performance has been calculated as the ratio of correct motor decisions, independently of the cognitive decision. This means that if the model chose the wrong shape (cognitive decision) but the right move (motor decision), this results in reaching the right target. Since there is no way to disambiguate such double errors in the monkey, we assumed this should be counted as a correct answer. The asymptotic performance of the revamped model is approximately 97%, to be compared with the 96% performance of the original model.

Discussion

Computational neuroscience is a powerful ally in our quest to understand the brain. Even the most simple model can shed light on the role of this or that structure and propose new hypothesis concerning the overall brain organization. The model we studied and reproduced in this paper, while simple, is able to explain to some extents how the motor and the cognitive cortico-basal ganglia loops interact during decision making.

However, any model in Science is doomed to be proved wrong or incomplete and replaced by a more accurate one (Box and Draper, 1987). In the meantime, for such replacement to happen, we have first to make sure it is actually reproducible such that it can be tested, evaluated, criticized and ultimately modified, replaced or even rejected. This is where the shoe pinches. If we cannot reproduce a model in the first place, we're doomed to re-invent the wheel again and again and we won't be able to build an incremental computational knowledge of the brain. In this short article, we tried to show the extent of the problem and the precise difficulties that arise when one want to reproduce a computational model using a singular example. However, from our own experience, this is not an isolated case, even though there are few cases where the model can be reproduced in a straightforward way as we did for [START_REF] Gurney | A computational model of action selection in the basal ganglia. i. a new functional anatomy[END_REF] and [START_REF] Girard | Where neuroscience and dynamic system theory meet autonomous robotics : a contracting basal ganglia model for action selection[END_REF]. We believe the revamped model we proposed allows any researcher in computational neuroscience to run it and obtain the exact same results as the ones introduced in this article. Some colleagues already have shown interest in the revamped model because they failed at reproducing the original one. Furthermore, the new description, as well as the new figures, allow anyone to rewrite the model using different language, tools or software.

To obtain such reproducible results, we merely applied precepts that are now widely available in the litterature [START_REF] Nordlie | Towards reproducible descriptions of neuronal network models[END_REF]; [START_REF] Peng | Reproducible research in computational science[END_REF]; [START_REF] Osborne | Ten simple rules for effective computational research[END_REF]; [START_REF] Delescluse | Making neurophysiological data analysis reproducible. why and how[END_REF]; [START_REF] Stodden | Implementing Reproducible Research[END_REF].

From a broader perspective, this singular experience into reproducible neuroscience raises some questions about the whole publication process. While it has been true for a long time that article were actually printed, it is more and more common to download and read articles in electronic form only. In such context, does it really make sense any more to have supplementary materials as a separate document while they may carry critical information for the reproduction of the result ? We think instead, any supplementary materials carrying important information for the reproduction of the model should be attached with the main document.

Furthemore, for the computational part, it is quite surprising that there is still no official journal source repository. A simple dedicated account on github (or any similar website such as sourceforge, gitlab, etc.) would be an extremely valuable resources for researchers as it would provide a unique entry point for any published model. It could even be hosted on the journal website since most repository offers deployment of enterprise edition. The next step in that direction would be to have online repository of virtual machines where model could be directly ran and modified from within a web browser. This is what is currently experienced on the recomputation.org website where the first recomputable experiments from ECAI 2014 have been made available using a combination of downloadable virtual machines (www.virtualbox.org) and vagrant environments (www.vagrantup.com). Of course, such virtual machines solution would prohibit the use of non free software and this could penalize a lot of authors. But such non-free software equally penalizes reviewers and readers, when it is necessary, for example, to buy several 500$ toolboxes to run a single model.

Finally and given the quality of the new tools available today, it may be time to envisage new formats for communicating results. For example, interactive documents could allow to replay a simulation and modify parameters while reading the description of a model or simulation. The IPython notebook is a serious candidate in that direction and could soon become a new way to exchange knowledge. It has been recently highlighted on Nature [START_REF] Shen | Interactive notebooks: Sharing the code[END_REF] and it is already widely used for teaching. Furthermore, interactive books are now available at nbviewer.ipython.org that allow to tweak the parameters of a simulation in order to get a deeper understanding of the concepts being introduced. It is probably a matter of months before no one can tell the difference between a regular document (PDF) and an interactive one living in the browser.

Such new formats would definitely help authors, reviewers, readers and ultimately, Science as a whole. G Input Type Cortical input Description A trial is preceded by a settling period (500ms) and followed by a reset period. At time t = 0, two shapes are presented in cortical cognitive area (I ext = 7 at {i 1 , i 2 }) at two different locations in cortical motor area (I ext = 7 at {j 1 , j 2 }) and the cortical associate area is updated accordingly (I ext = 7 at {i 1 , i 2 } × {j 1 , j 2 }). The activities of the non-cortical groups during a single trial were not provided in the original manuscript. However, we found these activitites to be extremely useful for understanding the dynamic of the model. Knowing the overall shape of the different activities in the model, even without precise details, allows to quickly spot problems. For example, using these acivities, we know what are the bounds for the activities in each area and as soon as one of our activity is out of bounds, we'll know something is wrong.

Timing

Figure 1 :

 1 Figure 1: Architecture of basal ganglia model (left) and partial architecture of action selection model (right). Reproduced with authors permission.

Figure 2 :Figure 3 :

 23 Figure 2: The executable of the original model provides a graphical user interface that allow to re-run the article experiment and allows to tweak different parameters.

  These tools allow to keep track of changes, to know who did what/when, and to test new hypothesis very easily by, for example, creating branches. In the end, one can read the logs to know what were the different steps to build the model or what were the errors. However, such tools are restricted to sources. If your model is based on an external simulation software, you'll dependent on whether the software offers version control or not.

Figure 4 :

 4 Figure 4: Screenshot of the github interface showing a discussion on a pull request (https://github.com/rougier/ Neurosciences/pull/1). Before merging modifications into the model, it is possible to discuss and comment to improve the proposed modification.

Figure 5 :

 5 Figure 5: Activity in the cortical populations (blue for motor, red for cognitive) during a single trial.

Figure 6 :

 6 Figure 6: Screenshot of the IPython notebook implementing the model. Title and abstract are part of the notebook and have been written using markdown cell type.

  Figure7: The activities of the non-cortical groups during a single trial were not provided in the original manuscript. However, we found these activitites to be extremely useful for understanding the dynamic of the model. Knowing the overall shape of the different activities in the model, even without precise details, allows to quickly spot problems. For example, using these acivities, we know what are the bounds for the activities in each area and as soon as one of our activity is out of bounds, we'll know something is wrong.

Table 1 :

 1 A tabular description of the model following the prescription of[START_REF] Nordlie | Towards reproducible descriptions of neuronal network models[END_REF].

			Trial start	Stimulus onset	Stimulus offset	Reset
			-500ms	0	2500 ms	3000 ms
	H Measurements
	Site	Cortical areas
	Data Activity in cognitive and motor cortex
		Cortico-striatal weights
	I Environment
	OS		OSX 10.9 (maverick)
	Language Python 2.7.6 (brew installation)
	Libraries	Numpy 1.8.1 (pip installation)
			SciPy 0.13.3 (pip installation)
			IPython 1.2.1 (pip installation)
			Matplotlib 1.3.0 (pip installation)
			DANA 0.5.1 (pip installation)
	Tools		Safari browser (native)

Author's interview

Ultimately, we were able to reach one of the original author (T. Boraud) in order to talk with him about the model. This took the form of an interview and we had prepared a series of questions to be answered such that we could reproduce the model. This was the final stage of our journey. We finally had enough material to start the reproduction of the model.

Revamped model

Before diving in the redesign of the model, we needed first to gather relevant information into a formal description following guidance of [START_REF] Nordlie | Towards reproducible descriptions of neuronal network models[END_REF] and to redesign figures of the model following rules described in [START_REF] Rougier | Ten simple rules for better figure[END_REF]. All the sources (python scripts and notebooks) are available from https: //github.com/rougier/Neurosciences/tree/master/basal-ganglia/guthrie-et-al-2013.

Description

The complete description of the model (architecture, connectivity and neuron model) is spread throuhghout the whole article in a variety of forms (prose, equations, and figure). This has been identified as a source of problems by [START_REF] Nordlie | Towards reproducible descriptions of neuronal network models[END_REF] and detrimental to the computational neuroscience field. Authors suggests instead good model description practices in order for a model to be reproduced easily. Most notably, they propose a general guideline and checklist for a model description, but also propose templates for tables describing the model. These tables allow both a precise and concise description of the model that are really useful if one wants to reproduce the model or check the actual implementation (provided model sources has been given) of the model. We gathered all available information (article & source) into a tabular description given in appendix A.

Supporting Information