Skip to content

Add Engineering Decision Support Framework for Control Room Operators#2088

Open
EvenSol wants to merge 1 commit into
masterfrom
feature/decision-support-framework
Open

Add Engineering Decision Support Framework for Control Room Operators#2088
EvenSol wants to merge 1 commit into
masterfrom
feature/decision-support-framework

Conversation

@EvenSol

@EvenSol EvenSol commented Apr 20, 2026

Copy link
Copy Markdown
Collaborator

Add Engineering Decision Support Framework for Control Room Operators

Summary

Adds a new neqsim.process.decisionsupport package that enables control room operators to ask structured engineering questions and receive auditable, simulation-backed recommendations. Every recommendation is produced by cloning and running a validated NeqSim process model — not heuristics or lookup tables.

Example operator questions:

  • "Can we increase rate to 6000 kg/hr with today's gas quality?"
  • "What is the safest derate option right now?"
  • "Are we meeting sales gas spec?"
  • "What happens if we change compressor discharge pressure to 150 bara?"

Architecture

OperatorQuery  ──▶  DecisionSupportEngine  ──▶  EngineeringRecommendation
                      │                              │
                      ├─ clones ProcessSystem         ├─ verdict (FEASIBLE / NOT_FEASIBLE / ...)
                      ├─ dispatches QueryWorkflow     ├─ findings with severity
                      └─ logs AuditRecord             ├─ constraint check results
                                                      ├─ derate options (ranked)
                                                      └─ confidence score

Files Added

  • 12 core framework files — OperatorQuery, EngineeringRecommendation, DecisionSupportEngine, OperatingSpecification, QueryWorkflow, AuditLogger/Record, GsonFactory, etc.
  • 6 workflow implementations — RateChangeFeasibility, GasQualityImpact, DerateOptions, EquipmentStatus, ProductSpecCheck, WhatIf
  • 2 test files (23 tests) — DecisionSupportModelTest (16 unit tests), DecisionSupportIntegrationTest (7 integration tests)
  • 1 documentation file — docs/process/decision-support.md

Key Design Decisions

  • Company-independent — Plant limits loaded from JSON via OperatingSpecification
  • Stateless per query — ProcessSystem cloned per evaluation
  • Java 8 compatible — No Java 9+ features
  • Leverages existing APIs — ProcessSystem.copy(), findBottleneck(), ProcessAutomation

No new dependencies

Uses only existing: gson, commons-lang3, log4j-api

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant