Author: The Reowolf Team
Time Modulation Protocol: a ‘Killer App’ for Reowolf?
During the execution of the Reowolf project over the past years, we have discovered a deep and interesting technique, that we would like to share with the wider community. Over the course of the past months, we assembled a small team (comprising Dalia Papuc, Benjamin Lion, Hans-Dieter Hiep) and intensively worked together to create a […]
Consensus Algorithm (version 2.x)
Introduction For all of the reasons described in the previous consensus algorithm, speculative execution was removed from the runtime. This greatly simplifies the consensus algorithm. In fact, there isn’t much need for a consensus algorithm anymore, apart from some edge cases. Hence the fork statement is gone from the language. Most of this document will […]
Consensus Algorithm (version 1.x)
Introduction The previous consensus algorithm (the one within Reowolf 1.0 and 1.1) had support for speculative execution. This means that the user may (directly or indirectly) fork the execution of a component. That particular execution (which may be a forked execution already) then becomes >1 executions. At some point a component will have to choose […]
Runtime Design (version 2.x)
General Architecture Roughly speaking the project consists of the following parts: The compiler itself. This transforms the PDL source code into an executable format. The interpreter. This takes the executable format and executes it. It is a very unoptimized AST walker based on stack frames. Generally speaking the bottommost frame in the stack contains the […]
Reowolf 2.0: Release Notes
We are happy to release version 2 of the Reowolf project. This version introduces many new features: a select statement, run-time error handling, dynamic port hand-off, native TCP components and detailed project documentation. This post summarizes the most important features, and further lays out the vision we have for the future of Reowolf. This release […]
Reowolf: Executable, Compositional, Synchronous Protocol Specifications
We submitted an article to the PLDI 2022 conference, but unfortunately the article was rejected. The version we submitted can be accessed in full below. We found the reviews very helpful for improving our article (and project!) over time. For full disclosure, here are a couple of the reviews we received. Review 1 Overall merit: […]
Reowolf 1.2: Release Notes
We are happy to release this milestone of the Reowolf project: Reowolf version 1.2. This is an alpha release. The milestone improves the concurrency of the Protocol Description Language (PDL) run-time interpreter. This post summarizes the improvements, and further lays out the milestones we will be working on next. This release is sponsored by the […]
Reowolf 1.1: Release Notes
We are happy to release this milestone of the Reowolf project: Reowolf version 1.1. This is an alpha release. The milestone improves the structural aspects of Protocol Description Language (PDL), which increases the declarative aspects of protocol descriptions needed for modeling Internet protocols (e.g. TCP, UDP, ICMP, DNS). This post summarizes the improvements, and further […]
Reowolf 1.0 Project Code and Documentation
The Reowolf 1.0 project files are released on Zenodo. The project documentation (technical report) is available at CWI’s Institutional Repository.