Skip to main content

Automated formal specification generation and refinement from requirement documents


The automatic generation of formal specifications from requirements suppresses the complexity of formal models manual creation and reveals the immediate benefits of its usage, such as the possibility to carry out refinements, and property verification, which contributes to project cost reduction and quality improvement. This paper proposes a Controlled Natural Language (CNL), a subset of English, used to write use case specifications according to a template. From these use cases a complete strategy and tools enable the generation of process algebraic formal models in the CSP notation. We define templates that represent requirements at different levels of abstraction, capturing different views of the system behavior. Moreover, a refinement notion is defined to connect the generated CSP models through an event mapping relation between abstract and concrete models. This notion is further applied to detail use case specifications and to automate its execution.


  • [1]_Rajeev Alur and Mihalis Yannakakis. Model checking of message sequence charts. InCONCUR’99: Proceedings of the 10th International Conference on Concurrency Theory, pages 114–129. Springer, 1999.

  • [2]_F. Bordeleau.A Systematic and Traceable Progression from Scenario Models to Communicating Hierarchical Finite State Machines. PhD thesis, Carleton University, 1999.

  • [3]_R. Buhr. Use Case Maps as architectural entities for complex systems.IEEE Transactions on Software Engineering, 24(12):1131–1155, 1998.

    Article  Google Scholar 

  • [4]_Gustavo Cabral and Augusto Sampaio. Formal specification generation from requirement documents. InBrazilian Symposium on Formal Methods (SBMF), pages 217–232, 2006.

  • [5]_Emanuela Cartaxo. Test case generation by means of UML sequence diagrams and Label Transition System for mobile phone applications. Master’s thesis, Universidade Federal de Campina Grande (UFCG), 2006.

  • [6]_Alistair Cockburn.Writing Effective Use Cases. Addison-Wesley, 2000.

  • [7]_S. Dalal, A. Jain, N. Karunanithi, J. Leaton, C. Lott, G. Patton, and B. Horowitz. Model-based testing in practice. InICSE’99: Proceedings of the 21st international conference on Software engineering, pages 285–294. IEEE Computer Society Press, 1999.

  • [8]_Brian Dobing and Jeffrey Parsons. How UML is used.Communications of the ACM, 49(5):109–113, 2006.

    Article  Google Scholar 

  • [9]_Patricia Ferreira, Augusto Sampaio, and Alexandre Mota. Viewing CSP specifications with UML-RT diagrams. InBrazilian Symposium on Formal Methods (SBMF), pages 73–88, 2006.

  • [10]_C.J. Fillmore. Frame semantics and the nature of language. InProceeding of the New York Academy of Sciences: Conference on the Origin and Development of Language and Speech, 280, 1976.

  • [11]_Angela Freitas and Ana Cavalcanti. Automatic translation from Circus to Java. InLecture Notes in Computer Science : FM’2006: Formal Methods, volume 4085, pages 115–130. Springer, 2006.

  • [12]_Leonardo Freitas, Ana Cavalcanti, and Hermano Moura. Animating CSPm using Action Semantics. InProceedings of IV Workshop em Métodos Formais, pages 58–69. Sociedade Brasileira de Computacão (SBC), 2001.

  • [13]_N. Fuchs, U. Schwertel, and R. Schwitter. Attempto Controlled English — not just another logic specification language. In LOPSTR’98: Proceedings of the 8th International Workshop on Logic Programming Synthesis and Transformation, pages 1–20. Springer, 1990.

  • [14]_N. Fuchs, U. Schwertel, and S. Torge. Controlled natural language can replace first-order logic. InASE’99: Proceedings of the 14th IEEE international conference on Automated software engineering, page 295. IEEE Computer Society, 1999.

  • [15]_N. Fuchs and R. Schwitter. Specifying logic programs in controlled natural language. Technical Report ifi-95.17, University of Zurich, 1995.

  • [16]_John Galletly.Occam-2. University College London Press, 1996.

  • [17]_P. Gardiner.Failures-Divergence Refinement, FDR2 User Manual and Tutorial. Formal Systems Ltd., 1997.

  • [18]_Vincenzo Gervasi and Didar Zowghi. Reasoning about inconsistencies in natural language requirements.ACM Transactions on Software Engineering Methodology, 14(3):277–330, 2005.

    Article  Google Scholar 

  • [19]_Mark Grand.Java language reference. O’Reilly & Associates, Inc., 1997.

  • [20]_David Harel and P. Thiagarajan. Message sequence charts. InUML for real: design of embedded real-time systems, pages 77–105. Kluwer Academic Publishers, 2003.

  • [21]_Maritta Heisel and Jeanine Souquières. A method for requirements elicitation and formal specification. InER’99: Proceedings of the 18th International Conference on Conceptual Modeling, pages 309–324. Springer, 1999.

  • [22]_Alexander Holt. Formal verification with natural language specifications: guidelines, experiments and lessons so far.South African Computer Journal, 24:253–257, 1999.

    Google Scholar 

  • [23]_Brian Johnson, Marc Young, and Craig Skibo.Inside Microsoft Visual Studio. NET. Microsoft Press, 2002.

  • [24]_Anneke Kleppe, Jos Warmer, and Wim Bast.MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley, 2003.

  • [25]_Richard Kuhn, Ramaswamy Chandramouli, and Ricky Butler. Cost effective use of formal methods in verification and validation. InFoundations’02 Workshop on Verification & Validation, 2002.

  • [26]_Beum-Seuk Lee and Barrett Bryant. Automated conversion from requirements documentation to an objectoriented formal specification language. InSAC’02: Proceedings of the 2002 ACM symposium on Applied computing, pages 932–936. ACM Press, 2002.

  • [27]_Daniel Leitão. NLForSpec: Translating natural language descriptions into formal test case specifications. Master’s thesis, Universidade Federal de Pernambuco (UFPE), 2006.

  • [28]_Formal Systems (Europe) Ltd.PROBE Users Manual version 1.25. Formal Systems (Europe) Ltd, 1998.

  • [29]_Vladimir Mencl. Deriving behavior specifications from textual use cases. InWITSE’04 — Workshop on Intelligent Technologies for Software Engineering, pages 331–341, 2004.

  • [30]_Walter Mesquita, Augusto Sampaio, and Ana Melo. A strategy for the formal composition of frameworks. InSEFM’2005, Third IEEE International Conference on Software Engineering and Formal Methods, pages 404–413. IEEE Computer Society, 2005.

  • [31]_Sidney Nogueira. Geracão automática de casos de teste CSP dirigida por propósitos. Master’s thesis, Universidade Federal de Pernambuco (UFPE), 2006.

  • [32]_Colette Rolland and Camille Achour. Guiding the construction of textual use case specifications.Data Knowl. Eng., 25(1–2):125–160, 1998.

    MATH  Article  Google Scholar 

  • [33]_A.W. Roscoe. Modeling and verifying key-exchange protocols using CSP and FDR. InCSFW’95: Proceedings of the The 8th IEEE Computer Security Foundations Workshop, page 98. IEEE Computer Society, 1995.

  • [34]_A.W. Roscoe, C.A.R. Hoare, and Richard Bird.The Theory and Practice of Concurrency. Prentice Hall, 1997.

  • [35]_James Rumbaugh, Ivar Jacobson, and Grady Booch, editors.The Unified Modeling Language reference manual. Addison-Wesley, 1999.

  • [36]_R. Schwitter, A. Ljungberg, and D. Hood. ECOLE — a look-ahead editor for a controlled language. InEAMTCLAW’03 — Joint Conference combining the 8th International Workshop of the European Association for Machine Translation and the 4th Controlled Language Application Workshop, pages 141–150, 2003.

  • [37]_R. Schwitter, A. Ljungberg, and D. Hood. ECOLE — a look-ahead editor for a controlled language, in: Controlled translation. InEAMT-CLAW’03 — Joint Conference combining the 8th International Workshop of the European Association for Machine Translation and the 4th Controlled Language Application Workshop, 2003.

  • [38]_Bran Selic. Tutorial: An overview of UML 2.0. InICSE’04: Proceedings of the 26th International Conference on Software Engineering, pages 741–742. IEEE Computer Society, 2004.

  • [39]_R. Sterritt, M. Hinchey, J. Rash,W. Truszkowski, C. Rouff, and D. Gracanin. Towards formal specification and generation of autonomic policies. InEUC Workshops, pages 1245–1254, 2005.

  • [40]_Simon St.Laurent, Evan Lenz, and Mary McRae.Office 2003 XML: Integrating Office with the rest of the world. O’Reilly & Associates, Inc., 2004.

  • [41]_Yanhong Sun and Edward Jones. Specification-driven automated testing of GUI-based Java programs. InACM-SE 42: Proceedings of the 42nd annual Southeast regional conference, pages 140–145. ACM Press, 2004.

  • [42]_Peter Welch. Process Oriented Design for Java: Concurrency for All. InComputational Science — ICCS’2002, volume 2330, pages 687–687. Springer, 2002.

  • [43]_Peter Welch, Jo Aldous, and Jon Foster. CSP networking for Java ( InICCS’02: Proceedings of the International Conference on Computational Science-Part II, pages 695–708. Springer, 2002.

  • [44]_R. Wojcik, J. Hoard, and K. Holzhauser. The Boeing Simplified English Checker. InProceedings of the International Conference, Human Machine Interaction and Artificial Intelligence in Aeronautics and Space. Toulouse: Centre d’Etudes et de Recherches de Toulouse, pages 43–57, 1990.

Download references

Author information



Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License ( ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and Permissions

About this article

Cite this article

Cabral, G., Sampaio, A. Automated formal specification generation and refinement from requirement documents. J Braz Comp Soc 14, 87–106 (2008).

Download citation

  • Issue Date:

  • DOI:


  • Use Case Specification
  • Controlled Natural
  • Language
  • Formal Specification Generation
  • Formal Models Refinement
  • CSP