Simulating and Optimizing Design Decisions in Goal-Oriented ... - LIRIS

different levels of abstraction, for reasoning about conflicts between goals, for identi- fying and resolving obstacles to the satisfaction of goals, and for exploring ...
41KB taille 4 téléchargements 426 vues
Simulating and Optimizing Design Decisions in Goal-Oriented Requirements Models Emmanuel Letier Department of Computer Science University College of London Gower Street, London WC1E 6BT, UK [email protected]

Abstract. Most software development projects involve transforming an existing system rather than developing one from scratch. The systems under consideration are typically large-scale systems composed of a multitude of heterogeneous components including software components, hardware devices, and human actors. Such systems must satisfy the needs of a diverse group of stakeholders in an organizational context itself in constant evolution. The project often starts from vague and conflicting objectives and involves a large number of interrelated design decisions at different level of abstracting from defining strategic goals to making low-level technical decisions. Goal-oriented requirements engineering provide useful techniques for making decisions in this context. It provides a rich modelling framework for relating goals at different levels of abstraction, for reasoning about conflicts between goals, for identifying and resolving obstacles to the satisfaction of goals, and for exploring alternative system designs and their impacts on goal satisfaction. Rigorous techniques have been developed to guide the elaboration of such models through a combination of modelling heuristics and automated analysis techniques. Making choices among large sets of alternatives design choices, however, remains a difficult problem. Qualitative techniques for reasoning about levels of goal satisfaction are generally insufficient to inform such decisions. We have developed a quantitative extension to KAOS goal models to provide more precise and rigorous decision support. In such models, non-functional goals are specified in a precise, probabilistic way ; their specification is interpreted in terms of application-specific measures ; and the impact of alternative designs is evaluated using refinement equations over random variables. The models are testable in the sense that they can be validated or invalidated by observations of the running system. They allow one to model and reason about uncertainties concerning components ? behaviour. We are currently developing tool support for such models. These consist in computing the impacts of alternative de-

sign decisions through stochastic simulation and in identifying optimal design choices using search-based multi-objective decision techniques. The talk will provide an overview of goal-oriented requirements engineering techniques using the KAOS method and will describe our current work in developing quantitative decision-support techniques to manage the evolution of large-scale sociotechnical systems.