Glenn Cavarlé
email: glenn.cavarle@univ-brest.fr

Alain Plantec
email: alain.plantec@univ-brest.fr

Vincent Ribaud
email: vincent.ribaud@univ-brest.fr

Christophe Touzé
email: christophe.touze@diazol.com

Towards agile cross-platform application development with Smalltalk and Model Driven Engineering

Keywords: cross-platform design, agile development, model driven engineering, smalltalk

Nowadays, general public applications or specific information systems must be able to run on mobile platforms as well as on conventional platforms. Because developers have to deal with mobile platform specificities, this constraint significantly lessen the benefits of agile methods and as a consequence impacts on the application development cost. Many research works aim at reducing the development cost. Prototyping as well as automatic code generation have been investigated by the community. In this article, we present Dali, a framework that uses both Smalltalk and Model Driven Engineering. With Dali, an application model can be designed for multiple platforms and interpreted before code generation. An execution platform is modelled as a set of constraints over a context. These constraints can affect the presentation of the Graphical User-Interface (GUI) but also the overall behaviour of an application.

Introduction

Nowadays, general public applications or specific information systems are often able to run on mobile platforms as well as on conventional platforms.

This recent requirement has impacts on the development model, the tools and the development infrastructure. While the cost of purchasing applications decreases, the cost of development increases.

Many research works aim at reducing the development cost. Prototyping is one solution. It can be used to adjust an application before its development for the target platform. In this context, the right capabilities of Smalltalk regarding agile development and prototyping are recognized. Using Smalltak, a prototype can be early tested. However, we are not aware of a Smalltalk infrastructure able to generically deal with different execution platforms for the same application prototype. Moreover, producing the final application to the target platform may involve a significant cost. To overcome this overhead, Model Driven Engineering (MDE) and automatic code generation are often used : stemming from specific models, all or part of the application is automatically generated for the target platform. Produced applications are validated by running them on the target platform. The advantage of this method is to have a single, standard meta-model for all application variants. However, the development cycle is still expensive because the applications have to be tested and validated after code generation.

In this paper, we propose a development method and a framework called Dali based on Smalltalk for early consideration of different execution platforms. With Dali, an application model can be used for several platforms and interpreted before code generation. An execution platform is modelled as a set of constraints over a context. These constraints can affect the presentation of the Graphical User-Interface (GUI) but also the overall behaviour of an application.

The contributions described in this article are :

-we present the Dali framework and an agile development method for early consideration of different execution platforms ; -we show how an application can be tested before code generation thanks to the interpretation of application models while considering the different execution platforms envisaged for the application.

The remainder of this paper is organized as follows. Chapter 2 explains the problems addressed and existing solutions. Chapter 3 presents our solution called Dali. Chapter 4 presents an illustrative case. Chapter 5 presents Dali meta-models. Chapter 6 explains how Dali is implemented in Pharo. The article ends with relative works and a conclusion.

Problems and state of the Art

Our concern is about developing small applications, especially information systems that can be characterized as follows :

1. development is physically centralized on one site ; 2. implementation needs a small number of developers (between 1 and 3) ; 3. targeted system is not critical, i.e. malfunctioning is not likely to endanger people life or health and does not involve significant financial loss to the development company ; 4. the number of screen views is low (between 10 and 20). These assumptions are in favor of the application of agile methods [START_REF] Daniel | Assumptions underlying agile softwaredevelopment processes[END_REF]. Indeed, according to the manifesto for agile software development [BBB + 09], some fundamental principles of agile methods are :

-the priority is to meet the needs ; the customer is part of the development team and he operates continuously for validation tasks ; -to measure the progress of the project regarding the working system and to deliver frequent releases of the system under development ; -to maintain the simplicity of developments [START_REF] Hickey | Simple made easy[END_REF].

Considering these principles include notably the following practices [TFR05] :

-development granularity is small ; the code is built iteratively and incrementally and iterations are short ; the expected gain is the early detection and correction of malfunctions ; -prototypes are developed and tests performed early in the development cycle in relation to the needs expressed by the user ; verification, validation and prototyping activities can be conducted continuously at each iteration.

These practices are consistent with agile development. However, because of the growing importance of mobile platforms, applications shall be developed for desktops and simultaneously adapted to smartphones and tablets.

The idea is similar to that of usage contexts [START_REF] Thevenin | Plasticity of user interfaces : Framework and research agenda[END_REF] about the execution platform, the user and the environment. For an application, considering numerous possible contexts involves more complex developments and thus a loss of agility.

Parallel versions

To support multi-target platforms, for business with limited resources, one direct solution is to maintain different versions, one for each execution platform. Figure 1 depicts such a solution. For each target platform, a part of the application code is written according to the target platform specific library.

FIGURE 1. Maintaining several versions for the same application

Object-oriented languages can be effectively used to refine abstractions and consider specific contexts such as the features of an execution platform. The solution is to develop a reference version which is then adapted to different platforms envisaged by specialization. Aspect-oriented programming [KLM + 97] can provide additional solutions to adapt an application to different contexts.

However, maintaining multiple parallel versions for multiple execution platforms is a very heavy task and makes the continuous validation and tests very difficult. This kind of method can lead to spaghetti code with very negative impact on the evolutivity and on the maintainability of the application code.

Model-Driven Engineering and code generation

Model-Driven Engineering (MDE) proposes to solve these problems by model transformation and code generation.

As an example, the Model-Driven Architecture (MDA) [START_REF]Model Driven Architecture (MDA)[END_REF] approach aims at developing a set of models, linked by transformations. These transformations allow to start from a Computation Independent Model (CIM) to a Platform Independent Model (PIM) and finally a final Platform Specific Model (PSM). The PSM represents the concrete implementation of the system. MDE helps to limit specific and non-automated developments for each context : stemming from a cohesive set of models, the different versions can be generated.

The MDE improves the development method because a target platform can be modelled separately. As depicted in Figure 2, from an application model (PIM in MDA) together with a specific platform model, a target platform application model (PSM) is produced by model transformation. Then, parts of the code of the application is automatically generated from it.

The main advantage is that the target platform are specifically modelled and that the same application model can be shared for multiple target platforms.

FIGURE 2. The MDE approach

However, depending on the target platform, one must go through a phase of code generation and code compilation before you can execute all or part of the application. These steps are time consuming and the impact of model changes cannot be immediately observed. The causal connection between the models and the generated artefacts is lost because of the code generation step [START_REF] Riehle | The architecture of a uml virtual machine[END_REF]. But, to remain agile, a development method must favour short development cycles. Thus, MDE does not help in limiting the loss of agility.

Emulators

Some development environments provide emulators for target platforms. Emulation relies on the execution of a virtual device supporting the application that will be later deployed. This is, for instance, the solution proposed by the SDK Android [And]. This solution allows to test an application for multiple similar targets without having the physical devices. But, the application execution by the emulator can only occur after the code generation and its compilation. In addition, the application code is specific to one development environment and one kind of emulator. As depicted in Figure 3, this solution implies code generation and deployment steps. In fact, this solution is very similar to the development of parallel versions but with the facility brought by emulators. Because of the code generation step and of the additional deployment steps, the problem of lack of agility is not resolved by emulation. Moreover, emulating can be very slow and time consuming.

FIGURE 3. Emulation approach

Common interpreters

A common interpreter can be used for all target execution platforms. Two solutions are possible. The first is depicted by the top part of Figure 4. The interpreter is a separate tool and the application code is the same whatever the platform. This solution is file based. As an example, a web browser can be used as an interpreter of a Javascript program embedded in an HTML page. As another example, one can use Java and its interpreter. The main advantages are that the application code is reusable and web development and deployment is made easier.

Development environments and dynamic languages [Jod10, RG09] promote agile applications development in a uniform and comprehensive way. The second solution is depicted by the bottom part of Figure 4. The interpreter and the development environment are integrated. This is the case of Smalltalk. This solution is image based. As additional advantages, an image based solution favours short development cycle and direct feedbacks. Indeed, with dynamic languages, the causal connection is preserved because any modification of a model can be immediately observed.

FIGURE 4. Interpretation approach

However, it is necessary to have up-to-date virtual machines for all target platforms. Interpreters can be made available by vendors with specific libraries. This might imply greater difficulties to maintain code reusability. In addition, the use of interpreters can make it difficult the integration of native widgets and more generally using primitive system. Finally, as for emulation, the interpreting process can be time consuming.

Dali solution

To improve the development of applications for different execution platforms while allowing us to have native versions, our solution is blended. We propose to use Smalltalk as a tuning and as a development environment and to use MDE to produce target applications for execution platforms.

Maintaining the causal connection between the models and the executed application can resolve significantly the lack of agility. To maintain it, a solution is to execute an application in and by the development environment.

FIGURE 5. The Dali approach

Figure 5 shows the Dali approach. The first goal is to maximize the agility of the development process by the use of a Smalltalk solution to design, prototype and validate an application for several target platform. With Dali, an application model (the business part) must be associated with a specific platform model to be interpreted. The same application model is used for several platforms.

