Experience of using a lightweight formal specification method for a commercial embedded system product line
- 97 Downloads
- 9 Citations
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.
Keywords
Lightweight formal methods Finite state machines Tabular notations Embedded systems User interface specificationNotes
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.
References
- 1.Jackson D, Wing J (1996) Lightweight formal methods. IEEE Computer, April 1996Google Scholar
- 2.Potts C (1993) Software engineering research revisited. IEEE Softw, Sept. 1993:19–28CrossRefGoogle Scholar
- 3.Parnas D (1998) Successful Software Engineering Research. ACM SIGSOFT Software Engineering Notes 23(3):64–68CrossRefGoogle 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–14Google Scholar
- 5.Kovitz BL (1998) Practical Software Requirements. Manning, Greenwich, ConnecticutGoogle Scholar
- 6.Murphy Niall D (1998) Front panel: designing software for embedded user interfaces. R&D books, Lawrence, KSGoogle 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 MayGoogle Scholar
- 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.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.Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Programming 8:231–274CrossRefGoogle 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–257Google 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–82CrossRefGoogle Scholar
- 13.ten Berg A, Huijs C, Krol T (1993) Relational algebra as formalism for hardware design. Microprocessing and Microprogramming 38:403–410CrossRefGoogle Scholar
- 14.Lee TT, Lai M-Y (1988) A relational algebraic approach to protocol verification. IEEE Trans Softw Eng 14(2):184–193CrossRefGoogle 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–12Google Scholar
- 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.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.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.Parnas DL, Madey J (1995) Functional documents for computer systems. Sci Comput Programming 25:41–61CrossRefGoogle 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 SeptGoogle Scholar
- 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.Ward PT, Mellor SJ (1985) Structured development for real-time systems. Prentice Hall, Englewood Cliffs, NJGoogle Scholar
- 23.Hatley DJ, Pirbhai IA (1988) Strategies for real time system specification. Dorset House, New YorkGoogle Scholar
- 24.Ellsberger J, Hogrefe D, Sarma A (1997) SDL: formal object-oriented language for communicating systems. Prentice Hall, Englewood Cliffs, NJGoogle Scholar
- 25.Wieringa Roel (1998) A survey of structured and object-oriented software specification methods and techniques. ACM Comput Surv 30(4):459–527CrossRefGoogle Scholar
- 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