Many AI techniques have been applied to goaloriented requirements engineering. However, such techniques have focused mostly on the intellectual challenge and ignored the engineering challenge of RE at scale. We discuss some of these existing approaches. We then introduce some early work that aims to add contextual quality attribute information to leverage the power of AI techniques and tools with real-world engineering. We believe this will address some of the acquisition and context problems that have plagued AI in RE.Index Terms-requirements, analysis, agile
I. USING AI TO SOLVE THE REQUIREMENTS PROBLEMThis paper describes our use of AI in modeling requirements, and introduces an approach to understanding system context using AI techniques. We have immediate experience with applying AI to modeling and analyzing requirements. This seems natural, since both AI and RE are concerned with modeling the world. In particular, in our work (e.g., [1]) we have applied satisfiability solving (SAT), abductive inference for diagnosis [2] and local search [3], among others, to the problem of representing and reasoning over the requirements problem. We formulate the requirements problem as satisfying the condition W, S R, where W is domain assumptions, S is a specification, and W ∪ S is consistent and is some logical deduction relationship. In Techne [4] we represent requirements R as consisting of goals G and softgoals/quality attributes Q. Quality attributes are desired values of non-binary measurable properties of a system-to-be.This representation positions the populated requirements knowledge base ∆ as a container for well-formed formulas and assertions that can be used to answer questions for both the problem and solution domain. This is very similar to knowledge modeling for AI proposed by Levesque [5], among others. It also builds on RML [6] and Telos [7]. AI work in theories of abductive reasoning for diagnosis [2] and planning [8] is incredibly useful for finding satisfiable models for system design. In Menzies [9] these concepts were applied to solving requirements optimization challenges. The common concern here is the treatment of a requirements problem as a knowledge base, much like any other expert system might, with suitable operators for extracting knowledge using ASK style questions. For example, in Ernst et al.[1] we introduced an operator called MINIMAL GOAL ACHIEVEMENT to find the minimal set of goals to satisfy high-level requirements.We are currently applying these AI-derived goal-modeling approaches to understanding how quality attributes (such as security, performance, maintainability) guide possible software architectures and designs. In particular, we are interested in properly sizing and allocating quality attribute specific work to incremental iterations. However, there are three challenges we see in using AI to enhance RE acquisition, modeling and analysis: 1) Overcoming scalability problems of standard AI approaches. 2) Adapting AI knowledge representation techniques to RE problems. 3) Reducing a...