The deployed application can be the Smalltalk one but it might be desirable to directly benefit from native libraries and from fast running. For that purpose, an MDE approach is used. With Dali, after a tuning process, a native application can be automatically generated from the application model together with the chosen target platform model.

The remainder of this paper presents the Dali solution regarding the design on validation steps in Pharo.

An illustrative example

Let us take for example the display of a contact list in an address book. Figure 6 shows two possible displays for a contact list. The displayed information as well as the beha-viour are different. The left window is adapted to a smartphone and the right window to a desktop computer. On a computer screen, it is possible to view all contact information. On a mobile device, the size is limited. This constraint implies that only the name and the e-mail are presented. A button is added to access the contact details.

FIGURE 6. Two possible displays of a contact list

We do have the same information system but with two different presentations. We also have a behaviour variation because the mobile phone version requires the use of an additional button.

The solution implemented with Dali let us use the same application model and to express the constraints of the mobile phone. Throughout this article, the presentation of the framework will use this example.

The Dali framework

To achieve a satisfactory level of agility in considering specific execution platforms, one solution is to allow the developer to model the various platforms and provide an execution of the application within the development environment. The idea is to converge to a suitable solution before code generation.

The remainder of this section presents the meta-model and the main framework components. We depict features related to the description of business models : specific behaviour, presentation and constraints of execution platforms.

The Dali meta-model

Dali was inspired by self-descriptive object-oriented meta-models such as EMOF [START_REF]Meta object facility[END_REF] and ECore [START_REF] Merks | EMF : Eclipse Modeling Framework 2.0[END_REF], especially for the description of the structural aspects of an object. In fact, as in EMOF and ECore, Dali is based on a Classifier (or Class) concept, on Operation and on Property definitions. Dali is also inspired from Magritte [START_REF] Renggli | Magritte -a meta-driven approach to empower developers and end users[END_REF], from its syntax and from its concept of accessors strategy. Moreover, Dali allows the description of the behaviour and of GUI. Specific requirements related to the target platforms can be used to constrain any Dali description element. The business behaviour is expressed in Smalltalk. A DADescription can be related to a Class in EMOF [START_REF]Meta object facility[END_REF]. A DADescription handles a set of DAProperty and a set of DABehavior. A DADescription is also a composite : it can contain child descriptions.

A DAProperty corresponds to an object instance variable or a Property in EMOF [START_REF]Meta object facility[END_REF]. As a kind of value holder, at runtime, each DAProperty stores the value of the related property. A DAStyle is a special property used to describe graphic features of a DAWidget.

A DABehavior might be a business operation (DAOperation) as in EMOF [START_REF]Meta object facility[END_REF] but also a more specific behaviour such as a reaction (DAReaction), or a binding (DABinding). Figure 8 shows on the left an UML element for a Contact class with a field #name and a method #sendEmail. The role of a DADescription is twofold : on one side, it describes the structure and the behaviour of the related class, on the other side, it is directly used at runtime to manipulate the value of the properties and to invoke the object behaviour. In the center of Figure 8, is depicted how the Contact class is described with Dali with a DADescription instance. The name field is described by a DAProperty instance and the #sendEmail operation is described by a DAOperation instance. On the right, is shown a simulated Contact instance at runtime. The actual name is stored in the related DAProperty. The actual #sendEmail method is invoked through the related DAOperation.

The behaviour

Dali uses Smalltalk to describe business behaviour. Smalltalk was chosen because the business behaviour can be directly interpreted within the development environment and because it let us the possibility to manipulate the abstract syntax tree (AST) in order to translate the business behaviour to other languages. All business behaviours are manipulated by Dali through instances of DAOperation. In fact, a DAOperation references the name af the method which implements the related business behaviour.

DABinding and DAReaction are more specific. They are implemented as Observers [START_REF] Gamma | Design Patterns : Elements of Reusable Object-oriented Software[END_REF] and describe interactions between children of a DADescription.

A DAReaction specifies an association between a DAOperation and an event. For instance, a DAReaction can be used to trigger a DAOperation as a reaction of an incoming event. Such event can be emitted by a DAWidget.

A DABinding binds several instances of DAProperty together by a source / destination relationship (Data Binding) or bidirectional relationship (Two Way Data Binding). When the source is changed, the destination property is automatically updated (and vice versa if the binding is bidirectional). For instance, a DABinding can be used to bind a property of a domain object to a property of a widget.

The widgets

In Dali, widgets and associated layout are kinds of DA-Description. Widgets are described as instances of DAWid-get. Each widget has its own set of styles which impacts on the look of the user interface and its own set of managed events which impacts its behaviour. A composition of widgets is specified by a DALayout which is owned by a DAPanel.

A DAWidget is only a logical description which needs to be tied to a native Smalltalk widget at runtime when the application is interpreted. In order to relate a DAWidget to a Smalltalk widget, a DAAdapter must be specified.

The set of DAWidget are defined according to well known standards such as W3C CSS2 [START_REF] Bos | Cascading style sheets, level 2 (CSS2) specification[END_REF] for the graphical properties (DAStyle) and W3C DOM [HKL + 13] for events (DAEvent). These standards provides the consistency of the API which can cover most of the needs of a GUI description.

The target platforms modeling

In order to consider execution platforms during the application development, we need models to represent them. A DAPlatform describes a particular target execution platform. A DARequirementRepository contains all DARequirement used to constrain an application. A DARequirement consists in a set of conditions that are checked over a target DAPlatform. At runtime, Dali objects structure are set-up according to the related set of DARequirement. A DA-Requirement can have a parent requirement. The parent relation is used by Dali to order requirements evaluation, a parent requirement being evaluated before a child one.

Regarding the illustrative example, for the mobile device, a set of DARequirement is declared to constrain the size of the panel. Moreover, each row is constraint to present a button instead of showing the complete card data. This kind of constraint is also expressed with a DARequirement.

In order to run an application within the development environment, one must declare the actual set of widgets to use (e.g Spec widgets or Morphic widgets). For that purpose, a DAEnvironment is set-up with a set of adapters. The purpose of an adapter is to bind a platform widget with a corresponding DAWidget. An adapter establishes a mediation between a platform widget and a Dali widget. The mediation consists in providing a concrete look but also in interpreting events and the widget behaviour.

The set of DAAdapter is stored within a DAEnvAdaption instance. As an example, a DAEnvAdaption can be specified for Spec widgets [START_REF] Van Ryseghem | Spec : A Framework for the Specification and Reuse of UIs and their Models[END_REF] and another one to bind DA-Widget instances directly to Morphic widgets.

Dali within Pharo

Dali is implemented in Pharo. The idea is to use Pharo as a classical development environment to design and to early validate applications for multiple target execution platforms but with enhanced agile validation capabilities.

After explanations about the fundamental aspects of Dali regarding DADescription implementation, the reminder of this chapter describes how our illustrative example is implemented in Pharo.

Fundamentals

All objects manipulated through Dali are instances of a subclass of DADescription. Then, a model is made of a set of DADescription. It embeds a set of business object descriptions but also the related widget descriptions.

In a Dali description, objects are referenced by a relative identifier (RID). An RID is unique in the scope of a DADescription and for all the DAObject of a same kind : properties, behaviours and descriptions.

A DADescription is made of a list of properties. But, in order to take into account several possible structures and several possible behaviours, the list of properties of a DADescription is not fixed. It depends on the related environment. It means that the actual representation of a concept may differ depending on a given environment.

Each property can be either a data property (e.g. a Contact name) or a behaviour (e.g. the sendMail function). All properties of a DADescription are managed as instances of DA-Property or of DABehavior. It means that a data property is not managed and used through an instance variable but through the corresponding DAProperty instance. It means also that a behaviour is not directly coded within a method and, at run-time, is not invoked by a direct message sent but indirectly through a DABehavior instanddce.

The methods that implement a particular business object behaviour is still implemented as a method of its class (a subclass of DADescription) so that self is preserved at invocation time. Such a method is referenced and indirectly invoked by the corresponding DAOperation.

Configuring an environment

A Dali description structure and behaviour depend on a environment. Thus, an environment must be primarily set-up before instantiating any DADescription. The setting of the environment shown in Figure 12 corresponds to the DAEnvironment used in the illustrative example.

FIGURE 12. Setting and using an environment

An environment associates a platform, some requirements and an adaptation :

platform : A DAPlateform stores characteristics of a particular logical platform. All characteristics are stored into a private dictionary so that any characteristic can be freely defined. In Figure 12, an instance of DA-Plateform is configured to represent a platform with display size characteristics. Regarding our illustrative example, the mobile platform can be described simply by the size of its display. -requirements : A DARequirement consists in the specification of a constraint over the platform characteristics. A DARequirement is named and is configured with a block. The block implements a constraint over the platform. The constraint block receives the current platform as argument and contains a boolean expression. Finally, all requirements are made available to an environment through a DARequirementRepository.

Regarding our example :

-The block of the requirement named #common always returns true, meaning that this requirement is always valid regardless of the platform. Given that the actual list of properties or of behaviours of a DADescription is built by evaluating the requirements, this kind of requirement is used to declare that a property or a behaviour is always present in a description. -The requirement named #smallScreen constrains the size of the display. This requirement is used to select the layout to use and which widgets to display.

