Abstract
In Alpine ski sport, traditional lap time measurement systems record a skier's departure and arrival using time-of-day timers through wires, which is not cost effective in unofficial or training games. This paper develops a lightweight lap time measurement system using a wireless sensor network, which employs a practical TDMA-based linear wireless sensor network protocol for multihop communications in long strap-shaped environments where sensor nodes are linearly deployed. We evaluate the performance of this protocol through the implementation and deployment of the lap time measurement system. The experimental results show that the proposed protocol transmits data at a success rate of 99.66% and maintains the time synchronization errors between two adjacent nodes within 183 μs without using any other time synchronization protocols. In an experimental deployment for a 1.5 km ski slope covered by 31 nodes, the system provides lap time measurements with a measurement error of 1.255 ms, which satisfies the official measurement error of 5.0 ms.
1. Introduction
Alpine ski sport was originated on Alps in Europe and so is named. In this sport, the rankings of ski racers are determined according to their lap times from a start line to a finish line. One distinctive feature of this sport is that skiers do not start at the same time, but at different times. International Ski Federation (FIS) recommends that the elapsed time of a skier skiing down a slope be recorded in a 10 ms unit with a timer synchronized to the time of day [1]. In traditional measurement systems, the departure signal at the start line and the arrival signal at the finish line are entered into an electronic stopwatch or a photo capture system through wires. These systems are not only expensive but also difficult to install for small-scale unofficial games. In this paper, we propose to develop a lightweight lap time measurement system based on a wireless sensor network (WSN) for Alpine ski sport, which employs a WSN protocol optimized in long-distanced outdoor surroundings such as ski slopes.
Many WSNs assume that sensor nodes are randomly distributed [2], as exemplified in Smart Dust [3]. In such networks, nodes near the destination send their own data and forward data from other nodes to a sink node by cooperating with neighbor nodes through designated RF channels. Studies based on the above concept of WSNs do not consider performance optimization in special cases where nodes are positioned in a particular way.
Among the first generation of WSNs, ALOHA [4] brought the simplicity of a 2-hop star topology shown in Figure 1(a) into its implementation. The current commercial WSNs such as wireless LAN [5], ZigBee [6], and bluetooth [7] adopt the simplest 1-hop star topology shown in Figure 1(b) as their basic function unit. Most existing research efforts, however, were focused on a general tree topology of WSNs shown in Figure 1(c). To the best of our knowledge, there exist very few studies that are tailored to the linear topology shown in Figure 1(d). Although a linear topology could be considered as a special case of a tree topology, a generic tree-based transport solution is unlikely to exploit the unique features of a linear topology for performance optimization.

Four types of node distributions in wireless sensor networks.
In fact, a significant number of practical applications feature a node distribution of type. (d) Examples of such linearly shaped WSN fields include monitoring systems for bridges, tunnels, borders, coastlines, fences, and ski slopes.
We propose a linear-wireless sensor network protocol, referred to as LSNP and design a lap time measurement system for Alpine ski sport based on LSNP. LSNP uses a TDMA MAC without the need of any time synchronization or routing protocols, and the measurement system is lightweight in terms of cost and operation. The performance of LSNP is evaluated through extensive experiments of the wireless lap time measurement system. Particularly, we implement the measurement system for a real-life deployment on a ski slope of about 1.5 km composed of three laps and covered with 31 nodes.
The rest of the paper is organized as follows. We describe some related work in Section 2 and propose LSNP in Section 3. The implementation and evaluation of LSNP and an LSNP-based lap time measurement system for Alpine ski sport are presented in Section 4 and Section 5, respectively. We conclude our work in Section 6.
2. Related Work
2.1. Wireless Lap Time Measurement System for Alpine Ski Sport
In FIS-defined wireless lap time measurement systems, the departure and arrival signals are entered into timers using wireless media instead of wires [1]. As such, FIS still adheres to a timer synchronized to the time of day. The proposed wireless measurement system, however, uses stable reference times generated by a linear-wireless sensor network protocol without any external timers.
2.2. Routing and Time Slot Assignment in TDMA MAC of WSN Protocols
In general, a routing layer separated from the MAC layer is needed in WSNs using CSMA MAC. MintRoute [8] is a routing protocol installed on TinyOS [9], where each node lets its neighbor nodes obtain required information to select their own parent node by broadcasting its routing information periodically in a network based on B-MAC [10] (a variant of CSMA MAC). As a result, MintRoute creates directed acyclic graph (DAG)-structured routing paths rooted on the sink node as a whole. The data routing paths from sensor nodes to the sink node can be established by combining assigned time slots in TDMA MAC.
DMAC [11] assigns the same time slot to all nodes of the same depth in a data gathering tree and lays out the time slots along the time line continuously as shown in Figure 2. The time slots of DMAC are allocated to overlap each other, that is, the sending period of the time slot for depth d overlaps with the receiving period of the time slot for depth

