Mehdi Terdjimi
email: mehdi.terdjimi@liris.cnrs.fr

Multi-level context adaptation in the Web of Things

The Web of Things (WoT) aims at connecting things to applications using web technologies, on top of the Internet of Things. WoT applications are distributed and gather different levels of abstraction. They must be scalable and adapt to dynamic changes in their environment. The question we explore in the scope of my PhD thesis is: how can we deal with context in WoT applications? Our objective is to enable scalable multi-level context-aware adaptation for WoT applications. We intend to build models to describe context and reason about it. First, we have studied related work to identify a set of contextual levels and dimensions and have proposed semantic models suitable for several adaptation tasks in WoT applications. Second, we designed and implemented an architecture that distributes some adaptation tasks onto the client side, to improve reasoning scalability.

Introduction

The Internet of Things (IoT) aims at connecting devices (i.e. sensors and actuators) to the Internet, to share information using various protocols. The Web Of Things (WoT) builds upon the IoT, where connected devices ("things") rely on Web technologies and standards to break through silos and allow interoperability in pervasive applications [START_REF] Guinard | From the internet of things to the web of things: Resource-oriented architecture and best practices[END_REF], e.g. by making use of semantics.

In ubiquitous computing, context highly impacts application behavior and is composed of various pieces of information. Our research question is: how can we deal with context in WoT applications? And subsequently, how can we model context in a generic yet efficient way: on one hand, to harvest contextual data from different sources and build coherent and reliable models? On the other hand, how to actually perform the adaptation process for different purposes, required by WoT applications? To answer these questions, we propose in this thesis the concept of multi-level adaptation.

Context of the work: the ASAWoO project

In our work as part of the ASAWoO project 1 , we propose the concept of avatar to augment and represent physical objects in the virtual world. The avatar of a physical objects exposes its functionalities as RESTful resources. In some cases, some features of the object might be disabled for technical reasons such as physical constraints, or due to security, privacy, or other policies. The decision to make features available or not depends on context. To enable adaptation of connected devices to the changes affecting them, appropriate context modeling is required.

Challenges and motivations

In this work, we aim at using Web standards, such as service sharing protocols (through REST architectural style) and semantic Web technologies (RDF, OWL, SPARQL). The current challenges are:

1. To design generic, semantically-annotated context models for WoT applications, based on the state of the art, to allow context reasoning and adaptation. This will allow interoperability among heterogeneous contextual data sources, such as sensors of the object, external information gathered through Web services and application domain knowledge. 2. To enable multi-level adaptation, as WoT applications cover multiple abstractions, domains and needs. The adaptation would be realized by an appropriate engine, designed in two parts. The first part would be in charge of the extraction of relevant information (depending on the chosen adaptation type). The second part would be the adaptation engine itself. 3. To provide a scalable adaptation engine, in view of the increasing number of heterogeneous connected devices. A modularization of the reasoning steps would allow their distribution between the avatar and its clients. Each step could be executed on the client if its computing resources are sufficient.

In Section 2, we propose a state of the art on context modeling, followed by a state of the art on mobile/client reasoning. We propose in Section 3 a generic, flexible and scalable context model that constitutes our approach. A multi-level semantic adaptation process is presented and evaluated, with a method that locates the reasoning steps between the client and the WoT infrastructure in Section 4. In Section 5, we discuss the results and give the perspectives and future work.

Related work

In this section, we overview related work in the field of context modeling to help us build context models. We also study related work in the domain of mobile reasoning to help us build our adaptation solution.

Context modeling

Former definitions of context are generic and define several dimensions such as Location, Environment, Time, Activity, and User (Schilit and Theimer [START_REF] Schilit | Disseminating active map information to mobile hosts[END_REF], Pascoe [START_REF] Pascoe | Adding generic contextual capabilities to wearable computers[END_REF], Dey [START_REF] Dey | Understanding and using context[END_REF], Schmidt [START_REF] Schmidt | Ubiquitous computing-computing in context[END_REF]). Context models used in IoT applications are close to the former, but adapted to particular needs [START_REF] Perera | Context aware computing for the internet of things: A survey[END_REF]. Some of them focus on physical aspects by using context dimensions related to the presence, the activity and the state of entities (i.e. people and devices) in some location, at a certain time [START_REF] Schilit | The parctab mobile computing system[END_REF][START_REF] Dey | The conference assistant: Combining context-awareness with wearable computing[END_REF][START_REF] Schmidt | Ubiquitous computing-computing in context[END_REF][START_REF] Zimmermann | An operational definition of context[END_REF][START_REF] Coppola | The context-aware browser[END_REF][START_REF] Arias | Context-Based Personalization for Mobile Web Search[END_REF]. Some works use network context to provide efficient routing and disruption-tolerance [START_REF] Gold | Use of context-awareness in mobile peer-to-peer networks[END_REF][START_REF] Mascolo | Mobile computing middleware[END_REF][START_REF] Musolesi | Car: context-aware adaptive routing for delay-tolerant mobile networks[END_REF][START_REF] Wei | Context-aware handover using active network technology[END_REF][START_REF] Raverdy | Efficient context-aware service discovery in multi-protocol pervasive environments[END_REF]. In the field of social computing, context models have been designed for different purposes. To facilitate user interactions with the application [START_REF] Cao | Context-aware query suggestion by mining click-through and session data[END_REF][START_REF] Xiang | Context-aware ranking in web search[END_REF], or to improve organization within multi-agent systems [START_REF] Brézillon | Context in Artificial Intelligence: II. Key elements of contexts[END_REF][START_REF] Brézillon | Contextual knowledge sharing and cooperation in intelligent assistant systems[END_REF][START_REF] Bazire | Understanding context before using it[END_REF][START_REF] Bucur | Representing context in an agent architecture for context-based decision making[END_REF]. There are also works that separate application architecture information and business logic [START_REF] Kirsch-Pinheiro | Representing context for an adaptative awareness mechanism[END_REF][START_REF] Chaari | Adaptation des applications au contexte en utilisant les services web[END_REF][START_REF] Munnelly | An aspect-oriented approach to the modularisation of context[END_REF][START_REF] Gensel | Modèles de contexte pour l'adaptation à l'utilisateur dans des systèmes d'information web collaboratifs[END_REF], or the device and its physical properties [START_REF] Truong | ESCAPE-an adaptive framework for managing and providing context information in emergency situations[END_REF][START_REF] Truong | Incontext: A pervasive and collaborative working environment for emerging team forms[END_REF]. Another popular usage of context is related to content adaptation, which could be media [START_REF] Yu | Supporting context-aware media recommendations for smart phones[END_REF] or, more recently, linked data [?].

The designed context models are specific to the application. But none of them completely rely on the Web, nor perform adaptation on multiple abstraction levels. Thus, as far as we know, there is no multi-level context model for WoT applications.

Mobile reasoning

When it comes to reason about context to perform adaptation, client-side reasoning may be a solution to address scalability concerns that arise with high numbers of simultaneous requests. But even if client processing resources augment at a fast pace, they remain heterogeneous and in some cases, too limited to execute heavy calculation processes. Thus, adaptivity and flexibility depending on the client's resources are necessary.

The following approaches aim at optimizing the reasoning process for resourceconstrained devices. Different ways have been envisioned, from axiom-template rewriting (Kollia and Glimm [START_REF] Kollia | Optimizing sparql query answering over owl ontologies[END_REF]), to the Triple Pattern Fragments approach (TPF) which relies on intelligent clients that query TPF servers to address the problem of scalability and availability of SPARQL endpoints. However, the use of a server is always necessary. Concerning mobile reasoners, some are based on first-order logic (FOL) (KRHyper [START_REF] Sinner | Krhyper-in your pocket[END_REF]), or description logics (DL) (Mine-ME 2.0 [START_REF] Ruta | Minime 2.0: powering the semantic web of things[END_REF], EL+ Embedded Reasoner [START_REF] Grimm | Embedded EL+ reasoning on programmable logic controllers[END_REF]). But KRHyper is not designed for DL, and [START_REF] Ruta | Minime 2.0: powering the semantic web of things[END_REF][START_REF] Grimm | Embedded EL+ reasoning on programmable logic controllers[END_REF] do not provide a web client access. An approach to embed a reasoner in mobile devices is to rely on web standards and run it in a web browser in Javascript. EYE2 is a Node.js3 -compatible reasoner, limited to FOL, which only runs on the server-side. Based on the JSW Toolkit, OWLReasoner4 allows client-side processing of SPARQL queries on OWL 2 EL ontologies. As far as we know, it is the only full-Javascript OWL 2 EL reasoner that can be used offline in a web client, though its SPARQL engine is limited to basic rule assertions.

Our approach is based on the research questions raised in Section 1. First we plan to model each abstraction level based on the dimensions identified in the state of the art. As our context model will be described in an ontology, we consider an abstraction as a context state corresponding to a graph part. An example is depicted in Figure 1. In this example, the question "Which communication protocols can be used?" will be queried on the graph which contains the state (Location: home, Security: Level 1, Time: Evening). In some cases, a dimension has no use in the abstraction (e.g. the Gender in the Communication level). Secondly, we plan to model the context of the WoT application state, in order to provide adaptation of the reasoning task. To do this, we evaluate our implementation in Section 4 to identify which parameters to model. The overall method is: 1) to generate graphs from the context models, 2) to query these graphs in SPARQL, in order to retrieve each possibility given a context state, and 3) to add a rule engine that drives the reasoning process. Each step would be separated, to be deferred in the client side. Thus, we propose in the next Section an implementation to reach these goals.

Implementation and evaluation

We implemented an architecture that allows the modularization of the reasoning steps and client-side code migration. We proposed in [START_REF] Terdjimi | HyLAR: Hybrid Location-Agnostic Reasoning[END_REF] the HyLAR prototype5 (for Hybrid Location-Agnostic Reasoning), which is a lightweight, modular and adaptive architecture developed in Javascript for hybrid client/server side reasoning, based on OWLReasoner. It allows client-side processing of SPARQL queries on OWL 2 EL ontologies, and consists in the separation of JSW modules that perform ontology classification (JSW Classifier), ontology and SPARQL query parsing (JSW Parser) and reasoning (JSW Reasoner) 6 . JSW modules are packaged as Node.js modules and AngularJS7 services. This way, they can be executed on either the server or client. On the client side, the reasoner modules can be embedded either in a regular angular service, or in a web worker. As the main service is totally agnostic about the location of the reasoning modules, security and privacy concerns arise, but these aspects are subject to future work. The goal of the evaluation we propose in [START_REF] Terdjimi | HyLAR: Hybrid Location-Agnostic Reasoning[END_REF] is to identify the parameters affecting the reasoning task's processing time, and to find an optimal configuration. We calculated the overall reasoning process request-response times in three situations: full server-side, full client-side and hybrid (server-side parsing and classification, and client-side query processing). For the latter two variants, client-side parts are evaluated both with and without web worker. We assume that scripts and ontologies are available on the server. Each scenario is evaluated with these initial parameters and tools:

