Skip to content
sat edited this page Aug 12, 2026 · 27 revisions

dot2net Wiki

Welcome to the dot2net documentation. dot2net implements Topology-driven Configuration that separates network topology from configuration settings, automatically generating all device configurations from a simple topology graph (DOT) and reusable templates (YAML).

📖 Documentation

Getting Started

  • Upgrading to 0.8.0 - What changes for a scenario written for 0.7.x
  • Tutorial - Installation, basic usage, and first steps with dot2net
  • Basic Concepts - Topology-driven configuration principles and architecture

Core Specification

Modules

Writing a scenario well

  • Best Practices - How to design a scenario, what multi-host asks of it, and what to do when something is wrong

🔧 Developer Documentation

  • Architecture Overview - Packages, the path from DOT to generated files, and the module system's place in it
  • NetworkModel Design - The objects the model is built from, and the interfaces they implement
  • FormatStyle Design - The two-phase formatting that keeps control syntax out of templates
  • Module Development - Writing a module: the interfaces, when each runs, and what a module may say to a scenario
  • Development Guide - Building, testing, releasing, and how to contribute

🤝 Community

📚 Academic Publications

dot2net has been published and demonstrated in peer-reviewed academic venues:

IEEE Transactions on Network and Service Management (2025)

"Topology-Driven Configuration of Emulation Networks With Deterministic Templating" Satoru Kobayashi, Ryusei Shiiba, Shinsuke Miwa, Toshiyuki Miyachi, Kensuke Fukuda DOI: 10.1109/TNSM.2025.3582212

CNSM 2023

"dot2net: A Labeled Graph Approach for Template-Based Configuration of Emulation Networks" Satoru Kobayashi, Ryusei Shiiba, Ryosuke Miura, Shinsuke Miwa, Toshiyuki Miyachi, Kensuke Fukuda DOI: 10.23919/CNSM59352.2023.10327865

Citation Information

If you use dot2net in your research, please consider citing our work:

@article{Kobayashi_dot2net2025,
    author={Kobayashi, Satoru and Shiiba, Ryusei and Miwa, Shinsuke and Miyachi, Toshiyuki and Fukuda, Kensuke},
    journal={IEEE Transactions on Network and Service Management},
    title={Topology-Driven Configuration of Emulation Networks With Deterministic Templating},
    volume={22},
    number={5},
    pages={3933-3946},
    year={2025},
    doi={10.1109/TNSM.2025.3582212}
}

@inproceedings{Kobayashi_dot2net2023,
    author={Kobayashi, Satoru and Shiiba, Ryusei and Miura, Ryosuke and Miwa, Shinsuke and Miyachi, Toshiyuki and Fukuda, Kensuke},
    booktitle={19th International Conference on Network and Service Management (CNSM)},
    title={dot2net: A Labeled Graph Approach for Template-Based Configuration of Emulation Networks},
    pages={1-9},
    year={2023},
    doi={10.23919/CNSM59352.2023.10327865}
}

About This Wiki

This wiki documentation has been primarily generated using AI assistance (Claude Code) to provide comprehensive and up-to-date information about dot2net. The content is continuously being updated and improved. If you find missing information or have suggestions, please feel free to contribute!

License

This documentation is part of the dot2net project and is licensed under the Apache License 2.0.

Copyright 2022 Satoru Kobayashi

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Clone this wiki locally