OCSMP Model Builder Intermediate study materials
OCSMP Model Builder Intermediate study resources

OCSMP Model Builder Intermediate: Requirements Modeling with the Full SysML Feature Set

OCSMP Model Builder Intermediate · Work through your exam, one topic at a time.

All guide sections

Requirements Modeling with the Full SysML Feature Set

Requirements modeling

The OCSMP Model Builder Intermediate requirements domain tests whether you can capture requirements precisely, decompose them, and connect them to design and verification elements using the full SysML requirement vocabulary.

Core rules

  • A «requirement» is a Class stereotype with mandatory id and text. The text must state a verifiable condition; a constraint can be attached via constrainedBy to formalize it.
  • Containment is composite: a parent requirement owns child requirements. Show it by nesting on a requirement diagram; the child is part of the parent.
  • Relationship direction matters: «satisfy» goes from the design element to the requirement; «verify» goes from the test case or verification case to the requirement; «deriveReqt» goes from the derived requirement to the source requirement; «copy» goes from the copy to the original.
  • Use «refine» when a model element adds detail to a requirement; use «trace» for informal, non-directional traceability; do not substitute trace for satisfy or derive.
  • Requirement diagrams show requirements, their containment, and these dependencies; they are not block diagrams.

Worked example

Requirement REQ-BRK-001: “The braking controller shall apply service brakes within 200 ms of a valid brake command.” Model it with id REQ-BRK-001 and that text. Decompose by containment into REQ-BRK-001.1 (detect a valid command) and REQ-BRK-001.2 (actuate within 200 ms). A block BrakeController satisfies REQ-BRK-001. A «testCase» BrakeResponseTest verifies it. Reasoning: containment is used because the children are parts of the parent; a «deriveReqt» would be used if a child were derived from the parent plus a design decision. The satisfy arrow points from the block to the requirement, and the verify arrow points from the test case to the requirement.

Traps

Reversing satisfy/verify arrows; using «trace» where «deriveReqt» is required; writing unverifiable text such as “brakes shall be fast”; omitting id; showing blocks on a requirement diagram; treating containment as derivation.