DMAC in a data-gathering tree.
FlexiTp [12], which is a variant of TDMA MAC, arranges nodes in a tree topology during the network setup phase and then assigns separate time slots to each node for transmitting its own data and forwarding the data from its child nodes. For example, in Figure 3, a series of time slots 6, 7, and 8 form a data transmission path from node D to the sink node S. In this case, a time slot assignment table also plays the role of a routing table in the network. However, this method suffers from reduced network bandwidth because it does not allow the sharing of overlapped routing paths, but assigns separate time slots to all routing paths.

An example of a routing path composed of time slots.
2.3. WSN Protocols for Linear Topology
Flush [13, 14] is designed to collect bulk data through a linear data gathering path in a tree-structured network between a source node and the sink node. Each node in flush forwards data packets captured from its next node with limited bandwidth. Node i of flush calculates its sending interval

The concept of flush.
WiWi [15] is an improved WSN protocol of DMAC for linear topology. WiWi allows bidirectional communication by assigning downstream time slots and upstream time slots to each node one after the other as shown in Figure 5. WiWi avoids collisions by assuming that there are only two other nodes, that is, previous and next nodes, in the RF range of each node and does not allow network topology changes caused by node failures.

The concept of WiWi.
TSFP [16] is a pure TDMA WSN protocol improved from DMAC for linear topology where a new node joins the network as a terminal node one at a time, and there are no transmission collisions between nodes. The time slot of TSFP consists of three parts: receiving time, sending time, and acknowledging time. In Figure 6, node B processes acknowledgement by overhearing node A's packet including ACK for node B. The separation of acknowledging time in TSFP time slots improves the transmission latency performance of DMAC.

The concept of TSFP.
Although it has some merits as mentioned above, TSFP still suffers from critical performance limitations in networks deployed in a wide outdoor area. The first limitation of TSFP arises from the RSSI-based participation contention mechanism because RSSI is not strictly dependent on distance and is subject to momentary fluctuation, and therefore is no longer an appropriate index [14]. For example, as shown in Figure 7, TSFP forms a network of topology (b) if the RSSI value between nodes A–D is slightly better than that between nodes A-B. As a result, node T cannot join the network if the RSSI value between nodes B–T is unacceptably low. In this case, a network of topology (a) is more desirable in terms of the connectivity of the entire network even though the RSSI value between nodes A-B is lower than that between nodes A–D.

Issues in RSSI-based terminal join of TSFP.
The second limitation of TSFP restricts a new node to join the network as a terminal node only (we call it terminal join), which may result in some dangling nodes that are never able to join the network. For instance, in Figure 7(b), node T cannot join the network if node B and node T are outside of each other's RF range. Besides, the network has to be reorganized when new nodes must be added in the middle of the network as nonterminal nodes.
The third limitation is that, in case of a nonterminal node failure, all nodes that joined after the failed one become isolated from the network.
3. LSNP: Linear Wireless Sensor Network Protocol
We propose a practical linear wireless sensor network protocol, referred to as LSNP, which is improved from TSFP for a special type of WSNs deployed in long strap-shaped outdoor surroundings. To overcome the limitations of TSFP pointed out in Section 2, we incorporate into TSFP three new mechanisms to make it suitable for sensor networks with linear topology: address-based network participation process, nonterminal join process, and network recovery process.
3.1. Conceptual Model of LSNP
Structure of Time Slot Unit
LSNP defines a time slot unit consisting of RF communication time and data processing time derived from RF transmission rate, MCU clock speed, and time synchronization error. As shown in Figure 8 each node has three consecutive time slot units (i.e., duty cycle time slots): reception (RX) slot, transmission (TX) slot, and acknowledgement (AK) slot. Each node's duty cycle time slot is repeated by a super frame interval period.

