Skip to main content
Log in

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

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

Goal-oriented methods are increasingly popular for elaborating software requirements. They offer systematic support for incrementally building intentional, structural and operational models of the software and its environment. They also provide various techniques for early analysis, notably, to manage conflicting goals or to anticipate abnormal environment behaviours 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 behaviour models through simulation, model checking or table exhaustiveness checks. The paper proposes 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 of 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 à la KAOS for the incremental elaboration, early analysis, organization and documentation of their tables, while KAOS modelers may use downstream tables à la SCR for later analysis of the behaviour models derived from goal specifications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

References

  1. van Lamsweerde A (2000) Requirements engineering in the year 00: a research perspective. In: Proc ICSE’2000, 22nd Intl conference on software engineering, ACM, New York

  2. van Lamsweerde A (2001) Goal-oriented requirements engineering: a guided tour. In: Proc RE’01, 5th Intl symp requirements engineering, Toronto, August 2001, pp 249–263

  3. Darimont R, van Lamsweerde A (1996) Formal refinement patterns for goal-driven requirements elaboration. In: Proc FSE’4, 4th ACM symp on foundations of software engineering, Oct 1996, pp 179–190

  4. Letier E, van Lamsweerde A (2002) Agent-based tactics for goal-oriented requirements elaboration. In: Proc. ICSE’02, 24th Intl conf. on software engineering, Orlando, May 2002, IEEE, Washington, DC

  5. Letier E, van Lamsweerde A (2002) Deriving operational software specifications from system goals. In: Proc FSE’10, 10th ACM Symp foundations of software engineering, Charleston, November 2002

  6. Dardenne A, van Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Program 20:3–50

    Google Scholar 

  7. Mylopoulos J, Chung L, Nixon B (1992) Representing and using nonfunctional requirements: a process-oriented approach. IEEE T Software Eng 18:483–497

    Article  Google Scholar 

  8. Anton AI, Potts C (1998) The use of goals to surface requirements for evolving systems. In: Proc ICSE-98, 20th Intl conference on software engineering, Kyoto, April 1998

  9. Yu ESK (1993) Modelling organizations for information systems requirements engineering. In: Proc RE’93, 1st Intl Symp on Requirements Engineering, IEEE, Washington, DC, pp 34–41

  10. Yue K (1987) What does it mean to say that a specification is complete?. In: Proc IWSSD-4, Fourth international workshop on software specification and design, Monterey, USA

  11. van Lamsweerde A, Darimont R, Letier E (1998) Managing conflicts in goal-driven requirements engineering. IEEE T Software Eng 24:908–926

    Article  Google Scholar 

  12. Chung L, Nixon B, Yu E, Mylopoulos J (2000) Non-functional requirements in software engineering. Kluwer Academic, Dordrecht

  13. Robinson WN (2003) Requirements interaction management. ACM Comput Surv, June 2003

  14. Potts C () Using schematic scenarios to understand user needs. In: Proc DIS’95, ACM symposium on designing interactive systems: processes, practices and techniques, Ann Arbor, MI, August 1995

  15. van Lamsweerde A, Letier E (2000) Handling obstacles in goal-oriented requirements engineering. IEEE T Software Eng 26:978–1005

    Article  Google Scholar 

  16. Pollack S, Hicks H (1971) Decision tables—theory and practice. Wiley, New York

  17. Heninger KL (1980) Specifying software requirements for complex systems: new techniques and their application. IEEE T Software Eng 6:2–13

    Google Scholar 

  18. Van Schouwen AJ, Parnas DL, Madey J (1993) Documentation of requirements for computer systems. In: Proc RE’93, 1st Intl Symp on Requirements Engineering, San Diego, 1993, IEEE, Washington, DC, pp 198–207

  19. Heitmeyer C, Jeffords RD, Labaw BG (1996) Automated consistency checking of requirements specifications. ACM T Software Eng Meth 5:231–26

    Article  Google Scholar 

  20. Heimdahl MP, Leveson NG (1996) Completeness and consistency in hierarchical state-based requirements. IEEE T Software Eng 22:363–377

    Article  Google Scholar 

  21. Heitmeyer C, Kirby J, Labaw B (1997) Tools for formal specification, verification, and validation of requirements. In: Proc COMPASS ‘97, Gaithersburg, MD, June 1997

  22. Atlee JM (1993) State-based model checking of event-driven system requirements. IEEE T Software Eng 19:24–40

    Article  Google Scholar 

  23. Heitmeyer C, Kirkby J, Labaw B, Archer M, Bharadwaj R (1998) Using abstraction and model checking to detect safety violations in requirements specifications. IEEE T Software Eng 24:927–948

    Article  Google Scholar 

  24. Gargantini A, Heitmeyer C (1999) Using model checking to generate tests from requirements specifications. In: Proc ESEC/FSE’99, LNCS, vol 1687. Springer, Berlin Heidelberg New York, pp 146–162

  25. Jeffords R, Heitmeyer C (1998) Automatic generation of state invariants from requirements specifications. In: Proc FSE-6, 6th ACM symp foundations of software engineering, 1998, pp 56–69

  26. Archer M, Heitmeyer C, Sims S (1998) TAME: A PVS interface to simplify proofs for automata models. In: Proc UITP’98, July 1998

  27. Taeho K, Stringer-Calvert D, Cha S (2002) Formal verification of functional properties of an SCR-style software requirements specification using PVS. In: Proc TACAS’2002, Springer-Verlag, April 2002

  28. P.-J. Courtois, D.L. Parnas () Documentation for safety critical software. In: Proc ICSE’93, 15th Intl Conf on Software Engineering, 1993, pp 315–323

  29. Letier E () Goal-oriented elaboration of requirements for a safety injection control system.http://www.info.ucl.ac.be/people/eletier/safety-injection.pdf. Cited 9 February 2004

  30. van Lamsweerde A, Willemet L (1998) Inferring declarative requirements specifications from operational scenarios. IEEE T Software Eng 24:1089–1114

    Article  Google Scholar 

  31. Zave P, Jackson M (1997) Four dark corners of requirements engineering. ACM T Software Eng Meth 6:1–30

    Article  Google Scholar 

  32. Parnas DL, Madey J (1995) Functional documents for computer systems. Sci Comput Program 25:41–61

    Article  Google Scholar 

  33. Berry G, Gonthier G (1992) The Esterel synchronous programming language: design, semantics, implementation. Sci Comput Program 19:87–152

    Article  Google Scholar 

  34. Wiels V, Easterbrook SM (1999) Formal modelling of space shuttle software change requests using SCR. In: Proc RE’99, 4th Intl symp requirements engineering, Limerick, June 1999, IEEE, Washington, DC

  35. Jackson M (1975) Principles of program design. Academic, London

  36. Vandenbroucke O (2000) Derivation of tabular specifications from goal-oriented specifications for a simple autopilot system. Ms Thesis, University of Louvain

  37. Bharadwaj R, Heitmeyer C (1997) Applying the SCR requirements specification method to a simple autopilot. In: Proc 4th NASA Langley formal methods workshop, Sept 1997

  38. Gurfinkel A, Devereux B, Chechik M (2002) Model exploration with temporal logic query checking. In: Proc FSE’10, 10th ACM symp foundations of software engineering, Charleston, November 2002

  39. McMillan KL (2000) The SMV* system for SMV version 2.5.4.http://www2.cs.cmu.edu/~modelcheck/smv. Cited Nov. 2000

  40. De Landtsheer R (2002) Deriving tabular event-based specifications from goal-oriented requirements models. Thesis, University of Louvain

Download references

Acknowledgements

The work reported herein was partially supported by the Belgian “Fonds National de la Recherche Scientifique” (FNRS).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Renaud De Landtsheer.

Rights and permissions

Reprints and permissions

About this article

Cite this article

De Landtsheer, R., Letier, E. & van Lamsweerde, A. Deriving tabular event-based specifications from goal-oriented requirements models. Requirements Eng 9, 104–120 (2004). https://doi.org/10.1007/s00766-004-0189-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-004-0189-1

Keywords

Navigation