It's kind of a mixture. On-board and add-on I/O (ingluding remote/Ethernet connected I/O) gets system generated default names but the use of 'aliases' let you use whatever name you want. Other memory is assigned as you generate tags without any fixed reference to pre-defined tables. It's incredibly flexible.