Constraint blocks provide a mechanism for integrating engineering analysis, such as performance and reliability models, with other SysML models. You can use Constraint blocks to specify a network of constraints that represent mathematical expressions, such as {tp=whlpwr-(Cd*v)-(Cf*tw*v)}, that constrain the physical properties of a system.

Such constraints can also be used to identify critical performance parameters and their relationships to other parameters that can be tracked throughout the system life cycle. A constraint block includes constraints (such as {tp=whlpwr-(Cd*v)-(Cf*tw*v)}) and their parameters (such as Cd, Cf, and i). Constraint blocks define generic forms of constraints that can be used in multiple contexts.

Reusable constraint definitions can be specified on Block Definition Diagrams and packaged into general-purpose or domain-specific model libraries.These constraints can be arbitrarily complex mathematical or logical expressions. The constraints can be nested to enable a constraint to be defined in terms of more basic constraints such as primitive mathematical operators.

In general, you should define constraints in constraint blocks in a Block Definition Diagram first, and then use a Parametric Diagram to bind constraint parameters to properties.

Constraint Block

Visibility representation

In SysML, properties and operations of the Block are public. Visibility representation literals, like +, #, ~, -, are not displayed in the Containment tree or in the element symbol on a diagram.