Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Why use evolving algebras for hardware and software engineering?

  • Invited Papers
  • Conference paper
  • First Online:
SOFSEM '95: Theory and Practice of Informatics (SOFSEM 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1012))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. D. Barnocchi. L”Evidenza” nell'assiomatica aristotelica. Proteus, II,5 (1971), pp. 133–144.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. D. Björner. Domain Analysis, a Prerequisite for Requirements Capture. UNU/IIST Document, 1995.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. E. Börger. A logical operational semantics for full Prolog. Part I: Selection core and control. CSL'89. Springer LNCS 440, 1990, 36–64.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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

    Google Scholar 

  11. E. Börger. Annotated bibliography on evolving algebras. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. E. Börger and S. Mazzanti. A correctness proof for pipelining in RISC architectures. Manuscript, 1995.

    Google Scholar 

  25. 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.

    Google Scholar 

  26. 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.

    Google Scholar 

  27. E. Börger and D. Rosenzweig. A mathematical definition of full Prolog. Science of Computer Programming, 1995.

    Google Scholar 

  28. 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.

    Google Scholar 

  29. 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.

    Google Scholar 

  30. E. Börger and P. Schmitt. A formal operational semantics for languages of type Prolog III. Springer LNCS 533, 1991, 67–79.

    Google Scholar 

  31. F.P. Bowen and M.G. Hinchey. Ten Commandments of Formal Methods. IEEE Computer 28(4):56–63, April 1995.

    Google Scholar 

  32. F.P. Bowen and M.G. Hinchey. Seven More Myths of Formal Methods. IEEE Software 12(4):34–41, July 1995.

    Google Scholar 

  33. F. P. Brooks, No Silver Bullet—Essence and Accidents of Software Engineering. IEEE Computer 20, 1987, 10–19.

    Google Scholar 

  34. S.K. Debray and P. Mishra, Denotational and Operational Semantics for Prolog. In: Journal of Logic Programming 5, 1988, 61–91

    MathSciNet  Google Scholar 

  35. 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.

    Google Scholar 

  36. R. DeMillo, R. Lipton and A. Perlis, A social process and proofs of theorems and programs. In: Comm. ACM 22 (5), 271–280, 1979.

    Google Scholar 

  37. 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.

    Google Scholar 

  38. W.W. Gibbs, Software's Chronic Crisis, Scientific American, Sept 1994, 72–81.

    Google Scholar 

  39. 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.

    Google Scholar 

  40. Y. Gurevich. Logic Activities in Europe. in: ACM SIGACT NEWS, 1994.

    Google Scholar 

  41. Yuri Gurevich. Evolving Algebra 1993: Lipari Guide. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.

    Google Scholar 

  42. Yuri Gurevich. Platonism, Constructivism, and Computer Proofs vs. Proofs by Hand. In Bulletin of the EATCS, October 1995.

    Google Scholar 

  43. Y. Gurevich and J. Huggins. The semantics of the C programming language. Springer LNCS 702, 1993, 274–308 and LNCS 832, 1994, 334–336.

    Google Scholar 

  44. Y. Gurevich and J. Huggins. Equivalence is in the eye of the beholder. CSE TR 240-95, University of Michigan at Ann Arbor.

    Google Scholar 

  45. Y. Gurevich, J. Huggins and R. Mani. The Generalized Railroad Crossing Problem: An Evolving Algebra Based Solution. CSE-TR-230-95, University of Michigan.

    Google Scholar 

  46. Y. Gurevich and R. Mani. Group Membership Protocol: Specification and Verification. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.

    Google Scholar 

  47. D. Harel, Biting the Silver Bullet. IEEE Computer 25, 1992, 8–20.

    Google Scholar 

  48. 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.

    Google Scholar 

  49. J. Hennessy and D.A. Patterson. Computer Architecture: a Quantitative Approach. Morgan Kaufman Publisher, 1990.

    Google Scholar 

  50. 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.

    Google Scholar 

  51. C.A.R. Hoare. An axiomatic basis for computer programming. In: Comm. ACM 12, pp. 576–580 and 583, 1969.

    Article  Google Scholar 

  52. C.A.R. Hoare, ProCoS Working Group Meeting, Gentofte/DK 18.–20.1.1994.

    Google Scholar 

  53. C.A.R. Hoare, Mathematical Models for Computing Science. Manuscript, August 1994, 65 pp.

    Google Scholar 

  54. 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.

    Google Scholar 

  55. J. Huggins. Kermit: Specification and verification. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.

    Google Scholar 

  56. IEEE Standard VHDL Language Reference Manual-IEEE Std 1076-1993, The Institute of Electrical and Electronics Engineering. New York, NY, USA, 1994.

    Google Scholar 

  57. 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

    Google Scholar 

  58. G. Kahn, Natural Semantics, INRIA Rapport de Recherche No. 601, Février 1987.

    Google Scholar 

  59. B. Littlewood, L. Strigini, The Risks of Software, in: Scientific American. November 1992, p.38–43.

    Google Scholar 

  60. A. J. Mansfield, An Explanation of the Formal Definition of Prolog. NPL Report DITC 149/89, Teddington, 1989, p. 1–9.

    Google Scholar 

  61. R. Milner and M. Tofte, and R. Harper. The definition of Standard ML. Cambridge, Mass.: MIT Press, 1990.

    Google Scholar 

  62. R. Milner, M. Tofte, Commentary on Standard ML. MIT Press, 1990.

    Google Scholar 

  63. Peter D. Mosses. Denotational Semantics. In: Jan van Leeuwen (Ed.), Handbook of TCS. Elsevier 1990.

    Google Scholar 

  64. Peter D. Mosses. Action Semantics. Cambridge University Press, 1992.

    Google Scholar 

  65. N.North, A denotational definition of Prolog. NPL, Teddington, TR DITC 106/88.

    Google Scholar 

  66. 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.

    Article  Google Scholar 

  67. 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.

    Google Scholar 

  68. D. L. Parnas, Software Aspects of Strategic Defense Systems. In: Comm. ACM, 28 (12), 1985, 1.326–1.335.

    Google Scholar 

  69. D. L. Parnas, Education for Computer Professionals. In: IEEE Computer 23, 1990, 17–22.

    Google Scholar 

  70. G. Plotkin, A structural approach to operational semantics, Internal Report, CS Department, Aarhus University, DAIMI FN-19

    Google Scholar 

  71. K. Popper, Logik der Forschung. 1935.

    Google Scholar 

  72. S. Read, e-mail 25 Oct 1994, Compass Design Automation, Columbia/MD.

    Google Scholar 

  73. 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.

    Google Scholar 

  74. D. Scott, Outline of a Mathematical Theory of Computation, PRG-2, November 1970, Oxford Univ. Comp. Lab., Progr. Res. Group, pp.1–24

    Google Scholar 

  75. D. Scott, C. Strachey, Toward a Mathematical Semantics for Computer Languages. Proc. 21st Symp. Computers and Automata, Polyt.Inst. of Brooklyn, 1971, 19–46.

    Google Scholar 

  76. D.R. Smith, Classification Approach to Design, TR KES.U.93.4, Kestrel Institute, Palo Alto, CA, November 1993, pp.24

    Google Scholar 

  77. 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.

    Google Scholar 

  78. J. M. Wing, A Specifier's Introduction to Formal Methods. In: IEEE Computer, 23 (9), 1990, 8–24.

    Google Scholar 

  79. M. Wirsing. Handbook of Algebraic Specifications. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science B, pages 675–788, Elsevier, 1990.

    Google Scholar 

  80. N. Wirth. Algorithms & Data Structures. Prentice-Hall, 1975.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Miroslav Bartosek Jan Staudek Jirí Wiedermann

Rights and permissions

Reprints 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

Publish with us

Policies and ethics