Skip to main content
Log in

Experience of using a lightweight formal specification method for a commercial embedded system product line

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

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.

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

Notes

  1. For later projects, the equivalent document was called the customer requirements specification.

  2. Strictly, the word ‘tray’ was used for the physical tray only, not the associated functionality.

References

  1. Jackson D, Wing J (1996) Lightweight formal methods. IEEE Computer, April 1996

  2. Potts C (1993) Software engineering research revisited. IEEE Softw, Sept. 1993:19–28

    Article  Google Scholar 

  3. Parnas D (1998) Successful Software Engineering Research. ACM SIGSOFT Software Engineering Notes 23(3):64–68

    Article  Google Scholar 

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

  5. Kovitz BL (1998) Practical Software Requirements. Manning, Greenwich, Connecticut

  6. Murphy Niall D (1998) Front panel: designing software for embedded user interfaces. R&D books, Lawrence, KS

    Google Scholar 

  7. 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

  8. Monk AF, Curry MB (1994) Discount dialogue modelling with action simulator. In: People and computers IX: proceedings of HCI’94. Cambridge University Press, London

  9. 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

    Article  Google Scholar 

  10. Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Programming 8:231–274

    Article  Google Scholar 

  11. Parnas D, Clements P (1986) A rational design process: how and why to fake it. IEEE Trans Software Eng SE-12(2):251–257

    Google Scholar 

  12. 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

    Article  Google Scholar 

  13. ten Berg A, Huijs C, Krol T (1993) Relational algebra as formalism for hardware design. Microprocessing and Microprogramming 38:403–410

    Article  Google Scholar 

  14. Lee TT, Lai M-Y (1988) A relational algebraic approach to protocol verification. IEEE Trans Softw Eng 14(2):184–193

    Article  Google Scholar 

  15. 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

  16. Olsen DR (1990) Propositional production systems for dialog description. In: Human factors in computing systems: proceedings CHI’90, ACM, pp 57–63

  17. Olsen DR, Andrew Monk F, Martin Curry B (1995) Algorithms for automatic dialogue analysis using propositional production systems. Hum Comput Interact 10:39–78

    Article  Google Scholar 

  18. 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

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

    Article  Google Scholar 

  20. 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

  21. Leveson NG, Heimdahl MP, Hildrithand H, Reese JD (1994) Requirements specification for process-control systems. IEEE Trans Softw Eng 20(9):684–707

    Article  Google Scholar 

  22. Ward PT, Mellor SJ (1985) Structured development for real-time systems. Prentice Hall, Englewood Cliffs, NJ

    Google Scholar 

  23. Hatley DJ, Pirbhai IA (1988) Strategies for real time system specification. Dorset House, New York

    Google Scholar 

  24. Ellsberger J, Hogrefe D, Sarma A (1997) SDL: formal object-oriented language for communicating systems. Prentice Hall, Englewood Cliffs, NJ

    Google Scholar 

  25. Wieringa Roel (1998) A survey of structured and object-oriented software specification methods and techniques. ACM Comput Surv 30(4):459–527

    Article  Google Scholar 

  26. 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

Download references

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

Authors

Corresponding author

Correspondence to Michael Breen.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

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

Keywords

Navigation