The Community for Technology Leaders
Green Image
Issue No. 03 - March (2013 vol. 39)
ISSN: 0098-5589
pp: 361-383
Alessandra Russo , Imperial College London, London
Jeff Kramer , Imperial College London, London
Dalal Alrajeh , Imperial College London, London
Sebastian Uchitel , Imperial College London, London
ABSTRACT
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.
INDEX TERMS
Wheels, Computational modeling, Software, Adaptation models, Calculus, Switches, Semantics, inductive learning, Requirements elaboration, goal operationalization, behavior model refinement, model checking
CITATION
Alessandra Russo, Jeff Kramer, Dalal Alrajeh, Sebastian Uchitel, "Elaborating Requirements Using Model Checking and Inductive Learning", IEEE Transactions on Software Engineering, vol. 39, no. , pp. 361-383, March 2013, doi:10.1109/TSE.2012.41
166 ms
(Ver )