I've looked quite heavily into approaches to processing natural language requirements, and unfortunately I don't recall any that generated use case specifications. Many approaches actually process the use case specifications because their structure (and depending on the approach) restricted language makes them easier to analyse. Doesn't mean there aren't any though ;-)
If you or anyone else does find an approach that generates use case specs, I would be interested to know.
Interesting thought... not sure what the requirement specification would lneed to ook like... Now the other way... requirement specification from a use case... that is much more do-able :)
As an aside my current effort involving the use of SBVR to develop the domain model and derive the scope of the use case model (the UC elements, not the contents of the use case) is my first step in that direction... strictly using the fact types and business rules... to see what might be possible.
So, as far as tools no I do not know of any. But parsing NL to a UC spec, seems like too far a step to take at one go. Maybe NL to a SBV, then using that CNL to reach a UC spec might be doable (as that part is what I am currently working on).
I'm working on a methodology in order to automatically extract modeling artifacts from requirements documents such as diagrams of use cases, class diagram and user interfaces. To achieve this goal we propose the use of Natural Language subsidiary for writing use cases and linguistic standards for writing sentences. An article on this methodology will be presented in CLEI 2015 and soon the product will be available on IEEE Xplorer.
To generate uml models viz. Class diagram and use cases are already done in past years. But textual use case specification is not available till now. Have you defined your set of rules, grammer and parser or restricted Natural language ? Is it domain specific?please provide some information regarding or I will be waiting for your publication.
I'm actually setting the controada natural language for specifying use cases. This is part of my master's work and is not finished yet. I am available to exchange ideas.
a) Consistency analysis of Use Cases using finite automata simulators .
The objective of this study is to obtain an automated analysis method consistency of use cases. For this purpose a web application called SIAR (Integrated Management System Requirements) that manages the functional requirements of an information system along the lines of it was built UML (Unified Modeling Language). The main purpose of this CRMS is the use case management with a software tool to expedite your registration, normalize its content and enable implementing functional validations, such as an automated method of analyzing consistency of use cases. To this end, the system generates a graph with the state transition of each use case, expressed in XPDL protocol definition language (Workflow), which is analyzed in a simulation of deterministic finite automata to verify the cohesion of the scenarios defined.
b) Patterns in the implementation of Conceptual Models Validation.
The aim of this work is to incorporate patterns analysis systems to manage and validate software requirements in the creation of conceptual models of an information system. This work can be considered as an extension to the previous project "UTN1643 - Validation of Requirements through Conceptual Models" (GIDTSI Group, under the Department of Information Systems Engineering at the Universidad Tecnológica Nacional - Facultad Regional Córdoba). From the methodological, incorporating arises in activity Conceptual Modeling, analysis patterns, which will be used to optimize the initial definition of a new system, formalizing the definition and allow easy verification and validation of functional requirements, reusing knowledge and experience of previous "encapsulated" systems analysis solutions specific patterns called. It is also proposed to expand the scope and functionality of a tool called "SIAR" for managing and validating software requirements, designed and built in the above mentioned project.
As a necessary prerequisite for answering the question, definitions for "use case specification" and "natural language software requirements" must be provided. There are a number of Domain Specific Languages as well as Controlled English approaches that can be equally successful adopted for the first as well as the second task. Also, the quality of "use case specification" and "natural language software requirements" should be defined because the same text segment can be used as a representation of either of them but with different success and usability. Probably the first step should be selection of corresponding formal languages for each of the two. If it not possible, then at least domain model should be given.
Nguyen, H., Grundy, J.C. and Almorsy, M. Rule-based Extraction of Goal-Use Case Models from Text, 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE/ESEC 2015), Bergamo, Italy, August 31 – September 4, 2015, ACM Press.
PDF off my home page: http://www.ict.swin.edu.au/personal/jgrundy/papers/fse2015.pdf
And using a light-weight method:
Kalmalrudin, M., Grundy, J.C. and Hosking, J.G. Tool Support for Essential Use Cases to Better Capture Software Requirements, In Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering, Antwerp, Belgium, 20-24 Sept 2010, ACM Press.