posted on 2024-07-10, 00:16authored byMahmoud Hussein, Jun HanJun Han, Alan Colman, Jian Yu
Context-aware adaptive software systems need to have models for their adaptive behaviour. These models specify systems' reactions to cbanges in their environments. In large scale software systems with high variability, an explosion in the number of the system's sates (i.e. the system's configurations or behaviours) and the transitions between them (i.e. the system adaptive behaviour) is introduced. As such, specifying the system adaptive behaviour and assuring its correctness are major challenges. In this paper, we introduce a novel approach to specifying and validating the context-aware adaptive behaviour of a software system. Our approach explicitly represents the relationships between the context changes and the system variations, so that the system adaptive behaviour can be easily captured. We also classify the possible system variations into dependent and independent variations to reduce the possible system states and the transition between them. To assure the adaptive behaviour correctness, the system adaptive behaviour model is transformed to a Petri Net model so that it can be validated to detect adaptation behaviour errors such as inconsistency, redundancy, circularity, and incompleteness. In addition, we demonstrate our approach though specifying and validating the context-aware adaptive behaviour of a route planning software system.