{"title":"Awareness Driven Software Reengineering","authors":"A. Moura","doi":"10.1109/RE.2017.52","DOIUrl":null,"url":null,"abstract":"As software changes, it may become more difficult to under-stand, to be changed and harder to be reusable. In such cases, reengineering is a well-suited approach. While reengineering a system for renovation and reclamation, an organization gener-ally reassesses how the system implements high-level business requirements and makes modifications to conform to desired changes. Reengineering usually involves some form of reverse engineering to achieve a more abstract description of the soft-ware. We consider that a self-adaptive system implements awareness requirements, a high-level abstraction for self-adaptation. Awareness requirements are nonfunctional re-quirements (NFRs) about the software environment, as well as about the software itself (i.e.: the ability to perceive what is hap-pening about itself) for management and/or adaptation purpos-es. Most of the effort on self-adaptive system reengineering is focused on separation of concerns (i.e.: adaptation logic and application logic) or evolve a non-adaptive to a self-adaptive system. We identified that the design recovery approaches being used, limit themselves to recover the application logic, thus leav-ing the adaptation logic in low-level models. This fact leads to lack of proper integration at high-level models, resulting in im-plementation problems. Our research aims to tackle these prob-lems, by using the concept of awareness requirements as soft-goal in a goal-oriented model. We understand that recovering the adaptation operationalization and mapping them onto an i* based goal model will provide a high-level description of both the adaptation logic as well as the application logic.","PeriodicalId":176958,"journal":{"name":"2017 IEEE 25th International Requirements Engineering Conference (RE)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 IEEE 25th International Requirements Engineering Conference (RE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RE.2017.52","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8
Abstract
As software changes, it may become more difficult to under-stand, to be changed and harder to be reusable. In such cases, reengineering is a well-suited approach. While reengineering a system for renovation and reclamation, an organization gener-ally reassesses how the system implements high-level business requirements and makes modifications to conform to desired changes. Reengineering usually involves some form of reverse engineering to achieve a more abstract description of the soft-ware. We consider that a self-adaptive system implements awareness requirements, a high-level abstraction for self-adaptation. Awareness requirements are nonfunctional re-quirements (NFRs) about the software environment, as well as about the software itself (i.e.: the ability to perceive what is hap-pening about itself) for management and/or adaptation purpos-es. Most of the effort on self-adaptive system reengineering is focused on separation of concerns (i.e.: adaptation logic and application logic) or evolve a non-adaptive to a self-adaptive system. We identified that the design recovery approaches being used, limit themselves to recover the application logic, thus leav-ing the adaptation logic in low-level models. This fact leads to lack of proper integration at high-level models, resulting in im-plementation problems. Our research aims to tackle these prob-lems, by using the concept of awareness requirements as soft-goal in a goal-oriented model. We understand that recovering the adaptation operationalization and mapping them onto an i* based goal model will provide a high-level description of both the adaptation logic as well as the application logic.