-Ontology sizes: ontology A has 1801 class assertions and 924 object property assertions, and B has 12621 class and no object property assertions) 8 . These datasets are conference keywords gathered from DataConf9 . -Network status: requesting locally or in high latency conditions (around 150ms, using Clumsy 0.210 ). -Client capabilities: a Dell Inspiron (i7-2670QM CPU @ 2.20GHz, which also hosts the Node.js server), a Nokia Lumia 1320 (Snapdragon S4 @ 1700 MHz) and a Samsung Galaxy Note (ARM cortex A9 Dual-Core @ 1,4 GHz).

In Tables 1 and2, [Q] is the time for the client's request to reach the server, [P] is the processing time and [R] is the time for the server response to reach the client. Some parts of these steps/patterns are considered immediate and noted in the result tables as not applicable. 5 Discussion and future directions

Analysis of evaluation results

As expected, Table 2 shows that the server has the best results for the classification processing time and can use caching. Even if the raw ontology is faster to load than the classification results, loading scripts and data on the client is much faster than performing the same classification step on each client. Thus, it makes no sense to migrate heavy calculations onto clients, rather than pre-calculating them on the server and caching results. More generally, for M clients and N queries/client, we calculate each configuration calculation times as follows 11 :

-Full server-side: P 2 server + M × N × (Q3 + P 3 server + R3)

We group network (Q, R) and application (P) statuses as the full process is server-side. -Full client-side: M × (R0 + Q1 + R1) + P 2 client + N × P 3 client Q, R and P fully depend on the client. They are therefore difficult to estimate in comparison to the full-server configuration. -Hybrid: P 2 server + M × (R0 + Q2 + R2) + N × P 3 client Client P estimation is easier as it only concerns the query-answering process. We identify the following parameters affecting the reasoning task: the number of clients (M) and queries per client (N), the network status (Q and R), and the ontology size and computing resources (P).

Lessons learned and future directions

There is no optimal configuration, and choosing a location for each step is a complex task as it is context-dependent. In our evaluation, we identified different parameters that affect processing times. They are crucial for the adaptation process and to respond to our research questions: how can we model the context 1) to allow the inclusion of the context elements needed by the application and 2) to perform the adaptation process for different purposes, specific to WoT applications? Our future work includes taking users' privacy into account, and describing our context model in an ontology. Graphs corresponding to a particular context state would be generated and queried. We plan to reuse an existing adaptation engine that suits our needs for the reasoning process.

Fig. 1 .

 1 Fig. 1. Example illustrating our approach

Fig. 2 .

 2 Fig. 2. OWLReasoner's reasoning steps

Table 1 .

 1 Network delays (in ms)

	Ontologies A / B [R0] [Q1]	[R1]	[Q2]	[R2]	[Q3]	[R3]
	Remote server 334	54 110 / 275 119 / 120 167 / 647 146 / 154 61 / 85
	Ontologies A / B	[P2] (no worker) [P2] (worker) [P3] (no worker) [P3] (worker)
	Inspiron (Chrome)		790 / 27612	764 / 26464	28 / 101	24 / 88
	Lumia (IE)		1989 / 54702	1883 / 53801	156 / 198	144 / 185
	Galaxy Note (Firefox)		2954 / 81255	2872 / 79752	465 / 2988	440 / 2872
	Server (Node.js)		780 / 20972	n/a	35 / 37	n/a

Table 2 .

 2 Classification [P2] and reasoning [P3] times (in ms)

http://liris.cnrs.fr/asawoo/

http://reasoning.restdesc.org/

https://nodejs.org/

https://code.google.com/p/owlreasoner/

The prototype is available at http://dataconf.liris.cnrs.fr/owlReasoner/

Originally, OWLReasoner rewrites the aBox into a relational database and SPARQL queries into SQL queries. This choice is not ours and will not be discussed here.

http://www.angularjs.org

Due to OWLReasoner query engine limitations that does not currently allow querying individuals nor data property assertions, our evaluations are limited to class and object property assertions.

[START_REF] Chaari | Adaptation des applications au contexte en utilisant les services web[END_REF] http://dataconf.liris.cnrs.

fr/ 10 http://jagt.github.io/clumsy/

Server-side classification (performed once and then cached) and client-side calculations (performed in parallel) are only counted once.

Acknowedgment

This work is supported by the French ANR (Agence Nationale de la Recherche) under the grant number <ANR-13-INFR-012>.


Fran De Aquino

Electromagnetic Radiation can affect the Lift Force

Keywords: Lift Force, Aircrafts, Gravitational Mass, Microwave Radiation

Here we show that, under certain circumstances, electromagnetic radiations can strongly reduce the lift force. An aircraft for example, can be shot down when reached by a flux of specific electromagnetic radiation. This discovery can help the aircraft pilots to avoid regions where there are electromagnetic radiations potentially dangerous. Not only the flight of the aircrafts are affected by the electromagnetic radiation, but also the flight of any flying object whose flight depends on the lift force, including birds and flying insects.

The expression of the lift force (L) is given by [START_REF] Anderson | Introduction to Flight[END_REF] ( ) ( )

1 2 2 1 A v C L L ρ =
where is the lift coefficient,

L C ρ is air density, is true airspeed, v
A is the wing area. Equation ( 1) is derived from the Bernoulli equation ( )

m V t Av m ρ ρ = Δ =
, (V is refers to the volume).

The quantization of gravity [START_REF] De Aquino | Mathematical Foundations of the Relativistic Theory of Quantum Gravity[END_REF] showed that the gravitational mass and rest inertial mass are not equivalents, but correlated by means of a factor g m 0 i m χ , which can be reduced and made In addition, it was shown [START_REF] De Aquino | Mathematical Foundations of the Relativistic Theory of Quantum Gravity[END_REF] that the new expressions for the kinetic energy and potential energy are respectively, given by ( ) 2) must be replaced by

0 0 i i g g V m V m ρ χ χ ρ = = =
. Thus, the Eq.

(1) will be rewritten as follows

( ) ( ) ( ) 5 2 0 2 1 2 2 1 A v C A v C L i L g L χρ ρ = =
This is the generalized expression for the lift force (See Fig. 1).

The atmospheric air contains water droplets. Thus, if a region of the Earth's atmosphere is subjected to electromagnetic radiation then, according to Eq. ( 3), the gravitational mass of the water droplets in this region will be reduced. In this particular case, the gravitational mass of the water droplets (gravitational mass of water droplets cloud (WDC)) will be reduced according to the following expression [START_REF] De Aquino | Scattering of Sunlight in Lunar Exosphere Caused by Gravitational Microclusters of Lunar Dust[END_REF]: )

( ) ( ) ( ) ( ) 6 1 1 2 1 2 4 2 0 2 4 4 2 6 2 0 ⎪ ⎭ ⎪ ⎬ ⎫ ⎪ ⎩ ⎪ ⎨ ⎧ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ - + - = = f c D S S
)