The concept of LSNP.
Allocation of Duty Cycle Time Slot
Most existing TDMA-based WSNs such as FlexiTP assign time slots to nodes [12]. In contrast, LSNP assigns nodes to time slots sequentially laid on the time line. Hence, in LSNP, the order of duty cycle time slots forms only one virtual link from the terminal node to the sink-node. The occupation of time slots in LSNP, namely, network participation of new nodes, is allowed by an existing node selected by the new node as shown in Figure 9.

An example of the network growing phase of LSNP.
Time Synchronization
LSNP does not have a separate layer for time synchronization. As shown in Figure 10,

Time synchronization in LSNP.
Transmission of a Frame and an Acknowledgement
Each node builds the payload of a frame by aggregating data that have been forwarded node-by-node from the terminal node. Hence, the transmission of some data may be delayed until the next super frame interval because of the limit on the maximum size of the payload. In this case, it is possible to adopt various queue scheduling policies for quality of service (QoS) based on the priority of data.
Routing
In LSNP, it is not necessary to create any separate routing layer since the order of duty cycle time slots itself forms a virtual link from the terminal node to the sink node.
3.2. Address-Based Network Organization
Instead of using the RSSI-based network self-organization, LSNP organizes a network based on node addresses, which are assigned to nodes in an ascending order from the sink node. Specifically, a new node that attempts to participate in an LSNP-based network first scans neighbor nodes in the network and then selects a node whose address is the nearest to and smaller than its own address as its parent node. For example, in Figure 11, new node N whose address is 11, selects node C whose address is 9, as its parent node. This way, LSNP builds an address-based linear network in an ascending order.

The address-based linear topology and nonterminal join in LSNP.
Obviously, the link quality of the entire network formed by LSNP is largely affected by low-quality links. The address-based network organization method of LSNP can avoid those node-to-node links with low link qualities by positioning the nodes at appropriate places.
3.3. Nonterminal Join
LSNP, which forms an address-based network, would need nonterminal join as shown in Figure 11 as well as the terminal join of TSFP. The nonterminal join process of LSNP is carried out in two phases: phase I (join-contention phase) and phase II (joining phase).
Phase I: Join-Contention Phase
New nodes scan their neighbor nodes and select their corresponding parent nodes based on the addresses of the scanned ones. They perform time synchronization with the selected parent nodes as shown in Figure 12 in the network active period of Figure 8 and then listen to the RF channel. A new node broadcasts JOIN_DCL (join-declaration message) at a join-contention time slot corresponding to its own address and carries out phase II. Other nodes wishing to join overhear JOIN_DCL, give up their attempts to join the network in the current super frame interval and try Phase I again in the next super frame interval. Obviously, low-numbered nodes (i.e., nodes that are close to the sink node) have high priority in the assignment of join-contention time slots.

The join-contention process of LSNP.
Phase II: Joining Phase
The new node that broadcasts JOIN_DCL at phase I synchronizes its own duty cycle time slot with the selected parent node's duty cycle time slot (step (a) in Figure 13). The new node overhears a frame that is forwarded to the parent node by the child of the parent node at the RX slot of the parent node and sends NTJN_REQ (nonterminal join request message) to the parent node immediately (step (b)). The parent node transmits a frame (step (c_1)) including SHFL_REQ (shift left one time slot unit request message) and NTJN_RES (nonterminal join response message) at its TX slot. On the other hand, the new node recognizes NTJN_RES by overhearing the frame (step (c_2)) at its TX slot. The new node and the parent node may be able to overhear the frame including SHFL_REQ transmitted to the grand parent node at their own AK slots (step (d_1) and (d_2)). The parent node and other nodes positioned ahead of the parent node receive SHFL_REQ one by one and then advance their own duty cycle time slots exactly by a time period of one time slot unit (step (e)). If the new node fails to receive both of the messages (i.e., NTJN_RES in TX slot and SHFL_REQ in AK slot), it concludes that its NTJN_REQ has failed and then retries Phase I in the next super frame interval.

The nonterminal join process of LSNP.
3.4. Network Recovery
In LSNP, once a nonterminal node fails, the child node of that dead node sends a network recovery request message to its grand parent node to fill in the broken node's duty cycle time slot as shown in Figure 14. The detailed network recovery process of LSNP is described as follows (refer to Figure 15).

