58

IEEE COMMUNICATIONS LETTERS, VOL. 18, NO. 1, JANUARY 2014

Improving the Packet Delivery Performance for Concurrent Packet Transmissions in WSNs Jongjun Park, Jongsoo Jeong, Hoon Jeong, Chieh-Jan Mike Liang, and JeongGil Ko

Abstract—In this letter, we investigate the properties of packet collisions in IEEE 802.15.4-based wireless sensor networks when packets with the same content are transmitted concurrently. While the nature of wireless transmissions allows the reception of a packet when the same packet is transmitted at different radios with (near) perfect time synchronization, we find that in practical systems, platform specific characteristics, such as the independence and error of the crystal oscillators, cause packets to collide disruptively when the two signals have similar transmission powers (i.e., differences of <2 dBm). In such scenarios, the packet reception ratio (PRR) of concurrently transmitted packets falls below 10%. Nevertheless, we empirically show that the packet corruption patterns are easily recoverable using forward error correction schemes and validate this using implementations of RS and convolutional codes. Overall, our results show that using such error correction schemes can increase the PRR by more than four-fold. Index Terms—Concurrent transmissions, wireless sensor networks, and forward error correction.

I. I NTRODUCTION

W

IRELESS sensor networks (WSNs) are designed to perform monitoring and automation in various application domains [7]. These tasks rely on the efficient collection of sensor readings and dissemination of commands. In fact, one networking primitive in WSNs is network-wide flooding, where a piece of information is disseminated to all nodes in the network. While flooding enables operations such as network reconfiguration, it has been considered to be an energyexpensive process and requires long latencies to complete. Fortunately, Ferrari et al. have recently shown that the efficiency of the flooding process can be increased both in terms of latency and energy usage by exploiting concurrent transmissions in IEEE 802.15.4 radios [5]. Their work exploits the properties of synchronized modulated analog wireless signals. Specifically, if multiple radios transmit the same data on a given radio frequency at roughly the same time (i.e., within the threshold of a single chip generation rate), the collision between the signals takes place non-disruptively (see Fig. 1). Our work takes the findings by Ferrari et al. a step further and tries to understand packets that were not correctly received. Specifically, we analyze how and why packets get corrupted during concurrent transmissions and discuss methods to improve the packet delivery performance. From preliminary

Manuscript received August 29, 2013. The associate editor coordinating the review of this letter and approving for publication was A. Vinel. J. Park, J. Jeong, H. Jeong and J. Ko are with the Electronics and Telecommunications Research Institute. J. Ko is the corresponding author (e-mail: [email protected]). C. M. Liang is with Microsoft Research Asia. This work was supported by the IT R&D Program of MSIP/KEIT project #10035570. Digital Object Identifier 10.1109/LCOMM.2013.112013.131974

Fig. 1. Pictorial view of the signals for two packets (with the same context) being transmitted concurrently. Signals collide non-disruptively if signals are synchronized tighter than the chip period of Tc (left).

experiments, we first show that the drifts of the individual onboard crystal oscillators and the received strength of each signal can significantly impact the packet reception ratio (PRR). We found that concurrent transmissions are less practical in real life than expected, contradicting results in [5]. Specifically, on nodes with crystal oscillator drifts of ∼50 ppm [6], we noticed a low PRR of <10% when the received signal strength for two different signals are <2 dBm. Nevertheless, deeper analysis on the traces reveals that the corruption patterns can be recovered with simple forward error correction (FEC) schemes. Results suggest a significant improvement in the PRR of concurrent transmissions on low-cost and lowpower WSN platforms, and thus the reliability of protocols leveraging concurrent transmissions [4], [5]. II. C ONCURRENT PACKET T RANSMISSIONS IN IEEE 802.15.4: A R EALITY C HECK A. Timing Bounds for Concurrent Transmissions Figure 1 illustrates different cases where two packets’ signals collide in the air while carrying the same data. Notice that with (near) perfect synchronization, the packets can collide in a non-disruptive manner. Specifically, given that IEEE 802.15.4 uses DSSS, if the second packet is transmitted within the time that the first chip of the first packet is transmitted (Tc = 1/Rchip ), the collision of these two signals will not corrupt the packet data. On the other hand, if the second signal is delayed longer than Tc , the second packet complicates the demodulation process; thus, resulting in packet loss. For further empirical validation, we implemented this behavior on the Atmel RF212 radio [1], which is an IEEE 802.15.4 radio operating at 900 MHz. While the 900 MHz 802.15.4 radios can use different modulation schemes, we

