OCSMP Model Builder Fundamental study materials
OCSMP Model Builder Fundamental study resources

OCSMP Model Builder Fundamental cheat sheet

OCSMP Model Builder Fundamental · Keep the key ideas within reach.

Quick reference

Model Concepts and Organization

  • A model is a set of packages, elements, and relationships; a view is a projection selected by a viewpoint, never a separate copy of the model.

  • Namespace containment: Package owns elements; owning a package gives a qualified name Package::Element. Two elements may share a name only if their owners differ.

  • Element kinds: Class, Actor, Use Case, Component, Activity, State Machine, Constraint (parametric), Block (SysML), ValueType, InterfaceBlock, and Requirement.

  • Diagram is a view of model elements; deleting a diagram does not delete elements. Deleting an element removes it from every diagram that shows it.

  • Dependency vs association: dependency is a directed supplier/client arrow with no instances; association is structural with multiplicities and navigability.

  • Model libraries and reusable packages should be imported (Package Import, public/private) rather than copied, so changes propagate to all users.

  • A root model element (model) owns top-level packages; naming conventions and package structure are organizational decisions, not UML semantics.

  • Stereotypes, tags, and profiles extend the metamodel; applying a stereotype adds properties to an element without changing its base metaclass.

Quick reference

Purposes and Benefits of Modeling a System

  • A model is an abstraction that answers specific questions; its value depends on the questions it is built to answer, not on completeness.

  • Model purposes: communication, specification, verification/validation, simulation, and documentation; each purpose selects which views and fidelity are needed.

  • Requirement traceability is a primary benefit: model elements link to requirements, so impact analysis of a change is a query, not a manual search.

  • Simulation (behavior and parametric) lets engineers evaluate design alternatives before hardware exists, reducing rework cost.

  • A single source of truth avoids inconsistency between separate documents; diagrams and reports are generated from the model.

  • Model-based systems engineering (MBSE) formalizes the model as the primary artifact; documents become derived products.

  • Quality attributes of a model: correctness, consistency, completeness relative to purpose, and comprehensibility to its intended readers.

  • Cost is real: model maintenance, tooling, and training; benefits accrue when the model is reused across lifecycle phases and projects.

Quick reference

Basic Requirements Capture and Management

  • A requirement is a capability or condition that a system must satisfy; SysML Requirement is a Class stereotype with id and text properties.

  • Requirement relationships: containment (composite), deriveReqt (derived from a source), satisfy (design element meets requirement), verify (test case verifies).

  • «satisfy» goes from a design element (block, activity, etc.) to a requirement; «verify» goes from a test case to a requirement.

  • Traceability directions: deriveReqt points from derived requirement to its source; refinement points from refined element to the refined element.

  • Requirement text should be verifiable: state a measurable condition, not an adjective; each requirement has a unique id.

  • Allocation of requirements to structure is not «satisfy»; satisfaction is a claim that the design meets it, allocation assigns responsibility.

  • Requirements can be organized in packages and requirement diagrams; hierarchy is shown by containment, not by «deriveReqt» alone.

  • Change management: a requirement change propagates through deriveReqt and satisfy links, so impact analysis follows those relationships.

Quick reference

Structure Models

  • Block is the SysML structural unit; it may have properties (parts), operations, ports, and constraints. Part properties are typed by blocks and owned by the whole.

  • Composition (filled diamond) means the whole owns the part; the part's lifetime is bounded by the whole. Aggregation (open diamond) is a weaker, non-owning whole.

  • Multiplicity [n..m] on an association end states how many instances of the target may be linked to one instance of the source.

  • Ports are interaction points typed by interfaces (interface blocks or flow specifications); proxy ports expose features, full ports are behavior-bearing.

  • Internal block diagram (IBD) shows parts, ports, connectors, and item flows inside one block; it is a white-box view.

  • Generalization (hollow triangle) means subtype inherits features and is substitutable for the supertype; association is not generalization.

  • Value types define units and dimensions for value properties; quantities should be typed, not bare numbers, to enable unit checking.

  • Structure vs behavior: a block describes what exists; activities and state machines describe what happens. A part property is not a class.

Quick reference

Behavior Models

  • Activity diagrams model flow of control and data: actions, control flows, object flows, decision/merge, fork/join, initial and final nodes.

  • A token on a control flow enables an action; fork produces concurrent tokens, join synchronizes them (all incoming tokens required).

  • Decision node has one input and multiple guarded outputs; merge node has multiple inputs and one output; they are not the same node.

  • State machine: states, transitions with trigger/guard/effect, entry/exit/do activities; composite and orthogonal regions model hierarchy and concurrency.

  • A transition fires when its trigger occurs and its guard is true; guard false means no firing, and the event may be lost or deferred.

  • Use case diagram: actors, use cases, associations, «include» (mandatory reuse) and «extend» (conditional extension at an extension point).

  • Sequence diagram: lifelines, messages (sync, async, reply), combined fragments (alt, opt, loop); order is vertical time.

  • Interactions and activities are behavior owned by a context block via ownedBehavior; a behavior can be allocated to a structural element.

Quick reference

Parametric Models

  • A constraint block (constraint property) encapsulates an equation and its parameters; the equation is a constraint expression in a specific language.

  • A parametric diagram shows constraint properties, value properties bound to parameters, and binding connectors that equate values.

  • Parameters are typed by value types; binding a value property to a parameter means the values are equal at evaluation time.

  • Units and dimensions on value types allow dimensional consistency checking; a binding between different dimensions is an error.

  • Constraint blocks are reusable: the same equation can be applied many times as different constraint properties with different bindings.

  • Parametric models evaluate design, not behavior over time; they answer 'what value results from these inputs' given the equations.

  • A binding connector is not an item flow or association; it is a value equality between a parameter and a property.

  • Analysis context: a block owns constraint properties and value properties, and an IBD/parametric diagram shows the bindings among them.

Quick reference

Allocation Relationships

  • Allocation is a cross-cutting relationship mapping elements of one model domain to another (e.g., behavior to structure, logical to physical).

  • «allocate» is a dependency-like relationship from the allocated (source) element to the allocated-to (target) element.

  • Allocation can be shown on an allocation compartment, an allocation table, or an activity diagram with allocated swimlanes/partitions.

  • Allocate behavior to structure: an activity or action is allocated to a block or part that performs it.

  • Allocate structure to structure: a logical block is allocated to a physical block, supporting layered architecture views.

  • Allocation is not satisfaction: satisfy claims a requirement is met; allocate assigns responsibility across domains.

  • Allocation direction matters for traceability queries; reverse navigation from target to source answers 'what is allocated here'.

  • Allocations can be derived and refined; they should be maintained as the model evolves, since they are the bridge between views.

Quick reference

Use of Stereotypes

  • A stereotype extends a metaclass; applying it to an element adds stereotype-specific properties (tagged values) and may add constraints.

  • A profile is a package of stereotypes and their extensions; the profile must be applied to the model before its stereotypes are usable.

  • Stereotype notation: «StereotypeName» above or inside the element name; tagged values appear in a compartment or property sheet.

  • SysML itself is a UML profile: «block», «requirement», «interfaceBlock», «valueType», «constraint» are stereotypes on UML metaclasses.

  • A stereotype can specialize another stereotype; the child inherits its properties and extensions.

  • Stereotypes are not subclasses: a «block» is a UML Class with the Block stereotype applied, not a new metaclass.

  • Custom stereotypes should capture modeler intent (e.g., «safetyCritical») and support queries and reports, not replace structure.

  • Multiple stereotypes may apply to one element; conflicting tagged values must be resolved by the modeler.