One of the key issues that should be considered when addressing
reliable evolution is to place a software system in a consistent
status before and after change. This issue becomes more critical
at runtime because it may lead to the failure on running missioncritical
systems. In order to place the affected elements in a safe
state before dynamic changes take place, the notion of
tranquility has been proposed to make quiescence criterion less
disruptive and easier to obtain. However, it only ensures
consistency in applications with restrictive black-box design. In
this paper, an architecture-based approach is proposed to
preserve global consistency during runtime reconfiguration of
component-based systems in distributed contexts. An initial
evaluation through a prototypical implementation shows that
this approach not only enables tranquility to be applicable for
distributed transactions, but also significantly reduces required
time to achieve a safe state and increases system availability
during runtime evolution.
History
Publication
Proceedings of the 15th ACM SIGSOFT Symposium on Component Based Software Engineering;pp. 177-182