Simulation data management workflow not advancing after simulation run in tc-12.3

Our simulation data management workflows in tc-12.3 aren’t advancing after simulation runs complete. When simulation results are uploaded, the workflow should automatically move to the review stage, but it stays stuck at the “Awaiting Results” task. The workflow-engine shows the process as active, but no progression happens even though simulation-run data is successfully attached to the dataset.

Workflow state:


Task: Await_Simulation_Results
Status: IN_PROGRESS
Attachments: simulation_results.dat (uploaded)
Next Task: Engineering_Review (not triggered)

The event-mapping for simulation completion events seems correct in the template, but something’s not connecting. This blocks-review processes for critical analysis workflows. Has anyone debugged similar workflow-engine issues with simulation data triggers?

Check if your simulation-run completion is actually generating the expected event. The workflow might be waiting for a specific event type that’s not being fired when results are uploaded. Look at your event subscriptions for simulation dataset modifications and verify they’re properly configured to trigger workflow transitions.

I’ve debugged this exact workflow-not-advancing scenario with simulation data workflows in tc-12.3 multiple times. The issue spans all three areas you’ve identified and requires a comprehensive fix.

Workflow Engine Event Handling: First, verify that your workflow-engine is properly configured to handle simulation dataset events. Check the event processing configuration:


wt.workflow.eventProcessing.enabled=true
wt.workflow.eventProcessing.simulationEvents=true

Simulation Run Event Detection: The core issue is usually that simulation-run completion doesn’t generate the event the workflow expects. Verify what event is actually being fired:


// Check audit log for simulation dataset
AuditRecord[] records = AuditHelper.service.getAuditRecords(dataset);
// Look for event type when results uploaded

In tc-12.3, simulation dataset attachment fires a “DatasetModified” event, not a “SimulationComplete” event. Your workflow’s event-mapping might be listening for the wrong event type.

Event Mapping Configuration: Update your workflow template’s event handler for the Await_Simulation_Results task:


// Pseudocode - Correct event mapping setup:
1. Define event handler for Await_Simulation_Results task
2. Set event type to DatasetModified (not SimulationComplete)
3. Add filter condition: dataset.type equals "SimulationResults"
4. Add validation: dataset.attachments.count > 0
5. Configure transition action to advance to Engineering_Review task
// See TC Workflow Designer Guide Section 5.7

Critical Fix - Event Handler Implementation: The Await_Simulation_Results task needs a properly configured signal event handler:


<SignalEventHandler>
  <EventType>DatasetModified</EventType>
  <EventFilter>
    <AttributeFilter name="type" value="SimulationResults"/>
  </EventFilter>
</SignalEventHandler>

Completion Criteria: Add explicit completion criteria to your waiting task. The workflow should check:

  1. Dataset has attached files
  2. Dataset status is “Complete”
  3. Required metadata fields are populated

Implement this in your workflow template’s transition condition:


Dataset ds = (Dataset) workItem.getAttachment("simulation_results");
if (ds.getStatus().equals("Complete") && ds.getFileCount() > 0)
  return true;

Event Subscription Priority: Ensure your workflow’s event subscription has appropriate priority:


EventSubscription sub = // get workflow subscription
sub.setPriority(EventSubscription.PRIORITY_HIGH);
PersistenceHelper.manager.modify(sub);

Lower priority subscriptions might be consumed by other handlers before reaching your workflow.

Alternative Approach - Polling: If event-based triggering remains unreliable, implement a polling mechanism:


<TimerEvent interval="300000"> <!-- 5 minutes -->
  <CheckCondition>
    // Check if simulation results exist and are complete
  </CheckCondition>
</TimerEvent>

This ensures the workflow advances even if events are missed.

Testing Procedure:

  1. Enable workflow and event debug logging
  2. Upload simulation results to a test workflow instance
  3. Monitor MethodServer logs for DatasetModified event
  4. Verify workflow event handler receives the event
  5. Check that transition conditions evaluate correctly
  6. Confirm workflow advances to Engineering_Review task

Additional TC-12.3 Consideration: There’s a timing issue where dataset events fire before file attachments are fully committed. Add a small delay or validation check:


// In your event handler
Thread.sleep(5000); // Wait for file commit
// Then check dataset.getFileCount()

After implementing these changes, redeploy your workflow template and test with a new simulation run. The workflow should now properly detect simulation-run completion and advance automatically, resolving your blocks-review issue.

Look at your workflow’s signal/event handler configuration for the Await_Simulation_Results task. This type of waiting task typically uses an event handler to detect when to proceed. If the handler isn’t properly registered with the workflow-engine, or if there’s a mismatch between the event type it’s listening for and what the simulation-run actually generates, the workflow will stay stuck indefinitely.