Deterministic Business Process Runtime

When Finite State Machine, BPUA, and POCO DataSet converge

Most enterprise applications are built around controllers, services, repositories, and databases. The execution flow is procedural, state is often hidden, and process behavior emerges from distributed code paths.

BPUA introduces a different model.

By combining:

the architecture evolves into something more than an application framework.

It becomes a Deterministic Business Process Runtime.

Traditional enterprise execution model

Controller
   ↓
Service
   ↓
Repository
   ↓
Database

Execution flow is implicit. State is usually scattered across database flags, UI variables, sessions, and service internals.

BPUA execution model

Request
   ↓
Transition Request
   ↓
State Machine
   ↓
Current State Handler
   ↓
Transition Handler
   ↓
Execution Pipeline
   ↓
Next State

Everything important is explicit: current state, requested transition, business context, and transition history.

Deterministic Execution and Replayability

For the same inputs, the same outputs are produced:

(CurrentState, TransitionRequest, DataSet) → NextState

A business process instance can be replayed deterministically:

Why POCO DataSet changes everything

All process context data travels inside one portable object: IDataSet:

Distributed execution without DTO explosion

No repetitive DTO creation. No mapping chains. No reconstruction of context. The same IDataSet goes as transition data context through the chain of application layers:

State Logic → Business Logic → Data Processing Logic → Data Access Logic

Auditability

BPUA request metadata forms a logical call stack capturing who called whom, which transition was requested, and from which application layer.

Business Process Suspension and Resumption

Because IDataSet is serializable, business process execution can be suspended, saved, and resumed later even on another machine.

Deterministic debugging

A production issue can be reproduced from a serialized process snapshot without reconstructing the full environment.

Process isolation

Each process instance owns its own state and context. No hidden globals. No ambient state.

A business process as a runtime object

A business process is no longer just code or data. It becomes an executable runtime object:

Process = State + Data + Transition History

Conclusion

BPUA transforms enterprise application architecture into an executable deterministic business process runtime:

Use Case = State Machine + Transition Pipeline + Portable Process Context + Deterministic Routing

 

Table of Content BPUA Chapter Previous: Relationship with POCO DataSet

 


Business Process Programming in .Net
© 2004-2026 Laskarzhevsky Software Inc.
Unless otherwise noted, the content of this website is licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).
Code examples are provided under the MIT License.
You are free to share and adapt the material provided that appropriate credit is given and any modifications are clearly indicated.
The information provided on this website is for educational purposes only.
The author and publisher make no warranties regarding the completeness or suitability of the information and are not responsible for any damages resulting from its use.