DERIVING BEHAVIOR SPECIFICATIONS FROM TEXTUAL USE CASES

The design of a software system or component starts with specifying its requirements; traditionally, use cases written in natural language are used for this task. While this makes use cases easily readable, it neither permits reasoning on requirement specifications (written as use cases), nor employing the use cases in deriving an initial design in an automated way. While employing linguistic tools to analyze use cases has already been considered, such efforts usually attempted to utilize all the information possibly contained in a use case specification, thus facing the complexity of a natural language. Yet, in a use case, the sentence describing a use case step adheres to a simple prescribed structure, and describes an action, which is either a communication action (among entities involved in the use case), or an internal action. In this paper, we describe how the principal attributes of the action described by a use case step can be acquired from the parse tree of the sentence specifying the step; we employ readily available linguistic tools for obtaining the parse tree. Having identified the communication actions permits us to construct an (estimate of) behavior specification of the entity (component) modeled by a use case model, as well as to collect the list of operations accepted and requested by the entity; this may aid with defining the interfaces of a component.

[1]  Colette Rolland,et al.  A Natural Language Approach for Requirements Engineering , 1992, CAiSE.

[2]  J. F. M. Burg,et al.  COLOR-X: Linguistically-based Event Modeling: A General Approach to Dynamic Modeling , 1995, CAiSE.

[3]  Frantisek Plasil,et al.  Behavior Protocols for Software Components , 2002, IEEE Trans. Software Eng..

[4]  Debbie Richards,et al.  A Controlled Language to Assist Conversion of Use Case Descriptions into Concept Lattices , 2002, Australian Joint Conference on Artificial Intelligence.

[5]  Eugene Charniak,et al.  Statistical Techniques for Natural Language Parsing , 1997, AI Mag..

[6]  Ana M. Moreno Object-Oriented Analysis from Textual Specifications , 2005 .

[7]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[8]  Christopher D. Manning,et al.  Enriching the Knowledge Sources Used in a Maximum Entropy Part-of-Speech Tagger , 2000, EMNLP.

[9]  Rajeev R. Raje,et al.  Formal Methods for Quality of Service Analysis in Component-Based Distributed Computing , 2004, Trans. SDPS.

[10]  Frantisek Plasil,et al.  USE CASES: ASSEMBLING "WHOLE PICTURE" BEHAVIOR , 2002 .

[11]  Michael Collins,et al.  A New Statistical Parser Based on Bigram Lexical Dependencies , 1996, ACL.

[12]  Beum-Seuk Lee,et al.  Automated conversion from requirements documentation to an object-oriented formal specification language , 2002, SAC '02.

[13]  Martin Mach,et al.  Addressing State Explosion in Behavior Protocol Verification , 2004, SNPD.

[14]  Eliezer Kantorowitz,et al.  A Specification-Oriented Framework for Information System User Interfaces , 2002, OOIS Workshops.

[15]  John A. Carroll,et al.  Applied morphological processing of English , 2001, Natural Language Engineering.

[16]  Alan O'Callaghan,et al.  Object-Oriented Methods: Principles and Practice , 2000 .

[17]  V. Mencl Converting Textual Use Cases into Behavior Specifications , 2004 .

[18]  Andrea Zisman,et al.  Are their design specifications consistent with our requirements? , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[19]  Daryl Kulak,et al.  Use cases: requirements in context , 2000, SOEN.

[20]  Miles Osborne,et al.  Processing natural language software requirement specifications , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[21]  Vincenzo Gervasi Synthesizing ASMs from natural language requirements , 2001 .

[22]  Vincenzo Gervasi,et al.  The Cico Domain-Based Parser , 2001 .

[23]  Frantisek Plasil,et al.  Getting 'whole Picture' Behavior in a Use Case Model , 2003, Trans. SDPS.