Class RealTimeRiskMonitor
java.lang.Object
neqsim.process.safety.risk.realtime.RealTimeRiskMonitor
- All Implemented Interfaces:
Serializable, Runnable
Real-time Risk Monitor for Digital Twin Integration.
Provides continuous risk monitoring for process systems, enabling integration with digital twin platforms, SCADA systems, and control room displays. Features include:
- Continuous risk assessment with configurable update intervals
- Risk trend tracking and anomaly detection
- Alert generation for risk threshold breaches
- REST API-compatible data formats for dashboard integration
- Support for multiple monitoring points across a process
- Version:
- 1.0
- Author:
- NeqSim Development Team
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceInterface for alert listeners.static classAlert thresholds configuration.static classEquipment-specific risk status.static classRisk alert generated by monitor. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate List<RealTimeRiskMonitor.RiskAlert> Active alerts.private List<RealTimeRiskMonitor.AlertListener> Alert listeners.Alert thresholds.private Queue<RealTimeRiskAssessment> Historical assessments.private doubleBaseline risk level for anomaly detection.private doubleStandard deviation of baseline.private RealTimeRiskAssessmentCurrent risk assessment.private Map<String, RealTimeRiskMonitor.EquipmentRiskStatus> Equipment-specific risk levels.private intHistory retention (number of assessments).private booleanMonitoring active flag.private StringMonitor name.private ProcessSystemProcess system being monitored.private OperationalRiskSimulatorRisk simulator.private ScheduledExecutorServiceExecutor for scheduled monitoring.private static final longprivate intUpdate interval in seconds. -
Constructor Summary
ConstructorsConstructorDescriptionRealTimeRiskMonitor(String name) Creates a real-time risk monitor.RealTimeRiskMonitor(String name, ProcessSystem processSystem) Creates a real-time risk monitor for a process system. -
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeAlert(String alertId) voidAdds an alert listener.assess()Performs a single risk assessment.voidCalculates baseline from history.private doubleprivate voidcalculateTrends(RealTimeRiskAssessment assessment) private voidcheckAlerts(RealTimeRiskAssessment assessment) voidprivate voidgenerateAlert(RealTimeRiskMonitor.RiskAlert.AlertSeverity severity, RealTimeRiskMonitor.RiskAlert.AlertType type, String source, String message, double current, double threshold) Gets alert thresholds.getName()private voidbooleanvoidrun()voidsetBaseline(double baseline, double stdDev) Sets baseline for anomaly detection.voidsetProcessSystem(ProcessSystem processSystem) Sets the process system to monitor.voidsetUpdateIntervalSeconds(int seconds) Sets update interval.voidStarts continuous monitoring.voidStops continuous monitoring.toJson()Gets current status as JSON for dashboard integration.toString()private voidupdateEquipmentStatus(RealTimeRiskAssessment assessment)
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
name
Monitor name. -
processSystem
Process system being monitored. -
riskSimulator
Risk simulator. -
updateIntervalSeconds
private int updateIntervalSecondsUpdate interval in seconds. -
historySize
private int historySizeHistory retention (number of assessments). -
currentAssessment
Current risk assessment. -
assessmentHistory
Historical assessments. -
equipmentStatus
Equipment-specific risk levels. -
alertThresholds
Alert thresholds. -
activeAlerts
Active alerts. -
alertListeners
Alert listeners. -
monitoringActive
private volatile boolean monitoringActiveMonitoring active flag. -
scheduler
Executor for scheduled monitoring. -
baselineRiskLevel
private double baselineRiskLevelBaseline risk level for anomaly detection. -
baselineStdDev
private double baselineStdDevStandard deviation of baseline.
-
-
Constructor Details
-
RealTimeRiskMonitor
Creates a real-time risk monitor.- Parameters:
name- monitor name
-
RealTimeRiskMonitor
Creates a real-time risk monitor for a process system.- Parameters:
name- monitor nameprocessSystem- process system to monitor
-
-
Method Details
-
setProcessSystem
Sets the process system to monitor.- Parameters:
processSystem- process system
-
initializeEquipmentStatus
private void initializeEquipmentStatus() -
setUpdateIntervalSeconds
public void setUpdateIntervalSeconds(int seconds) Sets update interval.- Parameters:
seconds- interval in seconds
-
getAlertThresholds
Gets alert thresholds.- Returns:
- alert thresholds
-
addAlertListener
Adds an alert listener.- Parameters:
listener- alert listener
-
startMonitoring
public void startMonitoring()Starts continuous monitoring. -
stopMonitoring
public void stopMonitoring()Stops continuous monitoring. -
assess
Performs a single risk assessment.- Returns:
- current risk assessment
-
calculateOverallRiskScore
-
updateEquipmentStatus
-
checkAlerts
-
generateAlert
private void generateAlert(RealTimeRiskMonitor.RiskAlert.AlertSeverity severity, RealTimeRiskMonitor.RiskAlert.AlertType type, String source, String message, double current, double threshold) -
calculateTrends
-
setBaseline
public void setBaseline(double baseline, double stdDev) Sets baseline for anomaly detection.- Parameters:
baseline- baseline risk levelstdDev- standard deviation
-
calculateBaseline
public void calculateBaseline()Calculates baseline from history. -
run
-
getName
-
getCurrentAssessment
-
getAssessmentHistory
-
getActiveAlerts
-
getUnacknowledgedAlerts
-
acknowledgeAlert
-
clearAcknowledgedAlerts
public void clearAcknowledgedAlerts() -
getEquipmentStatus
-
isMonitoringActive
public boolean isMonitoringActive() -
toJson
-
toString
-