adaptation : A DAEnvAdaption specifies which adapters are used. In our example, we use Morphic as the underlying presentation layer. The adaptation is made of a DAMorphTextAdapter which binds DAText and TextMorph, the Morphic class that is used to edit or display text. The last line of Figure 12 shows the instantiation of an application configured for a given platform. The environment to be used by the application is made available thanks to the #withinDo : message sent. The application is actually built in the block passed as argument. Internally, the current environment is made available to the application by using the stack context (thisContext). Because of the requirement #smallScreen, the resulting application is adapted to a small mobile device as shown in the left part of Figure 6.

Declaring a business object

The purpose of our illustrative example is to manipulate a list of contacts. A contact is a business object specified by a subclass of DADescription. As mentioned in Chapter 6.1, business object properties are not handled through instance variables. Indeed, in Figure 13 the instanceV ariableN ames string is empty even if a Contact has properties. In fact, any instance variable can be added for internal or private use. But, the business properties must be declared with the help of dedicated methods.

As an example, the Contact name property is declared by the declareN ame method. The property declaration is based on a specific annotation (pragma in Pharo). This annotation is used by Dali to identify the methods to evaluate in order to build the actual list of properties. The property selection is achieved according to the constraints that are declared for the current environment. Such a method is a kind of factory method that returns a configured DAProperty.

Thus, with the help of its annotation, the declareN ame method declares that the property named #name is added if the requirement named #common is met. As shown in Figure 12, the #common requirement is always met because its constraint block returns true. As a consequence, the #name property is always added to the Contact description whatever the environment. In some cases, using a single requirement in the annotation might lead to duplicate requirement code. For instance, suppose that we want to use the GPS service on a smartphone. A field named location would be required to store the GPS data. As a consequence, for this property, two requirements must be met : the application runs on the small screen device and the GPS service is available. Figure 14 shows how multiple requirements can be declared with the annotation.

At runtime, a property is used as a value holder. In order to get or set the value of a property, accessors must be implemented. Regarding the #name property, we might declare its accessors as shown in Figure 15. Notice that the name of the method is meaningful because it is considered by Dali as the name of the corresponding property. The property instance retrieval is achieved by the thisP roperty message sent.

Declaring a widget

As explained in Chapter 6, a DAWidget is also a DADescription. As a consequence, declaring a widget property and its accessors is achieved with the same syntax as for the business objects. A widget is specified through a subclass of DAWidget.

Figure 16 shows the declaration of the class ContactItem-Panel that is the description of the presentation of a contact in the list of contacts shown in Figure 6. A ContactItemPanel is specified by a subclass of DAPanel which can handle sub-widgets embedded in a layout. As for a property, a sub-widget can be declared by a dedicated method. As shown in Figure 16, the DAText named nameT ext is declared by the declareN ameT ext method. This method is also used to configure the property f ontSize of the DAText instance.

Adding a layout

Figure 17 shows the declaration of a row layout referencing widgets of the ContactItemPanel. The way a layout is declared with Dali is very near from Spec [START_REF] Van Ryseghem | Spec : A Framework for the Specification and Reuse of UIs and their Models[END_REF]. A layout consists simply in a tree of sub-widget references that can be visited without any adaptation and drawing.

Specifying multiple representations

As a solution to multiple representations of the same business object, a Dali description contains all the possible properties regardless of the actual environment. When a description is bound to an environment, the subset of properties that meet the environment requirements is computed. At instantiation time, the two applicant layouts may be selected. Indeed, the #common requirement is always met whatever the platform. Dali resolves this selection issue by using the parent relation between requirements. As shown in Figure 12, the #smallScreen requirement is a child of the #common requirement. As a consequence, it is always evaluated after the #common requirement and then, in the context of a mobile platform, only the mobile layout is selected and actually instantiated.

Adding behaviours

As introduced in Chapter 5.2, a behaviour can be either a DAOperation or a DABinding or a DAReaction. The same declaration syntax is used as for properties, widgets and layouts.

Adding an operation

An operation consists in the declaration of a method to invoke. The name of the method serves as a key to lookup the actual method. Figure 20 shows the declaration of a DAOperation and the associated method. At runtime, this operation invocation results in the #openDetails message sent to the receiver. A binding relies on accessors for the source and the target properties. Figure 22 shows the hierarchy of accessors implemented as a Decorator. An accessor can be straightforward or chained. This feature is borrowed from Magritte [START_REF] Renggli | Magritte -meta-described web application development[END_REF]. The public protocol of a widget consists mainly in implementing its styles and managing events.

Dali is a modelling layer that must be adapted to specific environments for graphic rendering. To remain adaptable to any underlying framework, Dali does not provide its own underlying graphical implementation and widget protocols are not defined according to a specific one (Morphic, Spec,...). Instead, the goal is to rely on normalized protocols. For that purpose, we have chosen to be compliant with two main standards : W3C CSS2 [START_REF] Bos | Cascading style sheets, level 2 (CSS2) specification[END_REF] for styles and W3C DOM [HKL + 13] for events.

Styles

Styles management can be confusing. Each style can be used by several widgets but sharing of styles can not rely on widget hierarchy definition. As an example, button and text are represented in Dali by DAButton and DAText. Their common ancestor is DAWidget. These two widget kinds can manage a text. Then, these widget kinds must implement text styles management. Unfortunately, the text styles management is not available at the level of DAWidget. Thus, we need a clear way to define styles and to allow their sharing independently of the widget hierarchy. For that purpose, as shown in Figure 24, Dali uses traits to declare available styles.

Events

The DOM [HKL + 13] specification define different kind of events that can be fired by graphical elements. Dali provide the DAWidgetEvent hierarchy which is compliant with this specification. To take advantage of announcement mechanism in Pharo, DAWidgetEvent is a subclass of Announcement. Once more, traits are used to make available the event protocols at the widget level. The implementation of an event, in such a trait, is made of two declarations of a DAOperation with their related methods. The first method fires a specific event, the second method declare a reaction between this event and an operation. Figure 26 shows the first one.

Visiting a model

As a development environment, Dali permits early validation of applications through their direct interpretation. But the ultimate goal is to produce an adapted version of an application for a specific execution platform. The primary requirement for such a goal is to be able to visit a description. Moreover, a description model must be visitable even it is not adapted.

To visit a model instance, an environment must be configured as described in Chapter 6.2. This environment represents the target platform. In its current state, Dali allows such visits as presented in Figure 27. This example shows a visit invocation in order to generate a CSS representation. The resulting CSS is shown in Figure 28.

Related Work

AppliDE [START_REF] Quinton | AppliDE : modélisation et génération d'applications pour smartphones[END_REF] is a software framework that is based on Software Product Lines (SPL) [START_REF] Pohl | Software Product Line Engineering : Foundations, Principles and Techniques[END_REF]. SPL lets the user define characteristics diagrams for each products family also called features. AppliDE uses SPL in association with MDE to construct a single model of products family. Features are used to specify the variability between different products. This model is used to automate the derivation of applications for several target platforms. AppliDE describes the behaviour by high-level services (GPS, mailing,...) and manipulates them as features. The business behaviour is implemented at the target execution platform level. The generated code is linked with the business behaviour after code generation. AppliDE uses a static builder for GUI aspects of an application. AppliDE is code generation based. It does not provide any interpreting facility.

CAPucine [START_REF] Parra | Towards Dynamic Software Product Lines : Unifying Design and Runtime Adaptations[END_REF] uses also SPLs but with Aspectoriented programming to consider context variations at runtime. It is based on a variability model to define product families and their variability points. An aspect model is used at design time to generate code and is used at runtime for reconfigure an application according to the events fired within the execution context. CAPucine is also based on code generation. The behaviour is represented at a high abstraction level, as components or services. Compared to AppliDE, CA-Pucine does not include any elements to automate the development of the GUI. SPL features are similar to the Dali notion of requirements. But, the composition of an application is made at high level of abstraction (service level). Whereas, in Dali, a composition of an application is made at the class level.

The works around the plasticity [START_REF] Calvary | Plasticité des interfaces hommemachine : Rétrospective et perspectives[END_REF] and the multimodality [CCT + 03] of GUI take advantage of MDA [START_REF]Model Driven Architecture (MDA)[END_REF] architecture to abstract and generalize concepts without specialize an application directly to some context. But to allows reconfiguration at runtime, the target platforms must include a specific framework. The Comets [CDCD05] approach brings widgets which can react at runtime to adapt their presentation according to the variation of the runtime context. These Comets are implemented in each target plat-form and their models are used at design time to specify GUI composition.

In Dali, a platform is modelled at design time and is made to constrain objects structure. But, Dali does not provide any dynamic reconfiguration mechanism after code generation. Thus, the meta-model is not represented at runtime in the target platform.

Magritte [START_REF] Renggli | Magritte -a meta-driven approach to empower developers and end users[END_REF] is a framework to describe properties of a domain object. The properties description consist in a separate meta-model that can be manipulated apart. It is auto-descriptive. Magritte uses mementos to cache model state and manage model changes as transactions. These mementos can be also used as a kind of value holder.

