CaRE: a refinement calculus for requirements engineering based on argumentation theory | Software and Systems Modeling
Skip to main content

CaRE: a refinement calculus for requirements engineering based on argumentation theory

  • Theme Section Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

Abstract

The Requirements Engineering (RE) process starts with initial requirements elicited from stakeholders—however conflicting, unattainable, incomplete and ambiguous—and successively refines them until a consistent, complete, valid, and unambiguous specification is reached. This is achieved by balancing stakeholders’ viewpoints and preferences to reach compromises through negotiation. Several frameworks have been developed to support this process in a structured way, such as KAOS, i*, and RationalGLR. However, none provides the means to model the dialectic negotiation inherent to the RE process, so that the derivation of specifications from requirements is fully explicit and traceable. To address this gap, we propose CaRE, a refinement calculus for requirements engineering based on argumentation theory. CaRE casts the RE refinement problem as an iterative argument between all relevant stakeholders, who point out defects (ambiguity, incompleteness, etc.) of existing requirements, and then propose suitable refinements to address them, thereby leading to the construction of a refinement graph. This graph is then a conceptual model of the RE process. The semantics of refinement graphs is provided using Argumentation Theory, enabling reasoning over the RE process and the automatic computation of software specifications. An alternate semantics is also presented based on abduction and using Horn Theory. The application of CaRE is showcased with an extensive example from the railway domain, and a prototype tool for identifying specifications in a refinement graph is presented.

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

Access this article

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (Japan)

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. It is important to note that the term “refinement” means “improvement”, not just “elaboration”, so that requirements can be weakened or even dropped.

  2. Identification of leaf nodes is detailed in Sect. 3.

  3. At the least, an extension S contains no arguments a and b such that a attacks b; and every argument b outside S that attacks an \(a\in S\) is in turn attacked by an element of S.

  4. In this paper, we adopt a simplified version of aspic \(^+\).

  5. Henceforth, we will use Req, Defect and Ref as predicates in Prolog: variables (in italics) match possible values, and underscores _ are wildcards. In logical formulas, wildcards are existentially quantified anonymous variables.

  6. Note that we adopt the Prolog notation of using symbols starting with upper-case letters to represent variables and the underscore symbol \(\_\) to denote an anonymous variable.

