=Paper=
{{Paper
|id=Vol-2416/paper9
|storemode=property
|title=The detection of conflicts in the requirements specification based on an ontological model and a production rule system
|pdfUrl=https://ceur-ws.org/Vol-2416/paper9.pdf
|volume=Vol-2416
|authors=Marina Murtazina,Tatiana Avdeenko
}}
==The detection of conflicts in the requirements specification based on an ontological model and a production rule system ==
https://ceur-ws.org/Vol-2416/paper9.pdf
The detection of conflicts in the requirements specification
based on an ontological model and a production rule system
M Sh Murtazina1 and T V Avdeenko1
1
Novosibirsk State Technical University, Karla Marksa ave., 20, Novosibirsk, Russia, 630073
e-mail: murtazina@corp.nstu.ru; tavdeenko@mail.ru
Abstract. The paper presents an approach to organizing the detection of conflicts between
requirements based on an ontological model and a system of production rules. Requirements in
the form of plain text are converted to instances of OWL ontologies for analysis. There are
three basic elements “subject”, “action” and “object” in the requirements. These elements
become classes of the ontology. The object properties between instances of the same classes
are defined in the ontology. In the system of rules it is determined that one of four types of
relations can be established between a pair of the requirements: isConflict, isDuplicate,
isInterconnect, isNotInterconnect. We develop the software product in the Python language for
building and applying production rules system for classes and property objects of the ontology.
Protégé 5.2 is used to work with the ontology. Also Python library PySwip and development
environment SWI-Prolog 7.6.4 are used in the work. The paper also considers the issues of
extracting requirements ontology instances from the automated processing results of textual
requirements. The UDPipe with Russian language model is used for text processing
1. Introduction
Essential precondition for successful implementation of the software products is the preliminary
development of high-quality software requirements specification (SRS). The latter task is solved
during requirements engineering (RE) process, in which inaccurate and incomplete ideas about what
services should the software product provide in order to solve the potential users’ problems are
converted into a formal SRS. Moreover, it is necessary to take into account the limitations under
which the software product should be implemented and work. According to SEBoK (version1.9.1) a
set of requirements must satisfy the following characteristics: complete, consistent, feasible,
comprehensible and able to be validated.Тhe completeness means that the set of requirements need not
be further refined. The consistency criterion assumes that the requirement set does not contain
conflicting requirements, the requirements are not duplicated, and the same term is used for the same
element in the whole set of requirements. The feasibility criterion means that a solution can be
developed for a set of requirements that meets the requirements taking into account the limitations of
the project (for example, cost) with an acceptable level of risk. The comprehensibility criterion implies
that a set of requirements has to be formulated so that to give a clear idea of what is expected of the
software product, and in what way it relates to the whole system. The validability criterion implies that
V International Conference on "Information Technology and Nanotechnology" (ITNT-2019)
Data Science
M Sh Murtazina and T V Avdeenko
it should be possible to prove that the set of requirements will lead to the user needs satisfaction under
existing constraints of the project [1].
For the agile software development approach, the requirements specification is usually not a single
document, but logical structure filled with requirements to the software product. The creation of such
specifications is usually preceded by the development of a document called «Vision and scope»,
which gives an overview of the developed software product in terms of the key needs and constraints
under which the project will be implemented. Then, the work begins on the creation of the product
backlog containing prioritized list of requirements. The major feature of an agile approach is
permanent readiness to change the requirements, therefore only those elements of the product backlog
that have the highest priorities are worked out in detail at the current time. The requirements with low
priorities remain in the product backlog, where they can be added, removed, or changed at any time.
Under conditions of variability of the requirements their coordination becomes one of the most
difficult problems in the requirements engineering.
Requirements negotiation involves detection and resolution of conflicts. Therefore, it seems that at
the stage of collecting the product backlog elements, the most important of the above quality
characteristics is to ensure the consistency of the set of product backlog elements. In this paper we will
consider the main component of this quality characteristic, namely, conflict-free set of requirements.
The proposed approach can be used as part of the intellectual support of the engineering process based
on ontological models. The ontology data of requirements can be processed together with the data of
other ontologies in the field of requirements engineering described by us in works [2-4].
The paper is organized as follows. Section 2 provides an overview of publications on the research
theme. In section 3 we propose an approach to converting text requirements into the ontology. In
section 4, we describe the developed software based on production model to search for conflicts
between the requirements represented by instances of the ontology. Section 5 concludes on the
prospects of the proposed approach.
2. Theoretical background
The paper [5] describes a prototype of the «Oz» design system, which provides automated methods for
conflict detection, generation of conflict resolution variants, and explanation of the decision choice. So
the experimental tool «Oz» is designed to develop harmonized requirements. Requirements from
different stakeholders are presented in the form of scenarios. The «Oz» prototype includes
requirements language, specification language, specification planner, and requirements negotiation
tools. The work [6] of the same authors presents an approach to the identification and resolution of
conflicts between the requirements within the framework of the paradigm of Conflict-Oriented
Requirements Analysis (CORA). Requirements ontology is used to describe the structure of the
requirements, which providing formulation of the requirements and their interaction. Conflicts
between the requirements are presented in the requirements ontology as types of interaction. The
interactions between the requirements are determined directly from the requirements concept
description. Conflict resolution is based on the generation of alternative requirements’ variants
resolving the conflict.
The authors of [7] mentioned that manually produced conflict-analysis of the requirements needs
considerable effort and is prone to the errors. They propose to use semantic technologies as a basis for
automating the analysis of conflicts between the requirements implementing ontological approach
OntRep. In [7] three types of conflicts are distinguished: conflicts between the requirements and the
constraints, conflicts between the requirements and the guidelines (for example, on formalization of
requirements), conflicts between the requirements. Conflicts between the requirements are divided
into two groups: simple (between two requirements) and complex (between several requirements). To
implement the conflict analysis approach, all terms used in the requirements must be formulated as
Glossary terms in the ontology OntRep, and the requirements must be formulated using a specific
structure. The OntRep tool consists of two basic components. The first component is an instance
collector that takes input data. For example, these might be requirement tickets from the project
management tool and bug tracking in Trac software. A ticket in this system means a virtual card with a
description of the requirement (task) or the error that needs to be corrected. The OntRep tool instance
V International Conference on "Information Technology and Nanotechnology" (ITNT-2019) 64
Data Science
M Sh Murtazina and T V Avdeenko
collector analyzes the contents of the ticket and assigns categories of the requirements (classes)
defined in the ontology (for example, security requirement). The second component of OntRep tool is
intended to generate a report on conflicts between the requirements [8].
The paper [9] describes an automated tool EA-Analyzer for revealing conflicts. This tool is
designed to identify conflicts in aspect-oriented requirements specified in natural language text.
Requirements are written using RDL (Requirements Description Language), which uses XML tags to
annotate the natural language specification. The main elements of the language are ,