Visualizing the Analysis of Dynamically Adaptive Systems Using i* and DSLs * Pete Sawyer 1 , Nelly Bencomo 1 , Danny Hughes 1 , Paul Grace 2 , Heather J. Goldsby 3 , Betty H. C. Cheng 3 1 Computing department, InfoLab21, Lancaster University, LA1 4WA, United Kingdom 2 Departement Computerwetenschappen, Katholieke Universiteit Leuven, B-3001 Heverlee, Belgium 3 Department of Computer Science and Engineering, Michigan State University, East Lansing, MI 48824, USA email: {sawyer,nelly,danny}@comp.lancs.ac.uk;{Paul.Grace}@cs.kuleuven.be {hjg,chengb}@cse.msu.edu Abstract Self-adaptation is emerging as a crucial enabling ca- pability for many applications, particularly those deployed in dynamically changing environments. One key challenge posed by Dynamically Adaptive Systems (DASs) is the need to handle changes to the requirements and corresponding behavior of a DAS in response to varying environmental conditions. In this paper we propose a visual model-driven approach that uses the i* modeling language to represent goal models for the DAS requirements. Our approach ap- plies a rigorous separation of concerns between the re- quirements for the DAS to operate in stable conditions and those that enable it to adapt at run-time to enable it to cope with changes in its environment. We further show how re- quirements derived from the i* modeling can be used by a domain-specific language to achieve requirements model- driven development. We describe our experiences with ap- plying this approach to GridStix, an adaptive flood warning system, deployed on the River Ribble in North Yorkshire, England. 1. Introduction It is generally accepted that errors in requirements are very costly to fix [22]. The avoidance of erroneous require- ments is particularly important for the emerging class of systems that need to adapt dynamically to changes in their environment. Many such Dynamically Adaptive Systems (DASs) are being conceived for applications that require a high degree of assurance [23, 27], in which an erroneous re- * This work has been supported in part by NSF grants EIA-0000433, EIA-0130724, CDA-9700732, CCR-9901017, Department of the Navy, Office of Naval Research under Grant No. N00014-01-1-0744, Eaton Cor- poration, Siemens Corporate Research, a grant from Michigan State Uni- versity’s Quality Fund and EPSRC project EP/C010345/1 The Divergent Grid quirement may result in a failure at run-time that has serious consequences. Of course, the requirement for high assur- ance is not unique to DASs, but the requirement for dynamic adaptation introduces complexity of a kind not seen in con- ventional systems where adaptation, if it is needed at all, can be done off-line. This dynamic adaptation-consequent com- plexity is manifested at all levels, from the services offered by the run-time platform, to the analytical tools needed to understand the environment in which the DAS must oper- ate. Recent years have seen much progress in designing plat- forms and programming frameworks that support DAS de- velopers [15, 16, 18, 20, 24, 25]. Component frameworks and service architectures are emerging that permit architec- tural reconfiguration at run time to, for example, substitute networking technologies on-the-fly. While the technologies that enable systems to adapt are developing quickly, support for understanding the conditions in the problem domain that act as the stimuli for system adaptation, and for translating this understanding into requirements is lacking. We believe that useful DAS deployment will be inhibited until we are able to equip analysts with the tools to help them specify the requirements for the highly complex problems they need to solve. The focus of our work is on closing the gap between un- derstanding DAS requirements and implementing them. In this paper we describe how we combine the goal-oriented modeling of problems that demand DAS solutions with the model-driven development of DAS architectures. Our approach is fundamentally visual since we use i* [28] to model states of the environment, the condi- tions that signify transitions between states in the environ- ment, and conditions that determine when system adapta- tion needs to occur. We show how goal models can be re- fined and translated into a visual domain-specific language (DSL) for architecting middleware component configura- tions. We illustrate the utility of our approach using a de- ployed prototype of a flood warning system called GridStix. 1