The network recovery concept of LSNP.

The network recovery process of LSNP.
The child node of a failed node sends RCVR_REQ (recovery request message) to the parent node of the dead node, that is, its grandparent node in its AK slot (step (a)).
The grandparent node receives RCVR_REQ and transmits a frame including SHFR_REQ (shift right one time slot unit request message) and RCVR_RES (recovery response message) (step (b_1)).
The child node is assured that RCVR_REQ has succeeded when it finds RCVR_RES at BK1 (blank 1) slot in the frame transmitted by its grandparent node (step (b_2)).
The parent node and other nodes positioned ahead of the parent node in the network topology receive SFHR_REQ and back off their duty cycle time slot by a time period of one time slot unit.
If the child node fails to get the response to the network recovery request, it departs from the network, and then tries again with the first phase of the network participation process.
4. Implementation of LSNP and LSNP-Based Lap Time Measurement System for Alpine Ski Sport
4.1. Hardware and Software
4.1.1. Sensors for Detection of a Skier's Entry into a Lap of a Ski Slope
Sensors installed on the boundaries of laps detect the skier's entry into a lap (see the target deployment of the measurement system in Figure 19). There are a signal emitter on one side and a signal receiver on the other side as shown in Figure 16. An infrared or a laser sensor would be considered as a suitable sensing device for convenient installation in harsh outdoor environments with snowstorm and topographic irregularity in typical ski slopes. However, a laser sensor is more suitable than an infrared sensor because the latter may not be able to detect the skier's entry when she or he goes over a speed of 21 km/h. This is simply because the changed status of an infrared ray must be kept in receiver for a sufficiently long time in order to recognize the change. Note that the average speed of an Alpine skier is about 100 km/h.

Installation of laser sensors.
The laser sensor [17] used in this study is shown in Figure 17, and its specifications are provided in Table 1. An output terminal of the laser sensor receiver maintains 0 V while receiving the laser ray from the emitter and generates a 5 V pulse once the laser ray is shut off.
Specification of laser sensors.

Mote and laser sensor.
4.1.2. Sensor Node
The laser sensor output terminal is connected to a general purpose input/output (GPIO) pin of a sensor node equipped with an atmega 2560 8 bit micro controller unit (MCU) [18] whose specification is listed in Table 2. The GPIO pin is configured as a rising edge interrupt source. Figure 17 shows a snapshot of our mote for the implementation. A sensor node transmits a time stamp including the time when the interrupt occurs at the GPIO pin to the sink node through LSNP.
Specification of sensor nodes.
4.1.3. Coding of LSNP
As shown in Figure 18, the frame of LSNP contains the following fields: frame length, frame header, and optional protocol data units (PDU) that carry sensing data. Each PDU in the frame is prioritized and is composed of PDU id, the PDU length, and the corresponding information. Upon the receival of a frame, LSNP parses its contents and inserts the PDUs into the local queues if they are not destined to itself. The PDUs including those of its own in the queues are reassembled into a frame before transmission. In case of frame overflows, the PDU's priority is taken into consideration to determine which PDUs should be sent first. LSNP is implemented using WinAVR gcc compiler [19] in AVR studio 4.18 [20] and it runs without any operating systems. Its code and data sizes are about 48 KB and 4 KB, respectively.

Format of the LSNP frame.

