Computer Laboratory Systems Research Group

Project DDDN: Data Driven Declarative Networking

Project DDDN













This project is a joint project between the Computer Laboratory and Microsoft Research Cambridge.

Demand on programming distributed systems in dynamic mobile networks as versatile services in urban environments across multiple market segments is increasing, but it is challenging to provide a programming paradigm that supports complex programming in such dynamic partitioned network environments. Moreover, deploying applications raises complex issues (e.g. loss of privacy, restricted power resource). The intersection between networking and programming languages is an emerging active research topic in this context, and it is crucial for us to explore new and alternative programming paradigms in the networking space that allow the use of future emerging networks. This approach can be applied not only mobile dynamic networks but dynamic cloud based distributed computing environements. The DDDN project aims at addressing these issues by introducing a declarative networking programming paradigm for data centric networking environments, i.e. Data Driven Declarative Networking (DDDN), where communication resources are managed together with network connectivity. It includes provision of an expressive language for building applications for distributed computation, where awareness of resource constraint is added in the language. DDDN will be implemented in a functional language that provides an intermediate abstraction between implementation detail and reasoning about logic flow. DDDN implementation targets mainstream functional languages (e.g. F#, OCaml, ML), including verification and compiler construction targeting to various platforms in mobile devices (e.g. Windows, Android). Cross
layer optimisation of DDDN and platform would be integrated.

This project includes following research topics:

  1. Integration of Parallel Computation
  2. Declarative Networking: Integration of Functions into Logic Programming
  3. Linking to Programming for Cloud Computing

 Source Code Repository


 Related Publications

  • E. Yoneki, I. Baltopoulos and J. Crowcroft D^3N: Programming Distributed Computation in Pocket Switched Networks.  ACM MOBIHELD at SIGCOMM, 2009  (PDF version).
  • D. Murray, E. Yoneki, J. Crowcroft and S. Hand  The Case for Crowd Computing.  ACM MOBIHELD at SIGCOMM,  2010  (PDF version).
  • K. Nilakant, J. Crowcroft and E. Yoneki  Mistify: Augmenting Cloud Storage With Delay-Tolerant Cooperative Backup.  IEEE International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob), Barcelona, Spain, October, 2012 (PDF).


  • karthik Nilakant

  • Christos Gkantsidis (MSR)

  • Eiko Yoneki

Contact Email

Please email to