1089-7798/13$31.00 © 2013 IEEE

PARK et al.: IMPROVING THE PACKET DELIVERY PERFORMANCE FOR CONCURRENT PACKET TRANSMISSIONS IN WSNS

100

100

15 Byte Packet 40 Byte Packet 100 Byte Packet

80

10 PRR (%)

PRR (%)

59

1

60 40 20

0.1 Single Oscillator (15B)

Single Oscillator (40B)

Single Oscillator (100B)

Independent Oscillators (15B)

Independent Oscillators (40B)

Independent Oscillators (100B)

Fig. 2. PRR with concurrent transmission generated using a single oscillator and two independent oscillators.

0 0

1

2

3

Fig. 4. Experimental PRR with concurrent transmission using signals generated from two transmitters while varying the relative reception power for the two signals. RSS difference 0 dB

RSS difference 4 dB 2 Amplitude

Amplitude

2

Clock Skew Offset 30Hz

0

−2 0

0.5

1 Time (msec)

1.5

2

0

−2 0

picked BPSK modulation with a maximum bandwidth of 40 Kbps [8]. In this configuration, the chip rate Rchip is set to be 600 Kcps; therefore, Tc = ∼ 1.66us. B. Challenges in Realizing Concurrent Transmissions Continuing from the discussion of the theoretical time bound, we now discuss additional factors that can impact concurrent packet transmissions in real life. These factors complicate realizing concurrent transmissions and motivate packet recovery in Section III. Drift of the Low-Cost Oscillators. Due to the low cost of typical WSN platforms, the crystal oscillators used by radios do not typically have high stability (e.g., a typical oscillator drift rate for the widely used TelosB platform is 30-50 ppm [11], and the CC2420 radio is designed to support drift rates up to 80-120 ppm [13]). During a packet transmission, this oscillator is used to clock signals when generating DSSS chip sequences; thus, low-precision clocks can cause unevenness in spreading. Furthermore, since the same oscillator sources the process of modulating chip sequences to 900 MHz carriers, its instability can complicate synchronizing the phase of multiple signals and prevent constructive collision. Empirical measurements from the 16 MHz oscillators on 10 nodes of our own WSN platform [12] show an average frequency of 15.9994764 MHz, with a standard deviation of 32.57 Hz. Furthermore, Figure 2 quantifies the impact of this oscillator variation on PRR, as elaborated next. Under each of the two configurations, we instrumented each transmitter to send 1,000 packets. To ensure the results are reproducible and free from external interference, we ran both experiments in a controlled setting on a wired testbed (see Fig 3). In the first configuration, we emulated the case where multiple oscillators are precisely synchronized, which represents the best-case scenario possible in achieving concurrent packet

0.5

1 Time (msec)

1.5

2

0.5

1 Time (msec)

1.5

2

2 Amplitude

Amplitude

Clock Skew Offset 80Hz

0

−2 0

2

Fig. 3. Picture of the wired testbed. Two transmitters (bottom right) are connected to variable sized attenuators that control the output signal strength to configure the received signal strength of each signal at the receiver (top left). The two signals are mixed using a T-shaped connector.

4

Difference in Receiving Power Between Two Signals (dB)

0.5

1 Time (msec)

1.5

2

0

−2 0

Fig. 5. Matlab simulation results illustrating the patterns for the expected received signal (e.g., preamble only) when two transmitters send packets concurrently. The two transmitters’ crystal oscillator clock skews are offset by 30 (top) and 80 Hz (bottom), with results for two different ΔRSS .

