Requirements Engineering

, Volume 10, Issue 2, pp 161–172 | Cite as

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

  • Michael BreenEmail author
Original Article


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.


Lightweight formal methods Finite state machines Tabular notations Embedded systems User interface specification 



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.


  1. 1.
    Jackson D, Wing J (1996) Lightweight formal methods. IEEE Computer, April 1996Google Scholar
  2. 2.
    Potts C (1993) Software engineering research revisited. IEEE Softw, Sept. 1993:19–28CrossRefGoogle Scholar
  3. 3.
    Parnas D (1998) Successful Software Engineering Research. ACM SIGSOFT Software Engineering Notes 23(3):64–68CrossRefGoogle Scholar
  4. 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–14Google Scholar
  5. 5.
    Kovitz BL (1998) Practical Software Requirements. Manning, Greenwich, ConnecticutGoogle Scholar
  6. 6.
    Murphy Niall D (1998) Front panel: designing software for embedded user interfaces. R&D books, Lawrence, KSGoogle Scholar
  7. 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 MayGoogle Scholar
  8. 8.
    Monk AF, Curry MB (1994) Discount dialogue modelling with action simulator. In: People and computers IX: proceedings of HCI’94. Cambridge University Press, LondonGoogle Scholar
  9. 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–261CrossRefGoogle Scholar
  10. 10.
    Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Programming 8:231–274CrossRefGoogle Scholar
  11. 11.
    Parnas D, Clements P (1986) A rational design process: how and why to fake it. IEEE Trans Software Eng SE-12(2):251–257Google Scholar
  12. 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–82CrossRefGoogle Scholar
  13. 13.
    ten Berg A, Huijs C, Krol T (1993) Relational algebra as formalism for hardware design. Microprocessing and Microprogramming 38:403–410CrossRefGoogle Scholar
  14. 14.
    Lee TT, Lai M-Y (1988) A relational algebraic approach to protocol verification. IEEE Trans Softw Eng 14(2):184–193CrossRefGoogle Scholar
  15. 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–12Google Scholar
  16. 16.
    Olsen DR (1990) Propositional production systems for dialog description. In: Human factors in computing systems: proceedings CHI’90, ACM, pp 57–63Google Scholar
  17. 17.
    Olsen DR, Andrew Monk F, Martin Curry B (1995) Algorithms for automatic dialogue analysis using propositional production systems. Hum Comput Interact 10:39–78CrossRefGoogle Scholar
  18. 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–25Google Scholar
  19. 19.
    Parnas DL, Madey J (1995) Functional documents for computer systems. Sci Comput Programming 25:41–61CrossRefGoogle Scholar
  20. 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 SeptGoogle Scholar
  21. 21.
    Leveson NG, Heimdahl MP, Hildrithand H, Reese JD (1994) Requirements specification for process-control systems. IEEE Trans Softw Eng 20(9):684–707CrossRefGoogle Scholar
  22. 22.
    Ward PT, Mellor SJ (1985) Structured development for real-time systems. Prentice Hall, Englewood Cliffs, NJGoogle Scholar
  23. 23.
    Hatley DJ, Pirbhai IA (1988) Strategies for real time system specification. Dorset House, New YorkGoogle Scholar
  24. 24.
    Ellsberger J, Hogrefe D, Sarma A (1997) SDL: formal object-oriented language for communicating systems. Prentice Hall, Englewood Cliffs, NJGoogle Scholar
  25. 25.
    Wieringa Roel (1998) A survey of structured and object-oriented software specification methods and techniques. ACM Comput Surv 30(4):459–527CrossRefGoogle Scholar
  26. 25.
    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–712Google Scholar

Copyright information

© Springer-Verlag London Limited 2005

Authors and Affiliations

  1. 1.Knocknagree, Mallow, Co.CorkIreland

Personalised recommendations