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:
- What elements exist in the system
- How those elements are related
- What properties and behaviors each element has
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:
- Physical components (lights, thermostats, sensors)
- Logical elements (software systems, controllers)
- Abstract concepts (devices, interfaces)
Smart Home Example:
- SmartHome
- Room
- Light
- Thermostat
- SmartHub
Cameo – Step-by-Step:
- Create a new SysML model
- Create a package named
Home System Structural Elements
- Right-click the package → Create Diagram → Block Definition Diagram
- 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:
- currentTemperature
- powerConsumption
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:
- Create a part property inside the SmartHome block
- Set its type to
Room
- Set multiplicity (e.g., 1..*)
- 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:
- Appear as small squares on a block
- Encapsulate flow properties
- Must be compatible to connect
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.
- Device (supertype)
- Light (subtype)
- Thermostat (subtype)
Subtypes inherit:
- Properties
- Relationships
- Behaviors
---
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:
- Diagram type (BDD)
- Package name
- Diagram name
Always use clear and descriptive names.
---
11. Summary
- BDD defines system structure in SysML
- Blocks represent system elements
- Properties define data, constraints, and flows
- Relationships show ownership, reference, inheritance, and dependency
- Cameo is used to create and visualize these elements
The Block Definition Diagram is the starting point for understanding and communicating system architecture.