Modelling and Static Analysis of Self-adaptive Systems by Graph Transformation

Software systems nowadays require continuous operation despite changes both in user needs and in their operational environments. Self-adaptive systems are typically instrumented with tools to autonomously perform adaptation to these changes while maintaining some desired properties. In this chapter, we model and analyse selfadaptive systems by means of typed, attributed graph grammars. The interplay of different grammars representing the application and the adaptation logic is realised by an adaptation manager. Within this formal framework we define consistency and operational properties that are maintained despite adaptations, and we give static conditions for their verification. The overall approach is supported by AGG 2.0 (see Sect. 12.1). A case study modelling a business process that adapts to changing environment conditions is used to demonstrate and validate the formal framework [BKM+12]. The modelling framework described in this chapter is based on joint work of the authors with Antonio Bucchiarone, Patrizio Pellicione and Olga Runge [EER+10, BEE+13, BEE+15].