Experiences with Domain-Based Parsing of Natural Language Requirements
暂无分享,去创建一个
Requirement engineering is the part of software engineering that concerns the identification, expression, validation and analysis of the real-world goals and constraints for a software system. In particular, requirement engineering offers tools, methods and techniques to bridge the gap between (often vague) customer’s desires and a precise specification of the system that can be used to design and build a concrete system satisfying the requirements stated. Despite the wide array of formalisms devised to express requirements for software systems, natural language requirements are still the most common form of requirements found in practice. Natural language requirements have the undesirable property that it is often very difficult to prove properties on them (e.g.: non-redundancy, consistency, coverage of all possible cases) due in part to their inherent ambiguity, and in part to their low amenability to automatic processing. On the other hand, natural language plays a key role in communication with the customer, and is also the best expressive medium in the initial “brainstorming” part of a requirement process, so it cannot be simply discarded as inconvenient. For these reasons, an environment supporting requirement engineering activities has to devote a special attention to the handling of natural language requirements. Most commercially available tools offer a good support to techniques li ke tracing the evolution of requirements, linking requirements to other documents, structuring, merging and spli tting requirement documents, assigning authorities over requirements to different individuals, etc. All these techniques, however, treat natural language requirements as black-box objects, without getting to their meaning. In this paper, we discuss a technique for shallow parsing of natural language that we have found to be particularly effective in the case of software requirements. The technique described here is implemented in a component named Cico of our cooperative requirement engineering environment Circe [1], and has been used to perform partial validation of some of the requirements for the International Space Station [2].
[1] Vincenzo Gervasi,et al. Processing natural language requirements , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.