Real-Time Specification Using Lucid

A methodology is presented for transforming a functional specification written in Lucid to an equivalent specification that captures its real-time properties. The enhanced specification consists of a set of equations that can be solved for several properties, including execution time and external requirements, or may simply be checked for the existence of a solution. Lucid has a set of meaning-preserving transformations, and a proof system corresponding to a behavioral semantics has been constructed. Both of these tools can be used to reason about properties of the specification. The specification is executable and can be used as a prototype for the system being specified. It is possible to express architectural constraints within the same formal framework. Thus this type of specification can be used to guide the development of new real-time systems. >

[1]  Pamela Zave,et al.  The operational versus the conventional approach to software development , 1984, CACM.

[2]  William W. Wadge,et al.  Lucid, the dataflow programming language , 1985 .

[3]  E A Ashcroft,et al.  Operator nets , 1986 .

[4]  Aloysius K. Mok,et al.  Safety analysis of timing properties in real-time systems , 1986, IEEE Transactions on Software Engineering.

[5]  Nicolas Halbwachs,et al.  Automatic Control Systems Programming Using a Real Time Declarative Language , 1986 .

[6]  Glenn H. MacEwen,et al.  The development and proof of a formal specification for a multilevel secure system , 1987, TOCS.

[7]  M. Lipow,et al.  Number of Faults per Line of Code , 1982, IEEE Transactions on Software Engineering.

[8]  William W. Wadge,et al.  Lucid - A Formal System for Writing and Proving Programs , 1976, SIAM J. Comput..

[9]  Amrit L. Goel,et al.  Software Reliability Models: Assumptions, Limitations, and Applicability , 1985, IEEE Transactions on Software Engineering.

[10]  Nicolas Halbwachs,et al.  Outline of a Real Time Data Flow Language , 1985, RTSS.

[11]  Richard A. Kemmerer,et al.  RT-ASLAN: A specification language for real-time systems , 1986, IEEE Transactions on Software Engineering.

[12]  Zohar Manna,et al.  Introduction to mathematical theory of computation , 1972 .

[13]  John E. Gaffney,et al.  Estimating the Number of Faults in Code , 1984, IEEE Transactions on Software Engineering.

[14]  G. Gordon Schulmeyer,et al.  System Testing Aided by Structured Analysis: A Practical Experience , 1985, IEEE Transactions on Software Engineering.

[15]  Antony A. Faustini,et al.  Toward a Real-Time Dataflow Language , 1986, IEEE Software.