posted on 2024-07-09, 13:55authored byMahmoud Hussein, Jun HanJun Han, Jian Yu, Alan Colman
Context-awareness and adaptability are highly desirable features for services that are operating in dynamic environments. Recently, a number of approaches have been introduced to support the development of such services. But, validating the varying requirements of these services is still a major challenge. In this paper, we introduce a novel scenario-based approach to address this challenge. First, our approach captures a service's requirements as two sets of scenarios: functional and adaptation. The functional scenarios represent the service's core functionality, while the adaptation scenarios capture the service's runtime adaptation in response to context changes. The service properties that need to hold at runtime are also represented graphically in a form similar to the scenarios. Second, a technique is introduced to enumerate and generate the specifications of a service's variants from its scenarios. The generated variants are then validated against the service properties to ensure their validity. This technique also checks the consistency of the service's adaptation requirements (scenarios). Case studies have shown that with our approach, a small number of service scenarios specified by the software engineer is able to cover a large number of service variants, which are generated and validated automatically.