Category: Documentation
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 […]