Internet of Things Architecture

(Elliott) #1

Internet of Things – Architecture © - 57 -


section), we expatiate the IoT terminology and concepts in Section 3.3.3. A
discussion about guidelines and best practices on how to use the IoT Domain
Model are provided in Chapter 5.


UML is used to graphically illustrate the model [Fowler 2003].
Generalisation is used to depict an is-a relationship and should not be
misinterpreted as sub-classing. Only the most important specialisations are
shown, others are possible however. For example, not every Device can be
characterised as a Tag, a Sensor, or an Actuator. The specialisations are
however generally disjoint, if not noted otherwise.


Please note that generalisations/specialisations are modelled using a solid line
with a large hollow triangle.


Class A

Class B Class C

Figure 6 : UML Generalization.

The notation indicates that class A is the Parent or super-class, while class
B and class C are child or subclasses. Objects represented by class B and
class C "inherit" the attributes of the object represented by class A (their
parent), while having additional unique attributes of their own. This relationship
is referred to as the is-a relationship - an object in class B or class C is-
a type of class A (see Figure 6 ).


This notation is not to be confused with an ―aggregation or composition
relationships‖. Rather, a terminating "open diamond" indicates an aggregation
relationship, whereas a "filled diamond" indicates a composition relationship.
The notation in Figure 7 states that class A is an aggregation of (or contains)
objects of class B and a composition of objects of class C. In other words,
class A has-a class B and also class C is-part of class A.
Aggregation and composition are rather similar, however the lifetime of objects
of class C is determined by class A (―A brain is part of a student‖ ->
composition), whereas the lifetime of objects of class B is independent from
class A (―A student has a school‖).

Free download pdf