Issue No. 03 - March (2013 vol. 39)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2012.41
Dalal Alrajeh , Imperial College London, London
Jeff Kramer , Imperial College London, London
Alessandra Russo , Imperial College London, London
Sebastian Uchitel , Imperial College London, London
The process of Requirements Engineering (RE) includes many activities, from goal elicitation to requirements specification. The aim is to develop an operational requirements specification that is guaranteed to satisfy the goals. In this paper, we propose a formal, systematic approach for generating a set of operational requirements that are complete with respect to given goals. We show how the integration of model checking and inductive learning can be effectively used to do this. The model checking formally verifies the satisfaction of the goals and produces counterexamples when incompleteness in the operational requirements is detected. The inductive learning process then computes operational requirements from the counterexamples and user-provided positive examples. These learned operational requirements are guaranteed to eliminate the counterexamples and be consistent with the goals. This process is performed iteratively until no goal violation is detected. The proposed framework is a rigorous, tool-supported requirements elaboration technique which is formally guided by the engineer's knowledge of the domain and the envisioned system.
Wheels, Computational modeling, Software, Adaptation models, Calculus, Switches, Semantics, inductive learning, Requirements elaboration, goal operationalization, behavior model refinement, model checking
A. Russo, J. Kramer, D. Alrajeh and S. Uchitel, "Elaborating Requirements Using Model Checking and Inductive Learning," in IEEE Transactions on Software Engineering, vol. 39, no. , pp. 361-383, 2013.