A target deployment environment of the lap time measurement system.
4.2. Configuration of LSNP in a Target Deployment Environment
4.2.1. A Target Deployment Environment
The LSNP-based lap time measurement system is to be deployed on a ski slope as shown in Figure 19. We place 31 nodes (excluding the sink-node) with a span of about 50 m to cover the ski slope of about 1,500 m. Since the maximum available communication range in the ski slope is about 150 m when the output power of RF transceiver CC1100 [21] in Table 2 is about 7 dBm, the 50 m span placement makes it possible for LSNP to maintain the network connected by the network recovery process even if two consecutive node fail to function.
The node addresses are numbered in an ascending order from 0 (sink-node) to 31. Four nodes that are capable of detecting a skier's passing by a laser sensor are located at the starting point (the terminal node with node address 31), 500 m point (node address 21), 1,000 m point (node address 11), and finish line (node address 1). All other nodes are relay nodes that relay the time measurements to the sink node.
4.2.2. Configuration of LSNP
In this subsection, we provide the details on the configuration of LSNP: super frame interval, RF transmission rate, frame size, interrupt and data processing time, time errors caused by XTAL (crystal) vibration error, and resolution of MCU timer counter.
Frame Transmission Time
We use
Data Processing Time
We use
SFD Interrupt Latency and Handling Time
We use
Time Error Caused by Resolution of Timer Counter
We use
Time Error Caused by XTAL Vibration Error
We use
Configuration of Time Slot Unit
We use 0.18 ms for the maximum time error caused by the timer counter resolution and XTAL vibration error between two adjacent nodes in a super frame interval ( 0.5 ms for the power on/off time of the RF transceiver; 1.0 ms for the output time of a 10 bytes long debugging message through UART (Universal Asynchronous Receiver/Transmitter) device with 11.52 kbps.

A time slot unit of the LSNP-based lap time measurement system.
Configuration of Super Frame Interval
We use
Clearly, the network active period is defined as the number of nodes in the network times
Activities of Each Node
Each node changes the RF state to the receiving mode, listens to the RF channel at the start time of
4.3. Time Stamp
Upon the receival of an interrupt signal triggered by a laser sensor, the sensor node generates a time stamp and then sends it to the sink node at its TX slot in a node-by-node manner. The sink node sends the time stamp to a remote server system via a gateway that is connected through wire to the sink node. Laser sensor interrupts may be triggered at any time along the time line as shown in Figure 8. Each sensor node generates a relative time stamp based on its own super frame interval. The relative time stamp is converted to an absolute time stamp to be used for record estimation in a server system. In this paper, all of the time information is measured in unit of tic of 0.9216 MHz timer. The relationship between the tic unit time
Realtive Time Stamp (Node Time Stamp)
Each sensor node constructs a time stamp consisting of three components, that is, super frame interval sequence (sfiseq), time past in the super frame interval (sfioff), and its own depth (d). The sfiseq of each node is increased by one at the start time of duty cycle time slot of the node. Meanwhile, depth d of each node is set to be one plus the depth value that is included in the frame transmitted by its child node, as shown in Figure 21. The depth d does not change if there is no change in the network's topology. Note that the depth of the terminal node is always 0.

Relative time stamp of
Absolute Time Stamp (Server Time Stamp)
The relative time stamps of the sensor nodes collected in a server system are converted to absolute time stamps based on the super frame interval of the terminal node. The relative time stamp of
sfigapd = d × time_slot_unit; /* depth d*/ sfioffd = sfigapd + sfioffd; sfiseqd = sfiseqd + 1; sfioffd = sfigapd − (sfi − sfioffd); }
Calculation of a Lap Time
We use
5. Evaluation of the LSNP-Based Lap Time Measurement System
5.1. Functionality of LSNP
For testing purposes, we deployed the sensor nodes for the ski slope in Figure 19 on the campus of Gangneung-Wonju National University as shown in Figure 22. Each node was packed in a plastic case and tied to the pole of a street lamp at 2 m high from the ground. The total length of the linear network formed by LSNP is about 1.2 km. The average span distance between two street lamp poles is about 40 m. Four sensor nodes (
The success rate of LSNP data transmission.

Deployment of nodes in a test network environment.
5.2. Theoretical Maximum Time Synchronization Error between Multihop Nodes
We use
5.3. Actual Time Synchronization Error between Multihop Nodes
To evaluate the actual time synchronization errors between multihop nodes, we deployed the nodes on an office floor as shown in Figure 23 and connected the extensions of the laser sensor output cables (see Table 1) to the oscilloscope channels in order to measure the absolute real-time synchronization and measurement errors of the LSNP-based lap time measurement system. We would like to point out that we used the same oscilloscope as used in the conventional wired system because the oscilloscope is one of the most precise real-time stop watches recommended by International Ski Federation (FIS). The high precision of this device makes the measuring process of our wireless system comparable with that of the wired system. The only factor that may affect the time synchronization errors between the indoor test and the outdoor test is the temperature of crystal equipped in the nodes (see (5)). To investigate the impact of the crystal temperature, we stored several nodes in a refrigerator of −15°C and compared their clock speed with that of the nodes outside of the refrigerator. We did not observe any distinguishable differences between these two groups of sensors.

Deployment of nodes for testing time synchronization errors of LSNP.
To produce test data, we shut the laser beams off manually with a colored plastic ruler. The laser sensor produces a 5 V DC pulse immediately when the laser beam is shut off. The pulse interrupts the sensor node and at the same time generates a trigger at the oscilloscope. We performed the experiment 100 times every 5~10 minutes for 12 hours in both 1-hop and 10-hop environments.
5.3.1. Actual Time Synchronization Error between Two Adjacent Nodes (Laps of 1-Hop Length)
The time synchronization error between two adjacent nodes in the proposed measurement system may be obtained by comparing their time stamps that are generated in response to a single interrupt source. In this test, we select a laser sensor and connect its output terminal to the four sensor nodes (
Actual time synchronization errors between two adjacent nodes, (unit: 0.9216 MHz tic (ms)).
5.3.2. Actual Time Synchronization Error in Laps of 10-Hop Length
If all of the relay nodes are powered up in the above experimental environment, the four sensor nodes build up three laps of 10-hop length, that is, the laps of
Actual time synchronization errors of laps of 10-hop length, (unit: 0.9216 MHz tic (ms)).
5.3.3. Some Trends in the Actual Time Synchronization Errors
Tables 4 and 5 indicate that the entire distribution of the time synchronization errors is biased towards positive values. This implies that it is possible to reduce the deviation of the errors by tuning the results.
Figure 24 shows curves of the theoretical and actual time synchronization errors depending on the number of hops. The experimental results were obtained for 1-hop, 2-hop, 3-hop, 10-hop, 20-hop, and 30-hop in the same experimental environment as those of Tables 4 and 5. Figure 24 shows that the longer the lap length is, the larger the error margin in the realization of time synchronization is. In other words, the gap between the actual time synchronization error and the corresponding maximum time synchronization error increases as the lap becomes longer. For example, the error margin of lap

Trends of actual time synchronization errors.
5.4. Measurement Error of Lap Times
We measured the lap times by connecting the outputs of the laser sensors to the four sensor nodes (
Table 6 shows the experimental results. The measurement system was precalibrated based on the previous results before the experiment. Table 6 justifies that the proposed measurement system can measure lap times in an error range of 1.255 ms even in the case where the length of a lap is less than or equal to 30 hops.
Experimental lap time measurement errors, (unit: ms).
5.5. Field Test of the Lap Time Measurement System
To test the lap time measurement system in a real ski environment, we deployed the system on the Rainbow III ski slope as shown in Figure 19, which is the second longest international ski slople in YongPyong Ski Resort located in Daegwallyeong-myeon, Pyeongchang, Gangwon-do, South Korea. Table 7 lists the deployment environment conditions of the ski slope. Yongpyong was a candidate resort for the 2010 and 2014 winter olympics and is to hold the 2018 winter olympics. This resort has several ski slopes certified by the FIS and has hosted races in both the alpine and disabled alpine world cups.
Environmental conditions for field test.
We packed each sensor node in a small plastic case and tied it to the top of a thin iron pole of about 1 m as shown in Figure 25. In our test, six skiers skied the slope one at a time in an interval of 25 minutes, and the system continuously collected the lap time measurements. Throughout the test, the system operated smoothly and the measurement results confirm our previous performance analysis.

Installation of nodes for the field test.
6. Conclusion
We proposed a practical TDMA-based WSN protocol named LSNP that is dedicated to a class of sensor network application fields where nodes are placed in a linear fashion in a long strap-shaped environment. Based on LSNP, we implemented a lap time measurement system specialized for Alpine skiing games and demonstrated the efficacy of LSNP by evaluating the performance of the proposed measurement system in various experiments. The experimental results showed that the data transmission success rate of LSNP was about 99.66% and LSNP was capable of measuring the lap times with a measurement error of less than 1.255 ms without any additional time synchronization protocol in a network of 32 nodes. The results also satisfied the theoretical maximum time synchronization error of 183 μs between two adjacent nodes and met the requirement of 5 ms in official skiing lap time measurement systems. The proposed LSNP-based lap time measurement system is proved to be useful for training skiers or measuring unofficial lap times in Alpine ski games.
The lap time measurement system is one representative application of the proposed LSNP approach, which has great potential of being used in many other applications deployed in long-distanced outdoor surroundings such as bridges, tunnels, borders, coastlines, and fences.