transmissions. Specifically, we took a signal generated by an Atmel RF212 radio [1], and divide the signal into two with a T-shaped connector. Finally, we combined the two divided signals again, and we fed it to a receiver. Figure 2 shows that such a case of single oscillator (with no clock skew) can achieve a near-perfect PRR. In the second configuration, we use two transmitters which send identical packets clocked with their own on-board crystal oscillators. To ensure both transmitters send packets at the same time, an external node triggers the transmission using GPIO interrupts. We note that the internal clocks on two transmitters can theoretically have a maximum time difference of <125ns, which is small enough (i.e., significantly smaller than the chip rate boundary of 1.66 us) to still assure successful concurrent transmissions. This represents a more realistic scenario where oscillators on different platforms are independent. Unlike the experiments in [5], the packet transmission power was set to be the same over all transmitters. Lastly, we vary the packet sizes to be 15, 40, and 100 bytes. Figure 2 shows that the instability among low-cost crystal oscillators can result in an extremely low PRR of 1-2%. Signal Strength Differences from Multiple Transmitters. We now look at one real-world factor missing in the previous wired testbed – received signal strength (RSS) differences due to the radio hardware and the different locations of transmitters. We added various scales of attenuators to artificially lower the packet signal strength for each transmitter, from 0 to -4 dB. Figure 4 indicates that, even with a small ΔRSS (e.g., 2 dB), the PRR rises to >60%. Then, as ΔRSS increases, the PRR eventually reaches > 90%. Our Matlab simulations show the same observations as well. Figure 5 illustrates the resulting signal pattern for the preamble length from merging two signals issued by radios using oscillators (each with amplitude 1) with 30 and 80 Hz offset. These offsets are within our oscillators’ experimentally

60

IEEE COMMUNICATIONS LETTERS, VOL. 18, NO. 1, JANUARY 2014

100

PRR (%)

80 60 40

15 Byte Packet 40 Byte Packet 100 Byte Packet 15 Byte Packet with Proper Length 40 Byte Packet with Proper Length 100 Byte Packet with Proper Length

20 0 0

1 2 3 Difference in Receiving Power Between Two Signals (dB)

4

Fig. 6. Percentage of packets received at the receiver node including packets that were partially corrupted (e.g., originally filtered out at the CRC checking phase) and those which were corrupted but with proper length fields. 100 90 80

CDF

70 60 50 40

Delta = 0 dB Delta = 1 dB Delta = 2 dB Delta = 3 dB Delta = 4 dB

30 20 10 1

2

3 4 5 6 7 Number of Corrupted Bytes from a 15 Byte Packet

8

9

100 90 80 70 CDF

60 50 40 Delta = 0 dB Delta = 1 dB Delta = 2 dB Delta = 3 dB Delta = 4 dB

30 20 10 0 0

3

6

9 12 15 18 Number of Corrupted Bytes from a 40 Byte Packet

21

24

100 90 80 70 CDF

60 50 40 Delta = 0 dB Delta = 1 dB Delta = 2 dB Delta = 3 dB Delta = 4 dB

30 20 10 0 0

5

10

15 20 25 30 35 40 Number of Corrupted Bytes from a 100 Byte Packet

45

50

55

Fig. 7. Byte error rate CDF for the packets arrived with a proper length field for different relative received signal strengths.

measured skew, and we use two different ΔRSS . Comparing the top and bottom sub-figures of Figure 5, we can notice that while the differences in the crystal oscillator’s clock skew affect the frequency of the low amplitude regions (and thus the packet delivery performance), ΔRSS determines the values of the low-amplitude regions in the received signal. In other words, ΔRSS is the dominant factor that dictates the received signal quality. Although similar results are reported by Dutta et al. [2], our experiments show results for nodes using oscillators with high variance. Therefore, while the PRR is low when ΔRSS is 0 dB, the increasing PRR trend with increasing ΔRSS still holds even with unstable crystal oscillators. While these observations are similar to the capture effect, the capture effect only holds for strong-first cases (e.g., stronger packets come first before collision), while concurrent transmissions can occur with strong signals being received anytime. III. A NALYZING AND R ECONSTRUCTING THE PARTIALLY C ORRUPTED PACKETS Based on findings from previous works, it is well known that partially corrupted packets can be recovered using various error correction schemes [10]. However, little is known about the corruption patterns when concurrently transmitted packets

