Scenario-Based Techniques for Supporting the Elaboration and the Validation of Formal Requirements

Developing complex, safety critical systems requires precise, unambiguous specification of requirements. A formal specification language is thus well suited to this task. Formal specification languages require, but also exacerbate, the need for tools. In particular, tools should support the elaboration (how to build the formal specification) and the validation (how to check the adequacy of the specification towards the informal needs of the various stakeholders). This paper focuses on the language Albert II, a formal language designed for the purpose of expressing requirements for distributed real-time systems. It presents two contributions supporting its use. The first contribution aims at improving the elaboration process by providing a method for constructing an Albert II description from scenarios expressing the stakeholders’ requirements. These are represented through message sequence charts extended to deal with composite systems. The second contribution takes the form of a requirements validation tool (a so-called animator) that the stakeholders can use interactively and cooperatively in order to explore different possible behaviours (or instance-level scenarios) of the future system. These behaviours are automatically checked against the formal requirements specification.

[1]  Pierre-Yves Schobbens,et al.  Real-Time Logics: Fictitious Clock as an Abstraction of Dense Time , 1997, TACAS.

[2]  Michael A. Jackson,et al.  Software requirements and specifications - a lexicon of practice, principles and prejudices , 1995 .

[3]  Stephen Fickas,et al.  Goal-directed concept acquisition in requirements elicitation , 1991, Proceedings of the Sixth International Workshop on Software Specification and Design.

[4]  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.

[5]  Camille Ben Achour Writing and correcting textual scenarios for system design , 1998, Proceedings Ninth International Workshop on Database and Expert Systems Applications (Cat. No.98EX130).

[6]  Martin S. Feather,et al.  Utilizing Scenarios in the Software Development Process , 1993, Information System Development Process.

[7]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[8]  Satoshi Yamane,et al.  The symbolic model-checking for real-time systems , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[9]  Shailey Minocha,et al.  CREWS-SAVRE: systematic scenario generation and use , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

[10]  Hanêne Ben-Abdallah,et al.  Expressing and Analyzing Timing Constraints in Message Sequence Chart Specifications , 1997 .

[11]  Klaus Pohl,et al.  Abstraction Guides: Interrelating Conceptual Models with Real World Scenes , 1998, REFSQ.

[12]  Eric Dubois,et al.  On the use of a formal RE language-the generalized railroad crossing problem , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[13]  Constance L. Heitmeyer,et al.  Consistency checking of SCR-style requirements specifications , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[14]  Martin Glinz,et al.  An Integrated Formal Model of Scenarios Based on Statecharts , 1995, ESEC.

[15]  Roel Wieringa,et al.  Requirements Engineering: Frameworks for Understanding , 1996 .

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

[17]  David Chenho Kung,et al.  Formal approach to scenario analysis , 1994, IEEE Software.

[18]  Patrick Heymans The Albert II Specification Animator , 1997 .

[19]  Martin S. Feather,et al.  Language support for the specification and development of composite systems , 1987, TOPL.

[20]  Roel Wieringa,et al.  Integrating Semi-Formal and Formal Software Specification Techniques , 1998, Inf. Syst..

[21]  Eric Dubois,et al.  Using a Formal Declarative Language for Specifying Requirements Modelled in CIMOSA , 1995 .

[22]  Stéphane S. Somé,et al.  Toward an Automation of Requirements Engineering using Scenarios , 1996 .

[23]  Bertrand Meyer,et al.  On Formalism in Specifications , 1985, IEEE Software.

[24]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[25]  Matthias Jarke,et al.  Telos: representing knowledge about information systems , 1990, TOIS.

[26]  N. Habra A transformational method for functional prototyping , 1992 .

[27]  Jawed I. A. Siddiqi,et al.  Towards quality requirements via animated formal specifications , 1997, Ann. Softw. Eng..

[28]  Jan Friso Groote,et al.  A toolset for the analysis of et-lotos specifications , 1998 .

[29]  Eric Dubois ALBERT: A Formal Language and Its Supporting Tools for Requirements Engineering , 1998, FASE.

[30]  Mojgan Kowsari,et al.  A Validation System for Object Oriented Specifications of Information Systems , 1997, ADBIS.

[31]  Colette Rolland,et al.  A Natural Language Approach for Requirements Engineering , 1992, CAiSE.

[32]  Björn Regnell,et al.  A hierarchical use case model with graphical representation , 1996, Proceedings IEEE Symposium and Workshop on Engineering of Computer-Based Systems.

[33]  Thomas A. Henzinger,et al.  Symbolic Model Checking for Real-Time Systems , 1994, Inf. Comput..

[34]  Pierre-Yves Schobbens,et al.  State Clock Logic: A Decidable Real-Time Logic , 1997, HART.