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

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.

[1]  Dan R. Olsen,et al.  Propositional production systems for dialog description , 1990, CHI '90.

[2]  Charles Richter,et al.  A review of the state of the practice in requirements modeling , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[3]  Nancy G. Leveson,et al.  Designing specification languages for process control systems: lessons learned and steps to the future , 1999, ESEC/FSE-7.

[4]  Paul Ward,et al.  Structured Development for Real-Time Systems , 1986 .

[5]  Roel Wieringa,et al.  A survey of structured and object-oriented software specification methods and techniques , 1998, CSUR.

[6]  Derek J. Hatley,et al.  Strategies for Real-Time System Specification , 1987 .

[7]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[8]  Gregory D. Abowd,et al.  A formal technique for automated dialogue development , 1995, Symposium on Designing Interactive Systems.

[9]  K. Lundqvist,et al.  Investigating the readability of state-based formal requirements specification languages , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[10]  Daniel Jackson,et al.  Lightweight Formal Methods , 2001, FME.

[11]  L HeitmeyerConstance,et al.  Automated consistency checking of requirements specifications , 1996 .

[12]  C. Huijs,et al.  Relational algebra as formalism for hardware design , 1993, Microprocess. Microprogramming.

[13]  David Lorge Parnas,et al.  Functional Documents for Computer Systems , 1995, Sci. Comput. Program..

[14]  Nancy G. Leveson,et al.  Requirements Specification for Process-Control Systems , 1994, IEEE Trans. Software Eng..

[15]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[16]  Andrew F. Monk,et al.  Discount Dialogue Modelling with Action Simulator , 1994, BCS HCI.

[17]  David Lorge Parnas,et al.  Successful software engineering research , 1998, SOEN.

[18]  Benjamin L. Kovitz,et al.  Practical Software Requirements: A Manual of Content and Style , 1998 .

[19]  Michael Breen Statestep: a tool for systematic, incremental specification , 2004, Proceedings. 26th International Conference on Software Engineering.

[20]  Dan R. Olsen,et al.  Algorithms for Automatic Dialogue Analysis Using Propositional Production Systems , 1995, Hum. Comput. Interact..

[21]  Dieter Hogrefe,et al.  SDL : formal object-oriented language for communicating systems , 1997 .

[22]  Colin Potts,et al.  Software-engineering research revisited , 1993, IEEE Software.

[23]  John C. Knight,et al.  Why are Formal Methods Not Used More Widely , 1997 .

[24]  Tony T. Lee,et al.  A Relational Algebraic Approach to Protocol Verification , 1988, IEEE Trans. Software Eng..

[25]  Jing Dong,et al.  User’s manual as a requirements specification: case studies , 2004, Requirements Engineering.

[26]  David Lorge Parnas,et al.  A Rational Design Process: How and Why to Fake It , 1985, TAPSOFT, Vol.2.