collide. To provide an answer to this question and validate the effectiveness of forward error correction (FEC) schemes to the corrupted packets, we started by collecting packet reception traces from a network of one receiver and two transmitters (sending packets of 15 - 100 bytes periodically at 5 Hz). Using these traces, we computed the number of packets that were simply “detected” (e.g., with proper preamble and SFD reception) and the number of packets that were detected with a proper length byte reception as well and present their reception ratios in Figure 6. Note that most FEC schemes are only capable of recovering packets that are properly detected, and in many cases require the length byte to be properly received for effective packet recovery (unless a fixed-packet-length mode is used). As a result, Figure 6 presents an upper-bound of the potential PRR increase that can be achieved using FEC schemes. Comparing Figure 6 with Figure 4 we can notice that the PRR increases significantly. Next, to evaluate the feasibility of recovering corrupted packets with FEC schemes, we computed the CDF of the number of corrupted bytes in a corrupted packet (see Fig 7). We can make an interesting observation from Figure 7. Specifically, we can notice that for all ΔRSS (and all packet sizes), only a small number of corrupted bytes are received when ΔRSS > 1 dBm. In turn, this suggests that applying FEC schemes can (potentially) significantly increase the PRR of concurrently transmitted packets. Among various FEC schemes, Reed-Solomon (RS) codes have already been applied in several WSN systems [9], [10]. We have implemented a RS coding scheme for our hardware platform. Nevertheless, the limitation of RS codes is that they can only deal with predefined message lengths. Therefore, we also validate the performance of convolutional coding + Viterbi decoding, which allows a variable size packet to be effectively recovered. While convolutional codes can be generated for each packet at individual nodes, the Viterbi decoding took place on a PC due to computational limitations. Such an architecture is suitable for applications, where distributed nodes send end-to-end packets towards a PC-scale gateway. We note that our implementation of convolutional encoding follows the Trellis modulation scheme while obeying the parameters of the DVB-T channel coding standards [3]. In other words, by maintaining a single, common polynomial on all nodes, we keep the memory usage minimal. Quantitatively speaking, the convolutional encoding implementation took < 280 bytes of ROM and < 300 bytes of RAM on the Atmel 1284p microcontroller. While the computational overhead of such FEC operations may be of concern, previous work by Ko et al. and Liang et al., show that with advanced low-power MCUs (or even common MCUs), FEC schemes are practically realizable in runtime for WSNs [9], [10]. We evaluate the performance of the RS and convolutional code implementations on our wired testbed. For baseline, a 40-byte payload is delivered using concurrent transmissions without any FEC scheme. The two FEC schemes use RS and convolutional codes to carry the 40-byte payload data with 20 additional bytes (e.g., parity). As expected to some level, the PRR results in Figure 8 show a noticeable increase when applying the FEC schemes. Schemes that exploit concurrent packet transmissions typically repeat their packet

100

100

80

80 PRR (%)

PRR (%)

PARK et al.: IMPROVING THE PACKET DELIVERY PERFORMANCE FOR CONCURRENT PACKET TRANSMISSIONS IN WSNS

60 40 20

0

1 2 3 Difference in Receiving Power Between Two Signals (dB)

60 40

0 4

2

3

4

5

Number of Different Concurrent Transmitters (Count)

Fig. 8. PRR observed in our wired testbed with and without FEC schemes.

Fig. 10.

PRR with increasing number of concurrent transmitters.

IV. S UMMARY

100 90 80 PRR (%)

Raw 40 Byte Packet with RS Code (40 Bytes + 20 Byte Parity) with Convolutional Code (40 Bytes + 20 Add. Bytes)

20

Raw 40 Byte Packet with RS Code (40 Bytes + 20 Byte Parity) with Convolutional Code (40 Bytes + 20 Add. Bytes)

0

61

70 60 Raw 40 Byte Packet with RS Code (40 Bytes + 20 Byte Parity) with Convolutional Code (40 Bytes + 20 Add. Bytes)

50 40 0

10

20 30 Distance Between Two Transmitters (m)

40

50

Fig. 9. PRR observed in an outdoors wireless environment with and without the use of FEC schemes while performing concurrent transmissions at two transmitters with different relative distances.

