This compiler is designed for translating AppNet specifications into optimized, deployable data plane programs. For more information, refer to our HotNets paper and the talk.
See compiler README for usage.
- mRPC
- Envoy (via Proxy WASM Rust SDK)
- gRPC (via Interceptors)
- In progress
Repo Root
|---- examples
|---- graph # Example Graph Specifications
|---- element # Example Element Specifications
|---- compiler # Compiler source code
|---- docs # Miscellaneous docs
|---- element # Source code for the element compiler
|---- backend # Source code for backend (code generation)
|---- frontend # Source code for frontend (parse tree and IR generation)
|---- optimize # Source code for various IR optimizations
|---- props # Source code for property analyzer
|---- graph # Source code for the graph compiler
Please consider citing our paper if you find AppNet related to your research.
@inproceedings{applicationdefinednetworks,
title={Application Defined Networks},
author={Zhu, Xiangfeng and Deng, Weixin and Liu, Banruo and Chen, Jingrong and Wu, Yongji and Anderson, Thomas and Krishnamurthy, Arvind and Mahajan, Ratul and Zhuo, Danyang},
booktitle={Proceedings of the 22nd ACM Workshop on Hot Topics in Networks},
pages={87--94},
year={2023}
}
If you have any questions or comments, please get in touch with Xiangfeng Zhu (xfzhu@cs.washington.edu).