Follows the Flexo live-test reconciliation: spec divergences only
show up against the real thing. Today tests/integration/sysmlv2/
consumes fixtures already in omg-sysml: RDF form. The conversion
step SysMLv2 source → openCAESAR owl-adapter → omg-sysml: RDF is
NOT exercised — meaning we can't catch:
Options for a live test point:
-
Install openCAESAR JVM toolchain in CI and run
.sysml → .ttl → flexo-rtm read → flexo-rtm emit → .sysml.json → compare to a pinned reference output. Pros: real end-to-end.
Cons: pulls JVM + Gradle + openCAESAR dependency graph into CI;
longer cold-start.
-
Pre-cache a converted-RDF fixture from a known openCAESAR
version + commit hash of the source .sysml, with the conversion
step documented as a side-shell-script in scripts/. Run only on
make sysmlv2-refresh-fixtures. Pros: keeps CI fast and JVM-free.
Cons: refresh becomes manual; doesn't auto-catch upstream version
skew.
-
Build a flexo-rtm-sysmlv2-converter container bundling a
pinned openCAESAR version; CI pulls and runs conversion inside it.
Pros: container caching keeps CI fast; one place to bump version.
Cons: another artifact to maintain.
SysMLv2 Ingestion Contract §3 should call out the v0.1 standard
test point — today it's silent on end-to-end testing.
Decision needed:
- Which option (1/2/3) for v0.1?
- If (2): which
.sysml file is the canonical input? (ADCS prototype
has one — if not cached it should be reused.)
Follows the Flexo live-test reconciliation: spec divergences only
show up against the real thing. Today
tests/integration/sysmlv2/consumes fixtures already in
omg-sysml:RDF form. The conversionstep
SysMLv2 source → openCAESAR owl-adapter → omg-sysml: RDFisNOT exercised — meaning we can't catch:
from what
oracle/adapters/sysmlv2/mapping.pyexpectsomg-sysml:properties in v1.x rendering we don't mapOptions for a live test point:
Install openCAESAR JVM toolchain in CI and run
.sysml → .ttl → flexo-rtm read → flexo-rtm emit → .sysml.json → compare to a pinned reference output. Pros: real end-to-end.Cons: pulls JVM + Gradle + openCAESAR dependency graph into CI;
longer cold-start.
Pre-cache a converted-RDF fixture from a known openCAESAR
version + commit hash of the source
.sysml, with the conversionstep documented as a side-shell-script in
scripts/. Run only onmake sysmlv2-refresh-fixtures. Pros: keeps CI fast and JVM-free.Cons: refresh becomes manual; doesn't auto-catch upstream version
skew.
Build a
flexo-rtm-sysmlv2-convertercontainer bundling apinned openCAESAR version; CI pulls and runs conversion inside it.
Pros: container caching keeps CI fast; one place to bump version.
Cons: another artifact to maintain.
SysMLv2 Ingestion Contract§3 should call out the v0.1 standardtest point — today it's silent on end-to-end testing.
Decision needed:
.sysmlfile is the canonical input? (ADCS prototypehas one — if not cached it should be reused.)