An approach to specifying and validating context-aware adaptive behaviours of software systems


Hussein, Mahmoud; Han, Jun; Colman, Alan; Yu, Jian

Available versions


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.

Publication year


Publication type

Conference paper


9th IEEE International Conference and Workshops on the Engineering of Autonomic and Autonomous Systems (IEEE EASe 2012), Novi Sad, Serbia, 11-13 April 2012




Copyright © 2012. Published by IEEE. The accepted manuscript is reproduced in accordance with the copyright policy of the publisher. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.