Summary
The metadata construct in SysML v2 (used for VerificationMethodKind annotations on verification cases) fails to parse in OpenSysML v0.9.0.
Reproduction
import opensysml
conn = opensysml.connect(version='v0.9.0')
src = '''
package MetaTest {
private import VerificationCases::*;
part def Widget { attribute size : Real default = 1.0; }
requirement def SizeReq {
subject widget : Widget;
require constraint { widget.size <= 5.0 }
}
requirement sizeReq : SizeReq;
verification def SizeCheck {
subject widget : Widget;
#verificationMethod = VerificationMethodKind::test;
objective {
verify sizeReq;
}
}
}
'''
m = conn.load_from_content(src, strict=False)
print(m.ok) # False
print(m.diagnostics[0].message) # 'expected a body member'
Expected
ok=True — the metadata shorthand #feature = value should parse per SysML v2 formal/2026-03-02 §7.24 Table 22.
Spec citation
SysML v2 formal/2026-03-02 §7.24.1 (p.141), Table 22 (p.143): Verification Methods Compartment textual notation:
metadata VerificationMethod { kind = (VerificationMethodKind::inspect, ...); }
The #verificationMethod shorthand is the textual notation for this metadata block.
Context
Reported from Open-MBEE/toaster#19 while building an executable SysML v2 tutorial.
Summary
The
metadataconstruct in SysML v2 (used forVerificationMethodKindannotations on verification cases) fails to parse in OpenSysML v0.9.0.Reproduction
Expected
ok=True— the metadata shorthand#feature = valueshould parse per SysML v2 formal/2026-03-02 §7.24 Table 22.Spec citation
SysML v2 formal/2026-03-02 §7.24.1 (p.141), Table 22 (p.143): Verification Methods Compartment textual notation:
metadata VerificationMethod { kind = (VerificationMethodKind::inspect, ...); }The
#verificationMethodshorthand is the textual notation for this metadata block.Context
Reported from Open-MBEE/toaster#19 while building an executable SysML v2 tutorial.