Requirements-driven evolution of sociotechnical systems via probabilistic reasoning and hill climbing

Research output: Contribution to journalArticleAcademicpeer-review

Abstract

Sociotechnical systems (STSs) are defined by the interaction between technical systems, like software and machines, and social entities, like humans and organizations. The entities within an STS are autonomous, thus weakly controllable, and the environment where the STS operates is highly dynamic. As a result, the design artifacts that represent the requirements of an STS, such as requirements models, may end up being invalid when the system operates, for the autonomous entities do not comply with the requirements, or the environment changes. In this paper, we present a framework that uses runtime execution data to support the runtime validation of requirements models and to guide the evolution of an STS. We propose two types of evolution: (i) manual: the analyst uses Bayesian inference to discover which assumptions in a requirements model are invalid and manually adjusts the system or its model; and (ii) automated: requirements are iteratively revised by an hill climbing algorithm searching for requirements that maximize the achievement of the stakeholders’ objectives. We evaluate the effectiveness of different revision heuristics on a smart traffic simulation applied to an exemplar from the self-adaptive systems literature. The results show that our heuristics, informed by runtime execution data, outperform standard uninformed heuristics, in terms of convergence speed, solution quality, and stability. Moreover, the algorithms show good resilience to noise introduced into the execution data.
Original languageEnglish
Pages (from-to)513–557
JournalAutomated Software Engineering
Volume26
Early online date2019
DOIs
Publication statusPublished - 2019

Keywords

  • requirements engineering
  • sociotechnical systems
  • bayesian networks
  • requirements revision

Fingerprint

Dive into the research topics of 'Requirements-driven evolution of sociotechnical systems via probabilistic reasoning and hill climbing'. Together they form a unique fingerprint.

Cite this