The thesis focuses on the design and implementation of a declarative network programming system, which offers a platform on which to do rapid prototyping of new protocols and applications. First, the thesis introduces a declarative network programming language, Netlog, which extends classical techniques developed in the field of deductive databases to handle the communication and the distribution of the computation. It enjoys a semantics which is mathematically founded, and allows more reliable and secure programs. Secondly, the thesis introduces the Netquest Toolkit through which the Netlog program can be compiled, executed, and simulated. The Netquest System which executes the Netlog program is the core component of the toolkit and is implemented on top of a DBMS. It can run on heterogeneous architectures and networks provided the terminals are powerful enough to support an embedded DBMS. A Netlog program is first translated into SQL Queries by the compiler. After compilation, the Engine of the Netquest System calls the DBMS to evaluate the SQL queries. In order to improve the efficiency of the evaluation, optimizations which reduce the redundant computation and communication has been implemented in the compiler. Finally, the Netquest System is validated through simulation and testbed deployment. Two simulation platforms have been built. One is based on the simulator, WSNet; the other is based on OS threads. iMote devices have been used in the testbed. My main contributions are the design and the implementation of the simulation platform based on the simulator and the compiler.
修改评论