References

  1. Bagheri, E., Ensan, F.: Consolidating Multiple Requirement Specifications Through Argumentation. ACM SAC pp. 659–666 (2011)

  2. Black, E., McBurney, P., Zschaler, S.: Towards agent dialogue as a tool for capturing software design discussions. In: International Workshop on Theorie and Applications of Formal Argumentation, pp. 95–110. Springer (2013)

  3. Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., Mylopoulos, J.: Tropos: an agent-oriented software development methodology. Auton. Agents Multi-Agent Syst. 8(3), 203–236 (2004)

    Article  MATH  Google Scholar 

  4. Cailliau, A., van Lamsweerde, A.: Assessing requirements-related risks through probabilistic goals and obstacles. Requir. Eng. 18(2), 129–146 (2013)

    Article  Google Scholar 

  5. Cailliau, A., van Lamsweerde, A.: Runtime monitoring and resolution of probabilistic obstacles to system goals. ACM Trans. Auton. Adapt. Syst. 14(1), 3:1-3:40 (2019). https://doi.org/10.1145/3337800

    Article  Google Scholar 

  6. Caminada, M.: On the issue of reinstatement in argumentation. In: Logics in Artificial Intelligence, pp. 111–123. Springer, Berlin (2006)

    Chapter  MATH  Google Scholar 

  7. Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20(1–2), 3–50 (1993)

    Article  MATH  Google Scholar 

  8. De Kleer, J.: An assumption-based TMS. Artif. Intell. 28(2), 127–162 (1986)

    Article  Google Scholar 

  9. Dung, P.M.: On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and n-person games. AI J 77(2), 321–357 (1995)

    MathSciNet  MATH  Google Scholar 

  10. ElRakaiby, Y., Borgida, A., Ferrari, A., Mylopoulos, J.: CaRE: A Refinement Calculus for Requirements Engineering based on Argumentation Theory (Proofs and Tool) (2020). https://doi.org/10.5281/zenodo.4156216

  11. Elrakaiby, Y., Ferrari, A., Mylopoulos, J.: Care: A refinement calculus for requirements engineering based on argumentation semantics. In: 2018 IEEE 26th International Requirements Engineering Conference (RE), pp. 364–369 (2018). https://doi.org/10.1109/RE.2018.00-24

  12. Elrakaiby, Y., Ferrari, A., Spoletini, P., Gnesi, S., Nuseibeh, B.: Using argumentation to explain ambiguity in requirements elicitation interviews. In: RE’17, pp. 51–60. IEEE (2017)

  13. Ernst, N.A., Borgida, A., Mylopoulos, J., Jureta, I.: Agile requirements evolution via paraconsistent reasoning. In: Advanced Information Systems Engineering - 24th International Conference, CAiSE 2012, Gdansk, Poland, June 25–29, 2012. Proceedings, Lecture Notes in Computer Science, vol. 7328, pp. 382–397. Springer (2012)

  14. European Union Agency for Railways: ERTMS/ETCS System Requirements Specification 3.4.0. http://www.era.europa.eu/Document-Register/Pages/Set-2-System-Requirements-Specification.aspx (2016)

  15. Fernández, D.M., Wagner, S., Kalinowski, M., Felderer, M., Mafra, P., Vetrò, A., Conte, T., Christiansson, M.T., Greer, D., Lassenius, C., et al.: Naming the pain in requirements engineering. Empir. Softw. Eng. 22(5), 2298–2338 (2017)

    Article  Google Scholar 

  16. Finkelstein, A.: Modeling the software process:“not waving but drowning” (panel session) representation schemes for modelling software development. In: Proceedings of the 11th International Conference on Software Engineering, pp. 402–404 (1989)

  17. Franqueira, V.N.L., Tun, T.T., Yu, Y., Wieringa, R., Nuseibeh, B.: Risk and argument: a risk-based argumentation method for practical security. In: RE 2011, pp. 239–248 (2011)

  18. Ghose, A.: Formal tools for managing inconsistency and change in RE. In: Int. Workshop on Software Specification and Design, pp. 171–181 (2000). http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=891138

  19. Greenspan, S.J., Borgida, A., Mylopoulos, J.: A requirements modeling language and its logic. Inf. Syst. 11(1), 9–23 (1986)

    Article  Google Scholar 

  20. Greenspan, S.J., Mylopoulos, J., Borgida, A.: Capturing more world knowledge in the requirements specification. In: Proceedings of the 6th International Conference on Software Engineering, ICSE ’82, p. 225–234. IEEE Computer Society Press, Washington, DC, USA (1982)

  21. Haley, C.B., Laney, R., Moffett, J.D., Nuseibeh, B.: Security requirements engineering: a framework for representation and analysis. TSE 34(1), 133–153 (2008)

    Google Scholar 

  22. Heaven, W., Letier, E.: Simulating and optimising design decisions in quantitative goal models. In: 2011 IEEE 19th International Requirements Engineering Conference, pp. 79–88. IEEE (2011)

  23. Hegel, G.W.F.: Ph’anomenologie des Geistes (1807)

  24. Hoare, C.A.R., Lauer, P.E.: Consistent and complementary formal theories of the semantics of programming languages. Acta Informatica 3(2), 135–153 (1974)

    Article  MathSciNet  MATH  Google Scholar 

  25. Hunter, A., Nuseibeh, B.: Analysing inconsistent specifications. In: RE, pp. 78–86 (1997). 10.1109/ISRE.1997.566844. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=566844

  26. Hunter, A., Nuseibeh, B.: Managing inconsistent specifications: reasoning, analysis, and action. ACM Trans. Softw. Eng. Methodol. 7(4), 335–367 (1998)

    Article  Google Scholar 

  27. IEEE Recommended Practice for Software Requirements Specifications: IEEE Std 830–1998, 1–40 (1998)

  28. Iso/iec/ieee international standard—systems and software engineering– life cycle processes—equirements engineering. ISO/IEC/IEEE 29148:2011(E) (2011)

  29. Ingolfo, S., Siena, A., Mylopoulos, J., Susi, A., Perini, A.: Arguing regulatory compliance of software requirements. DKE 87, 279–296 (2013)

    Article  Google Scholar 

  30. Jackson, M., Zave, P.: Deriving specifications from requirements: an example. In: ICSE’95, pp. 15–15. IEEE (1995)

  31. Jureta, I.J., Faulkner, S., Schobbens, P.Y.: Clear justification of modeling decisions for goal-oriented requirements engineering. Requir. Eng. 13(2), 87 (2008)

    Article  Google Scholar 

  32. Jureta, I.J., Mylopoulos, J., Faulkner, S.: Analysis of multi-party agreement in requirements validation. In: RE’09, pp. 57–66 (2009)

  33. Lamsweerde, A.V.: Requirements Engineering: From System Goals to UML Models to Software Specifications, 10th edn. Wiley, Chichester, UK (2009)

    Google Scholar 

  34. Letier, E., van Lamsweerde, A.: Kaos in action: the bart system. In: IFIP WG2, vol. 9 (2000)

  35. Li, F.L., Horkoff, J., Borgida, A., Guizzardi, G., Liu, L., Mylopoulos, J.: From stakeholder requirements to formal specifications through refinement. In: Conf. on Requirements Engineering: Foundation for Software Quality (REFSQ’15), pp. 164–180. Springer (2015)

  36. Mirbel, I., Villata, S.: Enhancing Goal-based Requirements Consistency: an Argumentation-based Approach. In: Int. Work. Comput. Log. Multi-Agent Syst., pp. 110–127 (2012)

  37. Modgil, S., Prakken, H.: The ASPIC+ framework for structured argumentation: a tutorial. Argum. Comput. 5, 31–62 (2014)

    Article  Google Scholar 

  38. Murukannaiah, P.K., Kalia, A.K., Telangy, P.R., Singh, M.P.: Resolving goal conflicts via argumentation-based analysis of competing hypotheses. In: Proc. RE’15, pp. 156–165 (2015)

  39. Potts, C., Takahashi, K., Anton, A.I.: Inquiry-based requirements analysis. IEEE Softw. 11(2), 21–32 (1994)

    Article  Google Scholar 

  40. Ross, D.T.: Structured analysis (SA): a language for communicating ideas. IEEE TSE 1, 16–34 (1977)

    Google Scholar 

  41. Selman, B., Levesque, H.J.: Abductive and default asoning: a computational core (1990)

  42. Tjong, S.F., Berry, D.M.: The design of SREE: a prototype potential ambiguity finder for requirements specifications and lessons learned. In: REFSQ’13, pp. 80–95. Springer (2013)

  43. Toulmin, S.E.: The Uses of Argument. Cambridge University Press, Cambridge (2003)

    Book  Google Scholar 

  44. van Lamsweerde, A.: Handling obstacles in goal-oriented requirements engineering. IEEE TSE 26(10), 978–1005 (2000)

    Google Scholar 

  45. Van Lamsweerde, A.: Goal-oriented requirements engineering: A guided tour. In: Proceedings Fifth IEEE International Symposium on Requirements Engineering, pp. 249–262. IEEE (2001)

  46. van Lamsweerde, A.: Goal-oriented requirements enginering: a roundtrip from research to practice. In: RE’04), pp. 4–7 (2004)

  47. van Zee, M., Bex, F., Ghanavati, S.: Rationalization of goal models in GRL using formal argumentation. In: Proc. RE’15, pp. 220–225. IEEE Comput. Soc. (2015)

  48. van Zee, M., Marosin, D., Bex, F., Ghanavati, S.: RationalGRL: A framework for rationalizing goal models using argument diagrams. In: Proc. ER’16, pp. 553–560. Springer (2016)

  49. van Zee, M., Bex, F., Ghanavati, S.: Rationalgrl: a framework for argumentation and goal modeling. Argum. Comput. (Preprint) 1–55,(2020)

  50. Westfechtel, B.: Case-based exploration of bidirectional transformations in QVT relations. Softw. Syst. Model. 17(3), 989–1029 (2018)

    Article  Google Scholar 

  51. Yu, E.: Modeling strategic relationships for process reengineering. Soc. Model. Requir. Eng. 11(2011), 66–87 (2011)

    Google Scholar 

  52. Yu, E.S.: An organization modeling framework for information system requirements engineering. In: Proc. Wkshp. Information Technologies and Systems (WITS’93), p. 9 (1993)

  53. Zowghi, D., Offen, R.: A logical framework for modeling and reasoning about the evolution of requirements. pp. 247–257 (1997)

Download references

Author information

Authors and Affiliations

Authors

Additional information

Communicated by J. Araujo, A. Moreira, G. Mussbacher, and P. Sánchez.

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

Elrakaiby, Y., Borgida, A., Ferrari, A. et al. CaRE: a refinement calculus for requirements engineering based on argumentation theory. Softw Syst Model 21, 2113–2132 (2022). https://doi.org/10.1007/s10270-021-00943-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-021-00943-5

Keywords