Skip to main content
Log in

A negotiation support system for defining utility functions for multi-stakeholder self-adaptive systems

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

For realistic self-adaptive systems, multiple quality attributes need to be considered and traded off against each other. These quality attributes are commonly encoded in a utility function, for instance, a weighted sum of relevant objectives. Utility functions are typically subject to a set of constraints, i.e., hard requirements that should not be violated by the system. The research agenda for requirements engineering for self-adaptive systems has raised the need for decision-making techniques that consider the trade-offs and priorities of multiple objectives. Human stakeholders need to be engaged in the decision-making process so that constraints and the relative importance of each objective can be correctly elicited. This paper presents a method that supports multiple stakeholders in eliciting constraints, prioritizing quality attributes, negotiating priorities, and giving input to define utility functions for self-adaptive systems. We developed tool support in the form of a blackboard system that aggregates information by different stakeholders, detects conflicts, proposes mechanisms to reach an agreement, and generates a utility function. We performed a think-aloud study with 14 participants to investigate negotiation processes and assess the approach’s understandability and user satisfaction. Our study sheds light on how humans reason about and how they negotiate around quality attributes. The mechanisms for conflict detection and resolution were perceived as very useful. Overall, our approach was found to make the process of utility function definition more understandable and transparent.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  1. https://doi.org/10.6084/m9.figshare.17019125.v1