transmissions back-to-back multiple times to assure high PRR (e.g., relay counter in [5]). From a system’s perspective, the increased PRR from adopting FEC schemes directly relates to the reduction in the number of repeated transmissions for the same packet to further minimize the radio on time and conserve the limited bandwidth. Next, we validated our findings from the wired testbed using a real wireless channel in an outdoor environment. We positioned one transmitter 150 meters away from the receiver and varied the location of the second transmitter to artificially make differences in ΔRSS . Geographically, the two transmitters were located on the same side of the receiver node, but we vary the distance of one transmitter. The PRR plots in Figure 9 agree with the trend of Figure 8 in that utilizing FEC codes can significantly benefit the applicationlevel PRR. Lastly, since the evaluations so far test with two transmitters only, we now examine the effect of having more than two concurrent transmitters. Specifically, we set up an indoor testbed and issued concurrent transmission triggers to 2, 3, 4, and 5 transmitters of similar transmission power, in a 15 meter radius star topology with the receiver at the center. Figure 10 shows that as the number of concurrent transmitters of similar RSS increases, the probability of packet corruptions increases, thus, gradually decreasing the resulting PRR for raw packets. In addition, Figure 10 shows that FEC schemes improve the PRR by ∼25% across all test cases. It is important to note that while we tried to keep the RSS stable for all nodes, due to the complexity and dynamics of a real channel environment, the RSS for each node varied by ±2 dBm in some cases, which increased the PRR compared to the wired tests with ΔRSS = 0 dB. Nevertheless, these results provide us with more concrete evidence on the effectiveness of applying FEC schemes to improve the performance of systems utilizing concurrent packet transmissions.

In this letter, we investigate the characteristics of corrupted packets from concurrent transmissions, which motivate potential solutions to increase the packet reception ratio. Specifically, we show how the instability of low-cost oscillators impacts the practicality of concurrent transmissions, especially as the signal strength of multiple transmissions becomes similar. Nevertheless, our analysis reveals that a majority of the corrupted packets are recoverable using well-known FEC schemes. By implementing RS and convolutional codes on a WSN platform, we empirically show that these corrupted packets can be effectively recovered. R EFERENCES [1] Atmel, “Low Power 700/800/900 MHz Transceiver for IEEE 802.15.42006, IEEE 802.15.4c-2009, Zigbee, 6LoWPAN, and ISM Applications. Available: www.atmel.com/Images/doc8168.pdf, 2010. [2] P. Dutta, S. Dawson-Haggerty, Y. Chen, C.-J. M. Liang, and A. Terzis, “Design and evaluation of a versatile and efficient receiver-initiated link layer for low-power wireless,” in Proc. 2010 SenSys. [3] Digital Video Broadcasting (DVB); Framing structure, channel coding and modulation for digital terrestrial television. Available: http://www.etsi.org/deliver/etsi en/300700 300799/300744/01.06. 01 60/en 300744v010601p.pdf, Jan. 2009. [4] F. Ferrari, M. Zimmerling, L. Mottola, and L. Thiele, “Low-power wireless bus,” in Proc. 2012 SenSys. [5] F. Ferrari, M. Zimmerling, L. Thiele, and O. Saukh, “Efficient network flooding and time synchronization with glossy,” in Proc. 2011 IPSN. [6] Freescale Semiconductor, Reference Oscillator Crystal Requirements for the MC1320x, MC1321x, MC1322x, and MC1323x IEEE 802.15.4 Devices. Available: http://www.freescale.com/files/rf if/doc/app note/ AN3251.pdf, 2011. [7] S. G. Hong, N. S. Kim, and W. W. Kim, “Reduction of false alarm signals for PIR sensor in realistic outdoor surveillance,” ETRI J., vol. 35, no. 1, Feb. 2013. [8] IEEE Standard for Information technology – Telecommunications and information exchange between systems – Local and metropolitan area networks. Specific requirements – Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for LowRate Wireless Personal Area Networks (LR-WPANs). Available at http://www.ieee802.org/15/pub/TG4.html, May 2003. [9] J. Ko, K. Klues, C. Richter, W. Hofer, B. Kusy, M. Bruenig, T. Schmid, Q. Wang, P. Dutta, and A. Terzis, “Low power or high performance? A tradeoff whose time has come (and nearly gone),” in Proc. 2012 EWSN. [10] C.-J. M. Liang, N. B. Priyantha, J. Liu, and A. Terzis, “Surviving wi-fi interference in low power zigbee networks,” in 2010 SenSys. [11] Moteiv Corporation, Tmote Sky. Available: http://www.moteiv.com/ products/tmotesky.php. [12] Sunny Elec. Corp USA, Crystal Unit SX-32, SX-22 Datasheet. Available: http://www.sunny-usa.com/product/pdf/prod cu cu 1.pdf, 2013. [13] Texas Instruments, 2.4 GHz IEEE 802.15.4 / ZigBee-ready RF Transceiver, 2006.

