A COMPOSITIONAL KNOWLEDGE LEVEL PROCESS MODEL OF REQUIREMENTS ENGINEERING

DANIELA E. HERLEA, CATHOLIJN M. JONKER, JAN TREUR, NIEK J. E. WIJNGAARDS
2002 International journal of software engineering and knowledge engineering  
In current literature few detailed process models for Requirements Engineering are presented: usually high-level activities are distinguished, without a more precise specification of each activity. In this paper the process of Requirements Engineering has been analyzed using knowledge-level modelling techniques, resulting in a well-specified compositional process model for the Requirements Engineering task. This process model is considered to be a generic process model: it can be refined (by
more » ... tantiation or specialisation) into a process model for a specific kind of Requirements Engineering process. * A preliminary and shorter version of this paper was presented at the IEA/AIE'99 conference, see 2 No standard and generally agreed requirements engineering process exists. In (Kontonya and Sommerville, 1998; Sommerville and Sawyer, 1997) the following activities are considered to be core activities in the process: • Requirements elicitation, through which the requirements are discovered by consulting the stakeholders of the system to be developed. • Requirements analysis and negotiation, through which requirements are analyzed in detail for conflict, ambiguities and inconsistencies. The agreement of the stakeholders on a set of system requirements is essential. • Requirements validation, through which the requirements are checked for consistency and completeness. • Requirements documentation, through which the requirements are maintained and motivated. Aside from the above, in (Dubois, Du Bois, and Zeippen, 1995) also the activity modelling is distinguished. Loucipoulos and Karakostas (1995) distinguish elicitation, specification and validation as the main activities. Other approaches in the literature distinguish activities, like requirements determination (Yadav, Bravoco, Chatfield, and Rajkumar, 1988) . These activities overlap with some of the activities mentioned above. Various knowledge modelling methods and tools have been developed, for an overview see (Brazier and Wijngaards, 1997) , and applied to complex tasks and domains. The application of a knowledge modelling method to the domain of Requirements Engineering in this paper has resulted in a compositional process model of the task of Requirements Engineering, based on the compositional knowledge modelling method DESIRE (Design and Specification of Interacting Reasoning components); cf. . DESIRE is based on a formal specification language and is supported by graphical tools. For an account of the formal semantics of the underlying language, see (Brazier, Treur, Willems, and Wijngaards, 1999) . In the approach presented in this paper requirements and scenarios are considered equally important; see also (Herlea, Jonker, Treur and Wijngaards, 1999c) . Requirements describe, for example, functional and behavioural properties of the (Herlea, Jonker, Treur, and Wijngaards, 1999b) . knowledge used to control processes and information exchange (dynamic view on the composition). Knowledge Composition Knowledge composition identifies the knowledge structures at different levels of knowledge abstraction, and describes how a knowledge structure can be defined in terms of lower level knowledge structures. The knowledge abstraction levels may correspond to the process abstraction levels, but this is often not the case. Identification of knowledge structures at different abstraction levels The two main structures used as building blocks to model knowledge are: information types and knowledge bases. Knowledge structures can be identified and described at different levels of abstraction. At higher levels details can be hidden. An information 6 type defines an ontology (or lexicon, vocabulary) to describe objects or terms, their sorts, and the relations or functions that can be defined on these objects. Information types can graphically be represented on the basis of conceptual graphs and logically in order-sorted predicate logic. A knowledge base defines a part of the knowledge that is used in one or more of the processes. Knowledge is represented by formulae in ordersorted predicate logic, which can be normalised by a standard transformation into ifthen rules. Composition of Knowledge Structures Information types can be composed of more specific information types, following the principle of compositionality discussed above. Similarly, knowledge bases can be composed of more specific knowledge bases. The compositional structure is based on the different levels of knowledge abstraction distinguished, and results in information and knowledge hiding. Relation between Process Composition and Knowledge Composition Each process in a process composition uses knowledge structures. Which knowledge structures are used for which processes is defined by the relation between process composition and knowledge composition. An Example Case Study The example domain for the case study is the development of a multi-agent system that keeps its human users informed with respect to their interests and the rapidly changing available information on the World Wide Web. The task of the multi-agent system is to inform each of its users on information available (e.g., papers) on the World Wide Web that is within their scope of interest. The sources of information are the World Wide Web, but also information providing agents that operate on the World Wide Web, for example, agents related to Web sites of research groups, which announce new papers included in their web-site. To get an impression, the following list shows the initially elicited requirements R1 to R9, including their sub-divisions a-d; this is taken from the requirements document. For traceability, numbers between "{" and "}" refer to parts of the original interview. Examples of formal representations of top level requirements: L0.R1.2 is formalised by L0.R1.3: The first part of this requirement addresses the case that information relating to an awareness scope is already present, whereas the second part addresses the case that the information becomes available later. L0.R1.3:
doi:10.1142/s0218194002000792 fatcat:zxtzsbt6czhs5n4vnpwak36ghy