Known Limitations

As of 0.10.0, the following ReqIF features are not preserved across syside reqif import and syside reqif export. Documents using them can still be imported, but the listed fields will be missing from any ReqIF written back out.

Fields Dropped on Import

The following ReqIF fields are not imported to SysML:

  • ALTERNATIVE-ID on any element.

  • IS-TABLE-INTERNAL on SpecHierarchy nodes.

  • EDITABLE-ATTS on SpecHierarchy nodes.

  • IS-SIMPLIFIED on XHTML attribute values, and the original (non-simplified) side of those values.

  • AttributeValues on RelationGroup and SpecRelations.

Fields Lost on Export

  • Attribute default values authored in the binding form attribute X : T = v are not recognized as default values on export. Imported defaults use the attribute X : T default v form, which round-trips correctly; only defaults that are written or edited into the = form on the SysML v2 side after import are lost.

Attachment Bundling on Export

  • syside reqif export collects every file under --attachments-dir (default attachments_reqif/) recursively, regardless of whether the file is referenced from any XHTML attribute value in the exported document. Stale files left over from a previous import, build artifacts, scratch notes, or anything else that happens to sit in that directory tree will be shipped alongside the export, and bundled into the .reqifz archive when --reqifz is used. Curate the directory before exporting, or point --attachments-dir at a folder that contains only the attachments to be shipped.

Authoring Metadata

  • syside reqif export does not generate any provenance / authoring attributes. ReqIF authoring tools conventionally populate ReqIF.ForeignCreatedBy, ReqIF.ForeignCreatedOn and the rest of the ReqIF.Foreign* family (see the prostep ivip ReqIF Implementation Guide) so a recipient can see who authored or last touched each requirement in the source tool. Syside emits nothing for these attributes, and partner A opening a SysML v2-originated .reqif will not be able to tell who authored a given requirement from the document alone.

  • If an incoming .reqif carries those attributes, they are imported as ordinary string attribute values on the corresponding SysML v2 element and round-trip back out verbatim. Once a SysML-side user edits the requirement, the imported values become stale relative to the actual edit history. Update them by hand if the recipient relies on them, or strip them from the source ReqIF before import to avoid the misleading attribution.

XHTML Rich-Text Round-trip

Rich-text (XHTML) attribute values are converted to SysML v2 doc blocks that are written in Markdown. Some text shapes do not round-trip unchanged:

  • Runs of two or more spaces inside text content collapse to a single space.

  • A heading whose only content is a non-breaking space (or any other Unicode whitespace character outside ASCII space) becomes empty.

  • Two adjacent bullet lists that use different bullet characters (- and *) merge into a single list.

  • Colored text in HTML cannot be represented in Markdown as colored.

Other Data

  • Arbitrary-accuracy real numbers are not preserved, since Syside currently stores all floating-point numbers as Python floats.