72 International Journal of Software and Informatics, Volume 8, Issue 1 (2014)
problem as titled.
– How to modify an existing variation point dynamically?
N1 do have a decision maker (see Central Controller in Section 4.3) which can
receive rules to handle various transactions, such as executing workflow,
performing self-* capabilities, etc. However, it (seen as variation point) can
only load rules statically but can not cannot perform the contents defined in
rules (seen as variants) that is introduced at runtime, i.e., this variation point
cannot bind variants dynamically. So we say it is not appropriate. We need to
improve runtime variability by modifying the variation point (i.e., decision
maker) to make it become an appropriate one and then we can introduce some
new variants mentioned above.
To sum up, the two problems are resulted in by practical requirements for
reducing cost of introducing picture which is not predicted in at design time. In
order to handle the requirements, it is necessary to improve the runtime variability
of PDRN.
3 Techniques Considerations to Construct Internetware Systems for
Improving Runtime Variability
We intend to use autonomic computing techniques and software variability
techniques to construct Internetware systems for improving runtime variability.
3.1 Autonomic computing
Autonomic computing
[3]
is proposed as an approach for “designing and building
computing systems capable of running themselves, adjusting to varying circumstances,
and preparing their resources to handle most efficiently the workloads we put upon
them”
[1]
. We argue that autonomic computing techniques are quite appropriate for
constructing Internetware systems with ability to improve runtime variability.
– The promising goals to be achieved by autonomic computing are partly similar
to Internetware
[3]
, for the former share a similar ultimate objective with the
latter. For example, they both pursue reliability and trustworthy.
– Internetware entities and entire systems are supposed to be self-adaptive
[2]
.
According to Ref. [4], this means they can basically manage their status and
resource themselves, namely autonomic
3
. Thus, autonomic computing
techniques tend naturally to help developing Internetware system.
– The most important reason for adopting autonomic computing techniques is
that they provide a united abstract model of autonomic elements (i.e. MAPE-K
loop) and a nesting fashion to offer both coarse-grained and fine-grained control
†3
It is notable that autonomy is not essentially self-adaptiveness, though autonomic systems are
regarded as self-adaptive systems in some papers (e.g. Ref. [8]). Briefly, autonomy means self-
management, e.g. self-healing, self-configuration, etc., while self-adaptiveness means ability to
adapt to requirements or environments by changing system itself. However, the general mechanism
implanted in both domains (i.e., control loop) is too similar to be differentiated, which means that
achieving autonomy naturally leads to achieving self-adaptiveness. In this paper, we focus on building
autonomic Internetware entities, which are inevitably self-adaptive.