From Textual Use-Cases to Component-Based Applications

  • Viliam Šimko
  • Petr Hnětynka
  • Tomáš Bureš
Part of the Studies in Computational Intelligence book series (SCI, volume 295)


A common practice to capture functional requirements of a software system is to utilize use-cases, which are textual descriptions of system usage scenarios written in a natural language. Since the substantial information about the system is captured by the use-cases, it comes as a natural idea to generate from these descriptions the implementation of the system (at least partially). However, the fact that the use-cases are in a natural language makes this task extremely difficult. In this paper, we describe a model-driven tool allowing code of a system to be generated from use-cases in plain English. The tool is based on the model-driven development paradigm, which makes it modular and extensible, so as to allow for use-cases in multiple language styles and generation for different component frameworks.


Natural Language Domain Model Object Management Group Eclipse Modeling Framework Executable Code 
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.
    Ambriola, V., Gervasi, V.: On the systematic analysis of natural language requirements with circe. Automated Software Engineering (2006)Google Scholar
  2. 2.
    Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. Journal of Systems and Software 82, 3–22 (2009)CrossRefGoogle Scholar
  3. 3.
    Breaux, T., Anton, A.: Analyzing goal semantics for rights, permissions and obligations. In: RE 2005: Proceedings of the 13th IEEE International Conference on Requirements Engineering, pp. 177–188. IEEE Computer Society, Washington (2005), CrossRefGoogle Scholar
  4. 4.
    Breaux, T., Anton, A.: Deriving semantic models from privacy policies. In: POLICY 2005: Proceedings of the Sixth IEEE International Workshop on Policies for Distributed Systems and Networks, pp. 67–76. IEEE Computer Society, Washington (2005), CrossRefGoogle Scholar
  5. 5.
    Bruneton, E., Coupaye, T., Stefani, J.B.: The Fractal Component Model,
  6. 6.
    Bures, T., Carlson, J., Crnkovic, I., Sentilles, S., Vulgarakis, A.: ProCom - the Progress Component Model Reference Manual, version 1.0. Technical Report, Mälardalen University (2008),
  7. 7.
    Bures, T., Hnetynka, P., Plasil, F.: SOFA 2.0: Balancing Advanced Features in a Hierarchical Component Model. In: Proceedings of SERA 2006, Seattle, USA, pp. 40–48 (2006)Google Scholar
  8. 8.
    Open SOA Collaboration: SCA Service Component Architecture: Assembly Model Specification (2007),
  9. 9.
    Cregan, A., Schwitter, R., Meyer, T.: Sydney OWL syntax-towards a controlled natural language syntax for OWL 1.1. In: Proceedings of the OWLED 2007 Workshop on OWL: Experiences and Directions, Innsbruck, Austria, vol. 258 (2007)Google Scholar
  10. 10.
    Denger, C., Berry, D., Kamsties, E.: Higher quality requirements specifications through natural language patterns. In: Proceedings IEEE International Conference on Software - Science, Technology and Engineering, pp. 80–91. IEEE Computer Society, Los Alamitos (2003)Google Scholar
  11. 11.
    Drazan, J., Vladimir, M.: 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
  12. 12. Eclipse Modelling Framework,
  13. 13.
    Francu, J., Hnetynka, P.: Automated Code Generation from System Requirements in Natural Language. e-Informatica Software Engineering Journal 3(1), 72–88 (2009)Google Scholar
  14. 14.
    Object Management Group: CORBA Component Model Specification, Version 4.0 (2006)Google Scholar
  15. 15.
    Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification (2008)Google Scholar
  16. 16.
    Jouault, F., Allilaire, F., Bezivin, J., Kurtev, I., Valduriez, P.: ATL: a QVT-like transformation language. In: OOPSLA Companion, pp. 719–720 (2006)Google Scholar
  17. 17.
    Kaljurand, K., Fuchs, N.E.: Verbalizing Owl in Attempto Controlled English. In: Proceedings of the OWLED 2007 Workshop on OWL: Experiences and Directions, Innsbruck, Austria, vol. 258 (2007)Google Scholar
  18. 18.
    Konrad, S., Cheng, B.: Real-time specification patterns. In: ICSE 2005: Proceedings of the 27th international conference on Software engineering, pp. 372–381. ACM, New York (2005), Google Scholar
  19. 19.
    Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd edn. Prentice Hall PTR, Upper Saddle River (2004)Google Scholar
  20. 20.
    MacDonell, S.G., Min, K., Connor, A.M.: Autonomous requirements specification processing using natural language processing. In: Proceedings of the ISCA 14th International Conference on Intelligent and Adaptive Systems and Software Engineering (IASSE 2005), pp. 266–270. ISCA, Toronto (2005)Google Scholar
  21. 21.
    Mencl, V.: Deriving behavior specifications from textual use cases. In: Proceedings of Workshop on Intelligent Technologies for Software Engineering (2004)Google Scholar
  22. 22.
    Mencl, V., Francu, J., Ondrusek, J., Fiedler, M., Plsek, A.: Procasor environment: Interactive environment for requirement specification (2005),
  23. 23.
    Oracle (Sun Microsystems): Java Platform, Enterprise Edition (Java EE): Enterprise JavaBeans Technology,
  24. 24.
    Obeo: Acceleo: Open source plugin for model to text transformation based on templates,
  25. 25.
    van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala Component Model for Consumer Electronics Software. Computer 33(3), 78–85 (2000), CrossRefGoogle Scholar
  26. 26.
    Plasil, F., Mencl, V.: Getting ‘whole picture’ behavior in a use case model. Journal of Integrated Design and Process Science 7(4), 63–79 (2003)Google Scholar
  27. 27.
    Plasil, F., Visnovsky, S.: Behavior protocols for software components. IEEE Transactions on Software Engineering 28(11), 1056–1076 (2002), CrossRefGoogle Scholar
  28. 28.
    Rash, J.L., Hinchey, M.G., Rouff, C.A., Gracanin, D., Erickson, J.: A requirements-based programming approach to developing a NASA autonomous ground control system. Artif. Intell. Rev. 25(4), 285–297 (2007), CrossRefGoogle Scholar
  29. 29.
    Seresh, S.M., Ormandjieva, O.: Automated assistance for use cases elicitation from user requirements text. In: Proceedings of the 11th Workshop on Requirements Engineering (WER 2008), 16, Barcelona, Spain, pp. 128–139 (2008)Google Scholar
  30. 30.
    Smith, R., Avrunin, G., Clarke, L., Osterweil, L.: Propel: An approach supporting property elucidation. In: 24th Intl. Conf. on Software Engineering, pp. 11–21. ACM Press, New York (2002)Google Scholar
  31. 31.
    Stahl, T., Voelter, M., Czarnecki, K.: Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons, Chichester (2006)Google Scholar
  32. 32.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley Professional, Reading (2002) (Hardcover)Google Scholar
  33. 33.
    Zeng, Y.: Recursive object model (ROM)-Modelling of linguistic information in engineering design. Comput. Ind. 59(6), 612–625 (2008), CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Viliam Šimko
    • 1
  • Petr Hnětynka
    • 1
  • Tomáš Bureš
    • 1
    • 2
  1. 1.Department of Distributed and Dependable Systems, Faculty of Mathematics and PhysicsCharles UniversityPrague 1Czech Republic
  2. 2.Institute of Computer ScienceAcademy of Sciences of the Czech RepublicPrague 8Czech Republic

Personalised recommendations