Routing in mobile ad hoc networks (MANETs),
where network topology is potentially highly dynamic, is not a trivial task.
Routing protocols have been profoundly researched but
only four of them have reached RFC status (AODV, OLSR, TBRPF and DSR).
Simulation is the tool of choice to test and analyze routing protocols in a
controlled environment, however, its credibility has decreased due to
simulations being poorly performed and the inaccurate
match of performance results with the results obtained from real test-bed
deployments. One of the reasons for that is that simulation studies do not
always correctly reflect the physical realities. On the other hand, the
constantly increasing network requirements in terms of bandwidth, robustness,
reliability and quality of service for a broad range of multiplatform scenarios
demand for fast development and implementation of routing protocols that
satisfy specific user requirements. However, current practices for protocol
development and implementation are costly and time-consuming, especially when
existing knowledge is not properly reused. Generative
Programming is an attractive solution that makes use of reusable components and
is also powered with the knowledge to automatically
assemble them. This thesis analyzes the problem of developing ad hoc routing
protocols, proposes an approach to automate the development process, and
discusses in detail the design and the steps to build the GP-Pro protocol
generator. GP-Pro is based on Generative Programming
and automatically generates ad hoc routing protocols according to user
requirements, which are expressed by means of a specification language. GP-Pro is designed with the explicit goal of generating a large
number of different protocols by different component combinations and it
addresses the generation of proactive, reactive and position-based routing
protocols ready for deployment.
To demonstrate the capabilities of GP-Pro, we
generated deployable implementations of the reactive protocol DYMO, the
proactive protocol OLSR and the position-based protocol GREEDY. It took about 8
months to develop GP-Pro and to generate the first protocol (DYMO), but just
about a week to generate the third protocol (GREEDY). The more components are
available, the faster the implementation can be achieved.
Therefore, generation time is considerably reduced.
Through performance evaluation over real networks, we show that the generated
protocols perform very closely to their handcrafted counterparts.
This research work provides the following contributions: 1) A domain specific
protocol architecture; 2) A component interconnection model; 3) A robust
protocol specification mechanism; 4) GP-Pro the software tool and; 5) Further
insights in related fields.