Tuyen Phong Truong

and in STIC Asia Modeling for Environment and Simulation (SAMES) project, who encouraged me to achieve complete investigations

During Ph.D. study period, I experienced in many concepts: concurrent and parallel programming, wireless sensor networks, virtual machines for embedded systems, and LoRa radio protocol. This was very motivating experiences above my initial background in computer engineering.

During the thesis we published several articles listed in Publications section, culminating with an in-depth article about the relation between distributed sensing and physical processes to be observed. This article was published in Sensors journal with the title "Cellular Simulation for Distribute Sensing over Complex Terrains" [1].

Chapter 2, 3 and 4 expand this article, giving more details on cellular systems, parallel and distributed algorithms for physical process simulations and radio signal propagation simulation.

Chapter 5 describes in detail parallel algorithms operating on cellular systems [2,3], implemented on concurrent process system executed on multi-cores and GPU accelerators, following a synchronous messaging model.

Chapter 6 reports on mapping flow suitable to support distributed applications on wireless networks that have been explored at low levels including virtual machines and reconfigurable platform, briefly described in Appendix I and Appendix J. This work was validated by laboratory's developments still needing a platform for testing actual large-scale applications.

The case of a mobile vehicle controlling sensor fields is reported in Chapter 7 [4,5,6,7]. This work was achieved at the beginning of the thesis, both in Vietnam and Brest.

We have provided appendices for insight into developments, experiments and work coverage.

A prominent point during Ph.D. studies is the central role of computer science with relation existing between specification languages, execution supports such as parallel and distributed architectures, algorithm design, and final applications.

Definition for Environmental Monitoring

There is an increasing interest in environmental monitoring due to the serious impacts of climate change on socio-economic factors and human health. In these applications, radio links are the key technology allowing sensors to connect into networks that can operate on various topologies and ranges. In this thesis we propose a framework for easing exploration of radio link possibilities, taking into account geographical topologies. Massive parallel execution on GPUs and cellular method were utilized in order to compute radio propagation and estimate the strength of received power. Several physical simulations could be federated for evaluating their consistency related to the described phenomena areas such as shores or islands, hills and valleys oppose practical di culties to the design of radio sensor systems by blocking or perturbing communications.

In the context of sensor applications, coverage define where information is accessible, whatever they are: radio signal, biological, or physical influences. Therefore the most precise coverage computation is essential for monitoring e ciency and this can take various forms, depending on application fields. This is a specific situation distinct from general purpose wireless communication networks, such as cellular phone systems, because the application objectives are limited and well defined, with secured application behavior.

This thesis provides an analysis of relations with spatial geography topology (Section 2.1) and then exposes principles for radio link capabilities (Section 4), with focus on LoRa. By modeling geographic space into cellular systems, it becomes possible to represent many physical phenomena such as ocean or river e ects, rain e ects, and flooding, pollution, etc. Section 3.2 presents the example of a simplified rain flooding simulation, exposing the interest of these studies for sensor network design. Using the same principle, it is also possible to model the behavior of radio signal propagation in relation with e ective geography. The algorithm is given section 4.2, which is based on the ability of signals coming from one point to reach another point with line-of-sight (LoS) characteristic. Section 4.2 explains how complete radio coverage can be obtained by combining together several cover computations.

Simulation of the control and observation network, in relation to expected physical activities, lead to optimized monitoring systems that can be investigated at Computer-Aided Design (CAD) tools level to prepare new or urgent deployments. In the case of long ranges, there is a direct impact due to predictable latency, thus system performance. Appendix C details latency optimization algorithms allowing to select base station location according to coverage issues, and overall system performance.

Finding communication ranges in presence of obstacles is known to be a computeintensive task, with 3D complexity. The cellular representation allows developing e cient parallel algorithms that mimic physical behavior. Massive parallel execution of cellular systems is produced using code generators yet presented in [START_REF] Dutta | An execution flow for dynamic concurrent systems: simulation of wsn on a Smalltalk/Cuda environment[END_REF]. Computations are achieved on Graphics Processing Units (GPUs) producing performances in the real-time order. Furthermore, many such simulations can be composed in frameworks such as High Level Architecture (HLA) [START_REF]1516-2010 -ieee standard for modeling and simulation (m&s) high level architecture (hla)-framework and rules[END_REF] as shown in [START_REF] Tran | A federated approach for simulations in cyber-physical systems[END_REF].

Appendix E presents the tool flow that allows selecting arbitrary study zones from a specific map browser called QuickMap, then a cellular system front-end called PickCell. The example of rainwater flooding (Section 3.2) has used the programming aspects of the flow. Simulated and actual coverage computations were applied and tested on a variety of significant areas in Brittany, France (shores, town, country) as reported in the appendices. Appendix F and F present system tools developed for practical investigations validating the CAD approach in this work.

State of the art for consideration components 1.Communication in wireless sensor network

Sensors could be found in a lot of applications for measuring distributed values, in many domains such as reducing tra c by monitoring available parking lots, measuring city pollution, measuring the cycle of water. Radio links are the core technology allowing sensors to connect into networks that can operate on range from meters to kilometers. In the design of sensor networks, the major question is not the network itself, but the objective of observation and control. It means that design methods should expose the physical object to the observation system for validation or optimization.

Nowadays sensor networks are used worldwide in the automatic surveillance of environmental systems. Because of its scalability and cost-e ectiveness, wireless connections are dominating wired links in actual deployments, especially for complex geographic areas. As shown in Figure 1.1 the number of smart devices will be connected has grown up to 5 billion from 2015 to 2017. It will be expected to increase exponentially reach 75 billion by 2025, and then surge to 125 billion by 2030 [START_REF] Ticlo | Is Tech the New Currency? Why You Need Modern IT[END_REF][START_REF] Howell | Number of Connected IoT Devices Will Surge to 125 Billion by 2030[END_REF].

Currently, there are several competing technologies with various techniques (see Figure 1.2) to achieve long-range, low-power operation, and high scalability. On a technical side, these technologies must be compromised between conflict goals such as communication range, energy consumption and cost of the system.

In contrast with meshed networks providing short range and high throughput, long-range radio technologies allow covering a wide area in a few hundreds of square kilometers, at the lower data rate. To extend communication range most of the technologies operate on low frequencies (sub-1 GHz band) because they have better propagation characteristic through obstacles [START_REF] Raza | Low Power Wide Area Networks: An Overview[END_REF][START_REF] Ismail | Low-Power Wide-Area Networks: Opportunities, Challenges, and Directions[END_REF]. Besides, several modulation techniques are employed aiming at more resilient to interference with two common kinds namely narrow-band (e.g. Ultra-Narrow Band, UNB, from Sigfox) and spread spectrum (e.g. Long Range, LoRa, from Semtech). In remote sensing applications, improving the lifetime of the battery power system is a vital requirement. In addition, for each sensor node, communication function consumes more energy than data processing operation, so that scheduling both local processing and communication transaction is an e cient approach to enhance the performance of the systems. Utilizing long-range communications, these networks usually form a star topology (instead of mesh) which enables direct directions between sensor nodes to sink nodes Figure 1.3 -ISM/SRD License-Free Frequency Bands (source: Texas Instruments) [START_REF] Patel | Experimental Study on Low Power Wide Area Networks (LPWAN) for Mobile Internet of Things[END_REF].

for energy saving advantage and minimizing complexity in protocol design. Reducing the hardware complexity and minimum infrastructure are also concerned aspect of all competing technology. As an example, LoRa systems that are easily deployed as star organizations with nodes consuming as low as 100 mW with a small circuit footprint. Existing technologies enable operation in the licensed band (e.g. NB-IoT, LTE Cat M1), unlicensed ISM band (e.g. LoRa, Sixfox), or both of bands (e.g. Weightless-P). In addition, sensor network over white spaces (SNOW) is an emerging solution because of the availability and advantages of TV spectrum in long-range communication [START_REF] Saifullah | SNOW -Sensor Network over White Spaces[END_REF][START_REF] Saifullah | Enabling Reliable , Asynchronous , and Bidirectional Communication in Sensor Networks over White Spaces[END_REF]. However, most of the technologies operating in unlicensed spectrum must adopt national radio spectrum rules and regulations about duty-cycled transmission for di erent countries [START_REF] Raza | Low Power Wide Area Networks: An Overview[END_REF][START_REF] Ismail | Low-Power Wide-Area Networks: Opportunities, Challenges, and Directions[END_REF][START_REF] Oliveira | Wireless Sensor Networks: a Survey on Environmental Monitoring[END_REF]. Figure 1.3 shows the policy of Industrial, Scientific, and Medical (ISM) frequency bands in di erent countries over the World. Figure 1.4 -A comparison on technical aspects between Sigfox, LoRa and NB-IoT technologies. It seems that Sigfox and LoRa technology are more suitable for environmental monitoring applications (source: ICT Express) [START_REF] Mekki | A comparative study of LPWAN technologies for large-scale IoT deployment[END_REF].

In spite of providing significant advantages, competing long-range, low-power communication technologies must deal with a lot of challenges in terms of frequency regular, spectrum constraint, coexistence, mobility, scalability, coverage, security, and application-specific requirements such as data rates. Consequently, it is necessary to compromise on several conflict aspects such as spectrum (licensed/unlicensed band), deployment cost, and device cost. Figure 1.4 provides a chart for a visual comparison of technical aspects between Sigfox, LoRa, and NB-IoT.

Long-range sensor network architectures are well suited to situations where monitoring the environment is critical. Mekong Delta in the South of Vietnam is at the first rank of these problems, due to climate change and environmental pollution [START_REF] Truong | Wireless sensor network: Long-range radio coverage for complex terrain areas[END_REF][START_REF] Truong | Long-range communications: A promising technology for environmental monitoring applications in developing countries[END_REF].

In these wireless sensing applications, radio signal estimation is critical because of the geography topology. A zone being reachable from an emitter is defined as the cover of the emitter. Inside cities, the cover can be estimated following statistic measures. In nature, the main obstacles are the geographic profile, climate, and vegetation variations. To ease deployments in natural conditions, it is necessary to develop tools allowing to estimate precisely covers in order to design radio networks [START_REF] Rappaport | Wireless Communications: Principles and Practice[END_REF][START_REF] Saunders | Antennas and Propagation for Wireless Communication Systems[END_REF]. Radio signal propagation can be considered as a physical fact, or as a logical connectivity between nodes. The radio link is securely obtained in the LoS conditions. The flowing Section 1.2.1 summarizes contributions to e cient deployment of WSNs for remote sensing applications with respect to scales adapted to the environments, and more specifically and high-performance LoS algorithm [START_REF] Truong | Monitoring of Environment : A high performance method for radio coverage exploration[END_REF].

Radio signal coverage

Because of radio coverage prediction providing many remarkable benefits for wireless network deployment, it is emerging as an attractive topic with a lot of literature research. Some literature surveys present a comprehensive review of the coverage problem in WSNs [START_REF] Commun | Survey on Coverage Problems in Wireless Sensor Networks[END_REF][START_REF] Fan | Coverage Problem in Wireless Sensor Network : A Survey[END_REF][START_REF] Wang | Coverage problem with uncertain properties in wireless sensor networks: A survey[END_REF][START_REF] Chaudhary | A Survey on Coverage Problem in Wireless Sensor Network[END_REF] To facilitate, optimize and manage the complex systems from WSN behaviors, abstract networks are used as the formal representation for the sensor fields. These abstract networks can be classified into two major types namely binary and probabilistic model according to boolean (0/1) values and the probability of monitoring events respectively. From a technical viewpoint, to satisfy the requirements of monitoring targets, the network of sensor nodes coverages must be deployed in order to cover completely either a definite area, a concerning target, or constructing a barrier to detect intrusion attempts [START_REF] Khoufi | Survey of Deployment Algorithms in Wireless Sensor Networks: Coverage and Connectivity Issues and Challenges[END_REF][START_REF] Tripathi | Coverage and Connectivity in WSNs: A Survey, Research Issues and Challenges[END_REF].

The wireless network of sensing applications is usually installed in complex geographical areas where are so hard to approach, if not impossible, composed of various land-form, heterogeneous vegetations. Consequently, coverage strategies must be taken into topographic complexity for better estimation results. Several researches on the propagation model [START_REF] Marija | Durkin's Propagation Model Based on Triangular Irregular Network Terrain[END_REF][START_REF] Seixas | E cient line-of-sight algorithms for real terrain data[END_REF] took into account irregular terrain e ects. In [START_REF] Christoph | Algorithms and software for radio signal coverage prediction in terrains[END_REF][START_REF] Kora | Accurate radio coverage assessment methods investigation for 3G/4G networks[END_REF][START_REF] Popoola | Received signal strength and local terrain profile data for radio network planning and optimization at GSM frequency bands[END_REF], authors proposed algorithms and a graphics tool enabling coverage estimation of the public mobile communications network. The quality of radio wave signals in 2G/3G/4G technology was evaluated with respect to the impact of terrain heterogeneity. The investigation on coverage enhancement for distributed mobile sensors was conducted [START_REF] Aliyu | Coverage enhancement algorithms for distributed mobile sensors deployment in wireless sensor networks[END_REF]. Coverage strategies for WSNs in a three-dimensional (3D) or 2.5D environment were also investigated in [START_REF] Feng | A Coverage Strategy for Wireless Sensor Networks in a Three-dimensional Environment[END_REF][START_REF] Filiposka | Terrain-aware three-dimensional radio-propagation model extension for NS-2[END_REF][START_REF] Veenstra | Guiding Sensor-Node Deployment Over 2 . 5D Terrain[END_REF] aiming at improving the reliability of simulation in reality. Figure 1.5 -The broad application fields of cellular automata [START_REF] Ganguly | A Survey on Cellular Automata[END_REF][START_REF] Das | A Survey on Cellular Automata and Its Applications[END_REF].

Cellular automata

In the last decade, researches on applications of cellular automata (CA) have focused on several main directions as follows:

Almost studies in energy saving technology for wireless sensor networks (WSNs) aim at design a wireless node can self-organize based on communication state or switching between states to reduce the energy consumption of network and prolong the time service of networks [START_REF] Banerjee | Energy conservation in wireless sensor network using block cellular automata[END_REF][START_REF] Banerjee | CCABC: cyclic cellular automata based clustering for energy conservation in sensor networks[END_REF][START_REF] Xu | Simulating energy e cient wireless sensor networks using cellular automata[END_REF].

Besides, many papers present about routing aspect in WSNs based on CA technique. These researches focus on how to implement proper models and the simulated network protocol and topology [START_REF] Doman | Simulation environment scenarios using cellular automata for wireless sensor network analysis[END_REF][START_REF] Li | Cellular automata-based multi-hop wsn routing protocol energy saving technology[END_REF]. Some researches also address the related issues of encryption technique to enhance the security for data communication, as can be seen in [START_REF] Systems | Modelling Malware Response in Wireless Networks Using Stochastic Cellular Automata Sensor[END_REF][START_REF] Roy | Symmetric Key Encryption Technique: A Cellular Automata based Approach in Wireless Sensor Networks[END_REF].

On another approach, many surveys show the research topics in the optimization of coverage based on a cellular approach that attracts so many researchers. They work on both sensing and communication coverage of nodes which was introduced in so many technical papers such as [START_REF] Singh | A survey on area coverage in wireless sensor networks[END_REF][START_REF] Sangwan | Survey on coverage problems in wireless sensor networks[END_REF][START_REF] Tretyakova | Graph cellular automata approach to the maximum lifetime coverage problem in wireless sensor networks[END_REF].

Cellular methods have been utilized in many di erent fields of science and engineering such as physics, chemistry, biology, computer science, and communication [START_REF] Oliveira | Wireless Sensor Networks: a Survey on Environmental Monitoring[END_REF][START_REF] Wolfram | Cellular automata: a model of complexity[END_REF][START_REF] Hoekstra | Simulating Complex Systems by Cellular Automata[END_REF]. It is only synchronous CA but also asynchronous CA to be considered in literature [START_REF] Li | Cellular automata based models of wireless sensor networks[END_REF]. In recent years, large-scale wireless network designs have been emerged as an attractive topic because of the current innovation solutions such as LoRa and sensor technology progresses [START_REF] Semtech | LoRa MAC Specification v1[END_REF][START_REF] Cunha | Simulating large wireless sensor networks using cellular automata[END_REF].

Particularly, use of a cellular automata approach for modeling of natural phenomena in terms of terrain complexity has attracted the interest of several scientists. Climate change impacts and sea level rise, leading to severe weather, salinity intrusion and natural disasters are described in [START_REF] Farjad | An integrated modelling system to predict hydrological processes under climate and land-use/cover change scenarios[END_REF][START_REF] Lin | Regional-Scale Assessment and Simulation of Land Salinization Using Cellular Automata-Markov Model[END_REF][START_REF] Kassogué | Cellular automata approach for modelling climate change impact on water resources[END_REF][START_REF] Di Traglia | Is cellular automata algorithm able to predict the future dynamical shifts of tree species in Italy under climate change scenarios? A methodological approach[END_REF][START_REF] Yoon | Multi-objective land-use allocation considering landslide risk under climate change: Case study in pyeongchang-gun, Korea[END_REF]. From these studies, proper plans and forethought can support adaptation and resilience. Besides, other publications have investigated hydrological modeling with respect to homogeneous of landform types, for example, surface water flow simulation, complex river system modeling, flash flood forecasting [START_REF] Van | Cellular Automata Approach for Flood Forecasting in a Bifurcation River System[END_REF][START_REF] Cirbus | Cellular automata for the flow simulations on the earth surface, optimization computation process[END_REF][START_REF] Topa | A Cellular Automata Approach for Modeling Complex River Systems[END_REF]. Solutions for problems related to land use, land erosion, and landslide have been proposed by [START_REF] Khatibi | a Cellular Automata Model for Monitoring and Simulating Urban Land Use/Cover Changes Toward Sustainability[END_REF][START_REF] Hawick | Modelling Flood Incursion and Coastal Erosion Using Cellular Automata Simulations[END_REF][START_REF] Yoon | Multi-objective land-use allocation considering landslide risk under climate change: Case study in pyeongchang-gun, Korea[END_REF].

Another related research topic is environmental pollution such as oil spill, air pollution, and so on [START_REF] Gług | Modeling of oil spill spreading disasters using combination of Langrangian discrete particle algorithm with Cellular Automata approach[END_REF][START_REF] Guariso | air quality simulation through cellular au-tomata_Guariso[END_REF]. Many natural disasters (e.g. volcano, earthquake, tsunami, snow avalanches, etc.) could be forecasted through computer programs based on cellular technology [START_REF] Avolio | VALANCA: A cellular automata model for simulating snow avalanches[END_REF][START_REF] Machado | A cellular model for secondary lahars and simulation of cases in the Vascún Valley, Ecuador[END_REF][START_REF] Mohamed | Tsunami Wave Simulation Models Based on Hexagonal Cellular Automata[END_REF][START_REF] Vicari | Modeling of the 2001 lava flow at Etna volcano by a Cellular Automata approach[END_REF]. Modeling wildlife propagation and urban in relation with food, environmental variables are also research fields for CA [START_REF] Clarke | A Cellular-Automaton Model of Wildfire Propagation and Extinction[END_REF][START_REF] Lahti | Modelling Urban Growth Using Cellular Automata: A case study of Sydney, Australia[END_REF][START_REF] Santé | Cellular automata models for the simulation of real-world urban processes: A review and analysis[END_REF].

In this research, we propose a framework for easing exploration of radio link possibilities for long-range communication, taking into account topology in geography. Highperformance processing is employed on Graphics Processing Unit accelerators (GPUs) to enhance the speed of process [START_REF] Du | Parallel simulation based on gpu-acceleration[END_REF][START_REF] Gulati | GPU Architecture and the CUDA Programming Model[END_REF].

Low Earth Orbiting satellite for remote sensing applications

Two reference commercial satellite systems are Argos and Iridium. Argos data collection and location system focus on surveillance as well as protection of environment and wildlife, meanwhile, the Iridium network is a global satellite communication service for subscribers from government agencies and public citizen. Each system was established as a global satellite constellation of the Low Earth Orbiting (LEO) satellites flying at about 700-900 km above the Earth [START_REF] Qu | LEO Satellite Constellation for Internet of Things[END_REF]. A typical satellite's footprint is thousands of kilometers in diameter. Besides, both systems have already supported all three links namely up-link, downlink and cross-link to provide the high reliability of the communications network and to remain una ected by natural disasters such as hurricanes, tsunamis, and earthquakes, etc. The systems are often designed with L-band antennas to meet the requirement on high performances, low power supply, compactness, low cost.

The LEO satellite communication can be used in mobile satellite communications, surveillance of the Earth surface, geological surveys, so on [START_REF] Truong | Optimizing the connection time for LEO satellite based on dynamic sensor field[END_REF][START_REF] Colitti | Satellite based wireless sensor networks: Global scale sensing with nano-and pico-satellites[END_REF][START_REF] Celandroni | A survey of architectures and scenarios in satellite-based wireless sensor networks: system design aspects[END_REF]. In the last decade, research on communication services provided by LEO satellites has focused on several main directions such as optimizing the mechanics, interconnections, electric circuits, power supply. On another approach, many surveys show the research topics in design trajectory, handover tra c, and constellation, as well as design protocols, radio frequencies, onboard transceivers and antenna designs [START_REF] Truong | Optimizing the connection time for LEO satellite based on dynamic sensor field[END_REF][START_REF] Celandroni | A survey of architectures and scenarios in satellite-based wireless sensor networks: system design aspects[END_REF]. However, the direct radio links between sensor fields and LEO satellites are not considered in the literature. In recent years, it emerges as an attractive topic because of the current innovation solutions such as LoRa and solutions from vendors QB50 [4].

Furthermore, the graph-based model has emerged as well as an approach to present the structure and to elaborate the performance of wireless sensor networks [START_REF] Akoglu | Graph based anomaly detection and description: A survey[END_REF][START_REF] Khoufi | Survey of Deployment Algorithms in Wireless Sensor Networks: Coverage and Connectivity Issues and Challenges[END_REF]. For example, random geometric graph [START_REF] Dong | Random graph theory based connectivity analysis in wireless sensor networks with rayleigh fading channels[END_REF] was used to determine the probability of the whole network being connected. Secure communications between a large number of sensor nodes in WSNs can be elaborated on expander graph [START_REF] Çamtepe | Expander graph based key distribution mechanisms in wireless sensor networks[END_REF] and finding transmission path in the network was performed based on Pascal graph [START_REF] Chaparro | Detecting anomalies in mobile telecommunication networks using a graph based approach[END_REF][START_REF] Panwar | Design of Energy E cient Routing Algorithm for W Ireless S Ensor N Etwork ( Wsn ) U Sing P Ascal G Raph[END_REF]. Furthermore, hyper-graph [START_REF] Yang | An energy-e cient and fault-tolerant convergecast protocol in wireless sensor networks[END_REF] was utilized to support reducing the transmission energy consumption and improving the fault-tolerant ability of the system.

Additionally, in recent years parallelization on GPU platforms is an emerging strategy to improve significantly performance speed [START_REF] Singla | New approach for graph algorithms on gpu using cuda[END_REF][START_REF] Bhatia | Survey of Nearest Neighbor Techniques[END_REF]. When the graph consisting of a vast number of nodes, it is necessary to process in parallel based on NVIDIA CUDA technology to improve search speed [START_REF] Harish | Accelerating large graph algorithms on the gpu using cuda[END_REF][START_REF] Martín | CUDA solutions for the sssp problem[END_REF][START_REF] Kuang | A practical gpu based knn algorithm[END_REF][START_REF] Nikam | Parallel knn on gpu architecture using opencl[END_REF][START_REF] Garcia | K-nearest neighbor search: Fast gpu-based implementations and application to high-dimensional feature matching[END_REF].

Massively parallel computation

The architecture of CUDA [START_REF][END_REF] is SIMD (Simple Instruction Multiple Data) based on many threads run in lockstep. Otherwise, Occam [START_REF]Occam 2.1 Reference Manual[END_REF] programs are developed as MIMD type programs (Multiple Instruction Multiple Data) where processes synchronize by guard channels.

Parallel computation

A GPU consists of hundreds, if not thousands, of cores to process parallel work-loads e ciently. GPUs have di erent types of memory such as global memory, local memory, shared memory, texture cache, constant memory, CUDA array, and registers. Each type of memory provides specific use cases associated with appropriate access methods. In GPU architecture, all threads execute the same instructions. This operation can be classified into Single Instruction Multiple Data (SIMD) parallel architectures. Consequently, the SIMD nature of GPUs is a proper approach to simulate the inherent data parallelism existing in the synchronous execution of physical phenomenon.

Concurrent computation

It exists various programming languages providing concurrent processes corresponding with di erent models of concurrency such as multi processes as operating system processes, multi-threads within a process. In these concurrent computing systems, communications between concurrent components play a key role that could be handled either implicitly or explicitly. In explicit communication method, Occam is known as one of the early concurrent programming languages based on message-passing synchronization primitives in contrast with the other namely shared memory communication.

Occam-pi, a derive of Occam inspired by binding Pi-calculus and Hoare's CSP, was developed by Kent Retargetable Occam Compiler (KRoC) at University of Kent, United Kingdom [START_REF]Welcome to kroc[END_REF]. Occam and Occam-pi provide a full set of primitive constructs are facilitate to handle not only processes in serial but also in parallel as well as multiple events to a process using construct SEQ(uency), PAR(allel), and ALT(ernate) respectively. Apart from that, applying the CSP idiom of sending (!) and receiving (?) synchronous communications between two concurrent processes over point-to-point nondirectional channel are handled [START_REF] May | Communicating processes and occam[END_REF][START_REF] Jacobsen | The Transterpreter: A Transputer Interpreter[END_REF][START_REF]Occam 2.1 Reference Manual[END_REF][START_REF] Welch | Communicating Mobile Processes: introducing occam-pi[END_REF] with safe channels, barriers as well as other innovation paradigms for dynamic mobile processes. These facilities allow describing su ciently both local behaviors/processes, for example sensing activities of nodes and their communications between two processes running on two separate nodes either via integrated network links or bu ers in software.

Contributions in sensing simulations

Radio coverage prediction

With a given zone one of the serious matters for WSN deployment that is how to maximize the coverage of the network. In the WSN domain, coverage is usually classified into two kinds: sensing coverages and communication coverages. Generally, sensing coverages depend on which values need to be concerned and on which technologies sensors are built. In more details, these coverages are related to which mean to be used in measurement such as capacity, microwave, spectrum, etc. and how to capture analog values in nature and then convert them into digital data. Communication coverage refers to a zone consisting of places where radio signals can reachable from a given emitter. In theory, it is indicated by a circle with a certain radius considering as maximum communication range. Due to the complexity of geography and obstacles such as building, vegetation, so on the actual coverages in the real world are seldom as uniform dishes. For this reason, it occurs unpredictable gaps as deploying sensor nodes to cover all sensing area. Similarly, to achieve the robust radio links for gathering sensed data it is necessary to take account of geographic topology since planning and deployment. From these reasons, it is a critical role of CAD tools which help to figure out properly and rapidly the number of sensors and positions for network deployment.

Our tool-set o ers a complete flow to fulfill these requirements. A special map browser (called QuickMap) was employed in order to provide us with a friendly visual interface for selecting a zone in their deployment. Other tools are a PickCell and NetGen which help to customize and produce automatically data for high-performance simulations on multi-core CPUs or Graphics Processing Units (GPUs). It also allows to dispatch data to simulators, invokes simulation massive parallel processes. Simulation results are retrieved and shown directly on PickCell at each step of the process or at some concerning steps. For example, in radio coverage prediction simulation after selecting a point on the map to put an emitter (associated with a sensor node) high-performance simulator turns out in real time actual coverage in which signals can reach taking into account of geographic complexity. From these visual results, we are suggested to select proper places within the coverage for placing other nodes to ensure the connectivity. Further steps could be followed in the same way. At any time in design, the whole coverage of network can be realized and visible on user's interface conveniently. Based on the visual results, we know a number of emitters/nodes that must be deployed to cover concerning areas with respect to obstacles along transmission paths, especially in long-range wireless networks with distance tens of kilometers. By following this method, an e cient plan to deploy a wireless network for environmental monitoring is obtained rapidly [102].

Physical simulations

Due to the sophistication of physical phenomena in nature, modeling and simulation tools play a key role to study insight into these processes in terms of characteristics and behaviors. In addition, the natural world is essentially concurrent so that modeling these physical events based on cellular automata technology is wholly suitable for studying them carefully. By applying proper simulations and observations, it can expose so many interesting issues during interaction among phenomena in physical systems [START_REF] Tuyen | Sensing and Simulation: Cellular Methods and Tools[END_REF].

For example, by observing a surface groundwater flow simulation for an area with serious variations of elevations can provide some places where floods caused by dense rains usually occur. These results are interesting issues that are really useful network deployments in order to monitor water levels. The areas constituting a large amount of water (flooding points) are often located in places with low elevations so that it is hard to deploy robust wireless networks to collect measured data from sensors at the points. For these reasons, it is vital to find suitable places to locate base stations concerning both good qualities of radio links to all sensor nodes as well as demands of measurement activities at the interesting points. The order in invoking simulators are probably in di erent relied on the relationship of physical factors in nature and the objectives of application. A package of simulations designed for a certain purpose will be run successively if the later simulation requires former one's results as its input data, rain flooding and wireless sensor network deployment as an example. In the other cases, physical simulations of the interactions between several simultaneous simulations during the process are critical to describe the behaviors of systems as in the real world. For instance, air pollution causes by dirty smoke, dust produced from a forest fire. This can be achieved by utilizing a run-time infrastructure (RTI), called High-Level Architecture, which enables to exchange data between all federated processes based on standard federation protocols. Adopting this idea, the complete simulation tools for the physical phenomenon are implemented inside our research work based on cellular automata. Flooding and radio coverage predictions are given as examples. In remote sensing domain, observing the behaviors of processes during interaction together to obtain clearly knowledge insight into essential principles of the natural world is as important as capturing realistic values of the phenomenon for validation and evaluation.

