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.
Similar content being viewed by others
Notes
It is important to note that the term “refinement” means “improvement”, not just “elaboration”, so that requirements can be weakened or even dropped.
Identification of leaf nodes is detailed in Sect. 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.
In this paper, we adopt a simplified version of aspic \(^+\).
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.
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
Bagheri, E., Ensan, F.: Consolidating Multiple Requirement Specifications Through Argumentation. ACM SAC pp. 659–666 (2011)
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)
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)
Cailliau, A., van Lamsweerde, A.: Assessing requirements-related risks through probabilistic goals and obstacles. Requir. Eng. 18(2), 129–146 (2013)
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
Caminada, M.: On the issue of reinstatement in argumentation. In: Logics in Artificial Intelligence, pp. 111–123. Springer, Berlin (2006)
Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20(1–2), 3–50 (1993)
De Kleer, J.: An assumption-based TMS. Artif. Intell. 28(2), 127–162 (1986)
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)
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
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
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)
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)
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)
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)
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)
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)
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
Greenspan, S.J., Borgida, A., Mylopoulos, J.: A requirements modeling language and its logic. Inf. Syst. 11(1), 9–23 (1986)
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)
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)
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)
Hegel, G.W.F.: Ph’anomenologie des Geistes (1807)
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)
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
Hunter, A., Nuseibeh, B.: Managing inconsistent specifications: reasoning, analysis, and action. ACM Trans. Softw. Eng. Methodol. 7(4), 335–367 (1998)
IEEE Recommended Practice for Software Requirements Specifications: IEEE Std 830–1998, 1–40 (1998)
Iso/iec/ieee international standard—systems and software engineering– life cycle processes—equirements engineering. ISO/IEC/IEEE 29148:2011(E) (2011)
Ingolfo, S., Siena, A., Mylopoulos, J., Susi, A., Perini, A.: Arguing regulatory compliance of software requirements. DKE 87, 279–296 (2013)
Jackson, M., Zave, P.: Deriving specifications from requirements: an example. In: ICSE’95, pp. 15–15. IEEE (1995)
Jureta, I.J., Faulkner, S., Schobbens, P.Y.: Clear justification of modeling decisions for goal-oriented requirements engineering. Requir. Eng. 13(2), 87 (2008)
Jureta, I.J., Mylopoulos, J., Faulkner, S.: Analysis of multi-party agreement in requirements validation. In: RE’09, pp. 57–66 (2009)
Lamsweerde, A.V.: Requirements Engineering: From System Goals to UML Models to Software Specifications, 10th edn. Wiley, Chichester, UK (2009)
Letier, E., van Lamsweerde, A.: Kaos in action: the bart system. In: IFIP WG2, vol. 9 (2000)
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)
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)
Modgil, S., Prakken, H.: The ASPIC+ framework for structured argumentation: a tutorial. Argum. Comput. 5, 31–62 (2014)
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)
Potts, C., Takahashi, K., Anton, A.I.: Inquiry-based requirements analysis. IEEE Softw. 11(2), 21–32 (1994)
Ross, D.T.: Structured analysis (SA): a language for communicating ideas. IEEE TSE 1, 16–34 (1977)
Selman, B., Levesque, H.J.: Abductive and default asoning: a computational core (1990)
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)
Toulmin, S.E.: The Uses of Argument. Cambridge University Press, Cambridge (2003)
van Lamsweerde, A.: Handling obstacles in goal-oriented requirements engineering. IEEE TSE 26(10), 978–1005 (2000)
Van Lamsweerde, A.: Goal-oriented requirements engineering: A guided tour. In: Proceedings Fifth IEEE International Symposium on Requirements Engineering, pp. 249–262. IEEE (2001)
van Lamsweerde, A.: Goal-oriented requirements enginering: a roundtrip from research to practice. In: RE’04), pp. 4–7 (2004)
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)
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)
van Zee, M., Bex, F., Ghanavati, S.: Rationalgrl: a framework for argumentation and goal modeling. Argum. Comput. (Preprint) 1–55,(2020)
Westfechtel, B.: Case-based exploration of bidirectional transformations in QVT relations. Softw. Syst. Model. 17(3), 989–1029 (2018)
Yu, E.: Modeling strategic relationships for process reengineering. Soc. Model. Requir. Eng. 11(2011), 66–87 (2011)
Yu, E.S.: An organization modeling framework for information system requirements engineering. In: Proc. Wkshp. Information Technologies and Systems (WITS’93), p. 9 (1993)
Zowghi, D., Offen, R.: A logical framework for modeling and reasoning about the evolution of requirements. pp. 247–257 (1997)
Author information
Authors and Affiliations
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
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-021-00943-5