Improving the Packet Delivery Performance for ... - IEEE Xplore

Abstract—In this letter, we investigate the properties of packet collisions in IEEE 802.15.4-based wireless sensor networks when packets with the same content ...

634KB Sizes 0 Downloads 241 Views

Recommend Documents

Control of Multiple Packet Schedulers for Improving QoS ... - IEEE Xplore
Abstract—Packet scheduling is essential to properly support applications on Software-Defined Networking (SDN) model. How- ever, on OpenFlow/SDN, QoS is ...

PACKET-BASED PSNR TIME SERIES PREDICTION ... - IEEE Xplore
Liangping Ma. *. , Gregory Sternberg. †. *. InterDigital Communications, Inc., San Diego, CA 92121, USA. †. InterDigital Communications, Inc., King of Prussia, ...

IEEE Photonics Technology - IEEE Xplore
Abstract—Due to the high beam divergence of standard laser diodes (LDs), these are not suitable for wavelength-selective feed- back without extra optical ...

Improving Automatic Detection of Defects in Castings by ... - IEEE Xplore
internal defects in the casting. Index Terms—Castings, defects, image processing, wavelet transform, X-ray inspection. I. INTRODUCTION. NONDESTRUCTIVE ...

Halftone-Image Security Improving Using Overall ... - IEEE Xplore
Abstract—For image-based data hiding, it is difficult to achieve good image quality when high embedding capacity and 100% data extraction are also demanded ...

Implementation and performance evaluation of TeleMIP - IEEE Xplore
Implementation and Performance Evaluation of. TeleMIP. Kaushik Chakraborty, kauchaks @ glue.umd.edu. Department of Electrical and Computer Engineering,.

wright layout - IEEE Xplore
tive specifications for voice over asynchronous transfer mode (VoATM) [2], voice over IP. (VoIP), and voice over frame relay (VoFR) [3]. Much has been written ...

Device Ensembles - IEEE Xplore
Dec 2, 2004 - time, the computer and consumer electronics indus- tries are defining ... tered on data synchronization between desktops and personal digital ...

wright layout - IEEE Xplore
ACCEPTED FROM OPEN CALL. INTRODUCTION. Two trends motivate this article: first, the growth of telecommunications industry interest in the implementation ...

Evolutionary Computation, IEEE Transactions on - IEEE Xplore
search strategy to a great number of habitats and prey distributions. We propose to synthesize a similar search strategy for the massively multimodal problems of ...

Improving IEEE 1588v2 Clock Performance through ...
provides synchronization service for the network [2]. We have previously .... SMB-6000B system with a LAN-3320A module to generate the background traffic.

The Viterbi Algorithm - IEEE Xplore
HE VITERBI algorithm (VA) was proposed in 1967 as a method of decoding convolutional codes. Since that time, it has been recognized as an attractive solu-.

I iJl! - IEEE Xplore
Email: [email protected]. Abstract: A ... consumptions are 8.3mA and 1.lmA for WCDMA mode .... 8.3mA from a 1.5V supply under WCDMA mode and.

performance of random fingerprinting codes under ... - IEEE Xplore
University of Illinois at Urbana-Champaign, USA. ABSTRACT. This paper analyzes the performance of arbitrary nonlinear collu- sion attacks on random fingerprinting codes. We derive the error exponent of the fingerprinting system, which determines the

Performance of Orthogonal Fingerprinting Codes Under ... - IEEE Xplore
Abstract—We study the effect of the noise distribution on the error probability of the detection test when a class of randomly ro- tated spherical fingerprints is used. The detection test is performed by a focused correlation detector, and the sphe

Gigabit DSL - IEEE Xplore
(DSL) technology based on MIMO transmission methods finds that symmetric data rates of more than 1 Gbps are achievable over four twisted pairs (category 3) ...

IEEE CIS Social Media - IEEE Xplore
Feb 2, 2012 - interact (e.g., talk with microphones/ headsets, listen to presentations, ask questions, etc.) with other avatars virtu- ally located in the same ...

Grammatical evolution - Evolutionary Computation, IEEE ... - IEEE Xplore
definition are used in a genotype-to-phenotype mapping process to a program. ... evolutionary process on the actual programs, but rather on vari- able-length ...