Skip to main content

Abstraction and Modularization in the BETA Programming Language

  • Conference paper
Modular Programming Languages (JMLC 2000)

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

Included in the following conference series:

  • 277 Accesses

Abstract

One of the characteristics of BETA is the unification of abstraction mechanisms such as class, procedure, process type, generic class, interface, etc. into one abstraction mechanism: the pattern. In addition to keeping the language small, the unification has given a systematic treatment of all abstraction mechanisms and lead to a number of new possibilities. Patterns and their instances are intended for modeling concepts and phenomena in the application domain and provide the logical structure of a given system. Modularization is viewed as a means for describing the physical structure of a program. Modules are units of program text that may be edited, stored in libraries, exist in different variants, be separately compiled, etc. Modularization is provided by a language-independent mechanism based on the context-free grammar of the language. In principle, any correct sequence of terminal and nonterminal symbols of the grammar can be a module.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ada: Reference Manual for the Ada Programming Language – Proposed Standard Document, United States Dep. of Defense (July 1980)

    Google Scholar 

  2. Arnold, K., Gosling, J.: The Java Programming Language. Addison-Wesley, Reading (1996)

    MATH  Google Scholar 

  3. Astrup, A.L., Rasmussen, L.-L.H.: Thuesen, P.: Draupner – a way of programming. Master Thesis, Computer Science Department, Aarhus University (1989)

    Google Scholar 

  4. Brinch-Hansen, P.: The Programming Language Concurrent Pascal. IEEE Trans Software Engineering 1(2), 149–207 (1975)

    Google Scholar 

  5. Dahl, O.-J., Nygaard, K., Myrhaug, B.: Simula 67 Common Base Language. Technical Report Publ. no. S-2, Norwegian Computing Center, Oslo (1968)

    Google Scholar 

  6. DeRemer, F.L., Krohn, H.: Programming-in-the-Large versus Programming-in-the-Small. IEE Transactions on Software Engineering 2(2), 80–86 (1976)

    Article  Google Scholar 

  7. Ernst, E.: gbeta – a Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance. Ph.D. Thesis, Computer Science Department, Aarhus University (1999)

    Google Scholar 

  8. Ernst, E.: Propagating Class and Method Combination. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, p. 67. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  9. Gamma, E., Helm, R., Johnson, R.E., Vlissides, J.: Design Patterns: Elements of Object-Oriented Software Architecture. Addison-Wesley, Reading (1994)

    Google Scholar 

  10. Hoare, C.A.R.: Notes on Data Structuring. In: Dahl, O.-J., Dijkstra, E., Hoare, C.A.R. (eds.) Structured Programming. Academic Press, London (1972)

    Google Scholar 

  11. Hoare, C.A.R.: Proof of Correctness of Data Representation. Acta Informatica 4, 271–281 (1972)

    Article  Google Scholar 

  12. Igarashi, A., Pierce, B.C.: Foundations for Virtual Types. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, p. 161. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  13. Knudsen, J.L., Löfgren, M., Madsen, O.L., Magnusson, B.: Object-Oriented Environments – The Mjølner Approach. Prentice Hall, Englewood Cliffs (1994)

    Google Scholar 

  14. Kristensen, B.B., Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Abstraction Mechanisms in the BETA Programming Language. In: Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas (January 1983)

    Google Scholar 

  15. Kristensen, B.B., Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Syntax-Directed Program Modularization. In: Degano, P., Sandewall, E. (eds.) Interactive Computing Systems. North-Holland, Amsterdam (1983)

    Google Scholar 

  16. Kristensen, B.B., Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Classification of Actions or Inheritance also for Methods. In: Bézivin, J., Hullot, J.-M., Lieberman, H., Cointe, P. (eds.) ECOOP 1987. LNCS, vol. 276, pp. 98–107. Springer, Heidelberg (1987)

    Chapter  Google Scholar 

  17. Liskov, B., Snyder, A., Atkinson, R., Schaeffert, C.: Abstraction mechanisms in CLU. Comm. ACM 20(8), 564–576 (1977)

    Article  MATH  Google Scholar 

  18. Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object-Oriented Programming in the BETA Programming Language. Addison Wesley/ACM Press, Wokingham, England (1993)

    Google Scholar 

  19. Madsen, O.L., Møller-Pedersen, B.: Virtual Classes, a Powerful Mechanism in Object-Oriented Languages. In: Proc. OOPSLA 1989, New Orleans (1989)

    Google Scholar 

  20. Madsen, O.L., Møller-Pedersen, B.: Part Objects and their Locations. In: Magnusson, B., Meyer, B., Perrot, J.F. (eds.) Proc. Technology of Object-Oriented Languages and Systems – TOOLS10, pp. 283–297. Prentice-Hall, Englewood Cliffs (1993)

    Google Scholar 

  21. Madsen, O.L., Magnusson, B., Møller-Pedersen, B.: Strong Typing of Object-Oriented Languages Revisited. In: Proc. OOPSLA 1990, Ottawa, Canada (1990)

    Google Scholar 

  22. Madsen, O.L.: Block Structure and Object-Oriented Languages. In: Shriver, B.D., Wegner, P. (eds.) Research Directions in Object-Oriented Programming. MIT Press, Cambridge (1987)

    Google Scholar 

  23. Madsen, O.L.: An Overview of BETA. In: [13]

    Google Scholar 

  24. Madsen, O.L.: Open Issues in Object-Oriented Programming - A Scandinavian Perspective. Software Practice and Experience 25(S4) (December 1995)

    Google Scholar 

  25. Madsen, O.L.: Semantic Analysis of Virtual Classes and Nested Classes. In: Proc. OOPSLA 1999, Denver, Colorado (1999)

    Google Scholar 

  26. Madsen, O.L.: Towards a Unified Programming Language. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, p. 1. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  27. Magnusson, B.: An Overview of Simula. In: [13]

    Google Scholar 

  28. Meyer, B.: Object-Oriented Software Construction. Prentice-Hall, Englewood Cliffs (1988)

    Google Scholar 

  29. The Mjølner System, http://www.mjolner.com

  30. Rogerson, D.: Inside COM - Microsoft’s Component Object Model. Microsoft Press (1997)

    Google Scholar 

  31. Szyperski, C.A.: Import is Not Inheritance – Why We Need Both: Modules and Classes. In: Lehrmann Madsen, O. (ed.) ECOOP 1992. LNCS, vol. 615, pp. 19–32. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  32. Stroustrup, B.: The C++ Programming Language. Addison-Wesley, Reading (1986)

    MATH  Google Scholar 

  33. Thorup, K.K.: Genericity in Java with Virtual Types. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 444–471. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  34. Thorup, K.K.: Objective-C. In: Zamir, S. (ed.) Handbook of Object Technology. CRC Press, Boca Raton (1999)

    Google Scholar 

  35. Thorup, K.K., Torgersen, M.: Unifying Genericity - Combining the Benefits of Virtual Types and parameterized Types. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, p. 186. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  36. Torgersen, M.: Virtual Types are Statically Safe. In: Bruce, K. (ed.) 5th Workshop on Foundations of Object-Oriented Languages, San Diego, CA (January 16-17, 1998)

    Google Scholar 

  37. Ungar, D., Smith, R.B.: SELF – The Power of Simplicity. In: Proc. OOPSLA 1987, Orlando, FL (1987)

    Google Scholar 

  38. Wirth, N.: Programming in Modula-2, 4th edn. Texts and Monographs in Computer Science. Springer, Berlin (1988); First edition (1982)

    Google Scholar 

  39. Wirth, N.: The programming Language Oberon. Software – Practice and Experience 18(7), 671–690 (1998)

    Article  Google Scholar 

  40. Østerbye, K.: Parts, Wholes and Sub-Classes. In: Proc. European Simulation Multiconference (1990) ISBN 0-911801-1

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Madsen, O.L. (2000). Abstraction and Modularization in the BETA Programming Language. In: Weck, W., Gutknecht, J. (eds) Modular Programming Languages. JMLC 2000. Lecture Notes in Computer Science, vol 1897. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10722581_18

Download citation

  • DOI: https://doi.org/10.1007/10722581_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67958-5

  • Online ISBN: 978-3-540-44519-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics