Specification-Modeling Methodologies for Reactive-System Design

The goal of this paper is to investigate the state-of-the-art in specification-modeling methodologies applicable to reactive-system design. By combining the specification requirements of a reactive system and the desirable characteristics of a specification-modeling methodology, we develop a unified framework for evaluating any specification-modeling methodology applicable to reactive-system design. A unified framework allows the designer to look at the spectrum of choices available and quickly comprehend the suitability of a methodology to the specific application. Using the unified framework, we study a number of representative methodologies, identifying their respective strengths and weaknesses when evaluated for the desired characteristics. The differences and relationships between the various methodologies is high lighted. We find our framework to be quite useful in evaluating each methodology. A summary of our observations is presented, together with recommendations for areas needing further research in specification modeling for reactive systems. Two such areas are improving model continuity and providing better complexity control, especially across different abstraction levels and modeling domains. We also present a description of each methodology studied in the unified framework.

[1]  Nikil D. Dutt,et al.  Designer Controlled Behavioral Synthesis , 1989, 26th ACM/IEEE Design Automation Conference.

[2]  Dieter Hogrefe,et al.  SDL - with applications from protocol specification , 1991, BCS practitioner series.

[3]  Gérard Berry,et al.  A hardware implementation of pure ESTEREL , 1992 .

[4]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

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

[6]  Jean Paul Calvez Embedded real-time systems: a specification and design methodology , 1993 .

[7]  David Harel,et al.  On visual formalisms , 1988, CACM.

[8]  Jeannette M. Wing A specifier's introduction to formal methods , 1990, Computer.

[9]  Grzegorz Rozenberg,et al.  Current Trends in Concurrency , 1986, Lecture Notes in Computer Science.

[10]  Dennis Shasha,et al.  The many faces of consensus in distributed systems , 1992, Computer.

[11]  Miodrag Potkonjak,et al.  HYPER: an interactive synthesis environment for high performance real time applications , 1989, Proceedings 1989 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[12]  Andy Wellings,et al.  Embedded Real-Time Systems: a Specification and Design Methodology , 1994 .

[13]  Peter Radford,et al.  Petri Net Theory and the Modeling of Systems , 1982 .

[14]  David E. Monarchi,et al.  A research typology for object-oriented analysis and design , 1992, CACM.

[15]  Giovanni De Micheli,et al.  Hardware C - A Language for Hardware Design , 1988 .

[16]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[17]  Leslie Lamport,et al.  Distributed Systems: Methods and Tools for Specification, An Advanced Course, April 3-12, 1984 and April 16-25, 1985, Munich, Germany , 1985, Advanced Course: Distributed Systems.

[18]  Frank Vahid,et al.  A system-design methodology: executable-specification refinement , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[19]  J. Michael Spivey,et al.  Understanding Z : A specification language and its formal semantics , 1985, Cambridge tracts in theoretical computer science.

[20]  W. J. Kubitz,et al.  Biting the silver bullet: toward a brighter future for system development , 1992 .

[21]  Donald E. Thomas,et al.  Linking the Behavioral and Structural Domains of Representation in a Synthesis System , 1985, 22nd ACM/IEEE Design Automation Conference.

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

[23]  Dines Bjørner,et al.  The Vienna Development Method: The Meta-Language , 1978, Lecture Notes in Computer Science.

[24]  Rick Reed,et al.  Telecommunications systems engineering using SDL , 1989 .

[25]  Joel M. Schoen Performance and fault modeling with VHDL , 1992 .

[26]  John R. Cameron,et al.  An overview of JSD , 1986, IEEE Transactions on Software Engineering.

[27]  Derek Coleman,et al.  Introducing Objectcharts or How to Use Statecharts in Object-Oriented Design , 1992, IEEE Trans. Software Eng..

[28]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

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

[30]  Stanislaw Budkowski,et al.  An Introduction to Estelle: A Specification Language for Distributed Systems , 1987, Comput. Networks.

[31]  Gill Smith,et al.  Object-oriented analysis , 1988, WADAS '88.

[32]  Jonah Z. Lavi,et al.  Embedded Computer Systems. Requirements Analysis & Specification - An Industrial Course , 1988, CSEE.

[33]  Doron Drusinsky,et al.  Using statecharts for hardware description and synthesis , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[34]  David Lawrence Johannsen Silicon compilation , 1989 .

[35]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[36]  Amir Pnueli,et al.  Applications of Temporal Logic to the Specification and Verification of Reactive Systems: A Survey of Current Trends , 1986, Current Trends in Concurrency.

[37]  David Harel,et al.  Biting the silver bullet: toward a brighter future for system development , 1992, Computer.

[38]  David W. Embley,et al.  Object-oriented systems analysis , 1992 .

[39]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1 , 1985, EATCS Monographs on Theoretical Computer Science.

[40]  Tom DeMarco,et al.  Structured Analysis and System Specification , 1978 .

[41]  Derek Coleman,et al.  Introducing Objectcharts or how to use Statecharts in object-oriented design , 1992 .

[42]  Darrel C. Ince,et al.  Software prototyping, formal methods, and VDM , 1988 .

[43]  Sape Mullender,et al.  Distributed systems , 1989 .

[44]  Kuldeep Kumar,et al.  Strategies for incorporating formal specifications in software development , 1994, CACM.

[45]  A. Hugo A Hardware Implementation of Pure Esterel , 1991 .

[46]  Pamela Zave,et al.  Salient features of an executable specification language and its environment , 1986, IEEE Transactions on Software Engineering.

[47]  Amnon Naamad,et al.  Statemate: a working environment for the development of complex reactive systems , 1988, ICSE '88.

[48]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[49]  Alan M. Davis,et al.  A comparison of techniques for the specification of external system behavior , 1988, CACM.

[50]  Michael Jackson,et al.  Principles of program design , 1975 .

[51]  Donald E. Thomas,et al.  The Verilog® Hardware Description Language , 1990 .

[52]  Daniel M. Berry,et al.  Automatic Synthesis of SARA Design Models From System Requirements , 1991, IEEE Trans. Software Eng..

[53]  Ronald Waxman,et al.  System design utilizing integrated specification and performance models , 1994, Proceedings of VHDL International Users Forum.