Skip to content The Open University

Managing Non-Functional Uncertainty via Model-Driven Adaptivity

Modern software systems are often characterized by uncertainty and changes in the environment in which they are embedded. Hence, they must be designed as adaptive systems. In this talk we discuss a framework that supports adaptation to non-functional manifestations of uncertainty. The proposed framework allows engineers to derive, from an initial model of the system, a finite state automaton augmented with probabilities. The system is then executed by an interpreter that navigates the automaton and invokes the component implementations associated to the states it traverses. The interpreter adapts the execution by choosing among alternative possible paths of the automaton in order to maximize the system's ability to meet its non-functional requirements. We also discuss the implementation of the proposed solution and its application to an adaptive application inspired by an existing worldwide distributed mobile application.