Skip to main content
Log in

On the Systematic Analysis of Natural Language Requirements with CIRCE

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

This paper presents Circe, an environment for the analysis of natural language requirements. Circe is first presented in terms of its architecture, based on a transformational paradigm. Details are then given for the various transformation steps, including (i) a novel technique for parsing natural language requirements, and (ii) an expert system based on modular agents, embodying intensional knowledge about software systems in general. The result of all the transformations is a set of models for the requirements document, for the system described by the requirements, and for the requirements writing process. These models can be inspected, measured, and validated against a given set of criteria.

Some of the features of the environment are shown by means of an example. Various stages of requirements analysis are covered, from initial sketches to pseudo-code and UML models.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Abbot, R. 1983. Program design by informal English descriptions. Communications of the ACM, 26(11):832–894.

    Google Scholar 

  • Ambriola, V., Del Carlo, L., and Gervasi, V. 2004. Eclipse as a requirements engineering environment. In Proceedings of the ICSE Workshop on Directions in Software Engineering Environments, Edinburgh, Scotland, UK.

  • Ambriola, V. and Gervasi, V. 1997. Processing natural language requirements. In Proceedings of the Twelfth International Conference on Automated Software Engineering, Los Alamitos, IEEE Computer Society Press, pp. 36–45.

  • Ambriola, V. and Gervasi, V. 1999. Experiences with domain-based parsing of natural language requirements. In G. Fliedl and H.C. Mayr, editors, Proceedings of the Fourth International Conference on Applications of Natural Language to Information Systems, number 129 in OCG Schriftenreihe (Lecture Notes), Klagenfurth, Austria, pp. 145–148.

  • Ambriola, V. and Gervasi, V. 2000. Process metrics for requirements analysis. In Proceedings of the Seventh European Workshop on Software Process Technology, pp. 90–95.

  • Ambriola, V. and Gervasi, V. 2001. On the parallel refinement of NL requirements and UML diagrams. In Proceedings of the ETAPS 2001 Workshop on Trasformations in UML, Genova, Italy.

  • Ambriola, V. and Gervasi, V. 2006. The Circe native meta-model. Technical report, Dipartimento di Informatica, Università di Pisa, (to be published).

  • Ambriola, V., Gervasi, V., and Del Carlo, L. 2003. The Circe Plugin for Eclipse, http://circe.di.unipi.it/Eclipse.

  • Balzer, R. 1991. Tolerating inconsistency. In Proceedings of the Thirteenth International Conference on Software Engineering, IEEE CS Press, pp. 158–165.

  • Berry, D. and Kamsties, E. 2000. The dangerous ‘All’ in specifications. In Proceedings of the Tenth International Workshop on Software Specification & Design (IWSSD-10), IEEE CS Press.

  • Bertolino, A., Fantechi, A., Gnesi, S., Lami, G., and Maccari, A. 2002. Use case description of requirements for product lines. In B. Geppert and K. Schmid, editors, Proceedings of the International Workshop on Requirements Engineering for Product Lines (REPL02), Essen, Germany, Avaya, Inc., pp. 12-18.

  • Boehm, B.W. 1982. Software Engineering Economics. Prentice-Hall.

  • Börger, E. and Stärk, R. 2003. Abstract State Machines. A Method for High-Level System Design and Analysis, Springer-Verlag.

  • Buchholz, E., Cyriaks, H., Düsterhöft, A., Mehlan, H., and Thalheim, B. 1995. Applying a natural language dialogue tool for designing databases. In Bouzeghoub, M. and Métais, E., editors, Proceedings of the First International Workshop on Applications of Natural Language to Databases (NLDB'95), Versailles, France., Association Française des Sciences et Technologies de l'Information et des Systèmes, pp. 119–133.

  • Chen, P.P. 1983. English sentence structure and entity relationship diagrams. Information Science, 29(2):127–149.

    Article  Google Scholar 

  • Choi, Y., Rayadurgam, S., and Heimdahl, M.P.E. 2002. Toward automation for model-checking requirements specifications with numeric constraints. Requirements Engineering Journal, 7(4).

  • Colombetti, M., Guida, G., and Somalvico, M. 1983. NLDA: A natural language reasoning system for the analysis of data base requirements. In S. Ceri, editor, Methodology and Tools for Data Base Design, North Holland, pp. 163–180.

  • Dalianis, H. 1992. A method for validating a conceptual model by natural language discourse generation. In Advanced Information Systems Engineering, number 593 in LNCS. Springer-Verlag.

  • Damian, D. and Zowghi, D. 2003. RE challenges in multi-site software development organisations. Requirements Engineering Journal, 8(3):149–160.

    Google Scholar 

  • Davis, A.M. 1995. 201 Principles of Software Development. McGraw Hill.

  • Dubois, E. and Pohl, K. 2002. RE 02: A major step toward a mature requirements engineering community. IEEE Software, 20(2):14–15.

    Google Scholar 

  • Eclipse Consortium. 2003. Eclipse.org main page, http://www.eclipse.org.

  • Eich, C. 1984. From natural language requirements to good data base definitions—a data base design methodology. In Proceedings of the First International Conference on Data Engineering, Los Angeles, USA. IEEE Computer Society, pp. 324–331.

  • Eshuis, R., Jansen, D.N., and Wieringa, R. 2002. Requirements-level semantics and model checking of object-oriented statecharts. Requirements Engineering Journal, 7(4).

  • European Association of Aerospace Industries (AECMA) 2001. AECMA Simplified English (SE) Guide. Available through various AECMA-appointed publishers, (The current version is Issue 1 Revision 2; SE has been regularly updated since 1986).

  • Fabbrini, F., Fusani, M., Gervasi, V., Gnesi, S., and Ruggieri, S. 1998. Achieving quality in natural language requirements. In Proceedings of the Eleventh International Software Quality Week, S. Francisco, California, Software Research Institute.

  • Fabbrini, F., Fusani, M., Gnesi, S., and Lami, G. 2001. The linguistic approach to the natural language requirements quality: Benefits of the use of an automatic tool. In 26th Annual IEEE Computer Society - NASA Goddard Space Flight Center Software Engineering Workshop, IEEE CS Press.

  • Fantechi, A., Gnesi, S., Lami, G., and Maccari, A. 2002. Linguistic techniques for use cases analysis. In Proceedings of the IEEE Joint Internatonal Requirements Engineering Conference (RE02), IEEE CS Press: Essen, Germany, pp. 157–164.

  • Fantechi, A., Gnesi, S., Ristori, G., Carenini, M., Vanocchi, M., and Moreschini, P. 1994. Assisting requirement formalization by means of natural language translation. Formal Methods in System Design, 4(3):243–263.

    Article  MATH  Google Scholar 

  • Finkelstein, A., Gabbay, D., Hunter, A., Kramer, J., and Nuseibeh, B. 1994. Inconsistency handling in multiperspective specifications. IEEE Transactions on Software Engineering, 20(8):569–578.

    Article  Google Scholar 

  • Fuchs, N.E. and Schwertel, U. 2003. Reasoning in Attempto controlled English. In Proceedings of the International Workshop on Principles and Practice of Semantic Web Reasoning, number 2901 in Lecture Notes in Computer Science. Springer-Verlag.

  • Gabbay, D. and Hunter, A. 1991. Making inconsistency respectable: A logical framework for inconsistency in reasoning, Part 1—a position paper. In P. Jorrand and J. Kelemen, editors, Proceedings of Fundamentals of Artificial Intelligence Research, Vol. 535 of Lecture Notes in Computer Science, Springer-Verlag: New York, pp. 19–32.

  • Gervasi, V. 2000. Environment Support for Requirements Writing and Analysis. PhD thesis, University of Pisa.

  • Gervasi, V. 2001a. The Cico domain-based parser. Technical Report TR-01-25, Dipartimento di Informatica, Università di Pisa.

  • Gervasi, V. 2001b. Synthesizing ASMs from natural language requirements. In R. Moreno-Díaz and A. Quesada-Arencibia, editors, Proceedings of the Eighth EUROCAST Workshop on Abstract State Machines, Las Palmas, Spain, Universidad de Las Palmas, pp. 212–215.

  • Gervasi, V. 2002. Integrating Circe and Lyee. Circe Project internal report 19/02.

  • Gervasi, V. and Ambriola, V. 2003. Quantitative assessment of textual complexity. In L. Merlini-Barbaresi, editor, Complexity in Language and Text, Edizioni PLUS, Pisa.

    Google Scholar 

  • Gervasi, V. and Nuseibeh, B. 2000. Lightweight validation of natural language requirements: A case study. In Proceedings of the Fourth International Conference on Requirements Engineering, pp. 140–148.

  • Gervasi, V. and Nuseibeh, B. 2002. Lightweight validation of natural language requirements. Software–Practice and Experience, 32(2):113–133.

    MATH  Google Scholar 

  • Goldin, L. and Berry, D.M. 1997. Abstfinder, a prototype natural language text abstraction finder for use in requirements elicitation. Automated Software Engineering, 4(4):375–412.

    Google Scholar 

  • Heitmeyer, C., Bull, A., Gasarch, C., and Labaw, B. 1995. SCR*: A toolset for specifying and analyzing requirements. In Proceedings of the Tenth Annual Conference on Computer Assurance (Compass'95), Gaithersburg, Maryland, National Institute of Standards and Technology, pp. 109–122.

  • Jackson, M. 1995. Software Requirements and Specifications: A Lexicon of Practice, Principles, and Prejudices. Addison Wesley.

  • Jackson, M. 2002. Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley.

  • Johnson, J., Boucher, K.D., Connors, K., and Robinson, J. 2001. Project management: The criteria for success. Software Magazine.

  • Macias, B. and Pulman, S.G. 1995. A method for controlling the production of specifications in natural language. The Computer Journal, 38(4):310–318.

    Google Scholar 

  • Marcus, M.P., Santorini, B., and Marcinkiewicz, M.A. 1993. Building a large annotated corpus of English: The Penn Treebank. Computational Linguistics, 19:313–330.

    Google Scholar 

  • Mich, L. 1996. NL-OOPS: From natural language requirements to object oriented requirements using the natural language processing system LOLITA. Journal of Natural Language Engineering, 2(2):161–187.

    Article  Google Scholar 

  • Mich, L., Franch, M., and Novi Inverardi, P. 2004. Market research for requirements analysis using linguistic tools. Requirements Engineering Journal, 9:40–56.

    Article  Google Scholar 

  • Mich, L., Mylopoulos, J., and Zeni, N. 2002. Improving the quality of conceptual models with NLP tools: An experiment. Technical Report DIT-02-0047, Department of Information and Communication Technology, University of Trento.

  • Neill, C.J. and Laplante, P.A. 2003. Requirements engineering: The state of the practice. IEEE Software, 20(6):40–45.

    Article  Google Scholar 

  • Nuseibeh, B. and Easterbrook, S. 2000. Requirements engineering: A roadmap. In Proceedings of the 22nd International Conference on Software Engineering (ICSE 2000), Limerick, ACM Press.

  • Object Management Group. 2002. OMG-XML Metadata Interchange (XMI) Specification, Vol. 1.2, http://www.omg.org/technology/documents/formal/xmi.htm.

  • Rayson, P.S.P., Garside, R. 1999. Recovery legacy requirements. In Proceedings of the Fifth International Workshop on Requirements Engineering: Foundations for Software Quality, Heidelberg, Germany.

  • Rayson, P., Garside, R., and Sawyer, P. 1999. Language engineering for the recovery of requirements from legacy documents. Technical Report REVERE Project, Lancaster University.

  • Rayson, P., Garside, R., and Sawyer, P. 2000. Assisting requirements engineering with semantic document analysis. In Proceedings of the Sixth Computer-Assisted Information Retrieval Conference (RIAO 2000), Paris, pp. 1363–1371.

  • Richards, D. and Boettger, K. 2002. Representing requirements in natural language as concept lattices. In Proceedings of the 22nd Annual International Conference of the British Computer Society's Specialist Group on Artificial Intelligence (SGES), Cambridge, UK, BCS.

  • Richards, D., Boettger, K., and Aguilera, O. 2002. A controlled language to assist conversion of use case descriptions. In B. McKay and J.K. Slaney, editors, Proceedings of the Fifteenth Australian Joint Conference on Artificial Intelligence, Vol. 2557 of Lecture Notes in Computer Science, Springer-Verlag: Canberra, Australia, pp. 1–11.

  • Rolland, C. and Proix, C. 1992. A natural language approach for requirements engineering. In P. Loucopoulos, editor, Advanced Information Systems Engineering, number 593 in LNCS. Springer-Verlag.

  • Rumbaugh, J., Jacobson, I., and Booch, G. 1998. The Unified Modeling Language Reference Manual. Addison-Wesley.

  • Schmid, H. 1994. Probabilistic part-of-speech tagging using decision trees. In Proceedings of the Conference on New Methods in Language Processing, Manchester, UK, pp. 44–49.

  • Schwitter, R. 2002. English as a formal specification language. In Proceedings of the Thirteenth International Workshop on Database and Expert Systems Applications, Aix-en-Provence, France, pp. 228–232.

  • Schwitter, R., Ljungberg, A., and Hood, D. 2003. ECOLE: A lookahead editor for a controlled language. In Proceedings of EAMT-CLAW03 (joint conference combining the 8th International Workshop of the European Association for Machine Translation and the 4th Controlled Language Application Workshop), Dublin, Ireland, pp. 141–150.

  • Sukkarieh, J. and Pulman, S. 1999. Computer processable english and McLogic. In H. Bunt et al., editor, Proceedings of the Third International Workshop on Computational Semantics, Tilburg, pp. 367–380.

  • van Lamsweerde, A. 2000. Requirements engineering in the year 00: A research perspective. In Proceedings of the 22nd International Conference on Software Engineering (ICSE 2000), Limerick, ACM Press.

  • Zowghi, D. 2002. Does global software development need a different requirements engineering process? In Proceedings of the International Workshop on Global Software Development, Orlando, Florida, (In conjunction with the Int'l Conference on Software Engineering, ICSE 2002).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vincenzo Gervasi.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ambriola, V., Gervasi, V. On the Systematic Analysis of Natural Language Requirements with CIRCE . Autom Software Eng 13, 107–167 (2006). https://doi.org/10.1007/s10515-006-5468-2

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-006-5468-2

Keywords

Navigation