Self-adaptive Software (SaS) has emerged as an important type of software system. However, the development of such software is not a trivial task because it constantly deals with adaptations (structural and behavioral) at runtime so that the new needs of its users and execution environment are met. In parallel, Reference Architectures (RAs) capture the essence of architectures of similar systems, facilitating the design of concrete architectures for new systems, new system versions, or extensions of similar systems. Based on this context, Affonso & Rodrigues (2012), Affonso & Nakagawa (2013) e Affonso (2014) in previous projects, have designed a RA for SaS (RA4SaS). From August 2013 to July 2014, two scientific initiation projects were conducted under the supervision of Prof. Dr. Frank José Affonso, one PIBIC/CNPq and other FAPESP (Process: 2013/00283-2). Both projects were related to such architecture (RA4SaS) and other wider projects. The PIBIC/CNPq project aimed to design and implement a subsystem of self-healing systems as module for such architecture (Affonso et al., 2015). The FAPESP project aimed to implement a reflection module based on computational reflection and aspects (Souza et al., 2015). At the end of both projects, some adversities were observed, among of them can be highlighted: (I) the difficulty of modification/creation of the source code generator module; and (II) the performance of such module (source code generator). Although such adversities do not represent related questions to the scope of both projects, they can be considered of great relevance for the SaS context. To overcome such adversities, this project aims to design and implement a source code generator module for the RA-SaS. To do so, template-engines will be used as a way to facilitate the development of architectural models, since this module must enable the adaptation to be performed at three levels: (I) software systems; (II) software architecture; and (III) both. Moreover, the adaptation must regard, at each of these levels, three interests: structural, behavioral, or both. Thus, it is intended, at the end of this project, to have a source code generator module of easy development/adaptation so that the adaptation interests and levels can be met. Moreover, it is expected that the performance issue, as relevant to the SaS context, also presents better results.
News published in Agência FAPESP Newsletter about the scholarship: