SysML, UAF, UML, and UPDM Profiles > SysML profile > Blocks > Block properties > Block property (SysML item)
  
Block property (SysML item)
A Block Property applies additional properties to a Block.
There are three types of Block Properties - Part, Reference and Value. The propertyType property that appears on the BlockProperty tab of a Block Property's property pages indicates whether a Block Property is of type Part, Reference and Value.
Create a Block Property in the following ways:
In a Modeler pane, right-click a Block, point to New, point to SysML, and then click Block Property.
On an Internal Block Diagram:
Click the Block Property button, and then click the diagram background (for the owning block), inside the required Block (if shown) or inside the required Block Property.
Drag the Block you want to use as a type to the diagram background (for the owning block), inside the required Block (if shown) or inside the required Block Property.
On a Parametric Diagram, click the Block Property button, and then click in free space.
When you create a Block Property, the type you use for the Block Property determines whether the Block Property is created as a Part, Reference or Value.
When you use a Block or Interface Block as a type, Modeler creates a Block Property of type Part.
You can change the type of these Block Properties to Reference through the Set > Is Composite command.
When you use a Value Type as a type or create an untyped Block Property, Modeler creates a Block Property of type Value.
Note that on a Block Definition Diagram you can also create Block Properties by creating Associations on the diagram:
Creating a Composite Association between two Blocks creates a composite Block Property of type part.
Creating an Association between two Blocks creates a Block Property of type reference.
Creating a Composite Association between a Block and a Value Type creates a Block Property of type value.
To specify the multiplicity of a Block Property: right-click the Block Property, point to Set, and then click Multiplicity. The multiplicity of a Block Property is shown on the Options tab of the Block Property's Property Pages.
To specify whether a Block Property is shared or not (is composite or not): right-click the Block Property, point to Set, and then click Is Composite. The composite status of a Block Property is shown on the Options tab of the Block Property's Property Pages.
To specify whether a Block Property is read only or not: right-click the Block Property, point to Set, and then click Read Only. The read only status of a Block Property is shown on the Options tab of the Block Property's Property Pages.
To change the type of a Block Property: right-click the Block Property, point to Set, and then click Type, Type (Redefinition Only) or Type (Top Level Definition). The type of a Block Property is shown on the Data Type tab of the Block Property's Property Pages.
For Block Properties of type Value:
You can set up the Block Property as read only: right-click the Block Property, point to Set, and then click Read Only.
You can set up the Block Property as a Measure of Effectiveness: apply the «moe» stereotype to the Block Property.
When you create a Block Property of type Part in a Block Property, Modeler creates the nested Block Property as a child of the nesting Block Property's type. The Block Property you see on the diagram is a redefinition of the Block Property created on the type, and that redefinition exists in the context shown on the diagram. Redefinitions can be virtual and real - real redefinitions can have some of their properties and links changed independently of the Block Property they redefine. For more information about redefinitions of Block Properties, click here
All Block Properties are shown in the Blocks pane - expand the BlockProperty folder.
A Block Property is a UML Part (Attribute or Role) that is stereotyped by the «BlockProperty» stereotype from the SysML profile.
On internal block diagrams
When shown on an Internal Block Diagram, a Block Property's notation is as follows.
If the Block Property is a shared Block Property (it is not composite), a Block Property's notation is as follows.
To show or hide a compartment, right-click the Block Property, click Show/Hide Compartments, and then select the check boxes associated with the compartments you want to show.
If the Block Property contains a Block Property that has had its Default Value changed in context, the type of the containing Block Property is shown in brackets. In the following example, the Front Tire block property in context has a Default Value that is different from the Front Tire block property on the type, that is, the Wheel block.
On an Internal Block Diagram, you can populate the Block's Block Properties: right-click the Block, point to Populate, point to Nodes, and then click Blocks Properties. You can also populate a Block Property's Block Properties: right-click the Block Property, point to Populate, point to Nodes, and then click Blocks Properties.
On parametric diagrams
You can drag a Block Property to a Parametric Diagram.
When shown on a Parametric Diagram, a Block Property's notation is as follows.
On block definition diagrams
On a Block Definition Diagram, a Block's Block Properties can be shown on Aggregations, Compositions and Associations.
To show or hide a compartment, right-click the Block, click Show/Hide Compartments, and then select the check boxes associated with the compartments you want to show.
The following sections provide information about how a Block Property is used in the model. For more information about a SysML diagram or item - click it.
Owned by
Block
Owns
Actor Connector
Allocate - the Allocate is owned jointly by the Block Property and the associated item. The access permissions you have to an Allocate are determined by the access permissions you have to the item that is allocated from - you require write access to both items to create or delete an Allocate.
Binding Connector - the Binding Connector is owned jointly by the Block Property and the associated item.
Block Property
Connector - the Connector is owned jointly by the Block Property and the associated item.
Problem
Rationale
Refine (UML Standard profile) - the Refine relationship is owned jointly by the Block Property and the associated item. The access permissions you have to a Refine relationship are determined by the access permissions you have to the refined item.
Satisfy - the Satisfy relationship is owned jointly by the Block Property and the associated Requirement. The access permissions you have to a Satisfy relationship are determined by the access permissions you have to the Block Property.
Trace (UML Standard profile) - the Trace relationship is owned jointly by the Block Property and the associated item. The access permissions you have to a Trace relationship are determined by the access permissions you have to the item that is traced from.
Verify - the Verify relationship is owned jointly by the Block Property and the associated Requirement. The access permissions you have to a Verify relationship are determined by the access permissions you have to the Block Property.
Shown on these diagrams
Block Definition Diagram
Internal Block Diagram
Parametric Diagram
Sequence Diagram (UML diagram)
SysML Properties
allocatedFrom - lists source items that are linked through Allocate relationships (on Allocated tab when item is allocated).
allocatedTo - lists target items that are linked through Allocate relationships (on Allocated tab when item is allocated).
flowPorts - Flow Ports that are directly contained by the Block Property, or inherited from the Block Property's type.
flowProperties - Flow Properties that are directly contained by the Block Property, or inherited from the Block Property's type.
fullPorts - Full Ports that are directly contained by the Block Property, or inherited from the Block Property's type.
parts - Block Properties of type Part that are directly contained by the Block Property, or inherited from the Block Property's type.
propertyType - can be Part, Reference or Value.
references - Block Properties of type Reference that are inherited from the Block Property's type.
standardPorts - Standard Ports that are directly contained by the Block Property, or inherited from the Block Property's type.