Block Definition Diagram (BDD) – Detailed Beginner Notes

1. What is a Block Definition Diagram (BDD)?

Block Definition Diagram (BDD) is a structural diagram in SysML that describes the structure of a system by defining its blocks and the relationships between them.

A BDD gives a high-level architectural view of a system. It focuses on:

Because of this, the BDD is considered a foundational diagram in SysML.

---

2. Blocks

A block is the main modeling element in a Block Definition Diagram. It represents any system element.

Blocks can represent:

Smart Home Example:
Cameo – Step-by-Step:
  1. Create a new SysML model
  2. Create a package named Home System Structural Elements
  3. Right-click the package → Create Diagram → Block Definition Diagram
  4. Use the Block tool to add blocks to the diagram
---

3. Properties of Blocks

3.1 Value Properties

Value properties represent quantitative attributes of a block.
Thermostat value properties:
Cameo: Right-click block → Create Element → Value Property
---

3.2 Constraint Properties

A constraint property defines equations or rules that restrict value properties.

Constraints are used to ensure the system operates within its design specifications.

Example: Ensure temperature remains between a minimum and maximum value.
---

3.3 Flow Properties

Flow properties describe what flows into or out of a block.

Flows can represent:

---

4. Part Properties and Composition

A part property represents a block that is contained within another block.

This models a whole–part relationship.

A SmartHome is composed of multiple Rooms.
Composition relationship is shown with a black diamond from the whole to the part.
Cameo:
  1. Create a part property inside the SmartHome block
  2. Set its type to Room
  3. Set multiplicity (e.g., 1..*)
  4. Use “Display All Paths” to show the composition relationship
---

5. Reference Properties and Aggregation

A reference property links blocks without implying ownership.
A SmartHub references a Light and a Thermostat but does not own them.
Aggregation relationship is shown with a white diamond.
Cameo: Create a reference property → Set type → Display as aggregation
---

6. Ports

Ports define how blocks interact with each other.

Ports:

SmartHub has a DeviceControl port used to interact with Lights and Thermostats.
---

7. Behavioral Elements in Blocks

7.1 Operations

An operation defines what a block can do.
SmartHub operation: adjustTemperature()

The detailed logic of operations is modeled later using behavioral diagrams such as Activity Diagrams.

---

7.2 Receptions and Signals

A reception defines how a block responds to an incoming signal.
A signal represents an asynchronous event sent between blocks.
Signal: MotionAlert
Reception: SmartHub responds to MotionAlert
---

8. Generalization and Inheritance

Generalization models inheritance between blocks.

It allows common features to be defined once and reused.

Subtypes inherit:

---

9. Dependency Relationship

A dependency relationship shows that a change in one element may affect another.
Mobile App depends on SmartHub.

This is a customer–supplier relationship.

---

10. Diagram Frame

The diagram frame encloses the BDD and provides context.

It includes:

Always use clear and descriptive names.

---

11. Summary

The Block Definition Diagram is the starting point for understanding and communicating system architecture.