Requirements-driven evolution of sociotechnical systems via probabilistic reasoning and hill climbing. Dell'Anna, D., Dalpiaz, F., & Dastani, M. Automated Software Engineering, 26(3):513–557, 2019.
Requirements-driven evolution of sociotechnical systems via probabilistic reasoning and hill climbing [link]Paper  doi  abstract   bibtex   
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.
@article{DBLP:journals/ase/DellAnnaDD19,
  author    = {Davide Dell'Anna and
               Fabiano Dalpiaz and
               Mehdi Dastani},
  title     = {Requirements-driven evolution of sociotechnical systems via probabilistic
               reasoning and hill climbing},
  journal   = {Automated Software Engineering},
  volume    = {26},
  number    = {3},
  pages     = {513--557},
  year      = {2019},
  url_Paper       = {https://doi.org/10.1007/s10515-019-00255-5},
  doi       = {10.1007/s10515-019-00255-5},
  keywords  = {Requirements, Revision, Evolution, Socio-Technical Systems, Bayesian Networks, Hill-Climbing, Data Driven Supervision Of Autonomous Systems},
  timestamp = {Thu, 31 Oct 2019 00:00:00 +0100},
  biburl    = {https://dblp.org/rec/journals/ase/DellAnnaDD19.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org},
  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) <i>manual</i>: 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) <i>automated</i>: 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.}
}

Downloads: 0