Generating Natural Language specifications from UML class diagrams

Early phases of software development are known to be problematic, difficult to manage and errors occurring during these phases are expensive to correct. Many systems have been developed to aid the transition from informal Natural Language requirements to semi-structured or formal specifications. Furthermore, consistency checking is seen by many software engineers as the solution to reduce the number of errors occurring during the software development life cycle and allow early verification and validation of software systems. However, this is confined to the models developed during analysis and design and fails to include the early Natural Language requirements. This excludes proper user involvement and creates a gap between the original requirements and the updated and modified models and implementations of the system. To improve this process, we propose a system that generates Natural Language specifications from UML class diagrams. We first investigate the variation of the input language used in naming the components of a class diagram based on the study of a large number of examples from the literature and then develop rules for removing ambiguities in the subset of Natural Language used within UML. We use WordNet, a linguistic ontology, to disambiguate the lexical structures of the UML string names and generate semantically sound sentences. Our system is developed in Java and is tested on an independent though academic case study.

[1]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[2]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[3]  Mehdi T. Harandi,et al.  Workshop on software specification and design , 1988, SOEN.

[4]  Bernd Bruegge,et al.  Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition , 2003 .

[5]  Robert J. Gaizauskas,et al.  CM-Builder: A Natural Language-Based CASE Tool for Object-Oriented Analysis , 2003, Automated Software Engineering.

[6]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[7]  Ray Farmer,et al.  Object-Oriented Systems Analysis and Design Using UML , 2001 .

[8]  Richard I. Kittredge,et al.  Using natural-language processing to produce weather forecasts , 1994, IEEE Expert.

[9]  John Savage,et al.  Object-oriented design with UML and Java , 2003 .

[10]  Bernhard Beckert,et al.  The KeY tool , 2005, Software & Systems Modeling.

[11]  Mira Kajko-Mattsson,et al.  The state of documentation practice within corrective maintenance , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[12]  Leonid Kof Text analysis for requirements engineering , 2005 .

[13]  Barbara Di Eugenio,et al.  The DIAG experiments: Natural Language Generation for Intelligent Tutoring Systems , 2002, INLG.

[14]  Grady Booch,et al.  Object-oriented development , 1986, IEEE Transactions on Software Engineering.

[15]  Scott W. Ambler,et al.  The object primer : the application developer's guide to object orientation and the UML , 1996 .

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

[17]  Mehdi T. Harandi,et al.  Intelligent Support for Software Specification and Design , 1986, IEEE Expert.

[18]  Ingrid Schirmer,et al.  Serviceflow beyond workflow? IT support for managing inter-organizational service processes , 2004, Inf. Syst..

[19]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[20]  Betty H. C. Cheng,et al.  Integrating informal and formal approaches to requirements modeling and analysis , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[21]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[22]  Betty H. C. Cheng,et al.  Automated Analysis of Natural Language Properties for UML Models , 2005, MoDELS Satellite Events.

[23]  Leszek A. Maciaszek,et al.  Requirements analysis and system design: developing information systems with UML , 2001 .

[24]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[25]  Timothy Lethbridge,et al.  Object-oriented software engineering - practical software development using UML and Java , 2002 .

[26]  Peter P. Chen The entity-relationship model: toward a unified view of data , 1975, VLDB '75.

[27]  Vincenzo Gervasi,et al.  The Circe approach to the systematic analysis of NL requirements , 2003 .

[28]  Daniel S. Paiva July A Survey of Applied Natural Language Generation Systems , 1998 .

[29]  William C. Mann,et al.  Computer as Author -- Results and Prospects. , 1980 .

[30]  Bernd Bruegge,et al.  Object-Oriented Software Engineering Using UML, Patterns, and Java , 2009 .

[31]  Alan M. Davis,et al.  Software requirements - analysis and specification , 1990 .

[32]  David H. D. Warren,et al.  Definite Clause Grammars for Language Analysis - A Survey of the Formalism and a Comparison with Augmented Transition Networks , 1980, Artif. Intell..

[33]  Tanya Korelsky,et al.  Bilingual Generation of Job from Quasi-Conceptual Descriptions Forms , 1994, ANLP.

