Article Preview
TopIntroduction
The realization of any computer system requires compliance with a specific technique or procedure. So, a set of stages must be followed in a chronological order previously established. This rule also applies to self-adaptive systems, which are special computer systems whose realization requires the consideration of specifications additional to those common to ordinary systems. These specifications are requirements that must be considered to ensure that the system is able to correct errors that will eventually arise in its operating environment. But this challenge is far from easy to overcome due to certain technical constraints. To better understand the problem that arises, the authors propose a series of questions and answers as follows:
Question 1: Why a new approach?
Answer: The role of self-adaptive systems in the different areas of daily life activities means that great attention is paid to their functioning and how to achieve them. The techniques currently used for the realization of these systems are not optimal and absolutely need to be improved. This has therefore provoked a mobilization of researchers to try to improve these existing techniques by proposing others that complement them or even by proposing alternatives to them. Despite these efforts, there is not currently a technique, or a combination of techniques, that can be considered a standard for making this kind of system.
Question 2: Why This model?
Answer: The fact that there is no standard technique for making this type of system is the first, but not the only, reason why the authors offer this model. After having carried out a study on the various techniques proposed, the best known, for the design of self-adaptive systems, the authors understood that this one is very difficult to apprehend. Overall, they require additional learning, for anyone who wants to use them, without guaranteeing optimal performance. They also do not provide a good level of reusability, forcing the engineer to repeat the same tasks over and over again when applying them to different systems.
The goal for this model is to use techniques already known to provide a complete, highly configurable and reusable architecture, a model therefore which will limit as much as possible the modifications to be made when applying it to different systems. It is a template that is easy to understand and use. It also has the advantage of allowing the explicit expression of all the adaptation needs of the system under construction.
The aim of the authors in this work is to provide a design framework resembling design patterns to take into account all the components involved in self-adaptation and to model them well. These components are those constituting the different parts of a control loop which are: Monitor, Analyzer, Plan, Execute, Knowledge. This will simplify the implementation of the adaptation policy.
The rest of this paper is structured as follows: in section 2 the authors present a state of the art in which they highlight certain key aspects and techniques related to their work, they also present the origin of their main inspiration to propose their model. In section 3 they present the technique used to formalize the model. The authors then present, in section 4, an example of system design from which they proceed to the generalization of the model. In section 5 the authors present how their model can be implemented in the context of model-driven engineering, by explaining, step by step, the code generation process, they also presented a discussion and mentioned the scientific knowledge that they added in the domain. Finally, to close the paper, they present a general conclusion of their work in section 6.