Dali uses also a meta-model to describe object properties. In Dali, a description is directly used as a business object : its properties serve as value holders and for the invocation of the behaviour. Spec [START_REF] Van Ryseghem | Spec : A Framework for the Specification and Reuse of UIs and their Models[END_REF] is inspired by the VisualWorks UI builder and is implemented in the Pharo environment. It is used to specify and build GUI in Pharo. Spec uses a logical widget model with a specific API and an adaptation layer to bind its widget model to Morphic widgets. The widget composition is implemented with layouts relying on the command pattern. Each layout element exists as a command that is evaluated when the layout is adapted to Morphic. No visiting mechanism is provided for the widget hierarchy.

A part of Dali is dedicated to GUI description. As in Spec, it implements widget composition, layouts and an adaptation layer. Dali widgets are auto-descriptive and can be reconfigured at design time according to platform constraints. Moreover, Dali style and events are compliant with W3C [BLLJ08, HKL + 13].

Conclusion and further work

This paper deals with the problem of agile application development for multiple execution platforms. Nowadays, application vendors must provide multi-platform products. Often, existing desktop applications have to be adapted or rewritten to be compliant with mobile platform. This constraint impacts the cost of application development even with agile technologies. This paper presents a solution named Dali which benefits from Smalltalk together with the Model Driven Engineering to allow multi-platform application design. With Dali, an application can dynamically take into account a platform description and can be interpreted to allow agile design and validation. When the application is mature enough, the idea is to finally generate a native target application.

In its current state, Dali provides a framework that can be used to design desktop as well as mobile simple applications.

The current set of available widgets and related adapters remain to be enriched. A Dali model can be visited. It provides the mean to actually generate target platform code. But, generating a real application remains to be experimented.

At the design level, two perspectives are under consideration. The first one concerns the property definitions that could benefit from Slots [START_REF] Verwaest | Flexible Object Layouts : enabling lightweight language extensions by intercepting slot access[END_REF]. Indeed, a property description is a specific instance variable with particular management rules.

In Dali, target platform description consists in a set of properties. A pragma based mechanism is used to select the actual set of business object properties according to specific environment requirements. The pragma mechanism implies a class based definition of all possible properties. This part of the framework could benefit from an Aspect oriented mechanism. Indeed, the definition of properties available in a given environment could be designed with the help of Aspects. We plan to explore the use of PHANtom [START_REF] Fabry | Phantom : An aspect language for pharo smalltalk[END_REF] for that purpose.

FIGURE 7 .

 7 FIGURE 7. Main classes of the Dali meta-model

FIGURE 8 .

 8 FIGURE 8. Contact class (left), its Dali representation (center) and the simulated instance (right)

FIGURE 9 .

 9 FIGURE 9. Using of a DAReaction

FIGURE 10 .

 10 FIGURE 10. Using of a DABinding

FIGURE 11 .

 11 FIGURE 11. The environment composition

1

  platform := DAPlateform new 2 at: #screenWidth put: 300; 3 at: #screenHeight put: 400; yourself.

  DARequirement new 6 name: #common; 7 constraint: [:plfm | true ]; yourself.

  : #screenWidth) <= 360 and: 14 (plfm at: #screenHeight) <= 480 ]; yourself.

  [ContactListWindow new open ].

FIGURE 13 .

 13 FIGURE 13. Declaring a business object class

  FIGURE 14. Declaring a property with multiple requirements

FIGURE 15 .

 15 FIGURE 15. Declaring a property accessors

1

  FIGURE 16. Declaring a widget class

FIGURE 17 .

 17 FIGURE 17. Adding a layout

FIGURE 18 .FIGURE 19 .

 1819 FIGURE 18. Focus on the presentation of a contact

FIGURE 20 .

 20 FIGURE 20. Declaring an operation

  FIGURE 21. Declaring a binding

FIGURE 22 .

 22 FIGURE 22. Hierarchy of accessors in Dali

  FIGURE 23. Declaring a reaction

1

  DAWidget

FIGURE 24 .FIGURE 25 .

 2425 FIGURE 24. The text and the button widgets sharing the same text style definition

self

  FIGURE 26. DATWithClickEvent trait snippet

1

  FIGURE 27. Exporting CSS from a widget


Jean-François Noël
email: jean-francois.noel@c3ed.uvsq.fr

Jean-Yves Weigel
email: weigeljy@ird.fr

Marine protected areas: from conservation to sustainable development

Keywords: conservation, fisheries, marine protected area, sustainable development, tourism

After a period during which MPAs were instrumentalised as a palliative against the inadequacy of a fisheries management conventional approach, the multi-use character of these areas prevailed, conflicts were pacified by instilling a participative process and a plurality of goals is now fully recognised. Thus MPAs are becoming both a tool and a preferred context for sustainable development in its ecological, economic and social dimensions and applied through a participatory approach that entitles local communities to both create and manage this type of area. This article will discuss the full range of these changes and how MPAs' goals have evolved with time, from a priority granted to conservation to the recognition of a plurality of goals. This article will then examine to what extent the results obtained by MPAs working toward each one of these goals make them valuable examples of areas where the requirements of sustainable development are met.

Introduction

The changes occurring over the last few decades in what are now called marine protected areas (MPAs) provide a good example of how the sustainable development concept has spread to all sectors of the environment and society. Created initially in imitation of the first terrestrial natural reserves with a purely conservationist objective, MPAs quickly became highly diversified, so much so that the concept even then could appear as a catch-all concept, despite a number of inconsistencies. The extremely confining framework imposed upon these areas, which accepted no other use than conservation, often generated conflicts, revealing a plurality of uses which sought to be maintained or continued.

After a period during which MPAs were instrumentalised as a palliative against the inadequacy of the regulated management of conventional fisheries, the multi-use character of these areas prevailed, conflicts were pacified by instilling a participative process and a plurality of goals is now fully recognised. Thus, MPAs are becoming both a tool and a preferred context for sustainable development in its ecological, economic and social dimensions and applied through a participatory approach that entitles local communities to both create and manage this type of area. This article will discuss the full range of these changes. After having outlined and defined the MPA concept, we will see how MPAs' goals have evolved with time, from a priority granted to conservation to recognition of a plurality of goals. We will then examine to what extent the results obtained by MPAs working toward each one of these goals make them valuable examples of areas where the requirements of sustainable development are met.

