such flexibility
Tactics Create extensible interfaces
Apply design techniques that facilitate change
Apply metamodel-based architectural styles
Build variation points into the software
Use standard extension points
Table 18 : Tactics addressing evolution and interoperability.
Both, the Reference Model and the Reference Architecture are built to be
extensible and to enable interoperability between Devices and Services.
Therefore the activities listed in Section 4.3.1 reflect the IoT-A approach in
detail:
Characterize the evolution needs: IoT-A has collected stakeholder and
also internal requirements reflecting the actual and future needs in IoT
systems, see [IoT-A UNIs];
Assess the current ease of evolution: Also through the stakeholder
workshops and in addition the use cases from WP7 and the state of the
art analysis from WP1 and all technical work packages, the current
status was collected;
Consider the evolution trade-offs: The evolution trade-offs are heavily
domain- and application-specific and are not part of the IoT-A work.
Those trade-offs must of course be discussed when creating an
architecture for a concrete application;
Rework the architecture: The main result of IoT-A are the Reference
Model and the Reference Architecture which were designed with
interoperability in focus, see Sections 3.5 and 4.
Moreover, Rozanski & Woods [Rozanski 2011] also introduce tactics to deal
with interoperability and evolution. Here also the IoT Reference Model and
Reference Architecture adapt the following tactics:
Create extensible interfaces, Apply design techniques that facilitate
change: IoT-A defines common entities, e.g. the IoT Domain Model, see
Section 3.3, and entry points, e.g. the Communication Model, see
Section 3.6, which can be used to create IoT-A compliant systems;
Apply metamodel-based architectural styles: The IoT Reference
Model and Reference Architecture define interoperability on architectural
level. Especially the Domain Model, see Section 3.3, and the Information
Model, see Section3.4 as metamodels are open for further extensions;