References

  1. Abdennadher I, Rodriguez IB, Jmaiel M (2018) A utility-based approach for self-adaptive systems: Application to a smart building. In: Proceedings of the IEEE/ACS 14th international conference on computer systems and applications (AICCSA), pp 76–82. https://doi.org/10.1109/AICCSA.2017.41

  2. Ahmad S (2008) Negotiation in the requirements elicitation and analysis process. In: Proceedings of the 19th Australian conference on software engineering (ASWEC 2008), pp 683–689. https://doi.org/10.1109/ASWEC.2008.4483263

  3. Akhigbe O, Alhaj M, Amyot D, Badreddin O, Braun E, Cartwright N, Richards G, Mussbacher G (2014) Creating quantitative goal models: governmental experience. In: Yu E, Dobbie G, Jarke M, Purao S (eds) Conceptual modeling. Springer International Publishing, Cham, pp 466–473

    Chapter  Google Scholar 

  4. Anda AA (2020) Combining goals and SysML for traceability and decision-making in the development of adaptive socio-cyber-physical systems. Ph.D. thesis, Université d’Ottawa/University of Ottawa

  5. Asadi M, Soltani S, Gasevic D, Hatala M, Bagheri E (2014) Toward automated feature model configuration with optimizing non-functional requirements. Inf Softw Technol 56(9):1144–1165. https://doi.org/10.1016/j.infsof.2014.03.005

    Article  Google Scholar 

  6. Berander P, Andrews A (2005) Requirements prioritization. In: Engineering and managing software requirements, pp 69–94. Springer

  7. Boehm B (2003) Value-based software engineering: reinventing. ACM SIGSOFT Softw Eng Notes 28(2):3

    Article  Google Scholar 

  8. Boehm B, Bose P, Horowitz E, Lee MJ (1994) Software requirements as negotiated win conditions. In: Proceedings of the international conference on requirements engineering, May 1994, pp 74–83. https://doi.org/10.1109/icre.1994.292400

  9. Bowers KM, Fredericks EM, Cheng BHC (2018) Automated optimization of weighted non-functional objectives in self-adaptive systems. In: Colanzi TE, McMinn P (eds) Search Based Softw Eng. Springer International Publishing, Cham, pp 182–197

    Chapter  Google Scholar 

  10. Bowers KM, Fredericks EM, Hariri RH, H C Cheng B (2020) Providentia: Using search-based heuristics to optimize satisficement and competing concerns between functional and non-functional objectives in self-adaptive systems. J Syst Softw 162, 110497. https://doi.org/10.1016/j.jss.2019.110497

  11. Cegan JC, Filion AM, Keisler JM, Linkov I (2017) Trends and applications of multi-criteria decision analysis in environmental sciences: literature review. Environ Syst Dec 37(2):123–133

    Article  Google Scholar 

  12. Cheng SW, Garlan D, Schmerl B (2006) Architecture-based self-adaptation in the presence of multiple objectives. In: Proceedings of the 2006 international workshop on self-adaptation and self-managing systems. https://doi.org/10.1145/1137677.1137679

  13. Corkill DD (1991) Blackboard systems. AI Exp 6:40–47

    Google Scholar 

  14. Creswell JW (2008) Research design: qualitative, quantitative, and mixed methods approaches, 3 edn. Sage Publications Ltd.

  15. Curtain C (2021) QualCoder 2.4 [Computer software]. https://github.com/ccbogel/QualCoder/releases/tag/2.4

  16. Cámara J, Lopes A, Garlan D, Schmerl B (2016) Adaptation impact and environment models for architecture-based self-adaptive systems. Sci Comput Program 127:50–75. https://doi.org/10.1016/j.scico.2015.12.006

    Article  Google Scholar 

  17. Dell’Anna D, Dalpiaz F, Dastani M (2019) Requirements-driven evolution of sociotechnical systems via probabilistic reasoning and hill climbing. Auto Softw Eng 26(3):513–557

  18. Elahi G, Yu E (2012) Comparing alternatives for analyzing requirements trade-offs—in the absence of numerical data. Inf. Softw. Technol. 54(6):517–530. https://doi.org/10.1016/j.infsof.2011.10.007

    Article  Google Scholar 

  19. Ericsson KA, Simon HA (1984) Protocol analysis: verbal reports as data. MIT Press

  20. Erman LD, Hayes-Roth F, Lesser VR, Reddy DR (1980) The Hearsay-II speech-understanding system: integrating knowledge to resolve uncertainty. ACM Comput Surv 12(2):213–253. https://doi.org/10.1145/356810.356816

    Article  Google Scholar 

  21. Esfahani N, Elkhodary A, Malek S (2013) A learning-based framework for engineering feature-oriented self-adaptive software systems. IEEE Trans Softw Eng 39(11):1467–1493

    Article  Google Scholar 

  22. Faniyi F, Lewis PR et al (2014) Architecting self-aware software systems. In: WICSA’14, pp 91–94

  23. Finstad K (2010) The usability metric for user experience. Interact Comput 22(5):323–327

    Article  Google Scholar 

  24. Forgy CL (1989) Rete: A fast algorithm for the many pattern/many object pattern match problem. Readings in Artif Intell Databases, pp 547–559. Elsevier

  25. Galitz WO (2007) The Essential guide to user interface design: an introduction to GUI design principles and techniques. John Wiley & Sons Inc., New York

    Google Scholar 

  26. Ghezzi C, Molzam Sharifloo A (2013) Dealing with non-functional requirements for adaptive systems via dynamic software product-lines, pp 191–213. Springer, Berlin

  27. Grönroos M (2011) Book of Vaadin. Vaadin.com

  28. Grünbacher P (2000) Collaborative requirements negotiation with EasyWinWin. In: Proceedings 11th international workshop on database and expert systems applications, pp 954–958. IEEE

  29. Grünbacher P, Seyff N (2005) Requirements negotiation. In: Engineering and managing software requirements, pp 143–162. Springer

  30. Hauser JR, Urban GL (1979) Assessment of attribute importances and consumer utility functions: Von neumann-morgenstern theory applied to consumer behavior. J Consum Res 5(4):251–262

    Article  Google Scholar 

  31. Heaven W, Sykes D, Magee J, Kramer J (2009) A case study in goal-driven architectural adaptation. In: Software engineering for self-adaptive systems, p 109–127. Springer-Verlag, Berlin. https://doi.org/10.1007/978-3-642-02161-9_6

  32. Hoffman R, Mueller S, Klein G, Litman J (2018) Metrics for explainable AI: challenges and prospects. XAI Metrics

  33. Horkoff J, Yu E (2013) Comparison and evaluation of goal-oriented satisfaction analysis techniques. Require Eng 18(3):199–222. https://doi.org/10.1007/s00766-011-0143-y

    Article  Google Scholar 

  34. Hsu CC, Sandford BA (2007) The Delphi technique: making sense of consensus. Pract Assess Res Eval 12(1):10

    Google Scholar 

  35. Inverardi P, Mori M (2013) A software lifecycle process to support consistent evolutions. In: R. de Lemos (ed.) Self-adaptive systems, vol 7475 LNCS, pp 239–264. Springer, Berlin

  36. Kakousis K, Paspallis N, Papadopoulos G (2008) Optimizing the utility function-based self-adaptive behavior of context-aware systems using user feedback. In: OTM 2008, pp 657–674

  37. Karlsson L, Host M, Regnell B (2006) Evaluating the practical use of different measurement scales in requirements prioritisation. Proceedings of the 5th ACM-IEEE international symposium on empirical software engineering 2006, 326–335 (2006). https://doi.org/10.1145/1159733.1159782

  38. Kendall MG, Smith BB (1939) The problem of \(m\) rankings. Ann. Math. Statist. 10(3):275–287

    Article  MathSciNet  MATH  Google Scholar 

  39. Kephart J (2021) Viewing autonomic computing through the lens of embodied artificial intelligence: a self-debate

  40. Knauss A, Damian D, Franch X, Rook A, Müller HA, Thomo A (2016) ACon: a learning-based approach to deal with uncertainty in contextual requirements at runtime. Inf Softw Technol 70:85–99. https://doi.org/10.1016/j.infsof.2015.10.001

    Article  Google Scholar 

  41. Krejčí J (2018) Pairwise Comparison matrices and their Fuzzy extension. Springer

  42. Lethbridge TC, Sim SE, Singer J (2005) Studying software engineers: data collection techniques for software field studies. Empirical Softw Eng 10(3):311–341. https://doi.org/10.1007/s10664-005-1290-x

    Article  Google Scholar 

  43. Lewis C (1982) Using the ”thinking-aloud” method in cognitive interface design. IBM TJ Watson Research Center Yorktown Heights, NY

  44. Liaskos S, Hamidi S, Jalman R (2013) Qualitative vs. quantitative contribution labels in goal models: Setting an experimental agenda. In: Proceedings of the 6th international i* workshop (iStar 2013), iStar, pp 37–42

  45. Liaskos S, Jalman R, Aranda J (2012) On eliciting contribution measures in goal models. In: Proceedings of the 20th IEEE international requirements engineering conference, pp 21–230. IEEE. https://doi.org/10.1109/RE.2012.6345808

  46. Ossadnik W, Schinke S, Kaspar RH (2016) Group aggregation techniques for analytic hierarchy process and analytic network process: a comparative analysis. Group Dec Negot 25(2):421–457

    Article  Google Scholar 

  47. Paucar LHG, Bencomo N (2018) RE-STORM: mapping the decision-making problem and non-functional requirements trade-off to partially observable markov decision processes. In: Proceedings of the 13th international conference on software engineering for adaptive and self-managing systems, SEAMS ’18, pp 19–25. Association for Computing Machinery, New York, NY, USA . https://doi.org/10.1145/3194133.3195537

  48. Paucar LHG, Bencomo N, Yuen KKF (2019) ARRoW: automatic runtime reappraisal of weights for self-adaptation. In: Proceedings of the 34th ACM/SIGAPP symposium on applied computing, pp 1584–1591

  49. Poladian V, Sousa JP, Garlan D, Shaw M (2004) Dynamic configuration of resource-aware services. In: Proceedings of the 26th international conference on software engineering, pp 604–613 . https://doi.org/10.1109/ICSE.2004.1317482

  50. Proctor M (2011) Drools: a rule engine for complex event processing. In: International symposium on applications of graph transformations with industrial relevance, pp 2–2. Springer

  51. Robinson WN (1996) Automated assistance for conflict resolution in multiple perspective systems analysis and operation. In: Joint proceedings of the 2nd international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints ’96) on SIGSOFT’96 workshops, pp 197–201

  52. Robinson WN, Fickas S (1994) Supporting multi-perspective requirements engineering. In: Proceedings of IEEE international conference on requirements engineering, pp 206–215. IEEE

  53. Rojas JM, Fraser G, Arcuri A (2015) Automated unit test generation during software development: A controlled experiment and think-aloud observations. In: ACM international symposium on software testing and analysis (ISSTA), 2015. ACM

  54. Saaty R (1987) The analytic hierarchy process–what it is and how it is used. Math Modell 9(3):161–176

    Article  MathSciNet  MATH  Google Scholar 

  55. Salehie M, Tahvildari L (2012) Towards a goal-driven approach to action selection in self-adaptive software. Softw Pract Exp 42(2), 211–233

  56. Sawyer P, Bencomo N, et al (2010) Requirements-aware systems: a research agenda for RE for self-adaptive systems. In: RE’10, pp 95–103

  57. Schoop M, Jertila A, List T (2003) Negoisst: a negotiation support system for electronic business-to-business negotiations in e-commerce. Data Knowl Eng 47(3):371–401

    Article  Google Scholar 

  58. Serral E, Sernani P, Dalpiaz F (2018) Personalized adaptation in pervasive systems via non-functional requirements. J Ambient Intell Human Comput 9(6):1729–1743

    Article  Google Scholar 

  59. Serral E, Sernani P, Dragoni AF, Dalpiaz F (2017) Contextual requirements prioritization and its application to smart homes. In: Braun A, Wichert R, Maña A (eds) Ambient intelligence. Springer International Publishing, Cham, pp 94–109

    Chapter  Google Scholar 

  60. Song H, Barrett S, Clarke A, Clarke S (2013) Self-adaptation with end-user preferences: using run-time models and constraint solving. In: MODELS’13

  61. Sousa JP, Balan RK, Poladian V, Garlan D, Satyanarayanan M (2008) User guidance of resource-adaptive systems. In: ICSOFT 2008, pp 36–44

  62. Szymanski L, Sniezynski B, Indurkhya B (2018) A multi-agent blackboard architecture for supporting legal decision-making. Comput Sci 19(4)

  63. Thomas KW (1992) Conflict and conflict management: Reflections and update. J Org Behav pp 265–274

  64. Van Lamsweerde A, Darimont R, Letier E (1998) Managing conflicts in goal-driven requirements engineering. IEEE Trans Softw Eng 24(11):908–926. https://doi.org/10.1109/32.730542

    Article  Google Scholar 

  65. Van Someren MW, Barnard YF, Sandberg JA (1994) The think aloud method: a practical approach to modelling cognitive processes, 1 edn. Academic Press

  66. Von Neumann J, Morgenstern O (1953) Theory of games and economic behavior. Princeton University Press, Princeton

  67. Voola P, Babu AV (2013) Comparison of requirements prioritization techniques employing different scales of measurement. ACM SIGSOFT Softw Eng Notes 38(4):1–10. https://doi.org/10.1145/2492248.2492278

    Article  Google Scholar 

  68. Vora P (2009) Web application design patterns. Morgan Kaufmann

  69. Wallace C, Cook C, Summet J, Burnett M (2002) Assertions in end-user software engineering: a think-aloud study. In: Proceedings IEEE 2002 symposia on human centric computing languages and environments, pp 63–65. IEEE

  70. Walsh WE, Tesauro G, Kephart JO, Das R (2004) Utility functions in autonomic systems. In: Proceedings of the international conference on autonomic computing, May 2014, pp 70–77. https://doi.org/10.1109/ICAC.2004.1301349

  71. Wohlrab R, Garlan D (2021) Defining utility functions for multi-stakeholder self-adaptive systems. In: F. Dalpiaz, P. Spoletini (eds.) Require Eng Found Softw Quality, pp 116–122. Springer International Publishing, Cham. https://doi.org/10.1007/978-3-030-73128-1_8

Download references

Acknowledgements

We would like to thank all participants for their help and support with the study. This work is supported in part by the Wallenberg AI, Autonomous Systems and Software Program (WASP) funded by the Knut and Alice Wallenberg Foundation, by award N00014172899 from the Office of Naval Research and by the NSA under Award No. H9823018D000. Any views, opinions, findings and conclusions, or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the Office of Naval Research or the NSA.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rebekka Wohlrab.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wohlrab, R., Garlan, D. A negotiation support system for defining utility functions for multi-stakeholder self-adaptive systems. Requirements Eng 28, 3–22 (2023). https://doi.org/10.1007/s00766-021-00368-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-021-00368-y

Keywords

Navigation