This article is partly based on a documentary database of more then 4000 references (N' Diaye et al., 2002) and on a pre-summary document relating to a general literature review of marine and coastal protected areas [START_REF] Weigel | Bibliographical Analysis of Marine Protected Areas[END_REF] done within the frame of a European research project focused on the coherence of conservation and development policies for marine protected areas in West Africa, and partly based on the results of an other project focused on a comparative analysis of the societal cost of fishing activities in MPAs and in unprotected areas. 1

The marine protected area as a catch-all concept

Although the term 'marine protected area' (MPA) has been in wide use for only two or three decades, the concept dates back several centuries, because marine zones whose access was prohibited or restricted by local habits or religious beliefs have always existed. Without going back that far in time, one can consider that the first modern MPA (compared with other MPAs, known as traditional MPAs) date from the 1930s, with the creation in 1935 of the Fort Jefferson Reserve in Florida, the first extension to the marine space of a concept which had proven reliable in the terrestrial field since the creation of the Yellowstone National Park in 1872.

Since then, the number of MPAs created has sharply increased, in particular during the 1970s, with a deceleration in the 1990s. However, [START_REF] Kelleher | A Global Representative System of Marine Protected Areas[END_REF] estimated that the number of existing MPAs in the world increased from 118 in 1970 to 1306 in 1995. For the United States only, the inventory carried out within the NOAA in 2003 reports between 1000 and 1500. Although MPAs were first created in developed countries (the United States, Australia, New Zealand and European countries), developing countries also multiplied MPAs thereafter, so much so that currently half of the existing MPAs are in Asia or Oceania, the majority in tropical environments [START_REF] Kelleher | A Global Representative System of Marine Protected Areas[END_REF]. West Africa is not left out of the picture, since the Banc d'Arguin National Park (Mauritania) was created in 1976, the Saloum Delta Biosphere Reserve (Senegal) in 1981 and the Bolama-Bijagos Archipelago Biosphere Reserve (Guinea Bissau) in 1996.

A generic definition

The concept -and the precise term -of MPA appeared on the international scene in 1962, when the IUCN organised the first World Conference on National Parks in Seattle.

Many other terms have prevailed for a long time: [START_REF] Silva | A bibliographical listing of coastal and marine protected areas: a global survey[END_REF] indexed up to 91 different denominations. A number of generic terms can be cited -marine protected area, marine park, biosphere reserve and natural reserve -and for the particular terms implying various use restrictions: fishing prohibition zone, fishing regulation area, fishing reserve, ecological reserve, marine reserve, marine refuge, integral reserve and marine sanctuary. These terms are obviously not entirely equivalent and the vocabulary used depends on the institutional, cultural or linguistic context. However, for several years, the generic term 'marine protected area' has emerged, in particular in the scientific literature [START_REF] Allison | Marine reserves are necessary but not sufficient for marine conservation[END_REF].

As foreshadowed by the high number of MPAs listed under this generic denomination, the term 'marine protected area' can include extremely different concrete situations. Moreover, in the literature, MPA can take on a different meaning depending on the author, primarily because of the differentiated level of protection offered by the various MPA types. Some see MPAs mainly as zones with restricted or prohibited access on which none or few human uses or disturbances are allowed. Conversely, others see them as zones managed to allow an increased use of the ocean. However, all generally accept the definition suggested by the IUCN in 1994: "any area of the intertidal or subtidal terrain, together with its overlying water and associated flora, fauna, historical and cultural features, which has been reserved by law or other effective means to protect part or all of the enclosed environment" [START_REF] Iucn | The World Conservation Union[END_REF][START_REF] Kelleher | Guidelines for Marine Protected Areas, World Commission on Protected Areas[END_REF]. One can note that this oft-used definition, in particular in the literature emanating from international institutions, does not answer the question of the breadth and type of the protection offered by MPAs. "To protect the whole or part of the environment thus delimited" can obviously be interpreted in a more or less restrictive way.

The definition of MPA given in the US in the Marine Protected Areas Executive Order 13158 differs very little: "Any area of the marine environment that has been reserved by Federal, State, territorial, tribal or local laws or regulations to provide lasting protection for part or all of the natural and cultural resources therein" [START_REF] Anon | [END_REF]. If this rather broad definition is followed, a great number of varied sites can be regarded as being MPAs, which is indeed the case in the US where a long series of names can be cited: national marine sanctuaries, fishery management zones, national seashores, national parks, national monuments, critical habitats, national wildlife refuges, national estuarine research reserves, state conservation areas and state reserves.

Other definitions of MPAs or similar concepts are more often founded on zoning within the MPAs, i.e. on the definition of several types of spaces within the same MPA to which graduated specific measures of exclusion or regulation apply. This is the case of the 'biosphere reserves' of the UNESCO's Man and Biosphere (MAB) Programme, which envisages three interdependent zones: a central zone, normally withdrawn from human activities, a buffer zone and a transition zone. The same holds for the Canadian definition of 'national marine conservation areas', a concept used by the specific Canadian law which also stresses zoning: NMCAs "are marine areas managed for a sustainable use. They include sea-bed, the water column and can also include wetlands, estuaries, islands and other coastal lands" (Ministère des Pêches et des Océans, 1999).

If these two types of definition are combined, a currently frequent type of synthetic definition of MPA surfaces, such as the definition suggested by [START_REF] Alban | Contribution à l'analyse économique des aires marines protégées. Application à la rade de Brest et à la mer d'Iroise[END_REF]: "delimited marine spaces to which specific management and conservation measures are applied in order to guarantee a sustainable use of the natural and cultural heritage and inside whose possibly zones of reinforced protection are" or by Guénette et al. (2000a): "Marine Protected Areas (MPAs) refer to management areas in which uses are often regulated by zoning for different activities. MPAs include marine reserves, which are defined as 'no take' areas".

A multiform reality

MPAs can be highly varied in size and form. In the US, for example, small areas such as the Ecological Reserve of Farnsworth Bank in Los Angeles County, California, which covers only 14 acres (5.6 ha) [START_REF] Mcardle | Marine protected areas should be managed with greater integration[END_REF] coexist with large areas such as the National Marine Sanctuary of Monterey Bay, California, which covers 5300 square miles, (13,250 km 2 or 1,325,000 ha). (National Ocean Service, 2000). In general, the size and the goals of an MPA are related: an exclusion zone of a few hectares, for example, aims to protect a particularly remarkable or endangered element of an ecosystem, while a vast marine national park has multiple uses. Since the 1990s, the trend has rather been to create larger but fewer MPAs, evidence of a shift in how the objectives of MPAs are evolving.

Operation and regulation procedures of these spaces also vary substantially from one MPA to another.

MPAs provide various levels of protection and uses. They vary from sectors where public access is prohibited, such as the Lake Crocodile National Refuge of Fauna in Key Largo, Florida (US Fish and Wildlife Service, 2001) or from sites that allow access but not consumption uses, such as the Edmonds Underwater Park in the State of Washington [START_REF] Murray | Effectiveness of marine life refuges on southern California shores. California and the World Ocean '97[END_REF], to sectors where the use of certain specific types of fishing gear are restricted, such as some fishing management areas or to multipurpose protection areas, such as the National Marine Sanctuary of the Keys in Florida (National Ocean Service, 2000).

MPAs also differ in their legal status. Some countries have worked out specific legislation for MPAs -the most notable case is that of Australia. Others have extended the legislation pertaining to terrestrial protected areas such as national parks to the marine field. This may be problematic given the specific characteristics of the marine environment, for example the phenomena related to the marine environment are specific; the permeability of the limits is total, for fish resources as well as for possible pollution; the coastal band concentrates many uses; the marine zones are subject to multiple and often superimposed regulations or administrative qualifications are often very different from terrestrial zones. Others have been based on the legislation relating to fisheries management by added habitat protection legislation as in the case of many MPAs in the United States. 2 Given the wide variety of MPAs, they can be founded on the basis of a national, federal, territorial or local law or by voluntary agreements. This depends, to a large degree, on the country's legal and constitutional system. In the US, a federal country, some MPAs are located only in federal waters, which, most of the time, extend from 3-200 miles from the shore. These MPAs are controlled under the terms of federal laws by federal agencies. Other MPAs are located only in state waters where federal laws and/or laws of the state can apply. Different MPAs can partially overlap. The Marine National Sanctuary of the Channel Islands 3 and the National Park of the Channel Islands share their jurisdiction on certain parts of oceanic waters. Lastly, some MPAs, such as Cod Cape National Shore, in Massachusetts, include both terrestrial and marine components (Bauman et al., 1998). 4 In certain countries such as France, the legal status of each element constituting an MPA -tidal zone, water column, seabeds and marine resources -is different.

Evolving goals

Although they differ in their physical and legal characteristics, MPAs were also established with very different goals in mind. These goals are generally listed in general legal texts on the national status of MPAs or in particular legal texts, drawn up when the MPA was created.

Biscayne National Park is the largest marine park in the American National Parks system, with 95% of its 173,000 acres (approximately 70,000 ha) in the marine environment. This area received this status in 1968 to preserve and protect for education, inspiration, recreation and enjoyment of present and future generations a rare combination of terrestrial, marine and amphibious life in a tropical setting of great natural beauty. In the same way, Title III of the American Law on marine sanctuaries "authorised federal designation of marine sanctuaries for the purposes of preserving or restoring unique marine environments for their conservation, recreational, ecological or esthetic values" (Guénette et al., 2000a).

This plurality of goals has evolved over time. Two periods stand out: 1970Two periods stand out: -1980Two periods stand out: and 1980Two periods stand out: -2007. .

The 1970-1980 period: the primacy of the conservation goal

Before 1980, one can consider that MPAs had three principal goals: conservation, improvement of scientific knowledge and public education.

Conservation

Conservation was the most important objective during this period. With the rise of environmental dangers, protecting areas known as critical habitats, defined as "areas which contain essential species or which have an essential life support function, or which shelter essential ecological processes" [START_REF] Ray | Critical marine habitats: definition, description, criteria and guidelines for identification and management[END_REF] was the main concern. Areas such as coral reefs, mangroves and salt-water plants were identified as critical marine habitats which are, in general, related to critical moments (because the latter are a source of vulnerability) of biological cycles: feeding young, mating, spawning, laying eggs and halts on migratory pathways. Such areas were then classified as MPAs, the objective being to preserve representative samples of their biodiversity, to preserve habitats essential to the maintenance of the biological cycle of some species and to maintain in their present state various environments (estuaries, mangroves, coastal marshes) particularly productive from the biological point of view, by preserving these areas from anthropogenic disturbance.

MPAs can also be created with the objective of protecting a particular species rather than a habitat, also known as essential species [START_REF] Ray | Critical marine habitats: definition, description, criteria and guidelines for identification and management[END_REF], particularly vulnerable and therefore at risk of extinction. Among these species are whales and dolphins or marine turtles. MPAs then were created especially for protecting any species depending on its scarcity, its emblematic or endemic character or its key-species role in ecosystem resilience. Thus, the zone delimited for fishing prohibition located near the Bristol Bay shore off Alaska protects the habitats of the royal crab, an important and valuable resource for this species [START_REF] Anon | [END_REF].

Protection can also be related to cultural resources: the National Refuge of Fauna of the Midway atoll protects not only the habitat of endangered species such as the Hawaiian monk seal and coral reefs but also the historical artifacts dating from the famous battle of the Second World War which took place there (US Fish and Wildlife Service, 2001).

Obviously, the question arises of the dimensions necessary for meeting this conservation objective. During the period 1970-1980, the tendency was in favour of a rather reduced dimension for MPAs whose objective was conservation, for the simple reason that creating reserve status with an objective of protection generally requires a 'no take' type of method, i.e. prohibition of removing any resources, which is highly impractical on a large geographical scale. MPAs meeting this aim will, therefore, tend to be modest in size. This is a pledge of the effectiveness of the 'no take' reserves. Guénette et al. (2000a) cite the case of the Seychelles, where "on coral reefs, even small reserves could be efficient at protecting fish targeted by the fishery".

Another size factor of an MPA whose objective is conservation is ecosystem coherence, which has the opposite effect of the preceding factor, mandating preservation of a quantitatively significant share of an ecosystem or habitat. Here already are the elements of a debate that stirred up the MPA literature in the 1990s, the SLOSS (single large or several small) debate, which sought to determine whether it is better to have only one large MPA or several small MPAs.

In the 1970s, continuing this objective of conservation was, for an MPA, nearly synonymous with sanctuarisation, i.e. prohibition of any human activity, not only of fishing. These areas were designed to protect the area from research and exploitation of other marine resources (hydrocarbons, materials, for example) as well as tourism and recreational activities, even any human intrusion (so-called integral reserves) [START_REF] Menon | A proposal for the establishment of a national marine park in the western Indian Ocean[END_REF].

Generally, during the period 1970-1980, the creation of an MPA necessarily involved prohibiting economic activities inside the MPA, which did not fail to generate conflicts with the aforementioned economic interests. As a report of the Marine Board of the National Research Council (NRC) of the United States (Anon., 1997) states, this type of conflict between economic conservation and interests could be exacerbated "in the future, as the advances in the offshore equipment technology or the changes in the market situation lead to the expansion of coastal populations, marine tourism and recreation and all activities which use or encroach on coastal and marine resources, such as marine fish farming, oil and natural gas drilling at sea, ore exploration and deep water waste dumping. These activities can also conflict with the plans to put sectors such as marine sanctuaries in reserves and to fight against ocean pollution".

Improvement of scientific knowledge

The second central objective during the 1970-1980 period, the improvement of scientific knowledge, appears subordinate to the primary objective of conservation. To properly preserve a marine ecosystem, it is necessary to know how it functions. The creation of an MPA is often the occasion to make a preliminary report on the areas by exhaustively listing the biodiversity of the ecosystem or habitat to be preserved. These listings will, in general, confirm the scientific interest of the MPA.

An MPA can, consequently, become a good place for observation and experimentation because its environment is less disturbed and its limits are clearly defined. For example, it can be used as a pilot, a zone fixed in a certain state of its socioeconomic evolution, usable for comparisons with other zones of the same type but without the same protection. An MPA also makes it possible to more easily observe and determine the local consequences of global change over the medium and long term (for example climate change). An MPA can be a research site, on which the interdisciplinary work of researchers could be done more easily. In fact, MPAs have made it possible to gain better knowledge of the marine environment in general and critical habitats in particular in domains belonging to the fields of biology, ecology, geology, hydrography, etc.

The MPA creation process can also be the occasion to gain better knowledge of the traditional forms of resource use, the local language, the local institutions and policies and, thus, to be better able to include the local communities in the later MPA decision-making processes. This extension of scientific work to the field of social sciences and its transformation in terms of participative governance were rather slow to be set up and in general did not start during this period (Guénette et al., 2000a).

Public education

The objective of public education, present from the very start of MPA creation, can be considered a by-product of the conservation objective. MPAs offer clearly important opportunities for the environmental education of the public, distinguishing the general public and the public made up of local communities close to the MPA.

With regard to the first, MPAs are a very useful teaching instrument given their great diversity. Nevertheless, this goal must not disturb the environment. Consequently, integral reserves, located on uninhabited islands, where visitors cannot land (with the exception of scientists), preclude directly viewing these areas but allow films to be made.

With regard to the public made up of the local communities, whose habits and daily practices are often affected when an MPA conservation is set up, it is during the creation process and later management that a teaching dimension can arise: development of an environmental conscience, changes in certain traditional practices (manatee hunting ceased, for example, in Guinea Bissau) or acquired (prohibition of fishing by explosives or poison in the Philippines), internalisation of the sanctions related to the regulation of the MPA. This educational objective can entail specific educational programmes, for example an education and participation programme implemented by small informal groups on the San Salvador Island MPA in the Philippines, which made it possible to increase the population's "ecological and environmental concepts comprehension score from 68-86% within 14 months" (Guénette et al., 2000a). Pursuing this goal of education toward the local communities was infrequent during the 1970-1980 period.

The 1980-2007 period: from conservation to integrated management, changing prospects

A change in dominant goals

As the objective of conservation had been during the previous period, the objective of fisheries management was now, in general, unanimously recognised as a possible dominant MPA objective. During this second period, depending on concrete cases and the preferences of each author and his or her disciplinary field, either fisheries management or the conservation of the marine ecosystems dominated.

On the other hand, the development of other uses that do not involve removing something from the resource, generally seem to be a secondary objective, subordinated to one or the other of the two main goals. There can also be discordance between the theoretical goals attached officially to the creation of an MPA and those that are concretely advanced at the negotiation stage of an MPA project. In this light, development of tourist activities can be a more effective goal to gain adherence of a local community to an MPA project than an acknowledged aim of restrictive management of the fisheries activity.

The educational objective of MPAs was confirmed in the second period, directed at the public, particularly the schools (Rodriguez-Martinez and Ortiz, 1999). However, it is during this period that the educational objective with respect to local communities was developed.

The literature reports that the effort devoted to research in the MPAs is continuing. For example, in West Africa, research on the characteristics of the ichthyological fauna of the Banc d'Arguin (Sevrin-Reyssac and Richer de Forges, 1985). However, the research tasks were also reorientated toward management goals, which made it possible to solve user conflicts by defining the conditions to maintain or even develop the economic activities in an MPA, without compromising the fundamental objective of conservation. Moreover, if this conservation-respecting development is better accepted by local populations from a social point of view, the conditions of the sustainable development are met. The Great Barrier Reef Marine Park is a good example of this type of management, which resulted in a great deal of scientific research [START_REF] Hundloe | Fisheries of the Great Barrier Reef[END_REF]. This MPA includes approximately 95% of the area of the Great Australian Coral Barrier, which extends over more than 2000 km of coasts and is currently the largest MPA in the world, with approximately 350,000 km 2 [START_REF] Alban | Contribution à l'analyse économique des aires marines protégées. Application à la rade de Brest et à la mer d'Iroise[END_REF][START_REF] Day | Zoning lessons from the Great Barrier Reef Marine Park[END_REF]. It is "a good example of a combination of two integrated approaches involving small highly protected (or 'no take') marine reserves placed within a larger multi-use management area" (Guénette et al., 2000a).

The first plan of the multi-use management goal was accompanied by the development of research in the social sciences, neglected until then compared with biological sciences [START_REF] Pomeroy | Marine Protected Areas: The Social Dimension[END_REF].

Appearance of new goals: toward multiple goals

The results of this research prove that research, conservation and education goals are not incompatible with other uses of the resource, such as fishing, tourism and recreational activities. It suffices to find a management system that allows compromise and compatibility between conservation and development.

This line of thought led to broadening MPAs' goals. Consequently, while continuing to pursue the research, conservation and education goals outlined above, MPAs were recognised during the 1980-2007 period as having other purposes of an economic and recreational nature: the management of fisheries and coastlines and the development of tourism and recreational activities.

Fisheries management

The development of fishing and the protection of fishery resources through MPAs make up one of the most widely discussed topics in the literature, actually an old subject introduced for the first time by [START_REF] Beverton | On the dynamics of exploited fish populations[END_REF] but abandoned thereafter for a management approach based on controlling the fleet and fishing gear [START_REF] Guénette | Marine reserves: from Beverton and Holt to the present[END_REF]. This topic was included in the 1980s but came to the forefront more thoroughly beginning in 1993, with a particularly abundant literature since 1998 [START_REF] Boersma | Limiting abuse: marine protected areas, a limited solution[END_REF][START_REF] Bohnsack | Application of marine reserves to reef fisheries management[END_REF][START_REF] Charles | Issues arising on the interface of MPAs and fisheries management[END_REF]Guénette et al., 2000b;[START_REF] Hall | Closed areas for fisheries management -the case consolidates[END_REF][START_REF] Holland | Marine reserves for fisheries management[END_REF][START_REF] Mangel | No-take areas for sustainability of harvested species and a conservation invariant for marine reserves[END_REF][START_REF] Maury | SHADYS, a GIS based numerical model of fisheries. Example application the study of a marine protected area[END_REF][START_REF] Nowlis | Fisheries benefits and optimal design of marine reserves[END_REF][START_REF] Williams | Do fisheries and marine protected areas need each other?[END_REF].

These publications have shown that the creation of an MPA is now perceived not as being incompatible with fishing but, rather, as a viable alternative to traditional techniques of fisheries management. For this reason, MPAs can protect reproductive stocks and be a source of new economic development for the nearest zones (e.g. larva exports). They also support the repopulation of the adjacent areas through migration of adult individuals (the spillover effect). They have a function in maintaining the natural age structure of the populations. They preserve biodiversity and protect habitats. They, therefore, support the natural life process of marine species. Moreover, MPAs facilitate monitoring and control activities [START_REF] Beckley | Fish, fishers and fisheries[END_REF][START_REF] Dalzell | South Pacific Commission and Forum Fisheries Agency Workshop on the Management of South Pacific Inshore Fisheries[END_REF][START_REF] Rowley | Marine reserves in fisheries management[END_REF]. [START_REF] Smith | Solutions to the "Tragedy of the Commons": sea-urchin management in St Lucia, West Indies[END_REF] estimated that well-managed MPAs can be a solution to the crucial problem of free access to resources, well known as 'Tragedy of the Commons' 5 [START_REF] Hardin | The tragedy of the commons[END_REF].

MPAs can be considered an insurance policy against the failure of other management modes as part of the principle of precaution [START_REF] Jones | Marine nature reserves in Britain: past lessons, current status and future issues[END_REF][START_REF] Lauck | Implementing the precautionary principle in fisheries management through marine reserves[END_REF]. This step implies knowledge of the fishing methods in the MPA or the future MPA, which requires research. MPAs may have an informational advantage compared with conventional fisheries management measures. This advantage has several facets: space-based measurements are easier to understand and, therefore, better accepted from a social point of view [START_REF] Roberts | Effects of marine reserves on adjacent fisheries[END_REF] they require less information [START_REF] Bohnsack | Marine reserves: they enhance fisheries, reduce conflicts and protect resources[END_REF][START_REF] Russ | Do marine reserves export adult fish biomass? Evidence from Apo Island, central Philippine[END_REF] controls and monitoring are simplified and, therefore, better respect the MPA's management principles [START_REF] Roberts | Marine reserves: simple solutions to managing complex fisheries?[END_REF].

However, this remains controversial. It can be said that the necessary information before the creation of an MPA is often insufficient [START_REF] Bohnsack | Application of marine reserves to reef fisheries management[END_REF][START_REF] Hall | Closed areas for fisheries management -the case consolidates[END_REF]. Nevertheless, it can be argued that MPAs, requiring information exceeding the strict field of fishing, provide a broader view than the conventional means of fisheries management. Similarly, in the MPA's operation phases, adaptive management, which proceeds by trial and error, appears more feasible than conventional fisheries management because the information collected takes many forms [START_REF] Roberts | Review of the use of marine fishery reserves in the US Southeastern Atlantic[END_REF].

The possibility of developing other activities, such as marine aquaculture, that would not compromise the objective of MPA conservation was also approached, even if this subject remains poorly developed in the literature.

Coastal management

An MPA policy can comprise one of the major features in a global policy of integrated management of coastal resources (Halim and Morcos, 1995). Some authors go even further with the role of MPAs in the governance of the oceans [START_REF] Costanza | Ecological economics and sustainable governance of the oceans[END_REF][START_REF] Eichbaum | The role of marine protected areas in comprehensive marine governance[END_REF][START_REF] Hanna | Strengthening governance of ocean fishery resources[END_REF][START_REF] Lindholm | Modeling the effects of fishing and implications for the design of marine protected areas: juvenile fish responses to variations in seafloor habitat[END_REF]. However, this objective remains insufficiently developed in the literature.

Within the multiple goal definition of an MPA, when provisions for the marine space zoning intervene and a participative management of local communities is institutionalised, it is true that the process of creating an MPA -through its progression, its characteristics and its results -is very similar to littoral and marine area planning. If its goals are achieved, in the medium term the introduction of an MPA initially requires that the various activities present in the zone evolve and that new ones appear.

However, if it is, indeed, space-based management, it is clear that the specificity of marine space, primarily the fact that portions of that space cannot be enclosed in a very dispersive oceanic medium, limits how effective such planning can be. As in fishery matters, this dispersive nature influences the spatial distribution (inward and outward) of the benefits drawn from the MPA. The external influences, such as diffuse or even accidental pollution, can cause vulnerability likely to challenge the effectiveness of the space's management. The relations the coastal band maintains with its surrounding area (in particular if it harbours industrial activities, intensive agriculture or a large urban community) can cancel out a management process of the littoral as a separate portion of space. However, just as the marine ecosystem is an open system in which no physical barrier can be established, MPAs can in no way form an isolated small island of protection [START_REF] Allison | Marine reserves are necessary but not sufficient for marine conservation[END_REF].

Tourism, eco-tourism and recreational activities

Studies investigating the relationsships between tourism and MPAs have favoured the appearance of the concept of eco-tourism discussed in the literature [START_REF] Agardy | Accommodating ecotourism in multiple use planning of coastal and marine protected areas[END_REF][START_REF] Boyd | Managing ecotourism: an opportunity spectrum approach[END_REF][START_REF] Deheunynck | L'écotourisme dans les aires marines protégées d'Afrique de l'Ouest: bilan et modalités d'une alternative de développement et de politique publique[END_REF][START_REF] Garrod | Monetary valuation as a tool for planning and managing ecotourism[END_REF][START_REF] Gossling | Ecotourism : a means to safeguard biodiversity and ecosystem functions?[END_REF]. Eco-tourism is defined as the subsector of tourism based on environmental protection offering the consumer the direct use of these environmental amenities. It is, primarily, a form of tourism based on viewing and observation, which, in MPAs located in tropical environments, can take the form of scuba diving (in particular on the coral reefs), encounters with marine mammals (whales, orca whales, dolphins, seals), the remote observation of birds, discovery walks or activities of traditional fishing on board traditional boats (such tourist products exist, for example, in the Parc national du Banc d'Arguin ). [START_REF] Gossling | Ecotourism : a means to safeguard biodiversity and ecosystem functions?[END_REF] estimated that eco-tourism is a means of safeguarding the biodiversity and the functions of the ecosystems. For tourism to be ecological, it must be based on the use of environmentally respectful equipment and infrastructures, in particular with regard to tourism (e.g. tourists lodging in nomads' tents in the Parc national du Banc d'Arguin). MPAs are particularly appropriate in the development of this subsector which, in turn, can contribute to the sustainable management of MPAs, in particular by providing substitution activities to the communities.

The evaluation of the effects of MPAs: problems and prospective changes

The substantial development of MPAs in line with the goals that have been detailed above inevitably raises the question of how to evaluate the effectiveness of these MPAs. It is in general very complicated to evaluate the performance of MPAs with respect to their declared goals, which, as we have seen, are numerous and sometimes contradictory (Weigel et al., 2007). Consequently, this evaluation lacks scientific rigour in certain disciplines. However, the effectiveness of an MPA will depend on the overall interaction of diverse factors over different disciplines, such as the biogeophysical features of the MPA, the biological characteristics of the protected species or ecosystems, the socioeconomic factors (the scale of various human activities, conflicts between uses), the selected modes of management (top-down or participative), the legal and institutional framework, etc. Obviously, any evaluation step assumes that a sufficiently extensive database is available.

Methods: from monetary valuations to indicators

The economic valuation is well known and among the most widely used. It is not specific to the field of MPAs and is possible for any non-market element of the environment and the natural capital [START_REF] Garrod | Monetary valuation as a tool for planning and managing ecotourism[END_REF]. It uses specific methods (the contingent valuation method, the travel costs method, the hedonic prices method) relying on the willingness to pay of economic agents, assumed to be a good expression of their preferences, to evaluate monetarily the benefits or the damage received or undergone by these agents. However, these various methods themselves are debatable and the attempts to give a value in monetary terms to non-market benefits (economic value of living resources and environmental services) have often been criticised [START_REF] Dixon | Economic benefits of marine protected areas[END_REF][START_REF] Faucheux | Economie des Ressources Naturelles et de l'Environnement[END_REF].

Other than monetary evaluation, indicators reflecting the changes in the state of the natural environment and the socioeconomic conditions of the concerned communities can also be used. The problem with indicators is not specific to MPAs and an abundant literature devoted to environmental indicators in general has long listed the features necessary for an indicator to be usable in an evaluation process [START_REF] Belfiore | A reference guide on the use of indicators for integrated coastal management[END_REF][START_REF] Ehler | Indicators to measure governance performance in integrated coastal management[END_REF][START_REF] Linton | Biological indicators in the Caribbean coastal zone and their role in integrated coastal management[END_REF].

A list more specifically devoted to the indicators that are usable in evaluating the effectiveness of MPAs was provided by [START_REF] Pomeroy | How is Your MPA Doing ? A Guidebook of Natural and Social Indicators for Evaluating Marine Protected Area Management Effectiveness[END_REF]. The list comprises 44 indicators that have already been used on 11 pilot MPA sites. They include three groups of indicators: environmental indicators, socioeconomic indicators and governance indicators. Generally, environmental indicators are well developed but socioeconomic and governance indicators are somewhat less often treated [START_REF] Bowen | Socio-economic indicators and integrated coastal management[END_REF][START_REF] Garcia | The FAO guidelines for the development and use of indicators for sustainable development of marine capture fisheries and an Australian example of their application[END_REF][START_REF] Hockings | Evaluating Effectiveness: a Framework for Assessing the Management of Protected Areas[END_REF].

Results are difficult to establish

MPAs' ecological effects

The study of the spatial component of ecological benefits (refuge effect, transfer effect) has attracted the attention of research in the literature more than the temporal effect (buffer effect). A study on 100 reserves shows an average growth of 91% in the number of fish, 31% in fish size and 23% in the number of species. However, the results seem to vary considerably with the species, how intensely they are being removed from the environment and how long the MPA has carried out its protective function. To date, the transfer effect seems much more difficult to demonstrate. On the other hand, the cascade effect, a modification of the trophic chains leading to a proliferation of invasive species, in particular predators, can appear and challenge the MPA's capacity to restore the ecosystem to a level identical with a past period.

Effects of MPAs on fisheries

A significant part of the literature evaluating the benefit of MPAs relates to fisheries. It is extremely difficult to prove that fish captures have increased [START_REF] Crowder | Source-sink population dynamics and the problem of siting marine reserves[END_REF]Forgarty et al., 2000;[START_REF] Schmidt | No-take zone Spark fisheries debate[END_REF][START_REF] Shipp | No-take marine protected areas, as a fishery management tool, in a pragmatic perspective[END_REF][START_REF] Willis | Burdens of evidence and the benefits of marine reserves: putting Descartes before des horse?[END_REF]. Only three studies [START_REF] Goodridge | Changes in the shallow reef fishery associated with implementation of a system of fishing priority and marine reserve areas in Soufrière, St. Lucia[END_REF][START_REF] Roberts | Effects of marine reserves on adjacent fisheries[END_REF][START_REF] Russ | Do marine reserves export adult fish biomass? Evidence from Apo Island, central Philippine[END_REF], on a Filipino reserve for the Russ and Alcala study and a reserve in Saint Lucia (in the Caribbean) for the other two, showed an increase in the captures per unit of effort (CPUE) in the adjacent area when there was an MPA. However, cases increasing the fishing effort on the adjacent zones (Gulf of Mexico Fishery Management Council, 1999;[START_REF] Parrish | Marine reserves for fisheries management: why not?[END_REF] or a concentration of fishermen at the borders of an MPA can also be noted [START_REF] Dobrzynski | An evaluation of the short-term social and economic impacts of marine reserves on user groups in Key West[END_REF][START_REF] Hannesson | Marine reserves: what would they accomplish?[END_REF][START_REF] Kelly | The value of spillover fishery for spiny lobster around a marine reserve in Northern New Zealand[END_REF].

The results in terms of fishing management costs also are discussed. If the cost of control appears lower in general in MPAs than in the conventional modes of fisheries management [START_REF] Armstrong | Comment: marine reserves, will they accomplish more with management costs?[END_REF] and some support the opposite claim [START_REF] Parrish | Marine reserves for fisheries management: why not?[END_REF]. Finally, the informational advantage often argued in favour of MPAs also appears ambiguous: in practice, the insufficiency of the data obliterates what appears to be an essentially theoretical advantage.

Effects of MPAs on tourism

Meeting the objective of developing eco-tourism activities is certainly entirely within the range of an MPA, once the validity of this type of objective is recognised. Indeed, the literature abounds with examples showing an increase in tourist numbers following the creation of an MPA which, by an image or mirror effect, increases in value with the influx of tourists and the environmental features most likely to attract them. As for terrestrial natural parks, this powerful attraction is obviously exploited by the professionals of the tourist industry. Thus, the Marine Park of the Great Coral Barrier in Australia has become a must for tourists [START_REF] Kenchington | Tourism development in the Great Barrier Reef Marine Park[END_REF]. The Japanese marine parks increasingly resemble amusement parks. Visitors pass from one to another.

The increase in tourist numbers (generally more sensitive in MPAs in the temperate zones than in the tropical zones, often because the latter have insufficient tourism infrastructures) can turn into a problem of congestion involving the appearance of negative externalities of the tourist activity on the ecosystem. Even eco-tourism activities, a priori non-extractive activities, can have, if they are poorly managed, negative effects on ecosystem health. The impacts of scuba diving, for example, were the subject of many articles: degradation of the coral and fish and marine mammal feeding (Bohnsack, 1998b;[START_REF] Davis | Recreational scuba-diving and carrying capacity in marine protected areas[END_REF][START_REF] Harriot | Recreational diving and its impacts in marine protected areas in Eastern Australia[END_REF][START_REF] Schaeffer | Diver disturbance in kelp forests[END_REF]. Likewise, simply observing animals can stress them [START_REF] Mazaudier | Gestion des activtés d'observation des mammifères marins: quelques études de cas[END_REF][START_REF] Weaver | The evolving concept of ecotourism and its potential impacts[END_REF]. In any assumption, the load capacity of the ecosystem taken in the broad sense, i.e. both biological and social, must be respected by the definition of sustainable tourism 6 within an MPA.

Effects on local communities

MPAs can have negative effects on the neighboring communities or those located in MPAs. These effects can be socioeconomic (negative modifications of fishing or other activities) and, even more often, sociocultural. On the one hand, the economic effects of tourism are often unequally and inequitably distributed [START_REF] Hough | Obstacles to effective management conflicts between national parks and surrounding human communities in developing countries[END_REF]. In addition, the effects of tourism as regards artificialisation of the local culture and dispossession of a way of life are also well known [START_REF] Hoagland | A Methodological Review of Net Benefits Evaluation for Marine Reserves[END_REF][START_REF] Sanchirico | Marine Protected Areas: Economic and Social Implications[END_REF] These impacts of unequal distribution (often immediate costs concentrate on very few losers and future benefits on many dispersed winners) must be accompanied by compensatory measures, by supporting substitution activities if fishing activities are disturbed, for example, or the social acceptability of the MPA might very well be challenged. These compensations also make it possible to come to terms with the temporal discordance between the immediate costs and the future benefits of the MPA. Similarly, these compensation measures can take very diverse concrete forms: monetary compensation -help with reconversion or diversification, in particular in eco-tourism activities construction of infrastructures, in particular ports development of alternate fisheries provision of user rights or territorial exclusivity.

These can be both the means and the object of a negotiation leading to participative management. As the survey carried out by Guénette et al. (2000a) shows, it is only recently that institutions designed to support the expression of the indigenous peoples within MPAs have truly begun to be set up with relative success.

Conclusion

Until 1980, creation of MPAs favoured the goals of conservation, scientific research and education. However, the increasing conflicts between users and wardens and the resulting confrontations did not encourage meeting the goals of MPAs, in particular in terms of conservation, because users and residents generally did not comply with the rules laid down for MPA management. These failures led to a reflection on a change in strategy, so as to better integrate users' concerns into the functions reserved for MPAs.

Beginning in the 1980s, broadening MPAs' goals resulted from the need to integrate human needs into the MPA concept, the only way to resolve conflicts between the MPA and economic activities. In practice, this integration took two forms: MPAs specialising and taking on multiple functions. In the first case, this resulted in creating MPAs reserved for biodiversity and habitat conservation, MPAs for the development of fishing and the protection of maritime resources and MPAs for tourism and education, etc. In the second case, this resulted in either ceasing the presumably incompatible activities while zoning certain areas for conservation and others for economic and recreational activities such as tourism and sport fishing or working out a management system allowing MPAs to ensure the compatibility of all these goals in a single area.

Thus, since the 1980s, the multifunctional nature of MPAs has been taken into account. The reconciliation of the various functions of MPA has been made possible by reorienting research activities, from the initial conservation objective toward the broader management objective of sustainable development. From now on, MPAs are not solely regarded as tools for exclusion but as management tools for economic activities. Their management, which was centralised at the beginning, is now based on the principle of participative governance, a progression that today supports the capacity of developing a plurality of activities within MPAs without compromising their conservation function (Weigel et al., 2007).

Herein lies an essential element for ensuring the sustainable development of the marine coastal zones. The plurality of MPAs' goals, indeed, responds to the triple character of any sustainable development, which must simultaneously be ecological, economic and social.

During this period, creating MPAs continued to be justified by the goals of conservation, research and education but new goals for the management of fishery resources, recreational activities and tourism development, as well as finally planning and integrated management of coastal areas, appeared more and more clearly.

J.-F. Noël and J.-Y. Weigel

is Professor in Environmental and Natural Resources Economics. He is a member of the C3ED, a mixed research unit between IRD (French Research Institute for Development) and UVSQ (Jean-Yves Weigel is a fisheries economist and a Research Director at IRD His publishing credits include thirty-three articles and five edited special issues in refereed journals. He has led many research programmes in West Africa and South East Asia and is presently leading a research programme on the evaluation of the societal cost of fisheries activities and the impact of marine protected areas in Thailand for the C3ED research unit (IRD/Université of Versailles Saint-Quentin en Yvelines).

In the US, to establish an MPA inventory, a collection of elaborated functional criteria was based on the presence of five principal terms appearing in the definition of an MPA given by the executive order: 'area', 'reserve ', 'marine', 'permanent' and 'protection'. 5 Term coined by Garrett Hardin (1968). 6 For the contrary opinion, according to which eco-tourism, like any form of tourism, is not sustainable, see Clarke, 2002.