Published October 29, 2020 | Version 1.0
Software Open

CaRE: A Refinement Calculus for Requirements Engineering based on Argumentation Theory (Proofs and Tool)

Description

The Requirements Engineering (RE) process starts with initial requirements elicited from stakeholders – however conflicting, unattainable, incomplete and ambiguous – and iteratively refines them into a specification that is consistent, complete, valid and unambiguous. That specification consists of functions, quality constraints and assumptions on the environment of the system- to-be. We propose a novel RE process in the form of a calculus called CaRE (Calculus for Requirements Engineering) where the process is envisioned as an iterative application of refinement operators, with each operator removing a defect from the current requirements. Our proposal is motivated by the dialectic and incremental nature of RE activities. The calculus casts the RE problem as an iterative argument between stakeholders, who point out defects (ambiguity, incompleteness, etc.) of existing requirements, and then propose refinements to address those defects, thus leading to the construction of a refinement graph. This graph is then a conceptual model of an RE process enactment. The semantics of these models is provided by Argumentation Theory, where a requirement may be attacked for having a defect, which in turn may be eliminated by a refinement.

This package includes additional material associated with the paper that proposes CaRE (CaRE: A Refinement Calculus for Requirements Engineering based on Argumentation Theory), and extending an original contribution ("A Refinement Calculus for Requirements Engineering based on Argumentation Theory", accepted to the 39th International Conference on Conceptual Modeling (ER 2020)). The extended paper is currently under review.  

The package includes the following files:

1. Proof.pdf: proof of the theorems included in the paper. 

2. tool.jar: jar file of the tool that implements CaRE. Requires Java SE Development Kit 9 to run

2. Instructions: textual instructions on how to run the tool that implements CaRE

3. Syntax Instructions: textual instructions about the syntax accepted by the tool

4. exampleApplicationScenario.pl: scenario input file for the extended case described in the paper

5. exampleCalculus.pl: example input file for the example case described in the paper

Files

Proof.pdf

Files (218.2 kB)

Name Size Download all
md5:84fe235397fa4b33e03d782de2067276
4.3 kB Download
md5:7c5dd9cd2fd6ddc334e64b377e60e0a5
724 Bytes Download
md5:299e772a4a75da8738ebbf56ea347286
761 Bytes Download
md5:d71e6ca4ac6bba23dffb0f86c39bd4cb
140.2 kB Preview Download
md5:d29f53550d3cc427eb0131b701c38bf4
2.1 kB Download
md5:5636ad47cac90a8f73ed4c6b8f790ed6
70.1 kB Download