Internet of Things – Architecture © - 54 -
3.3 Domain Model
3.3.1 Definition and purpose
The IoT-A project defines a domain model as a description of concepts
belonging to a particular area of interest. We will keep the IoT Domain Model
concepts ―capitalised‖ along this chapter (e.g. Device, Service, Resource etc.).
The domain model also defines basic attributes of these concepts, such as
name and identifier. Furthermore, the domain model defines relationships
between concepts, for instance ―Services expose Resources‖. Domain models
also help to facilitate the exchange of data between domains [The
Consultative Comm. 2006]. Besides this official definition, and looking at
our interpretation of it, our domain model also provides a common lexicon and
taxonomy of the IoT domain [Muller 2008]. The terminology definitions of
IoT-A are provided online as well as in Appendix A.
The main purpose of a domain model is to generate a common understanding
of the target domain in question. Such a common understanding is important,
not just project-internally, but also for the scientific discourse. Only with a
common understanding of the main concepts it becomes possible to argue
about architectural solutions and to evaluate them. As has been pointed out in
literature, the IoT domain suffers already from an inconsistent usage and
understanding of the meaning of many central terms [Haller 2010].
The domain model is an important part of any reference model since it includes
a definition of the main abstract concepts (abstractions), their responsibilities,
and their relationships. Regarding the level of detail, the domain model should
separate out what does not vary much from what does. For example, in the IoT
domain, the device concept will likely remain relevant in the future, even if the
the types of devices used will change over time and/or vary depending on the
application context. For instance, there are many technologies to identify
objects: RFID, bar codes, image recognition etc. But which of these will still be
in use 20 years from now? And which is the best-suited technology for a
particular application? Since no one has the answers to such and related
questions, the IoT Domain Model does not include particular technologies, but
rather abstractions thereof.
Before we discuss the main abstractions and relationships of the IoT Domain
Model in detail, let us go back to our recurring example that we introduced in
Section 2.3 in order to get an understanding of what it means to formulate
central concepts of a use case with the help of the IoT Domain Model.