Advanced search
Start date
Betweenand

Tool for modeling of self-adaptive software systems based on domain specific languages

Grant number: 17/01703-6
Support type:Scholarships in Brazil - Scientific Initiation
Effective date (Start): April 01, 2017
Effective date (End): March 31, 2018
Field of knowledge:Physical Sciences and Mathematics - Computer Science
Principal Investigator:Frank José Affonso
Grantee:Guilherme Guiguer Menaldo
Home Institution: Instituto de Geociências e Ciências Exatas (IGCE). Universidade Estadual Paulista (UNESP). Campus de Rio Claro. Rio Claro , SP, Brazil

Abstract

Self-adaptive Software (SaS) has emerged as an important type of software system. The development of this type of software is not a trivial task, since it deals with structural or behavioral changes at runtime. In parallel, Reference Architectures (RA) aim to capture the essence of similar system architectures, facilitating the development of concrete architectures for new systems, new system versions, or extensions of similar systems. Based on this context, an RA for SaS called RA4SaS was designed by Affonso & Nakagawa (2013). The main purpose of this RA is to support the SaS community due to the lack of SaS development supported by patterns and good practices of software engineering. In addition, since the elaboration of this architecture, some Scientific Initiation (SI) projects were conducted under the supervision of Prof. Dr. Frank José Affonso, i.e., a PIBIC/CNPq and three FAPESP projects (Process number: 2013/00283-2, 2014/19826-9, 2015/10147-4). These projects are unfolding evolution and optimization of RA4SaS, besides consolidation of the research group "Software Engineering for Self-adaptive Systems" at UNESP - Rio Claro/SP. Regarding the last FAPESP project (Process number: 2015/10147-4), a new module for generation of source code was developed based on a Template-Engine (TE) named FreeMarker. This TE provided greater flexibility of adaptation and better maintainability to this module, since only the new templates must be elaborated for the software entities and their respective architecture, when the RA4SaS is instantiated for a new domain. Moreover, at the end of the execution of this project, two great applications for this new module were observed by those involved: (I) support the development of new software entities; and (II) assist in the preservation of the models during the adaptation cycles. The last one is the major challenges to be overcome by the SaS community (Cheng et al., 2009; Salehie & Tahvildari, 2009; De Lemos et al., 2013), which is the preservation of integrity between model and code source. In other words, when a software entity (SaS) is adapted in source code, the model must follow that evolution. In this sense, this project aims to design and implement a SaS modeling tool based on Domain-Specific Languages (DSL) (Fowler, 2010). In addition, an approach must also be designed to allow the templates can be created in this tool to be transferred to the source code generator module. Therefore, it is intended, at the end of this project, to have a tool that enables the SaS development and it can allow the stakeholders (i.e., software engineer and/or domain specialists) to work in the development of self-adaptive software entities, according to needs of their domain. Thus, it is expected to have an infrastructure solution integrated to RA4SaS that can flexibilize and optimize the SaS development. (AU)