OCSMP Model User study materials
OCSMP Model User study resources

OCSMP Model User cheat sheet

OCSMP Model User · Keep the key ideas within reach.

Quick reference

System Behavior

  • Control flow edges carry control tokens that enable action execution; object flow edges carry object tokens (data or items). A token is consumed when the target action begins.

  • A decision node has one input and multiple guarded outputs, where guards must be mutually exclusive; a merge node has multiple inputs and one output and performs no synchronization.

  • A fork node copies an incoming token to all outgoing edges (concurrency); a join node emits one token only after a token has arrived on every incoming edge.

  • State machine transition syntax is: trigger [guard] / effect. Triggers are signal events (signal name), time events (after(t)) or change events (when(condition)).

  • Composite states contain nested substates and may have several orthogonal regions that run concurrently; entry, exit and do behaviors of a composite state run on entry, exit and while active.

  • Interaction operators in combined fragments: alt (guarded alternatives), opt (optional), loop(min,max), par (parallel), break, neg, assert, strict, ignore and consider.

  • A synchronous message in a sequence diagram implies a reply message and blocks the sender; an asynchronous message does not; execution occurrences are drawn as thin bars on the lifeline.

  • Use case include is a mandatory, unconditional insertion of behavior; extend adds optional behavior conditioned by a condition at a named extension point of the base use case.

  • SysML adds flow rate information: item flows carry a rate property, and the «continuous» and «discrete» keywords can qualify flows and parameters.

Quick reference

System Structure

  • A block is a UML class stereotyped «block»; it can own properties (parts, references, value properties, ports, flow properties), operations, constraints and a classifier behavior.

  • Property kinds differ by ownership: a part property uses composition (strong ownership, destroyed with the whole); a reference property uses shared aggregation and refers to an element owned elsewhere.

  • A directed composition shows a filled diamond at the whole end and an arrowhead at the part end, meaning the whole can navigate to the part but not conversely.

  • A proxy port is a port stereotyped «proxy» whose type is a block or «interfaceBlock»; its features are those of its type and it delegates requests to internal parts.

  • Applying «conjugate» to an interface block type reverses feature directions, so a conjugated proxy port requires what the original interface block provided.

  • An item flow is shown as a line with an open arrowhead between ports or parts, labeled with the conveyed classifier; it specifies which items travel across a connector.

  • An assembly connector links ports of parts at the same level of the internal block diagram; a delegation connector links an outer port of the enclosing block to a port of a nested part.

  • A value type («valueType») models values with no identity, typically carrying a unit and dimension, and types value properties and flow properties.

  • A constraint property is a property typed by a constraint class («constraint»); its parameters are bound to value properties to express equations and inequalities on a block.

Quick reference

Requirements

  • A requirement is a UML class stereotyped «requirement» with two added properties: id (identifier string) and text (the requirement statement); both appear in the requirement's compartments.

  • Requirement diagrams may contain requirements, blocks, test cases and comments, joined by satisfy, deriveRequisite, verify, refine, copy and containment relationships.

  • A «satisfy» dependency runs from a design element (typically a block or part) to a requirement and asserts that the design element fulfills the requirement.

  • A «verify» dependency runs from a test case to a requirement and asserts that the test case demonstrates whether the requirement is met.

  • A «deriveRequisite» dependency points from a derived requirement to the requirement it is derived from, typically tracing a system requirement back to a stakeholder need.

  • A «copy» dependency points from a copied requirement to its source requirement when the requirement text is reused without change.

  • Requirements may be composite: nesting a requirement inside another through composition expresses decomposition of a parent requirement into subrequirements.

  • A «refine» dependency links any model element to a requirement it elaborates, adding detail without claiming satisfaction or verification.

  • The UML «trace» dependency may appear on requirement diagrams to record a non-specific traceability link between elements.

Quick reference

Cross-Cutting Constructs

  • Allocation is expressed as a «allocate» dependency drawn as a dashed arrow with the «allocate» keyword, or as an allocation compartment on a block listing allocatedFrom and allocatedTo entries.

  • Three common allocation kinds: behavior allocation (activity or action to a block or part), structure allocation (logical block to physical block) and flow allocation (item flow to a connector).

  • Allocation does not change the type or metaclass of the allocated element; it only records a mapping between elements.

  • A viewpoint («viewpoint») states stakeholders, concerns and purpose for a perspective; a view («view») is a subset or query of model elements that conforms to a viewpoint through a «conform» dependency.

  • SysML defines the comment stereotypes «rationale» (reasoning behind a modeling decision) and «problem» (an issue or open question), both applied to UML comments.

  • Model organization uses packages; package imports make public or private members of one package visible in another, and element imports bring in a single named element.

  • Quantity modeling uses «unit» and «dimension» stereotypes on instance specifications together with «valueType» so that values carry consistent units and dimensions.

  • A diagram frame carries a heading with the diagram kind abbreviation and name - for example bdd, ibd, act, stm, sd, req, par, alloc.

  • SysML-specific concepts are applied through stereotypes; the stereotype name appears in guillemets («block», «requirement», «allocate») on the model element.