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

Language and architecture paradigms as object classes: A unified approach towards multiparadigm programming

  • Session Papers
  • Conference paper
  • First Online:
Programming Languages and System Architectures

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

Abstract

Computer language paradigms offer linguistic abstractions and proof theories for expressing program implementations. Similarly, system architectures offer the hardware abstractions and quantitative theories applicable to the execution of compiled programs. Although the two entities are usually treated independently, object-oriented technology can be used to obtain a unifying framework. Specifically, inheritance can be used to model both programming languages as extensions to the assembly language executed by the target architecture, and system architectures as the root class of those paradigms. We describe how these principles can be used to model, structure and implement real multiparadigm systems in a portable and extendable way.

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. Bal HE, Steiner JG, Tanenbaum AS (1989) Programming languages for distributed computing systems. ACM Comput. Surv., 21: 261–322.

    Google Scholar 

  2. Byrd L (1980) Understanding the control flow of Prolog programs. In Logic Programming Workshop, Debrecen.

    Google Scholar 

  3. Cohen J (1985) Describing Prolog by its interpretation and compilation. Commun. ACM, 28: 1311–1324.

    Google Scholar 

  4. Cook WR (1992) Interfaces and specifications for the Smalltalk-80 collection classes. ACM SIGPLAN Notices, 27: 1–15. Sevent Annual Conference on Object-Oriented Programming Systems, Languages and Applications, OOPSLA '92 Conference Proceedings, October 18–22, Vancouver, British Columbia, Canada.

    Google Scholar 

  5. Debray SK (1988) The SB-Prolog System, Version 3.0: A User Manual University of Arizona, Department of Computer Science, Tucson, AZ 85721, USA.

    Google Scholar 

  6. Eckberg DL, Hill, Jr. L (1980) The paradigm concept and sociology: A critical review. In Gutting G, editor, Paradigms and Revolutions, pp 117–136. University of Notre Dame Press, Notre Dame, London.

    Google Scholar 

  7. Foster I, Taylor S (1990) Strand: New Concepts in Parallel Programming. Prentice-Hall.

    Google Scholar 

  8. Greene JC (1980) The Kuhnian paradigm and the Darwinian revolution in natural history. In Gutting G, editor, Paradigms and Revolutions, pp 297–320. University of Notre Dame Press, Notre Dame, London.

    Google Scholar 

  9. Hailpern B (1986) Multiparadigm research: A survey of nine projects. IEEE Software, 3: 70–77.

    Google Scholar 

  10. Johnson SC (1975) Yacc — yet another compiler-compiler. Computer Science Technical Report 32, Bell Laboratories, Murray Hill, NJ, USA.

    Google Scholar 

  11. Kuhn TS (1970) The Structure of Scientific Revolutions. University of Chicago Press, Chicago and London, 2nd, enlarged edition. International Encyclopedia of Unified Science. 2:(2).

    Google Scholar 

  12. Lesk ME (1975) Lex — a lexical analyzer generator. Computer Science Technical Technical Report 32, Bell Laboratories, Murray Hill, NJ, USA.

    Google Scholar 

  13. Meyer B (1990) Lessons from the design of the Eiffel libraries. Commun. ACM, 33: 68–88.

    Google Scholar 

  14. Nelson ML (1991) An object-oriented tower of Babel. OOPS Messenger, 2: 3–11.

    Google Scholar 

  15. Shriver BD (1986) Software paradigms. IEEE Software, 3: 2.

    Google Scholar 

  16. Spinellis D (1993) Implementing Haskell: Language implementation as a tool building exercise. Structured Programming, 14: 37–48.

    Google Scholar 

  17. Stefik MJ, Bobrow DG, Kahn KM (1986) Integrating access-oriented programming into a multiparadigm environment. IEEE Software, 3: 10–18.

    Google Scholar 

  18. Takeuchi I, Okuno H, Ohsato N (1986) A list processing language TAO with multiple programming paradigms. New Generation Computing, 4: 401–444.

    Google Scholar 

  19. Treleaven PC, editor (1990) Parallel Computers: Object-Oriented Functional, Logic. John Wiley & Sons.

    Google Scholar 

  20. Turner DA (1985) Miranda — a non-strict functional language with polymorphic types. In Jouannaud JP, editor, Proceedings of the Conference on Functional Programming Languages and Computer Architecture, pp 1–16, Nancy, France. Springer-Verlag. Lecture Notes in Computer Science 201.

    Google Scholar 

  21. Uustalu T (1992) Combining object-oriented and logic paradigms: A modal logic programming approach. In Madsen OL, editor, ECCOP '92 Europen Conference on Object-Oriented Programming, pp 98–113, Utrecht, The Netherlands. Springer-Verlag. Lecture Notes in Computer Science 615.

    Google Scholar 

  22. Warren DHD (1983) An abstract Prolog instruction set. Technical Note 309, SRI International, Artificial Intelligence Center, Computer Science and Technology Division, 333 Ravenswood Ave., Menlo Park, CA, USA.

    Google Scholar 

  23. Wegner P (1987) Dimensions of object-based language design. ACM SIGPLAN Notices, 22: 168–182. Special Issue: Object-Oriented Programming Systems, Languages and Applications, OOPSLA '87 Conference Proceedings, October 4–8, Orlando, Florida, USA.

    Google Scholar 

  24. Wegner P (1989) Guest editor's introduction to special issue of computing surveys. ACM Comput. Surv., 21: 253–258. Special Issue on Programming Language Paradigms.

    Google Scholar 

  25. Wegner P (1990) Concepts and paradigms of object-oriented programming. OOPS Messenger, 1: 7–87.

    Google Scholar 

  26. Wells M (1989) Multiparadigmatic programming in Modcap. Journal of Object-Oriented Programming, 1: 53–60.

    Google Scholar 

  27. Wirth N (1985) From programming language design to computer construction. Commun. ACM, 28: 159–164.

    Google Scholar 

  28. Wirth N (1985) Programming in Modula-2. Springer Verlag, third edition.

    Google Scholar 

  29. Wittgenstein L (1960) Philophische Untersuchungen. In Schriften, volume I. Suhrkamp Verlag, Frakfurt a.M., Germany. In German.

    Google Scholar 

  30. Zave P (1989) A compositional approach to multiparadigm programming. IEEE Software, 6: 15–25.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jürg Gutknecht

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Spinellis, D., Drossopoulou, S., Eisenbach, S. (1994). Language and architecture paradigms as object classes: A unified approach towards multiparadigm programming. In: Gutknecht, J. (eds) Programming Languages and System Architectures. Lecture Notes in Computer Science, vol 782. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57840-4_32

Download citation

  • DOI: https://doi.org/10.1007/3-540-57840-4_32

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57840-6

  • Online ISBN: 978-3-540-48356-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics