The requirements problem consists of transforming stakeholder requirements
- however informal, ambiguous, conflicting, unattainable, imprecise and
incomplete – into a consistent, complete and realizable specification
through a systematic process. We propose a refinement calculus for
requirements engineering (CaRE) for solving this problem, which takes into
account the typically dialectical nature of requirements analysis. The
calculus casts the requirements problem as an iterative argument between
stakeholders (including requirements engineers), where posited
requirements are attacked for being ambiguous, incomplete, etc. and
refined into new requirements that address the defect pointed out by the
attack. Refinements are carried out by operators provided by CaRE that
refine (e.g., strengthen, weaken, decompose) existing requirements, to
build a refinement graph. The semantics of the operators is provided by
means of argumentation theory. This is joint work with Yehia ElRakaiby and
Alessio Ferrari.
A Refinement Calculus for Requirements Engineering
John Mylopoulos
University of Ottawa
WER 2018 - 21st Workshop on Requirements Engineering