Deriving tabular event-based specifications from goal-oriented requirements models

Goal-oriented methods are increasingly popular for elaborating software requirements. They provide systematic support for incrementally building intentional, structural and operational models of the software and its environment together with various techniques for early analysis, e.g., to manage conflicting goals or anticipate abnormal environment behaviors that prevent goals from being achieved. On the other hand, tabular event-based methods are well-established for specifying operational requirements for control software. They provide sophisticated techniques and tools for late analysis of software behavior models through, e.g., simulation, model checking or table exhaustiveness checks. We propose to take the best out of these two worlds to engineer requirements for control software. It presents a technique for deriving event-based specifications, written in the SCR tabular language, from operational specifications built according to the KAOS goal-oriented method. The technique consists in a series of transformation steps each of which resolves semantic, structural or syntactic differences between the KAOS source language and the SCR target language. Some of these steps need human intervention and illustrate the kind of semantic subtleties that need to be taken into account when integrating multiple formalisms. As a result of our technique SCR specifiers may use upstream goal-based processes a la KAOS for the incremental elaboration, early analysis, organization and documentation of their tables while KAOS modelers may use downstream tables a la SCR for later analysis of the behavior models derived from goal specifications.

[1]  Constance L. Heitmeyer,et al.  Automatic generation of state invariants from requirements specifications , 1998, SIGSOFT '98/FSE-6.

[2]  Steve Sims,et al.  TAME: A PVS Interface to Simplify Proofs for Automata Models , 1998 .

[3]  Solomon L. Pollack,et al.  Decision Tables Theory and Practice , 1971 .

[4]  A. V. Lamsweerde,et al.  Agent-based tactics for goal-oriented requirements elaboration , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[5]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[6]  A. Gargantini,et al.  Using Model Che king to Generate Testsfrom Requirements Spe i ations ? , 1999 .

[7]  Michael Jackson,et al.  Principles of program design , 1975 .

[8]  A. Gurfinkel,et al.  Model exploration with temporal logic query checking , 2002, SOEN.

[9]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[10]  Axel van Lamsweerde,et al.  Deriving operational software specifications from system goals , 2002, SIGSOFT '02/FSE-10.

[11]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[12]  Steve M. Easterbrook,et al.  Formal modeling of space shuttle software change requests using SCR , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[13]  Kathryn L. Heninger Specifying Software Requirements for Complex Systems: New Techniques and Their Application , 2001, IEEE Transactions on Software Engineering.

[14]  Myla Archer,et al.  Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications , 1998, IEEE Trans. Software Eng..

[15]  John Gannon,et al.  State-based model checking of event-driven system requirements , 1991, SIGSOFT '91.

[16]  William N. Robinson,et al.  Requirements interaction management , 2003, CSUR.

[17]  LetierEmmanuel,et al.  Deriving operational software specifications from system goals , 2002 .

[18]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[19]  Constance L. Heitmeyer,et al.  Tools for formal specification, verification, and validation of requirements , 1997, Proceedings of COMPASS '97: 12th Annual Conference on Computer Assurance.

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

[21]  Eric S. K. Yu,et al.  Modeling organizations for information systems requirements engineering , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[22]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[23]  David Lorge Parnas,et al.  Documentation for safety critical software , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[24]  Annie I. Antón,et al.  The use of goals to surface requirements for evolving systems , 1998, Proceedings of the 20th International Conference on Software Engineering.

[25]  Axel van Lamsweerde,et al.  Handling Obstacles in Goal-Oriented Requirements Engineering , 2000, IEEE Trans. Software Eng..

[26]  Axel van Lamsweerde,et al.  Deriving tabular event-based specifications from goal-oriented requirements models , 2004, Requirements Engineering.

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

[28]  A. Berztiss,et al.  Requirements Engineering , 2002, J. Object Technol..

[29]  Axel van Lamsweerde,et al.  Requirements engineering in the year 00: a research perspective , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[30]  David Lorge Parnas,et al.  Functional Documents for Computer Systems , 1995, Sci. Comput. Program..

[31]  Sung Deok Cha,et al.  Formal Verification of Functional Properties of an SCR-Style Software Requirements Specification Using PVS , 2002, TACAS.

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

[33]  Colin Potts,et al.  Using schematic scenarios to understand user needs , 1995, Symposium on Designing Interactive Systems.

[34]  David Lorge Parnas,et al.  Documentation of requirements for computer systems , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[35]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[36]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..