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:
- the bundled official V2.0.0 schema fingerprint;
- DEXPI XML schema validation;
- exact versioned Core plus Plant or Process imports;
- unique identities and resolvable references;
- NeqSim-supported Plant or Process semantic-profile rules; and
- 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
- Pin exchange evidence to DEXPI 2.0.0 model URIs and the file digest; never silently reinterpret a later DEXPI model release as 2.0.0.
- Store the conformance JSON, source model revision, generated XML, named-tool round-trip, and accountable semantic-difference review together.
- Compare the committed native golden fixture and semantic inventory when modifying type mappings, topology, units, or serialization order.
- Retain the canonical topology fingerprint, structured topology report, operating-case identifier
and value-source evidence, and source model revision beside the XML and conformance report when
using the opt-in operating-case overload of
writeAndAssessTopology(...). - Treat graphics, project standard-library restrictions, vendor extensions, and CAE certification as separate qualification scopes.
Official references: DEXPI Specification 2.0.0 and the DEXPI specification source, licensed CC BY 4.0.