ArgREC - Argumentation for Requirements Reconciliation

Goal of the System
Requirement engineering is an essential step of the software development process during which the behavior of a software system is defined. A lot of artifacts are created during this stage of the development process and support is required to manage their consistency and evolution over time. Moreover, the increasing complexity of the application domain under consideration during the requirement engineering process as well as the expansion of geographically distributed projects makes this support even more critical. The notion of goal has increasingly been used in order to capture and analyze requirements. In this context, our aim is to provide support to stakeholders in order to build a consistent set of goal-based requirements and to keep it coherent over time. In this paper, we propose an approach to detect consistent sets of goal-based requirements and maintain their consistency over time. Our approach relies on argumentation theory which allows us to detect conflicts among elements called arguments. In particular, we rely on meta-argumentation, which instantiates abstract argumentation frameworks, where requirements are represented as arguments and the standard Dung-like argumentation framework is extended with additional relations between goal-based requirements.

System's Description
Different kinds of relationships hold between goals. The ArgREC system for requirements reconciliation considers the following relationships:

The figures below visualize by means of an example how the following relationships are translated in a meta-argumentation framework, then used for requirements reconciliation.

pdf



System's Demo

Here you can download the demo video of the ArgREC system.
pdf



Source Code

Here you can download the source code of the ArgREC system (Bitbucket).