Contributions in sensing activity developments 1.3.1 Mapping application on sensing systems

The objective of this work is to propose a framework for e ective implementation of distributed applications such as sensor networks for environmental monitoring. Distributed algorithms are developed and bound as the local behavior of node (Occam-pi programs). Simulators help to validate and evaluate these algorithms. These Occam-pi programs are then transformed to execute on real hardware. This is feasible thanks to a virtual machine (called Transputer Virtual Machine) and KRoC compiler [START_REF]Welcome to kroc[END_REF][START_REF] Barnes | Blocking System Calls in KRoC/Linux[END_REF] which allow running extended Transputer bytecode on di erent platforms.

Figure 1.6 shows a stack architecture consisting of Behavior level distributed applications consists of many distributed services that can be spread over a network of nodes having processing capability. This method allows massively parallel computation to be provided by a large number of nodes of distributed sensor networks.

Node's process behavior are procedures running on each node, for example, Occam-pi programs to collect data from sensors or control actuators.

Transputer Virtual Machine (TVM) is a virtual machine interpreter which enables to execute Occam bytecode. SPI and LoRa libraries help to mount hardware modules such as a LoRa transceiver, sensors, etc. into the virtual machine.

Target hardware is dedicated embedded systems composing of a small processor, sensors, a radio transceiver and a power supply.

An experiment was done to implement a simple network with two nodes using Arduino boards plus LoRa transceivers. In this network, a sink node can dispatch several services on a sensor node to control collecting data from connected sensors (Appendix I).

Modeling and optimization of mobility

The orbit of an LEO satellite is shifted in a westward direction around the polar axis at each revolution [START_REF] Wertz | [END_REF]4], as shown in Figure 7.1. This leads to the meeting points of a gateway on the Earth's surface and the LEO satellite will be changed over time. Moreover, gateways can only communicate with LEO satellites when the satellites in their visibility region, generally in a short time approximately 5-10 minutes [START_REF] Wertz | [END_REF]. With a static sensor field, it can be occasionally unsuccessful in communication with the LEO satellite because the meeting time does not enough for data exchange. Hence a dynamic sensor field (DSF) [START_REF] Truong | Optimizing the connection time for LEO satellite based on dynamic sensor field[END_REF], which has the ability to redetermine its gateway to adapt to the shifts of orbits, aims at improving the connection time. Climate change and natural evolution seriously impact on several social and economic aspects, including living conditions, human health, and development. Autonomous observation is a key point for understanding evolution and the management of territories. This is achieved using small stations equipped with processors, sensors, transceivers, and power supplies. Distributed sensors sample physical behavior. They enable to analyze environmental changes and to predict short-term and medium-term transformations.

Outline of this thesis

Wireless Sensor Networks (WSNs) o ered several frameworks to connect sensors. Radio standard such as 802. 15.4 [106] propose short range mesh connected topologies suitable for indoor or local deployments. Recent innovations include low power long range radio systems, such as LoRa [107] or Sigfox [108]. Long range means covering a large surface, more risk during transmissions, long signal latencies, and more di culties coming from the ground topology. Star organization where a central node addresses remote sensors is the more natural technique to collect data on surfaces within a range of ten thousand square meters.

Complex geographic areas such as shores or islands, hills, valleys oppose physical diculties to the radio propagation. At the sensor level, the coverage also defines zones where information is accessible, whatever it may be, wildlife including insects, physical elements such as water or gas. Therefore, a precise coverage computation is critical for monitoring eciency which matches radio connectivity objectives, and sensing accuracy in regard to physical phenomena. This article describes principles of a general method based on geo-localized cellular systems. It explains how a radio coverage or a physical coverage can be computed from the same framework, allowing to obtain a better match between observation engines and observed phenomena.

A cellular approach was chosen to address the variety of entities appearing in physical situations. Geography variation is one of them, with elevation accidents, rivers, lakes, forest, shores. By fragmenting geography into cells, it becomes possible to isolate di erent behaviors, to simulate, then to reassemble these independent behaviors using higher level simulation paradigms, as shown in Figure 2.1 and discussed in [START_REF] Tran | A federated approach for simulations in cyber-physical systems[END_REF].

Figure 2.1 -Federation of two complementary cellular subsystems, a sensor network, and some display for observation. A software bus (RTI) provides services for data exchanges, sequencing and synchronization. This framework is called High Level Architecture, standardized as IEEE Std 1516-2000 [START_REF]RTI 1.3-Next Generation Programmer's Guide Version 3[END_REF].

The approach of fine grain cellular structure and coarse grain partitioning appears to be flexible, allowing di erent components to coordinate. It is also compatible with geographic information since each cell is localized.

The introduction firstly gives an overview of principles behind three components in the methodology: (i) the terrain analysis (Section 2.1), (ii) the signal propagation and coverage (Section 2.1.5), and (iii) the representation of physical phenomena behaviors (Section 2.1.6). Generic algorithms for sensing deployments can be built in relation to metrics for these components. This section will refer to a grid of points having geometric and geographic coordinates. Preliminary examples present a large region with mountains and creeks along the seashore, likely to be equipped with sensors. This level of explanation matches application needs at an engineering level.

Further sections will detail tool principles, with the presentation of the cellular methodology (Section 2.2), then algorithms which simulate the physical case of flooding (Section 3.2), and long-range radio propagation (Section 4.2). Appendices will present validation results obtained by these algorithms.

Terrain Complexity Analysis

Geographical Information System and Digital Elevation Model

By utilizing a dedicated analysis on a geographical information system (GIS), digital elevation models (DEMs) can provide a mean value of elevations for a specified zone or discrete values of elevation [START_REF] Hutchinson | Representation of terrain[END_REF].

Roughness index is commonly defined as various standard deviations of topography [START_REF] Strang | Linear Algebra, Geodesy, and GPS[END_REF]. For example, roughness in Equation 2.1 is the di erence between the maximum and the minimum elevation of a given cell and its neighbors.

Roughness = M ax(elev (i,j) -elev (0,0) ) -M in(elev (i,j) -elev (0,0) ) (2.1)
where elev (0,0) is elevation of cell under evaluation. elev (i,j) are elevations of neighbors, and n is number of neighbors in grid cells.

Terrain Ru edness Index (TRI) and Topographic Position Index (TPI) are two common metrics for geographic evaluations. These metrics for DEM provide a quantitative measure of surface turbulence [START_REF] Zhang | Scale in Spatial Information and Analysis[END_REF]. The terrain ruggedness index (TRI) is a topographic roughness metric to depict the elevation di erence between a center cell and all immediately surrounding cells in a digital elevation model. TRI is the square root of the summed squared deviation in elevation between a cell and its eight neighbor cells (Equation 2.2) [START_REF] Riley | A terrain ruggedness index that quantifies topographic heterogeneity[END_REF]. The main value of this topographic roughness index is to provide a rapid measurement of average elevation change between a given cell in the cell system and its surrounding area. This gives a more informative comparison between areas about geographic complexity.

Terrain Ruggedness Index

T RI = elev (i,j) -elev (0,0) 2 1/2 (2.2)
The TRI values also can be displayed in the form of maps that clearly reveal the distribution of terrain heterogeneity (see Figure 2.3). In our work, we proposed a color scale for displaying TRI values on the map as shown in Figure 2.4.

Topographic Position Index

Topographic Position Index (TPI) is the di erence in elevation value of a center cell and the mean of eight adjacent neighbor cells (Equation 2.3) [114].

T P I = elev (0,0) - n elev (i,j) /n (2.3)
here n is number of neighbors of cell (0,0) . Because the TPIs may be positive values or negative values, we propose another scale (see Figure 2.6) used the gradient of two colors (blue, and red) to facilitate recognizing the magnitude of TPI for all cells in a zone.

The positive value of TPI refers that the cell is higher while a negative one means it is lower than its adjacent neighbors. It is important that TPI values are essentially very scale-dependent. TPI is usually used to classify the landscape into landform category and define boundaries with respect to its relative position with surroundings.

Accuracy of terrain complexity analysis

It should be aware of the potential errors of data generated from DEMs, particularly when computing and analyzing ruggedness indices. All DEMs contain inherent inaccuracies due to the method to capture elevation were used to generate the DEM data. Apart from this, to represent the elevation at any location most DEMs perform the interpolation and filtering of elevations. In theory, DEM provides the greatest accuracy in smooth terrain and decreases in rough terrain [START_REF] Hutchinson | Representation of terrain[END_REF].

Another interesting characteristic that is the scale factor for TRI and TPI analysis defined by neighborhood which is perfectly matched with the concept of relationship in cellular automata technology as shown Figure 2.2. With each physical simulations, it should consider intensively which scale is most appreciate with both phenomenon and landscape being analyzed.

Designing for long distance radio coverage

Sensor investigation in a zone almost certainly starts with a glance at a geographic map or an aerial photography. If the zone includes mountains, hills, rivers, or shores, two questions will arise, about the sensing point locations, the reachability of an infrastructure network, the adequacy with the sensing objectives. Design tools will help to take into account the geographical characteristics and possible obstacles to signal propagation while keeping track of these objectives. Sensing systems are application specific, point to point, and di er a lot from mobile radio communication based on regular coverages. Terrain complexity metrics allow to measure ground irregularity, and o er the possibility to split and isolate zones of similar characteristics. Figure 2.7 displays complexity for a complex zone1 based on Digital Elevation Models (DEMs) analysis.

Both TRIs and TPIs grids illustrate the distribution of terrain heterogeneity and may be displayed in the form of a map as shown in Figure 2.7. Figure 2.8 display analysis result for four cases, also showing how terrain characteristics allow separating concerns about sensor layouts. Partitioning the ground according to terrain complexity is a preliminary operation for network layout and selection of the pair to pair radio transmissions, to be obtained through computer programs.

Setup of long distance radio communication links is di cult if there is an obstacle of the geographical topology. In smooth terrain areas, radio propagation can be considered as near line-of-sight (NLoS). In this case, the communication distance is expressed in relation to power reduction along the path. Free space path loss (FSPL) equation was proposed for this aim (see Section 4.3 and Equation 4.7 in Section 4.3).

Concerning complex terrains, the choice of a radio position can be application context dependent, topology-dependent, or it can come from a layout algorithm. Thus, it is critical to obtain a description of the zones covered by a signal, plus other characteristics such as propagation delay from the source, and quality of the signal. Section 4.3 will explain how this can be done using cellular algorithms which mimic the spatial physical propagation over the terrain.

Figure 2.10 illustrates the results of a coverage computation, from an expected source in the middle of the figure. The irregular yellow shape reflects the di culty to choose source and destination given that any position between them can interrupt the signal propagation. Deploying a network of several nodes on long distances is not tractable by hand.

Further experiments were done for Albert

Soummam area.

In all previous experiments, the ruggedness index values were obtained by executing massive parallel computation on GPUs using DEM (Digital elevation model) data from OpenStreetMap [START_REF]Slippy map tilenames[END_REF] based on cellular technology. The complexity of geography provides reasoning explains for radio signal propagation in the real world. It is a critical metric to evaluate the e ectiveness of routing algorithms, LoS algorithm as an example, for robust communications in WSNs. This is a critical reference in order to deploy e ciently wide area coverage networks for environmental sensing, especially in complex topographic areas.

With the cutting-edge of environmental control and surveillance, automatic observation systems are usually employed in complex geographic areas where are so hard for people to approach, if not impossible. The knowledge on the topographic complexity of zone helps to facilitate WSN deployments for monitoring environment in such areas. It also gives the overview that networks deployed in complex terrains obviously demand more nodes leading to its cost higher than in smooth areas. For these reasons, terrain complexity analysis provides critical references for network deployment aiming at enhancing the robustness and range of system and reducing the cost as well.

Observing physical phenomena

Another component for observation methodology is the necessary focus on the phenomenon to monitor. The nature of sensing varies a lot, depending on application fields. Sensing can be related to biology, climate, geology, human activities, or composition of parameters. Complex terrains will bring a complex behavior, as it is the case for radio signal propagation.

To illustrate the observation problem, let us consider heavy rain in the same region as in Section 2.1.5. The physical fact to be monitored is water streaming from the mountain to the river, then to the sea. Rain can be predicted from the meteorology services simulations, or just observed using radars, satellites, or ground devices. Causality for water flooding is the nature and shape of the terrain, sharing characteristics with terrain complexity and signal propagation. Cellular simulation presented Section 2.2 will compute propagation of water given an expected, or existing rain history taken from a public service (this case), or extracted from radar networks [START_REF] Huuskonen | The operational weather radar network in europe[END_REF] or satellite observations [START_REF] Eumetsat | Monitoring The Atmosphere, Ocean and Climate from Space -Transforming Our World[END_REF]. Figure 2.10 displays the water streaming from the mountain down to the river in this particular case of a heavy storm which profile is shown in Figure 2.12.

In the resulting maps, high values represent flooding and possible risks. This analysis demonstrates that simulation allows establishing dependencies between risks and positions. Choice of real sensing positions can be produced by computer programs. For example, the control that appeared in Figure 2.11 can connect to radio coverage zones and obtain measures from critical positions in the rivers. The di erence in communication latencies is another problem in the long range. This is also a place where computer tools can help to produce a schedule of sensor communication automatically.

The flexibility of cells embedding local parameters makes possible to represent many physical phenomena such as ocean or river wave e ects, rain e ects and flooding, air or water pollution, species behavior, sound, and alerts reachable zones, etc. Parallel algorithms were Figure 2.12 -Chart of rainfalls and water levels at two positions in the Soummam river zone during a tropical storm from 13 to 16 November 2017. The blue line shows rainfalls during 4 days recorded every 3 hours [START_REF] Worldweatheronline | Bejaia Historical Weather[END_REF]. The two lines in red, green color present water level at P1, P2 respectively (also see Table 2.2). The distance between P1 and P2 is 300 meters. Due to the significant slope of the ground surface in this complex terrain, a large amount of water was accumulated at lower points, causing a flash flood, and possibly a catastrophic landslide.

Mapping geographic space into cell systems 2.2.1 Geographic map and user interfaces

Several domains such as physics, medicine, or biology need sensing systems and geometric references. The case of geography includes necessary projections of a spherical surface into flat maps, with many options depending on applications, precision and considered location. Software tools exist for conversions [START_REF]Proj4 documentation[END_REF]. Designing observation systems implies to consider distances and geometry relating to the applications, and therefore use of one or several reference systems to manage physical phenomena and their perceptions coherently. This section proposes an explanation of map building and displays to support the meaning of map contents, and data abstraction for geo-localized information additionally fetched from other sources, including simulations. Tiled web maps are used to represent geographic data and to display information as flat graphics. This appears in proprietary software, or free access map systems such as OpenStreetMap. In Tiled web maps, the Earth is accessed by a projection rule called Web Mercator [START_REF]Bejaia Historical Weather[END_REF], and most often by a 3D designation mechanism XYZ used by web browsers and tile servers. The Z parameter provides a zoom factor from the whole Earth to more and more detailed view of the Earth fragments. At a given zoom factor Z, XY gives the 2D index of a tile inside the rectangle of tiles of this level Z. Based on this, tiles of graphical information is composed and delivered by servers to clients, usually in the form of 256 × 256 pixel images (Figure 2.14 presents a map composed from such tiles). These images are composed by a server rendering engine that extracts objects from a database and draws them according to some style (see Figure 2.13).

Figure 2.14 -Quickmap tool [START_REF] Lucas | Modélisations, simulations, synthèses pour des réseaux dynamiques de capteurs sans fil[END_REF] showing a tile coverage. For this case, zoom factor is 9, and last tile bottom right has x=251, y=177 indexes.

The browser Quickmap [START_REF] Lucas | Modélisations, simulations, synthèses pour des réseaux dynamiques de capteurs sans fil[END_REF] supports standard map tiles, including OpenStreetMap, and a variety of other items, either for maps or aerial images. This tool also allows to describes sensor systems, communication links, and mobile trajectories, for example, Low Earth Orbiting (LEO) satellites [4].

At a map browser level, users specify or observe geometric points relative to a zoom level. Real points are geographical positions, with coordinates specified according to the current projection system. In the case of QuickMap, they are double precision floating point numbers for latitude and longitude. Another concern is the necessity to use real distances in meters, over the Earth surface, for a task such as coverage computation. In the case of Web Mercator transformations between addressing mechanisms for (lat, long) absolute geographical specifications (x, y) distance in meters, (x, y) in pixels and XYZ tile access operations can be managed with formula from [START_REF]Google Summer of Code 2008, project GDAL2Tiles for OSGEO[END_REF].

Definition of cells

Geographical cells can now be defined as objects grouping local data, local system behaviors, and graphic representation. This is described as an object-oriented class, as variables, and methods that are strictly local to the cells.

• Cell locations are bounded to geometric locations on maps, in relation to tile containers, and when possible to geographical locations.

• Basic cell contents are extracted from the map or image fragment as supported by the browser tool.

• Cell content extensions are obtained from external databases. Most of the cases are digital elevations, and also climate, or weather characteristics and historical data.

• Cell size is chosen to match a particular physical phenomenon or sensing requirements.

• Cell behaviors are local procedures operating on a cell state. They need to be programmed to produce simulation data that in turn can be sent back to databases, or displayed on tiles.

Examples in Section 2 illustrate how geographical abstraction, representation, and simulation can interact (Figures 2.7, 2.10, and F.1).

Given a partitioning of a geographical zone into a cell system, we need to relate the observation system and physical behavior. The possibility to simulate physical processes will be of great help to correctly characterize a layout of sensors in connection with physical evolution.

Cellular automata (CA) allow modeling physical activities as processes that exchange information and evolve according to transition rules. The cell concept binds geographical fragments to such processes whose assembly is generated automatically.

Cellular automata principles

Synchronous systems

Cellular automata were invented by John Von Neumann and colleagues with the aim to build a self-reproducing machine abstraction [START_REF] Neumann | Theory of Self-Reproducing Automata[END_REF]. To support this goal, a two-dimensional space was configured with automata governed by a small set of states. This representation of space was used in several scientific domains and bound to physical behavior having similar properties [START_REF] Frisch | Lattice Gas Hydrodynamics in Two and Three Dimensions[END_REF]. CA can be described, and specified as a discrete space which associates cells.

In synchronous cellular automata, cells synchronously evolve, steps by steps, following a discrete time. Such CA have been described in a variety of languages and executed on specific machines [START_REF] Margolus | Cellular Automata Machines: A New Environment for Modeling[END_REF] following four simple patterns:

• The cellular space is represented by an assembly of similar cells. A common notion of neighborhoods defines local communications following observed physical dependencies.

The spatial organization can be either regular or irregular, possibly with disconnected subsystems as shown in Figure 2.17, item 3.

• The evolution of each cell is defined in a set of states as observed in a real system (quantities, colors, boolean). Change of states are operated by procedures associated representing transition rules from step to step: State t → State t+1 .

• The neighborhood represents physical dependencies, for example, signal propagation, or downward flooding. These dependencies are connectivities from cell to neighbor cells. Common neighborhoods are Von Neumann and Moore with 4 and 8 cardinal directions respectively. Item "Process architecture" in Figure 2.17 illustrates a Moore neighborhood.

• The transition rule defines the behavior of each cell evolution under influence of its neighborhood and local sensed influences. The state of the whole cell system synchronously changes, time step by time step.

Nondeterministic behaviors include random variation at the physical level. This was used in lattice gas simulation [START_REF] Hatzikirou | Lattice-Gas Cellular Automaton Modeling of Emergent Behavior in Interacting Cell Populations[END_REF] and to represent life cycle and species evolutions [START_REF] Traore | Modélisation cellulaire et simulation physique: contribution à l'analyse de la dynamique de population des insectes ravageurs[END_REF].

Variability in large systems and asynchronism

Considering large systems, synchronism and massive data parallel execution can be an obstacle, both in behavior modeling and performances because of sparse data spaces.

Asynchronous cellular automata were proposed to represent reactive systems where events are propagated in a way similar to Communicating Sequential Processes [START_REF] Hoare | Communicating sequential processes[END_REF]. However, in the case of physical simulation, sampling and time references are often mandatory. Variability of computation frequency can be obtained by isolation and simulation of subsystems. This was implemented on GPUs as related in [START_REF] Quesada-Barriuso | E cient GPU asynchronous implementation of a watershed algorithm based on cellular automata[END_REF].

The High Level Architecture (HLA) also allows to sequence cellular sub-systems at a di erent speed and to provide data exchanges between them. For example, [START_REF] Tran | A federated approach for simulations in cyber-physical systems[END_REF] shows a countryside simulation with forest, forest fire, sensors and river pollution composed together.

Thus, we can consider the grouping of cells into synchronous subsystems as an e cient way to manage variability. Composing simulations at a high level is shown in Figure 2.1, and was technically discussed in [START_REF] Tran | A federated approach for simulations in cyber-physical systems[END_REF].

Cellular automata parallel execution models

A sequential execution model will read states in an array A t for time t, and loop over, writing a similar array A t+1 . Once the step is completed, the two arrays are exchanged, and a new turn begins. CA is easy to parallelize preserving this behavior, grouping operations together and observing turns completion. Parallelism is mandatory because problems are large, if not huge, a lot of small cells can be critical for simulation precision, and some applications require to examine very large geographical regions.

• The synchronous distributed messaging model [START_REF] Lynch | Distributed algorithms[END_REF] can support parallel computation by associating cells to communicating processes. In this case, process progress by locked steps, based on messages being sent and received to or from neighbor nodes. The steps are split into two phases, one for communications with the neighborhood, the other to execute the transition rule. Figure 3.8 shows an internal node representation and the outside connection with three input and output links. This model does not need to specify the relative speed of processes, and can therefore be used for multicores or supercomputers. • Another way to take advantage of parallelism is to use data parallel Single Instruction Multiple Data (SIMD) processors to execute a group of processes simultaneously. Current graphics accelerators propose solutions up to two thousand processors working concurrently, and exchanging data synchronously in shared memory. State spaces must be copied to the accelerator memory, then a loop of steps can be run completely on the acceleration, which is very e cient.

Production of code from cell systems to this schema has been done for two targets:

1. Asynchronized Occam communicating processes [START_REF] Pountain | A tutorial introduction to Occam programming[END_REF][START_REF] Iqbal | Meta-Simulation of Large WSN on Multi-core Computers[END_REF] targeting KRoC compiler and multi-cores [START_REF] Barnes | Blocking System Calls in KRoC/Linux[END_REF],

2. CUDA code production [START_REF] Dutta | An execution flow for dynamic concurrent systems: simulation of wsn on a Smalltalk/Cuda environment[END_REF] targeting NVIDIA tools and accelerators.

Cellular systems work flow organization

Most of the work described in this article is supported by a set of dedicated tools from the University of Bretagne Occidentale (UBO). The design flow can be summarized as follows:

1. Zone selection is done by moving a graphical window anywhere, with any level of zoom. The tool extracts graphic tiles, and display the contents.

2. Cell segmentation is obtained by splitting the view into rectangles of a given size specified as a width × height value. Cells will carry an image and a geographical location from the underlying image.

3. Binding cell together and producing a cell system implies the choice of a connectivity (Moore, Von Neumann), and possibly filtering cells by colors or elevation. This step also injects external values from a variety of sources, including elevation.

4.

Adding behavior is programmed into the cellular system at the local level, given a cell system architecture that step 3 (Figure 2.17) automatically produces.

Steps 1 to 3 are interactive and can be achieved in minutes.

Step 4 is a concurrent programming activity specific to a concurrent platform which requires elaboration of CA transition rule and coding for the target platform. Physical phenomena simulation can reveal places of interest for sensing. In the case of flooding, simulation track accumulation and circulation of water.

In complex terrain areas, heterogeneity of topologies seriously impacts the quality of radio links, especially for low power and long-range communication networks. Di erent propagation models allow representing the median of the expected path loss such as the Longley-Rice model, the ITU model, the Okumura-Hata model, as described in Section 4.3. Section 4.4 gives details on experimental measurements, with the communication distance checked to be around 5 km in complex urban area and up to 20 km in rural and shore ones. Experiment results shown in Table 2.3 confirm the interest of a computer-aided approach. It may be concluded that communication in a LoRa network is strongly dependent on the considered environment. Hence, the actual coverage prediction must take topographic complexity into account as a critical factor. An assessment of physical simulation was also conducted for flash flooding problems (Section 3.2). This algorithm was applied to the practical case of an intense rain found on June 3, 2018, and compared with flooding observations. The rain occurred in a rough terrain urban area and the simulation was able to retrieve major flooding places and level of water. There is a major interest in this kind of physical simulations that reveals places of interest for sensing and establish causality between events. The UBO tool-set is easy to use for cellular system generation. Implementing cellular transition rules, tuning and verifying these rules necessitate in-depth investigations. Several domains were investigated, from sound propagation to insect behaviors. Thus the methodology appears very general and flexible (see Table 2.4).

Pickcell/NetGen tools enable selecting either Von Neumann or Moore neighborhood for distances 1 and 2 [START_REF] Kari | Theory of cellular automata: A survey[END_REF][START_REF]Cellular Automata[END_REF] as segmenting and weaving processes to generate cell system. Grid data produced by NetGen [START_REF] Pottier | Dynamic networks : Netgen tools[END_REF], the scale is determined associated with a neighborhood of regular grid cells. For this reason, it should consider carefully which scale is most appreciate with both phenomenon and landscape being analyzed.

