Skip to main content
Article thumbnail
Location of Repository

Generating natural language specifications from UML class diagrams

By F Meziane, N Athanasakis and S Ananiadou


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 semistructured 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

Topics: QA75, QA76, other
Publisher: Springer London
OAI identifier:

Suggested articles


  1. (1990). A natural language interpreter for construction of conceptual schemas,
  2. (1998). A Survey of applied natural language generation systems,
  3. (1997). AbstFinder, A prototype natural language text abstraction finder for use in requirements elicitation,
  4. (1993). Aggregation in natural language generation,
  5. (1992). An integrated view of text planning,
  6. (2005). Automated analysis of natural language properties for UML models. MoDELS Satellite Events,
  7. Automated consistency checking of requirements specifications,
  8. Automatic generation of on-line documentation in the IDAS project,
  9. (1987). Automating the analysis process,
  10. (1994). Bilingual generation of job descriptions from quasiconceptual forms,
  11. (2000). Building Object-Oriented conceptual models using natural language processing techniques,
  12. (2003). CM-Builder: A natural language-based CASE tool for object-oriented analysis,
  13. (1980). Computer as author – results and prospects,
  14. (2001). Conceptual Modeling through linguistic analysis using LIDA,
  15. Conciseness through aggregation in text generation,
  16. (1989). Content determination and text structuring in Gossip,
  17. (1996). Controlled Language and Knowledge-Based Machine Translation: Principles and Practice,
  18. (1980). Definite Clause Grammars for language analysis – a survey of the formalism and a comparison with augmented transition networks,
  19. (2002). English as a formal specification language,
  20. (1983). English sentence structure and entity-relationship diagrams,
  21. (2005). Formal and Informal Software Specifications,
  22. (2002). Formal justification in Object-Oriented modelling: a linguistic approach,
  23. From English to formal specifications,
  24. (2000). Generating a Controlled Language,
  25. (2006). Generating natural language from UML class diagrams, Master Thesis,
  26. (2003). How Software Engineers Use Documentation: The State of the Practice,
  27. (2004). Improving the natural language translation of formal software specifications,
  28. (2001). Integrating informal and formal approaches to requirements modeling and analysis,
  29. Intelligent support for software specification and design,
  30. (1984). Intuitionistic Type Theory, Bibliopolis,
  31. (1521). Issues in requirements elicitation,
  32. Modeling Language Specification, version 1.5,
  33. NL-OOPS: From natural language to Object Oriented requirements using the natural language processing system LOLITA,
  34. NLG vs. Templates,
  35. (2003). Object Oriented Analysis and Design with Applications,
  36. Object Oriented development,
  37. (2002). Object oriented systems analysis and design using UML, 3rd edition,
  38. (2003). Object-oriented Software Engineering: Using Uml, Patterns and Java: International Edition, Prentice-Hall,
  39. (1989). Planning text for advisory dialogues,
  40. Practical issues in automatic documentation generation,
  41. (1983). Program design by informal English description,
  42. Reasoning about inconsistencies in natural language requirements
  43. (2001). Requirements Analysis and System Design, Developing Information Systems with UML,
  44. Requirements Engineering: A Roadmap ,
  45. (1996). Reversibility in software engineering,
  46. (1990). Software requirements analysis and specification,
  47. (1987). Specification framework based on natural language,
  48. (1990). Systematic software development using VDM,
  49. (2006). Text Analysis for Requirements Engineering, PhD Thesis,
  50. (1996). The analysis of natural language requirements documents,
  51. (2003). The CIRCE approach to the systematic analysis of natural language requirements,
  52. (2002). The DIAG Experiments: NLG for intelligent tutoring systems,
  53. (1976). The entity-relationship model : toward a unified view of data,
  54. The ModelExplainer,
  55. The object primer, Agile - model driven application development with UML
  56. (2001). The object Primer, the application Developer’s guide to Object Orientation and the UML,
  57. (2001). The State of Documentation Practice within Corrective Maintenance,
  58. (1999). The Unified Modeling Language user guide,
  59. The Z Notation: A Reference Manual, 2nd edition,.
  60. (1983). Towards a computable model of meaning text relations within a natural sublanguage,
  61. (1995). Transformation-based error-driven learning and natural language processing: a case study in part-of-speech tagging,
  62. (2005). Translating formal software specifications to natural language: A grammar-based approach,
  63. (1994). Using natural language processing to produce weather forecasts,
  64. (1991). WIP: The coordinated generation of multimodal presentations from a common representation, In
  65. (1998). WordNet: an electronic lexical database,

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.