Tags and keywords
We've seen in a previous slide some of the possible compartments on a Block symbol in a BDD; now it's time to see some Relationships between more than one Block on a BDD. Our example problem for this part of the trail is a Home Entertainment System, starting with the TV:
The Block
TV is abstract:
It has Associations to other Blocks Speaker and Screen that are likewise abstract:
Webel Best Practice: If an abstract Block or Class in a domain model has Associations to Blocks or Classes that are not also abstract, it's often a hint that you have not identified a correct abstraction layer.
The Speaker and Screen are part properties owned by the TV block:
It is specified here that the TV has at least one [1..*] internal speaker:Speaker and exactly one screen:Screen according to this rule:
SysML-1.6: 'SysML defines defaults for multiplicities on the ends of specific types of associations. A part or shared association has a default multiplicity of [0..1] on the black or white diamond end. A unidirectional association has a default multiplicity of 1 on its target end.'
The abstract block TV is a generalization of the concrete specializations block HD_TV and block UHD_TV. (In reality of course one might have variations on HD and UHD TVs, but making them concrete here is sufficient for this example.)
The following Webel Best Practice block naming option has been used here (we'll see some other alternatives later):
Webel Best Practice: When using acronyms in names of Classifiers either treat them as a word 'TlaLikeThis' or suffix with an underscore 'TLA_LikeThis', except at the end of the name 'LikeThisTLA' is admissable.
And in case there are any inheritance-loathing software elephants in the room:
So extend happily away (at least for now)!
