Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
D. Barnocchi. L”Evidenza” nell'assiomatica aristotelica. Proteus, II,5 (1971), pp. 133–144.
Ch. Beierle and E. Börger. A WAM extension for type-constraint logic programming: Specification and correctness proof. Research report IWBS 200, IBM Germany Science Center, Heidelberg, December 1991.
Ch. Beierle, E. Börger, I. Durđanović U. Glässer, and E. Riccobene. An evolving algebra solution to the steam-boiler control specification problem. Seminar on Methods for Specification and Semantics (Dagstuhl, June 1995), Report, 1995.
D. Björner. A Formal Model of the Railway Application Domain System. UNU/IIST PRaCoSy Document no. SP/5/3, January 7, 1994, pages 1–19.
D. Björner. Domain Analysis, a Prerequisite for Requirements Capture. UNU/IIST Document, 1995.
A. Blass and Y. Gurevich. Evolving Algebras and Linear Time Hierarchy. In B. Pehrson and I. Simon, editors, Proc. of the IFIP 13th World Computer Congress 1994, Vol. I, pp. 383–390. Elsevier, 1994.
E. Börger. A logical operational semantics for full Prolog. Part I: Selection core and control. CSL'89. Springer LNCS 440, 1990, 36–64.
E. Börger. A logical operational semantics for full Prolog. Part II: Built-in predicates for database manipulations. MFCS'90. Mathematical Foundations of Computer Science (B. Rovan, Ed.). Springer LNCS 452, 1990, 1–14.
E. Börger. Logic Programming: The Evolving Algebra Approach. In B. Pehrson and I. Simon (Eds.) IFIP 13th World Computer Congress 1994, Volume I: Technology and Foundations, Elsevier, Amsterdam, 391–395.
E. Börger. Review of: E.W. Dijkstra & C.S. Scholten: Predicate Calculus and Program Semantics. Springer-Verlag, 1989. Science of Computer Programming 23 (1994) 1–11 and The Journal of Symbolic Logic 59 (1994) 673–678
E. Börger. Annotated bibliography on evolving algebras. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.
E. Börger and K. Dässler. Prolog: DIN papers for discussion. ISO/IEC JTCI SC22 WG17 Prolog standardization document no. 58, NPl, Middlesex, 1990, pp. 92–114.
E. Börger and G. Del Castillo. A formal method for provably correct composition of a real-life processor out of basic components (The APE100 reverse engineering project). In Proc. of the First IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'95). See also BRICS NS-95-4, pp. 195–222, University of Aarhus, 1995.
E. Börger, G. Del Castillo, P. Glavan and D. Rosenzweig. Towards a mathematical specification of the APE100 architecture: The APESE model. In B. Pehrson and I. Simon, editors, Proc. of the IFIP 13th World Computer Congress 1994, Vol. I, pp. 396–401. Elsevier, 1994.
E. Börger and B. Demoen. A framework to specify database update views for Prolog. In M. J. Maluszynski, editor, PLILP'91. LNCS 528, 1991, 147–158.
E. Börger and I. Đurđanović. Correctness of compiling Occam to Transputer code. BRICS NS-95-4, pp. 153–194, University of Aarhus, 1995.
E. Börger, I. Đurđanović, and D. Rosenzweig. Occam: Specification and compiler correctness. Part I: The primary model. In E.-R. Olderog, editor, Proc. of PROCOMET'94 (IFIP Working Conference on Programming Concepts, Methods and Calculi), pages 489–508. North-Holland, 1994.
E. Börger and U. Glässer. A formal specification of the PVM architecture. In B. Pehrson and I. Simon (Eds.) IFIP 13th World Computer Congress 1994, Volume I: Technology and Foundations, Elsevier, Amsterdam, 402–409.
E. Börger and U.Glässer. Modelling and analysis of distributed and reactive systems using evolving algebras. BRICS NS-95-4, pp. 128–153, University of Aarhus.
E. Börger, U. Glässer and W. Mueller, The Semantics of Behavioral VHDL'93 Descriptions. In: EURO-DAC'94 European Design Automation Conference with EURO-VHDL'94. Proc. IEEE CS Press, Los Alamitos/CA, 1994, 500–505.
E. Börger, U. Glässer and W. Mueller. Formal definition of an abstract VHDL'93 simulator by EA-machines. In C. Delgado Kloos and Peter T. Breuer, editors, Semantics of VHDL. Kluwer, 1995.
E. Börger, Y. Gurevich and D. Rosenzweig. The bakery algorithm: Yet another specification and verification. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.
E. Börger, F.J. Lopez-Fraguas and M. Rodrigues-Artalejo. A Model for Mathematical Analysis of Functional Logic Programs and their Implementations. in: B. Pehrson and I. Simon (Eds.) IFIP 13th World Computer Congress 1994, Vol. I, pp. 410–415, 1994, Elsevier. See the full version Towards a Mathematical Specification of Narrowing Machines, Report DIA 94/5, Dep. Informática y Automática, Universidad Complutense, Madrid, March 1994, pp.30.
E. Börger and S. Mazzanti. A correctness proof for pipelining in RISC architectures. Manuscript, 1995.
E. Börger and E. Riccobene. A Formal Specification of Parlog. In: Semantics of Programming Languages and Model Theory (M. Droste, Y. Gurevich, Eds.), Gordon and Breach, 1993, pp. 1–42.
E. Börger and D. Rosenzweig. An analysis of Prolog database views and their uniform implementation. Prolog. Paris Papers-2. ISO/IEC JTC1 SC22 WG17 Prolog Standardization Report no.80, July 1991, pp. 87–130.
E. Börger and D. Rosenzweig. A mathematical definition of full Prolog. Science of Computer Programming, 1995.
E. Börger and D. Rosenzweig. The WAM — definition and compiler correctness. In L. C. Beierle and L. Plümer, editors, Logic Programming: Formal Methods and Practical Applications. Elsevier Science B.V./North-Holland, 1995.
E. Börger and R. Salamone. CLAM specification for provably correct compilation of CLP(269-01) programs. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.
E. Börger and P. Schmitt. A formal operational semantics for languages of type Prolog III. Springer LNCS 533, 1991, 67–79.
F.P. Bowen and M.G. Hinchey. Ten Commandments of Formal Methods. IEEE Computer 28(4):56–63, April 1995.
F.P. Bowen and M.G. Hinchey. Seven More Myths of Formal Methods. IEEE Software 12(4):34–41, July 1995.
F. P. Brooks, No Silver Bullet—Essence and Accidents of Software Engineering. IEEE Computer 20, 1987, 10–19.
S.K. Debray and P. Mishra, Denotational and Operational Semantics for Prolog. In: Journal of Logic Programming 5, 1988, 61–91
A. de Bruin and E. P. de Vink, Continuation semantics for Prolog with cut. In: Theory and practice of software engineering, Springer LNCS 351, 1989, 178–192.
R. DeMillo, R. Lipton and A. Perlis, A social process and proofs of theorems and programs. In: Comm. ACM 22 (5), 271–280, 1979.
P. Deransart and G. Ferrand, An operational formal definition of Prolog.INRIA RR 763. See Proc. 4th. Symposium on Logic Programming, San Francisco 1987, 162–172 and New Generation Computing, 10.2, 1992, 121–171.
W.W. Gibbs, Software's Chronic Crisis, Scientific American, Sept 1994, 72–81.
Y. Gurevich. Logic and the challenge of computer science. In E. Börger, editor, Current Trends in Theoretical Computer Science, pp. 1–57. CS Press, 1988.
Y. Gurevich. Logic Activities in Europe. in: ACM SIGACT NEWS, 1994.
Yuri Gurevich. Evolving Algebra 1993: Lipari Guide. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.
Yuri Gurevich. Platonism, Constructivism, and Computer Proofs vs. Proofs by Hand. In Bulletin of the EATCS, October 1995.
Y. Gurevich and J. Huggins. The semantics of the C programming language. Springer LNCS 702, 1993, 274–308 and LNCS 832, 1994, 334–336.
Y. Gurevich and J. Huggins. Equivalence is in the eye of the beholder. CSE TR 240-95, University of Michigan at Ann Arbor.
Y. Gurevich, J. Huggins and R. Mani. The Generalized Railroad Crossing Problem: An Evolving Algebra Based Solution. CSE-TR-230-95, University of Michigan.
Y. Gurevich and R. Mani. Group Membership Protocol: Specification and Verification. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.
D. Harel, Biting the Silver Bullet. IEEE Computer 25, 1992, 8–20.
F.W. von Henke, Putting Software Technology to Work, In: K. Duncan and K. Krueger (Eds.) IFIP 13th World Computer Congress 1994, Vol. III, pp. 345–350, 1994, Elsevier, Amsterdam.
J. Hennessy and D.A. Patterson. Computer Architecture: a Quantitative Approach. Morgan Kaufman Publisher, 1990.
H. Herbelin. Types for Proofs and Programs. Note on the ESPRIT Basic Research Action 6453 in: Bulletin of the EATCS vol.54, 1994, 105–116.
C.A.R. Hoare. An axiomatic basis for computer programming. In: Comm. ACM 12, pp. 576–580 and 583, 1969.
C.A.R. Hoare, ProCoS Working Group Meeting, Gentofte/DK 18.–20.1.1994.
C.A.R. Hoare, Mathematical Models for Computing Science. Manuscript, August 1994, 65 pp.
G.J. Holzmann, The Theory and Practice of a Formal Method: NewCoRe, in: B. Pehrson and I. Simon (Eds.), Proc. of the IFIP 13th World Computer Congress 1994, Vol.I, pp. 35–44, Elsevier, Amsterdam.
J. Huggins. Kermit: Specification and verification. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.
IEEE Standard VHDL Language Reference Manual-IEEE Std 1076-1993, The Institute of Electrical and Electronics Engineering. New York, NY, USA, 1994.
N.D. Jones and A. Mycroft, Stepwise development of operational and denotational semantics for Prolog. In: Proc. Int. Symp. on Logic Programming 2/84, Atlantic City, IEEE, 289–298
G. Kahn, Natural Semantics, INRIA Rapport de Recherche No. 601, Février 1987.
B. Littlewood, L. Strigini, The Risks of Software, in: Scientific American. November 1992, p.38–43.
A. J. Mansfield, An Explanation of the Formal Definition of Prolog. NPL Report DITC 149/89, Teddington, 1989, p. 1–9.
R. Milner and M. Tofte, and R. Harper. The definition of Standard ML. Cambridge, Mass.: MIT Press, 1990.
R. Milner, M. Tofte, Commentary on Standard ML. MIT Press, 1990.
Peter D. Mosses. Denotational Semantics. In: Jan van Leeuwen (Ed.), Handbook of TCS. Elsevier 1990.
Peter D. Mosses. Action Semantics. Cambridge University Press, 1992.
N.North, A denotational definition of Prolog. NPL, Teddington, TR DITC 106/88.
S. Owre, J. Rushby, N. Shankar and F. von Henke, Formal Verification for Faulttolerant Architectures: Prolegomena to the Design of PVS. In: IEEE Transactions on Software Engineering, vol. 21, no. 2, February 1995, pp.107–125.
D. L. Parnas. Information distribution aspects of design methodology. In C. V. Freiman, editor, Proc. of IFIP Congress 1971, Volume 1: Foundations and Systems, pp. 339–344. North-Holland, 1972.
D. L. Parnas, Software Aspects of Strategic Defense Systems. In: Comm. ACM, 28 (12), 1985, 1.326–1.335.
D. L. Parnas, Education for Computer Professionals. In: IEEE Computer 23, 1990, 17–22.
G. Plotkin, A structural approach to operational semantics, Internal Report, CS Department, Aarhus University, DAIMI FN-19
K. Popper, Logik der Forschung. 1935.
S. Read, e-mail 25 Oct 1994, Compass Design Automation, Columbia/MD.
D. M. Russinoff, Specification and verification of gate-level VHDL models of synchronous and asynchronous circuits. In: Specification and Validation Methods, Ed. E. Börger, Oxford University Press, 1995, pp. 411–459.
D. Scott, Outline of a Mathematical Theory of Computation, PRG-2, November 1970, Oxford Univ. Comp. Lab., Progr. Res. Group, pp.1–24
D. Scott, C. Strachey, Toward a Mathematical Semantics for Computer Languages. Proc. 21st Symp. Computers and Automata, Polyt.Inst. of Brooklyn, 1971, 19–46.
D.R. Smith, Classification Approach to Design, TR KES.U.93.4, Kestrel Institute, Palo Alto, CA, November 1993, pp.24
D.R. Smith and E.A. Parra, Transformational Approach to Transportation Scheduling, in: Proc of the Eighth Knowledge-Based Software Engineering Conference, IEEE Computer Society Press, September 1993, 60–68.
J. M. Wing, A Specifier's Introduction to Formal Methods. In: IEEE Computer, 23 (9), 1990, 8–24.
M. Wirsing. Handbook of Algebraic Specifications. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science B, pages 675–788, Elsevier, 1990.
N. Wirth. Algorithms & Data Structures. Prentice-Hall, 1975.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Börger, E. (1995). Why use evolving algebras for hardware and software engineering?. In: Bartosek, M., Staudek, J., Wiedermann, J. (eds) SOFSEM '95: Theory and Practice of Informatics. SOFSEM 1995. Lecture Notes in Computer Science, vol 1012. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60609-2_12
Download citation
DOI: https://doi.org/10.1007/3-540-60609-2_12
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60609-3
Online ISBN: 978-3-540-48463-9
eBook Packages: Springer Book Archive