Why Use Evolving Algebras for Hardware and Software Engineering?

In this paper I answer the question how evolving algebras can be used for the design and analysis of complex hardware and software systems. I present the salient features of this new method and illustrate them through several examples from my work on specification and verification of programming languages, compilers, protocols and architectures. The definition of a mathematical model for Hennessy and Patterson's RISC architecture DLX serves as a running example; this model is used in [24] to prove the correctness of instruction pipelining. I will point out the yet unexplored potential of the evolving algebra method for large-scale industrial applications.

[1]  Wolfgang Müller,et al.  The semantics of behavioral VHDL '93 descriptions , 1994, EURO-DAC '94.

[2]  Egon Börger,et al.  The bakery algorithm: yet another specification and verification , 1993, Specification and validation methods.

[3]  Bart Demoen,et al.  A Framework to Specify Database Update Views for Prolog , 1991, PLILP.

[4]  Egon Börger,et al.  CLAM specification for provably correct compilation of CLP( R ) programs , 1993, Specification and validation methods.

[5]  Egon Börger,et al.  A Logical Operational Semantics of Full Prolog, Part II: Built-in Predicates for Database Manipulation , 1990, MFCS.

[6]  Yuri Gurevich,et al.  Logic activities in Europe , 1994, SIGA.

[7]  Egon Börger,et al.  Towards a Mathematical Specification of the APE100 Architecture: The APESE Model , 1994, IFIP Congress.

[8]  Richard J. Lipton,et al.  Social processes and proofs of theorems and programs , 1977, POPL.

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

[10]  Christine Paulin-Mohring,et al.  Types for Proofs and Programs , 2008, Lecture Notes in Computer Science.

[11]  Saumya K. Debray,et al.  Denotational and Operational Semantics for Prolog , 1988, J. Log. Program..

[12]  David Lorge Parnas,et al.  Information Distribution Aspects of Design Methodology , 1971, IFIP Congress.

[13]  Egon Börger,et al.  Review: Edsger W. Dijkstra, Carel S. Scholten, Predicate Calculus and Program Semantics , 1994, Journal of Symbolic Logic.

[14]  David M. Russinoff Specification and verification of gate-level VHDL models of synchronous and asynchronous circuits , 1995, Specification and validation methods.

[15]  Egon Brger,et al.  Modelling and Analysis of Distributed and Reactive Systems using Evolving Algebras , 1995 .

[16]  Robin Milner,et al.  Definition of standard ML , 1990 .

[17]  W. Wayt Gibbs,et al.  Software's Chronic Crisis , 1994 .

[18]  Martin Wirsing,et al.  Algebraic Specification , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[19]  Egon Börger,et al.  Annotated bibliography on evolving algebras , 1995, Specification and validation methods.

[20]  David Lorge Parnas,et al.  Software aspects of strategic defense systems , 1985, CACM.

[21]  K. Popper Logik der Forschung : zur erkenntnistheorie der modernen naturwissenschaft , 1936 .

[22]  Christoph Beierle,et al.  A WAM Extension for Type-Constraint Logic Programming: Specification and Correctness Proof , 1991, IWBS Report.

[23]  Jonathan P. Bowen,et al.  Ten Commandments of Formal Methods , 1995, Computer.

[24]  Elvinia Riccobene,et al.  A formal specification of PARLOG , 1993 .

[25]  Yuri Gurevich,et al.  Platonism, Constructivism, and Computer Proofs vs. Proofs by Hand , 2001, Bull. EATCS.

[26]  Yuri Gurevich,et al.  The Semantics of the C Programming Language , 1992, CSL.

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

[28]  Egon Börger,et al.  Occam: Specification and Compiler Correctness - Part I: The Primary Model , 1994, PROCOMET.

[29]  Egon Börger,et al.  A Formal Specification of the PVM Architecture , 1994, IFIP Congress.

