Domain knowledge plays an important role in defining requirements of high quality. Organizations contain abundant domain knowledge both; - implicit that resides with domain experts, and explicit in the form of documented business processes, domain models, and best practices. It is important that this is made visible and easily accessible to those who need it on the field.  Harnessing and reusing available domain knowledge becomes especially important in the software development context when multiple, geographically dispersed teams work together to build large-scale software applications. It becomes imperative then that they do not waste their time in reinventing the wheel, but utilize it to create innovative solutions and ensure a productive and high-quality delivery.

To address this need, we are developing a method and framework that starts with a ‘seed requirement specification.’ The seed contains structured domain knowledge as represented by core elements such as business events, actions and decisions (as captured in business processes), constraints, and partial domain models. Each time a new software application is to be developed; we start with this seed specification and ‘evolve’ it by way of altering and/or adding to the core to get to the final requirement specification. We term this approach as Knowledge Assisted Requirements Evolution (KARE). This approach is different from the existing requirements engineering methods that treat the requirements definition exercise as something that starts from a ‘clean slate’.

Solving this problem translates into addressing several sub-problems such as (1) Structuring domain knowledge by way of identifying key concepts, their relationships and constraints ( 2) Presenting the knowledge in way that makes it visible and easily accessible (3) Providing an in-built  semantic assistance to utilize this knowledge and thereby enhance unambiguousness, completeness and correctness of requirements specification (4) Provide a way to create requirement models amenable to downstream development (5) Providing  effective collaboration mechanisms for this highly interactive activity.

To achieve the above, we use the semantic web concepts, logical formalisms derived from domain ontologies, NLP techniques, and the ‘architecture of participation’ offered by web 2.0 woven seamlessly in a method and framework that employs state-of art technology.