Deterministic Business Process Runtime
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.
Controller ↓ Service ↓ Repository ↓ Database
Execution flow is implicit. State is usually scattered across database flags, UI variables, sessions, and service internals.
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.
For the same inputs, the same outputs are produced:
(CurrentState, TransitionRequest, DataSet) → NextState
A business process instance can be replayed deterministically:
All process context data travels inside one portable object: IDataSet:
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
BPUA request metadata forms a logical call stack capturing who called whom, which transition was requested, and from which application layer.
Because IDataSet is serializable, business process execution can be suspended, saved, and resumed later even on another machine.
A production issue can be reproduced from a serialized process snapshot without reconstructing the full environment.
Each process instance owns its own state and context. No hidden globals. No ambient state.
A business process is no longer just code or data. It becomes an executable runtime object:
Process = State + Data + Transition History
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.