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.
Similar content being viewed by others
References
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
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
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
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
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
Dardenne A, van Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Program 20:3–50
Mylopoulos J, Chung L, Nixon B (1992) Representing and using nonfunctional requirements: a process-oriented approach. IEEE T Software Eng 18:483–497
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
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
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
van Lamsweerde A, Darimont R, Letier E (1998) Managing conflicts in goal-driven requirements engineering. IEEE T Software Eng 24:908–926
Chung L, Nixon B, Yu E, Mylopoulos J (2000) Non-functional requirements in software engineering. Kluwer Academic, Dordrecht
Robinson WN (2003) Requirements interaction management. ACM Comput Surv, June 2003
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
van Lamsweerde A, Letier E (2000) Handling obstacles in goal-oriented requirements engineering. IEEE T Software Eng 26:978–1005
Pollack S, Hicks H (1971) Decision tables—theory and practice. Wiley, New York
Heninger KL (1980) Specifying software requirements for complex systems: new techniques and their application. IEEE T Software Eng 6:2–13
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
Heitmeyer C, Jeffords RD, Labaw BG (1996) Automated consistency checking of requirements specifications. ACM T Software Eng Meth 5:231–26
Heimdahl MP, Leveson NG (1996) Completeness and consistency in hierarchical state-based requirements. IEEE T Software Eng 22:363–377
Heitmeyer C, Kirby J, Labaw B (1997) Tools for formal specification, verification, and validation of requirements. In: Proc COMPASS ‘97, Gaithersburg, MD, June 1997
Atlee JM (1993) State-based model checking of event-driven system requirements. IEEE T Software Eng 19:24–40
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
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
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
Archer M, Heitmeyer C, Sims S (1998) TAME: A PVS interface to simplify proofs for automata models. In: Proc UITP’98, July 1998
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
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
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
van Lamsweerde A, Willemet L (1998) Inferring declarative requirements specifications from operational scenarios. IEEE T Software Eng 24:1089–1114
Zave P, Jackson M (1997) Four dark corners of requirements engineering. ACM T Software Eng Meth 6:1–30
Parnas DL, Madey J (1995) Functional documents for computer systems. Sci Comput Program 25:41–61
Berry G, Gonthier G (1992) The Esterel synchronous programming language: design, semantics, implementation. Sci Comput Program 19:87–152
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
Jackson M (1975) Principles of program design. Academic, London
Vandenbroucke O (2000) Derivation of tabular specifications from goal-oriented specifications for a simple autopilot system. Ms Thesis, University of Louvain
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
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
McMillan KL (2000) The SMV* system for SMV version 2.5.4.http://www2.cs.cmu.edu/~modelcheck/smv. Cited Nov. 2000
De Landtsheer R (2002) Deriving tabular event-based specifications from goal-oriented requirements models. Thesis, University of Louvain
Acknowledgements
The work reported herein was partially supported by the Belgian “Fonds National de la Recherche Scientifique” (FNRS).
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-004-0189-1