[34]  David A. Burke,et al.  Translating Formal Software Specifications to Natural Language A Grammar-Based Approach , 2005 .

[35]  Janice Singer,et al.  How software engineers use documentation: the state of the practice , 2003, IEEE Software.

[36]  Igor Mel'cuk,et al.  Towards a Computable Model of Meaning-Text Relations Within a Natural Sublanguage , 1983, IJCAI.

[37]  Peter P. Chen English Sentence Structure and Entity-Relationship Diagrams , 1983, Inf. Sci..

[38]  Sunil Vadera,et al.  From English to Formal Specifications , 1994, Comput. J..

[39]  Leszek A. Maciaszek Requirements analysis and system design: developing information systems with UML , 2001 .

[40]  Natalia Juristo Juzgado,et al.  Formal justification in object-oriented modelling: A linguistic approach , 2000, Data Knowl. Eng..

[41]  Rolf Schwitter,et al.  English as a formal specification language , 2002, Proceedings. 13th International Workshop on Database and Expert Systems Applications.

[42]  Ehud Reiter,et al.  NLG vs. Templates , 1995, ArXiv.

[43]  Kyo Chul Kang,et al.  Issues in Requirements Elicitation , 1992 .

[44]  Carlo Ghezzi,et al.  Proceedings of the 6th international workshop on Software specification and design , 1991 .

[45]  H. M. Harmain,et al.  Building object-oriented conceptual models using natural language processing techniques , 2000 .

[46]  S. G. Presland,et al.  The analysis of natural language requirements documents , 1986 .

[47]  James Shaw Conciseness through Aggregation in Text Generation , 1995, ACL.

[48]  David A. Burke,et al.  Translating Formal Software Specifications to Natural Language , 2005, LACL.

[49]  Luisa Mich,et al.  NL-OOPS: from natural language to object oriented requirements using the natural language processing system LOLITA , 1996, Natural Language Engineering.

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

[51]  K. Walden Reversibility in software engineering , 1996 .

[52]  Didar Zowghi,et al.  Reasoning about inconsistencies in natural language requirements , 2005, TSEM.

[53]  Eric Brill,et al.  Transformation-Based Error-Driven Learning and Natural Language Processing: A Case Study in Part-of-Speech Tagging , 1995, CL.

[54]  강문설 [서평]「The Unified Modeling Language User Guide」 , 1999 .

[55]  E. André,et al.  WIP: The Coordinated Generation of Multimodal Presentations from a Common Representation , 1992 .

[56]  Per Martin-Löf,et al.  Intuitionistic type theory , 1984, Studies in proof theory.

[57]  James Shaw,et al.  Practical Issues in Automatic Documentation Generation , 1994, ANLP.

[58]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[59]  John Levine,et al.  Automatic Generation of On-Line Documentation in the IDAS Project , 1992, ANLP.

[60]  Owen Rambow,et al.  The ModelExplainer , 1996, INLG.

[61]  Guy Lapalme,et al.  Generating a controlled language , 2000, INLG.

[62]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[63]  Helmut Horacek,et al.  An Integrated View of Text Planning , 1992, NLG.

[64]  Christiane Fellbaum,et al.  Book Reviews: WordNet: An Electronic Lexical Database , 1999, CL.

[65]  David E. Caldwell,et al.  Bilingual Generation of Job Descriptions from Quasi-Conceptual Forms * , 1998 .

[66]  Hercules Dalianis,et al.  Aggregation in Natural Language Generation , 1999 .

[67]  Maria E. Orlowska,et al.  A Natural Language Interpreter for Construction of Conceptual Schemas , 1990, CAiSE.

[68]  Benno Geißelmann,et al.  Program Design by Informal English Descriptions , 2001 .

[69]  Scott W. Ambler,et al.  The Object Primer: Agile Model-Driven Development with UML 2.0 , 2004 .

[70]  Johanna D. Moore,et al.  Planning Text for Advisory Dialogues , 1989, ACL.

[71]  Eric Nyberg Controlled Language and Knowledge-Based Machine Translation: Principles and Practice , 1996 .

[72]  Daniel M. Berry,et al.  AbstFinder, A Prototype Natural Language Text Abstraction Finder for Use in Requirements Elicitation , 1997, Automated Software Engineering.