Performance & Scalability Deployment
Trust, Security & Privacy Deployment
Table 17 : Focus on high perspective to view ability
None of the perspectives have a high impact when applied to the Operational
View. This is an indicator for not considering the Operational View in the RA
(Section 4 ) and therefore in this section respectively. The Concurrency View is
not being considered in the RA in Section 4.2 either, thus the applicability to this
view, even with a high impact, is not followed up in this section.
Additionally, we do not present design choices for particular platforms (i.e.
recommendations for specific hardware and software) as they would give the
current status of available platforms at the time of editing this document only,
but the recommendations could become obsolete soon after. Software
architects are well advised to look for suitable platform solutions while designing
their concrete architectures. Platforms that were researched during the project
[Magerkurth 2011] are based on the OSGi framework [OSGi 2012]. This
framework specifies among others how software can be deployed in form of
bundles and how the application lifecycle can be controlled remotely. The OSGi
framework is a recommended design choice for the Deployment and Operation
View. Based on the experience obtained in the project we recommend OSGi
framework as a design choice for the Deployment and Operation Views with
hardware platforms that provide support for OSGi. However, OSGi framework is
not advisable for very constraint computing platforms.
According to Rozanski & Wood ―a tactic is much more general and less
constraining than a classical design pattern because it does not mandate a
particular software structure but provides general guidance on how to design a
particular aspect of your system‖ [Rosanski, 2011]. Following Rozanski &
Wood‘s definition this section picks up the tactics addressing the architectural
perspectives listed in Section 4.3 and presents technology agnostic design
patterns or other architectural solutions that are suitable to apply the tactics.
Architects are then able to either implement the recommended design choices
or to look for existing solutions that have implemented those choices.
5.2.10.2 Design Choices addressing evolution and interoperability
The Evolution Perspective addresses the fact that requirements change and software
evolves sometimes rapidly. We identified a second, closely related, perspective namely
Interoperability which plays a crucial role especially in IoT. The vision of the Internet of
Things is still evolving. Many current technologies are not yet mature enough for
operational use and there are many more technologies to come in the future. The
Evolution and Interoperability Perspective is shown in Section 4.3.1. The tactics for
evolution and interoperability are the key concepts of the IoT ARM and will be
explained in Table 18 below.
Desired Quality The ability of the system to be flexible in the face of the
inevitable change that all systems experience after
deployment, balanced against the costs of providing