Resolving ambiguity in natural language specification to generate UML diagrams for requirements specification
International Journal of Software Engineering, Technology and Applications, 2015
Requirements engineering activity often starts with the vaguely defined requirements. Hence, it i... more Requirements engineering activity often starts with the vaguely defined requirements. Hence, it is essential that when the requirements are analysed, the ambiguities are resolved to the extent possible. One of the attractive alternatives in resolving ambiguities is to convert the informal natural language requirements (NLRs) into their formal or semi-formal counterpart that ensures precision and orthogonality. Towards meeting this goal, the Unified Modelling Language (UML) notations can be exploited to an advantage. As per our literature survey, there exist numerous tools that take NLR as input and output the UML counterpart. However, most of the tools do not support normalising and resolving ambiguities. In this paper, we propose an architecture viz. ARUgen that is aimed to resolve ambiguities, find object oriented terms and relationship to generate accurate UML diagrams with Java code. Our tool ARUgen mainly deals with ambiguities viz. pronoun anaphora, verb anaphora and coordination.
Uploads
Papers by unnati shah
Software Development Life Cycle. The success of the software is
largely dependent on how well the users’ requirements have been
understood and converted into appropriate functionalities in the
software. Typically, the users convey their requirements in natural
language statements that initially appear easy to state. However, being
stated in natural language, the statement of requirements often tends to
suffer from misinterpretations and imprecise inferences. As a result, the
requirements specified thus, may lead to ambiguities in the software
specifications. One can indeed find numerous approaches that deal with
ensuring precise requirement specifications. Naturally, an obvious
approach to deal with ambiguities in natural language software
specifications is to eliminate ambiguities altogether i.e. to use formal
specifications. However, the formal methods have been observed to be
cost-effective largely for the development of mission-critical software.
Due to the technical sophistication required, these are yet to be accepted
in the mainstream. Hence, the other alternative is to let the ambiguities
exist in the natural language requirements but deal with the same using
proven techniques viz. using approaches based on machine learning,
knowledge and ontology to resolve them. One can indeed find
numerous automated and semi-automated tools to resolve specific types
of natural language software requirement ambiguities.
However, to the best of our knowledge there is no published literature
that attempts to compare and contrast the prevalent approaches to deal
with ambiguities in natural language software requirements. Hence, in
this paper, we attempt to survey and analyze the prevalent approaches
that attempt to resolve ambiguities in natural language software
requirements. We focus on presenting a state-of-the-art survey of the
currently available tools for ambiguity resolution. The objective of this
paper is to disseminate, dissect and analyze the research work published
in the area, identify metrics for a comparative evaluation and eventually
do the same. At the end, we identify open research issues with an aim to
spark new interests and developments in this field.