Structural Diagrams: Internal Block Diagrams

SysML Structural Diagram Types

Structural Related

9 SysML Diagrams Taxonomy: Highlighting the Internal Block Diagram (ibd)

Definitions of an Internal Block Diagram (ibd)

What is a SysML Internal Block Diagram?  Several Different Definitions from the Experts


Definition 1:

"The internal block diagram or ibd resembles a traditional system block diagram and shows the connections between parts of a block.. The frame of the internal block diagram always corresponds to a block, so the model element kind is often elided in the diagram header."  

(A Practical Guide to SysML, Friedenthal pg 116-117)


Definition 2:

Internal Block Diagram (ibd): An Internal Block Diagram is a static structural diagram owned by a particular Block that shows its encapsulated structural contents: Parts, Properties, Connectors, Ports, and Interfaces. Stated otherwise, an IBD is a "white-box" perspective of an encapsuated ("black-box") Block.

Source & Additional Info


Definition 3:

The Internal Block diagram provides a way of viewing the composition of a block using part properties connected together using ports and connectors. The diagram is useful for showing a Block's (represented by the diagram frame) composition and the flow of inputs and outputs between the various parts that make up the block, when required the direction of flow can be indicated on the connectors. 

Internal Block Diagram (ibd) Example

SysML Internal Block Diagram (ibd) Network Example with default cameo color scheme

In this example, we see the part properties (the yellow rectangles) and the interconnections between parts within a specific context.  These diagrams resemble electrical schematics.  In this situation, the context is "Network", which is shown in the diagram frame.   The green squares are proxy ports.  Proxy ports can resemble conceptual, logical, or physical interfaces between parts.  Proxy ports, like blocks, can be typed.  The connectors in this diagram are coming from one proxy port to another.

Remember that you will not see a block on an internal block diagram because it is an element of definition.  You will only see part properties because they are elements of usage. 

You can also add item flows onto the connectors between proxy ports.  This is not shown in the example above but is shown as a black triangle play button icon.

SysML Internal Block Diagram (ibd) Wheel Hub Assembly Example

When to use the ibd

Definition 1:

The Internal Block diagram is used to model the internal structure of a block including its parts and the relationship between those parts.

Source & Additional Info


Definition 2:

Internal Block Diagram (ibd) answer the question "How do the parts of the system interface with each other? " 

Internal block diagrams are used to define the internal structure of a block in terms of interconnections.  Internal block diagrams complement block definition diagrams by using connectors and item flows to show interrelationships.  

Note you can nest ibds within part properties on ibds.

As analysis proceeds to define lower-level functions within higher-level requirements, the internal structure of the system is defined.  Define the interfaces between the system components and between the system components and other systems or subsystems.  Support traceability between components and their functional origin.

What is the Purpose of an ibd

The purpose of Internal Block Diagrams (IBDs) is to show the encapsulated structural contents (Parts, Properties, Connectors, Ports, Interfaces) of Blocks so that they can be recursively decomposed and "wired" using Interface Based Design techniques. When used correctly BDDs + IBDs are recursively scalable and mathematically (parametrically) simulatable (See Executable Semantics below.)

Source & Additional Info


Cameo ibd Toolbar

Cameo Vertical Internal Block Diagram (ibd) Toolbar

Elements Within an Internal Block Diagram

Item Flow: 

Signal that is assigned to a port via interface block.


Port: 

Represents an interface to allow interaction from one block/part to another. Ports are points at which entities can connect to and interact with a block.   They have properties with a type that specifies features available to the external entities via connectors to the ports.  A block may have many ports that specify different access points.  Ports can be shown on bdds or ibds but only connected on ibds.  

Full Ports: typed by a block. Representation of a physical interface for a given block.

Proxy Ports: typed by an interface block. Proxy ports do not represent behavior or physical attributes.


Part Property: 

Usage of a block in a context.  Parts are the foundational pieces to internal block diagrams,  Parts are the usage of its owning block.  Parts are created via composition relationship.


Connector: 

A relationship between to ports, enables interaction between tow blocks/ports.  Depicted with a solid line.


Interface Blocks: 

A specialized type of block that allows flow properties (item flow) to be defined for the port.  


Flow properties: 

Flow properties include name, signal type, and direction.  Flow properties allow you to assign a signal to a port with directionality (in, out, inout)  


Signals: 

Signals can be defined to include user defined attributes to further specify the interface. 

Referenced Entities: 

Internal block diagrams can show aggregation properties (not owned but referenced or shared).  Aggregations are displayed as Associations on the internal block diagram and denoted by a dashed border. 

Elements Within an Internal Block Diagram

Item Flow: 

Signal that is assigned to a connector line.  It is denoted with the solid black sideways triangle.


Port: 

Represents an interface to allow interaction from one block/part to another. Ports are points at which entities can connect to and interact with a block.   They have properties with a type that specifies features available to the external entities via connectors to the ports.  A block may have many ports that specify different access points.  Ports can be shown on bdds or ibds but only connected on ibds.  

Full Ports: typed by a block. Representation of a physical interface for a given block.

Proxy Ports: typed by an interface block. Proxy ports do not represent behavior or physical attributes.


Part Property: 

Usage of a block in a context.  Parts are the foundational pieces to internal block diagrams,  Parts are the usage of its owning block.  Parts are created via composition relationship.


Connector: 

A relationship between to ports, enables interaction between tow blocks/ports.  Depicted with a solid line.


Interface Blocks: 

A specialized type of block that allows flow properties (item flow) to be defined for the port.  


Flow properties: 

Flow properties include name, signal type, and direction.  Flow properties allow you to assign a signal to a port with directionality (in, out, inout)  


Signals: 

Signals can be defined to include user defined attributes to further specify the interface. 

Referenced Entities: 

Internal block diagrams can show aggregation properties (not owned but referenced or shared).  Aggregations are displayed as Associations on the internal block diagram and denoted by a dashed border. 

ibd Nested Part Property Naming Convention

The parts can be noted with dot notation (left) or as rectangles within rectangles (right).  The diagram below is an excerpt from "OMG Systems Modeling Language (OMG SysML) Version 1.4 Download the book here.  For more helpful resources, go here.

SysML Internal Block Diagram (ibd) Nested Part Property Naming Convention (Dot Notation)