From natural language requirements to UML class diagrams

Unified Modeling Language (UML) is the most popular modeling language for analysis, design and development of the software system. There has been a lot of research interest in generating these UML models, especially class diagrams, automatically from Natural Language requirements. The interest in class diagrams can be attributed to the fact that classes represent the abstractions present in the system to be developed. However, automated generation of UML class diagrams is a challenging task as it involves lot of pre-processing or manual intervention at times. In this paper, we present dependency analysis based approach to derive UML class diagrams automatically from Natural Language requirements. We transform the requirements statements to an intermediary frame-based structured representation using dependency analysis of requirements statements and the Grammatical Knowledge Patterns. The knowledge stored in the frame-based structured representation is used to derive class diagrams using rule-based algorithm. Our approach has generated similar class diagrams as reported in earlier works based on linguistic analysis with either annotation or manual intervention. We present the effectiveness of our approach in terms of recall and precision for the case-studies presented in earlier works.

[1]  Rodina Ahmad,et al.  Class Diagram Extraction from Textual Requirements Using Natural Language Processing (NLP) Techniques , 2010, 2010 Second International Conference on Computer Research and Development.

[2]  Ingrid Meyer,et al.  French patterns for expressing concept relations , 2002 .

[3]  R. E. Callan Building Object-Oriented Systems: An Introduction from Concepts to Implementation in C , 1994 .

[4]  Luisa Mich,et al.  Market research for requirements analysis using linguistic tools , 2004, Requirements Engineering.

[5]  Susan Hunston,et al.  Book Reviews: Pattern Grammar: A Corpus-Driven Approach to the Lexical Grammar of English , 2000, CL.

[6]  Priyanka More,et al.  Generating UML Diagrams from Natural Language Specifications , 2012 .

[7]  Owen Rambow,et al.  Conceptual modeling through linguistic analysis using LIDA , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[8]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[9]  L. Kof NATURAL LANGUAGE PROCESSING FOR REQUIREMENTS ENGINEERING : APPLICABILITY TO LARGE REQUIREMENTS DOCUMENTS , 2004 .

[10]  Christopher D. Manning,et al.  Generating Typed Dependency Parses from Phrase Structure Parses , 2006, LREC.

[11]  W. B. Abdessalem,et al.  From user requirements to UML class diagram , 2012, ArXiv.

[12]  Marvin Minsky,et al.  A framework for representing knowledge , 1974 .

[13]  Walter F. Tichy,et al.  From requirements to UML models and back: how automatic processing of text can support requirements engineering , 2013, Software Quality Journal.

[14]  Luisa Mich,et al.  A Linguistic Approach to the Development of Object Oriented Systems using the NL System LOLITA , 1994, ISOOMS.

[15]  D. Noël,et al.  Pattern Grammar: A Corpus-Driven Approach to the Lexical Grammar of English (review) , 2002 .

[16]  Victor Weinberg,et al.  Structured Analysis , 1978 .

[17]  Sergio Luján-Mora,et al.  A Taxonomic Class Modeling Methodology for Object-Oriented Analysis , 2005, Information Modeling Methods and Methodologies.

[18]  Barry Boehm,et al.  A view of 20th and 21st century software engineering , 2006, ICSE.

[19]  R. Sanyal,et al.  Static UML Model Generator from Analysis of Requirements (SUGAR) , 2008, 2008 Advanced Software Engineering and Its Applications.

[20]  Kanad K. Biswas,et al.  Using Grammatical Knowledge Patterns for structuring requirements specifications , 2013, 2013 3rd International Workshop on Requirements Patterns (RePa).

[21]  Gerald W. Both,et al.  Object-oriented analysis and design with applications , 1994 .

[22]  S. D. Joshi,et al.  Textual Requirement Analysis for UML Diagram Extraction by using NLP , 2012 .

[23]  Keng Siau,et al.  Theoretical and practical complexity of modeling methods , 2007, CACM.

[24]  Robert J. Gaizauskas,et al.  CM-Builder: an automated NL-based CASE tool , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.