These notes summarize the concepts covered in the session about Block Definition Diagrams (BDD) in CML. They use the terminology from the session but are explained in a beginner-friendly way.
1. What is a Block Definition Diagram (BDD)?
Purpose: BDDs show the system hierarchy, classifiers, and elements of definition. They are used to organize a system structurally.
Elements of Definition vs. Elements of Usage:
Element of Definition: The “type” or blueprint of a block that you can instantiate. It defines what the block is.
Element of Usage: A property or reference that uses an element of definition inside another block.
2. The Block
Definition: The fundamental building unit in CML, similar to a UML class.
Can represent: Software, hardware, a person, organization, or facility.
Role in BDD: Blocks show the composition and hierarchy of a system. All BDDs are made of blocks.
3. Structural Properties of a Block
3.1 Part Property (Internal Structure)
Represents a block that is owned internally by another block (composition).
Visual Representation:
Nested inside the block
Displayed in a compartment
Shown as a black diamond composition relationship
Example: System A has a part property of type System B. This means System A is composed of System B internally.
Part Property / Composition (Internal Structure)
3.2 Reference Property (External Structure)
Represents a block that is referred to but not owned.
Visual Representation:
Dashed line when nested
Optional compartment or relationship line (no black diamond)
Example: System A has a reference property of type System D. This shows an association with System D but System A does not own it.
Reference Property / Association (External Structure)
3.3 Value Property
Represents data or attributes of a block that are used for analysis, simulation, or parametrics.
Types:
Primitive (e.g., numbers, strings)
Structured (custom complex types)
Enumerated (predefined set of values)
Uses value types (predefined or custom) for units or measurements, e.g., meters, centimeters.
Example: length: CM as a value property for a block.
It represents a measurable attribute, like the length of a part of the system.
Value Property (Attribute / Data)
4. Multiplicity
Defines how many instances of an element participate in a relationship.
Examples:
0..1 – zero or one instance
1..* – one or more instances
3 – exactly three instances
4..5 – between four and five instances
Default multiplicity is 1 if unspecified.
Note: Multiplicity is used for all types of relationships: part properties, reference properties, and others.
Multiplicity Example: 0..3 instances of System B in System A
5. Display Options in BDD
Blocks and their properties can be displayed in multiple ways:
Nested inside the block
Displayed in a compartment
Shown as a relationship line (composition uses black diamond; reference uses dashed line)
Choose display style based on space and stakeholder needs.
6. Key Points
BDD is the foundation for building Internal Block Diagrams (IBDs) and other views.
Blocks are always the elements of definition. Properties and references are elements of usage.
Value properties can be used for simulation, parametrics, and analysis.
Part properties are internal (composition), reference properties are external (association), and value properties store data.
7. Next Steps
The next session will cover Ports, which are used for communication between blocks.