Generating Executable Scenarios from Natural Language

  • Michal Gordon
  • David Harel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5449)


Bridging the gap between the specification of software requirements and actual execution of the behavior of the specified system has been the target of much research in recent years. We have created a natural language interface, which, for a useful class of systems, yields the automatic production of executable code from structured requirements. In this paper we describe how our method uses static and dynamic grammar for generating live sequence charts (LSCs), that constitute a powerful executable extension of sequence diagrams for reactive systems. We have implemented an automatic translation from controlled natural language requirements into LSCs, and we demonstrate it on two sample reactive systems.


Natural Language Natural Language Processing Sequence Diagram Parse Tree Display Mode 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Harel, D.: Can Programming be Liberated, Period? Computer 41(1), 28–37 (2008)CrossRefGoogle Scholar
  2. 2.
    Harel, D., Marelly, R.: Come, Let’s Play: Scenario-Based Programming Using LSC’s and the Play-Engine. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Damm, W., Harel, D.: LSCs: Breathing Life into Message Sequence Charts. Formal Methods in System Design 19(1), 45–80 (2001)CrossRefzbMATHGoogle Scholar
  4. 4.
    UML: Unified Modeling Language Superstructure, v2.1.1. Technical Report formal/2007-02-03, Object Management Group (2007)Google Scholar
  5. 5.
    Harel, D., Kugler, H., Marelly, R., Pnueli, A.: Smart Play-Out of Behavioral Requirements. In: Aagaard, M.D., O’Leary, J.W. (eds.) FMCAD 2002. LNCS, vol. 2517, pp. 378–398. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  6. 6.
    Harel, D., Segall, I.: Planned and Traversable Play-Out: A Flexible Method for Executing Scenario-Based Programs. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 485–499. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Mich, L.: NL-OOPS: From Natural Language to Object Oriented Requirements Using the Natural Language Processing System LOLITA. Natural Language Engineering 2(2), 161–187 (1996)CrossRefGoogle Scholar
  8. 8.
    Bryant, B.: Object-Oriented Natural Language Requirements Specification. In: Proc. 23rd Australian Computer Science Conference (ACSC) (2000)Google Scholar
  9. 9.
    Segundo, L.M., Herrera, R.R., Herrera, K.Y.P.: UML Sequence Diagram Generator System from Use Case Description Using Natural Language. In: Electronics, Robotics and Automotive Mechanics Conference (CERMA 2007), pp. 360–363 (2007)Google Scholar
  10. 10.
    Drazan, J., Mencl, V.: Improved Processing of Textual Use Cases: Deriving Behavior Specifications. In: van Leeuwen, J., Italiano, G.F., van der Hoek, W., Meinel, C., Sack, H., Plášil, F. (eds.) SOFSEM 2007. LNCS, vol. 4362, pp. 856–868. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Bryant, B.R., Lee, B.S.: Two-Level Grammar as an Object-Oriented Requirements Specification Language. In: Proc. 35th Annual Hawaii Int. Conf. on System Sciences (HICSS 2002), p. 280 (2002)Google Scholar
  12. 12.
    ITU: International Telecommunication Union: Recommendation Z.120: Message Sequence Chart (MSC). Technical report (1996)Google Scholar
  13. 13.
    Jurafsky, D., Martin, J.H.: Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. Prentice-Hall, Englewood Cliffs (2008)Google Scholar
  14. 14.
    Harel, D.: On Visual Formalisms. Commun. ACM 31(5), 514–530 (1988)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Miller, G.A., Beckwith, R., Fellbaum, C., Gross, D., Miller, K.: Introduction to WordNet: An On-line Lexical Database (1993),
  16. 16.
  17. 17.
    Cabral, G., Sampaio, A.: Formal Specification Generation from Requirement Documents. In: Brazilian Symposium on Formal Methods (SBMF) (2006)Google Scholar
  18. 18.
    Fuchs, N.E., Schwitter., R.: Attempto: Controlled natural language for requirements specifications. In: Proc. Seventh Intl. Logic Programming Symp. Workshop Logic Programming Environments (1995)Google Scholar
  19. 19.
    Fuchs, N.E., Schwitter, R.: Attempto Controlled English (ACE). In: Proc. 1st Int. Workshop on Controlled Language Applications, pp. 124–136 (1996)Google Scholar
  20. 20.
    Takahashi, M., Takahashi, S., Fujita, Y.: A proposal of adequate and efficient designing of UML documents for beginners. In: Apolloni, B., Howlett, R.J., Jain, L. (eds.) KES 2007, Part II. LNCS, vol. 4693, pp. 1331–1338. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  21. 21.
    Giganto, R.T.: A Three Level Algorithm for Generating Use Case Specifications. In: Proceedings of Software Innovation and Engineering New Zealand Workshop 2007 (SIENZ 2007) (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Michal Gordon
    • 1
  • David Harel
    • 1
  1. 1.The Weizmann Institute of ScienceRehovotIsrael

Personalised recommendations