Remedy: architectural conformance checking for adaptive systems
Fecha
2022Autor
Vieira de Camargo, Valter
UNIVERSIDADE FEDERAL DE SAO CARLOS
Institución
Resumen
Adaptive Systems (ASs) evaluate their own behavior and change it when the evaluation indicates it is not accomplishing the established goals, or when better functionality or performance is possible. Nowadays these kind of systems actuate in several domains due to the capability to deal with uncertainties that came from dynamic contexts. Despite the relevance they are acquiring and according to our findings, the quality of the adaptive architecture have not been properly taken into account by software engineers and consequently this lack of attention may affect quality attributes such as maintenance and evolution. A possible explanation is that software engineers are not aware of reference models to design ASs or they do not implement them completely which makes arise a type of architectural anomaly called architectural drift that occurs when the Current Architecture (CA) deviates from the Planned Architecture (PA). Although there are several approaches to identify architectural drifts they use a generic vocabulary to specify structural and communication rules that do not reflect the semantics of a particular domain. In more specialized domains, specific abstractions become important and strongly influence how systems are designed. In these cases, systems involve components with very specific and specialized roles that end up guiding how the the architecture must be designed. Therefore to support the Architecture Conformance Checking (ACC) process in ASs we propose REMEDY, a domain-specific approach that allows the specification of the planned adaptive architecture based on the Monitor, Analyzer, Planner, Executor, Knowledge (MAPE-K) reference model, the recovery of the current adaptive architecture, the conformance checking process and architecture visualizations. To achieve our goals, we investigate the occurrences of architectural drifts in representative ASs. Based on our findings we propose a Domain Specific Language (DSL) that implements the canonical abstractions prescribed by the MAPE-K and others that are not evident in the reference model. Also, our approach provides preconfigured domain rules ready to be checked by software engineers without specifying them from the scratch. We perform two types of evaluation: a controlled experiment to evaluate our DSL and a quality validation of our conformance checking process. In the first one we evaluate productivity in terms of time and errors by using our DSL against to DCL-KDM which is a generic ACC approach. In the second one we evaluate the accuracy of our checking process in two subject systems. The results show that when software engineers design the adaptive part of
an AS with our DSL the productivity increased over a generic approach. Also, our approach reached above of 90% of accuracy in terms of precision and recall at time to identify the architectural drifts.