What is it about?

Current applications, especially those that cannot stop their execution, such as banking systems, airport management, and critical mission environments, among others, require of suitable mechanisms to respond immediately and automatically to constant changes of the execution environment and user requirements. In response to such issues, self-adaptation and dynamic evolution of the software allow to perform the necessary adjustments dynamically, minimizing human intervention. However, although these approaches resolve much of the problem, most of the solutions applied consist of adding functionality causing that the resulting applications to be large and/or with unnecessary or irrelevant elements. In order to strengthen the adaptation and evolution of software, the establishment of mechanisms supported in the principles of knowledge areas with greater maturity such as biology, chemistry, among others, results in an attractive alternative. In this sense, current paper proposes a new approach for adapting and creating software components at run-time based on a simplified chemical model for creating molecules. The main idea behind this approach is that every atom corresponds to a software component and every molecule correspond to a new adaptation or creation of a software component whose structure, functionality and behavior could be formed both of its own characteristics or execution environment.

Featured Image

Why is it important?

We implement generative components capable of determining the combination, the context and the contribution of each involved component during the fusion process in order to produce new elements dynamically whose structure, characteristics, and behavior differ from those provided for each component individually. This is important because 1) avoids the addition of functionality that is one of the most common ways of adaptation and/or evolution of software systems and which in turn brings with it some inconveniences such as unnecessary or irrelevant functionalities, 2) avoids creating larger applications as a consequence of the previous point, and 3) minimizes human intervention to perform adjustments in software applications.

Read the Original

This page is a summary of: Model for fusion of software components, January 2016, ACM (Association for Computing Machinery),
DOI: 10.1145/2892664.2892688.
You can read the full text:

Read

Contributors

The following have contributed to this page