Fluent-based animation: exploiting the relation between goals and scenarios for requirements validation

Scenarios and goals are effective and popular techniques for requirements definition. Validation is essential in order to ensure that they represent what stakeholders actually want. Rather than validating scenarios and goals separately, possibly driving the elaboration of one through the validation of the other, This work focuses on exploiting the relation between goals and scenarios. The aim is to provide effective graphical animations as a means of validating both. Goals are objectives that a system is to meet. They are elaborated into a structure that decomposes declarative goals into goals that can be formulated in terms of events that can be controlled or monitored by the system. Scenarios are operational examples of system usage. The relation between scenarios and goals is established by means of fluents that describe how events of the operational description change the state of the basic propositions from which goals are expressed. Graphical animations are specified in terms of fluents and driven by a behaviour model synthesised from the operational scenarios.

[1]  Bashar Nuseibeh,et al.  Expressing the relationships between multiple views in requirements specification , 1993, ICSE '93.

[2]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[3]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[4]  Dimitra Giannakopoulou,et al.  Fluent model checking for event-based systems , 2003, ESEC/FSE-11.

[5]  Matthias Jarke Cooperative Requirements Engineering with Scenarios , 1999, RE.

[6]  Anca Muscholl,et al.  Message Sequence Charts , 2003, Lectures on Concurrency and Petri Nets.

[7]  Gerard J. Holzmann,et al.  The State of SPIN , 1996, CAV.

[8]  A. Pnueli,et al.  STATEMATE: a working environment for the development of complex reactive systems , 1988, [1988] Proceedings. The Third Israel Conference on Computer Systems and Software Engineering.

[9]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[10]  Constance L. Heitmeyer,et al.  The SCR Method for Formally Specifying, Verifying, and Validating Requirements: Tool Support , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[11]  Sebastián Uchitel,et al.  Visual methods for Web application design , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.

[12]  Kenji Takahashi,et al.  Inquiry-based requirements analysis , 1994, IEEE Software.

[13]  Julio Cesar Sampaio do Prado Leite,et al.  Requirements Validation Through Viewpoint Resolution , 1991, IEEE Trans. Software Eng..

[14]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[15]  Axel van Lamsweerde,et al.  Formal refinement patterns for goal-driven requirements elaboration , 1996, SIGSOFT '96.

[16]  Shailey Minocha,et al.  Supporting Scenario-Based Requirements Engineering , 1998, IEEE Trans. Software Eng..

[17]  Murray Shanahan,et al.  The Event Calculus in Classical Logic - Alternative Axiomatisations , 1999, Electron. Trans. Artif. Intell..

[18]  David Harel,et al.  Come, Let’s Play , 2003, Springer Berlin Heidelberg.

[19]  Axel van Lamsweerde,et al.  Inferring Declarative Requirements Specifications from Operational Scenarios , 1998, IEEE Trans. Software Eng..

[20]  A. Sutcliffe,et al.  A technique combination approach to requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[21]  Dimitra Giannakopoulou,et al.  Graphical animation of behavior models , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[22]  P. S. Thiagarajan,et al.  Message Sequence Charts , 2003, UML for Real.

[23]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .