Paraflow
Durable, Resilient, Long-Running Workflows — Without the Boilerplate
Building complex workflows in imperative code is hard — especially when they need to run for days, weeks, or months, and survive crashes or restarts. Paraflow is purpose-built for this challenge. Instead of writing step-by-step instructions, you describe workflows in terms of rules and goals in a clear, declarative language. Paraflow automatically persists state, resumes execution after failure, and handles rollback with compensating actions across even the most complex plans. The result: workflows that are safer, easier to write, and closer to the way business processes are actually described.
A persistent, goal-oriented programming language for actors, enabling hierarchical planning using HGTs, distributed reasoning, and workflow management. We developed Paraflow to emulate how people work. No matter what the job or role is, people always do some or all the following.
- Plan
- Set Goals to achieve the plan using rules
- Respond to events
- Reason about what to do in various circumstances and conditions
- Execute or delegate tasks
- Keep track of what has been done, what is being done, and what needs to be done
- Make skills known to others in a work group
This is not what C, JavaScript, Python or any language does by design. Paraflow is a new language type for autonomous computing that implements a mythology that reflects how people work since people are autonomous workers with skills that collaborate.
C, JavaScript, Python and all systems, functional, object-oriented, and procedural languages are computationally expressive and meet the criterion of being “Turing Complete” languages. Paraflow is a Domain Specific Language (DSL) designed for autonomous programming. It is intentionally non-Turing complete in that its purpose is to enable developers (and AI code generators) to build deterministic, safe, interpretable, and bounded execution. For autonomous computing, predictable outcomes are essential.
Putting Paraflow as an actor (instance) on a network enables the network (other actors) to query the language itself: “what are you doing right now?”. It is interpretable because it can tell you.
Given its persistent nature using a state machine and rules, it is resilient. If power is lost or a node crashes, the actor state is preserved across time. If a robot crashes that is running Paraflow, it does not have to restart and rerun its programs like it must for all other languages. Paraflow remembers where it was.
Also, Paraflow-based actors can call each other due to the dynamic nature of the language and the network.
These traits are not in the design of existing languages. However, Paraflow easily and naturally allows code of any language to be used for execution bodies outside of Paraflow by actorizing them as well as APIs, applications, agents, etc.
Within a Paraflow program is a declaration of a state machine. It’s a data schema (DDL such as create table, etc.) that describes the data states needed to track for the planner. HGTs are a core construct used to enable actors to plan and execute tasks autonomously with distributed determinism. These trees can structure operational objectives into a nested hierarchy of goals and sub-goals, allowing actors to reason, prioritize, and adapt in a networked, autonomous computing environment.