Abstract
A simple specification method is introduced and the results of its application to a series of projects in Philips are reported. The method is principally designed to ensure that that every unusual scenario is considered in a systematic way. In practice, this has led to high-quality specifications and accelerated product development. While the straightforward tabular notation used has proved readily understandable to non-technical personnel, it is also a formal method, producing a model of system behaviour as a finite state machine. In this respect, the notation is unusual in being designed to preserve as far as possible a view of the overall system state and how this changes. The notation also features a constraint table which may be described as a kind of spreadsheet for invariants to help define the states of the system.


Similar content being viewed by others
Notes
For later projects, the equivalent document was called the customer requirements specification.
Strictly, the word ‘tray’ was used for the physical tray only, not the associated functionality.
References
Jackson D, Wing J (1996) Lightweight formal methods. IEEE Computer, April 1996
Potts C (1993) Software engineering research revisited. IEEE Softw, Sept. 1993:19–28
Parnas D (1998) Successful Software Engineering Research. ACM SIGSOFT Software Engineering Notes 23(3):64–68
Lubars M, Potts C, Richter C (1992) A review of the state of the practice in requirements modeling. In: Proceedings of the interational requirements engineering symposium, IEEE Computer Society Press, Los Alamitos, pp 2–14
Kovitz BL (1998) Practical Software Requirements. Manning, Greenwich, Connecticut
Murphy Niall D (1998) Front panel: designing software for embedded user interfaces. R&D books, Lawrence, KS
Zimmerman MK, Lundqvist K, Leveson N (2002) Investigating the readability of state-based formal requirements specification languages. In: Proceedings 24th international conference on software engineering (ICSE’02), 19–25 May
Monk AF, Curry MB (1994) Discount dialogue modelling with action simulator. In: People and computers IX: proceedings of HCI’94. Cambridge University Press, London
Heitmeyer Constance L, Ralph Jeffords D, Bruce Labaw G (1996) Automated consistency checking of requirements specifications. ACM Trans Softw Eng Methodol 5(3):231–261
Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Programming 8:231–274
Parnas D, Clements P (1986) A rational design process: how and why to fake it. IEEE Trans Software Eng SE-12(2):251–257
Berry DM, Daudjee K, Dong J Fainchteinand I, Nelson MA, Nelson T (2004) User’s manual as a requirements specification: case studies. Requirements Eng J 9:67–82
ten Berg A, Huijs C, Krol T (1993) Relational algebra as formalism for hardware design. Microprocessing and Microprogramming 38:403–410
Lee TT, Lai M-Y (1988) A relational algebraic approach to protocol verification. IEEE Trans Softw Eng 14(2):184–193
Knight JC, DeJong CL, Gibble MS, Nakano LG (1997) Why are formal methods not used more widely? In: Proceedings of LFM97: fourth NASA Langley formal methods workshop, Hampton, VA, pp 10–12
Olsen DR (1990) Propositional production systems for dialog description. In: Human factors in computing systems: proceedings CHI’90, ACM, pp 57–63
Olsen DR, Andrew Monk F, Martin Curry B (1995) Algorithms for automatic dialogue analysis using propositional production systems. Hum Comput Interact 10:39–78
Abowd GD, Wang H-M, Monk AF (1995) A formal technique for automated dialogue development. In: Proceedings, designing interactive systems: processes practices methods and techniques, Ann Arbor, MI, 23–25 Aug., pp 23–25
Parnas DL, Madey J (1995) Functional documents for computer systems. Sci Comput Programming 25:41–61
Leveson NG, Heimdahl MP, Reese JD (1999) Designing specification languages for process-control systems: lessons learned and steps to the future. In: Proceedings ESEC/FSE‘99, 7th European software engineering conference held jointly with the 7th ACM SIGSOFT symposium on the foundations of software engineering, 6–10 Sept
Leveson NG, Heimdahl MP, Hildrithand H, Reese JD (1994) Requirements specification for process-control systems. IEEE Trans Softw Eng 20(9):684–707
Ward PT, Mellor SJ (1985) Structured development for real-time systems. Prentice Hall, Englewood Cliffs, NJ
Hatley DJ, Pirbhai IA (1988) Strategies for real time system specification. Dorset House, New York
Ellsberger J, Hogrefe D, Sarma A (1997) SDL: formal object-oriented language for communicating systems. Prentice Hall, Englewood Cliffs, NJ
Wieringa Roel (1998) A survey of structured and object-oriented software specification methods and techniques. ACM Comput Surv 30(4):459–527
Breen M (2004) Statestep: a tool for systematic incremental specification. In: Proceedings of the 26th International Conference on Software Engineering (ICSE’04). IEEE Computer Society, pp 711–712
Acknowledgments
CDR project data is included by kind permission of Joop Kerssen, Philips. The anonymous reviewers suggested several changes which improved this article. The author is indebted to Dan Berry for his advice and enthusiasm. Special thanks for their help and co-operation are also due to: Marc Cools and Martine Looymans at Philips; Stefano Fontolan, John Mulcahy, and the engineers at Silicon & Software Systems; Norah Power.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Breen, M. Experience of using a lightweight formal specification method for a commercial embedded system product line. Requirements Eng 10, 161–172 (2005). https://doi.org/10.1007/s00766-004-0209-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-004-0209-1