[30]  Egon Börger,et al.  A formal method for provably correct composition of a real-life processor out of basic components. (The APE100 Reverse Engineering Study) , 1995, Proceedings of First IEEE International Conference on Engineering of Complex Computer Systems. ICECCS'95.

[31]  Egon Börger,et al.  Correctness of Compiling Occam to Transputer Code , 1996, Comput. J..

[32]  Peter H. Schmitt,et al.  A Formal Operational Semantics for Languages of Type Prolog III , 1990, CSL.

[33]  Bev Littlewood,et al.  THE RISKS OF SOFTWARE , 1992 .

[34]  Christopher Strachey,et al.  Toward a mathematical semantics for computer languages , 1971 .

[35]  Egon Börger,et al.  A Logical Operational Semantics of Full Prolog. Part I: Selection Core and Control , 1989, CSL.

[36]  Yuri Gurevich,et al.  Group membership protocol: specification and verification , 1995, Specification and validation methods.

[37]  J PerlisAlan,et al.  Social processes and proofs of theorems and programs , 1979 .

[38]  Gerard J. Holzmann,et al.  The Theory and Practice of A Formal Method: NewCoRe , 1994, IFIP Congress.

[39]  Friedrich W. von Henke,et al.  Putting Software Technology to Work , 1994, IFIP Congress.

[40]  Robin Milner,et al.  Commentary on standard ML , 1990 .

[41]  Egon Börger,et al.  The WAM - Definition and Compiler Correctness , 1995, Logic Programming: Formal Methods and Practical Applications.

[42]  S. Mazzanti,et al.  A Correctness Proof for Pipelining in RISC Architecture , 1996 .

[43]  Natarajan Shankar,et al.  Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS , 1995, IEEE Trans. Software Eng..

[44]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[45]  Mario Rodríguez-Artalejo,et al.  A Model for Mathematical Analysis of Functional Logic Programs and Their Implementations , 1994, IFIP Congress.

[46]  Neil D. Jones,et al.  Stepwise Development of Operational and Denotational Semantics for Prolog , 1984, International Conference on Spoken Language Processing.

[47]  Richard J. Botting Theory and practice of software engineering , 1989, CSC '89.

[48]  David Lorge Parnas,et al.  Education for computing professionals , 1990, Computer.

[49]  Egon Brger,et al.  Formal de nition of an abstract VHDL''''93 simulator by EA - machines , 1995 .

[50]  Jonathan P. Bowen,et al.  Seven More Myths of Formal Methods , 1994, FME.

[51]  Dana S. Scott,et al.  Outline of a Mathematical Theory of Computation , 1970 .

[52]  Andreas Blass,et al.  Evolving Algebras and Linear Time Hierarchy , 1994, IFIP Congress.

[53]  Douglas R. Smith,et al.  Transformational approach to transportation scheduling , 1993, Proceedings of 8th Knowledge-Based Software Engineering Conference.

[54]  Peter D. Mosses Action Semantics , 1986, ADT.

[55]  Egon Börger Logic Programming: The Evolving Algebra Approach , 1994, IFIP Congress.

[56]  John B. Shoven,et al.  I , Edinburgh Medical and Surgical Journal.

[57]  James K. Huggins Kermit: specification and verification , 1993, Specification and validation methods.

[58]  Peter D. Mosses,et al.  Denotational semantics , 1995, LICS 1995.

[59]  C. A. R. Hoare Mathematical models for computing science , 1996, NATO ASI DPD.

[60]  Yuri Gurevich,et al.  Equivalence is in the Eye of the Beholder , 1997, Theor. Comput. Sci..

[61]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[62]  Niklaus Wirth,et al.  Algorithms & data structures , 1985 .

[63]  Gérard Ferrand,et al.  An Operational Formal Definition of PROLOG , 1987, International Conference on Spoken Language Processing.

[64]  Egon Börger,et al.  A Mathematical Definition of Full Prolog , 1995, Sci. Comput. Program..

[65]  K. Popper,et al.  Logik der Forschung , 1935 .