diff --git a/.codeboarding/Data_Management.md b/.codeboarding/Data_Management.md
new file mode 100644
index 00000000..58175825
--- /dev/null
+++ b/.codeboarding/Data_Management.md
@@ -0,0 +1,239 @@
+```mermaid
+
+graph LR
+
+ SpiffWorkflow_serializer_base_Serializer["SpiffWorkflow.serializer.base.Serializer"]
+
+ SpiffWorkflow_serializer_dict_DictionarySerializer["SpiffWorkflow.serializer.dict.DictionarySerializer"]
+
+ SpiffWorkflow_serializer_json_JSONSerializer["SpiffWorkflow.serializer.json.JSONSerializer"]
+
+ SpiffWorkflow_serializer_xml_XmlSerializer["SpiffWorkflow.serializer.xml.XmlSerializer"]
+
+ SpiffWorkflow_bpmn_serializer_workflow_BpmnWorkflowSerializer["SpiffWorkflow.bpmn.serializer.workflow.BpmnWorkflowSerializer"]
+
+ SpiffWorkflow_bpmn_serializer_helpers_spec_TaskSpecConverter["SpiffWorkflow.bpmn.serializer.helpers.spec.TaskSpecConverter"]
+
+ SpiffWorkflow_bpmn_serializer_helpers_spec_EventDefinitionConverter["SpiffWorkflow.bpmn.serializer.helpers.spec.EventDefinitionConverter"]
+
+ SpiffWorkflow_bpmn_serializer_default_task_spec_BpmnTaskSpecConverter["SpiffWorkflow.bpmn.serializer.default.task_spec.BpmnTaskSpecConverter"]
+
+ SpiffWorkflow_bpmn_serializer_migration_version_migration_VersionMigration["SpiffWorkflow.bpmn.serializer.migration.version_migration.VersionMigration"]
+
+ SpiffWorkflow_camunda_serializer_task_spec_UserTaskConverter["SpiffWorkflow.camunda.serializer.task_spec.UserTaskConverter"]
+
+ SpiffWorkflow_bpmn_serializer_default_event_definition_ErrorEscalationEventDefinitionConverter["SpiffWorkflow.bpmn.serializer.default.event_definition.ErrorEscalationEventDefinitionConverter"]
+
+ SpiffWorkflow_serializer_dict_DictionarySerializer -- "inherits from" --> SpiffWorkflow_serializer_base_Serializer
+
+ SpiffWorkflow_serializer_json_JSONSerializer -- "extends" --> SpiffWorkflow_serializer_dict_DictionarySerializer
+
+ SpiffWorkflow_serializer_xml_XmlSerializer -- "extends" --> SpiffWorkflow_serializer_dict_DictionarySerializer
+
+ SpiffWorkflow_bpmn_serializer_workflow_BpmnWorkflowSerializer -- "inherits from" --> SpiffWorkflow_serializer_base_Serializer
+
+ SpiffWorkflow_bpmn_serializer_workflow_BpmnWorkflowSerializer -- "utilizes" --> SpiffWorkflow_bpmn_serializer_helpers_spec_TaskSpecConverter
+
+ SpiffWorkflow_bpmn_serializer_workflow_BpmnWorkflowSerializer -- "interacts with" --> SpiffWorkflow_bpmn_serializer_migration_version_migration_VersionMigration
+
+ SpiffWorkflow_bpmn_serializer_default_task_spec_BpmnTaskSpecConverter -- "inherits from" --> SpiffWorkflow_bpmn_serializer_helpers_spec_TaskSpecConverter
+
+ SpiffWorkflow_bpmn_serializer_default_event_definition_ErrorEscalationEventDefinitionConverter -- "inherits from" --> SpiffWorkflow_bpmn_serializer_helpers_spec_EventDefinitionConverter
+
+ SpiffWorkflow_camunda_serializer_task_spec_UserTaskConverter -- "extends" --> SpiffWorkflow_bpmn_serializer_default_task_spec_BpmnTaskSpecConverter
+
+```
+
+
+
+[](https://github.com/CodeBoarding/GeneratedOnBoardings)[](https://www.codeboarding.org/demo)[](mailto:contact@codeboarding.org)
+
+
+
+## Details
+
+
+
+The `Data Management` component in `SpiffWorkflow` is primarily responsible for the serialization and deserialization of workflow, task, and specification instances, enabling the persistence and retrieval of the workflow engine's state. It is designed with modularity and extensibility in mind, allowing for various formats and BPMN extensions.
+
+
+
+### SpiffWorkflow.serializer.base.Serializer
+
+Abstract base class for serialization and deserialization operations.
+
+
+
+
+
+**Related Classes/Methods**: _None_
+
+
+
+### SpiffWorkflow.serializer.dict.DictionarySerializer
+
+Concrete implementation of Serializer for dictionary conversion.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.serializer.base.Serializer` (77:93)
+
+
+
+
+
+### SpiffWorkflow.serializer.json.JSONSerializer
+
+Serializer for converting workflow data to and from JSON strings.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.serializer.dict.DictionarySerializer` (57:545)
+
+
+
+
+
+### SpiffWorkflow.serializer.xml.XmlSerializer
+
+Serializer for converting workflow data to and from XML format.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.serializer.dict.DictionarySerializer` (57:545)
+
+
+
+
+
+### SpiffWorkflow.bpmn.serializer.workflow.BpmnWorkflowSerializer
+
+Specialized serializer for handling BPMN workflows.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.serializer.base.Serializer` (77:93)
+
+
+
+
+
+### SpiffWorkflow.bpmn.serializer.helpers.spec.TaskSpecConverter
+
+Abstract helper class for converting task specifications.
+
+
+
+
+
+**Related Classes/Methods**: _None_
+
+
+
+### SpiffWorkflow.bpmn.serializer.helpers.spec.EventDefinitionConverter
+
+Abstract helper class for converting BPMN event definitions.
+
+
+
+
+
+**Related Classes/Methods**: _None_
+
+
+
+### SpiffWorkflow.bpmn.serializer.default.task_spec.BpmnTaskSpecConverter
+
+Concrete implementation of TaskSpecConverter for standard BPMN tasks.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.serializer.helpers.spec.TaskSpecConverter` (116:226)
+
+
+
+
+
+### SpiffWorkflow.bpmn.serializer.migration.version_migration.VersionMigration
+
+Component for managing and applying migration rules to workflow data.
+
+
+
+
+
+**Related Classes/Methods**: _None_
+
+
+
+### SpiffWorkflow.camunda.serializer.task_spec.UserTaskConverter
+
+Specialized converter for Camunda-specific extensions for user tasks.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.serializer.default.task_spec.BpmnTaskSpecConverter` (56:87)
+
+
+
+
+
+### SpiffWorkflow.bpmn.serializer.default.event_definition.ErrorEscalationEventDefinitionConverter
+
+Concrete implementation of EventDefinitionConverter for error escalation events.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.serializer.helpers.spec.EventDefinitionConverter` (58:113)
+
+
+
+
+
+
+
+
+
+### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq)
\ No newline at end of file
diff --git a/.codeboarding/Framework_Utilities.md b/.codeboarding/Framework_Utilities.md
new file mode 100644
index 00000000..af457c60
--- /dev/null
+++ b/.codeboarding/Framework_Utilities.md
@@ -0,0 +1,123 @@
+```mermaid
+
+graph LR
+
+ Framework_Utilities["Framework & Utilities"]
+
+ Eventing_System["Eventing System"]
+
+ General_Utilities["General Utilities"]
+
+ Custom_Exception_Hierarchy["Custom Exception Hierarchy"]
+
+ Framework_Utilities -- "provides core services to" --> Workflow_Engine
+
+ Framework_Utilities -- "provides core services to" --> BPMN_Parser
+
+ Framework_Utilities -- "provides core services to" --> DMN_Parser
+
+ Framework_Utilities -- "provides core services to" --> BPMN_Task_Specifications
+
+ Framework_Utilities -- "provides core services to" --> Serialization_Deserialization
+
+ Framework_Utilities -- "provides core services to" --> Scripting_Engine
+
+ Framework_Utilities -- "provides core services to" --> Camunda_Integration
+
+ Framework_Utilities -- "provides core services to" --> SpiffWorkflow_Extensions
+
+ click Framework_Utilities href "https://github.com/recursionpharma/SpiffWorkflow/blob/main/.codeboarding//Framework_Utilities.md" "Details"
+
+```
+
+
+
+[](https://github.com/CodeBoarding/GeneratedOnBoardings)[](https://www.codeboarding.org/demo)[](mailto:contact@codeboarding.org)
+
+
+
+## Details
+
+
+
+The `Framework & Utilities` component serves as the foundational layer for the SpiffWorkflow engine, providing essential cross-cutting concerns that enable modularity, robust error handling, and inter-component communication. It is fundamental because it encapsulates common functionalities and architectural patterns (like Event-Driven Architecture) that would otherwise be duplicated across various parts of the system, leading to a more maintainable and extensible codebase.
+
+
+
+### Framework & Utilities [[Expand]](./Framework_Utilities.md)
+
+A foundational layer providing general-purpose utility functions, a robust internal eventing mechanism for inter-component communication, and a hierarchy of custom exceptions for robust error handling across the entire SpiffWorkflow engine.
+
+
+
+
+
+**Related Classes/Methods**: _None_
+
+
+
+### Eventing System
+
+Implements a publish-subscribe mechanism, allowing various components within the workflow engine to communicate and react to state changes or actions without direct coupling. This adheres to the Event-Driven Architecture pattern, promoting loose coupling and extensibility.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.util.event.Event` (31:244)
+
+
+
+
+
+### General Utilities
+
+Provides a collection of reusable helper functions and classes for common, non-domain-specific operations. This includes functionalities like deep merging dictionaries, filtering tasks based on various criteria, and managing weak references to callable objects, which are broadly applicable across the engine.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.util.deep_merge.deep_merge`
+
+- `SpiffWorkflow.util.task.TaskFilter` (127:175)
+
+- `SpiffWorkflow.util.weakmethod.WeakMethod` (40:88)
+
+
+
+
+
+### Custom Exception Hierarchy
+
+Defines a structured and extensible set of custom exceptions that provide specific error types for various operational and business logic failures within the SpiffWorkflow engine. This facilitates precise error identification, graceful degradation, and easier debugging.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.exceptions.SpiffWorkflowException` (19:33)
+
+- `SpiffWorkflow.exceptions.WorkflowException` (36:52)
+
+
+
+
+
+
+
+
+
+### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq)
\ No newline at end of file
diff --git a/.codeboarding/Modeling_Parsing.md b/.codeboarding/Modeling_Parsing.md
new file mode 100644
index 00000000..5bd0080d
--- /dev/null
+++ b/.codeboarding/Modeling_Parsing.md
@@ -0,0 +1,163 @@
+```mermaid
+
+graph LR
+
+ BPMN_Parser_Core["BPMN Parser Core"]
+
+ BPMN_Specification_Library["BPMN Specification Library"]
+
+ DMN_Parser["DMN Parser"]
+
+ DMN_Model_Engine["DMN Model & Engine"]
+
+ Validation_Exception_Handling["Validation & Exception Handling"]
+
+ BPMN_Parser_Core -- "Creates" --> BPMN_Specification_Library
+
+ BPMN_Parser_Core -- "Raises" --> Validation_Exception_Handling
+
+ DMN_Parser -- "Creates" --> DMN_Model_Engine
+
+ DMN_Parser -- "Raises" --> Validation_Exception_Handling
+
+ DMN_Model_Engine -- "Raises" --> Validation_Exception_Handling
+
+ BPMN_Specification_Library -- "Integrates with" --> DMN_Model_Engine
+
+```
+
+
+
+[](https://github.com/CodeBoarding/GeneratedOnBoardings)[](https://www.codeboarding.org/demo)[](mailto:contact@codeboarding.org)
+
+
+
+## Details
+
+
+
+The `Modeling & Parsing` subsystem is crucial for transforming abstract BPMN and DMN definitions into concrete, executable specifications for the workflow engine. It acts as the bridge between the human-readable models and the machine-executable processes.
+
+
+
+### BPMN Parser Core
+
+This is the primary entry point for ingesting BPMN XML files or strings. It orchestrates the parsing of various BPMN elements (processes, tasks, events, gateways) by delegating to specialized sub-parsers. It's responsible for the initial transformation of the raw XML into a structured, internal representation.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.parser.BpmnParser` (111:382)
+
+- `SpiffWorkflow.bpmn.parser.ProcessParser` (27:155)
+
+- `SpiffWorkflow.bpmn.parser.node_parser` (1:1)
+
+
+
+
+
+### BPMN Specification Library
+
+A comprehensive collection of classes that define the internal, executable representations of all BPMN elements, including processes, tasks (User, Script, Service, Multi-Instance), gateways (Exclusive, Parallel, Inclusive), events (Message, Timer, Error, Signal), and data objects. These specifications encapsulate the behavior and attributes of each BPMN element, forming the blueprint for workflow execution.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.specs.bpmn_process_spec` (1:1)
+
+- `SpiffWorkflow.bpmn.specs.bpmn_task_spec` (1:1)
+
+- `SpiffWorkflow.bpmn.specs.control` (1:1)
+
+- `SpiffWorkflow.bpmn.specs.mixins` (1:1)
+
+- `SpiffWorkflow.bpmn.specs.defaults` (1:1)
+
+- `SpiffWorkflow.bpmn.specs.event_definitions` (1:1)
+
+- `SpiffWorkflow.bpmn.specs.data_spec` (1:1)
+
+
+
+
+
+### DMN Parser
+
+Responsible for parsing DMN XML files. It extracts decision tables, input/output definitions, and rules, converting them into an internal DMN model. This parser can also be integrated with BPMN parsing, particularly for Business Rule Tasks that reference DMN decisions.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.dmn.parser.DMNParser` (37:204)
+
+- `SpiffWorkflow.dmn.parser.BpmnDmnParser` (39:123)
+
+
+
+
+
+### DMN Model & Engine
+
+This component encompasses the internal, structured representation of a DMN model (including parsed decision tables, their inputs, outputs, and defined rules) and the core logic for evaluating these decision tables. It takes input data, applies the DMN rules, and produces a decision result that can then be used to guide the workflow's progression.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.dmn.specs.model.Decision` (40:45)
+
+- `SpiffWorkflow.dmn.engine.DMNEngine` (30:150)
+
+- `SpiffWorkflow.dmn.specs.business_rule_task_mixin` (1:1)
+
+
+
+
+
+### Validation & Exception Handling
+
+A set of custom exception classes used throughout the parsing and execution phases. These exceptions are critical for signaling and reporting issues such as invalid BPMN/DMN model structures (validation errors) or failures during the execution of workflow tasks, ensuring robust error handling and clear feedback.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.parser.ValidationException` (23:51)
+
+- `SpiffWorkflow.exceptions.WorkflowTaskException` (1:1)
+
+- `SpiffWorkflow.bpmn.exceptions.WorkflowDataException` (101:111)
+
+
+
+
+
+
+
+
+
+### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq)
\ No newline at end of file
diff --git a/.codeboarding/Runtime_Services.md b/.codeboarding/Runtime_Services.md
new file mode 100644
index 00000000..d5e94800
--- /dev/null
+++ b/.codeboarding/Runtime_Services.md
@@ -0,0 +1,237 @@
+```mermaid
+
+graph LR
+
+ Runtime_Services["Runtime Services"]
+
+ Workflow_Core["Workflow Core"]
+
+ BPMN_Task_Specifications["BPMN Task Specifications"]
+
+ Python_Script_Engine["Python Script Engine"]
+
+ Task_Data_Environment["Task Data Environment"]
+
+ Expression_Operator_Base["Expression Operator Base"]
+
+ DMN_Engine["DMN Engine"]
+
+ Script_Task_Specification["Script Task Specification"]
+
+ Business_Rule_Task_Specification["Business Rule Task Specification"]
+
+ DMN_Model["DMN Model"]
+
+ Workflow_Core -- "orchestrates" --> BPMN_Task_Specifications
+
+ Workflow_Core -- "utilizes" --> Python_Script_Engine
+
+ Workflow_Core -- "utilizes" --> DMN_Engine
+
+ Python_Script_Engine -- "operates within" --> Task_Data_Environment
+
+ BPMN_Task_Specifications -- "incorporates" --> Expression_Operator_Base
+
+ Script_Task_Specification -- "invokes" --> Python_Script_Engine
+
+ Business_Rule_Task_Specification -- "invokes" --> DMN_Engine
+
+ DMN_Engine -- "processes" --> DMN_Model
+
+ click Runtime_Services href "https://github.com/recursionpharma/SpiffWorkflow/blob/main/.codeboarding//Runtime_Services.md" "Details"
+
+```
+
+
+
+[](https://github.com/CodeBoarding/GeneratedOnBoardings)[](https://www.codeboarding.org/demo)[](mailto:contact@codeboarding.org)
+
+
+
+## Details
+
+
+
+The `Runtime Services` component in `SpiffWorkflow` is crucial for enabling dynamic behavior and data manipulation within workflow tasks and DMN rules. It acts as the bridge between the static workflow definition and the live execution of code or evaluation of rules. This component embodies the "Interpreter Pattern" by providing mechanisms to interpret and execute embedded logic.
+
+
+
+### Runtime Services [[Expand]](./Runtime_Services.md)
+
+The overarching conceptual component that encompasses all capabilities for executing embedded scripts and evaluating expressions and DMN rules during workflow execution. It ensures dynamic behavior and data manipulation.
+
+
+
+
+
+**Related Classes/Methods**: _None_
+
+
+
+### Workflow Core
+
+The central orchestrator of BPMN workflows. It manages the state, execution flow, and task dispatching. It is fundamental as it drives the entire workflow process and interacts with runtime services to execute dynamic elements.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.workflow.BpmnWorkflow` (35:295)
+
+
+
+
+
+### BPMN Task Specifications
+
+The abstract base class for all BPMN task types. It defines the common structure and properties for tasks within a workflow, including those that embed scripts or DMN rules. It's fundamental as it provides the blueprint for all executable units in a BPMN process.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.specs.bpmn_task_spec.BpmnTaskSpec` (24:114)
+
+
+
+
+
+### Python Script Engine
+
+Responsible for executing Python scripts embedded within BPMN Script Tasks. It provides the environment and mechanisms for running arbitrary Python code, making it fundamental for dynamic script execution.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.script_engine.python_engine.PythonScriptEngine` (28:101)
+
+
+
+
+
+### Task Data Environment
+
+Sets up and manages the execution environment for Python scripts, providing secure access to workflow data and variables. It is fundamental for isolating script execution and providing necessary context.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.script_engine.python_environment.TaskDataEnvironment` (36:81)
+
+
+
+
+
+### Expression Operator Base
+
+The foundational class for all expression evaluation components. It defines the interface for various operators (e.g., equality, assignment, comparison) used in conditions and data manipulation throughout the workflow and DMN rules. This aligns with the "Interpreter Pattern."
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.operators.Operator` (208:252)
+
+
+
+
+
+### DMN Engine
+
+Specifically responsible for evaluating DMN (Decision Model and Notation) decision tables. It takes input data and applies the defined DMN rules to produce a decision result, integrating external decision logic into the workflow. It is fundamental for implementing business rule tasks.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.dmn.DMNEngine` (1:1)
+
+
+
+
+
+### Script Task Specification
+
+A concrete BPMN task specification that specifically handles the execution of embedded scripts. It is fundamental as it links the BPMN model to the Python Script Engine.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.specs.mixins.script_task.ScriptTask` (33:45)
+
+
+
+
+
+### Business Rule Task Specification
+
+A concrete BPMN task specification that integrates DMN decision tables. It is fundamental as it links the BPMN model to the DMN Engine for rule evaluation.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.camunda.specs.business_rule_task.BusinessRuleTask` (3:4)
+
+
+
+
+
+### DMN Model
+
+Represents the parsed structure of a DMN decision, including input, output, and decision logic. It is consumed by the DMN Engine for evaluation. It is fundamental as it defines the data structure for DMN rules.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.dmn.specs.model.Decision` (40:45)
+
+
+
+
+
+
+
+
+
+### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq)
\ No newline at end of file
diff --git a/.codeboarding/on_boarding.md b/.codeboarding/on_boarding.md
new file mode 100644
index 00000000..ab7a4fc2
--- /dev/null
+++ b/.codeboarding/on_boarding.md
@@ -0,0 +1,185 @@
+```mermaid
+
+graph LR
+
+ Workflow_Execution_Core["Workflow Execution Core"]
+
+ Modeling_Parsing["Modeling & Parsing"]
+
+ Runtime_Services["Runtime Services"]
+
+ Data_Management["Data Management"]
+
+ Framework_Utilities["Framework & Utilities"]
+
+ Workflow_Execution_Core -- "consumes" --> Modeling_Parsing
+
+ Workflow_Execution_Core -- "invokes" --> Runtime_Services
+
+ Workflow_Execution_Core -- "persists/retrieves" --> Data_Management
+
+ Workflow_Execution_Core -- "utilizes" --> Framework_Utilities
+
+ Modeling_Parsing -- "provides" --> Workflow_Execution_Core
+
+ Modeling_Parsing -- "uses" --> Runtime_Services
+
+ Modeling_Parsing -- "leverages" --> Framework_Utilities
+
+ Workflow_Execution_Core -- "executes" --> Runtime_Services
+
+ Runtime_Services -- "provides evaluation to" --> Modeling_Parsing
+
+ Data_Management -- "persists/retrieves state for" --> Workflow_Execution_Core
+
+ Data_Management -- "serializes" --> Modeling_Parsing
+
+ Framework_Utilities -- "provides services to" --> Workflow_Execution_Core
+
+ Framework_Utilities -- "supports" --> Modeling_Parsing
+
+ click Modeling_Parsing href "https://github.com/recursionpharma/SpiffWorkflow/blob/main/.codeboarding//Modeling_Parsing.md" "Details"
+
+ click Runtime_Services href "https://github.com/recursionpharma/SpiffWorkflow/blob/main/.codeboarding//Runtime_Services.md" "Details"
+
+ click Data_Management href "https://github.com/recursionpharma/SpiffWorkflow/blob/main/.codeboarding//Data_Management.md" "Details"
+
+ click Framework_Utilities href "https://github.com/recursionpharma/SpiffWorkflow/blob/main/.codeboarding//Framework_Utilities.md" "Details"
+
+```
+
+
+
+[](https://github.com/CodeBoarding/GeneratedOnBoardings)[](https://www.codeboarding.org/demo)[](mailto:contact@codeboarding.org)
+
+
+
+## Details
+
+
+
+High-level data flow overview of the SpiffWorkflow project, a Workflow Engine / Business Process Management (BPM) System, structured around its core architectural components.
+
+
+
+### Workflow Execution Core
+
+The central orchestrator responsible for executing workflows, managing the state of workflow instances and their tasks, and driving the overall process progression. It dispatches tasks to appropriate handlers and manages data flow within the workflow.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.workflow` (1:1)
+
+- `SpiffWorkflow.task` (1:1)
+
+
+
+
+
+### Modeling & Parsing [[Expand]](./Modeling_Parsing.md)
+
+Handles the parsing, validation, and internal representation of both BPMN (Business Process Model and Notation) and DMN (Decision Model and Notation) definitions. It transforms XML models into executable specifications for the workflow engine.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.parser` (1:1)
+
+- `SpiffWorkflow.bpmn.specs` (1:1)
+
+- `SpiffWorkflow.dmn.engine` (1:1)
+
+- `SpiffWorkflow.dmn.parser` (1:1)
+
+- `SpiffWorkflow.dmn.specs` (1:1)
+
+
+
+
+
+### Runtime Services [[Expand]](./Runtime_Services.md)
+
+Provides capabilities for executing embedded scripts and evaluating expressions within workflow tasks and DMN rules. This component ensures dynamic behavior and data manipulation during workflow execution.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.bpmn.script_engine` (1:1)
+
+- `SpiffWorkflow.operators` (1:1)
+
+
+
+
+
+### Data Management [[Expand]](./Data_Management.md)
+
+Manages the serialization and deserialization of workflow, task, and specification instances to and from various persistent formats (e.g., JSON, XML, dictionary). It enables saving and loading the workflow engine's state.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.serializer` (1:1)
+
+- `SpiffWorkflow.bpmn.serializer` (1:1)
+
+- `SpiffWorkflow.dmn.serializer` (1:1)
+
+- `SpiffWorkflow.camunda.serializer` (1:1)
+
+- `SpiffWorkflow.spiff.serializer` (1:1)
+
+
+
+
+
+### Framework & Utilities [[Expand]](./Framework_Utilities.md)
+
+A foundational layer providing general-purpose utility functions, a robust internal eventing mechanism for inter-component communication, and a pluggable architecture for extending SpiffWorkflow's core capabilities with custom elements or vendor-specific integrations (e.g., Camunda). It also defines a hierarchy of custom exceptions for robust error handling.
+
+
+
+
+
+**Related Classes/Methods**:
+
+
+
+- `SpiffWorkflow.util` (1:1)
+
+- `SpiffWorkflow.camunda` (1:1)
+
+- `SpiffWorkflow.spiff` (1:1)
+
+- `SpiffWorkflow.exceptions` (1:1)
+
+
+
+
+
+
+
+
+
+### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq)
\ No newline at end of file