Tags and keywords
If you've been playing with an Arduino Interactive Board Viewer as recommended in the intro to this trail you'll have discovered that if you click on some pads, pins, or tracks in some views it will display a unique Net Name (and may also indicate what board layers the net involves). This is the easiest way to determine exactly what is connected to what.
These Net Names are represented in this model by the «net» Domain Specific Language (DSL) extension of Block and Net
.
Some more specific types of nets are also shown. There is exactly one instance of each named net on a given board. It turns out that where Nodes are used to type Ports of component usages, assigning those Net
instances as Context-Specific Values everywhere is quite tedious, so we'll see later that there is a more convenient way of indicating that information in Internal Block Diagrams using tagged values on Connectors.
There is also a constraint (stated here in plain English rather than OCL) that 'all nodes of a net share that same net', because we don't want short circuits or microcontroller boards on fire.