5.4.1.3 Identifiers and addresses
Identifiers and addresses are logically two different concepts, which
unfortunately however are often confused in practice, in particular in the
discussions about IoT [Haller 2010]. While in some cases the address
might be used in the role of an identifier, it is important to distinguish between
these terms.
Identifiers are used to identify something, for example a Physical Entity. In this
case, the identifier is an attribute of the related Virtual Entity. Examples include
URIs (Uniform Resource Identifiers as used on the Web, e.g.
foo://example.com/building1/room3), EPCs (Electronic Product Codes, e.g.
01.23G3D00.8886A3.365000A03) [EPC Tag Data Standard] and uIDs
(uCode Identifiers [UID Center], e.g.
0123456789ABCDEF0123456789ABCDEF).
Addresses, on the other hand, are means for locating, accessing or
communication with something, e.g., a service or a device. Addresses manifest
themselves as attributes of the corresponding concepts, i.e., attributes of a
service or a device. Examples include IPv6 or MAC addresses.
As mentioned above, there are cases in which it can make sense to use
addresses as identifiers, e.g. when the address uniquely identifies the Physical
Entity. For example, a street address is good identifier for a building, but not for
a human being. An e-mail address on the other hand provides a unique way of
identifying people.
Modelling
Option 1
An address can be used as an identifier for a Physical Entity
(and the corresponding Virtual Entity) if it uniquely identifies
it.
Overall, identification and addressing are very important aspects of IoT
systems. When designing an IoT system the different options should be
evaluated and decided on early in the process, but as the decision depends on
various requirements, assumptions and even technology choices, we cannot
give specific recommentdation on the reference model level.
5.4.1.4 Granularity of concepts
In the IoT Domain Model, concepts like Device, Resource, and User have
specialisations. Pertinent examples for Devices are Sensors and Actuators.
When modelling a concrete scenario, one can use either the general concepts
or their specialisations; the IoT Domain Model does not prescribe anything. For
example, instead of using a concrete concept like Sensor it is also possible to
use a more general concept like Device. However, the specialisations are more
precise and are therefore preferable where they apply. In other words, if at the
time of modelling it is not (yet) clear what type of device is used, then just use
Device.