Parallel programs implement described algorithms very e ciently (Tables 2.5 and 2.6. E ciency is mandatory if space exploration strategies are to be developed. This chapter presents the development of cellular distributed algorithms for physical phenomena simulations based on cellular automata approach. Section 3.1 provides an overview of cellular automata technology. The classification of distributed algorithm computations on a cellular system and how to map these algorithms on di erent architectures are described. Section 3.2 presents the cellular simulation of flash flooding taking into account geographic topology. A distributed parallel algorithm is developed to compute rainwater distribution with respect to the di erence of elevations. Section 3.3 describes two study cases on flooding simulation in Guadeloupe and Morlaix city, France for validation and evaluation the correctness of simulation results.

Cellular system

A physical system is defined by a portion of the physical universe. For example, the radio signal propagates in space that could be a ected by obstacles along its path or environment. Due to sophisticated behaviors and large scale, the model of systems confronts many issues. Cellular automata (CA) has been utilized for modeling the system.

Cell system: First, cell system composes of a set of cells is defined based on the CA model. Each cell holds its local characteristics (as parameters of state) such as longitude, latitude, elevation, and received power. In addition, cell has connections and directions to its neighbors (adjust cells, Figure 3

(E) (1,0) 0 East (E) (1,0) 0 North (N) (0,-1) 1 North (N) (0,-1) 2 West (W) (-1,0) 2 West (W) (-1,0) 4 South (S) (0,1) 3 South (S) (0,1) 6 North-East (NE) (1,-1) 1 North-West (NW) (-1,-1) 3 South-West (SW) (-1,1) 5 South-East (SE) (1,1) 7
Table 3.1 -Direction encoding for CA Von Neumann and Moore topologies.

Cell behavior:

A series of systematic processes to simulate physical phenomenon defines the behavior of a cell. In synchronous distributed systems, at each step cell behavior that consists of several procedures, must send a message, then process incoming message and compute local values for the next state.

Cellular system topologies

From Figure 2.17, we had learn that cell systems are suitable to present zones extracted from geography.

1. Browsing the geography: Firstly, a zone planned for a WSN deployment can be chosen by moving on QuickMap browser. This geographical tile browser provides a various kind of map as illustrated in Fig. 3.2). Other functions include sensor placements either manually or randomly. The browser can also display building file descriptions, or mobiles such as drones, Low Earth orbit satellites [4]. A window allows to select and control the cell system organization with a number of parameters. One of them is the connectivity between cells according to cellular automata concept. Four kinds of standard neighborhoods are provided such as Moore with eight connections representing physical influences.

Segmentation and classification:

Another window allows controlling weaving of physical cells to form complete cell systems or a selection of subsystems. To obtain subsystems, it is necessary to apply a classification algorithm. Standard classifications include Red-Green-Blue color space analysis or/and according to required parameters with repartition into a number of sub-cubes. Cell systems are produced by retrieving data from a geography server for geo-locations (latitude, longitude) such as OpenStreetMap. Moreover, the cell system could be integrated into further information sources, for example, ground elevations and/or weather data including wind, rainfall, and so on by retrieving from NASA Shuttle Radar Topography Mission (SRTM) and public weather services respectively. Figure 3.6 will output an organization of 52712 cells in the cellular system.

Cellular systems production

To generate input data for simulators automatically, NetGen [START_REF] Pottier | Dynamic networks : Netgen tools[END_REF] is developed as the last facility of tool-set Quickmap/PickCell/NetGen that facilitates implementing simulation processes based on CA methodology. It enables to produce data for simulators both in Occam [START_REF]Occam 2.1 Reference Manual[END_REF] running on multi-cores CPU and CUDA performing on NVIDIA Graphics Processing Unit (GPUs) [START_REF] Nvidia | NVIDIA Developer[END_REF]. In addition, a visual graph for the abstract network of cell system could be produced by this tool. This graph presents the relationship between cells, considered as processors, and directed links within the cell system to exchange data.

Algorithmic models

Depending on the behavior of the process, distributed algorithms on a cellular system could be classified into four major types as following:

1. Pure local computation: In order to perform distributed algorithms on a cellular system, it is critical that every cell (process) 1 cell must realize about adjacent neighbors. This knowledge is obtained by sharing cells' values together via communication channels. For instance, each cell can at first broadcast its identity (id) to all connections which are assigned unique values (linkIndex) corresponding to cardinal directions to allow management. After divulgating their own id, the cells need to obtain information from neighbors. Based on obtained messages id associated with linkIndex, each cell can explore all its neighbors around in terms of (id, linkIndex). Another example is ruggedness index computation in which the metric of the topographic roughness of each cell is figured out using received elevation values from surrounding neighbors, as mentioned in Section 2.1.

Discuss computation:

In some physical simulations (e.g. radio signal propagation or pollution di usion in water or air), the processes are required to explore the space step by step. The number of steps, n, should be considered as the diameter of an abstract dish being made from all engaged cells.

Symmetric global computation:

To explore the topology of all network properly every node must be executed the process for information exchange relied on message passing at least MaxNodes rounds, where MaxNodes is a number of nodes. Apart from being obtained knowledge about the attributes of surrounding neighbors such as nodes' latitude, longitude, and elevation, the maximum diameter of all networks may be another target at the convergent time of processes. This diameter is always less than MaxNodes and afterward, it becomes a new e cient value of round for other processes.

4. Dissymmetric explore computation: Routing messages from one process to the other processes is a mandatory task in WSNs. In this case, the order of processes (cells) in a routing path is important to switch a message towards a definite destination cell. For this reason, the distributed computing processes must be performed in proper order.

Mapping algorithmic models on di erent architectures

The CA execution model is a synchronous distributed model (see [START_REF] Lynch | Distributed algorithms[END_REF]) that can be formulated to represent physical systems. It can also be simulated on high-performance architectures due to the presence of implicit barriers that isolate evolution stages on discrete time boundaries. Time steps produce a high level of parallelism suitable for most of the high-performance computer architectures: thread-level parallelism on multi-core computers, Graphics Processing Units (GPU), FPGA [START_REF] Bouazza | Implementing cellular automata on the ArMen machine[END_REF] or message passing supercomputers. In a simulator implementation, cells are naturally associated with processes. Barriers isolate communications from state evolution. All communications are achieved on incoming or outgoing bu ers, read and fed by the transition program: Communicating processes such as Occam [START_REF]Occam 2.1 Reference Manual[END_REF] or varieties of message passing. Communications are achieved on blocking channels that infers barriers. Figure 3.8 shows the internal organization of processes.

GPUs communication are achieved by a specific code copying bu ers to bu ers inside shared memory. Each cell has an identity used to execute these copies.

Due to the code generation in the tool framework, it is possible to connect processes by channels, as it is the case for Occam, or by indexes on neighbor bu er arrays (Table 3.3), as it is the case with CUDA. Algorithm 1 and 2 are two fragment code for neighbor exploration in the network in Occam and CUDA respectively that provides a brief comparative explain about concurrent processing on multi-core CPUs and massively parallel processing on GPUs.

Flash flooding simulation on a complex terrain

To illustrate cell system interactions and behavior, we use the example of a zone receiving and flooding rain, as discussed in Section 2.1.6.

Managing space

Space is defined by geographical coordinate bounds, and a possible selection operated on cells. Selected cells have common properties, such as an elevation above or under a threshold outMessages[i] ! localValues level (Figure 2.17, step C), some color characteristics, or some signature produced from observed parameters. Thus the cell system can be rectangular or have arbitrary shapes and isolated subsystems. Practically, cell systems first appear as arrays of objects that carry geometric coordinates, geographic coordinates, and a pixel array extracted from the original image.

Besides the zone structure, designers need to specify neighborhood, representing local physical influences and producing the necessary connectivity between processes. We can just admit that the space animation will be obtained by messages exchanged between neighbors. Execution software and hardware will allow adaptation to the intermediate communicating process model.

The case of rain reveals several interactions:

1. Millimeters of water falling on the ground. For this simulation, we admit that the quantity can vary with over time, but will remain uniform.

Algorithm 2 explore Neighbor cells in CUDA end if 24: end procedure 2. Water disappearing locally for reasons such as absorption or evaporation.

Water passed locally from cell to cell according to elevation di erences.

Other cases include di erent specific problems for signal propagation (Chapter 4), sound propagation [START_REF] Keita | Physical models and perception, contributions to sound analysis in urban environment[END_REF], or insect swarms behavior [START_REF] Traore | Modélisation cellulaire et simulation physique: contribution à l'analyse de la dynamique de population des insectes ravageurs[END_REF]. For flood modeling, Von Neumann neighborhood is convenient. Figure 3.9 shows such a neighborhood, with the North cell lost, and some elevation di erences appearing above and below a center cell.

Transition rule

Each cell will receive rainwater, dispatch part of this water to neighbor cells with lower elevation, and absorb another part. A complete study will take into account the ground specific characteristics, and current weather2 . While real dependencies are water leaking from cell to cell, the abstract behavior is represented by messages sent and received to and from neighbors. Vertical water behavior is directly encoded in the transition rule that can be specified as follows:

t: time t represented by a step number

Q t :
water quantity in a center cell at the beginning of time step t α t : rainfall at time t β: percentage of water remaining on each cell after each step cell i .elevation: elevation value of cell i cell c .elevation: elevation value of center cell δ i : the di erence of elevation between neighbor cell i and the center cell ∆: sum of all elevation di erences outF i : amount of water out coming from center cell to neighbor cell i inF i : amount of water in coming to center cell from neighbor cell i

The water quantity of center cell at time t + 1 after local absorption is

remaining = Q t × β (3.1)
But the center cell receives rainfall within its area as following

rain = α t (3.2)
The quantity of water coming from neighbors is taken into account

received = n i=1 inF i (3.3)
where n is a number of neighbors of the center cell.

A center cell also has to distribute water to surrounding neighbors in the proportion of elevation di erences. This is calculated as follows

δ i = cell c .elevation -cell i .elevation (3.4)
It is obvious that the water of a center cell only flows to neighbor cells with lower elevations so that only positive values of delta i are used to compute the total proportion of all di erences

elevationAbove = ∆ = δ i , ∀δ i > 0 (3.5)
Equation 3.6 figures out the amount of water that a cell distributes to its lower neighbors. For higher elevation neighbors, with δ i < 0, there is no water flowing out, outF i = 0.

sent i = outF i = Q t × (δ i /∆), ∀δ i > 0 (3.6)
Eventually, center cell updates its own quantity of water by adding and subtracting. The whole system executes a synchronous transition from t to t + 1.

Q t+1 := remaining + rain + received - n i=1 sent i (3.7)
Notice that this transition rule needs to know the neighbor relative elevations cell i .elevation.

Algorithm of rainwater distribution

By adopting CSP (Communicating Sequential Processes), rainwater distributed computing process comprises four main steps with a main loop including step 3 and 4: In reality, physical rules will discover these relations naturally. In the case of simulations, a preliminary procedure called neighborhood discovery, as shown in Algorithm 3 is executed to establish initial knowledge such as the number and the elevations of cells around. Note that the following Algorithms borrow some keywords such as SEQ , PAR, ALT, etc. from Occam programming language [START_REF]Occam 2.1 Reference Manual[END_REF].

Case Studies

The complexity of terrains is one of key factors causing flash flooding during heavy rain episode. To validate simulations, we did two experiments with two di erent terrains: a volcano mountain area in Guadeloupe island and an urban area in Morlaix, France.

Fist case study in Guadeloupe, France

The West of Guadeloupe has several mountains such as La Grande Soufrière, the highest mountain peak in the Lesser Antilles, with an elevation of 1467 meters or Citerne volcano. Because of the terrain complexity of this area, the high risk of flash flooding and mudslides must be studied intensively.

Maria hurricane hit Guadeloupe, one of five overseas regions of France. This is an island in the Caribbean sea where has su ered many tropical storms and hurricanes every year. This natural disaster caused a lot of serious impact on all aspects of human beings as well as economic and social development. According to Caribbean3603 At least two deaths and large areas were destroyed. It is also 80000, or 40 percent, of the homes on the island, were without power in several days. "The total economic cost of Maria was roughly estimated around USD65 billion" as mentioned in an o cial report of Aon Benfield4 .

Algorithm 3 Water distribution and flooding computation.

1: PROC Flooding()

Second case study in Morlaix, France

Another case study is to predict flash flooding due to heavy rain during a storm in Monday, June 3, 2018 in the town of Morlaix, France 5 . The objective is to validate the accuracy of our proposed tool for flash flooding, especially for complex terrain areas.

Apart from data grid produced by QuickMap/NetGen/PickCell, to execute flooding simulation, it is necessary the rainfall values measured in every hour during a storm, hurricane, and so on as input data. The data can retrieve from the database of weather broadcast services such as meteofrance.com, meteoblue.com, etc.

Conclusion

Our proposed simulator is useful to predict risk places where flooding due to heavy rain may occur.

In fact, flood simulation utilized the frame tool flow as what was being used for radio signal propagation simulation and radio coverage prediction as explained in Section 3.2. For this study time step was one hour, we keep β at 20%, α t rainfalls were taken from public websites shortly after the episode.

For backend process in physical simulations, the set of cells having the same characteristics (e.g. the communication range of a LoRa WSN in reality, the boundary of risk zone due to flash flooding) can be highlighted on the map by performing parallel convex hull algorithm as presented in Appendix D.

It leverages further intensive studies for reducing the risk of natural disasters, especially in complex topographical areas. It gives many benefits to the local resident's lives in terms of human aspects, as well as economic activities by informing of the risks of their position regarding exceptional events.

4

Signal Propagation and Communication Modeling (also in [1] pages [START_REF] Ismail | Low-Power Wide-Area Networks: Opportunities, Challenges, and Directions[END_REF][START_REF] Saifullah | SNOW -Sensor Network over White Spaces[END_REF][START_REF] Saifullah | Enabling Reliable , Asynchronous , and Bidirectional Communication in Sensor Networks over White Spaces[END_REF][START_REF] Oliveira | Wireless Sensor Networks: a Survey on Environmental Monitoring[END_REF][START_REF] Mekki | A comparative study of LPWAN technologies for large-scale IoT deployment[END_REF][START_REF] Truong | Wireless sensor network: Long-range radio coverage for complex terrain areas[END_REF] The content of this chapter focuses on modeling of radio signal propagation and communication with LoRa as a study case.

Section 4.1 provides an overview of Semtech LoRa technology allowing low-power, long-range radio communications for environmental monitoring applications.

In Section 4.2, parallel algorithms for cellular long-range coverage computation is presented in detail.

Section 4.3 introduces about radio wave propagation models such as free space path loss, single knife-edge di raction and Okumura-Hata model for signal propagation model taking into account the impact of transmission environment.

Section 4.4 describes the case studies in four typical di erent terrain areas in Brittany that were done for validation of LoRa coverage prediction based on cellular simulation approach.

Semtech's LoRa technology: a brief overview

In this section, we will describe how radio signals propagate, and LoRa radio protocol such as range, power, delays, and data rate.

Principles and issues

Radio signal propagation is a physical phenomenon where radio waves spread out from one point (the emitter) to other listening points (the receivers). Because a radio wave is a form of electromagnetic radiation it obeys to principles of physics such as reflection, refraction, di raction, absorption, polarization, and scattering [START_REF] Seybold | Introduction to RF Propagation[END_REF][START_REF] Rappaport | Wireless Communications: Principles and Practice[END_REF][START_REF] Haykin | Modern Wireless Communication[END_REF]. As a result, the quality of a received signal is a ected noticeably by these physical phenomena corresponding to transmission conditions such as free space, or obstacles such as the shape of the ground, the existence of vegetation, or high buildings. To deploy a long-range wireless sensor network e ciently, it is also necessary to predict the coverage of each emitter, calling a base station (BS), and to estimate the strength of received signal (RSSI) for each receiving node locations (called sensors). Many studies have addressed the modeling of path loss such as free space path loss (FSPL), or Okumura-Hata model [START_REF] Aref | Free space range measurements with Semtech LoRa technology[END_REF][START_REF] Phillips | A survey of wireless path loss prediction and coverage mapping methods[END_REF][START_REF] Hrovat | An Open-Source Radio Coverage Prediction Tool[END_REF][START_REF] Valcarce | A GPU approach to FDTD for radio coverage prediction[END_REF]. The relation between general purpose radio coverage and geographic modeling by ray tracing was addressed by authors such as [START_REF] Yun | Ray tracing for radio propagation modeling: Principles and applications[END_REF][START_REF] Christoph | Algorithms and software for radio signal coverage prediction in terrains[END_REF][START_REF] Goursad | Dedicated networks for IoT: PHY/MAC state of the art and challenges[END_REF].

Another important topic is the way signals are modulated to represent information. Chirp Spread Spectrum (CSS) modulation is a key technique used in Semtech's long-range technology. CSS has been widely used, starting from radar applications since the 1940's. LoRa modulation uses the frequency of the carrier, applying continuous linear increases (up-chirp) and decreases (down-chirp) over time, while encoding information. This defines LoRa transmissions as a trade-o between low data rate for long-range communications, and low-power consumption, because CSS provides an ultra-long-range spread spectrum communication with high interference immunity consuming low energy. Consequently, the communication range can be reached up to several tens of kilometers for real sensing networks that can be deployed in areas having a high density of interference sources [START_REF] Mikhaylov | Analysis of Capacity and Scalability of the LoRa Low Power Wide Area Network Technology[END_REF][START_REF] Toussaint | Performance analysis of the on-the-air activation in LoRaWAN[END_REF][START_REF] Kim | Cooperative downlink listening for low-power long-range wide-area network[END_REF][START_REF] Augustin | A Study of LoRa: Long Range & Low Power Networks for the Internet of Things[END_REF][START_REF] Cattani | An Experimental Evaluation of the Reliability of LoRa Long-Range Low-Power Wireless Communication[END_REF][START_REF] Petäjäjärvi | Performance of a low-power wide-area network based on LoRa technology: Doppler robustness, scalability, and coverage[END_REF].

These features of LoRa match requirements of remote sensing systems in which a small chunk of data produced by sensing devices is registered, then sent to the base station to feed decision systems. This collection takes place periodically aiming at preserving the lifetime of battery power supply in sensor nodes. According to datasheet specifications for LoRa transceivers, communication range and data rate are inversely proportional. LoRa transceivers work with center frequency (CF) in the range of 137 MHz to 1020 MHz (sub-1GHz), programmable in steps of 61 Hz. It makes LoRa well suited to various regions where the policies on industrial, scientific and medical (ISM) radio bands are di erent. There is a set of LoRa parameters consisting of bandwidth (BW), coding rate (CR) and spreading factor (SF) to define an appropriate trade-o depending on the priority order of applications such as transmission range, communication duration time, and energy consumption [START_REF] Bor | LoRa Transmission Parameter Selection[END_REF][START_REF] Bor | Do LoRa Low-Power Wide-Area Networks Scale?[END_REF][START_REF] Bankov | On the limits of LoRaWAN channel access[END_REF].

For each SF configuration symbol rate, a number of transmitted chips per symbol, can be computed as in[107, [START_REF] Semtech | LoRa Modulation Basics[END_REF]160] Chips are binary elements in CSS transmissions.

R s = R c 2 SF = (symbols/s) (4.1)
As a derivative of CSS, LoRa chip rate equals the bandwidth of the signal

R c = BW (chips/s) (4.2)
as a result, the symbol rate is

R s = BW 2 SF (symbol/s) (4.3)
The modulation bit-rate is given by

R m = SF × BW 2 SF (bits/s) (4.4)
Due to the inclusion of a forward error correction code that increases the robustness of radio link against interference bursts, the bit rate of LoRa becomes

R b = Rm × CR(bits/s) (4.5)
where CR equals 4 4+n with n configurable values from 1 to 4.

LoRa: bandwidth

The values of the data rate in The coding rate CR is used for cyclic error coding to detect and possibly correct the disruption of packets with errors. For example, coding rate 4/5 means that coder generates 5 bits of data composed of 4 useful data bits and 1 redundant bit for checking. This parameter is chosen according to the e ect on the environment on propagation conditions: weather, the density of interference.

LoRa: Spreading factor

Another vital parameter for LoRa performance tuning is the spreading factor (SF). SF can be defined as a function of received signal-to-noise ratio (SNR), having an impact on data rate and having a significant e ect on characteristics: time on air of packets, energy consumption as well as receiver's sensibility, communication range (see Table 4.4 for theoretical latencies). The number of chips per symbol is calculated as 2 SF (see Table 4.

3).

As mentioned in the Semtech technical document [107], even though spreading factor can be selected from 6 to 12, SF=6 is a special case for the highest rate transmission. This setting requires special operating conditions such as a specific header. An advantage of using di erent SF is to establish virtual sub-channels to communication at the same time using the same center frequency without any collision because these modulated signal are orthogonal to each other.

Parallel algorithms for cellular long range coverage computations

The cellular approach is based on splitting an image (or abstract data representation) into a discrete regular cell system. When the physical space description is obtained, we are interested to compute reachable cells in the line-of-sight from emitting positions. Each cell is represented by a process either in software (occam thread processes) or in hardware (processing elements in a graphics accelerator). Processes are connected by channels that allow to send or receive information from neighbor nodes according to a chosen neighborhood: (W, N, E, S) as an example, or a more complete Moore neighborhood with 8 nodes.

Simulation is achieved in a lock-step fashion by cycling on a synchronous parallel program: communicate with neighbors, observe local status (sensing), decide about a new status and prepare next cycle communications. This mechanism defines a physical machine as a distributed product of automata of any shape.

The line-of-sight represents a ray broadcast in any direction from an emitter. The ray propagation can be stopped by ground topology (hills, valley). Cellular simulation mimics the physical behavior by propagating the signal inside a tree rooted at the emitter cell and covering all the space in concentric circles. Each new step in the algorithm covers a new circle, and the computation finishes at 2log(n) steps where n is the number of cells. During ray propagation, the elevation ground profile is collected into routes that are completed progressively based on positions and elevations. Each cell can decide if the emitter is visible or not by comparing its elevation to the received profile. This algorithm can be identified as a synchronous Breadth First Search [START_REF] Lynch | Distributed algorithms[END_REF], while radio propagation estimation follows technical rules described in [START_REF] Itu-R | Propagation by di raction[END_REF] and [START_REF] Rappaport | Wireless Communications: Principles and Practice[END_REF]. Once a geographic space has been selected, a concern is to compute reachable cells in the line-of-sight from an emitting position. According to section 2.2.4, we admit that each cell is represented by a process, and simulation is achieved by cycling on a synchronous parallel program: communication with neighbors, updating the local state, and preparing next cycle communications. The line-of-sight (LoS) is a ray broadcast in any direction from a root emitter. Propagation will be stopped or modified by ground obstacles such as hills, valley, etc. The simulation parallel algorithm mimics the physical behavior by propagating the signal inside a spanning tree rooted at the emitter cell, and covering progressively all the space in concentric "circles" as shown in

General idea

Vertical model

Signal propagation progresses in steps according to the time. It builds progressively a route from the emitter to any other cell, as an array holding traversed locations and signal parameters (Figure 4.2). As it is the case for most of the cellular simulation algorithms, nodes start with a discovery stage, where geometric coordinates are exchanged to bind communication channels to cardinal directions. This is mandatory to deal with the irregularity of cell system shapes as shown in Figure 2.17, step (3), and also to maintain horizontal signal direction, as discussed in Section 4.2.3.

To start the building a propagation, an emitter has to initialize a tracing route with its own identity and geographic location. Other cells start their processes with an empty tracing route. Note that the tracing route, in this system, is the payload of the message for communications within the cell system. The root cell then sends its message to all neighbors via eight directions from the Moore neighborhood. Each cell accepts only one message then assigns the corresponding owner of the accepted message as its parent. This cell must send an acknowledgment message back to the parent cell to confirm the dependency relationship between them. The next step in the transition rule is to insert its own location into the tracing route, then to pack routes and spread out to neighbors. If size is the maximum between width and height then at most, size rounds are necessary to cover an entire zone.

Horizontal model and Directed Breadth-First Search

The original Breadth-First Search (BFS) algorithm builds a tree covering a whole network starting from a root position. For radio propagation, this tree would allow reaching any cell in a minimum number of steps, propagating a route to this cell without managing signal horizontal directions. In the case of radio signals, there is the necessity to guide the route horizontally to maintain the best approximation of a straight line. A sequential algorithm that reduces horizontal errors to a minimum was suggested by Bresenham to draw graphic lines on bitmaps [START_REF] Bresenham | Algorithm for computer control of a digital plotter[END_REF]. In our case, it was preferred to find a parallel distributed approach based on Directed BFS (DBFS), that could also match particular geographic or electromagnetic dynamic considerations. Input: cell i and its neighbors cell j 3:

Output: cell j .visible end for 12: end procedure algorithm according to an emitting node and some target receivers.

At the di erence of a BFS, the cell transition function makes a decision on receipt of route messages based on the source position and its own source position. It adds its data to the route, and it forwards the route to neighbors of interest. The neighborhood was discovered at initialization stage, associating link indexes and cardinal directions.

Radio signal propagation on complex terrains

Radio propagation models are used to describe the qualifications and reliability of links using radio frequency. These models based on the physics of the di usion of electromagnetic waves with respect to both constructive and destructive interference of environment. They can be practically applied to parameters inside routes transmitted from cell to cell, according to Section 4.4.

Free space path loss (FSPL) is the simplest model based on the Friis transmission equation. By assuming unobstructed along the transmission path, FSPL represents the lineof-sight decay of an electromagnetic wave as a function for distance only. This model exposes significant limits for complex terrain areas. Empirical path loss models were proposed to cope with the e ects of turbulent terrains. An advantage is that these models attempt to estimate power loss as a function of distance and radio frequency taking into account the terrain heterogeneity as well as the e ects of real transmission environment [START_REF] Rappaport | Wireless Communications: Principles and Practice[END_REF][START_REF] Seybold | Introduction to RF Propagation[END_REF].

Free space path loss model

In terms of radio communication, a free space condition is a region where there is no obstacle along the propagation path of radio waves. A radio signal is emitted by a transmitter and then it propagates in any direction at the speed of light. In this case, the signal energy can be received by an antenna in inverse proportion of the distance away from the signal source. In addition, the received power depends on the transmitted power, and gains of both transmit and receive antennas. Fading margin and other loss such as system loss, cables, connectors are also considered. The power of the signal is lost on the path is called the Free Space Loss represented by

F SP L = 20log 10 ( 4Πd λ ) (4.6)
Algorithm 5 is derived from Equation 4.6 in order to describe how to calculate the attenuation of signal power due to free space path loss. In consequence, the free space power received is given by equation 4.7, the Friis free space equation [START_REF] Rappaport | Wireless Communications: Principles and Practice[END_REF]. end for 9: end procedure

P r (d) = P t G t G r (λ) 2 (4π)

Single knife-edge di raction model

Di raction appears around objects such as buildings, vegetation, etc. The losses caused by these obstacles can be described by a Knife Edge Di raction model. This is considered as a function of the path di erence around the obstacles and could be explained by Fresnel zones. Di raction loss of signal after a knife edge is calculated as a function of the Fresnel parameter v.

v = h( 2 λ ( 1 t t + 1 d r )) (4.8)
where h is the height of obstacle. d t , d r are the distances from the obstacle to the emitter and the receiver, respectively. Algorithm 6 demonstrates the computation of received power within a shadowing area because of a single knife edge obstacle. di Power = fsplPower -di Loss 15: end procedure

L(v) = 6.9 + 20log( (v -0.1) 2 + 1 + v -0.
In Algorithm 6, receivedPower is defines as the signal strength in dBm obtained at a receiver. In addition, sensibilityPower is the minimum value of signal strength in which condition a receiver can detect and demodulate a message successfully.

Okumura-Hata model

This is a dedicated radio propagation model to predict the path loss regarding geographic environments such as urban, suburban, and open areas [START_REF] Rappaport | Wireless Communications: Principles and Practice[END_REF][START_REF] Seybold | Introduction to RF Propagation[END_REF]. The formula for the Okumura-Hata model is given by The model is valid for radios using carrier frequencies from 150 to 1500 MHz with an e ective height of antennas from 30 m to 1000 m and distances ranging from 1 Km to 100 Km. Table 4.5 -List of a(h m ) and K values for each type of area [START_REF] Rappaport | Wireless Communications: Principles and Practice[END_REF].

L =

Type of area a(h

m ) K Open [1.1log 10 (f ) -0.7]h m -[1.56log 10 (f ) -0.

Four case studies on LoRa coverage prediction

The following case studies were investigated with the credible installation positions for base stations (BS) controlling hundreds of sensors. To evaluate the impact of transmission environment on reliability and robustness of radio links, several places with di erent terrains in Brittany, in France were selected for our intensive investigations. Okumura-Hata model was used for radio coverage computation in all following case studies.

Case study 1: Pont de Plougastel

This experiment shows how the radio signal propagates in good conditions without obstacles. The base station was installed on a bridge dominating Bay of Brest at a height of 30 m. A car was traveled with some stop to sample the emitted signal. In the order of 100 points were analyzed. The experiment shows that the radio is received at a long-distance but blocked by the shore obstacle in the south. A place closed to the Science Faculty was selected that dominates a valley leading to the Penfeld river (Figure 4.8). The car was circulated in the north and south part of the city to evaluate a line-of-sight simulated prediction presented Section 4.3.1.

The simulation was found to be pessimistic with an 80% accuracy on reached points, and some cells reached outside the predicted coverage.

Case study 3: Roc'h Trevezel

This third case have required a visit to Arrée Mountains in central Brittany. These mounts culminate at less than 400 m and are the site chosen for TV/Radio antenna.

The car was driven in a loop, up to 10 km showing a good accuracy of simulation prediction.

Case study 4: Brest harbor

This experiment was done at a high point near Brest railway station and harbor. This is a flat zone, but there are some buildings and big cargo containers. Besides, this zone is also crowded with tra c.

Revendications

Appendix F and E present how to develop hardware and software tool supporting for experimental measurements of radio coverage predictions in di erent complex terrains.

In summary, radio waves blocked by obstacles and propagation loss in proportion with a point-to-point distance need to be concerned to optimize communication ranges. Terrains to be covered can be classified and partitioned as smooth, or rough according to metrics (Section 2.1). In smooth terrain areas, radio transmission can be considered as a near line-of-sight (NLoS). As a result, the issue of topologies can be almost neglected and the communication distance is expressed in relation to power reduction along the path. The free space path loss (FSPL) equation was proposed for this aim (Section 4.3). For example, using LoRa technology for a point-to-point connection in NLoS conditions, the distance for transceiving data is expected to reach hundreds of kilometers [START_REF] Manuka | Balloon project[END_REF].

The experiments validate that line-of-sight (LoS) algorithm is more reliable for smooth terrain area. It goes down in proportion to terrain turbulence. Even though most of our measurements in a variety of topographies, the accuracy of simulation results is approximately 80 percent.

Multi-scale data space

The NetGen tool automatically produces data for simulations. Geo-location (latitude, longitude) plus elevation is produced for every cell in a regular grid. Data presented as a grid is fit to manipulate by processes based on cellular technology being speed up by performing on multi-cores CPUs or GPUs. This intrinsic errors of data inherited from SRTM-30 data sources, like other spatial data sets, are exclusive and constitute uncertainly [START_REF] Zhang | Scale in Spatial Information and Analysis[END_REF].

Gridded SRTM-30 provides a discrete representation of continuous terrain surface. With the resolution 30 × 30 meters in the grid, the elevation on the ground may vary and based on sampling scheme. Sampling scheme refers either the technique to capture elevation values directly (using handled GPS, photometric as LiDAR, so on) or the algorithms for filtering and interpolating processes. If the sampling scheme is a grid cell is inappropriate, the resulting grid may be prone to serious errors [START_REF]Shuttle Radar Topography Mission (SRTM) 1 Arc-Second Global[END_REF][START_REF] Hutchinson | Representation of terrain[END_REF]. Figure 4.16 -Data spaces with di erent scales increasing by two are produced by filtering points alternately from the higher resolution data source. For example, data space (A) is in resolution 5 × 5 pixels. After filtering alternately points in both dimensions data space (B) is produced in 10 × 10 pixels. By applying the same process on data (B), data space (C) with resolution 20 × 20 pixels is carried out.

To evaluate the impact of changing resolution on the accuracy of coverage computation, we do statistics on several input data sets corresponding to various resolutions of cell pixels. First, a new data space with half the resolution in both width and height is produced by filtering alternative points of the higher resolution data set (see Figure 4.16). Following the same way, several data sets are prepared for our analyses.

In Figure 4.18, a bar chart for each experimental analysis, using cell resolution 5 and 10 pixels for the Roc'h Trevezel as an example, is comprised di erent percentage errors from 0% to 100%. In our analyses, there are five percentage error elements because the spaces are divided by two to obtain di erent cell sizes. 0% means that the computation results are exactly matched for two data grids with di erent resolutions. Otherwise, 100% refers two computation results are totally mismatched together. The other percentage errors can be analyzed in the same way.

The chart in Figure 4.18 shows the percentage error elements for each experiment. Additionally, using higher fine-grained grid data gives more accurate results. Although, it is necessary to compromise between reliability and workload of processes respect to phenomena which need to be observed. The overall accuracy of the approximation in a segmented system is described by the maximum error causing at any cell. For this reason, the potential error components will be discussed in the previous section, both through theoretical analysis and empirical study. However, in this work such errors of the SRTM-30 source can be neglected, we just focus on the errors could be occurred when changing the resolution of the cell system. The accuracy of LoS algorithm for coverage prediction with di erent scales are shown in Figure 4. [START_REF] Saifullah | SNOW -Sensor Network over White Spaces[END_REF]. With the same resolution, the accuracy of computation is greatest in flat terrain and decreases in steep terrain. From these theoretical analyses, it can be concluded that segmented data should be in higher resolution for complex terrain areas than other areas in smooth areas. For data space generated by PickCell tool, a regular grid system, data size is an exponential function of the resolution of cell in pixels. Thus we must pay for higher accuracy by losing the impressive performance of massively parallel processing. Our suggestion is that the best compromise must be achieved between the accuracy of results and performance of processing. The user must be responsible for knowing what scale is reasonable for their analysis which should be matched with the physical objects and relevant for the phenomenon being analyzed to improving the accuracy of results.

Latency in long-range communications based on LoRa technology

In a wide area network based on LoRa technology, the communication distance is in inverse proportion to data rate with each configuration of critical parameters (BW, SF, CR) for LoRa chip. Each node in a sensor network is distributed in a large area, probably having a complex geography. Due to this reason, for the e ective performance of each node could be done by optimizing parameters regarding both communication and energy issues. Generally, for a node at a short distance, LoRa can be configured to operate in lower output transmission power and a higher data rate. This mode allows reducing the time for sending data and extend battery life. This leads to decrease the waiting for the other nodes and lifetime. Otherwise, with nodes located at a long-distance, it must be increased output power to the antenna and perform sending data at the lower data rate. Even though, because of operating with very power LoRa modulated signals su er serious impacts from transmission environment. According to the technical document from Semtech [107], radio signal propagation in LoRa technology is obeyed line-of-sight condition, so that it is critical to concern about relative positions among nodes in comparison within surround area. Adopting LoS constraint, one node can receive a signal if and only if that signal is not locked by a neighbor node right in front of it. In our work, it was done by mean of tracing profiles which were produced by accumulating all points along the routes during processes. At each step, the tracing profile is used to determine a node can be reachable from a root (an emitter).

By regarding the geographic complexity, the performance of LoRa networks is optimized in terms of time delays for communications and power consumption.

Quality of communications in LoRa networks

The quality of radio communication is qualified based on strength of the signal in Radio Signal Strength Indicator (RSSI). These values are measured at the receivers for every message. In the LoRa network, the receiver can receive and demodulation messages down to -149 dBm by utilizing CSS [START_REF] Semtech | LoRa Modulation Basics[END_REF]. During operation of the network, if a node received three successive messages with RSSI low nearly -149 dB, it needs to change the parameters of configuration towards improving the quality of transmission (called Adaptive Data Rate, ADR) [107].

Parallel Algorithms for Simulations

The motivation of this study is to propose an e ective algorithm which is well suited with parallel processing along deterministic routes in a uniform grid of cells, namely Directed Breadth-First Search (DBFS). Our proposed line-of-sight (LoS) algorithm, which attempts to mimic how to propagate radio waves in the rule of Friis model, is a particular application case of DBFS. The major benefit of this algorithm is to enhance the performance of routing computation by utilizing parallel distributed processing. The comparison in terms of execution is that DBFS needs n × n processes to explore a space with n cells while Bresenham's straight line algorithm requires n × n × n for the same space.

First, Section 5.1 introduces distributed Breadth-First Search (BFS) algorithm. Next, Section 5.2 explains in detail about distributed DBFS algorithm, and then in Section 5.3 three distributed algorithms to optimize the communication coverage of wireless sensor networks over complex terrain areas are presented.

Breadth-First Search and Directed Breadth-First Search

Basic Breadth-First Search

A nondeterministic routing algorithm taking into account geographic topology which is a derived from distributed Breadth-First Search (BFS) algorithm [START_REF] Lynch | Distributed algorithms[END_REF]. In this case, nondeterministic term refers to the unpredictable behavior of the cell in accepting only one value of simultaneous oncoming messages. Nondeterministic routing is a suitable model to describe intrinsic characteristics and evolution of physical phenomenon in nature such as gas or pollution spreading out in air or water. Figure 5.1ª shows a small zone is segmented to product data space for nondeterministic routing computation. Because the simulator developed in occam-pi programing language, so that it is inherited the nondeterministic of run-time processes from KRoC compiler [98]1 .

Directed Breadth-First Search

Directed Breadth-First Search (DBFS) is derived from Breadth-First Search (BFS). The main motivation for this work is to propose a deterministic routing strategy instead of nondeterministic one providing by the original BFS.

Algorithm 8 outDirects presents two distinguish processing to circulate messages associated with either odd or even step of execution. As shown in Figure 5.2ª, each cell (process) forwards received messages to three adjacent neighbors according to its relative position with the root cell in the system. Notice that in Algorithm 8, changeDirect variable is used to indicate a change of direction, if any, in comparison with an original direction from the root. switchDirectForEvenSteps(inDirect) calcOutDirects(changeDirect, outDirects)

Algorithm 9 shows how to compute output direction values (outputDirects) corresponding to a certain input direction (inDirect) to spread out messages from the root cell in DBFS approach.

In order to explain the DBFS algorithm, first it needs to explain the meaning of variables being used in Algorithm 8, 10.

step is a variable to trace number of steps during processing. orgDirect keeps the value of the original direction for each route. changeDirect stores the value of direction in case of it being changed in comparison with orgDirect as traversing along a branch. inDirect is direction of received message and outDirects are directions to send messages out. to compute target directions to forward an incoming message. Notice that at starting point, parentId variables are NILL for all cells.

In general, the rule of selections depend on the process step, associated with the location of cells and routing history of previous steps. In this strategy, each cell accepts just one income message for a neighbor but it can send out to one or to all three neighbors. The routing paths in a system are deterministic at compile time. The reference conditions to switch messages corresponding to whether odd or even step as presented in Algorithm 10. This process also regards to orgDirection and changeDirection as mentioned by Algorithm 8. For a cellular system with Moore 1 neighborhood, space is divided into 8 sub-spaces, corresponding to eight di erent directions. Every direction for circulating information is assigned an integer value from 0 to 7 as illustrated in Figure 5.3. The aim of these numeric assignments is to facilitate the computation of outgoing directions from incoming messages. Algorithm 9 mentions the trick providing an easy way to compute directions for sending out messages for each income message.

The key di erence between DBFS and BFS is how to circulate messages. With BFS, each Algorithm 10 A strategy to switch messages for even steps in process. For the odd steps, the process is computed in the similar way. 1: procedure switchDirectForEvenSteps outputDirects := (W, NW, SW)

13: end procedure cell receives and send messages from/to all other processes in a cell system. In the context of the grid system, it could be done by using the broadcast information mechanism. Due to this way of communications, at a moment each cell can receive several messages from its neighbors. How they choose which message for updating it local variables is unpredictable. Otherwise, DBFS suggested with the main objective is to give a uniform and deterministic rule in communication for all cells. The strategy as explained in Algorithm compDestAddr plays this role. The advantages are easy formalization the behaviors of cells in a definite condition. Another important routine is compNodeVis which is employed to determine the visibility of cells from a root cell based on ground elevation profiles producing throughout the process. Figure 4.2 shows the ground elevation profile of a route at the Roc'h Trevezel in our experimental measurement. Let's consider that an emitter located at furthest left of the chart, with a distance of 0 m, and elevation of 350 m. Along with this route, there is a remarkable place with a ground elevation around 170 m at a distance of 2774 m. Moving further beyond this high place, a radio signal emitted by the emitter is unable to reach the three successive places at distances of 2997 m, 3269 m, and 3541 m according to LoS condition.

It should take into account the constraint about the strength of the received signal as a condition to establish radio links. If

Evaluation the accuracy of LoS computation Bresenham's line algorithm in a cell system

In computer graphics, Bresenham's line algorithm is a well-known method to draw a graphic line by generating successive pixels with a minimum relative error along the corresponding straight line connected by two endpoints. Because of its simplicity and lightweight execution [START_REF] Bresenham | Algorithm for computer control of a digital plotter[END_REF], this algorithm is suitable to perform cellular automata for LoS connection modeling and simulation. The cellular method operates in a cell system which comprises generated cells using NetGen tool-set as described in Appendix F. Figure 5.5 illustrates a comparative study between Bressenham and DBFS algorithm for drawing lines.

Accuracy comparison between Bresenham and DBFS algorithm

In this work, we use deviation as a metric to evaluate the reliability of Bresenham's straight line and DBFS algorithm. The term deviation refers to the absolute di erence between a point of a segmented line and its correspondent reference line. Three typical cases of routes are shown in Figure 5.6. Both cases of lines produced by Bresenham and DBFS (black lines in Figure 5.6) are exactly matched with a straight line for reference from the root cell to cell Px1y10. The deviation equals to zero in this case.

The routes from the root cell to cell Px9y12 (blue lines), Bresenham and DBFS solution give di erent routes. However, they su er the same mean of deviations, 0.224. This mean value is figured by comparing, in turn, each point along the routes with the reference points of dotted blue straight lines.

For cell Px17y4, a segmented rad line created by the Bresenham's algorithm in Figure 5.6ª has a maximum deviation of 0.447 and mean of all deviations is 0.268. This result is better than DBFS's segment line (segmented red line in Figure 5.6b). DBFS result su ers maximum deviation 1.431 and means of deviations 0.716.

With the objective to compute the routes for transferring values adopting LoS constraint in regular grid space, Bresenham's algorithm is more accuracy than DBFS one in terms of deviation.

Influence of multi-scale data on simulation accuracy

As shown in Figure 5.5b, DBFS routes are comprised of eight sub-routes with the same topology associated with eight di erent directions to explore all area. For this reason, only one sub-route (see Figure 5.7 is used in the next analysis.

In this case, the maximum deviation su ering by Bresenham's line algorithm is 1 √ 10 U 0.32U . Note that U is the size of the cell in pixels. In theory, the maximum error for Bresenham's line algorithm is less than 0.5. Our algorithms produce routes from a root cell, where putting an emitter, to the others cells in a zone. In some cases, they match exactly with routes generating by Bresenham's line algorithm. In other cases, they su er deterministic deviations in comparison with the Bresenham ones. Now turning to discuss about the error of our approach, the maximum error must be su ered is approximately 1U . For instance, in Figure 5.7, considering a route from A(10,1) to B [START_REF] Oliveira | Wireless Sensor Networks: a Survey on Environmental Monitoring[END_REF][START_REF] Oliveira | Wireless Sensor Networks: a Survey on Environmental Monitoring[END_REF] the function of this line is 17 8 x -y + -162 8 = 0, so that the distance from concerning point, M(10,3), is 16 15 1.0667.

From these results, it can conclude that our approach su ering maximum deviation of points along the route can be computed as sin( π 8 ) × steps π 8 × steps. Notice that step in this the equation is the distance in cells from the root cell to a considering cell.

It is critical to remind the algorithmic complexities, let suppose that a zone can be divided into n cells in a cell system. By applying Bresenham's line algorithm, it requires n 3 processes to produce the routes from every cell to all other cells. In more lightweight performance, DBFS needs running just n 2 processes to complete the same task.

Comparison of accuracy, performance between BFS and DBFS

BFS and DBFS strategy are shown in Figure 5.1b and Figure 5.7b respectively. Both of them can sweep all cells in space with the same order. The di erence is the routes on which the values from root cell can reach to the other cells. In the context of physical simulation based on CA, directed routing is critical in case of transition rules obeying a certain constraint to mimic physical phenomena. For example, LoS constraint in communication, distribution of rainwater. Figure 5.9 shows calculating percentages of errors associated with di erent resolutions of the cell. In the context of routing the message to mimic LoS, the results of the DBFS algorithm is more accurate than BFS one. The reliability of computations is in proportion to the resolution of cell in pixels.

Communication coverage optimization

Communication overage refers to a zone consisting of places where radio signals can reach.

To optimize ranges, two major issues need to be concerned. These issues are radio waves locked by obstacles and propagation loss proportioning with the distance due to the conditions of the transmission environment. In smooth terrain areas, without significant changes of topographic surface, it can be considered as near line-of-sight for radio transmission in which distance for communicating data could be reached up to hundreds of kilometers over the Earth plane. Otherwise, in complex terrain areas, terrain heterogeneity causes serious impact on the quality of radio links, especially for low power and long-range communication networks. In theory, an ideal coverage is usually indicated by a circle with a certain radius considering as maximum communication range. Due to the complexity of geography and obstacles such as building, vegetation, etc. the actual coverages in the real world are seldom as uniform dishes. Consequently, unpredictable gaps need to be solved when deploying sensor nodes to establish robust radio links in wireless sensor network considering geographic topology. For these reasons, we proposed a CAD tool flow which helps to predict rapidly the coverage of a LoRa emitter based on cellular automata and massive parallel execution.

These algorithms aim at optimizing a number of cells that could be selected as root (place to put the emitters) for covering all complex geographic area. At first, the LoS algorithm, as mentioned in Section 4.2, is executed to explore its neighbor's nodes which could be visible from the first selected node as emitter/root2 , R 0 . The communication coverage of R 0 based on the line-of-sight (LoS) condition is determined. In order to deploy a wireless sensor network aim at covering all area, it is necessary to select a visible cell from R 0 to be the next emitter. Three di erent algorithms were proposed to determine the root node namely maximum distance (maxDistance), maximum visible neighbor cells (maxNeighbors) and maximum elevation (maxElevation). In the next sections, we will describe in turn them.

Coverage optimization algorithms maxDistance algorithm

To select base station based on maximum distance from previous nodes, distances from R 0 to each cell illuminated by it are calculated by applying Euclidean formula corresponding Algorithm 12 Select a root cell, where an emitter is located, using a Euclidean distance metric.

1: function LatLonToMeter(lat, lon) Calculate (x, y) in meter using Mercator projection Input: root cell (R 0 ) and all cell in cell system cell i 9:

Output: set of cell selected as root. Calculate R 0 (x, y) from its geo-location 12:

(R 0 .x, R 0 .y) := LatLonT oM eter(R 0 .latitude, R 0 .longitude)

13:
for each cell j do 14:

Calculate cell i (x, y) from its geo-location 15:

(cell i .x, cell i .y) := LatLonT oM eter(cell i .latitude, cell i .longitude)

16:
Calculate Euclidean distance between R 0 and cell i 17:

cell i .d := SQRT (SQR(cell i .x -R 0 .x) + SQR(cell i .y -R 0 .y))
18: end for 23: end procedure to theirs coordinate (longitude, latitude) which are fetched from the map services such as OpenStreetMap, Google map, etc. Consequently, the cell with maximum distance value will become the next root node. An advantage of this strategy is to allow reducing the interference between base stations which normally produce high output power for larger communication coverage. The remaining steps are in the same way. Notice that the cells were chosen as root node that cannot be selected again in the following turns. After each step, a number of the cell not be illuminated by the roots are a statistic. The procedure performs until all cells in the cell system (map/image) are visible. It means that the result of the program is a wireless network (in hierarchical/mesh topology) which can cover all area in term of communication and networking.

if cell i .d >

maxNeighbors algorithm

With the maxNeighbor algorithm, selecting next root node based on a maximum number of visible neighbor cells, every cell under the coverage of R 0 are asked for number cells that it could be visible by applying LoS algorithm as well. To enhance the speed execution, parallel computing on GPUs are utilized for all of the algorithm processes. The cell in which the maximum visible neighbor cells was chosen to be the next root, R 1 . The successive processes are as the same until all cells are reachable by a set of root nodes. For instance, the coverage of the network with one and then two emitters are illustrated in

maxElevation algorithm

Another way is to select the node for based station role to rely on the highest elevation of cells. Because elevation is a key factor in the line-of-sight communications, a cell within the coverage of the current root corresponding to the maximum elevation of cells can be chosen as the coming root. This strategy seems to be good but the experimental simulation results

show that it is worse. For this reason, the further evaluation was carried out for two former algorithms.

Performance comparison of coverage optimization algorithms

To evaluate the execution time of three proposed select base station algorithms as described above, we selected a zone around 60 km 2 at Plougastel peninsula, France on QuickMap (see ) and transfer it to Pickcell/NetGen to generate CUDA code for simulations. Table 5.3 is produced by changing the cell sizes of data and then evaluating the simulation results on GPUs with nvprof command [START_REF]Cuda toolkit documentation, profiler user's guide[END_REF]. The program performs to select root nodes automatically and compute its corresponding coverage until all cells are under their coverage. Execution times for each algorithm are presented in Table 5.3. This statistical result shows that maxNeighbors algorithm gives better performance than maxDistance. With maxNeighbors, a root is selected at each step based on its capability to provide the maximum of visible cells, except for the first root R 0 , so that this is an appreciate method to optimize the set of roots for communication coverage under LoS constraint. Considering to the maxDistance algorithm, it seems not suitable for coverage objective due to the maximum distance from the previous root is not a key factor to ensure the best coverage, probably reducing interference e ect between the roots.

A Development Method for Sensing Systems

The objective of this chapter is to propose a complete development flow for sensor networks based on concurrent process expression. Section 6.1 proposes methodological approach for development of application on network in a portable way. Section 6.2 are programming considerations with in mind a complete flow including simulation, and using result for code generation. Section 6.3 is a sample application on LoRa with round-robin control over a distributed application. Section 6.4 exposes validation work with an extension of TVMs working on nodes interfacing LoRa transceivers using a SPI bus. This technique was also used to validate range computation from simulators described in Section 4.4.

Organization structure of distributed sensing systems

Distributed sensing can be defined in a general way as a composition of local observations, operated under a time schedule. Various context can match this definition, such as synchronous distributed sampling, or round-robin monitoring of distributed clients.

Example applications monitoring for of the tra c, river flows, pollution, in the first case, while the second case embed data collections from several locations, perhaps without any physical relations.

In such applications, data collection points are characterized logically, by the type of service produced, and the geographic position, rather than by any interconnection con-straints. Mesh networks and star organizations could match the same application objectives. The methodology is to bind a distributed set of services to a particular network. This is useful in architecture synthesis as a choice for resource allocation, and operation scheduling, these choices defining how a computation is realized [START_REF] Micheli | Synthesis and optimization of digital circuits[END_REF], with a component cost and performance factor.

Top-down approach for development distributed sensing systems

In Chapter 3, we have presented the local representation of a wireless node, having radio periodic communications with neighbors on radio links. Given a network of nodes with sensing and routing capabilities, the problem is to define where these activities take place, to deduce the program structure for each node, with timing and resources for the distributed program.

Inside a top down flow, tool designers have typically two elements:

• A program abstract representation, with program nodes and edges representing internal constructs,

• An architecture description with computing resources and data paths.

CAD tools embed algorithms to allocate computing resources and time slots for operations. These algorithms will propose solutions to share resources, reducing hardware costs, or at the opposite will allocate excessive number of resources to develop parallelism, and reduce latency. This technique can be applied to distributed sensing environment, with resources being sensor nodes, and data path being radio links. Furthermore, taking into account a multiplicity of sensors in each node, the di erent frequency of measures, data conversions and communications, each node is itself a system carrying parallel operations. Figure 6.1 and 6.2 represents two practical versions of the same application, using respectively a star architecture such as LoRa, and a mesh connected architecture such as 802.15.4. The application could be the same, as example control of creeks during heavy rain, with a control sink somewhere. Communication delays are variable in the first case, due to the radio signal propagation latency, as explain in section 4.5.2, but delays are known due to the geographic work. In the second case, the network is synchronous, with super-frames that structure communications at a rate compatible with the application. Respectively sequencing and local tasks are di erent, with round robin collection in one case, and concurrent routing in the second case. Other critical di erences are scheduling of operations, bu er sizes for communication, quality of services, complexity of the system.

To reduce application development time and to improve reliability and solution costs, it is interesting to look the feasibility of a complete synthesis flow. We did a partial contribution in this direction, with an executable specification with support components for the LoRa case. The connections between nodes are not complete so that it is necessary routing processes to send message from the sink node P1 to the other nodes.

These considerations lead to the following propositions:

• Use of a specification language requirements: possibility to represent network architectures, and node operations as well. Occam-pi was proposed in the NetGen tool bench, with a code generation system from geographic front-end tools.

• Specifying a general behavior at application level, with notion of concurrency, timing constraints with abstraction of the execution layer.

We build samples of application at this level, and demonstrate by hand the translations to be operated, with demonstration on a small set of LoRa nodes.

• Production of a low level node behavior, providing the capability to produce Occam-pi program that communicate with neighbors, sense and compute locally.

A complete process oriented system organization

This system has a set of application services suitable for wireless sensing. Figure 6.4 shows the organization of the system. Top-level is a useful part with computing process which behavior is the sensing application. They can make arbitrary number and sensing activity can vary a lot depending on the application. They are portable between di erent architectures.

The second level is a description of system support implementing a real application. Each process is connected to a central controller (red arrows), and can interact with neighbors to access their states (blue arrows). This second level of communication is an abstraction of virtual neighborhood since the central node is e ectively in charge of neighborhood management. Naming and binding channels could be done by the synthesis software based on geographic considerations or service names. The blue system allows nodes to share status, to make decision, and they represent a context similar to neighborhood in mesh network. In this way an application can have version on both network architectures, the red process being a sink.

We can distinguish the red sink, the blue nodes and the green services. Figure 6.1 shows a possible application context with the red sink in the middle and LoRa connections with blue sensors on the coast of the island. This architecture can be produced automatically with high-level tool, in view of physical application behaviors, for example water levels. It is also not noticeable that signal propagation simulation provides the information about communication delays.

Programming considerations

Following Concurrent Sequential Processes (CSP) paradigm [167], the system specifications are supported by programming languages such as compilers Occam, and Occam-pi for mobile system [START_REF] Welch | Communicating Mobile Processes: introducing occam-pi[END_REF]. Occam-pi is derived from Occam enabling Milner's Pi-calculus [START_REF] Milner | Communication and Concurrency[END_REF], dynamic parallelism, mobile processes, mobile channels, extended rendezvous [START_REF] Welch | A CSP model for mobile channels[END_REF]. CSP propose a set of constructs allowing to specify concurrency as a hierarchical organization of processes communicating through blocking channels. The organization shown in Figure 6.4 implies channel declaration, construction of process systems, and procedure behaviors for these processes. The control structures being used in Occam-pi language provide adequate information to produce program trees including parallel operations, channel communications, delays, nondeterministic communications. This kind of program provides support for process level simulation, and after code transformation, mapping to real network. Use of Occam-pi for simulation is yet implemented by code generator from the NetGen software [START_REF] Iqbal | Meta-simulation of large WSN on multi-core computers[END_REF]. A complete program has local activities for sensing and distributed activities for data collection and distributed control. The existence of global program is critical to associate a deployment description to application requirements such as data specification appearing in messages and local activities, or timing from sampling requirements.

Although we are still far from having a practical compiler for sensor networks, we can describe the flow allowing to produce network simulators and local programs corresponding to these simulators based on language constructs, local supports on current system on chip for sensing, and communication protocols for common sensor networks.

All the practical background about Occam-pi execution was taken from "Transputer instruction set: A compiler writer's guide" [START_REF] Inmos Limited | Transputer instruction set: a compiler writer's guide[END_REF]172] that describes processes representation inside a kernel, channel representation, and operation implemented for each instruction. This machine exists as real hardware (Transputers) and software implementation for several micro-controllers (TVMs) 1 .

Distributed sensing modeling using Occam-pi

Occam-pi provides a complete set of primitives for the expression of concurrency illustrated in reference of Figure 6.4.

• PAR constructs for the development of structural parallelism controlled by barriers.

Service processes (green) and node processes (blue) can be specified as PAR constructs with arbitrary number of components and arbitrary connectivities. PAR construct terminates with end of barrier detection inside the kernel primitives. The PAR can denote local or distributed activities.

• CHANnels as a single primitive for synchronization and communication. Channels (red) are implemented as physical radio links. These links are operated by low-level software binding circuits access to the local run-time Occam-pi kernels (CCSP) [START_REF] Moores | CCSP-A portable CSP-based run-time system supporting C and occam[END_REF]. Kernels exist on each system and handle relation between process synchronization and termination of radio communications. In practice, we have implemented support to extend an existing virtual machine for the Arduino with a primitive software operating LoRa communications on a transceiver (in practical by a SPI bus, see also appendix E).

• ALTernatives specifying non-deterministic behaviors. Alternatives appear when a set of channels is activated without enforcing a particular order in synchronization. This is the case for processors with several peripheral circuits working concurrently to acquire or process information.

• PROTOCOLs specify data type for communications that circulate on channels. Compiler will verify conformity between local data structures and network messages. Protocols will appear on the red channels to denote neighborhood communications and control operations. These also provide a way to evaluate communication cost and delays.

• TIMERs allow to produce delays based on real-time clocks existing in the hardware of node. An obvious interest for timers is to sequence operations according to a general scheduling such as TDMA, or scheduling table produced for LoRa star system.

Details on: radio communications

Communications are LoRa messages exchanged between the red and blue nodes. Therefore the local programs need to control communication circuits to send and receive these messages. Detail about target systems and operating system support are given in appendix E and I: specific boards with LoRa transceivers. In a main loop, the red sink in turns send messages to blue nodes as requests for services or data and then wait for responding messages from the blue nodes. When a message comes, the sink node receives that message if the destination address match with its own address. Otherwise the sink node helps to forward the message to the target blue node. Once receiving a message, the red sink also measure corresponding RSSI (Radio Signal Strength Indicator) and SNR (Signal to Noise Ratio) value to evaluate the radio link quality. For instance, Listing I.2 in Appendix I is a Occam-pi program running on a sink node.

Details on: services

Run-time services (green nodes) can be achieved by spreading distributed processes over a set of blue nodes through abstract links (blue arrows). This process are procedure calls.

After initializing the system, the program running on a blue node executes a main loop in order to wait for a request from a sink node. Once receiving the request, it performs routines for services associated with the request such as collecting data from sensors, control the actuators. After finishing the required services, the blue node must response to the sink node in form of either confirmation or results such as collected data. In this case, the red sink node play a core role to manage all the operation of the network. Listing I.2 in Appendix I is a Occam-pi program running on a sensor node (blue node). The meta-simulator environment is a higher level modeling allowing to produce and manage networks instances. Models are described and produced from QuickMap/Pick-Cell/NetGen tools [START_REF] Pottier | Dynamic networks : Netgen tools[END_REF], and the simulations are produced in either Occam-pi or CUDA language.

Code organization

• The abstract network description is an output from higher level tools. This is a static topology description which could be reusable for di erent kind of simulations. In case of the abstract description in Occam-pi for executing on multi-core CPUs, this abstraction will translate into a parallel construct with guarded channels allocated for communication links. Systems as large as hundreds of nodes, if not thousands, have been produced in this way.

• The node local behaviors are currently assembled by hand. They consist of the distributed parallel algorithm with message passing aiming at neighbor exploration, the building of routing scheme, base station voting, or many specific activities [174,[START_REF] Lynch | [END_REF]. For Occampi programming, local behaviors appear as an inclusion of developer's routines into the main simulation program. By following this way, several behaviors can co-exist and interact with each other in the same system.

Round-robin scheduling in LoRa star networks

Long-range communications have been proposed along with star network topology as a promising technology to satisfy the mentioned requirements [START_REF] Corporation | Sx1276/77/78/79 -137 MHz to 1020 MHz Low Power Long Range Transceiver[END_REF][START_REF] Semtech | LoRa MAC Specification v1[END_REF]. Sensing data at every sensor nodes can be inserted directly to a base station so that this trick facilitates setting system up and preservation. A typical network in a star topology as depicted in Figure 6.5, which is employed to collect environmental data to a base station from many sensor nodes distributed in a wide area based on time slices mechanism, namely round-robin scheduling. It is necessary to building up an appropriate timetable to handle operations of the star network. Firstly, base station (BS) needs to emit a broadcast hello message to explore other nodes. All sensor nodes within the base station's communication coverage after receiving a "hello" message must response by sending back itself identification. Assume that the size of data needs to be sent are the same for all nodes. Consequently, the time slot for each node based on the duration time required to complete a transaction between the corresponding node and the base station. In fact, the time value for each sensor node is computed from the strength of received signal (RSSI).

It strongly depends on the node's distance and topology of geography. Figure 6.7 describes the principal of star topology and scheduling communication for the star network. In the next stage, a scheduling table is built up at the BS based on all time values. BS then circulates this scheduling table to all connected nodes. As a result, all nodes must obey this strict time flow in communications. Note that the global time extracted from GPS message is utilized as a time reference to synchronize all activities of the system. Figure 6.6 depicts an example of the round-robin scheduling for three nodes which require a di erent length of time for each transaction with a base station. These communications probably need a guard time in a few seconds between two successive transactions to ensure that the base station finishes completely the former transaction before starting the next one.

As can be seen in Figure 6.6, the cycle, T, value, called time-frame alignment, is the total sum of duration times that is necessary to communicate with all sensor nodes, including guarantee periods.

The operation of the experimental network can be described as following. By obeying strictly time scheduling, the base station starts a transaction by sending a "hello" message to an identified sensor node. When receiving a "hello" message for it, the sensor node knows that it can send own sensing data, which is captured from connected sensors, back to the base station. Channel Activity Detection (CAD) feature of LoRa protocol can help to solve the problem in case of occurring a collision between several communications [START_REF] Corporation | Sx1276/77/78/79 -137 MHz to 1020 MHz Low Power Long Range Transceiver[END_REF]. If the base station gets the data from the sensor node successfully, it will confirm by responding back an "ack" message. In case of occurring a sudden failure connection or corruption of data during a transaction, BS misses the data of that node.

There are a lot of benefits from applying this scheduling strategy in wireless sensor networks. This o ers system can reduce energy consumption to extend battery life based on optimizing the sensing activities, especially in communications for data dissemination. For example, at a scheduling time, a node can wake up, read data from connected sensors, pack it into a message in a certain format, and then send to the data center. In another period of time, it is able either to do other tasks or turn into sleep mode for saving energy.

Validation and Revendications

We arranged an experiment on a simple LoRa star network consisting of a base station and two client nodes as shown in Figure 6.8. Three LoRa shields for Arduino manufactured by Froggy Factory [START_REF] Factory | Lora Fabian Shield (ES1.1): LoRa Shield for Arduino[END_REF] were used in this experiment. This Froggy's LoRa shield with LoRa chip SX1272 [START_REF] Corp | Semtech SX1272: Long Range, Low Power RF Transceiver 860-1000MHz with LoRa® Technology[END_REF] can interface with the micro-controller of Arduino Uno via SPI bus. Distributed algorithms were developed to describe the local behavior of sensor node and then evaluated by simulators. The final code synthesis can port on executing hardware for testing in a real network. Figure 6.9 illustrates the operation of the network. Appendix G and H introduce two Occam-pi libraries for LoRa which are developed during this work and Appendix I provides Occam-pi programs being used.

Distributed algorithms for sensing activities are developed and validated by simulators. Node's local behavior (Occam-pi program) can be interpreted on di erent target hardware platforms that is feasible thanks to TVM. Our proposed application model is suitable for both mesh and star networks. It is possible to extract statically at simulation time a table with all distances and expected communication times between radio transceivers in the system. This information could help to avoid collisions during dynamic network discovery. At this time, we were not able to valid this assumption for practical reasons.

Two Occam-pi libraries, which allow handling LoRa communications from Arduino boards, are developed. Some modification of TVM is done to mount LoRa chip as a peripheral. We did some experiments on a simple LoRa network to execute and evaluate the results of simulators. Time slices for communications of the round-robin scheduling can be optimized taking into account geographic complexity as mentioned in Appendix C.

7

Modeling and Optimization of Mobile Connections of Dynamic Sensor Field Wireless Sensor Network (WSN) [START_REF] Truong | Optimizing the connection time for LEO satellite based on dynamic sensor field[END_REF] is known as a network of sensors cooperatively operating in order to surveillance or collect the environmental parameters. In addition, a sensor field is included in a number of devices that can interact with one another and also to the environment. Most of existing wireless technique aims at short range application in the aspect of smart cities such as parking allocation, home services, and so on [4] [START_REF] Celandroni | A survey of architectures and scenarios in satellite-based wireless sensor networks: system design aspects[END_REF]. Although the short transmission range can be compensated by applying a mesh topology, it would be economically infeasible to deploy in large geographic areas or behind obstacles (mountains, oceans, etc.). To overcome these disadvantages, long-range wireless sensor wireless sensor networks based on satellite communications have emerged as a promising technology with various applications. In order to improve the connection time, it is necessary to choose proper gateways for the longest length of connection time. For this purpose, the connections between an LEO satellite and a dynamic sensor field should be presented by a graph-based model because it is convenient to determine the number of neighbors in the satellite's communication range and then apply the optimization algorithms [START_REF] Akoglu | Graph based anomaly detection and description: A survey[END_REF] [START_REF] Chaparro | Detecting anomalies in mobile telecommunication networks using a graph based approach[END_REF]. Moreover, BT-Graph model [START_REF] Luong | Graph-based model for geographic coordinate search based on balltree structure[END_REF] based on ball-tree structure is e ciently support not only for searching the range nearest neighbors (RNN) but also finding the shortest path to a given target node [START_REF] Abbasifard | A survey on nearest neighbor search methods[END_REF] [181] [84] [START_REF] Muja | Scalable nearest neighbor algorithms for high dimensional data[END_REF]. In this article, we propose a new approach, namely dynamic sensor field optimization model based on BT-Graph (BT-DYNSEN), to model and optimize the DSF in communication with LEO satellite.

In addition, with the development of Compute Unified Device Architecture (CUDA), general purpose Graphics Processing Unit (GPGPU) is widely used to implement parallel algorithms, which can speed up the large and complex processing tasks [START_REF] Nvidia | NVIDIA Developer[END_REF]. Nonetheless, serial graph algorithms are hard to be parallelized on GPUs due to irregular memory access and huge memory-intensive operations. For this reason, we also propose parallel algorithms to improve search speed based on BT-Graph model using NVIDIA CUDA GPUs. In our work, the experimental results were deployed on parallelization of RNN algorithm and Dijkstra's shortest path search algorithm.

The rest of this chapter is organized as follows. Section 7.1 presents the graph-based model for a DSF based on BT-Graph (BT-DYNSEN). How to optimize the DSF for a satellite connection is presented in Section 7.3. Implementation of BT-DYNSEN is described in Section 7.4. Section 7.5gives the simulation experiments on a forest fire surveillance network in Vietnam before a conclusion is drawn.

BT-DYNSEN

BT-DYNSEN model of DSF

BT-DYNSEN model of a dynamic sensor field (DSF) [START_REF] Truong | Optimizing the connection time for LEO satellite based on dynamic sensor field[END_REF] based on BT-Graph [START_REF] Luong | Graph-based model for geographic coordinate search based on balltree structure[END_REF] is a graph G(V,E). In this graph, set of vertices V = {v i }, i = 1..n corresponds to sensor nodes and set of edges, E = {e j }, j = 1..m are connections between the nodes with associated weight functions W = {w j }, j = 1..m. The value of each w j is given by Euclidean distance d(v i , v j ), i = j. Additionally, R = {r i }, i = 1..n are the radii of the communication ranges of nodes [START_REF] Luong | Graph-based model for geographic coordinate search based on balltree structure[END_REF] [180] [START_REF] Omohundro | Five balltree construction algorithms[END_REF]. An edge is established if and only if the distance between two nodes is less or equal to the minimum value of their communication radii, d(v i , v j ) ≤ min(r i , r j ), i = j. Note that the terms node and vertex are used interchangeably in this article as a matter of convenience.

In Figure 7.2, for an example, a pair of vertices (v 5 , v 6 ) has communication ranges r 5 and r 6 respectively. Because the distance between v 5 and v 6 is less than r, d(v 5 , v 6 ) < r, so there exists an edge e 5 connecting them as can be seen in Figure 7.3. Similarly, the others edges of this graph namely e 1 = e(v 1 , v 2 ), e 2 = e(v 1 , v 3 ), e 3 = e(v 2 , v 3 ), e 4 = e(v 3 , v 4 ) could be established. There are 2 n -5 edges between a pair of nodes of this graph that are not existed due to inadequacy of the condition. The vertex v 7 is isolated because all distance values between it and the other nodes are inadequate to the condition.

V = {v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , v 7 } and 5 edges E = {e 1 = e(v 1 , v 2 ), e 2 = e(v 1 , v 3 ),

BT-DYNSEN model of LEO satellite connection

The connections between an LEO satellite and a dynamic sensor field are also described in a BT-Graph. Let V = {v i }, i=1..n, is a set of sensor node coordinates in a DSF. In this scenario, connection time is defined when any sensorset [START_REF] Truong | Optimizing the connection time for LEO satellite based on dynamic sensor field[END_REF] of the DSF under the satellite coverage. The LEO satellite communication range is considered as a circle whose center is sub-point on the ground (sub-satellite point), s. It is noted that sub-satellite point, s, is where on the ground the straight line connecting the center of the Earth and the satellite meets the Earth's surface [START_REF] Wertz | [END_REF]. The associated BT-Graph consists of n + 1 vertices P = {V, s} = {v 1 , v 2 , ..., v n , s}. If a node is within the communication range of the satellite, there exists an edge with weight given by the Euclidean distance between them. Otherwise edge weight is set to infinity. Consequently, the number edges of the graph are m + n by adding n new edges

C = {c 1 , c 2 , ..., c n } with c i = c(s, v i ), i = 1..n.
The weights of the n new edges are denoted by Z = {z 1 , z 2 , ..., z n }. In this case the set of edges is R = {E, C} = {e 1 , e 2 , ..., e m , c 1 , c 2 , ..., c n } and the set of corresponding weights is Hence the BT-DYNSEN model for LEO satellite connections is presented by a graph G(P,R) with weight functions Q. Furthermore, during the connection time only one sensor node (vertex) of a dynamic sensor field is chosen to connect with the sub-satellite point (center vertex) at one time [START_REF] Truong | Optimizing the connection time for LEO satellite based on dynamic sensor field[END_REF]. A number of di erent nodes could be chosen based on the value of edge weights at di erent times. To manage the connections, the name of chosen node is kept in Connection vector [START_REF] Truong | Optimizing the connection time for LEO satellite based on dynamic sensor field[END_REF] and the corresponding time is saved in Time vector [START_REF] Truong | Optimizing the connection time for LEO satellite based on dynamic sensor field[END_REF] (as in Table 7.1).

Q = {W, Z} = {{w k }, {z i }} with k = 1..m, i = 1..n.
Table 7.1 shows that in connection 1, center vertex s connects with v 1 at time t 1 . In a similar way, in connection 2 at time t 2 and connection 3 at time t 3 , v 4 and v 2 are chosen to connect with s respectively.

Computation of connection time

In this section, we describe the way to calculate connection time, T ij , between an LEO satellite and a gateway of DSF, v j [START_REF] Truong | Optimizing the connection time for LEO satellite based on dynamic sensor field[END_REF] [START_REF] Wertz | [END_REF]. Similarly, the calculation could be applied to all other nodes. Note that every node of the sensor field is assumed as a gateway for the connection with the satellite in calculating the values of connection time. Figure 7.6 -Relationship between sensor node of a DSF and sub-satellite point [START_REF] Wertz | [END_REF].

First, it is necessary to define the angles and related distances between satellite, a gateway on the ground and the Earth's center. The parameters are indicated in Figure 7.5. For an angular radius of the spherical Earth, ρ i , and the angular radius λ 0 i can be found from relations

sin(ρ i ) = cos(λ 0 i ) = R E R E + H (7.1) ρ i + λ 0 i = 90 deg (7.2)
where R E = 6378.14 km is the Earth's radius and H is the altitude of the satellite above the Earth's surface.

With the coordinates of a sub-satellite point, s i (Long s i , Lat s i ) along each satellite's ground track and a sensor node, nodes v j of the DSF (Long v j , Lat v j ), and defining ∆L ij = |Long s i -Long v j |, the azimuth, Φ E ij , measured eastward from north, and angular distance, λ ij , from the sub-satellite point to the sensor node (see Figure 7.6) are given by

cos(λ ij ) =sin(Lat s i )sin(Lat v j )+ cos(Lat s i )cos(Lat v j )cos(∆L ij ) (7.3) cos(Φ E ij ) =((sin(Lat v i )- cos(λ ij )sin(Lat s i ))/(sin(λ ij )cos(Lat s i )) (7.4)
where 7.5), the distance, d ij , between s i and v j can be found using the law of cosines:

Φ E ij < 180 deg if v i is east of s i and Φ E ij > 180 deg if v i is west of s i Consider triangle Os i v j (in Figure
d 2 ij = R 2 E (1 -cos(λ ij )) (7.5)
The connection time, T ij , is given by

T ij = ( P 180 deg ) arccos( cos(λ ijmax ) cos(λ ij min ) ) (7.6)
where P is the orbit period in minutes. From Equations (7.5) and (7.6), the communication duration, T ij , strongly depends on how close the nodes v j is to the sub-satellite points s i , the distances d ij , along the ground track on any given orbit pass [START_REF] Wertz | [END_REF].

Definition the operation modes of DSF

In order to describe the behaviors of a dynamic sensor field, we propose two definitions as follows:

Definition 1 (Passive mode). Passive mode of a dynamic sensor field is established when a dynamic sensor field automatically collects and prepares the environmental data to sent before visiting an LEO satellite. Each time the satellite is perceived, the gateway of the sensor field will establish the connection and then send the data. All processes of a dynamic sensor field are programmed and repeated systematically.

Definition 2 (Active mode). Active mode of a dynamic sensor field is established when a dynamic sensor field has the ability to response satellite's commands before the end of a contact. In this mode, an LEO satellite visits a dynamic sensor field and establishes a connection with a gateway. The satellite then sends a command to the gateway for control purposes and/or collecting environmental data from DSF. After a certain period of time, it expects to receive the feedback data also via a gateway. Hence, there is a pair of gateways: Input gateway for receiving satellite's command at the starting time and Output gateway for sending data to satellite before the satellite leaving.

Constraint

The altitude of an LEO satellite must be in the range from 275 km to 1400 km due to atmospheric drag and Van Allen radiation e ects [START_REF] Wertz | [END_REF]. Besides, the experimental results were announced by High Altitude Society in the United Kingdom that LoRa SemTech transceivers can communicate in distance up to 600 km in an environment without any obstacle and 20-40 km in urban area [START_REF] Manuka | Balloon project[END_REF]. Based on these factors, the maximum communication range for all nodes in long-range sensor fields is 40 km in this work. LEO's satellites are chosen in our experiments must have the orbit altitude of less than 600 km. Furthermore, the satellite's relative speed over a fixed point on the Earth's surface must be around 7.5 -8.0 km/sec [START_REF] Wertz | [END_REF]. The speed of the satellite is calculated by

v = Gm E R E + H (7.7)
Equation 7.7 shows that the speed of the satellite in orbit is in inverse proportion of its altitude [START_REF] Wertz | [END_REF]. Where G is universal gravitational constant (G = 6.67x10 -11 Nm 2 /kg 2 ) and m E is the mass of the Earth (m E = 5.98x10 24 kg). With orbit altitude of satellite in range 300-600 km, the speed of satellite on orbit must be in range 7.56-7.73 km/sec.

Optimization method 7.2.1 Verification of the connectivity of DSF

In this work, the top-down construction algorithm is chosen in order to build a ball-tree structure for verifying the network connectivity of the DSF. In this manner, the time complexity can be found in O(nlog 2 n) [START_REF] Omohundro | Five balltree construction algorithms[END_REF].

Algorithm 13 Verification the network connectivity of a DSF Let c is the dimension of greatest spread 7:

Let L, R are the set of points lying to 2 subsets 8:

Let r is a radius of ball 9:

Create B with two children: end if 15: end procedure Algorithm 18 to construct the ball-tree is a recursive process from top to down. The process at each step is to choose the split dimension it and then split the set of values into two subsets. First, it is necessary to choose the point in the ball which is farthest from its center,p 1 , and then choose a second point p 2 that is farthest from p 1 . It is followed by assigning all points in the ball to closest one of two clusters corresponding to p 1 and p 2 . Finally, the centroid of each cluster is calculated and the minimum cluster radius for enclosing all the points are determined. This process is stopped only when the leaf balls contain just two points. Note that D denotes current considered ball-tree structure and B denotes leaf node defined after each process.

Determination the sensorsets corresponding to each sub-satellite point

Defining a sensorset [START_REF] Truong | Optimizing the connection time for LEO satellite based on dynamic sensor field[END_REF] based on BT-DYNSEN is to find k nearest sensor nodes (neighbors) under the satellite's coverage area at each sub-satellite (Algorithm 14). It is a depth-first traversal algorithm for traversing tree or graph data structures, starting with the root node. The value of Q is updated during the search process. At each considered node B, Q obtains k points which are the nearest query q as the following the algorithm.

Algorithm 14 Determination a sensorset end if 14: end procedure Table 7.2 -The weights of connection items in a DSF with 4 nodes.

Connection items Weights

(v 1 , v 2 , v 4 ) 1 (v 1 , v 2 , v 3 ) 1 (v 1 , v 3 ) 3 (v 1 , v 3 , v 4 ) 1
There are two di erent cases in BT-DYNSEN algorithm as follows. If current considered node is a leaf node and the distance from query point q to B is less than r (d < r), the obtained result is updated by adding B into Q. Otherwise, if B is not a leaf node and the distance from query point q to B is less than the total of r and the radius of B (d < r + B.radius), it is necessary to perform recursive algorithm for the two child nodes of a parent node B: left-child and right-child.

Selecting the gateways of DSF

If a DSF V has n nodes, there are 2 n -1 connection items, G = {g l }, l=1..(2 n -1). It is necessary to find out a set of proper nodes which play as gateways of DSF to provide the longest length of time for the connection. To do this, the association analysis algorithm [START_REF] Tan | Association Analysis: Basic Concepts and Algorithms[END_REF] is applied. This way, a DSF is represented in a binary format, where each row corresponds to a connection item and each column corresponds to a node. A node value is one if the node appears in a connection item and zero otherwise. The weight of a connection item determines how often a connection item is applicable to a set of connection items. The weight of a connection item, g i ∈ G, can be defined as w(g i ) =| {g l | g i ⊆ g l , g l ∈ G} |, where the symbol Write counted frequent of all sensors L k to file 13: end procedure

Finding shortest path for data dissemination

The problem of finding the shortest path from each sensor node of DSF to the gateway can be solved by a graph search method. The algorithm is presented as Algorithm 16.

Algorithm 16

Finding shortest path from each sensor node of DSF to the gateway. for (v ← 0 to n-1 do The algorithm proceeds in three following steps. First, the balltree graph-based model, G, is constructed. At the next step, the weight matrix M for edges connect each pair of vertices (sensor nodes) in V is computed based on their coordinates. For v i , v j are two di erent vertices in V , in case of v i ≡ v j the edge weight is 0. If v i ≡ v j , the edge weight is given by d(v j , v j ) if d(v j , v j ) ≤ r, otherwise it is infinity, ∞. Finally, the shortest path from q to e in the weight matrix is figured out. Note that q is starting point (a sensor node) and e is the destination point (the gateway of DSF).

if f ree[v] AND (d[v] > (d[u] + M [u, v])) then 14: d[v] ← d[u] = arr[u][v];
23: if free[v]AND(d[v]>(d[u]+M[u,v])) then 24: d[v] ← d[u] = arr[u][v];

Parallelization of RNN algorithm to determine sensorsets

As mentioned in section 7.2.2, range nearest neighbors (RNN) search method on BT-Graph can be used to determine the set of nodes in a sensorset associated with each position of the satellite along the ground track. In this section, a greedy algorithm is proposed to nearest neighbors search running on CUDA (namely RNN-CUDA as shown in Algorithm 17). The process of this greedy algorithm consists of two part. One part is parallel processes on GPUs to compute distances from the query the point to all nodes of a dynamic sensor field. Another part runs on CPU to sort the obtained distances in ascending order and then pick up k neighbor nodes associated with shortest distance values.

BT-DYNSEN implementation 7.3.1 Block diagram of DYNSEN tool

We have developed the BT-DYNSEN tool in C/C++, that enables to model and optimize the connection time between a dynamic sensor field with an LEO satellite. GPredict [START_REF] Csete | Gpredict project[END_REF] is used to provide the information about BEESAT-3 satellite's path. Besides, NetGen tool [START_REF] Pottier | Dynamic networks : Netgen tools[END_REF] is utilized to generate the abstract network of a 50-node dynamic sensor field from geographic data provided by Google maps service. The obtained results are the nodes of the DSF which should be configured as gateways for the best connection duration time and the shortest paths for data dissemination from each node to these gateways. Figure 7.9 illustrates the brief view of the process for optimizing the connection time between an LEO satellite and our proposed dynamic sensor field. It shows that DYNamic SENsor field (DYNSEN) tool consists of four main functional blocks: data normalization, data input, satellite communication model and connection time optimization block. These functional blocks operate under a set of constraints that was discussed in section 7.1.5. The details of the other blocks are later described in next sections.

Data normalization

The function of this block is to normalize the input data for building up the input data for the next step. First of all, the structure of the sensor field is generated by NetGen. After reforming, the coordinates of the sensor in the field are used to build up the node location table. Based on the topology of network interaction, routing tables are also carried out. GPredict provides the data about satellite orbit such as altitude, inclination angle etc., and satellite ground track parameters. Copy vectors from CPU (host) memory to GPU (device) memory 4: Step 4:

-Search for a free vertex u that has the least cost from the starting vertex S to u + If no vertex u is found, either it exists a path or not + Otherwise, from u we continue to consider the other free vertices -Use CUDA to specify the thread for searching the paths between the vertex u and the others 5:

Step 5:

Copy results from GPUs memory to CPU memory 6: Step 6:

Free device memory and host memory

Input data and Satellite communication model

For experiments, an abstract structure of the long-range sensor field for fire forest surveillance was generated by using NetGen [START_REF] Pottier | Dynamic networks : Netgen tools[END_REF]. From the constraints about the satellite's orbit altitude in section 7.1.5, orbit 12974 of , an LEO satellite with orbit altitude is around 575 km, which was chosen in our experiments. The ground track data stored in a plain text (.txt file as shown in Table 7.3) was used as input data. The satellite's parameters specify the characteristics of not only its operations orbit but also the ground track. All these data are used as input data for optimizing the length of time for connection. The satellite communication is built to describe the direct connection between an LEO satellite and a long-range sensor field via radio links. This model is based on the formulas which are mentioned in details in section 7.1.3.

Connection time optimization

The optimization process aims at finding out the proper gateway of the sensor field for maximum connection duration time based on input data about each sensor node in sensor field coordinates and satellite's ground track pass. The list of connection duration time which is calculated according to the relative distance between node coordinates and the sub-satellite coordinate. A node will become the gateway if its duration time is the maximum value. BT-DYNSEN tool was employed in determining sensorsets corresponding to sub-satellite points during visiting time. The map in Figure 7.11 shows the sensorset was determined with sub-satellites of BEESAT-3 at (latitude: 14.00, longitude: 102.48) in orbit 12794. Subsatellite and satellite coverage were indicated by a solid red square and red circle respectively. The sensorset consists of 19 sensor nodes which were under the satellite's coverage area (the shadow area). There are four sensorsets were created along the BEESAT-3's ground track in orbit 12794.

Experiments

Experiment 1: Verification of network connectivity

Experiment 3: Selecting gateways

With each sensorset, a subset of connections is established. The weights of each connection in the subset are then computed. A set of connection items is created by combining these subsets. The best connection is chosen based on the weights of connection items. For instance, in Figure 7.12 node v 36 was chosen as the gateway of the 50-node DSF to connection with BEESAT-3 satellite in orbit 12794 because its weight is highest in sensor nodes.

Experiment 4: Routing optimization for DFS

To ensure sensing data to be collected from all sensor nodes and then sent before the satellite leaving, it is necessary to find the shortest path from each sensor nodes to the gateway. The interconnection weights within the DSF are geographic distances between each pair of nodes that were carried out by applying BT-DYNSEN model. Figure 7.13, as an example, illustrates the chosen path (the bold blue line) for data dissemination from sensor node v 50 to the gateway node v 36 .

Experiment 5: Parallel RNN algorithm

In order to make the comparison between the parallel algorithms and serial ones for searching BT-Graph, we have run the simulations on a computer which is equipped with an INTEL Core i3-3220 3.3 GHz processor, 4 GB DDR3 SDRAM, and an NVIDIA GeForce GTX660 graphic card. In our experiment, a comparison about BT-Graph's search speed is obtained by performing both sequential algorithms on CPU and parallel algorithm on GPUs. On each algorithm with the same input data, which are generated randomly by the program, an experimental program is executed in 10 times for getting the average value of execution time.

The results are illustrated in Table 7. 4, where N is the number of initial data points and Q is a number of query points. It shows that the search speed of RNN-CUDA is improved around 2.37 folds compared with that of RNN BT-Graph. As can be seen in Figure 7.14, sequential processing is e cient for a small a number of nodes because it not waste extra time copying the data between CPU and GPU memories. Nevertheless, when a number of nodes are increased more than 8000, the duration time required for processing can be reduced significantly by using techniques of parallelism based on CUDA.

Conclusion

Based on BT-Graph, we have described a new approach in order to model and optimize the dynamic sensor field for LEO satellite connections. The distances between the subsatellite points and each node of the sensor field are utilized as a key factor in finding out the proper gateways for the longest connection time. The experimental results were obtained by applying several appreciate algorithms on BT-DYNSEN model to verify the connectivity of the network, determine sensorsets at visiting time, choose set of gateway nodes and find the shortest path for data dissemination in DSF. In order to improve the execution time, we implemented the corresponding parallel algorithms with CUDA on GPU and analyzed its performance. The results show that the parallel algorithm on GPU is considerably superior to the serial one on CPU when BT-Graphs comprising more than 8000 vertices. Thus, our proposed graph-based model helps to increase the amount of time for data communications in long-range sensor field applications using satellite connections.

Conclusion and Perspectives

Conclusion

The UBO tool-set consisting of NetGen, QuickMap, and PickCell is a framework aiming at modeling and facilitating simulations of physical phenomena, with wireless sensor network deployments as an example.

A top-down approach enables to the model abstract presentation of WSNs, generate automatically network descriptions, develop and then evaluate distributed algorithms by invoking simulations on multi-cores CPU or GPUs, and finally synthesis code to execute on hardware in a real system.

Even though wireless sensor networks o ers obvious advantages in all aspects of contemporary social life, it still exists critical issues in deployment for high optimization such as scalability, capability, security, and lifetime. The approach, followed to deal with this issue, is to perform a simulation with formal models, high-performance simulators based on parallel distributed algorithms and experimental evaluations.

The certain advantages in terms of the simulation are evident when modeling a WSN as a concurrent system. First, each process in the simulation can describe exactly a node's behaviors in a real network. The global knowledge system could be also obtained at the convergent time relied on exchange information among processes. Second, this approach facilitates the synthesis of execution code for local behaviors at the node level. Third, considering WSNs as the networks of concurrent processes helps to enhance simulation execution by utilizing massive parallel processing.

Information system, as shown in Figure F.1, depicts the relationship between units such as models, observations, and so on. This flow presents clearly the roles of these elements in order to motivate the future research of geographic issues. Analysis and decision-making taking into account geomorphological complexity must utilize the power of massively parallel simulations and observations.

Although the discretization of physical functions might cause errors the cellular automata method is an e cient approach for physical simulations because of its flexible rules for evolution, especially for dynamic complex systems. In addition, by integrating observations the CA model has emerged as a tool to improve physical models.

Computations of water distribution and radio coverage regarding terrain complexity play a critical role in flood risk forecasting and floodplain management. In this study, even though our model of flash flood was based on several hypotheses to simplify simulation conditions, observed data can help to refine model parameters of physical models. These studies need further consideration on the correctness of simulation results in relation to the accuracy of geographical terrain data, cell size selection, rules of water spreading, etc.

Our study on dynamic routing of sensor networks based on an assumption that LoRa technology is feasible to establish the direct radio links between sensor nodes deployed on the ground and LEO satellites. It now is available with Lacuna project1 . Our proposed tool-flow allows modeling and optimizing the dynamic routing of the nodes to improve the e ciency of air communications which are well suited for remote sensing applications based on low-cost small satellites. It certainly needs further actual experiments for calibration parameters of the model and validation requirements.

HLA combining and sequencing several simulations was studied to demonstrated that physical systems could reproduce routing algorithm similar to those of numeric networks. An example being shown in Appendix J was a surveillance network to warn about invasive waves.

Perspectives

Main research opportunities opened by this work appear as follows:

• At the first rank we see contributions to tools for LoRa deployment and integrated software binding high level sensing application to e ective distributed networks. Rationalities built in this thesis provide deterministic conditions to do this (Chapter 6).

• Synthesizing long-range mesh radio networks would allow to cover very large surfaces.

Tuning parallel algorithms can help to overcome the sparse conditions that will appear in this situation.

• Line-of-sight propagation and water spreading are examples of common spatial behaviors found in nature. Many biological, mechanical or physical processes have similar properties. Sensing of environment could take benefits from generic frameworks helping to develop and compose such simulations.

• Applicability for large problems available for the public can be obtained by publishing web interfaces to services dependent on two separated concerns: zone selection and cell resolution, and cellular system libraries.

With the advent of LoRa technology which facilitates long-range star network deployment and maintenance. Other aspects of network management such as the limits of duty cycle depending on regional or national regulation, spectrum constraints, security, scalability, co-existence, and interference are interesting directions for further studies to continue enhancing network performance.

The methodology of signal propagation simulation proposed in this thesis is not tied to CSS by Semtech LoRa and applies well to other long-range communication technologies such as Ultra Narrow Band (UNB) from Sigfox [187], and Weightless from Ingenu [START_REF] Sig | Weightless[END_REF].

A hybrid network that uses both short-range communications such as Zigbee, Bluetooth, so on in mesh topology to gather sensing data from sensor nodes to their base stations and long-range communications for base station connections. Another research direction could be related to utilizing massive parallel execution with GPUs to predict coverage of mobile gateway to collect data from WSNs in real-time.

These simulation tools help considerably in understanding geographic deployment properties, time constraints, and even communication energy budgets. The footprint of an LEO satellite is defined by the altitude of its orbit. Its velocity is in inverse proportion of the altitude. As a result, access windows time depends on both satellite's altitude and evaluation angle of the ground station. Selecting proper radio frequency and protocols, high gain antenna and mechanic structure for satellite are also key factors in satellite communications. These factors are to be considered to design direct links between sensors fields and small satellites, with the capability of ground networks to elaborate synthetic data collectively. Ground speed is bound to the frequency of sensor networks, and a number of hops, if any.

3. An Object Model Template defines how information is communicated between federates, and how the federates and federation have to be documented (using Federation Object Model FOM). FOM defines the shared objects, attributes, and interactions for a whole federation.

For the design of cellular automata (CA) systems, time steps must match a sequencing reality. It can be very fast in the case of physical propagation (waves, sounds, earthquakes), or very slow, as in the evolution of environmental biology. Simulation of CA is in general driven by the time, so one simulation step match one CA step and one physical step. Simulation steps can be folded to match computer characteristics.

CA can be composed using HLA (Figure A.3), and they can also be composed with another framework, as it is the case for network simulation, with a synchronous simulation of WSN.

It has been shown that mobile visitor nodes (vehicles, satellites) can also be managed in this framework [START_REF] Pottier | Concevoir, simuler, exécuter, Une chaine de développement pour réseaux de capteurs[END_REF]4]. In HLA terminology, di erent simulators (federates) could be assembled in an interconnection, which is called a federation, with communication being supported by a Runtime Infrastructure (RTI). The RTI provides services for simulation control, synchronization and data exchange such as Federation Management, Time Management, and Object Management [START_REF]RTI 1.3-Next Generation Programmer's Guide Version 3[END_REF].

Federation Management Synchronization functions composing of RTIambassador and FederateAmbassador allows federates to communicate through explicit synchronization points. It is possible to create and destroy federations, join and resign federates to federations, save and restore federations, and observe federate synchronization points. As can be seen in Figure A.21 , registerFederationSynchronizationPoint() method of Fed-erateAmbassador needs to be initialized first to establish a named checkpoint enabling to synchronize federates according to federation-defined semantics. If the registration succeeds, a synchronization point is produced by synchronizationPointRegistrationSucceeded() service. federated with a wireless sensor surveillance network. It is noticeable that the wave can damage the monitoring system, that should react appropriately. For instance, the behavior of an abstract surveillance network is simulated in which each sensor node is depicted by a square dot with sensing range (small circle) and communication range (larger circle). When a huge wave approaches coastline within a distance less than nodes' critical warning condition, this sensor node broadcasts alarm signal to its neighbors indicated in red color.

B Computing radio coverages: experiments on archipelagoes

Each rocky shore is an ecosystem where it is critical to understand, protect and preserve biodiversity in the context of climate changes. E cient autonomous observatories can be developed and deployed to collect data with benefits for environment management, thanks to compact electronic devices and new radio systems [192]. Wireless sensor networks (WSNs) o er attractive solutions for observation because of the large availability of physical sensor devices, and compact radio link transceivers, for example Modtronix inAIR9b in Fig. B.1 [START_REF] Modtronix | Modtronix inAIR9b module[END_REF]. Radio links enable communications between sensors, gateways, and information systems on permanent or periodic basis [START_REF] Lucas | Modélisations, simulations, synthèses pour des réseaux dynamiques de capteurs sans fil[END_REF]. In the case of marine environments such as shores or islands, it is practically di cult to design radio sensor deployments having an accurate coverage. Coverages is the way to specify where information is accessible, whatever it is either radio signal, biological, or physical influences. Therefore computing coverage is essential for monitoring purposes and can take various forms. The case of marine shores is di cult because of complex topologies, with rocks of various shape and elevations interleaved with the sea. Managing the sea from radio buoys is another element.

This work relates to principles and results-oriented to the exploration of radio link capabilities, taking into account sea shore geography topologies. By modeling geography into cell systems, it becomes possible to simulate many physical phenomena such as wave e ects, rain e ects, pollution, etc. Computing covers in presence of obstacles are known to be a compute-intensive task, in the complexity class of 3D image synthesis because emitted rays must be compared to each other point in an image taking obstacles into account. We explain and discuss a massively parallel execution led on cellular systems representing the geographic zone. Computations were firstly achieved on communicating processes suitable for multi-core processors, then they were ported on Graphics Processing Units (GPUs) producing performances in the real-time order.

The tools developed to allow to select arbitrary study zones from a specific map browser called QuickMap1 . As a result, automatic and manual coverage computations were applied to a set of archipelagos. Practical results are given in terms of performances and functional results section B.1.

B.1 Practical e ects

In practice, for execution, the lab tools allocate cells in the accelerator memory and represent channel connectivity by data structures. The execution itself is done by a so-called CUDA kernels sweeping the node system. We have been able to map and execute systems with as many as 125000 cells. The level of e ective parallelism is high: common GPUs have several hundred processors, thus the computations finish at an impressive speed (see Table B.1).

Using these tools is easy and allows to investigate case studies rapidly. As a demonstration, 6 complex shores were explored with a variety of geographic resolutions, system sizes, and cell sizes. The table B.1 summarize the results. Computation delays are compatible with a fast mobile that needs to guess what is happening below or beside, provided that geographic data have been stored previously.

B.1.1 Coverage exploration

Our tools provide two ways in order to determine emitter positions: manual selection or coverage exploration strategy. In manual mode, each time an emitter is located on the map (Quickmap/Pickcell) the coordinate (longitude, latitude) and elevation of this point are used as parameters to execute the LoS algorithm on GPUs. The obtained result is cells within the LoS communication range of this root associated with the received power signal. These values are fetched back into Pickcell to show corresponding communication coverage. Another cell in this coverage can be chosen to put next emitters or repeaters as planning a wireless network. Due to a large number of cells and complexity of simulation, this process needs high computing power to perform in real time. A video clip to describe this process can be accessed at the following link:https://youtu.be/iO94UiFx7KE

For coverage exploration, the highest point to put the first emitter is found out by the program automatically. The values of this point are also sent to the CUDA procedure running on GPUs to determine a set of cells under its coverage. This coverage area is shown on PickCell and then a cell in the area is selected to put the next emitter based on one of the di erent strategies such as maximum distance from the previous emitter, maximum number of invisible neighbors, and so on. The process continues in the same way until all cells are highlighted.

B.2 A summary of tool flow to predict communication coverage

PickCell/NetGen is a set of tools sharing abstract models for a network of sensors and physical simulation. They also share software generators for concurrent executions [START_REF] Dutta | An execution flow for dynamic concurrent systems: simulation of wsn on a Smalltalk/Cuda environment[END_REF] that are compatible and mergeable.

PickCell allows the analysis of a geographical zone, in the form of geo-localized cells in 2 dimensions. The cells are defined on a browser of maps. The cell systems can be produced with additional information such as elevation, geological data. The cells let the computation of radio signals line-of-sight taking into account the obstacles. The common flow proceeds top-down from space to modeling and simulation as follows:

• Space descriptions are selected from maps, photographs, measures, human body model, nano-architecture model.

• Cell partition of Space regular segments are produced keeping geometric references (possibly geo-coordinates).

• Cell subsystems are produced by grouping based on criteria (colors, elevation, and other data).

• Cellular automata are built by connecting neighbor cells according to a connectivity pattern (Von Neumann, Moore).

• Cell behavior describes physical evolution data with transitions and physical neighborhood influences.

• WSN sensor systems are networks of measure points with geometric references, wireless communication capabilities, estimated coverage ranges.

• WSN behavior is the logical behavior of sensors cooperating inside networks, achieving local perception and contributing to distributed algorithms.

Merging network and physical simulation defines a cyber-physical machine model embedding physical reality, perception, distributed decision, and possible physical control in the real world. Many applications can come from this approach such as flooding, pollution, wildlife simulations.

C Preliminary Results on Scheduling

Algorithms of LoRa Network

C.1 Basic algorithm

According to LoRa modulation [160] the time on air (ToA), duration time required for sending a packet, depends on three critical parameter bandwidth (BW), coding rate (CR) and spreading factor (SF).

The operation of the LoRa network can be divided into two states. First, it is necessary to carry out programs for building a network and scheduling the radio links. Second, the network operates rely on the former configuration to collect and store data.

In the beginning, base station spread out a "hello" message to explore other nodes within its communication coverage. Broadcast message in LoRa protocol [107, 55] is defined by destination address 255 (0x ). All active nodes receiving this message need to respond by an acknowledgment (ACK) if they would like to participate in this network.

After knowing the information about neighbors, a critical algorithm in order to enhance the performance of nodes is performed. The input data of this optimization program is radio signal strength indicators corresponding to received messages at the base station. The result of optimizing process, the set of LoRa parameters for each node is proposed. This work aims at improving the operation of the network by increasing the data rate, saving transmit power and still retaining the robustness of connections. From Semtech's document [START_REF] Semtech | LoRa Modulation Basics[END_REF], LoRa network communication time is reduced significantly as LoRa chip working in the configuration with wider bandwidth, lower coding rate denoting less redundant bits, and slower chirps corresponding to higher SF values. The duration for sending a packet in a certain configuration of LoRa can be found as follows.

The symbol rate is given by

R sym = BW 2 SF (C.1)
so the time of one symbol is

T sym = 1 R sym (C.2)
Besides time of preamble can be derived from

T preamble = (n preamble + 4.25) × T sym (C.3)
with n preamble is the programmed preamble length From the structure of the packet, the number of payload symbols is calculated by the formula

P L sym = 8 + max ceil 8P L -4SF + 28 + 16 -20H 4(SF -2DE) × (CR + 4), 0 (C.4)
where PL is the number of payload bytes (1 to 255) SF is the spreading factor (6 to 12) IH=0 when the header is enabled, IH=1 when no header is present DE=1 when LowDataRateOptimize=1, DE=0 otherwise CR is the coding rate (1 corresponding to 4/5 and so on)

The formula gives the time of payload as

T payload = P L sym × T sym (C.5)
Finally, the duration of the packet is

T packet = T preamble + T payload (C.6)
Period of times for collecting data for each node is calculated by applying Equation C.6. Consequently, a scheduling algorithm is utilized in order to determine communication time slots for sensor nodes. The information about time slots is then delivered to all nodes in the network. A super-frame stored at the base station is composed of all time slots. It helps to build up a scheduling table to regulate all connections between the base station and sensor nodes. Based on scheduling communications, the long-range network for data dissemination is performed e ectively.

C.2 A study case of scheduling LoRa networks

This section describes design flow to optimize LoRa networks. Figures from C. The communications of LoRa networks are strongly impacted by transmission environment in reality. Hence, the actual coverage prediction must be taken topographic complexity into account as a critical factor. Our proposed tool flow is a useful approach to facilitate the deployment of a long-range communication network for monitoring environment, especially in complex topographical areas.

• Step 5: Capture convex hull computation results, (x,y) locations of vertices, and draw this boundary on PickCell. As mentioned at Step 4, our system operates on geographic data (latitude, longitude), so that it is necessary to use float number in double precision with at least 9 digits floating point. The structure of data must be convenient both for computing on GPUs also retrieving from VisualWorks aiming at showing the result on the GUI of PickCell.

E

System tools presentation

E.0.1 Boards and components

Our aim is to establish a radio link between a fixed node (base station) and a mobile node moving around for collecting the strength of radio signal corresponding to geology location. For sake of simplicity, we use the Arduino board as a micro-controller. We designed and implemented a board namely RECoco (Radio Estimation Coverage). Free software Autodesk Eagle [START_REF]EAGLE:Schematic Editor and PCB Layout[END_REF]: schematic editor and PCB layout were employed to design RECoco. RECoco shield can be stacked on Arduino board including a GPS module and a LoRa transceiver. Venus GPS module [START_REF] Sparkfun | SparkFun Venus GPS with SMA Connector[END_REF] used to obtain the geo-location of the node from the satellite. Modtronix inAir9b LoRa transceiver [START_REF] Modtronix | Wireless SX1276 LoRa Module, 868MHz and 915MHz[END_REF] is a radio circuitry for sending and receiving data in long distance.

To collect the data from a mobile node moving around, at the base station (BS) (fixed node) both of nodes are equipped RECoco. At the mobile node, the information consisting of local time, latitude, longitude, altitude from GPS is packed and then sent to the BS via LoRa radio channel. A particular map browser and control called QuickMap [START_REF] Lucas | Modélisations, simulations, synthèses pour des réseaux dynamiques de capteurs sans fil[END_REF] running on PC at BS side are employed to establish the connection between PC and RECoco board through USB port for receiving messages from the mobile node. The received message is unpackaged to retrieve data and then display position of the node on the map in real time. Received signal strength indicator (RSSI) captured at LoRa circuitry is used to evaluate the quality of radio connection [START_REF] Rappaport | Wireless Communications: Principles and Practice[END_REF]. These data are also logged in files or insert into the database at data center directly through 3G/4G connection available on PC.

As can be seen in Figure E.1b, group of jumpers (1) are compatible with SPI driver signals (MISO, MOSI, SCK) to fit on either Arduino mega2560 or UNO [198] and jumpers (2) and (3) aim at switching slave devices (SS) and interrupt pins. Consequently, interrupt routines utilize to handle LoRa chip for long-range communications. In addition, the serial port on Arduino board is used to get the coordinate location of the node from the integrated GPS module and connect to PC can be configured by using a jumper (4).

GPS modules equipped processors and antennas receive the data sent by the satellites and compute position and time. Notice that the computation is more accurate if GPS antennas can receive signals from at least four satellites.

The GPS modules output data in NMEA (National Marine Electronics Association) standard which is formatted in lines of data called sentences [START_REF] Technology | NMEA Reference Manual[END_REF]. Each sentence contains various data organized. For instance, the format of GPGGA sentence is exploited to extract concerning data (geolocation, and time) in our experiments shown in Table E

E.0.2 Software interactions

A Graphic User Interface is developed to establish the connection between PC and RECoco board via USB port for receiving GPS sentences continuously. The GPS sentences are processed to get information about local time, latitude, longitude, and altitude of the integrated node and then display on PickCell (blues circles). These GPS coordinate values are also stored either into log files or insert into the database at data center directly through 3G/4G connection available on PC.

F.0.1 Graphical front-ends: Quickmap and Pickcell

Quickmap Map presentations are of common usage thanks to a technique called tile rendering. It consists of hierarchical decomposition following (x,y,z) coordinates, z (zoom) presenting the level of depth in a hierarchy, and the precision of the presentation. Map browsers make use of these parameters to retrieve level of details, x and y being integers representing geographic coordinates. The default presentation is the standard OpenStreetMap for maps (see also [START_REF]GIS collective[END_REF]). Thus, Quickmap (see figure F.2b, [START_REF] Lucas | Modélisations, simulations, synthèses pour des réseaux dynamiques de capteurs sans fil[END_REF] thesis) is a generic navigator to browse this tile organization [START_REF]GIS collective[END_REF]. It implements 3 dimensions allowing to visit and select geographic zone, plus some capabilities relative to sensor systems and location selection. Figures and present the upper levels of the tile hierarchy.

Pickcell Zones selected in the Quickmap window can be sent to another tool called Pick-Cell. The tool is oriented to the definition of cellular systems and can generate cellular systems regular or irregular organizations, according to grid definition. Another feature is the possibility to select and display network graphs and represent 3D geographic positions.

In addition to the central window, the classification tool and code generation command is used from another window presenting sub-systems and controlling the weaving of cells according to neighborhoods. Netgen can produce a di erent kind of graphs, as logic graphs for small systems, geometric presentation for computation result or manual specification. There is a simple specification of textual grammar to express node lists and connexions.

For CUDA execution, cells are mapped into a large array and are fitted by channels that describe where to read, and where to write. A NetGen architecture description is fully automatic for both alternatives. However, the programmer still needs to define the cells behavior Cellular Automata as transition rules. Advantage tools are developed for experimental measurements to evaluate the correctness of simulation results.

F.0.3 Advantage tools

• Coverage: dispatch CUDA program for coverage computation, fetch the computation result and display the coverage on map.

• Parameters: optimize the configuration of LoRa nodes.

• getGPSdata: control receiving data from a RECoco board, and display the location of nodes on map (Pickcell).

• showPointsFromLogFile: retrieve data from a log file and then display the location of nodes on map.

• loadPointsDB: retrieve data from the database and then display the location of nodes on map.

• showVisiblePoints: show received points which are matched with simulation results.

• showInvisiblePoints: show received points which are mismatched with simulation results.

• Statistics: do a statistics on a coverage prediction percentage error in comparison to the corresponding experiment.

• Get grid cell: produce grid data for computations.

• Reset points: clear all points on a current map.

G Froggy LoRa library

Froggy Factory produces LoRa shield with integrated SX1272 LoRa chip, thereby facilitating implement of LoRa radio transmission with Arduino boards [START_REF] Corp | Semtech SX1272: Long Range, Low Power RF Transceiver 860-1000MHz with LoRa® Technology[END_REF][START_REF] Factory | Lora Fabian Shield (ES1.1): LoRa Shield for Arduino[END_REF]. In this thesis, Fro LoRa library was developed, allowing to establish rapidly long-range wireless communication applications in occam-pi programming language which operate on TVMs stacked on Arduino boards.

In our experiments, the payload of package was structured as latitute,N/S,longitude,W/E,altitude,hour:minute:second For example, 4824.0185,N,00430.0687,W,54.2,08:09:10. The meaning of each part as follows:

G.1 SPI library

SPI library provides functions allowing to establish a connection between TVM and LoRa module via SPI interface.

H inAir LoRa library

Modtronix produces a series of inAir LoRa modules (e.g. inAir4, inAir9, inAir9B) with integrated SX1276 or SX1278 LoRa chip. These are high quality, and low cost LoRa modules, enabling long-range communications in the 433, 868 and 915 MHz license-free ISM band [START_REF] Corporation | Sx1276/77/78/79 -137 MHz to 1020 MHz Low Power Long Range Transceiver[END_REF][START_REF] Modtronix | Modtronix inAIR9b module[END_REF]. inAir LoRa library was also developed in occam-pi programming language aiming at doing experiments on Semtech SX1276 chip which provides better communication features and performances than SX1272 such as output power of 20 dBm, 168 dB maximum link budget [START_REF] Corporation | Sx1276/77/78/79 -137 MHz to 1020 MHz Low Power Long Range Transceiver[END_REF][START_REF] Corp | Semtech SX1272: Long Range, Low Power RF Transceiver 860-1000MHz with LoRa® Technology[END_REF].

The following tables provide the list of libraries1 for developing applications with Modtronix inAir LoRa modules. A virtual machine on Arduino [202] allows executing these occam-pi programs for wireless network deployment.

H.0.1 spidriver.module

spidriver library provides functions allowing to configure a SPI interface between TVM and LoRa module.

H.0.2 spilib.module

spilib library provides functions allowing to read/write the values from/to registers of LoRa chip via SPI interface. • ID: unique identification of nodes in the network being used by applications.

• Time: Local time of node in format hour:minute:second.

• Lat, Lon, Elev: geographic values of place where a sensor node is located. 2• The last part is CRC (2 bytes) for payload.

After receiving a message from a mobile node and checking the consistency of package format, if the sensing message is collected successfully its value is analysis. The structure of a received message as presented in Received messages of several nodes with di erent were stored in a log file or inserted directly into database server for later use. The messages also processed by a user's interface to show the node's position and sensing values, if any, on the map in real time. This is a visual interface allowing to observe the operation of the experimental network. LEN ] s e r i a l . w r i t e . s t r i n g ( TX0 , c h a r a c t e r ) --r e c e i v e and p r i n t SNR s e r i a l . w r i t e . s t r i n g ( TX0 , " * nSNR : " ) lora . last . snr ( r f I n d e x ) s e r i a l . w r i t e . dec . int ( TX0 , r f I n d e x ) --r e c e i v e and p r i n t RSSI s e r i a l . w r i t e . s t r i n g ( TX0 , " , RSSI : " ) lora . last . rssi ( r f I n d e x ) s e r i a l . w r i t e . . LEN ] s e r i a l . w r i t e . s t r i n g ( TX0 , c h a r a c t e r ) --r e c e i v e and p r i n t SNR s e r i a l . w r i t e . s t r i n g ( TX0 , " * nSNR : " ) lora . last . snr ( r f I n d e x ) s e r i a l . w r i t e . dec . int ( TX0 , r f I n d e x ) --r e c e i v e and p r i n t RSSI s e r i a l . w r i t e . s t r i n g ( TX0 , " , RSSI : " ) lora . last . rssi ( r f I n d e x ) s e r i a l . w r i t e .

I.2 Occam programs of a sink nodes and sensor nodes

Figure 1 . 1 -

 11 Figure 1.1 -Insight's prediction about the growth up of smart devices has been installed worldwide by 2025. Number of connected devices is expected to increase around three times from 2018 to 2025 [11].

Figure 1 . 2 -

 12 Figure 1.2 -Low-power, long-range radio technologies versus legacy wireless technologies [13].

Figure 1 .

 1 Figure 1.5 presents the application fields of CA technology, of course not exhaustive list.

Figure 1 . 6 -

 16 Figure 1.6 -A stack architecture enables distributed applications spread over a network of virtual machines being connected via LoRa radio links.

Figure 2 . 2 -

 22 Figure 2.2 -(a) A topographic roughness model describes the relation of elevations between a cell (red cell) and sounding cells highlighted in yellow color. (b) Moore neighborhood for distance 1: a center cell has 8 surrounding cells. (c) Moore neighborhood for distance 2: the center cell has 24 surrounding cells.

Figure 2 . 3 -

 23 Figure 2.3 -Terrain complexity analysis for the Roc'h Trevezel using TPI metric. A color scale, as in Figure 2.4, is proposed to provide visual results on the map of zone. This grid is 262 × 226 cells, representing a zone about 50 × 40 kilometers. This shows remarkable landform being split in the North-South direction.

Figure 2 . 4 -

 24 Figure 2.4 -A gradient red color scale with 10 equal steps that represents the TRI values from 0 to 250 meters.

Figure 2 . 5 -

 25 Figure 2.5 -The topographic complexity of Roc'h Trevezel area is quantified using TPI. Red lines represent higher points, di cult to overcome and blue lines are for lower points, di cult to reach. The white zones refer to flat zones almost without remarkable obstacles.

Figure 2 . 6 -

 26 Figure 2.6 -A particular scale based on gradient of red and blue colors represents the TPI values which may be white, red or blue color corresponding to zero, positive, and negative values respectively.

Figure 2 . 7 -

 27 Figure 2.7 -TPI terrain complexity for the Soummam river in Algeria (see also Figure 2.10). Red lines represent higher points, di cult to overcome and blue lines are for lower points, di cult to reach. The white zone signals a flat ground without remarkable obstacles, the case of Soummam banks. This grid is 262 × 226 points, representing 30 × 25 kilometers.

Figure 2 .

 2 Figure 2.8 -A histogram of topography ruggedness. Four zone analysis with high variability (red, the Soummam), low variability (blue, the City of Brest, with several deep valleys and the shore), a zone with an high percentage of sea surface (green, Brest bay), medium variability with low size hills (brown, the Arrée mountains).

Figure 2 . 9 -

 29 Figure 2.9 -A subsystem of low terrain complexity was extracted from Figure 2.7.This is a flat zone around the river Soummam, with complexity below the threshold line on the left in Figure 2.8.

Figure 2 . 10 -

 210 Figure 2.10 -Display of a radio coverage for an emitter (red point), located above Soummam (36.622141028, 4.799995422) elev:165.0. Note that geographic positions are proposed in (lat, long) form compatible with familiar map navigators. Coverage is shown in dark yellow, spreading over 30 km on the zone width. This location was chosen at random, giving a percentage of 32% grid points receiving the long-range signal.

Figure 2 . 11 -

 211 Figure 2.11 -Heavy rainfalls context: a physical simulation produced positions with the risk of flash flooding (dark blue color). The communication coverage of a base station with a star network is predicted for sensor nodes monitoring level of water in these positions. An algorithm select reachable sensor positions from a network sink, sorts, then extracts 15 positions according to the flooding result simulation. More details about accuracy are given in Section 3.2.

Figure 2 . 13 -

 213 Figure 2.13 -Tile map server architecture: tiles are requested from the web page server that either return a cached image or ask the rendering engine to compose it from a data base of geographical objects.

Figure 2 . 15 -

 215 Figure 2.15 -Presentation of a cell system organization over the tiles of Figure 2.14. Each cell has an identity produced from its location inside the window, and a geographical location. The text window bottom right also displays a plus parameter for the elevation. The cell size is 25 × 25 pixels, representing 7644 × 7644 meters.

Figure 2 . 16 -

 216 Figure 2.16 -Cell node representation: (a) is the internal architecture with an automaton (rule) operating on incoming values and local stimuli (stim), based on a local set of variables, filling output communication bu ers. Communications (com) are operated to and from the input and output bu ers. (b) is the external point of view that only shows bidirectional links a cell node.

Figure 2 . 17 -

 217 Figure 2.17 -Cell synthesis flow: (1) a zone was located from a QuickMap navigation, and (2) was segmented into cells, then a subsystem was extracted filtering cells with elevations less than 45 m. (3) A cell system was generated following Moore topology. Annotations show controls for geographical positions with a cell size of 5 × 5 pixels representing a 191 × 191 m 2 surface (A), classification was operated for elevation (B). The neighborhood was Moore, radius 1 (C).

. 1 .

 1 According to the kind of neighbor (Von Neumann or Moore) directions can be organized as pairs of number, as shown in Table3.1.

Figure 3 . 1 -

 31 Figure 3.1 -(a) Von Neumann 1 topology consists of a central cell and 4 neighbors. (b) In Moore 1 topology, a central cell connects with all 8 neighbors around.

  PickCell represents the second step in the investigations, where an image is segmented into rectangles of arbitrary size, counted in pixels. The real dimensions and positions are displayed inside the window header as shown in Figure3.3.

Figure 3 . 2 -

 32 Figure 3.2 -QuickMap: a map browser allows to select various kind of tile server for retrieving tile map for free GIS database such as OpenStreetMap. In this figure, QuickMap is used to select a area at Ouessant island (15.58 km 2 ) in Brittany, France.

Figure 3 . 3 -

 33 Figure 3.3 -PickCell cellular presentation with 20 × 20 pixels cells corresponding to 382 meters. The top fields present geo-position and elevation at mouse point.

Figure 3 . 4 -

 34 Figure 3.4 -This figure demonstrates how to control the classification process depending on Red-Green-Blue color scale for cell system preparation.

Figure 3 . 5 -

 35 Figure 3.5 -Instead of using color space, ground elevation parameter is exploited for the classification process based on a critical characteristic of cells, such as 3 meters over sea level.

Figure 3 .

 3 Figure 3.5 shows a typical classification based on RGB color scale and Figure 3.4 describes an enhanced data preparation of relying on elevation parameter. The cubes are displayed in the left column of the tool. By selecting a complete system, or subsystem, it becomes possible to write out its organization, according to a concurrent execution syntax.

Figure 3 . 6 -

 36 Figure 3.6 -Cell weaving and simulation synthesis: back-end selection (menu) and cellular topologies (bottom right).

Figure 3 . 7 -

 37 Figure 3.7 -NetGen tool allows to generate data for massive parallelism processes such as multi-cores in Occam-pi or Graphics Processing Unit accelerators in CUDA.

Figure 3 . 8 -

 38 Figure 3.8 -A cell process showing a 3 stage loop that operates on input and output bu ers, handle a physical evolution with sensor data, and execute transition rule.

Figure 3 . 9 -

 39 Figure 3.9 -Physical exchange during a rain episode. An incomplete neighborhood from a system shows a center cell with 3 neighbors: west, east, and south. The physical behavior is water flowing downward, represented here by synchronous messages sending water quantity west to center, and center to the east. Refer to [139] for more realistic behaviors.

• Step 1 :

 1 Initializing local variables • Step 2: Preparing for the first communication session • Step 3: Communicating M to N • Step 4: Updating local variables

  Figure 3.10 -Heavy flooding in Goudeloupe occurred during Maria hurricane (photo: BBC weather)

Figure 3 . 11 -

 311 Figure 3.11 -Terrain complexity analysis using Topographic Position Index (TPI) for the island of Basse-Terre (Guadeloupe Archipelago). Blues lines indicate low-elevation zones such as valleys, mountain springs, rivers, etc. and red points associate with high-elevation places, mountains as an example. By the significant slopes due to reluctant of topography and vegetation, a large amount of rainwater rushes down to lower floors in a very short time leading to terrific flash flooding, landfall.

Figure 3 .

 3 Figure 3.12 -A snapshot of flash flooding simulation for Guadeloupe during Maria hurricane in three days from 18 to 20 September 2017. The result shows the path of water and highlights risk places where su ering heavy flooding (refer to Fig 3.13 for the value of the color in millimeter of water level).

Figure 3 .

 3 Figure 3.13 -A color scale being used to represent the intensity of flooding on map. The gradient of blue color is proportion with the constitute of water at each cell in uniform grid.

Figure 3 . 14 -

 314 Figure 3.14 -Heavy flooding in the center of Morlaix, France due to a storm in June 3, 2018 (photo: Le Télégramme).

Figure 3 .

 3 Figure 3.15 -The public weather broadcast service of Meteoblue including rainfalls for every hour in Sunday, June 3, 2018.

Figure 3 . 16 -

 316 Figure 3.16 -The public weather broadcast service of Meteoblue including rainfalls for every hour in Sunday, June 3, 2018.

Figure 3 . 17 -

 317 Figure 3.17 -Simulation result for Morlaix, obtained by executing massively parallel processes on GPUs. The experimental zone comprises of 58275 cells corresponding to actual area 3 × 3 km. A place of concern is indicated by a red circle. This is rue de Brest near the river Que euth (longitude: -3.8329839706421, latitude: 48.573767695437, elevation: 10.1 m) where water level went up to 60 cm according to Le Télégramme newspaper. The main flooding directions can be seen in light blue over the maps.

Figure 3 . 18 -

 318 Figure 3.18 -Chart shows rainfall levels during 32 hours from 00:00 June 3, 2018, to 08:00 June 4, 2018 (blue line). The red line presents the level of water at the concerned place (as shown in Figure 3.17). It was noticed that serious flooding often comes several hours after a storm or heavy rain. After the rain stopped, it required a couple of hours or days to drain all water.

Figure 3 .

 3 Figure 3.19 -Even though the heavy rain just occurred during a few hours (3:00 -5:00 PM), simulation result shows that there are 50 points where water levels are from 30 to 70 cm.

Figure 3 .

 3 Figure 3.20 -Performances of flooding simulation on di erent GPU cards. The execution times increase corresponding to the number of cells which need to be processes.

Figure 4 . 1 -

 41 Figure 4.1 -Radio signals propagate in concentric squares step by step. Reachable cells are represented in colored stripes.

  Figure 4.2. Each new step in the algorithm adds a new circle, and the computation finish in 2 × log(n) steps where n is the number of cells. During ray propagation, the ground profile is collected into a route. A route profile is shown in Figure 4.2. Routes are completed progressively based on positions and elevations. Thus each cell can thus decide if the emitter is visible or not by comparing its slope to root with the previous slopes in the received profile, as shown in Algorithm 4.

Figure 4 .

 4 Figure 4.2 -A profile obtained along a route. Let's assume that an emitter located on the furthest left of the chart, with a distance of 0 m, an elevation of 350 m. According to LoS condition three points at distances 2997 m, 3269 m and 3541 m seem unable to receive the signal from the emitter.

4

 4 Figure 4.3 shows DBFS routes resulting from this Algorithm Setup visible nodes from emitter based on the LoS condition. 1: procedure fspl 2:

for each cell j do 6 : 7 :

 67 if (cell j .slope <= cell i .slope ) AND (receivedPower > sensibilityPower) then cell j .visible = T RU E

Figure 4 . 3 -

 43 Figure 4.3 -Directed BFS is a distributed parallel algorithm being able to manipulate data on grid cells. Its aim is to mimic point-to-point radio links adopting LoS condition. Segmented lines laid on a map to represent how cells forward incoming signals gradually from a root cell (x=10, y=1) to definite directions.

  69.55 + 26.16log 10 (f ) -13.82log 10 (h b ) -a(h m ) + (44.9 -6.55log 10 (h b ))log 10 (d) -K (4.10) where f M Hz : center carrier frequency of transmission band in MHz, h b : antenna height of base station in meter, h m : antenna height of mobile node in meter,d km : distance in kilometers, a(h m ) for each type of area and K see Table.

Figure 4 . 4 -

 44 Figure 4.4 -LoRa emitter is placed on the Elorn bridge in our experimental measurement at Plougastel.

Figure 4 . 5 -

 45 Figure 4.5 -A LoRa emitter was located on Elorn bridge (latitude: 48.386556, longitude: -4.399007, elevation: 30 m). Blue circles indicate points where mobile node (receiver) can receive the signal from the emitter. The coverage prediction by executing simulation are zones highlighted in yellow.

Figure 4 . 6 -

 46 Figure 4.6 -RSSI values decay as a negative exponential function of distance. Obstacles seriously impact on the quality of radio waves.

Figure 4 . 7 -

 47 Figure 4.7 -A LoRa emitter was placed on top of a hill at Albert1 er , Brest city, France.

4. 4 . 2

 42 Case study 2: Place Albert 1 erContrasting with the case 4.4, these measures were taken inside the city that has a very complex topology with valleys and heights of 100 m (Figure4.7). Valleys were created by an ancient river flowing toward the north and were invaded by the sea.

Figure 4 . 8 -

 48 Figure 4.8 -The set of blue circles locate points where a receiver can establish a radio link with a LoRa emitter (lat:48.397652, lon: -4.489541, elev: 52 m) in our real measurement, plus coverage prediction of the emitter in Albert 1 er , Brest city.

Figure 4 . 9 -

 49 Figure 4.9 -Obtained Received Signal Strength Indicator (RSSI) values for experiment inAlbert. This is an urban area with many buildings plus hills, valleys so that radio waves are locked by these obstacles.

Figure 4 . 10 -

 410 Figure 4.10 -The base station (emitter) is located on top of the mountain (latitude: 48.4051306, longitude: -3.9077762, elevation: 345 m). Another RECoco board is placed on a car (receiver) traveling around the area with many hills, valleys, and big trees. From simulation results, places (cells) are able to receive the radio signal highlighted in pink color. Blue circles show points where the receiver successfully got messages in our real measurement.

Figure 4 .

 4 Figure 4.11 -A base station is equipped a RECoco board (emitter) E.0.1 and a MacBook. This base station was deployed on the top of the Roc'h Trevezel mountain, France. The receiver is another RECoco board mounted on a car moving around.

Figure 4 .

 4 Figure 4.12 -Obtained RSSI values for experiment in the Roc'h Trevezel. The complex terrains in this area strongly impact on quality of radio links.

Figure 4 . 13 -

 413 Figure 4.13 -Photo of base station was used in our experiment. It is at a high point (lat: 48.387479, lon: -4.480088, elevation 39 m) near railway station and Brest harbor.

Figure 4 .

 4 Figure 4.14 -Simulation result for communication coverage of an emitter at Brest harbor.

Figure 4 .

 4 Figure 4.15 -Chart shows captured RSSI values as a function of distance. As can be seen in Figure E.7, some places the strength of received signals went down irregularly due to obstacles such as high buildings, trees, cars, etc.

Figure 4 . 17 -

 417 Figure 4.17 -This chart illustrates the mean of potential error ratios in LoS computations for various cell grain taking into account of terrain complexity. Percentage of potential errors are proportion with the resolution in pixels of segmented data. Apart from this, the error values for a given resolution is in proportion with data resolution. Moreover, the correctness of LoS computations is strongly depended on the terrain complexity of experimental zone.

Figure 4 .

 4 Figure 4.18 -Two statistical experiments with three data space with resolution 5, 10 and 20 in pixels at three di erent topographic terrains. Plougastel area is a river and its banks, a smooth terrain surface. Albert is an urban area with hills and valleys and Roc'h Trevezel is a mountain area, with turbulent topographic terrains. The mismatch of computation results due to rescaling are evaluated in percentages number of cells.

Figure 5 . 1 -

 51 Figure 5.1 -(a) Segmented lines are laid over map of zone to depict the routes for circulating value of root cell (x=3, y=3) to all the other cells in space. The space composes of 36 cells in regular square grid with resolution 6 × 6 in pixel. Note that, every cell can obtain incoming values at any point of its four corners. (b) For instance, a directed graph shows a typical routing scheme for communication by executing nondeterministic BFS in which each cell accepts one and only one value of oncoming values from surrounding neighbor cells in random order.

Figure 5 . 2 -

 52 Figure 5.2 -(a) Routes from a root node to the other nodes by executing deterministic BFS. (b) Direction computation.

Figure 5 . 8 . 8

 588 Figure 5.2b depicts the assigned values of directions. From this definition, the appreciate output direction is computed from the direction of coming message as explained by

Figure 5 . 9 1 :Figure 5 . 3 -

 59153 Figure 5.3 provides a visual view of helping to easily realize how to determine the directions for sending messages in the DBFS algorithm. Algorithm 8 describes the process steps

Figure 5 . 4 -

 54 Figure 5.4 -(a) Deterministic routing algorithm for exploring space. (b) A graph for deterministic routing strategy.

Figure 5 . 5 -

 55 Figure 5.5 -(a) Bresenham's routes. (b) DBFS routes.

Figure 5 . 6 -

 56 Figure 5.6 -Routes from root cell (x=6, y=6) to three point (x=1, y=11), (x=9, y=12, (x=17, y=4) indicated by black, blue and red color respectively. (a) Segmented lines are produced by implementing distributed parallel version of Bresenham's straight line. (b) Executing DBFS.

Figure 5 . 7 -

 57 Figure 5.7 -(a) Bresenham's routes from a root cell for a certain direction. (b) DBFS routes from a root cell for a certain direction.

Figure 5 . 8 22. 5 o 8 ×

 5858 Figure 5.7 (b) demonstrates three routes applying DBFS algorithm. Comparing these routes, the maximum values of deviations along the route compared with the straight line are varied depending on the relative position of the cell in comparison with the root cell. Because of α angle is always less than π 8

Figure 5 . 8 -

 58 Figure 5.8 -DBFS computation times for di erent resolutions of cell from 5 to 30 pixels. This statistics was obtained with DBFS executing on PC equipped Core i7-7700K CPU@4.20GHz × 8, 16 GiB DDRAM, card NVIDIA GeForce GTX 1070 (1920 CUDA cores).

Figure 5 . 9 -

 59 Figure 5.9 -The comparison of accuracy between simulation results and experimental measurements for Roc'h Trevezel, a mountain area. Blue line and red line are percentage errors of BFS routing and DBFS routing computation in comparison to actual values obtained from measurements respectively.

  (lon × originalShif t)/180 4: y := (log 10 (tan(((lat + 90) × Π)/360)) × originalShif t)/Π 5: return (x,y) 6: end function 7: procedure maxDistance Select root cell based on the maximum of distances 8:

maxDistance then 19 :

 19 maxDistance := cell i .d

Figure 5 .

 5 10 (b), and (c) respectively.

Figure 5 .

 5 Figure 5.10 -(a) Map in Plougastel peninsula, France. (b) First, a cell is select as root node indicated in red color and its coverage in yellow color. (c) Second, Two cells with maximum visible nodes is chosen automatically for root associated with cells under its coverage (indicated in violet color). In this experiment, map of zone is segmented into more than 90000 cells with resolution 2 × 2 pixels.

Figure 6 . 1 -

 61 Figure 6.1 -(a) A star network (case of LoRa). (b) Directed graph of the star network with a sink node P1.

Figure 6 . 2 -

 62 Figure 6.2 -(a) A mesh network (case of 802.15.4). (b) Directed graph of the mesh network.The connections between nodes are not complete so that it is necessary routing processes to send message from the sink node P1 to the other nodes.

Figure 6 . 3 -

 63 Figure 6.3 -Conceptual organization showing a star network of sensors, with run-time abstraction services at top and physical networks at the bottom. This application could also be deployed on mesh connected architecture as Figure 6.2 .

Figure 6 . 4 -

 64 Figure 6.4 -Code organization comprises of Simulation and Execution block. Simulation helps to develop distributed algorithms for sensor networks. Execution is a process to port the local behavior of node on real hardware, for example Arduino running TVM.

Figure 6 . 5 -

 65 Figure 6.5 -A long-range star network comprising of a base station (sink node) and several sensor nodes.

Figure 6 . 6 -

 66 Figure 6.6 -A flow time describes a scheduling for division multiple access between a base station and three sensor nodes. Each sensor node requires di erent periods of time to complete its transaction successfully.

Figure 6 . 7 -

 67 Figure 6.7 -A diagram describes a typical transaction flow between a base station and several sensor nodes based on scheduling approach.

Figure 6 . 8 -

 68 Figure 6.8 -Experiment on star network including a base station and two client nodes. Froggy Lora Fabian Shield (ES1.1) with SX1272 LoRa chip and 1 dBi antennas were used in this experiment.

Figure 6 .

 6 Figure 6.9 -(A) A fragment of Occam-pi program developed for remote sensing. (B) Compile, upload and evoke Occam-pi program. (C) Terminal window shows received messages from two client nodes in round-robin scheduling.

Figure 7 . 1 -

 71 Figure 7.1 -LEO satellite's trajectory westward shifts due to the Earth's rotation [4].

Figure 7 . 2 -

 72 Figure 7.2 -A dynamic sensor field in which the communication ranges of sensor nodes are indicated by the radii of balls.

Figure 7 .

 7 Figure 7.3 -A BT-Graph of the dynamic sensor field with 07 vertices V = {v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , v 7 } and 5 edges

  e 3 = e(v 2 , v 3 ), e 4 = e(v 3 , v 4 ), e 5 = e(v 5 , v 6 )}.

Figure 7 . 4 -

 74 Figure 7.4 -The BT-Graph of a dynamic sensor field in three di erent connections (solid red lines) at times t 1 , t 2 and t 3 .

Figure 7 . 5 -

 75 Figure 7.5 -Gateway of sensor field geometry [105].Figure 7.6 -Relationship between sensor node of a DSF and sub-satellite point [105].

  For example, a DSF with 4 nodes, V = {v 1 , v 2 , v 3 , v 4 } is shown in Figure7.7. There are 4 sensorsetsA 1 = {v 1 }, A 2 = {v 1 , v 2 , v 3 }, A 3 = {v 2 , v 3 , v4 } and A 4 = {v 3 , v 4 }. The weights of connection items are presented in Table 7.3. The connection with the highest weight corresponds to the least number of times required to change the gateways. It leads to the connection duration time of the connection is longest. Because the weight of connection item (v 1 , v 3 ) is highest, this connection is chosen.

Figure 7 . 7 -

 77 Figure 7.7 -The connections between a 4-node DSF with an LEO satellite.

  for v ← 0 to n-1 do 13:

Algorithm 17 RNN-CUDA 1 : 7 . 2 . 6

 1726 Host program executed on CPU 2: Load data into global memory 3: Assign the value of k 4: Copy data from CPU → GPU 5: Parallel programs executed on GPUs 6: Compute distances from query point, q, to all nodes v ∈ V 7: Copy data back from GPU → CPU 8: Host program executed on CPU 9: Sort the distance values as a ascending list 10: Pick up k nearest neighbor nodes associated to k first value of the list 11: Release GPU memory Parallelization of search algorithm to find the shortest path for data dissemination To parallelize Dijkstra algorithm, we propose that each edge of BT-Graph is handled by a thread of CUDA. Figure 7.8 depicts the flowchart of the parallel Dijkstra algorithm for searching BT-Graph model in which two procedures, Extract min, and Update cost, are performed on NVIDIA GPUs. The parallelization of Dijkstra's algorithm is illustrated in Algorithm 18.

Figure 7 . 8 -

 78 Figure 7.8 -The flow chart of parallel Dijkstra algorithm for searching BT-Graph model.

Algorithm 18 DijkstraCUDA 1 : 1 :: 2 :

 112 Step Initialize weight matrix (input vectors), start point and stop point 2Step Allocate vectors in device memory corresponding to each edge of BT-Graph 3: Step 3:

Figure 7 .

 7 10(a) shows dynamic sensor field consists of 50 sensor nodes that are stretched from South Central Coastal to Southeast and extended up to Mekong River Delta in Vietnam.

Figure 7 . 9 -

 79 Figure 7.9 -The block diagram of BT-DYNSEN implementation.

Figure 7 . 10 -

 710 Figure 7.10 -Verify dynamic sensor network connectivity. (a) A 50-node dynamic sensor network, (b) Balltree structure of the DSF, (c) Connectivity of the DSF.

Figure 7 .

 7 10(b) depicts the ball-tree structure of this DSF in which there are 49 balls with radii from 10.124 m to 321.165 m. BT-Graph model then was utilized to ensure the full connectivity of all network nodes, the radius 30.497 m was then chosen as shown in Figure7.10(c).

7. 4 . 2 Experiment 2 :

 422 Determination of the sensorsets

Figure 7 . 11 -

 711 Figure 7.11 -Determine the sensorsets corresponding to each sub-satellite along the ground track of BEESAT-3 in orbit 12794.

Figure 7 .

 7 Figure 7.12 -Select a set of nodes which play as gateways of the DSF according to the weights of connections.

Figure 7 . 13 - 6 :

 7136 Figure 7.13 -The shortest path for data dissemination from node v 50 to gateway node v 36 .

Figure 7 .

 7 Figure 7.14 -Performance comparison between sequential and parallel processing of Dijkstra's shortest path algorithm on BT-Graph, blue line and red line respectively.

Figure A. 1 -

 1 Figure A.1 -A HLA federation of three federates: huge wave, surveillance WSN, and observer.

  Figure A.2 depicts the RTIambassador and FederateAmbassador services support the synchronization capability [109].

Figure A. 2 -

 2 Figure A.2 -Federate synchronization between surveillance WSN federate and huge wave federate produce synchronization and data exchange. Services sent from RTI to federates (green) and federates to RTI (red) [109].

Figure A. 3 -

 3 Figure A.3 -Cell systems progress step by step according to time steps. Several cellular systems can be federated to exchange data synchronously, that represents a di erent aspect of the same problem (HLA), following di erent clocks. Federation are data exchanges occurring between di erent simulations that contribute to the same problem. Network sensor activities can be federated to physical simulation.

Figure A. 4 -

 4 Figure A.4 -Simulation of a huge wave together with reaction of a warning system in Martinique seashore. The figure shows the wave hitting the shore (physical simulation)federated with a wireless sensor surveillance network. It is noticeable that the wave can damage the monitoring system, that should react appropriately. For instance, the behavior of an abstract surveillance network is simulated in which each sensor node is depicted by a square dot with sensing range (small circle) and communication range (larger circle). When a huge wave approaches coastline within a distance less than nodes' critical warning condition, this sensor node broadcasts alarm signal to its neighbors indicated in red color.

Figure B. 1 -

 1 Figure B.1 -LoRa transceiver inAIR9b: Semtech's chip sx1276, 868-915 MHz [176].

  It is also possible to model the natural behavior of WSN radio signal propagation. This defines the ability of signals coming from one point to reach another point in line-of-sight (LoS). For example, the results of the LoS computation are shown in Fig. B.2, where cells highlighted with pink color can communicate with the P1 emitter.

Figure B. 2 -

 2 Figure B.2 -Example of a coverage for Ile de Sein: cells are illuminated by a WSN consisting of 3 nodes with P1 as a master. There are 9971 cells under the communication coverage of this WSN corresponding to 89.58% area. The Pickcell window displays geo-location and elevation at a mouse position, the cell size in pixels and meters (33 meters in this case). The positions of P1, P2, P3 were decided manually, each selection showing immediately the cover of the respective selection.

Figure B. 3 -

 3 Figure B.3 -An experiment with the o set 5 meters of elevation for emitters was conducted for the WSN in Ile de Sein. This can be described as the height of transceiver antennas. Consequently, the total of cells within the coverage of the WSN increases up to 10385 cells corresponding to 94.51% area. This result proves that the elevation is a key factor in LoS communications.

Figure B. 4 -

 4 Figure B.4 -A satellite photo tile is used to present a possible sensor deployment on Sept Iles archipelago. QuickMap tool provides several types of maps such as OpenStreetMap, Thunderforest, Google map, etc. (for more details see Fig. B.5). Moreover, Pickcell tool also allows to process on images, for example, weather radar images, X-ray/MRI images, to model and simulate physical facts based on cellular methods.

Figure B. 5 -

 5 Figure B.5 -Quickmap: a map browser allowing to select several kind of maps, change tile and walk anywhere.

Figure B. 6 -

 6 Figure B.6 -Cell system: (x,y,z), distance, range.

Figure B. 7 -

 7 Figure B.7 -Cell weaving and simulation synthesis. Cell system specification produces automatically.

  1 to C.6 provide visual explanations in step-by-step how to deploy and optimize a LoRa star network with our tools.

Figure C. 1 -

 1 Figure C.1 -QuickMap is used to select a zone at Roc'h Trevezel (a mountain area in Bretagne, France) for a LoRa network deployment.

Figure C. 2 -

 2 Figure C.2 -PickCell controls segmenting and weaving processes and NetGen produces data for radio coverage computation. In addition, a graph file describing the abstract network and dynamic links for mobile nodes are also provided by this tool.

Figure C. 3 -

 3 Figure C.3 -A fragment of CUDA code was generated by using PickCell/NetGen tool-set. Parallel computation can be achieved by associating cells with communicating processes. Channels are mapped on share memory for exchanging data synchronously as discussed in Section 2.2.4.

Figure C. 4 -

 4 Figure C.4 -A place where an emitter to be located can be select by mouse click on the map. This also invoke a coverage computation on GPUs. The coverage computation result is shown on PickCell by coupling Smalltalk and CUDA using DLL, comprising of cells highlighted in pink.

Figure C. 5 -

 5 Figure C.5 -By locating a node at a visible point from the base station, optimization process gives the suggestion of LoRa parameters for that node. These values for LoRa configuration aims at optimizing both robust of link and data rate and energy consumption taking into account topography of geography.

Figure C. 6 -

 6 Figure C.6 -The result is a star network with LoRa's optimized parameters BW, CR, SF of every node to enhance the performance system.

Figure C. 7 -

 7 Figure C.7 -The statistics of communication times in two experiments with respect to the complexity of terrains. The blue line is communication of the network corresponding to LoRa's default setting (BW=125 KHz, CR=4/5, SF=12). After optimizing, communication times for the Roc'h Trevezel and the Plougastel are presented by the green and red line respectively. Note that a number of sensors are generated randomly in simulations.

Figure D. 1 -

 1 Figure D.1 -The communication boundary of a network is displayed on the map for the North of Madagascar.

Figure E. 2 -

 2 Figure E.2 -A mobile node consists of RECoco board with proof GPS antenna, battery power for receiving geo-location of node from GPS services and then sending to base station.

Figure E. 3 -

 3 Figure E.3 -Base station for data dissemination: RECoco board transfers collected data to PC running Quickmap/Pickcell via USB port. Data is stored directly into either log files (.log) or PostgreSQL object-relational database.

Figure E. 4 -

 4 Figure E.4 -A tool-set consists of three GUIs: GPS tracking, QuickMap/PickCell and status windows. GPS tracking window is employed to handle USB connection with RECoco board. The GPS coordinates of node while moving are depicted on QuickMap/Pickcell. Status window shows the received values and saves them in a log file or inserts into database (see Figure E.5 and E.6.

Figure E. 5 -

 5 Figure E.5 -Structure of the log files to be stored in base station. 187

Figure E. 6 -

 6 Figure E.6 -Collected data to be inserted into database via 2G/3G connections.

Figure E. 7 -

 7 Figure E.7 -Usage of tools for an experimental measurement at Center for Disaster Risk Reduction Technology (BPPT), Seprong city, Indonesia.

F

  Software tools presentationThe central role in the tools is a geographic database supporting OpenStreetMap formats and display (figure F.1). However, all the transformations and code production are built around a core graph model called NetGen. This core model is addressed by cellular systems and wireless sensor networks. Thus, network simulation and cellular automata share the same paradigm grouping graph production, and code generation for a variety of backends.

Figure F. 1 -

 1 Figure F.1 -Information system architecture around a Postgis database, presenting Open-StreetMap and other inputs (top), web presentation (right), simulation framework (bottom left), and knowledge analysis services (bottom right).

F.0. 2

 2 Core toolsNetGen As explained section 2.2.3, simulation of systems is achieved from NetGen, which provides supports to rewrite an internal abstract model into program syntaxes: Occam for concurrent process systems executed on multi-core or distributed architectures, or CUDA for Graphics Processing Unit (GPU) architectures. Both of them follow a synchronous method of execution, making back ends compatible. The generators are suitable for sensor network simulation and physical level simulation, or association of such computations as presented figure A.4.

Figure F. 3 -

 3 Figure F.3 -Advantage tools is developed in Smalltalk based on Pickcell tool.

Figure F. 4 -

 4 Figure F.4 -GUI of PickCell tool: an experiment at the Roc'h Trevezel mountain, in Brittany, France.

  824.0185,N: Latitude 48 deg 24.0185' N 00430.0687,W: Longitude 4 deg 30.0687' W 54.2: Altitude (meters) above mean sea level 08:09:10: local zone hour:minute:second and collected data from sensors, if any.

  BYTE F L A G S . R E Q U E S T IS #10: VAL BYTE F L A G S . R E S P O N S E IS #20: VAL BYTE F L A G S . A P P L I C A T I O N IS #40: VAL BYTE F L A G S . F A I L U R E IS #80:

Figure I. 1 -

 1 Figure I.1 -Package format to be used in our experiments.

Figure I. 2 .

 2 At the base station, when receiving a message from mobiles, for received a message the corresponding strength of signal (RSSI) values are also measured.

Figure I. 2 -

 2 Figure I.2 -Formation of the received message.

Code I. 1 -

 1 Occam-pi program running on a sink node # I N C L U D E " n e t w o r k . m o d u l e " # I N C L U D E " s e n s i n g . m o d u l e " PROC B S N o d e () VAL INT n u m N e i g h b o r IS 2: VAL BYTE t h i s A d d r e s s IS 1: BYTE a v a i l : BYTE c : h e a d e r F o r m a t h e a d e r : p a y l o a d F o r m a t p a y l o a d : [ H E A D E R . LEN + MAX . P A Y L O A D . LEN ] BYTE b u f f e r : [1] BYTE c h a r a c t e r : INT r f I n d e x : BYTE i d N e i g h b o r : p a c k e t pack : r o u t i n g T a b l e E n t r y r o u t e : [ R O U T I N G . T A B L E . SIZE ] r o u t i n g T a b l e E n t r y r o u t i n g T a b l e : SEQ --i n i t i l i z i n g RF lora . init () lora . rf . c o n f i g (4) lora . freq . c h a n n e l (3) --a l w a y s p e r f o r m s e r i a l . s t a r t a f t e r lora . init s e r i a l . s t a r t ( TX0 , 9 6 0 0 ) --i n i t i l i z i n g p a c k e t ( null ) init . h e a d e r ( header , t h i s A d d r e s s ) init . p a y l o a d ( p a y l o a d ) rese t . r o u t i n g . t a b l e ( r o u t i n g T a b l e ) prin t . r o u t i n g . t a b l e ( r o u t i n g T a b l e ) --m a i n l o o p WHIL E TRUE SEQ i d N e i g h b o r := 2 SEQ i =0 FOR n u m N e i g h b o r SEQ h e a d e r [ dest ] := i d N e i g h b o r h e a d e r [ f i n a l D e s t ] := i d N e i g h b o r h e a d e r [ s o u r c e ] := t h i s A d d r e s s h e a d e r [ o r i g i n a l S o u r c e ] := t h i s A d d r e s s --s e n s i n g p r o c e s s c o l l e c t . data ( p a y l o a d ) p r e p a r e . p a c k e t ( pack , header , p a y l o a d ) send ( pack ) lora . a v a i l a b l e ( a v a i l ) W H I L E ( a v a i l = 0) SEQ d e l a y (1) lora . a v a i l a b l e ( a v a i l ) s e r i a l . w r i t e . n e w l i n e ( TX0 ) s e r i a l . w r i t e . dec . int ( TX0 , INT a v a i l ) s e r i a l . w r i t e . s t r i n g ( TX0 , " b y t e s r e c e i v e d : " ) --read b y t e s one by one SEQ j =0 FOR INT a v a i l SEQ lora . read ( c ) b u f f e r [ j ] := c IF ( b u f f e r [3] = t h i s A d d r e s s ) SEQ SEQ k =0 FOR (( INT a v a i l ) -H E A D E R . LEN ) SEQ c h a r a c t e r [0] := b u f f e r [ k + H E A D E R .

  dec . int ( TX0 , r f I n d e x ) add . r o u t e . to ( r o u t i n g T a b l e , b u f f e r [4] , b u f f e r [1] , V A L I D ) ( b u f f e r [2] < MAX . HOP ) --f o r w a r d p a c k e t SEQ get . r o u t e . to ( r o u t i n g T a b l e , b u f f e r [3] , r o u t e ) IF ( r o u t e [ s t a t e ] = V A L I D ) SEQ h e a d e r [ dest ]:= r o u t e [ n e x t H o p ] h e a d e r [ s o u r c e ]:= t h i s A d d r e s s h e a d e r [ n u m H o p s ] := b u f f e r [2] + 1 h e a d e r [ f i n a l D e s t ] := b u f f e r [3] h e a d e r [ o r i g i n a l S o u r c e ] := b u f f e r [4] h e a d e r [ id ] := b u f f e r [5] h e a d e r [ f l a g s ] := b u f f e r [6] TRUE s e r i a l . w r i t e . s t r i n g ( TX0 , " * n C a n n o t find the path to d e l i v e r y p a c k e t " ) ( b u f f e r [2] = MAX . HOP ) s e r i a l . w r i t e . s t r i n g ( TX0 , " * n R e a c h to m a x i m u m hops " ) TRUE SKIP p r i n t . r o u t i n g . t a b l e ( r o u t i n g T a b l e ) i d N e i g h b o r := i d N e i g h b o r + 1 d e l a y ( 5 0 0 0 ) : Code I.2 -Occam-pi program running on a sensor node # I N C L U D E " n e t w o r k . m o d u l e " # I N C L U D E " s e n s i n g . m o d u l e " PROC Node () VAL BYTE t h i s A d d r e s s IS 2: BYTE a v a i l : BYTE c : h e a d e r F o r m a t h e a d e r : p a y l o a d F o r m a t p a y l o a d : [ H E A D E R . LEN + MAX . P A Y L O A D . LEN ] BYTE b u f f e r : [1] BYTE c h a r a c t e r : INT r f I n d e x : p a c k e t pack : [ R O U T I N G . T A B L E . SIZE ] r o u t i n g T a b l e E n t r y r o u t i n g T a b l e : SEQ lora . init () lora . rf . c o n f i g (4) lora . freq . c h a n n e l (3) --a l w a y s p e r f o r m s e r i a l . s t a r t a f t e r lora . init s e r i a l . s t a r t ( TX0 , 9 6 0 0 ) init . h e a d e r ( header , t h i s A d d r e s s ) rese t . r o u t i n g . t a b l e ( r o u t i n g T a b l e ) prin t . r o u t i n g . t a b l e ( r o u t i n g T a b l e ) WHIL E TRUE SEQ lora . a v a i l a b l e ( a v a i l ) IF a v a i l <> 0 SEQ SEQ i =0 FOR INT a v a i l SEQ lora . read ( c ) b u f f e r [ i ] := c IF ( b u f f e r [0]= t h i s A d d r e s s ) SEQ s e r i a l . w r i t e . n e w l i n e ( TX0 ) SEQ j =0 FOR (( INT a v a i l ) -H E A D E R . LEN ) SEQ c h a r a c t e r [0] := b u f f e r [ j + H E A D E R

  dec . int ( TX0 , r f I n d e x ) add . r o u t e . to ( r o u t i n g T a b l e , b u f f e r [4] , b u f f e r [1] , V A L I D ) p r i n t . r o u t i n g . t a b l e ( r o u t i n g T a b l e ) --< dest , source , numHops , finalDest , o r i g i n a l S o u r c e , id , flags > < payload > h e a d e r [ dest ] := b u f f e r [1] h e a d e r [ f i n a l D e s t ] := b u f f e r [4] c o l l e c t . data ( p a y l o a d ) p r e p a r e . p a c k e t ( pack , header , p a y l o a d ) send ( pack ) TRUE SKIP TRUE SKIP :

Figure J. 3 -

 3 Figure J.3 -Radio signal strength (RSSI) value is displayed on LCD at PSoC site in an experiment.

Figure J. 4 -

 4 Figure J.4 -Power consumption experiments.

Figure J. 5 -

 5 Figure J.5 -Experiment on spectrum of LoRa modulated signals.

Chapter 3. Distributed Algorithms on Cellular System

  3.1 Cellular system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Cellular system topologies . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Algorithmic models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Mapping algorithmic models on di erent architectures . . . . . . . . . 3.2 Flash flooding simulation on a complex terrain . . . . . . . . . . . . . . . . . . 3.2.1 Managing space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Transition rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Algorithm of rainwater distribution . . . . . . . . . . . . . . . . . . . . 3.3 Case Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Fist case study in Guadeloupe, France . . . . . . . . . . . . . . . . . . 3.3.2 Second case study in Morlaix, France . . . . . . . . . . . . . . . . . . 3.3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Foreword This thesis was developed from 31/08/2015 to 29/08/2018 in a cooperation between several partners from a STIC-Asia program project, called SAMES, mainly in Université de Bretagne Occidentale, hosting the work, and Can Tho University. The thesis was funded by Vietnam Ministry of Education and Training (MOET) with the support from the French Embassy. The initially chosen topic is "Simulation and Compiler Support for Communication and Mobility for Environment Sensing".

  This section gives a brief overview of the content of the rest chapters.

	Chapter 2: Cellular Automata and Terrain Complexity Chapter 3: Distributed Algorithm on Cellular System Chapter 4: Signal Propagation Modeling Chapter 5: Parallel Algorithms for Simulations Chapter 6: Mapping Application on Sensing Systems Chapter 7: Modeling and Optimization of Mobile Connections of Dynamic Sensor Field Chapter 8: Conclusion and Perspectives 2 Cellular Automata and Terrain Complexity

(also in

[1]

pages

[3][4][5][6][7][START_REF] Dutta | An execution flow for dynamic concurrent systems: simulation of wsn on a Smalltalk/Cuda environment[END_REF][START_REF]1516-2010 -ieee standard for modeling and simulation (m&s) high level architecture (hla)-framework and rules[END_REF][START_REF] Tran | A federated approach for simulations in cyber-physical systems[END_REF][START_REF] Ticlo | Is Tech the New Currency? Why You Need Modern IT[END_REF][START_REF] Howell | Number of Connected IoT Devices Will Surge to 125 Billion by 2030[END_REF]

  1 er , Plougastel at Brest city in France and the Soummam river in Bejaia. The obtained TRIs and TPIs are summarized in Table 2.1. According to Riley [113], Albert 1 er and Plougastel are considered to represent a level surface. It is a near level surface for Roc'h Trevezel and intermediately rugged surface for

Table 2 .

 2

		1 -Topograhic indices: TRIs and TPIs
					TPIs (m)
	Zone	Number of cells Resolution (pixels) TRIs (m) Maximum Minimum
	Albert 1 er	61984	5@5	24.332	5.340	-2.975
	Plougastel	156992	2@2	47.202	9.500	-8.000
	Roc'h Trevezel	48618	5@5	95.076	27.100	-29.400
	Soummam	58725	3@3	214.995	47.820	-44.825

Table 2 .

 2 2 -Geo-locations of points where values of water level were recorded.

	Point Color	Latitude	Longitude Elevation (m)
	P1	Red	36.589895361 4.925651550	554.7
	P2	Green 36.587414366 4.925651550	536.8
	designed to simulate rain flooding (Section 3.2)and propagation of the LoRa radio protocol
	(Section 4.3.1), the objective is to obtain high performances on this kind of problems.
	Now, the next section explains the geographical space structuration based on cellular
	systems.

Table 2 .

 2 3 -Three areas with di erent complexity terrains. Resolution and Actual size columns give the size in pixels associated with actual size in meters of each cell in regular grid data. The maximum communication in each experiment is shown by column Range. Match and Mismatch column provides a number of visible points which are right matched and mismatched respectively between simulation results and obtained values in real measurements.

	Area name	Description	Resolution Actual size Range Match Mismatch % Error
	Albert 1 er	Urban area	5 × 5 pixels	24 m	3 km	64	13 20.21%
	Plougastel	River, its banks 5 × 5 pixels	96 m	9 km	129	4	3.10 %
	Roc'h Trevezel Mountain area 5 × 5 pixels	191 m	11 km	45	8 17.78%

Table 2 .

 2 4 -A characterization of space and signal relations.

	Datagrid	Model	Resolution (m)
	SRTM30	2D/3D	30 2
	SRTM90	2D/3D	90 3
	Weather broadcast 2D/3D	3000 4
	LiDAR	3D	5 5
	Coastal ocean	2D/3D	1200 6
	Earth magnetic	2D/3D	3700 7
	Ocean acoustics	2D/3D	2500 8
	Road tra c noise 2D/3D	0.5 9
	Pickcell	2D/2.5D	30

Table 2 .

 2 5 -Execution times for three processes. There are 58725 cells in a regular squared grid with a cell size 3 × 3 pixels corresponding to actual area 115 × 115 meters.

	Processes	Number of rounds Time (s)
	Compute ruggedness index	1	0.026
	Flood simulation	32	0.103
	Coverage prediction	261	0.211

Table 2 .

 2

	Execution time

6

-Execution times for flood simulations which are performed on Linux Ubuntu PCs with IntelCore i3-4005U CPU @ 1.70GHz x 4, 8 GiB DDRAM, card NVIDIA GeForce 820M (96 CUDA Cores), Intel Core i7 CPU 920 @ 2.67GHz x 8, 4 GiB DDRAM, card NVIDIA GeForce GTX 680 (1536 CUDA Cores) and Intel Core i7-7700K CPU @ 4.20GHz x 8, 16 GiB DDRAM, card NVIDIA GeForce GTX 1070 (1920 CUDA Cores).

(also in

[1]

pages

[START_REF] Howell | Number of Connected IoT Devices Will Surge to 125 Billion by 2030[END_REF][START_REF] Raza | Low Power Wide Area Networks: An Overview[END_REF][START_REF] Patel | Experimental Study on Low Power Wide Area Networks (LPWAN) for Mobile Internet of Things[END_REF][START_REF] Ismail | Low-Power Wide-Area Networks: Opportunities, Challenges, and Directions[END_REF]

Table 3 .

 3

	Model	Number of steps Distance
	Pure local computation	1	1
	Discuss computation	n	n
	Symmetric global computation	MaxNodes
	Dissymmetric explore computation	MaxNodes

2 -Summary of algorithmic models for distributed computation on cellular system.

Table 3 .

 3 3 -Routing table Cell behavior is defined by calls of synchronous procedures operating on Occam channels with barriers.

		Id Direction LinkIndex
		17 NW	3
		23 N	2
		3 NE	1
		85 NW	3
		.	.	.
		.	.	.
		.	.	.
	Algorithm 1 2: SEQ
	3:	InitLocalVal()		Initialize local variables

1: PROC exploreNeighbors() 4: SEQ i=0 FOR (SIZE outChannels) 5: outMessages[i] ! localValues 6: SEQ turns=0 FOR MaxNodes 7: SEQ 8: PAR 9: PAR i=0 FOR (SIZE inChannels) 10: inChannels[i] ? inMessages[i] 11: PAR i=0 FOR (SIZE outChannels) 12: outChannels[i] ! outMessages[i] 13: SEQ i=0 FOR (SIZE inChannels) 14: UpdateLocalValues(localValues, inMessages[i]) 15: SEQ i=0 FOR (SIZE outChannels) 16:

Table 3 .

 3 4 -Rainfall values were recorded for every hour in three days when Maria hurricane hit Guadeloupe in 18-20 September 2017

			Rainfall (mm)
	Time	Sept 18, 2017 Sept 19, 2017 Sept 20, 2017
	00:00 to 01:00	0	0	0
	01:00 to 02:00	0	0	11.1
	02:00 to 03:00	0	0	9.4
	03:00 to 04:00	0	10.5	0
	04:00 to 05:00	0	7.7	0
	05:00 to 06:00	0	5.6	0
	06:00 to 07:00	0	6.8	0
	07:00 to 08:00	0.7	8.9	0
	08:00 to 09:00	0	11.5	0
	09:00 to 10:00	0	12.4	0
	10:00 to 11:00	0	11	0
	11:00 to 12:00	0	8.9	3.2
	12:00 to 13:00	0	6.6	3.2
	13:00 to 14:00	2.1	5.2	3.4
	14:00 to15:00	2.2	2.8	3.2
	15:00 to16:00	2	1.9	2.9
	16:00 to 17:00	1.7	1.8	0
	17:00 to 18:00	1.9	0	0
	18:00 to 19:00	2.1	0	0
	19:00 to 20:00	2.8	0	0
	20:00 to 21:00	0	3.6	0
	21:00 to 22:00	0	4.4	0
	22:00 to 23:00	0	4.8	0
	23:00 to 00:00	0.5	0	0.8

Table 4

 4

	BW (kHz) Rb (bps)
	7.8	18
	10.4	24
	15.6	37
	20.8	49
	31.2	73
	41.7	98
	62.5	146
	125	293
	250	586
	500	1172

.1 are calculated by applying Equation

4

.5. The possibility to modify the bandwidth enables a trading between time on air of messages for communication range (see Table

4

.4 and Appendix C). In Table

4

.1 LoRa provides ten di erent communication bandwidths from 7.8 KHz to 500 KHz, even though low bandwidth requires more accurate clock

[107]

. For this reason, there are only three frequencies 125 kHz, 250 kHz and 500 kHz e ectively used in LoRaWAN protocol as proposed by LoRa Alliance

[START_REF] Semtech | LoRa MAC Specification v1[END_REF]

. Table 4.1 -LoRa signal bandwidth (BW) and data rate (Rb) with SF=12 and CR = 4/5.

Table 4 .

 4 2 -Coding rate options are supported by LoRa physical layer. LoRa employs Forward Error Correction (FEC) to improve the robustness to interference. Four options for coding rate can be selected for each radio link as shown in Table 4.2. Radio communications using smaller CR value o ers more robustness, but increase the time on air of packets and energy expenditure due to redundant bits. In LoRa packet structure the header, which is encoded at 4/8, contains the CR value used for payload. For this reason, LoRa radios configured in the same central carrier frequency (CF), SF and BW but di erent CR can operate each other.

	Coding rate Overhead ratio
	4/5	1.25
	4/6	1.5
	4/7	1.75
	4/8	2
	4.1.3 LoRa: Coding rate

Table 4 .

 4

	SF chips/symbol
	6	64
	7	128
	8	256
	9	512
	10	1024
	11	2048
	12	4096

3 -Spreading factor corresponding to number of chip must be sent for each symbol.

Table 4 .

 4

	of typical

4

-Packet time on air as a function of spreading factor (SF) for a set

  Received signal power in the Free Space Path Loss Model.

		G r : receiver antenna gain,
		d: distance between transmitter and receiver in meters,
		L: system loss factor,
	2:	Input: txPower, waveLength, distance
	3:	Output: receivedPower

2 d 2 L (4.7) where P t : transmitted power, P r (d): received power, G t : transmitter antenna gain, λ: wavelength in meters. Algorithm 5 1: procedure SignalPower 4: for each neighbor of cell i do 5: if neighbor.visible then 6: receivedPower ← txPower × (SQR(waveLen /(4.0 ×valueP i ))× SQR(1/distance)) 7: end if 8:

  Received signal power in the Single Knife-Edge Di raction Model.

	Algorithm 6 6: di Loss ← 0
	7:	else
	8:	if v < 2.4 then
	9:	di Loss ← 6 + (9 × v) + (1.27 × SQR(v))
	10:	else
	11:	di Loss ← 13 + 20× log 10 (v)
	12:	end if
	13:	end if
	14:
		1)	(4.9)

1: procedure diffractionLoss 2: Input: fsplPower, h, d 1 , d 2 3:

Output: di Power 4: v = h * SQRT((valuePi/2)×((1/d 1 ) + (1/d 2 ))) 5: if v < 0 then

  characteristics of the cell do not satisfy either LoS or the signal strength condition, cells stop forwarding messages to neighbors. It means that the signals are blocked by obstacles or bad transmission environment.

	Algorithm 11 Directed Breadth-First Search Algorithm
	1: Step 1: Initializing local values (myValues, traceRoute, and state)
	2: initValues(myValues)	Initialize node's geo-location and other local values
	3: IF isRoot
	4:	SEQ
	5:	traceRoute := myValues
	6:	state := gotSearch
	7: ELSE
	8:	state := waitSearch
	9: Step 2: Preparing for the fist communication session
	10: IF state=gotSearch
	11:	PAR i=0 FOR numOutMsg
	12:	outMsg[i] := traceRoute
	13: Step 3: Communicating M to N
	14: SEQ i=0 FOR numNodes -1
	15:	IF state=gotSearch
	16:	PAR i=0 FOR SIZE outChan
	17:	outChan[i] ! points ; outMsg[i]
	18:	ELSE
	19:	PAR i=0 FOR SIZE outChan
	20:	outChan[i] ! null ; nullMsg
	21:	PAR i=0 FOR SIZE inChan
	22:	IF inChan[i] ? CASE
	23:	null ; nullMsg
	24:	SKIP
	25:	points ; inMsg[i]	Receiving a new point from the neighbors
	26:	SEQ
	27:	newState := gotSearch
	28:	IF newPoint.parent = myValues.Id
	29:	addIntabChildren(newPoint,i)
	30:	TRUE
	31:	SKIP
	32: Step 4: Updating local values
	33: IF state = gotSearch
	34:	state := forwardSearch
	35: ELSE
	36:	IF (state = waitSearch) AND (newState=gotSearch)
	37:	PAR i=0 FOR SIZE inChan
	38:	IF inMsg[i]= myValues.Id
	39:	SEQ
	40:	traceRoute := inMsg[i]
	41:	outMsg.addresses := compDestAddr	Compute addresses
	42:	visible := compNodeVis	Determine current cell is visible
	43:	IF visible
	44:	addInRoute (myValues)
	45:	state := newState

46:

PAR i=0 FOR numOutChan 47:

outChan[i] := traceRoute

Table 5 .

 5

	1 -Evaluation errors associated with resolution (in pixels) for Roc'h Trevezel
				Non deterministic Deterministic
	Resolution Size (m) Cells Errors	%	Errors	%
	5@5	191 48618	8	17.78%	5	11.11%
	10@10	382 12099	13	28.89%	5	11.11%
	15@15	573 5402	16	35.56%	7	15.56%
	20@20	764 2970	17	37.78%	8	17.78%
	25@25	955 1892	19	42.22%	10	22.22%
	30@30	1147	1332	23	51.11%	18	40.00%

Table 5 .

 5 2 -Performance comparison of DBFS on three di erent NVidia Graphic cards (execution time in millisecond).

	Resolution (pixels)	820M GTX680 GTX1070
	5	636.036	95.423	69.743
	10	164.793	26.162	18.991
	15	76.757	15.405	7.608
	20	40.655	11.855	3.709
	25	27.091	11.455	4.295
	30	20.108	11.568	2.811

Table 5 .

 5

	3 -Performance comparison between maxDistance and maxNeighbor. (NVidia
	GTX 480, 480 CUDA cores)
			Execution time (s)
	Size of cell (pixels) Number of cells maxDistance maxNeighbor
	10	7217	30.11800	18.26566
	15	3158	8.51220	5.82960
	20	1763	2.26680	2.14987
	25	1155	1.88520	1.10281
	30	783	0.69103	0.55861
	35	575	0.63420	0.36853
	40	420	0.26833	0.15095
	45	342	0.11679	0.09424
	50	272	0.07916	0.06073

Table 7 .

 7 1 -An example of satellite connection data with three rows: Connection number, Connection vector and Time vector.

	Connection number 1	2	3 ...
	Connection vector	v 1 v 3 v 4 ...
	Time vector	t 1 t 2 t 3 ...

  | . | denotes the number of elements in a set. Algorithm 15 for selecting the gateways of the DSF is briefly presented in the following list.

	Algorithm 15 Selecting the gateways of a DSF
	Input: list of sensorsets
	Output: gateways of DSF
	1: C k : candidate sensors (size k)
	2: L k : set of selected gateways (size k)
	3: procedure selectGateway
	4:	L 1 ← {weight1 -sensorsets}
	5:	for (k=2;Lk.count>0;k++) do
	6:	C k+1 ← generate candidate sensors L k
	7:	for each transaction t ∈ data do
	8:	Increment count of the candidate sensors in C k+1 that contained in t
	9:	end for
	10:	L k+1 ← candidate sensors in C k+1
	11:	end for
	12:

Table 7 .

 7 3 -The orbit 12794 of BEESAT-3 after being reformed.

	Time	Lat	Lon
	17/08/2015 15:58:24 -9.81 117.00
	17/08/2015 15:58:34 -9.24 117.23
	...	...	...

Table B .

 B 1 -Six di erent experimental areas: Size of cell column indicates the actual sizes in meter. The third column gives total of cells in cell systems. In the next columns, statistics show how many cells would be visible and percentage coverage associated with figure of deployed emitters. The computation times, column Time, which depend on both the number of cells and the number of emitters, were evaluated, as shown in the last column of this table.

	Area name	Size (m) Cells Emitters Visible cells Coverage Time (ms)
	Sept Iles	38 43610	3	39064	89.58%	365.39
	Scyllies	191 12544	3	10523	83.89%	81.219
	Ile de Sein	33 10988	3	9971	90.74%	63.98
	Chausey	33 32802	2	27594	84.12%	174.48
	Brest bay	76 55986	2	49694	88.76%	304.55
	I'ile Saint-Nicolas	38 34965	3	33131	94.75%	285.46

  .1. Table E.1 -GPGGA sentence[START_REF] Technology | NMEA Reference Manual[END_REF].

	Name	Example	Units	Description
	Message ID	$GPGGA		GGA protocol header
	UTC Time	161229.487		hhmmss.sss
	Latitude	3723.2475		ddmm.mmmm
	N/S Indicator	N		N=north or S=south
	Longitude	12158.3416		dddmm.mmmm
	E/W Indicator	W		E=east or W=west
	Position Fix Indicator 1
	Satellites Used	0.7		Range 0 to 12
	HDOP	1.0	Horizontal Horizontal Dilution of Precision
	MSL	Altitude	meters
	Units	M	meters
	Geoid	Separation meters
	Units	M	meters
	Age of Di . Corr		second	Null fields when DGPS is not used
	Di . Ref. Station ID	0000
	Checksum	*18
	<CR><LF>			End of message termination

Table G .

 G 3 -LoRa network library PROC name Function reset.routing.table Reset routing table clear.routing.table Clear the content delete.route Remove a route delete.oldest.route Remove the oldest route delete.route.to Remove a sending route retire.oldest.route Clear the content of oldest route add.route.to

		Add a sending route
	get.route.to	Retrieve a sending route
	print.routing.table Print out current routing table
	init.header	Initialize a header
	init.payload	Initialize a payload
	prepare.packet	Form a packet
	send.packet	Send a packet
	receive.packet	Receive a packet

Table H .

 H 4 -inAir nework CAD library for establishing communications.

	PROC name	Note
	set.header.to
	set.header.from
	set.header.id
	set.max.hops
	clear.routing.table
	reset.routing.table
	get.route.to
	delete.route.to
	delete.oldest.route
	delete.route.to
	add.route.to
	retire.oldest.route
	printing.routing.table
	send
	send.ack
	receive
	receive.ack
	do.arp	Address Resolution Protocol
	inair.set.header.id
	inair.set.header.flags
	inair.set.mode
	inair.send
	inair.clear.rx.buf
	inair.recv
	inair.handle.interrupt
	inair.init
	inair.receive

Soummam Valley, leading to Bejaia city, the north of Algeria.

https://lta.cr.usgs.gov/SRTM1Arc"https://lta.cr.usgs.gov/SRTM1Arc

https://blogs.esri.com/esri/arcgis/2015/06/26/terrain-3d-now-with-global-srtm-30-meter-content/""

https://www.ncdc.noaa.gov/data-access/model-data/model-datasets/numerical-weather-prediction

https://content.meteoblue.com/en/research-development/data-sources/nmm-modelling/modeldomain"

 6 https://pdfs.semanticscholar.org/55be/a487827c28ªaaf713017c499e4f33ªed62fd.

pdf7 http://www.sciencedirect.com/science/article/pii/

S0377042798002465 8 https://www.ngdc.noaa.

gov/geomag/emag2.html[START_REF]1516-2010 -ieee standard for modeling and simulation (m&s) high level architecture (hla)-framework and rules[END_REF] Peter Wille. Chapter 5: The Sea Floor -Natural Formations. In Sound Images of the Ocean: in Research and Monitoring. Springer-Verlag Berlin Heidelberg, 2005. ISBN 978-3-540-27910-5

In the following discussion, depending on context cell, node and process term are used interchangeably to mention about one cell in a cell system corresponding to a distributed process.

ECOCLIMAP[START_REF] .-L | Ecoclimap-ii/europe: a twofold database of ecosystems and surface parameters at 1 km resolution based on satellite information for use in land surface, meteorological and climate models[END_REF] supporting French meteorology AROME model provides more than 20 parameters for cells of 1km × 1km

http://www.caribbean360.com/news/hurricane-Maria-blamed-two-deaths-guadeloupe

http://thoughtleadership.aonbenfield.com/Documents/20180328-ab-if-hurricane-maria-recap.pdf

http://www.letelegramme.fr/finistere/morlaix/inondations-a-morlaix-evolution-de-la-situation-endirect-03-06-2018-11980811.php

Noticed that Occam-pi adopting zero-based numbering in which the initial element of a sequence is assigned the index 0, rather than the index 1 as C programming language.

For convenience, the terms emitter and root are used interchangeably throughout this thesis.

We used a 8-bit TVM version for the Arduino and studied hybrid of software and hardware implementation for Cypress coarse gain reconfigurable PSoC architectures (appendix J).

http://lacuna.space/

Note that LRC is an abbreviation of Local RTI Components.

Tool designed by Pierre-Yves Lucas that can handle a variety of tile systems for maps or satellite imaging

Note that it is quite easy to define a function with a name in a PROC expression.

Unique identifications of node in network are usually used as addresses in communications.

Time, Latitude, Longitude and Elevation values are obtained from integrated GPS module at each node.

Acknowledgement

I would like to express my sincere gratitude to my supervisors, Prof. Bernard POTTIER, from the University of Brest (UBO), and Prof. Hiep Xuan HUYNH, from Can Tho University (CTU) Vietnam, for giving me the opportunity to work on this topic and their excellent supervision. Their invaluable advice and great supports inspired me to make the right decisions at most of the important moments. I am glad to have a chance to work with them.

Special thanks go to Prof. Vincent RODIN (UBO) who has encouraged my elaboration participating in work validation and gracefully accepted to chair the defense committee. I would like to thank Prof. Congduc PHAM, from Université de Pau et Pays de L'Adour (UPPA), and Prof.

Tanguy RISSET, from Institut National des Sciences Appliquées de Lyon (INSA-Lyon), who accepted to review the thesis document. I would also like to thank Dr. Simona NICULESCU (UBO) for being a distinguished member of the defense committee with her scientific development in relations between information system and geography.

I greatly appreciate Madame Michele Kerleroux and sta

A High Level Architecture

The High-Level Architecture (HLA), a standard for distributed simulations, is used for the interoperability and reusability of several simulations. In HLA terminology, the whole solution that needs to be modeled and simulated is represented by a federation. Each simulator (sub-models) referring to the federation is called a federate. A set of federates is connected via Run Time Infrastructure (RTI). In this case, RTI can be considered as distributed operating systems for cooperating system federates.

Federates exchange data together via RTI. For example in a federation there are 2 federates which the second federate relies on values provided by the first one. Firstly, the first federate publishes its states to RTI and the second one needs to subscribe them. Whenever the second federate receives states from RTI, values of state variables in its simulator are updated to make suitable behaviors. Similarly, the second federate publishes its states but the insect physical federate does not need to subscribe.

Besides, both federates need to register synchronous points to synchronize their data as well as activities. This can be done by the time management service of RTI.

An architecture is designed in accordance with the high-level architecture (HLA). In which, the entire system is viewed as a federation containing several federates linked via the central component run-time infrastructure (RTI). The HLA is formally defined by three components [START_REF] Society | IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA)-Object Model Template (OMT) Specification[END_REF][START_REF] Kuhl | Creating Computer Simulation Systems: An Introduction to the High Level Architecture[END_REF].

1. A set of rules describes the responsibilities of federates and their relationship with RTI. An example is that all exchange of data among federates should occur via the RTI during a federation execution.

2. An interface specification provides services for managing federates and interactions. For example, it indicates how a federate join or leave a federation.

D Communication boundary of WSN: an implementation of parallel 2D convex hull algorithm

To indicate the boundary of WSN: sensing coverages, communication coverages, or a group of cells in a zone having the same features such as pollution density, a number of insects, etc, our approach is presented here to employ a parallel algorithm using NVIDIA Thrust library to compute the convex hull performing on GPUs and display its results on QuickMap/Pickcell tool.

The general flow of processes for a WSN's communication boundary is described as following:

• Step 1: Select experimental zone and generate data, cell system, for simulations (Quickmap/PickCell/NetGen).

• Step 2: Launch invocation of CUDA program running on NVIDIA GPUs for radio signal propagation simulation based on cellular automata approach. It produces the communication coverage of a given emitter.

• Step 3: Obtain the simulation result and then reform it to an linear 2-dimension array consisting of (x,y) locations of cells. Noticed that (0,0) reference is the cell at the furthest top-left corner.

• Step 4: Invoke 2D convex hull routine on GPUs. This algorithm is derived from CudaChain [START_REF] Mei | CudaChain: an alternative algorithm for finding 2D convex hulls on the GPU[END_REF] with several modifications to fit with our system such as data type, an organization of data.

G.2 LoRa library

LoRa library provides functions allowing to configure the operation parameters of LoRa chip and capture the specific registers for QoS management such as RSSI, SNR.

G.3 Network library

Network library provides functions allowing to control the communication.

I.1 Package structure for LoRa communications

The format of package in LoRa data link layer composes five parts as following [START_REF] Semtech | LoRa Modulation Basics[END_REF]:

• Preamble in default setting is 12 symbols (corresponding to value 8 in configuration).

• Header is able to choose either implicit or explicit. Explicit header has 4 bytes with 2 bytes CRC (noted that header CR is always 4/8).

• Payload contents user's data. The maximum size of payload is is 255 bytes with payload CRC on (CR = 4/5, 4/6, 4/7, 4/8).

• From: address of sender, 1

• To: destination address,

• Id: a unique number generated by sender to identify packet (could be used to calculate Packet Error Rate , PER)

• Flags: status bits which may be used at PHY layer.

In our experiment, the payload is constructed to track the location of mobile sensor nodes while moving. A typical payload contains several fields, including unique identity, local time, geo-location.

J

Experiments on reconfigurable hardware for distributed remote sensing systems and LoRa modulation features

J.1 Dynamic configuration J.1.1 Reconfigurable hardware platform in wireless sensor networks

Nowadays sensor networks are used worldwide in the automatic surveillance of environmental systems. The key issues concerned in designing such networks are scalability, and low energy consumption to self-adapt with the number and various types of sensors, improving the lifetime of the battery-powered system respectively. A promising way to fulfill these requirements is to utilize Programmable System on Chip (PSoC) built on ultra-low-power process technology, providing high performance, especially dynamic reconfiguration system. This dynamic reconfiguration enables to make changes to the hardware resources, namely universal digital, analog, mixed-signal and radio frequency blocks, to perform the functions of peripheral components [START_REF] Semiconductor | CY8CKIT-001 PSoC ® Development Kit Guide[END_REF].

Each of configurations is achieved by attaching and/or detaching blocks in software without any downtime during run-time. It is by adopting this approach not only the configurations can be reloaded at any time but also multiple configurations can be active simultaneously. This allows optimizing network with respect to performance as well as energy saving. Apart from mentioned advantages, dynamic reconfiguration mechanism the also provides selfhealing capability by reorganizing themselves as some nodes is lost in order to improve the robustness and e ciency of deployed networks [START_REF] Ranjan | Transformers in the embedded world[END_REF][START_REF] Alex Doboli | Introduction to Mixed-Signal Embedded Design[END_REF].

A case study on Cypress PSoC

Cypress company provides a lot of tools for developing conveniently a dynamic system on their PSoC products. As an example, we implemented a dynamic system based on dynamic configuration on Cypress PSoC for sending and receiving through LoRa links.

J.2 LoRa spectrum observation with FUNCube Dongle Pro+

The main features of LoRa technology were introduced in Section 4.1. In order to experience insight into how LoRa modulation operates, we did several experimental measurements to capture and analysis LoRa modulated signal using FUNcube Dongle Pro+. This module is a delicate design for LF to L band software-defined radio, o ering to receive messages from LEO satellites [START_REF] Spurrett | Back Down to Earth -Semtech and Lacuna Receiving Messages from Space[END_REF]. A set of software on Ubuntu including Qthid, Quisk, and gqrx SDR allows controlling the connection with the FUNcube module via USB port for capturing, observing and recording LoRa modulated signal [START_REF] Qthid | Qthid Funcube Dongle Controller[END_REF]208,[START_REF] Gqrx | Gqrx SDR[END_REF]. With salient advantages such as ultra-low power, long-range communications being up to hundred kilometers, LoRa technology is a promising technology for environmental remote sensing from low orbit space station, especially isolated areas where lack of telecommunication infrastructure.