Skip to the content.

DEXPI 2.0 native exchange and conformance

Start with the DEXPI Engineering Guide when deciding whether the recipient needs the native Plant/P&ID model, native Process/PFD/BFD model, or a Proteus-compatible exchange.

DEXPI 2.0.0 was released on 10 October 2025. It combines the Plant/P&ID and Process/PFD/BFD information models and introduces DEXPI XML as their common serialization. Native DEXPI XML has a Model root containing Import, Object, Components, Data, and References elements; it is not Proteus XML with a different namespace.

NeqSim provides two fail-closed native exporters:

API Official model imports Exchange purpose
Dexpi20XmlWriter Core 2.0.0 + Plant 2.0.0 P&ID plant items, piping, instruments, safeguards, boundaries, and diagram representations
Dexpi20ProcessModelWriter Core 2.0.0 + Process 2.0.0 PFD/BFD process steps, material ports, streams, and physical state quantities

The official DEXPI XML V2.0.0 XSD is bundled under CC BY 4.0 for deterministic offline validation. Dexpi20ConformanceAssessment verifies its reviewed SHA-256 fingerprint before using the result as conformance evidence.

Process-model export

File exchange = new File("gas-processing-pfd.dexpi.xml");
Dexpi20ConformanceAssessment.Report report =
    Dexpi20ProcessModelWriter.writeAndAssess(process, exchange);
if (!report.isSchemaAndProfileConformant()) {
  throw new IllegalStateException(report.getErrors().toString());
}
Files.write(Paths.get("gas-processing-pfd.conformance.json"),
    report.toJson().getBytes(StandardCharsets.UTF_8));

For a migration or regression gate, also compare the supported material topology with the shared canonical diagram graph:

Dexpi20ProcessTopologyAssessment.Report topology =
    Dexpi20ProcessModelWriter.writeAndAssessTopology(
        process, exchange, "PLANT-001", "A");
if (!topology.isSchemaProfileAndSupportedTopologyValid()) {
  throw new IllegalStateException(topology.getDiagnostics().toString());
}
Files.write(Paths.get("gas-processing-pfd.topology.json"),
    topology.toJson().getBytes(StandardCharsets.UTF_8));

The topology report records exportTopologySource=CANONICAL_ENGINEERING_GRAPH, the canonical graph fingerprint and stable connection IDs, calculated/review-required source provenance, the canonical and exported directed material-connection manifests, every exported stream and its distinct source/target port IDs, and structured diagnostics. Connection comparison is multiplicity-sensitive, so two parallel streams between the same steps must remain two streams. Synthetic product sinks are retained in the exported-connection inventory but excluded from the in-model topology comparison.

writeAndAssessTopology(...) builds one canonical snapshot, uses its supported material-connection projection to drive the native Process exchange, and assesses the same snapshot. Regression coverage requires the assessed simple and parallel-branch output to preserve the existing sequential DEXPI serialization. The compatibility APIs write(...) and writeAndAssess(...) still use their direct ProcessSystem traversal and remain unchanged.

After a successful run, an opt-in overload can source physical quantities from the same canonical snapshot instead of rereading streams during serialization:

process.run();
Dexpi20ProcessTopologyAssessment.Report operatingCase =
    Dexpi20ProcessModelWriter.writeAndAssessTopology(
        process, exchange, "PLANT-001", "A", "NORMAL-001");

This overload records exportOperatingValueSource=CANONICAL_ENGINEERING_GRAPH_CALCULATION_NODES. It accepts only finite, case-matched canonical calculation nodes with the reviewed K, bara-absolute, and kg/s bases, then converts them deterministically to degree Celsius, bar absolute, and kilogram/hour for DEXPI Process. A missing or incompatible node omits that individual quantity and emits DEXPI_PROCESS_OPERATING_VALUE_MISSING; it never falls back to a live stream read. The established four-argument overload remains topology-only and retains its existing XML and report shape.

The assessed path reports energy and signal connections, multi-area ProcessModel hierarchy, controlled document/sheet semantics, and drawing graphics as unsupported scopes. These warnings do not hide a supported material-topology error; missing, unexpected, unresolved-port, and reused-port findings are errors.

Each process connection has a dedicated source and target MaterialPort. The ports and Process.Stream carry reciprocal references, stable identifiers, nominal directions, and explicit mass-flow, absolute-pressure, and temperature quantities when finite simulation values are available. The exporter uses kilogram/hour, bar absolute, and degree Celsius references from the official Core physical-quantity model.

Reviewed NeqSim-to-DEXPI Process mappings are:

NeqSim equipment DEXPI 2.0 Process type
feed or boundary Stream Source
unconsumed product outlet Sink
compressor Compressing
pump Pumping
separator SeparatingByGravity
distillation column Distilling
cooler Cooling
heat exchanger ExchangingThermalEnergy
heater HeatingInFurnace
tank StoringFluids
control valve RegulatingFlow
mixer MixingSimple
splitter SplittingMaterial
expander TransportingFluids
pipeline or pipe segment TransportingFluids

An unmapped equipment class aborts export with its Java type and tag. The exporter never substitutes an unreviewed generic DEXPI type merely to make a file validate.

Conformance layers

Dexpi20ConformanceAssessment records separate decisions for:

  1. the bundled official V2.0.0 schema fingerprint;
  2. DEXPI XML schema validation;
  3. exact versioned Core plus Plant or Process imports;
  4. unique identities and resolvable references;
  5. NeqSim-supported Plant or Process semantic-profile rules; and
  6. the SHA-256 digest and object/reference counts of the assessed file.

Only a report with all five technical gates passing returns isSchemaAndProfileConformant() == true. A Plant file assessed as a Process profile, a version-mixed model import, dangling reference, missing required port/stream relationship, or unknown generated profile type fails explicitly.

The report deliberately states NOT_A_DEXPI_EV_CERTIFICATE and namedCaeRoundTripStatus=QUALIFICATION_REQUIRED. Schema and supported-profile conformance do not replace import/export/reimport testing in the exact CAE product and version used by a project. Record that separate evidence through DexpiToolQualificationRunner and DexpiToolQualificationEvidence.

Release and review controls

Official references: DEXPI Specification 2.0.0 and the DEXPI specification source, licensed CC BY 4.0.