Conference Paper

Requirements-Aware Systems: A Research Agenda for RE for Self-adaptive Systems.

Comput. Dept., Lancaster Univ., Lancaster, UK
DOI: 10.1109/RE.2010.21 Conference: RE 2010, 18th IEEE International Requirements Engineering Conference, Sydney, New South Wales, Australia, September 27 - October 1, 2010
Source: DBLP

ABSTRACT Requirements are sensitive to the context in which the system-to-be must operate. Where such context is well understood and is static or evolves slowly, existing RE techniques can be made to work well. Increasingly, however, development projects are being challenged to build systems to operate in contexts that are volatile over short periods in ways that are imperfectly understood. Such systems need to be able to adapt to new environmental contexts dynamically, but the contextual uncertainty that demands this self-adaptive ability makes it hard to formulate, validate and manage their requirements. Different contexts may demand different requirements trade-offs. Unanticipated contexts may even lead to entirely new requirements. To help counter this uncertainty, we argue that requirements for self-adaptive systems should be run-time entities that can be reasoned over in order to understand the extent to which they are being satisfied and to support adaptation decisions that can take advantage of the systems' self-adaptive machinery. We take our inspiration from the fact that explicit, abstract representations of software architectures used to be considered design-time-only entities but computational reflection showed that architectural concerns could be represented at run-time too, helping systems to dynamically reconfigure themselves according to changing context. We propose to use analogous mechanisms to achieve requirements reflection. In this paper we discuss the ideas that support requirements reflection as a means to articulate some of the outstanding research challenges.


Available from: Nelly Bencomo, Apr 26, 2015
  • [Show abstract] [Hide abstract]
    ABSTRACT: Information systems today are expected to function in an increasingly dynamic world with many uncertainties. System development is seldom a linear progression from well-defined, fully-specified requirements to finished products that fully meet the initial requirements. More likely, there are ongoing cycles of exploration, design and implementation, taking into account evolving needs and capabilities, as well as lessons from earlier cycles. Existing requirements modeling and analysis techniques largely presume application settings that are stable and predictable. Can these techniques be used to support analysis in the new dynamic environment? Scenarios from the recent surge in demand for business intelligence capabilities in enterprises provide an interesting setting for examining organizational and IT responses to the challenges of high uncertainty and rapid change. In this paper, we apply existing requirements modeling techniques to these scenarios in order to uncover their inadequacies, and to identify research challenges.
    2013 IEEE Seventh International Conference on Research Challenges in Information Science (RCIS); 05/2013
  • [Show abstract] [Hide abstract]
    ABSTRACT: In an uncertain and changing environment, a composite service needs to continuously optimize its business process and service selection through runtime adaptation. To achieve the overall satisfaction of stakeholder requirements, quality tradeoffs are needed to adapt the composite service in response to the changing environments. Existing approaches on service selection and composition, however, are mostly based on quality preferences and business processes decisions made statically at the design time. In this paper, we propose a requirements-driven self-optimization approach for composite services. It measures the quality of services (QoS), estimates the earned business value, and tunes the preference ranks through a feedback loop. The detection of unexpected earned business value triggers the proposed self-optimization process systematically. At the process level, a preference-based reasoner configures a requirements goal model according to the tuned preference ranks of QoS requirements, reconfiguring the business process according to its mappings from the goal configurations. At the service level, selection decisions are optimized by utilizing the tuned weights of QoS criteria. We used an experimental study to evaluate the proposed approach. Results indicate that the new approach outperforms both fixed-weighted and floating-weighted service selection approaches with respect to earned business value and adaptation flexibility.
    IEEE Transactions on Services Computing 01/2015; 8(1):107-120. DOI:10.1109/TSC.2014.2298866 · 1.99 Impact Factor
  • [Show abstract] [Hide abstract]
    ABSTRACT: Dynamically adaptive systems (DAS) must cope with system and environmental conditions that may not have been fully understood or anticipated during development. RELAX is a fuzzy logic-based specification language for identifying and assessing sources of environmental uncertainty, thereby making DAS requirements more tolerant of unanticipated conditions. This paper presents AutoRELAX, an approach that automatically generates RELAXed goal models to address environmental uncertainty. Specifically, AutoRELAX identifies goals to RELAX, which RELAX operators to apply, and the shape of the fuzzy logic function that establishes the goal satisfaction criteria. AutoRELAX generates different solutions by making tradeoffs between minimizing the number of RELAXed goals and maximizing delivered functionality by reducing the number of adaptations triggered by minor and adverse environmental conditions. In a recent extension, AutoRELAX uses a stepwise adaptation of weights to balance these two competing concerns and thereby further improve the utility of AutoRELAX. We apply it to two industry-based applications involving network management and a robotic controller, respectively.
    Empirical Software Engineering 10/2014; 19(5). DOI:10.1007/s10664-014-9305-0 · 1.64 Impact Factor