More block Generalization examples: Home entertainment system

We are not scared to use Generalization or even multiple inheritance when domain modelling in SysML together with abstract base Blocks:
Click on the image to view it full size
Many, many years ago, before there were DVDs or Blurays, before there were USB sticks or interweb downloads, there was a technology called the 'VHS player' that used magnetic tape, cassettes for which you could rent from a shop with movies recorded on it, or which you used to record shows from the TV to watch later.

Note how block VhsPlayer is abstract; that's because although most VHS units could play media, they could (mostly) also all record.

The block UsbDrive - which might also have been made abstract, but for now is concrete - is both a RemovableRecordingMedium and a UsbPeripheral, which pattern is sometimes called a "mix-in" (and is NOT an anti-pattern in SysML).

A quick word on Block naming conventions

Webel Best Practice offers some alternatives here. The blocks DvdPlayer and VhsPlayer could have been named DVD_Player and VHS_Player consistent with: Or HardDrive and UsbDrive could have been named Drive_hard and Drive_USB consistent with:
Up next
Snippets (quotes/extracts)
Visit also
Visit also (backlinks)
Related slides (other tutorials)
Related slides (other tutorials, backlinks)