• Aucun résultat trouvé

Data communications protocols govern the way in which electronic systems exchange information by specifying a set of rules that, when followed, provide a consistent, repeatable, and well-understood data transfer service. In designing communication protocols and the systems that implement them, one would like to ensure that the protocol is correct and efficient. Correctness means that the rules of exchange are internally consistent and unambiguously handle all possible events.

Informally, we wish to know that the protocol is free from unwanted behavior, such as deadlock, and that it can indefinitely provide data transfer service under any input sequence. These correctness properties are only part of the design problem: it is equally important to guarantee that the protocol is efficient.

Efficiency, used here to indicate how well a given protocol performs relative to an implementation with unconstrained complexity, is a much more difficult property

which the protocol is to be used and upon the services that the protocol is supposed to provide. Throughput, delay, channel utilization, spectral efficiency, and end-to-end distortion are but a few of the measures commonly used to compare alternatives in protocol design. The underlying question is “all constraints considered, is there a better approach that provides the same service?”

In practice, most new protocol designs are approached in an ad-hoc fashion that relies heavily on simulation to answer both the question of correctness and efficiency. Formal approaches such as formal specification and formal verification are usually relegated to the domain of theorists. This thesis, in contrast, addresses the problem of integrating formal methods within a comprehensive design flow.

The context for the protocol design methodology is link-level communication protocols for wireless networks that provide multimedia services to mobile users, such as the one described in example system of Chapter 2. (In particular, infrastructure-based networks that support mobile clients are considered;

challenges specific to peer-to-peer communication between mobile hosts are not addressed). Portable devices, in this context, have severe constraints on the size, the power consumption, and the communications bandwidth available, and are required to handle many classes of data transfer service over a limited-bandwidth wireless connection, including delay sensitive, real-time traffic such as speech and video. This combination of limited bandwidth, high error rates, and delay-sensitive data requires tight integration of all subsystems in the device, including aggressive optimization of the communication protocols to suit the intended application. The protocols must be robust in the presence of errors; they must be able to differentiate between classes of data, giving each class the exact service it requires;

and they must have an implementation suitable for low-power portable electronic devices.

There are at least four aspects of this protocol design problem that make it both challenging and interesting. The first is common to all protocol designs: because designing a protocol involves reasoning about a distributed system, the designer must be able to conceptualize and model the interaction between independent actors. Within the context of infrastructure-based mobile networking the problems are particularly challenging because despite the best intentions of the actors, it cannot be assumed that the physical link even exists! Obviously, design language and modeling tools must handle concurrency, asynchrony, and interprocess communication, yet the breadth of ongoing work on concurrent systems attests to the challenges that remain to be solved to find the “right” language for protocol design.

The second aspect is the particular class of protocols: data link protocols. Data link protocols are usually divided into two main functional components, the logical link control (LLC) and the media access control (MAC), that are responsible for providing (1) a point-to-point packet transfer service to the network, and (2) a means by which multiple users can share the same physical transmission medium. Since it must interact both with network-level services and the physical transmission medium, the data link protocol spans several levels of service abstraction and several orders of magnitude in time granularity. This complicates modeling, simulation, and formal analysis because no single design language is capable of working well across so many levels of abstraction and across so many levels of time. Synchronous languages, such as Esterel and SMV, are appropriate for

model distributed systems that exchange messages asynchronously. Formal description languages like SDL solve the problem of distributed, asynchronous systems, but are inadequate for use in describing detailed behavior of synchronous circuits that are typical in modem interface hardware.

The third design challenge is the difficulty of obtaining performance estimates for media access and physical layer protocols for wireless networks. Because the users are mobile and the communications channel is highly time-varying, estimates of error rates and coding performance are largely dependent upon the traffic patterns of other users, the modulation scheme used, and the extent to which the channel changes with time. Developing realistic statistical models for traffic patterns, channel noise and interference, and for the time-varying wireless channel are essential to the design of good protocols. Obtaining experimental data that gives the designer insight about the time-varying statistics of the wireless channel is still a subject of active research. One approach to using experimental data to characterize the time statistics of an indoor wireless link is presented in Appendix A.

The fourth aspect is the design context itself: the combination of wireless communications and portable devices. Taken in isolation, each of these presents a rich basis for new approaches to solving mature problems. Taken together, they offer the chance to completely rethink classical approaches to communication, networking, computing, and system design. It is this aspect which provides the greatest opportunity for technical contributions because designs must be approached with a holistic view, rather than by composition of individually optimized subsystems.

Data communications networks have historically been limited to fixed-wire networks: wireless media was utilized in very specialized applications, such as military tactical networks or communication with satellites, with few real-time applications. Most protocol design methodologies implicitly assume an environment that is static, and thus radically different than wireless. It is only in the last decade that wireless communications has completely pervaded modern life, and in doing so has made relevant the question of a design methodology that considers the particular problems and opportunities that are present in this context.

The primary goal of this thesis is to identify how the demanding requirements for high-bandwidth, low-latency wireless communication for portable devices requires a complete rethinking of the methodology for designing these systems; the methodology presents one approach to integrating specification, formal verification, performance simulations, and a path to implementation.