Posts by The Reowolf Team

Author: The Reowolf Team

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 […]