% 4 1 = p ( % 96 2 = p ( ) ( ) ( ) 3
air g m ( ) ( ) ( ) ( ) air i air i air g air g V m V m 0 0 ρ χ χ ρ = = =
. According to Eq. ( 5), this affects the intensity of the lift force.

In order to evaluate how much the lift force can be affected, we will start from Eq. [START_REF] Rosen | Encyclopedia of Physics[END_REF].

By substituting the values: ;

( ) 33 . 1 ≅ ≅ water r r n n ( ) (air i wdc i 0 0 ) ρ ρ ≅ ; 3 27 / 10 3 . 1 m molecules n × = , ,
, and c (speed of light) into Eq. ( 6), we get

m m 10 10 55 . 1 - × = φ 2 20 10 88 . 1 m S m - × = ( ) ( ) ( ) ( ) 8 1 10 6 . 7 1 2 1 2 2 0 2 2 10 0 ⎪ ⎭ ⎪ ⎬ ⎫ ⎪ ⎩ ⎪ ⎨ ⎧ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ - × + - = = f D S air i wdc i wdc g ρ ρ ρ χ α
This equation shows that the gravitational density of the water droplets cloud, ( )

ρ ρ ρ ≅ = th ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 9 1 0 0 0 air i wdc i air i wdc g initial air g air g ρ χ ρ χ ρ ρ ρ ρ - ≅ - = - =
Then, the expression of the lift force will be given by

( ) ( ) ( ) ( ) 10 1 2 0 2 1 2 2 1 A v C A v C L air i L air g L ρ χ ρ - = = Note that for 1 > χ
The lift force becomes negative.

According to Eq. ( 8), for 1 > χ , we must have ( ) . This is the focus area of the maser beam, containing the aircraft. Note that this area is sufficient to contain the most known aircrafts. The wings push the air with a force F , and it reacts with a force F L = . Then,

11
( ) ( ) (
)

) ( 2 ) 2 ( 2 2 2 A C A Since v A C ay v Since v A ay A a y A Va V m a m F L F F g g g g g g = ′ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = = = ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ ′ = = ′ = ′ = ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = = = ρ ρ ρ ρ A v C L g F 2 2 ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = ρ Fig. 1 -The Lift Force A v C L g L 2 2 ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = ρ v A v C L g L 2 2 ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = ρ r v ω = Aircraft wings

Helicopter helices

Wings of birds, mosquitoes, etc. already can be produced [START_REF] Oxborrow | Room-temperature Solid-state maser[END_REF]. Note that, if a radiation with a suitable ratio f D hits an airstrip, then none aircraft will able to take-off from this airstrip, because the negative lift force makes impossible the take-off.

Consider for example, an airstrip with area , and nearby the sea level

(
). If it is subjected to an electromagnetic radiation with frequency

2 1000m S ≅ α ( ) 3 0 . 2 . 1 - = m kg air i ρ GHz f 4 . 1 =
, then according to Eq. ( 8), we have This is sufficient to shot down any bird or flying insect that penetrates the house ‡ . This can be very useful in the combat to the mosquitoes, which are responsible by the transmission of several diseases. Now consider the following: nearby of the water surface of the oceans, rivers, lakes, etc., there is a range of water that is rich in air droplets due to the pressure of the atmospheric air, temperature, etc. If an electromagnetic radiation strikes a part of this range, then according to Eq. ( 6), the gravitational mass of the air droplet cloud (adc) existing at this region will be reduced, reducing therefore the gravitational mass, , of the water in this region, and also the water density (

(water g m ) ( ) ( ) V m water g water g / = ρ
).

This affects the lift force (buoyant force, B) at mentioned region, because it is expressed by § ( ) ( )

17 g V B c water g ρ = where
is the volume in contact with the fluid, that is the volume of the submerged part of the body;

is the local gravity acceleration. Then, the expression of the buoyant force is now

( ) ( ) ( ) ( ) ( ) 20 0 0 g V g V B c adc i water i c water g ρ χ ρ ρ - = = Note that for ( ) ( ) 3 . 833 0 0 ≅ > adc i water i ρ ρ χ
the buoyant force becomes negative. Under these conditions, the fishes in the mentioned water range will be subjected to a negative buoyant force, and so they can not stay in this more oxygenated region, and consequently they may even die if the radiation to remain for a long time.

Equation (18) shows that, in order to obtain , recovered with a large water range (a part of ocean, lake, etc). If an electromagnetic radiation with frequency of the order of 1GHz strikes on this region, then, according to Eq. (21), the power density necessary to make negative the buoyant force, in the water range below the surface, is given by Considering that the microwave power density emanating from the Earth's surface at 300K, with frequency of the order of 1GHz is 2 7 / 10 62 . 9 m watts -× [START_REF] Richards | Remote Sensing with Imaging Radar[END_REF]. Then, we can conclude that an increase of few degrees in the temperature of the Earth's surface can make negative the buoyant force in the mentioned water range.

This may already be happening in some regions of the Earth ** , producing the death of hundreds of fishes. In fact, something strange is happening in the world. It was recently announced that hundreds of fishes have been were found dead on the surface of oceans, lakes, etc., and that hundreds of birds fell from the sky and died [8]. It is not cold which was killing the birds and the fish, it is not pollution either. No explanation for these phenomena has been found so far.

** As consequence of the global warming.

  negative, for example by means of absorption or emission of electromagnetic radiation.

  Eqs. (1) and (

  By reducing the gravitational mass of the water droplets cloud inside the air, it is possible reduce the gravitational mass of the air,

  Now consider a maser beam with an initial diameter of 0 φ . If it is directed to an aircraft flying at height h , then the cross-section area of the maser beam at the height (focus area) is given by h

*

  Usual height of most aircraft flights. † Most of laser beams has ;

  This is therefore, the necessary power density at the level of diameter 0 φ of the maser beam, in order to make negative the lift force and shooting down the aircraft.

2 On

 2 Note that the maximum output from a GSM850/900 mobile phone is ~2W at ~1GHz. Thus, the power density nearby the head (~8cm) is greater than 25W/m .

  In order to evaluate how much the buoyant force can be affected, we will start from Eq. (6), replacing (wdc i0 forces caused by moving air keep a oft aircrafts, l as well as birds and flying insects[START_REF] Rosen | Encyclopedia of Physics[END_REF].§ The general expression of the buoyant force (for any fluid) isg V B c f ρ =, where f ρ is the density of the fluid.

  This equation shows that the gravitational density of the air droplets cloud, ( )


Catherine Pascal Enseignante
email: catherine.pascal@u-bordeaux.montaigne.fr

Docteure Qualifiée

Ecosystèmes numérique et démocratie informationnelle

Keywords: Catherine Pascal. ICTS, Information and communication technologies, cultures Engagement, partage, écocitoyenneté, développement durable, gouvernance commitment, sharing, ecocitizenship, sustainable development, governance

come

ICTS, Information and communication technologies, cultures and ecopublic-commitments : for a complex participative responsability with knowledge management in the concrete " glocal " ground : association of ecocitizenship of the Bay of Arcachon

ICTS, Information and communication technologies, cultures and ecopublic-commitments : for a complex participative responsability with knowledge management in the concrete « glocal » ground : association of ecocitizenship of the Bay of Arcachon

In this article, after a state of the readings on networks, base of our methodological frame (definition, qualities social and/or world) as technological media of the innovation, we shall wonder about the stakes and the impacts of these in the alternative strategies of collective intelligence, as community stand. This brings us to invest more profoundly the community innovation in sustainable development, by a concrete ground : association of ecocitizenship of the Bay of Arcachon., Ecocitizens of the Bay of Arcachon, the association integrated into the CEBA, the Coordination Environment Association of the Bay of Arcachon wich account 29 associations of environnemental protection on the Bay of Arcachon.

Our subject is to show from the appropriation of ICTS and new modes of existence of the technical objects that the social innovation is born and diversifies in a intercultural way from complex hybridizations between economic concerns, relations with public authorities and social utility.

Does not this define a new imagination of the innovation and the change where the individual via the groups has a renewed responsibility and which sometimes is to be re-qualified ? L'association a pour but :  se mobiliser pour rétablir l'équilibre entre l'homme et la nature dans le sens de l'amélioration de la qualité de la vie et du respect de l'environnement,  agir pour la protection de la nature et de l environnement,  protéger, conserver et restaurer les espaces, ressources, milieux et habitats naturels, les espèces animales et végétales, la biodiversité et les équilibres fondamentaux écologiques, l'eau, l'air, les sols, les sites, les paysages, les chemins ruraux ...  diffuser les connaissances sur l'état écologique de la planète pour faire face aux crises écologiques, aux dérèglements climatiques tant aux causes qu'aux conséquences,  faire prendre conscience le plus grand nombre sur les impacts de Les adhérents de la CEBA sont exclusivement des personnes morales dont les statuts expriment des convergences avec les buts de l'Association. Depuis l'année 1996 la CEBA développe une importante activité en vue de la coordination des actions associatives relatives à la protection de l'Environnement du Bassin d'Arcachon.

La CEBA est agréée pour la protection de la nature par arrêté préfectoral en date du 29 janvier 1996.

Cet agrément fut renouvelé au plan départemental en date du 23 septembre 2013.

Grâce à une observation participante exercée depuis 3 ans, nous proposons ici, l'analyse du processus soumis à des réflexions prospectivistes autour de l'axe de la participation à la gouvernance d'un territoire, ceci en privilégiant l'approche interculturelle et associative.

L'innovation humaine et technique est sensible : le participatif est prôné et de facto vécu en complexités, en logiques contradictoires et en incertitudes. Si les réseaux sociaux : sites (depuis l'origine 100 000 connections), blogs, page facebook et newsletters permettent la transmission facilitée d'informations, la connaissance et la mise en actions ne sont pas toujours aisées. L'incertitude demeure sur la qualité et la spécificité de la réception et surtout sur la participation an actions terrains. Être contre n'engage pas forcément à coconstruire avec les profanes, les experts, les élus, les financiers... Et de fait, la complexité réside aussi en la gestion des conflits d'intérêts entre le local et le global, le personnel et le groupal, l'association étant coordonné à 28 autres. Organiser la connaissance et faire agir en solidarités demeurent de puissants leviers de changement mais aussi de réels défis pour une responsabilité démocratique renouvelée.

Car en effet, comme nous l'avons souligné, en partie 1, la facilité des connexions en glocalisation apporte aussi des freins en construction de liens. Z. Bauman explicite bien les complexités dues aussi aux échanges connectés.

Cet auteur précise que si les connexions existent, les liens entre hommes sont paradoxalement fragilisés. Z. Bauman explique ceci dans une interview : « Contrairement aux corps solides, les liquides ne peuvent pas conserver leur forme lorsqu'ils sont pressés ou poussés par une force extérieure, aussi mineure soit-elle. Les liens entre leurs particules sont trop faibles pour résister... Et ceci est précisément le trait le plus frappant du type de cohabitation humaine caractéristique de la « modernité liquide.

(…) D'où la métaphore. Les liens humains sont véritablement fragiles et, dans une situation de changement constant, on ne peut pas s'attendre à ce qu'ils demeurent indemnes. Se projeter à long terme est un exercice difficile et peut de surcroît s'avérer périlleux, dès lors que l'on craint que les engagements à long terme ne restreignent sa liberté future de choix. D'où la tendance à se préserver des portes de sortie, à veiller à ce que toutes les attaches que l'on noue soient aisées à dénouer, à ce que tous les engagements soient temporaires, valables seulement « jusqu'à nouvel ordre.

(…) La tendance à substituer la notion de « réseau » à celle de « structure » dans les descriptions des interactions humaines contemporaines traduit parfaitement ce nouvel air du temps. Contrairement aux « structures » de naguère, dont la raison d'être était d'attacher par des noeuds difficiles à dénouer, les réseaux servent autant à déconnecter qu'à connecter... » (Bauman, 2004).

Les défis en guise de perspectives restent à lier la connectivité des échanges informationnels à ce qui sépare et unit les hommes, c'est à dire à partir des acculturations et contradictions créer une conscience participative en se basant aussi sur une écoute non discriminatoire. Nous rejoignons ici les challenges d'une intelligence interculturelle et multidimensionnelle.

CONCLUSION :

Ceci ne définit-il pas un nouvel imaginaire de l'innovation et du changement où l'individu via les groupes a une responsabilité différente, responsabilité à spécifier et à repositionner ?

Si ces innovations horizontales sont vivifiantes pour la démocratie, elles impliquent aussi une compréhension du système et du méta système qui entraîne l'individu à poser par des actes concrets de participation et de coordination une responsabilité complexe et multi dimensionnelle qui l'engage autant au local qu'au global. Un nouvel imaginaire concernant la mise en pratique de la démocratie participative pourra s'incarner alors.

« La conscience de la multidimentionnalité nous conduit à l'idée que toute vision unidimensionnelle, toute vision spécialisée, parcellaire est pauvre. Il faut qu'elle soit reliée aux autres dimensions ; d'où la croyance que l'on peut identifier la complexité à la complétude.

Dans un sens, je dirai que l'aspiration à la complexité porte en elle l'aspiration à la complétude, puisqu'on sait que tout est solidaire et que tout est multi-dimensionnel. Mais dans un autre sens, la conscience de la complexité nous fait comprendre que nous ne pourrons jamais échapper à l'incertitude et que nous ne pourrons jamais avoir un savoir total : la totalité, c'est la non-vérité. » [START_REF] Morin | Introduction à la pensée complexe[END_REF].

  l'activité humaine et enseigner les bonnes pratiques,  créer ou participer dans les conseils de développement durable existants, d'être représentés en tous lieux et auprès de toutes les instances,  soutenir les écocitoyens et associations écologistes et alternatives, faciliter ou initier la coordination de leurs actions et leurs informations,  défendre en justice l ensemble de ses membres et notamment les intérêts matériels et moraux concernant l'objet social de l'association,  définir les orientations favorables à l amélioration de ce contexte nommé développement durable et face aux plans de développement locaux (PADD, PLU, SCOT. ...),  proposer l'organisation de réunions publiques d'information et de coordination et d'en faciliter la mise en oeuvre, Enfin, sans que cette liste soit limitative, l'association agira par tout autre moyen légal sur l ensemble de la commune de son siège social, du Bassin d'Arcachon et du Val de l'Eyre ainsi que sur tout évènement ou décision pouvant avoir un effet sur l environnement de cet arrondissement. » Elle est membre de la CEBA, Association Coordination Environnement du Bassin d'Arcachon (CEBA qui compte 29 associations de protection de l'environnement sur le Bassin d'Arcachon) a pour objectifs : La protection de l'environnement au sens large, c'est-à-dire à dire l'étude, la protection et la restauration des écosystèmes du Bassin d'Arcachon et du Val de l'Eyre et de leurs ressources, en y incluant les zones tant océaniques que terrestres (bassins versants) qui l'entourent. Ce domaine d'activité concerne le patrimoine terrestre et maritime des zones concernées ainsi que les chemins ruraux. Ce domaine peut être étendu aux zones voisines si la protection du Bassin d'Arcachon et du Val de Leyre le nécessite. Pour atteindre ces objectifs, la CEBA :  assure la coordination de toutes formes d'actions visant à faciliter l'élaboration des documents généraux concernant l'unité géographique et maritime Bassin d'Arcachon-Val de l'Eyre et le suivi de leur application (pour exemple : SMVM, PNM, SCOT, SAGE, Natura 2000...) ;  s'efforce de participer à toute instance dont les responsabilités sont liées à ses objectifs et qui concernent l'unité géographique et maritime Bassin d'Arcachon-Val de l'Eyre afin d'y représenter ses membres (pour exemple : Conseil maritime de façade, Commission des cultures marines, CLIS qualité des eaux, Schéma directeur de traitement des vases portuaires, PNM, CSS Smurfit-Dalkia…) ;  met en oeuvre toutes les autres formes d'action qu'elle juge utiles.

  Eco citoyenneté, écosystèmes numériques, gouvernance, territoire, développement durable. Aubertin, C. &Vivien F-D. (dir.) (2006) Le développement durable. Enjeux politiques, économiques et sociaux. Paris, La documentation française

et nouvel imaginaire du changement. Fluidité en engagements et désengagements par les connexions

  TIC, cultures et engagements écocitoyens : pour une responsabilité participative complexe avec gestion des connaissances au « glocal » Terrain concret : associations d'écocitoyenneté du Bassin d'Arcachon. 'appropriation économique via les TIC crée des acculturations (chocs de cultures différentes) entre compétitivité économique stricto sensu, croissance par les investissements et les finances et le champ social (distribution de revenus et participation à la formation) mais aussi entre le champ sociétal (création d'emploi, contribution au développement des différents Etats et dynamisation des collectivités locales) et le champ environnemental en préservant par le développement « durable » ses ressources humaines, écologiques, naturelles, patrimoniales et touristiques. Une démarche de type socio-constructiviste donnant davantage de responsabilités aux acteurs en terme d'élaboration de savoirs et de compétences sur les enjeux de développement, naturel écologique, urbanistique économique et touristique pour notre cas est privilégiée et amène de fait son lot de complexités. Cette réalité stratégique et complexe croise en effet plusieurs impératifs et entraîne des conséquences sous forme d'enjeux alternatifs, le plus souvent mis en tensions par les TIC.

	Catherine PASCAL
	Enseignante et chercheure, Docteure qualifiée 71 e section,
	Université Bordeaux 3 UFR LEA

Cette communication porte sur les possibles en gestion des territoires et plus spécifiquement sur la complexité actuelle du mode de gouvernance des localités. Ceci est le reflet de la société qui forte de son implication par les réseaux numériques a dés lors une demande sociale en participation et en politique publique co-construite, en liens avec les différentes instances décisionnelles du territoire local. Par un terrain concret observé depuis trois ans, seront investis, les écosystèmes numériques et la démocratisation informationnelle comme outils de gouvernance pour les politiques et les stratégies de développement local. Notre approche est transversale : socioéconomique, technologique, anthropologique et philosophique.

Ceci ne définit-il pas un nouvel imaginaire du changement et de la mondialisation techno économique ? Après un état des lectures sur les réseaux, base de notre cadre méthodologique (définition, type, qualités sociaux et/ou mondiaux) en tant que supports technologiques de l'innovation, nous nous interrogerons sur les enjeux et les impacts de ceux-ci dans les stratégies alternatives d'intelligence collective, en tant que prise de position communautaire : Innovation réseaux. Ceci sera notre première partie épistémologique et méthodologique.

Pour notre deuxième partie nous envisagerons d'approfondir la notion de « glocal » : mondialisation vs localisation, ceci au prisme de l'interculturalité et de la responsabilité participative en prenant pour axe d'investigation les chocs de cultures différentes et complexité : problèmes de structuration des systèmes complexes et organisation de la connaissance.

L

Nous travaillerons cela, dans une troisième partie, en décrivant par une observation participante ce cas : Ecocitoyens

du Bassin d'Arcachon : De l'individu engagé au groupe coordonné : processus participatif, enjeux et défis.

  Le cas observé nous permettra d'envisager défis et limites actuels des modèles politiques et citoyens en cours, ceci avec les TIC.Ceci nous a amené à relire les travaux d'E. Morin sur la pensée complexe. En croisant les différentes sciences qui travaillent sur les systèmes : biologie, cybernétique, ingénierie, systémisme, théorie de l'information… il ose poser un regard épistémologique vivant sur des vérités qu'il qualifie de « biodégradables ». Il définit ce qui pourrait être une nouvelle phase de l'évolution urbaine comme : « le processus double par lequel la ville se décharge de sa fonction de production, d'échange et de traitement de l'information en la déplaçant dans le cyberespace, tout en développant, conséquemment, de nouvelles formes d'organisations socio-spatiales au niveau local. »(Galland, 1997).Si ceci est vérifié, dans nos vies de 2015, cette glocalisation amène son lot de complexités, justement en fluidité en engagements et en désengagements par ces mêmes connexions réseaux. Nous préciserons cela, par notre cas étudié. de responsabilités aux acteurs en terme d'élaboration de savoirs et de compétences sur les enjeux de développement, naturel écologique, urbanistique économique et touristique, il demeure cependant une difficulté : celle de l'organisation de la connaissance « multidimentionnelle », si nous reprenons les termes cités par E. Morin. 'est par une démarche d'observation participante que nous allons d'écrire ce cas. Nous prenons pour corpus les données numériques, humaines d'une gouvernance originale prenant pour appui les phénomènes alternatifs et locaux d'une association d'écocitoyenneté du Bassin d'Arcachon, Ecocitoyens du Bassin d'Arcachon, qui décline un processus participatif. Pour résultats de cette observation, nous proposons l'analyse du processus soumis à des réflexions prospectivistes autour de l'axe de la participation à la gouvernance d'un territoire, ceci en privilégiant l'approche interculturelle et associative. Association Ecocitoyens du Bassin d'Arcachon souhaite défendre les valeurs de solidarité et d'écologie. Indépendante de tout parti politique, elle se veut avant tout être le lien entre le citoyen et les pouvoirs décisionnels. Se mobiliser, s'engager, susciter la réflexion... impliquer le citoyen dans le développement durable de sa ville en partageant, échangeant, impulsant des actions concrètes dans une démarche participative pour répondre aux nouveaux enjeux sociaux, culturels, économiques et environnementaux. Elle souhaite mettre en place des lieux de paroles, rencontres, débats ; sensibiliser les élus et les habitants sur des problématiques locales ; soutenir les initiatives locales (Pensez globalement, agir localement).

	Qu'est ce qu'innover ? Et surtout de quelle innovation parle-t-on ? Innovation
	utilitaire ou innovation créative ?
	L'innovation est perçue actuellement comme un remède voire comme une
	prescription miraculeuse pour vaincre tout échec au plan économique ou sous
	tout autre plan. Sous le terme d'innovation sont réunies toutes les idées
	concernant aussi bien la création d'idées et de pratiques nouvelles que leur mise C'est sur cela, que nous portons notre regard : nous discuterons surtout en Ces termes soulignent bien la complexité des échanges entre profanes, experts,
	en pratique ou le réarrangement d'idées et modalités anciennes adaptées. partie 3, lors de l'étude de notre cas observé ce que B. Galland souligne dans élus, investisseurs, financiers, commerçants ou autres mais aussi la réalité d'un
	L'innovation étant perçue soit comme processus ou soit comme catalyseur de changement. Est-ce que des pratiques modifient les comportements ? Par rapport à qui, à quoi ? L'innovation est-elle une démarche, un processus, un résultat. Quels sont les liens entre innovation, créativité et TIC ? Si dans le domaine des TIC et de l'innovation, plusieurs approches se distinguent : des approches constructivistes, par exemple qui insistent sur la appelle pour lui : « une méthodologie à la fois ouverte (qui intègre les anciennes) et spécifique (la description des unités complexes.) » « La théorie suppose et explicite une ontologie, qui non seulement met l'accent sur la relation au détriment de la substance, mais qui aussi met l'accent sur les émergences, les interférences, son article de 1997 : « Un système d'information « global », « universel », favorise justement le local en donnant la possibilité de développer une foule de service de proximité. » (Galland, 1997). modèle de représentation de la connaissance qui opère par sélection de données significatives ou pas par le rejet, la séparation ou la hiérarchisation. E. Morin spécifie à ce propos : « Toute connaissance opère par sélection de données significatives et rejet de données non significatives : sépare (distingue ou disjoint) et unit (associe, identifie) ; hiérarchise (le principal, le secondaire) et centralise (en fonction d'un noyau L'Association Ecocitoyens du Bassin d'Arcachon est une association loi 1901, qui depuis 2010, regroupe 150 adhérents, domiciliée à Andernos, elle assure en missions la sauvegarde et la protection de l'environnement du Bassin d'Arcachon Nord et l'action pour l'aménagement harmonieux et équilibré du territoire et de l'urbanisme. traduction et la créativité des usagers, En effet pour lui la théorie ne se heurte pas aux frontières disciplinaires, elle Voici un extrait de ces statuts :
	« l'
	Nous prenons pour corpus les données numériques et humaines d'une
	gouvernance originale prenant pour appui les phénomènes alternatifs et locaux
	d'une association d'écocitoyenneté du Bassin d'Arcachon, Ecocitoyens du Bassin
	d'Arcachon, association intégrée à la CEBA, Association Coordination
	Environnement du Bassin d'Arcachon qui compte 29 associations de 2015 ou la
	protection de l'environnement sur le Bassin d'Arcachon et qui décline un L'appropriation économique via les TIC crée des acculturations (chocs de question de la voie à créer concernant le grand contournement du Bassin, entre
	processus participatif. Pour résultats de cette observation, nous proposons cultures différentes) entre compétitivité économique stricto sensu, croissance autres…
	l'analyse du processus soumis à des réflexions prospectivistes autour de l'axe de la participation à la gouvernance d'un territoire, ceci en privilégiant l'approche interculturelle et associative. 1. PARTIE ÉPISTÉMOLOGIQUE ET MÉTHODOLOGIQUE : INNOVATION ET NOUVEL IMAGINAIRE DU CHANGEMENT. FLUIDITÉ EN ENGAGEMENTS ET par les investissements et les finances et champ social (distribution de revenus D'où la nécessité de poser une prospective sur comment organiser la et participation à la formation) mais aussi entre champ sociétal (création connaissance, la transmettre au grand public, aux différentes générations d'emploi, contribution au développement des différents Etats et dynamisation lorsqu'on est une association d'environnement incluse elle-même dans une des collectivités locales) et le champ environnemental en préservant par le association qui coordonne autour du Bassin d'Arcachon 29 associations, mais développement « durable » ses ressources humaines, écologiques, naturelles, aussi travailler sur la structuration du réseau humain en conscience de ce qui patrimoniales et touristiques. sépare et de qui unit, pour rependre les termes d'E. Morin sur les systèmes
	DÉSENGAGEMENTS PAR LES CONNEXIONS RÉSEAUX. C'est dans un contexte complexe d'écosystème que se pose notre réflexion. Comment une association d'associations relève le défi du « glocal » en identité communautaire et interculturelle. Nous proposons de partir des concepts sur l'innovation dite horizontale pour appréhender ces enjeux. Cet état de lectures Ces contradictions ou paradoxes complexifient de fait discours, échanges, complexes. Nous allons examiner le cas maintenant d'Ecocitoyens du Bassin A l'origine, le terme de « glocalisation » provient du concept japonais Dochakuka -actions et transmissions de connaissances. Les cultures de profanes et d'experts d'Arcachon, association d'écocitoyenneté du Bassin d'Arcachon, association techniques pour cultiver la terre s'adaptant aux conditions locales -, puis, dans se heurtent aux logiques managériales de l'Etat sur son territoire mais aussi aux intégrée à la CEBA, Association /Coordination Environnement du Bassin les années 1980 ce terme réapparaît pour l'élaboration de modèles de logiques des élus des différentes instances locales, sans parler des logiques d'Arcachon qui compte 29 associations de protection de l'environnement sur le commercialisation avant d'être utilisé dans les années 1990, dans le vocabulaire anglais par le sociologue britannique R. Robertson, de l'Université d'Aberdeen mondiales. Bassin d'Arcachon. Ces associations déclinent un processus participatif.
	sera croisé à une compréhension renouvelée d'Edgar Morin sur les écosystèmes
	complexes.

comme celles déclinées par le Centre de sociologie de l'innovation, par exemple, incarnées par M. Callon et B. Latour. Des approches plus globales sur les relations des Sciences et des mondes politiques et ingéniériques se révèlent aussi, comme les Sciences Studies défendues par D. Pestre. Certains autres pensent que les réseaux dits sociaux révèlent des phénomènes de circulation des connaissances et des phénomènes de vécus en émergence dans notre monde social, tout en s'éloignant largement des territoires des seules institutions scientifiques. Ces phénomènes révèlent une création ou un renouvellement d'une sociabilité. Certains auteurs parlent même et même d'une autre socialité. Par exemple, à la suite des travaux menés par E. Von Hippel, D. Cardon parle d'Internet comme d'une innovation par le bas, l'ascendant, l'horizontal, le dénominateur étant l'usage. Nous nous interrogeons, à la suite de ces chercheurs sur un nouveau paradigme qui se décline sur les réseaux dits sociaux, sous forme d'un mélange entre expertise et action profane mais authentifiée (Schaffer et Mercklé, 2011). Cette sorte d'acculturation serait due aux rôles nouveaux et dés lors consentis entre acteurs, objets et territoire local et global. Ce dernier point constitue l'axe de cet article.

Pour poursuivre cette idée, pour B. Wellman, M. Giulia, B. Hogan, Internet se poserait en technologie car il ne déterminerait pas les comportements sociaux mais solliciterait de telles façons les relations sociales qu'elles réaliseraient, en effet des créations mais sous certaines contraintes. Ainsi Internet, en tant que réseau nous interroge sur ce qu'est une relation, sur ce qu'est le lien social avec l'intermédiaire d'un objet technique. Ceci nous entraîne de fait à une appréciation plus élargie de la sociabilité. Si ces approches ont le mérite de qualifier les relations et interactions suscitées par le réseau social, elles révèlent, de fait représentation, discours et utopies associés. C'est ce que nous questionnerons en dernière partie : comment ces sociabilités renouvellent ou tente de renouveler la pensée ou l'action démocratique. S'agit-il de révolution tranquilles ou d'évolution citoyenne à travailler en responsabilité complexe. comme phénomènes constitutifs de l'objet. Il n'y a pas qu'un réseau formel de relations, il y a des réalités, mais qui ne sont pas des essences, qui ne sont pas d'une seule substance, qui sont composites, produites par les jeux systémiques, mais toutefois douées d'une certaine autonomie. » Cette vision est essentielle car elle permet d'envisager la théorie, la connaissance et les systèmes en constante évolution : Tout progrès important de la connaissance, comme l'a indiqué Kuhn, s'opère nécessairement par la brisure et la rupture des systèmes clos, qui ne possèdent pas en eux l'aptitude au dépassement.

Cette pensée multidimensionnelle nous semble opportune ici, tant la réalité que nous vivons est complexe, locale, globale, cognitive, affective en un mot multidimensionnelle. Ceci nous renvoie aux recherches actuelles de la physique quantique. E. Morin parle d'un discours non totalitaire, théorique mais non doctrinal qu'il qualifie de multidimensionnel à l'opposé d'une théorie enfermée dans le concept. Car pour E. Morin : « (…) le monde n'est jamais emprisonné dans le discours. »

[START_REF] Morin | Introduction à la pensée complexe[END_REF]

Ceci illustre les changements sensibles dans les territoires et visibles sur les réseaux : l'innovation se pose et dessinent un nouvel imaginaire du changement local et global, pour cela, nous avons utilisé le terme de « glocal ». en Ecosse et pour être approfondi plus tard par Z. Bauman. Le sociologue Blaise Galland en 1997, a utilisé le terme de « glocalisation » pour caractériser l'effet des technologies de l'information sur l'aménagement du territoire. 2. CHOCS DE CULTURES DIFFÉRENTES ET COMPLEXITÉ : PROBLÈMES DE STRUCTURATION DES SYSTÈMES COMPLEXES ET ORGANISATION DE LA CONNAISSANCE.

Notre étude porte sur un système complexe : association d'associations qui ne peut s'enfermer dans une forme unique car elle est écosystème inclus dans un méta système. C'est pour cela que nous avons envisagé d'approfondir cette complexité par le prisme des chocs de cultures sensibles dans les réalités complexes visibles au global vs local, ceci dans les actions résultantes de la responsabilité participative.

Si une démarche participative de type socio-constructiviste est sollicitée dans les différents programmes de management territorial comme, par exemple le SRADDT, Schéma régional d'aménagement et de développement durable, donnant davantage de notions maîtresses). Ces opérations, qui utilisent la logique sont en fait commandées par les principes « supralogiques » d'organisation de la pensée ou paradigmes, principes occultes qui gouvernent notre vision du monde sans que nous en ayons conscience. »

[START_REF] Morin | Introduction à la pensée complexe[END_REF]

Ceci permet d'appréhender la complexité des systèmes, des acteurs en jeu qui chacun ont une vision de la réalité différente et parfois contradictoire. Par exemple, pour les associations sur le développement durable et la protection du littoral et de la mer des divergences entre profanes et experts mais aussi entre élus, financiers (promoteurs par exemple) et associatifs mais aussi entre associatifs eux-mêmes existent. Des dossiers concernant SRCE, SCOT, PLU peuvent servir d'exemples ainsi que des problématiques fortes comme les préventions d'incendies cf. prescriptions en matière d'incendie de forêt et préfecture de la Gironde, Saint Jean d'Illac, Pessac, La Teste, Août 3. ECOCITOYENS DU BASSIN D'ARCACHON : DE L'INDIVIDU ENGAGÉ AU GROUPE COORDONNÉ : PROCESSUS PARTICIPATIF, ENJEUX ET DÉFIS.

C


S Pinson

3D MODELING OF SPHERICAL WAVE REFLECTION ON LAYERED MEDIA WITH ROUGH INTERFACES

INTRODUCTION

To perform sediment characterization by acoustics, the seafloor is generally approximated as a stack of layers with flat interfaces. In Ref. 1, the sediment sound-speed profiles have been calculated on real data using the image source method. The data used were acquired by the NURC in 2009 during the CLUTTER09 experiment. A source and a horizontal array of hydrophones were towed by an Autonomous Underwater Vehicle (AUV) 12 m above the seafloor. The source frequency band was 1600-3500 Hz. Sound-speed profiles have been calculated every 5 m over a total distance of 14 km. Results showed strong variabilities from one measurement to another. Among the possible reasons to explain those instabilities, there is a strong suspicion on the interface roughness responsibility. So to evaluate roughness influence on soundspeed profile characterization, it is necessary to model the acoustic response of a layered media with rough interfaces. Also, the model needs to be in 3D because 3D effects might play a significant role.

The literature about roughness scattering is very abundant but existing models are often statistical to assess scattering strength (or scattering cross section) [START_REF] Guillon | Backscattering from buried sediment layers: The equivalent input backscattering strength model[END_REF][START_REF] Ivakin | Models for seafloor roughness and volume scattering[END_REF][START_REF] Ivakin | A unified approach to volume and roughness scattering[END_REF][START_REF] Jackson | A geoacoustic bottom interaction model (GABIM)[END_REF][START_REF] Liu | Coherent reflection of acoustic plane wave from a rough seabed, with a random sediment layer overlying an elastic basement[END_REF][START_REF] Wu | Second-order perturbative solutions for 3-d electromagnetic radiation and propagation in a layered structure with multilayer rough interfaces[END_REF] . For deterministic modeling of a spherical wave reflection on rough interfaces, existing models are generally limited to a single interface (using the Kirchhoff approximation) [START_REF] Pouliquen | Penetration of acoustic waves into rippled sandy seafloors[END_REF][START_REF] Pouliquen | The helmholtz-kirchhoff approach to modeling penetration of acoustic waves into rough seabeds[END_REF] or with a high computational cost (using finite-difference method) [START_REF] Makinde | Numerical modelling of interface scattering of seismic wavefield from a random rough interface in an acoustic medium: comparison between 2d and 3D cases[END_REF] . In Ref. 11 the wave propagation in range dependent media is modeled by combining the ray theory with the Kirchhoff approximation. In this communication, a similar approach is used and the three main approximations are: the tangent-plane approximation, the Born approximation (multiple reflection between interfaces are neglected) and flat-interface approximation for the transmitted waves.

The environmental configuration for the synthetic data is first described in section 2 before detailing the 3D data modeling algorithm in section 3. In section 4 the results of simulated signals are analyzed.

ENVIRONMENTAL CONFIGURATION

The numerical experiment consists in a bistatic configuration with one point source and one receiver 20 m apart and 10 m above the first interface. The source signal has a Gaussian envelope with a 1 kHz central frequency and a bandwidth of 600 Hz. Thus, the pulse duration corresponds to a 4 m length in water that provides a layer thickness resolution of about 2 m. In the time domain, the emitted pulse maximum amplitude is set to 1 at 1 m far from the source. The sampling frequency is set to 12 kHz.

The layered media is modeled by 3 layers which geoacoustic parameters are defined in table 1. In the method described next section, the model geometry is defined by the layer interfaces. Their mean planes are parallel between each other, 120 m wide and 150 m long (figure 1). The spatial sampling used to define the roughness height is set to 2.5 cm.

Interface roughnesses between the layer are generated such that the spacial power spectrum has a "Von Karman" spectrum form [START_REF] Jackson | High-frequency seafloor acoustics[END_REF] :

W 2 (k x , k y ) = w 2 (k 2 x + k 2 y + 1/L 2 ) γ2/2 , (1)
where k x and k y are the horizontal wavenumbers, 2πL is the roughness correlation length, γ 2 the spectral exponent, and w 2 is the spectral strength. Values for L and γ 2 are fixed respectively to 10 m and 3, and the spectral strength is set to w 2 = 3.18×10 -4 . With these parameters, the root mean square (rms) roughness height is ζ rms =14 cm. The rms roughness height ζ rms is given by:

ζ 2 rms = 2πw 2 (γ 2 -2) L -(γ2-2) . (2)
The rms roughness height is smaller than the wavelength at the central frequency (1.5 m in water) but important enough to play a significant role on interface wave reflections.

Layer thickness

Sound speed (m/s) Density (kg/m

3D MODELING OF SPHERICAL WAVE REFLECTION ON LAY-ERED MEDIA WITH ROUGH INTERFACES

It is possible to show that a spherical wave reflection from a source located in r A on a layered media with rough interfaces can be approximated as a sum of integrals over each interface [START_REF] Pinson | Spherical wave reflection on layered media with rough interfaces. I. 3D modeling[END_REF] . Thus, the response at frequency ω and at the coordinate r B is:

P (r B ) = 4πSG 0 (r B , r A ) + L l=1 I Sl (r B ) , (3)
Vol. 37. Pt.1 2015 with,

I Sl (r B ) ≈ -4πS S l R l-1l A(r Sl , r A )A(r B , r Sl ) × ik l-1 u i • n + ik l-1 u r • n × exp iω τ i + τ r - ζu i z + ζu r z c l-1 dr Sl n z , (4)
where:

• S is the source amplitude at frequency ω,

• G 0 (r B , r A ) = e iω|r B -r A |/c0 /4π|r B -r A |,
• l is the layer number starting from 0 (for the water),

• S l is the mean plane of the rough surface S l ,

• dr Sl is the surface element of the mean plane S l ,

• r Sl is a point on the mean plane S l ,

• R l-1l is the local reflection coefficient at the interface l between the layer l -1 and the layer l,

• A(r Sl , r A ) and A(r B , r Sl ) are amplitude factors between the source r A and r Sl , and between r Sl and the hydrophone r B respectively,

• τ i and τ r are the ray travel times from r A to r Sl and from r Sl to r B respectively,

• u i = (u i x , u i y , u i z ) and u r = (u r
x , u r y , u r z ) are the incidence unit vector at r Sl of the rays from r A to r Sl and from r B to r Sl respectively,

• n = (n x , n y , n z ) is the normal to the rough interface,

• ζ is the roughness height at coordinate r Sl ,

• c l-1 is the l -1 layer sound speed.

Equation 4 has a convenient form for numerical evaluation. One can calculate the ray paths, geometric divergence and transmission coefficient through previous interfaces from the source and the receiver to the mean plane, and apply a correction factor in the travel times to include the roughness. All this quantities are frequency independent so that they can be calculated before the integration at a given frequency.

The amplitude factor A(r Sl , r A ) includes the geometric divergence and the down-going transmission coefficients from the source r A to r Sl :

A(r Sl , r A ) ≈ c l J(r A ) c 0 J(r Sl ) 1/2 × q p=1 T p-1p , (5)
where T p-1p is the transmission coefficient between layers p -1 and p, and the Jacobian of the ray is [START_REF] Jensen | Computational ocean acoustics[END_REF] : where θ 0 is the ray incidence angle at the origin r A and ψ 0 is its azimuth at the origin. The calculation of A(r B , r Sl ) is done in the same way with the transmission coefficient T pp-1 between layers p and p -1.

J(r) =
The ray travel times are obtained by:

τ = 1 c(s) ds , (7)
where s is the coordinate along the ray path between r Sl and r A .

To calculate the ray paths, the method described by Langston [START_REF] Langston | The effect of planar dipping structure on source and receiver responses for constant ray parameter[END_REF] is used. It consists in the following steps:

1. send a ray parametrized by the angles θ 0 and ψ 0 from the source or receiver location, 2. calculate its intersection coordinate on next interface, 3. calculate the transmission coefficient and the Snell's ray refraction, 4. iterate 2 and 3 to the last interface, 5. calculate reflection coefficient R l-1l for the ray coming from the source r A .

For a given ray with parameters (θ 0 , ψ 0 ), two other rays have to be sent with parameters (θ 0 + δθ, ψ 0 ) and (θ 0 , ψ 0 + δψ) in order to evaluate numerically the derivatives in the Jacobian (Equation 6). Note that, using Langston's method, interface mean planes do not have to be parallel between each other. In that case, the coordinate system in I Sl must be rotated such that the z axis is normal to the mean plane.

The plane wave reflection coefficient and the transmission coefficient are obtained by [START_REF] Brekhovskikh | Fundamentals of Ocean Acoustics[END_REF] :

R l-1l = ρ l c l |u l •n| -ρ l-1 c l-1 |u l-1 •n| ρ l c l |u l •n| + ρ l-1 c l-1 |u l-1 •np| , T p-1p = 2 ρpcp |up•np| ρpcp |u l •np| + ρp-1cp-1 |up-1•np| , (8)
where |u l-1 • n| and |u l • n| are the cosines of the incidence angle before and after the interface. At this step an issue remains to address. For a given ray parametrized by the angles θ 0 and ψ 0 , one does not master where the ray intersects the interface for which the roughness is predefined on a regular mesh. The figure 2 illustrates the issue. Lines represent many rays sent from the source or receiver to the interface, and the dots represent the regular mesh for which the roughness has been generated. This issue is solved by noticing that quantities related to the mean plane in equation 4 vary smoothly. So one can send many rays to the mean plane and then interpolate all the ray parameters (travel time to the mean plane, incidence unit vector, transmission coefficients and geometric divergence) in equation 4 on the predefined roughness mesh. Then, ζ and n being known, one can apply the travel time correction ζu z /c l-1 due to the roughness and calculate the local reflection coefficient.

The figure 3 illustrates the interpolation for the ray geometric divergence from the receiver on the fourth interface of the configuration described in section 2. In this case, rays are sent to cover the predefined mean plane with a 50 cm sample length in x and y. Ray parameters θ 0 and ψ 0 are calculated to reach that grid as if there were no ray refraction. Of course, due to ray refraction, rays do not reach those points and leak from the grid but it is sufficient to cover the predefined roughness grid and interpolate the values (the boundary of the roughness mesh is displayed by the black rectangle in figure 3).

Source Receiver

Figure 2: Rays sent from the source and the receiver to the interface. Dots represent the regular mesh for which the roughness has been generated.

Figure 3: Geometric divergence of rays sent from the receiver to cover the fourth interface mean plane of the configuration described in section 2. Ray parameters θ 0 and ψ 0 are calculated to reach a grid with a 50 cm sample length in x and y as if there were no ray refraction. Ray intersections with that plane actually do not match with that grid and leak from it because of the refraction. The black rectangle represent the boundary of the predefined roughness grid where ray parameters have to be interpolated.

RESULTS

A signal is first simulated with flat interfaces (figure 4a). One can identify the four reflections of the four interfaces and a weak backscattering after t = 80 ms. The backscattering comes from the diffraction at the interface boundaries. For comparison, another signal is calculated by a numerical evaluation of the Sommerfeld integral, the exact analytical solution of the reflection of a spherical wave on layered media [START_REF] Brekhovskikh | Acoustics of layered media. II : point sources and bounded beams[END_REF] :

P r 0 (r B , r A , ω) =ik π/2-i∞ 0 J 0 (|r B -r A |k sin θ)R(θ, ω) × e ik(z A +z B ) cos θ sin θdθ , (9)
where r = x 2 + y 2 , θ is the angle of incidence, k the wave number and J 0 is the zeroth order Bessel function of the first kind. Because this integral is the result of plane wave decomposition, the term R(θ, ω)

is the plane wave reflection coefficient and can be computed for an arbitrary layering of fluid or elastic media [START_REF] Brekhovskikh | Fundamentals of Ocean Acoustics[END_REF] .

Results from the two models are very similar and the comparison is done on their difference in figure 4b (the vertical scale is exaggerated by a factor of 10 compared to figure 4a). The differences between the two models are mainly explained by the presence of multiple reflections present in the simulation from the Sommerfeld integral simulation. Also it appears that interface echoes themselves (at times t =19, 22, 30 and 41 ms) present some small differences. Note that multiple reflections are very weak in amplitude. Indeed, the order of magnitude of the reflection coefficients from one layer to another is O(0.1) so the order of magnitude of the first multiple reflection is O(10 -3 ).

The results from simulations with rough interfaces is shown in figures 4c and 4d for two different roughness realizations. As for the flat interface case, one can identify the four interface echoes. But in these cases, echo amplitudes are affected by the roughness. The cause of these amplitude variations is probably a focusing/defocusing effect from large scale roughness oscillations. Moreover, one can see the incoherent backscattering between and after the interface echoes. This backscattering is only reliable before t = 80 ms because of the domain boundary diffraction.

CONCLUSION

A 3D model of a wave reflection on layered media with rough interfaces has been developed. The comparison with a simulation using Sommerfeld integral in the case of flat interfaces shows a good agreement. The 3D modeling neglect multiple reflections between interfaces but with low impedance contrasts, those multiples are negligible. In future works, the model will be used to study roughness influence on sound-speed profile measurement when using a source and a linear array of hydrophones.

6

Figure 1 :

 1 Figure 1: Example of a roughness realization for the 4 interfaces. The color scale correspond to the roughness height relative to the interface mean plane (in cm).

Figure 4 :

 4 Figure 4: (a) Simulated signal with flat interfaces. (b) Difference between the simulated signal and the numerical evaluation of the Sommerfeld integral (the vertical scale is exaggerated by a factor of 10). (c) and (d) Simulated signals for two different realizations of the roughness.

Table 1 :

 1 Layered media parameters.

	3 )

Vol. 37. Pt.1 2015

ACKNOWLEDGMENTS

This work is supported by the CAPES (Coordenação de Aperfeiçoamento de Pessoal de Nível Superior from Brazil) through the young talent funding and partially funded by Wavetech company. The authors would like to thank Derek Olson for his help on the rough surface simulation.


Johannes Kanig

Quentin Ochem

Cyrille Comar

Bringing SPARK to C developers

Selecting a language in a safety critical application is often a choice dictated by constraints beyond bare technical merits. Availability of tools or internal resources at the time of decision is often critical. However, once such a choice is made, it is extremely difficult to revert. This is very visible in domain such as avionics or automotive where code bases are sometimes created and maintained over decades. Rewriting software is just not an option. As such, many software teams live with technical choices that can't be questioned, or marginally. This is notably the case in the world of the C programming language. Its defects are well documented and have been known for many years. An entire sector of the tool industry is focused on developing workarounds in the form of code analyzers, coding standards or autotesting tools. Other languages and environments are known to provide results at lower cost. However, the barrier of entry, software rewriting, is often beyond what is industrially acceptable. In this paper, we will discuss one of these alternatives, the SPARK language. We will describe a framework that allows to gain direct benefits from early investment phases and we will discuss supporting tools currently under development.

Introduction

Programming languages are usually designed in terms of how well they can express executable semantics and software architecture. They are seldom designed to optimize behavior regarding specification and verification. This explains how difficult it is for a static analysis tool to analyze a piece of C code without either reporting a lot of false alarms or missing a lot of problems. More modern languages such as Ada tend to exhibit better results -although still not entirely satisfactory. The SPARK language [1] was designed the other way around -with static verification in mind from the beginning. In order to avoid reinventing an entire development environment, it was decided to use the syntax and the executable semantics of an existing language not too far off the overall goal. In this case, the Ada 2012 language. However, all functionalities that were not congruent with static analysis objectives have been removed. This includes in particular so called access types (pointers) and exception handlers. To this foundation, static semantics have been superposed to some of the existing language notations, notably contracts and assertions. A number of additional annotations (pragmas and aspects) came in to complete the picture. With the above in mind, a SPARK program can take advantage of stateoftheart proving technologies (The Why3 program verification platform [START_REF]Why3 verification platform[END_REF], SMTsolvers such as CVC4 [START_REF][END_REF], Altergo [4] and Z3 [5], manual provers such as Isabelle [6] and Coq [7]) and be formally verified regarding various aspects such as data coupling, absence of runtime errors or functional correctness. When formal methods are not usable, dynamic verification can still be used to verify most of the SPARK annotations, through regular testing and assertion checking. Taking full advantage of SPARK however requires making the choice of designing the software with that language very early on. There are various examples in the recent history of teams that have successfully done so, but such opportunities of rewrite are merely an exception. In practice, most developments are done in full Ada or C, and this cannot be changed after years of development, because of the high cost of rewriting existing code. So many projects are stuck with a lessthanideal choice made at the very beginning of the project, which can't be changed. Another problem is that, in projects where a custom processor is used, C is often the only language for which a compiler is provided. There is a solution. In this paper, we describe two ways to make a project adopt SPARK in small steps, getting benefits for all investments. We also propose a solution for the case where only a Ccompiler is available.

Current Situation of Many Projects in the Industry

The default programming language used in the high integrity embedded industry today is and remains the C language. There are many reasons for that C is a relatively simple language, the resulting code is fairly efficient, there is usually no abstraction layer between the code generated from the compiler and the execution hardware, many libraries and offtheshelf components are available, many trained developers can be found on the market place, tools are fairly comprehensive and supported on almost every single hardware platform. In many situations, it's also the default choice, that is a choice that does not get questioned by management. Unfortunately, C is also a language with a large list of very well documented flaws and vulnerabilities [START_REF] Black | Source Code Security Analysis Tool Functional Specification[END_REF]. Various tools and techniques have been developed as an attempt to workaround and get this flaws under control, from language subsets (such as MISRA) to a wealth of static analysis and testing tools. The need to master these tools and techniques however reduce some of the benefits mentioned before (in particular the availability of trained developers). The predominance of C in the current industry is such that it is not reasonable to expect a shift in practice. The size and longevity of existing components is such that rewriting them is not economically feasible. C is and will remain a strong actor no matter what. Interestingly, the same is true for Ada. Many systems developed in the 80' and 90' were done in Ada, the default language for military applications at the time, since it was mandated by the DOD. Although the attractiveness of the technology temporarily decreased at the turn of the millennium, the user base in the A&D domain stayed strong and consistent. This is probably thanks to the same mechanics and trends that it is possible today to find not only a strong Ada toolset and environment, but means to take advantage of it even in the context of a strongly Cbased culture.

Another trend should also be emphasised: multilanguage programming. It's now extremely common to see projects developed using a multitude of different languages. In a single executable, it's not rare to find C linked with C++ or Ada, sometimes interacting with virtual machines running Java, Python or C#. To a software architect, the preexistence of an appropriate component often matters more than the language in which said component is initially developped. Not to mention migration paths, where developers want to migrate from X to Y technology, while keeping legacy components developed in X. In effect, it's common to only migrate new components while still taking advantage of years of previous development.

To summarize, if a different language such SPARK should be adopted, it must be able to interoperate with existing languages, and in particular with the C language.

Short Presentation of SPARK

SPARK is more than a simple programming language it is also a specification language and a verification system. We will explain these aspects here, as they are essential to the understanding of the remainder of the paper.

SPARK the Programming Language

SPARK is a programming language that has been designed from the beginning with safety, maintainability and verifiability in mind. The new starting point was the Ada programming language, from which a number of features have been removed which are considered dangerous in safetycritical programming. The most important features that have been removed are pointers and exception handling. However, a recent major redesign of the language has been based on Ada 2012 [START_REF]Reference manual[END_REF], the latest version of the Ada language, which contains many features that are particularly useful for safetycritiical programming, such as contracts. Ada is a very rich language and SPARK inherits many of the powerful features of Ada. The rich type system allows to specify specify ranges for integer and floatingpoint variables, which is much more precise than simply using the predefined word sizes. Array types are much safer and more powerful. In particular, they do not require the use of pointers, and the length of an array can be queried from it. Common array operations such as initialization, copying, slicing and concatenation are builtin.

SPARK the Specification Language

However, SPARK is more than a programming language, it also includes a powerful and expressive specification language, which allows to specify the behavior of the program. The most common specifications are attached to functions and are able to describe the behavior of the function in great detail:

• The Global specification describes which global variables are accessed by this function, and whether they are read, written, or both. The same property for parameters is already covered by regular Ada syntax. It should be noted that all specification features are completely optional.

SPARK The Verification System

Ada (and SPARK) allows very easy checking of safety properties such as division by zero, arithmetic overflow and buffer overflow, simply by providing runtime checks. For example, for division by zero, before carrying out the division, it is checked that the divisor is different from zero. If not, the program stops and an error is reported. This feature can be enabled or disabled using a compiler switch, and it is already very useful to find silly errors during testing.

In a similar manner, most of the specification features of SPARK can be checked when the program is run, e.g., during testing. For example, pre and postconditions are handled like assertions; with a simple compiler switch, they can be compiled into the binary and will be checked during the run of the program.

In addition to this, the SPARK language comes with verification tools that take a SPARK program with specifications and check it for errors statically (that is, without running the program). There are a number of different individual verifications done by the tool. It checks that:

• All variables are properly initialized before they are used; • Every function only reads and writes the specified global variables and parameters; • No socalled runtime errors such as division by zero, arithmetic overflow or buffer overflow can occur;

• When an function is called, its precondition is true, so that the function is called in a valid state according to its specification; • When a function returns, its postcondition is true so that the function returns in a valid state according to its specification.

When applied fullscale, the verification of SPARK can guarantee that no errors of the above kind appear in the program.

The SPARK toolset is based internally on the Why3 verification platform, and various SMT solvers such as CVC4, AltErgo and Z3.

The remainder of this paper will argue that SPARK is useful even when not used everywhere with full verification, but only one or two aspects of SPARK are integrated into the development process.

A mixed SPARKandC environment

The SPARK language is designed to perform unit verification. In other words, it proves correctness of a subprogram (function) according to its own specification and the one of its dependencies (callees). One can prove a subprogram assuming its precondition, verify that the precondition of its dependencies, assuming that the postcondition of its dependencies holds, and finally proving the postcondition. There are two strong assumptions that need to be verified -the subprogram precondition and the postconditions of the dependencies. In a perfect world, all of those are also verified through formal methods, but this is not a requirement of the language. Traditional testing can also be used as an alternate means of verification.

From a practical point of view, SPARK declarations (ideally with contracts, but this is not strictly required) for all called functions are all that is needed for the SPARK tools to carry out full verification of a given SPARK function. For the called functions, other implementation languages can be chosen, such as C. The SPARK verification results are correct, provided that the other functions correspond to their specification. Several different use cases for this technique are possible. In many projects, legacy C code exists and it would be undesirable to rewrite it; but new developments should happen in some stricter and safer environment such as SPARK. Often, device drivers for some component of the system are written in C. Or maybe only the most safetycritical component of a system shall be written in SPARK, and other components implemented in C. Another approach could be to progressively migrate the logic of the application in SPARK while keeping standard components such as drivers, libraries and OS written in C. For any such use case, using the above technique, it is possible to use SPARK as the implementation language only for the components where this is desired. The full SPARK specification and verification features can still be used on this part of the project.

t y p e d e f s t r u c t { v o i d * * d a t a ; i n t p o i n t e r ; i n t l e n ; i n t c a p a c i t y ; } t _ q u e u e , * p q u e u e ; p q u e u e i n i t _ q u e u e ( i n t c a p a c i t y ) ; v o i d * q u e u e _ p o p ( p q u e u e q ) ; v o i d q u e u e _ e n q u e u e ( p q u e u e q , v o i d * e l t ) ; b o o l q u e u e _ i s _ e m p t y ( p q u e u e q ) ; i n t q u e u e _ l e n g t h ( p q u e u e q ) ; v o i d f r e e _ q u e u e ( p q u e u e q ) ; Fig. 1: The C interface of a simple queue implemented using a ring buffer.

Of course, the verification of the component(s) written in SPARK is only valid if the assumptions on the other components, which have been used to complete the SPARK verification, indeed implement their contract [START_REF] Kanig | Explicit Assumptions A Prenup for Marrying Static and Dynamic Program Verification[END_REF]. As the SPARK tools can only be applied to SPARK programs, other verification methods must be applied. Thanks to executable contracts, at least the contracts specified at the boundary between the SPARK and C code can be very easily verified using testing. Overall, this approach provides a very pragmatic path to migration with quick return on investment. As soon as one subprogram is converted, migrated and proven correct, the overall safety of the application gets improved.

SPARK as a language for C specification

But the SPARK language can be useful even when the verification features and the programming language are not used. Verification is always done according to a specification, and the C language is very weak at expressing specifications. As such, and as we have shown in the previous section, the SPARK language has a specification semantics much richer than most programming languages, in particular compared to C. This includes some wellknown Ada features (strong typing, parameter modes…) Ada 2012 additions (pre/post conditions, quantifiers…) and SPARK complements (data coupling, states…). So one may want to use the SPARK specification language to specify C programs. This sounds like a surprising idea at first, but it is entirely possible and useful, as we will show in this section. We will also show an example of this use case at work. t y p e d a t a _ a r r i s a r r a y ( i n t r a n g e < > ) o f A d d r e s s ; s u b t y p e d a t a _ a r r _ c o n s t r i s d a t a _ a r r ( i n t r a n g e 0 . . i n t ' l a s t ) ; t y p e d a t a _ a r r _ a c c e s s i s a c c e s s d a t a _ a r r _ c o n s t r ; t y p e t _ q u e u e i s r e c o r d d a t a : d a t a _ a r r _ a c c e s s ; p o i n t e r : a l i a s e d i n t ; l e n : a l i a s e d i n t ; c a p a c i t y : a l i a s e d i n t ; e n d r e c o r d ; t y p e p q u e u e i s a c c e s s a l l t _ q u e u e ; f u n c t i o n I s _ E m p t y ( Q : p q u e u e ) r e t u r n B o o l e a n i s ( Q . l e n = 0 ) ; f u n c t i o n T o _ A r r ( Q : p q u e u e ) r e t u r n d a t a _ a r r i s ( i f Q . p o i n t e r + Q . l e n < = Q . c a p a c i t f u n c t i o n i n i t _ q u e u e ( c a p : i n t ) r e t u r n p q u e u e w i t h P o s t = > I s _ E m p t y ( i n i t _ q u e u e ' R e s u l t ) a n d i n i t _ q u e u e ' R e s u l t . C a p a c i t y = c a p ; The key idea is add a SPARK wrapper to a C function, with identical parameter profile, and redirect all calls to this C function in the program to call the wrapper instead. If the wrapper has SPARK contracts such as Pre and Postconditions, these contracts get dynamically checked on every call. If the contracts are complete (i.e. capture most if not all of the requirements), this provides a great way to check the requirements of the software during testing in a very explicit yet convenient way.

In fact, much of the mechanical part of this outlined procedure can be automated: the fdumpadaspec option of gcc [START_REF] Briot | Generating Ada Bindings for C Headers[END_REF] can be used to generate a SPARK wrapper function with an identical parameter list, and the usage of Import and Export pragmas can achieve the rerouting of the calls. Compiling and linking everything together, and enabling assertions when the SPARKpart is compiled, will achieve the desired contract checking.

The idea here is to use C as the language for implementation, and SPARK as the language for specification. Said otherwise, in this mode we only use the "specification language" aspect of SPARK.

Of course, in this case, it is not possible to formally verify a C implementation against a SPARK specification, although the integration with some existing C verification techniques relying on similar technologies (integrated with Why3) could be envisioned at some point. What we are focussing on here is the executable semantics of SPARK specification, which can be checked at runtime. In other words, in this mode, it is possible to compile a hybrid C/SPARK application, and activate specification verification during execution. This can have various benefits. One is during unit tests, to identify inconsistent calls or invariant breaches early on. It is also a great way to strengthen stubbing and verify that stubs are called with the same constraints as actual code, thus reducing the number of software to software integration errors.

If carefully placed, it can also be kept in final deployment, as a way to protect a component from misuse. The executable specification then acts as a barrier to users, making sure that invariants and assumptions are respected at run time. That is also a nice place to exhibit all the verification code that would otherwise end up being developed as defensive code. One direct application of that can be to contribute to the argumentation of Freedom From Interference [START_REF]Handbook for Functional Safety, Software Partitioning Edition[END_REF] as required by ISO26262 [START_REF]Road Vehicles Functional Safety[END_REF].

We now proceed to the promised example. It stems from a small C program which is part of the Why3 platform. The code implements a simple queue with enqueue and pop functions (see Fig. 1). The corresponding SPARK interface (see Fig. 2) has been generated with the --f d u m p -a d a -s p e cswitch of gcc, and then manually modified later to improve the mapping.

For example we us a few tricks to use SPARK arrays instead of access types to represent the queue data. The SPARK contract uses a "model function" called T o _ A r rto map the queue structure, which wraps around the array in the implementation, to a plain array with elements in the right order for specification purposes. The contracts can are always expressed on that plain array instead of the complex actual data structure, and can now be expressed using straightforward SPARK array operations such as concatenation and slices. For example, the q u e u e _ p o pfunction has a postcondition which states that the queue after the pop (simply named Q ), mapped to the plain array, gives the same result as mapping the queue before the pop (using the syntax Q ' O l d ) to the plain array, and then removing the first element. Looking carefully at the contract of q u e u e _ p o p , one can see that in fact the complete desired functional behavior has been described using the contract. The reader might ask if the same cannot be achieved using simple assertions at the beginning and end of the C function. But as the example below shows, such a complete contract is difficult to express in C because of the lack of highlevel language features such as array concatenation and slices. The e n q u e u e function has not been specified, but this is not a problem, Using this approach, one can selectively apply it to only the desired functionality of a package.

Back to the C

So far, we've assumed that the final application was a mixed of SPARK and C files compiled and linked together. This requires the availability of both an Ada 2012 compiler and a compatible C compiler. While the number of platforms supporting Ada 2012 is quite large, it is often the case that there is no compiler available for more very specific or custom targets.

The absence of such technologies may render the whole discussion above futile for projects targeting such platforms. However, virtually all platforms come with a Ccompiler.

There is an alternative to this, which is to consider the C language as an intermediate representation in the SPARK code generation chain. In other words, compile SPARK to C with a "standard" toolchain, and then C to assembly with the specific target compiler, which acts as a backend in this context. It is important to realize that generated C code is not intended to be readable or modifiable. Although MISRA properties can be enforced during code generation as to ensure optimal portability and safety of the generated C layer, the SPARK and C programming languages are too far to generate C that would look like something written by a human being. In particular, the SPARK to C generator may go through expansion or optimization phases, or make choices to translate highlevel SPARK concepts into low level C concepts in a way that is not efficiently manageable by a developer. But that is not a problem: just as one would not modify the assembly generated from a compiler except in very specific cases, one should not worry about modifying this C code -which in effect acts here as a universal assembly language. Going this route is more than just generating C. Of course, all the benefits of SPARK, such as strong typing, runtime checks, static analysis and formal verification are still present.

Having a regular Ada cross compiler has still significant advantages over the SPARK to C generation path. Among other things, it simplifies the integration with tools such as debuggers and makes tool vendor validation easier. However, using the C language as an intermediate language here allows to virtually provide a universal SPARK compiler.

DO178C certification considerations

The various tools and technologies presented so far still need to be properly articulated around DO178C to be usable in certified avionics context. This implies both references to the certification objectives that can be targeted and corresponding qualification or certification material. Looking at the SPARK language, its contributions to certification credits start at the planning phase on DO178, targeting activities such as 4.4.1.a "software development should be chosen to reduce its potential risk to the software being developed". SPARK is exempt of a number of programming vulnerabilities without the need of any additional coding standard or tooling. When looking at other potential credits, 6.3.4.f comes to mind "accuracy and consistency". SPARK can help demonstrating absence of a number of problems identified there, such as fixed point arithmetic overflow and resolution, floating point arithmetic, used of uninitialized variable and unused variables. To achieve this specific objectives, the verification toolchain associated with SPARK needs of course to be qualified TQL5. If data flow is specified in SPARK, the verification of its implementation as requested by 6.3.4.b can also be automatically verified by the TQL5 qualified verification chain. Going one step further, SPARK can be taken advantage of following methodologies experimented by Airbus [START_REF] Dordowsky | An experimental Study using ACSL and FramaC to formulate and verify LowLevel Requirements from a DO178C compliant Avionics Project[END_REF] and described in the formal proof supplement DO333. In this case, formal proof can be used to replace some or all of the low level testing. This is assuming both a higher level of tool qualification (TQL4) together with an argument demonstrating that the object code is indeed correctly translated from the source code (so called "preservation of properties").

Regarding the last technology presented, the SPARKtoC compiler, it's important once again to realize that in this configuration, the C language is merely an intermediate step in the compilation process. In other words, the generated C code should not be considered as source code by DO178 definitions, but rather as an intermediate representation within a toolchain. As a result, the source code is SPARK, and the aggregated {SPARKtoC, Ctarget} compiler should follow the same recommendations and objectives as other compiler. For example, element to stored in version control is the SPARK source code, structural code coverage has to be achieved at the SPARK level, a source to object traceability study has to be performed at level A, etc.

Conclusion

We've demonstrated in this paper that the entry barrier to technologies such as SPARK can be lowered significantly. SPARK interoperates well with C programs, so that usage of the SPARK language can easily be limited to new code or particularly critical code at first. Or one can add SPARK contracts to C code without any SPARK implementation, and still benefit from a powerful language to express requirements and runtime checking. Finally, thanks to the SPARKtoC technology, SPARK can be applied even in a context where no Ada2012Compiler is available for the selected target. Technologies to support these methodologies are being developed. Others tools could have been mentioned as well and be described in other papers -notably the role of C or SPARK code generation from modeling languages such as Simulink. Overall, these tools and methodologies demonstrate not only the feasibility but the low risk associated to an iterative path of experiment and deployment.

f u n cFig. 2 :

 2 Fig. 2:The corresponding SPARK interface with contracts.

  • Pre and Postcondition (which already exist in Ada 2012) are boolean expressions that must be true at the beginning and the end of the function, respectively. Together they express what the function requires to work (the precondition) and what it guarantees when returning.

At a larger scale than a single function, other specification features exist, such as abstract state, which allows to group together the state of some package into a single logical variable, and elaboration/initialization properties, which allow to state the properties of data that is setup only once at the beginning of the program.