Interactive Environment for Requirement Specification

Advisor: Vladimir Mencl

The design of a software system or component starts with specifying its requirements; traditionally, use cases written in natural language (English) are used for this task.

Based on the simple and uniform sentence structure used in textual use cases [10], a conversion scheme [1, 3] has been proposed in the Procasor project [12] to derive behavior specifications from textual use cases. The scheme has been implemented in a prototype tool, employing a suite of readily available natural language processing tools [7, 8, 9].

The goal of this project is to develop an interactive environment for specifying requirements for a future system. The requirements will be specified as textual use cases; employing the already proposed transformation, the tool will interactively derive formal specification of the system’s behavior from the textual use cases as the user enters them. This way, both “user-readable” textual specification and precise formal specifications of the system will be developed at the same time, only slightly increasing the effort required to write the use case models.

The environment should support constructing requirement specifications for component-based applications developed in hierarchical component models. The environment should address the following issues (elaborated in detail in [1,3]):

  • construct matching event tokens for complementary send / receive actions in use case models of communicating entities (and also for related events on adjacent levels of nesting).
  • incorporating user feedback (corrections on the event tokens derived for the step specification)

  • identify nested calls
  • constructing behavior specifications possibly in several notations (Behavior Protocols [14], UML State Machines [16], Port State Machines [15]) Here note that constructing state machines includes the need to identify states from the textual use cases.

Optionally, the environment should also support the following features:

  • processing multiple parse trees (obtained with the same parser [5] or several different parsers.
  • simulate execution of the behavior specification (by generating sample scenarios)

References

[1] Mencl, V.: Deriving Behavior Specifications from Textual Use Cases, in Proceedings of Workshop on Intelligent Technologies for Software Engineering (WITSE04, Sep 21, 2004, part of ASE 2004), Linz, Austria, ISBN 3-85403-180-7, pp. 331-341, Oesterreichische Computer Gesellschaft, Sep 2004

[2] Plasil, F., Mencl, V.: Getting “Whole Picture” Behavior in a Use Case Model, in Transactions of the SDPS: Journal of Integrated Design and Process Science, vol. 7, no. 4, pp. 63-79, Dec 2003, ISSN-1092-0617, publisher: Society for Design and Process Science, Grandview, Texas, slightly modified version of paper published in Proceedings of IDPT 2003, Dec 2003

[3] Mencl, V.: Converting Textual Use Cases into Behavior Specifications, Tech. Report No. 2004/5, Dept. of SW Engineering, Charles University, Prague, Aug 2004

[4] Plasil, F., Mencl, V.: Use Cases: Assembling “Whole Picture” Behavior, Technical Report 02/11, Department of Computer Science, University of New Hampshire, NH, U.S.A., Nov 2002

[5] Bikel, D. M. : Design of a Multi-lingual, Parallel-processing Statistical Parsing Engine, in Proceedings of HLT 2002, http://www.cis.upenn.edu/~dbikel/software.html#stat-parser

[6] Eugene Charniak: Statistical Techniques for Natural Language Parsing, AI Magazine 18(4): 33-44, 1997,

[7] Michael Collins: A New Statistical Parser Based on Bigram Lexical Dependencies., Proceedings of 34th Annual Meeting of the Association for Computational Linguistics, ACL 1996, 24-27 June 1996, University of California, Santa Cruz, California, USA, Morgan Kaufmann Publishers, 1996, http://www.cis.upenn.edu/~mcollins/

[8] Adwait Ratnaparkhi: A Maximum Entropy Part-Of-Speech Tagger, Proceedings of the Empirical Methods in Natural Language Processing Conference, May 17-18, 1996. University of Pennsylvania, 1996, http://www.cis.upenn.edu/~adwait/statnlp.html

[9] Minnen, G., Carroll J., Pearce, D.: Applied morphological processing of English, Natural Language Engineering, 7(3), pp. 207-223, 2001, http://www.informatics.susx.ac.uk/research/nlp/carroll/abs/01mcp.html

[10] Cockburn, A.: Writing Effective Use Cases, Addison-Wesley Pub Co, ISBN: 0201702258, 1st edition, Jan 2000

[11] List of related work on requirement specifications and use cases, http://nenya.ms.mff.cuni.cz/related.phtml?p=reqspecuc

[12] Procasor project, http://nenya.ms.mff.cuni.cz/procasor

[13] Mencl, V.: Use Cases: Behavior Assembly, Behavior Composition and Reasoning, Ph.D. Thesis, advisor: Frantisek Plasil, Jun 2004

[14] Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components, IEEE Transactions on Software Engineering, vol. 28, no. 11, Nov 2002

[15] Mencl, V.: Specifying Component Behavior with Port State Machines, Accepted for publication in proceedings of Compositional Verification of UML Models workshop (Oct 21, 2003, part of UML 2003) as a volume of the Electronic Notes in Theoretical Computer Science, Elsevier Science, Mar 2004

[16] Object Management Group (OMG): Unified Modeling Language: Superstructure, version 2.0, Revised Final Adopted specification (FTF convenience document), ptc/04-05-02, http://www.omg.org/uml/