Skip to content

End-to-end live test point for openCAESAR SysMLv2 ingestion #24

@mzargham

Description

@mzargham

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:

  1. 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.

  2. 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.

  3. 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.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions