Part, Reference, Value, Constraint, Port

Blocks in SysML (essentially like Classes in UML) are capable of holding properties of many different types. Including…

Part Properties

Literally the parts of a block.

Block Car has part property Wheel

Part properties are typically displayed in the parts compartment of a block with the syntax

<part name> : <type> [<multiplicity>]

Source

Reference Properties

Reference properties are similar to part properties, in that they imply the block must have the reference property in order to fulfill its function - but it doesn’t imply ownership over the block.

Block Car has reference property Owner

Value Properties

Value properties are essentially facts about the block. They are typically numeric with an associated unit of measure (or sometimes string literals).

Block Car has value property Weight which is measured in kg.

These are most typically what constraints are written against. Speaking of which…

Constraint Properties

These properties are rules that an instance of a block must satisfy to be valid. They are typically represented as mathematical formulas or inequalities on Value Properties.

Block Car must have a Weight that is > 0kg

Port Properties (or, just ‘ports’)

Port Properties represent distinct interaction points on a block in which signals, energy, or matter can be transmitted. Blocks may have many ports, or no ports. Ports may have requirements about the interfaces they accept or expose. Most typically when interacting with a block, agents know about ports and don’t have to know about the inner workings of the system. Thus ports decouple the activity from the implementation.

Block Car has port Gasoline Inlet in