FOREST | Overview | Process Model | Pattern-based Process Model |
Integrating Requirement Patterns |
The effort to produce a FPS and its derived natural language description usually is substantial, especially if large and complex systems are to be characterized. To reduce this effort, we propose a generic approach to the formalization of requirements. Our approach is based on a pool of requirement patterns. By requirement pattern, we refer to a generic description of a class of domain-specific requirements. Currently this pool of requirement patterns exists.
Based on the pattern pool and the Customer NLPS, the formalization of requirements through pattern reuse consists of the following steps (see Figure 2):
Figure 2: Formalization Through Pattern Reuse
The degree to which the formalization of requirements can be achieved through pattern reuse depends both on the Customer NLPS and the contents of the pattern pool. If the structure of an informal requirement follows a selection requirement pattern that is already contained in the pool, then its formalization can be achieved directly by instantiating the pattern. If the structure is different, then either transformations and/or modifications of the informal requirement may lead to a structure that is already supported by the pattern pool, or the formalization must be done in the conventional way, i.e. without reuse (see Figure 2). The pool of requirement patterns should evolve over time. As a consequence, the portion of requirements that is developed from requirement patterns will increase, reducing the overall effort of problem specification.
Adding a Catalogue of Requirements |
The existence of a pool of requirement patterns can be exploited further to reduce the effort for the specification of requirements. Based on previous experience, a set of pattern instantiations may be selected, forming a catalogue of formal requirements (FPS catalogue, see Figure 3). Translation of these requirements leads to a NLPS catalogue that can be used by customers to state informal requirements during the entire problem development process. On the one hand, this provides some guidance to customers on how and what requirements may be stated. On the other hand, the formalization of these requirements through pattern reuse, if not yet available, becomes straightforward, since the corresponding pattern is already contained in the pattern pool.
Figure 3: Adding a Catalogue
Discovery of Requirement Patterns |
Building up a pattern pool will be an iterative process itself. This pattern discovery task can be modeled as a sub-cycle in the specification development model. Typically, each external specification development cycle triggers one or more internal pattern discovery/reuse cycles affecting both pattern pool and FPS, since each FPS modification can lead to new patterns or the improvement of existing patterns.
Finally, we obtain the development model shown in Figure 4.
Figure 4: Complete Problem Specification Process Model Using Requirement
Patterns