Skip to content

Requirement Diagram

A requirement diagram (from SysML) connects requirements to the elements that satisfy, verify, or refine them — a traceability graph for specifications. kymo's editor reads the MermaidrequirementDiagram syntax.

This page works like a quickstart: as you scroll, the pane on the right shows the source and the preview for the section you're reading. Copy grabs the source; ▶ Open in editor loads it into editor.kymo.studio (pick mermaid in the diagram-type dropdown when starting from scratch).

A minimal source has three parts: a requirement block, an element block, and a relationship between them written source - type -> destination.

requirementDiagram
    requirement test_req {
    id: 1
    text: the test text.
    risk: high
    verifymethod: test
    }
    element test_entity {
    type: simulation
    }
    test_entity - satisfies -> test_req

▶ Try it in the editor

Rendered intro.mmd

Requirement types and fields

The keyword picks the SysML stereotype: requirement, functionalRequirement, performanceRequirement, interfaceRequirement, physicalRequirement, or designConstraint. Each block carries an id, a text description, a risk (low / medium / high), and a verifymethod (analysis / inspection / demonstration / test).

requirementDiagram
    functionalRequirement func_req {
    id: 1.1
    text: functional
    risk: low
    verifymethod: analysis
    }
    performanceRequirement perf_req {
    id: 1.2
    text: performance
    risk: medium
    verifymethod: demonstration
    }
    interfaceRequirement int_req {
    id: 1.3
    text: interface
    risk: high
    verifymethod: inspection
    }

▶ Try it in the editor

Rendered types.mmd

Elements and relationships

An element block models anything outside the spec — a simulation, a test, a document — with a free-form type and an optional docRef pointer. Relationships take one of seven types: contains, copies, derives, satisfies, verifies, refines, or traces.

requirementDiagram
    requirement r1 {
    id: 1
    text: base requirement
    risk: low
    verifymethod: test
    }
    requirement r2 {
    id: 2
    text: derived requirement
    risk: low
    verifymethod: test
    }
    element sim {
    type: simulation
    }
    element doc {
    type: word doc
    docRef: reqs/req.doc
    }
    r2 - derives -> r1
    sim - verifies -> r2
    doc - refines -> r1

▶ Try it in the editor

Rendered relations.mmd

Status. Requirement diagram previews on this page and in the editor use the Mermaid renderer; importing requirement diagrams into kymo's own pipeline (native SVG/PNG/PDF rendering) is on the roadmap.

See also

  • Class Diagram — for the structure of the system being specified.
  • BPMN — for executable business processes.

Apache 2.0 Licensed