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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ada: Reference Manual for the Ada Programming Language – Proposed Standard Document, United States Dep. of Defense (July 1980)
Arnold, K., Gosling, J.: The Java Programming Language. Addison-Wesley, Reading (1996)
Astrup, A.L., Rasmussen, L.-L.H.: Thuesen, P.: Draupner – a way of programming. Master Thesis, Computer Science Department, Aarhus University (1989)
Brinch-Hansen, P.: The Programming Language Concurrent Pascal. IEEE Trans Software Engineering 1(2), 149–207 (1975)
Dahl, O.-J., Nygaard, K., Myrhaug, B.: Simula 67 Common Base Language. Technical Report Publ. no. S-2, Norwegian Computing Center, Oslo (1968)
DeRemer, F.L., Krohn, H.: Programming-in-the-Large versus Programming-in-the-Small. IEE Transactions on Software Engineering 2(2), 80–86 (1976)
Ernst, E.: gbeta – a Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance. Ph.D. Thesis, Computer Science Department, Aarhus University (1999)
Ernst, E.: Propagating Class and Method Combination. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, p. 67. Springer, Heidelberg (1999)
Gamma, E., Helm, R., Johnson, R.E., Vlissides, J.: Design Patterns: Elements of Object-Oriented Software Architecture. Addison-Wesley, Reading (1994)
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)
Hoare, C.A.R.: Proof of Correctness of Data Representation. Acta Informatica 4, 271–281 (1972)
Igarashi, A., Pierce, B.C.: Foundations for Virtual Types. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, p. 161. Springer, Heidelberg (1999)
Knudsen, J.L., Löfgren, M., Madsen, O.L., Magnusson, B.: Object-Oriented Environments – The Mjølner Approach. Prentice Hall, Englewood Cliffs (1994)
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)
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)
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)
Liskov, B., Snyder, A., Atkinson, R., Schaeffert, C.: Abstraction mechanisms in CLU. Comm. ACM 20(8), 564–576 (1977)
Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object-Oriented Programming in the BETA Programming Language. Addison Wesley/ACM Press, Wokingham, England (1993)
Madsen, O.L., Møller-Pedersen, B.: Virtual Classes, a Powerful Mechanism in Object-Oriented Languages. In: Proc. OOPSLA 1989, New Orleans (1989)
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)
Madsen, O.L., Magnusson, B., Møller-Pedersen, B.: Strong Typing of Object-Oriented Languages Revisited. In: Proc. OOPSLA 1990, Ottawa, Canada (1990)
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)
Madsen, O.L.: An Overview of BETA. In: [13]
Madsen, O.L.: Open Issues in Object-Oriented Programming - A Scandinavian Perspective. Software Practice and Experience 25(S4) (December 1995)
Madsen, O.L.: Semantic Analysis of Virtual Classes and Nested Classes. In: Proc. OOPSLA 1999, Denver, Colorado (1999)
Madsen, O.L.: Towards a Unified Programming Language. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, p. 1. Springer, Heidelberg (2000)
Magnusson, B.: An Overview of Simula. In: [13]
Meyer, B.: Object-Oriented Software Construction. Prentice-Hall, Englewood Cliffs (1988)
The Mjølner System, http://www.mjolner.com
Rogerson, D.: Inside COM - Microsoft’s Component Object Model. Microsoft Press (1997)
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)
Stroustrup, B.: The C++ Programming Language. Addison-Wesley, Reading (1986)
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)
Thorup, K.K.: Objective-C. In: Zamir, S. (ed.) Handbook of Object Technology. CRC Press, Boca Raton (1999)
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)
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)
Ungar, D., Smith, R.B.: SELF – The Power of Simplicity. In: Proc. OOPSLA 1987, Orlando, FL (1987)
Wirth, N.: Programming in Modula-2, 4th edn. Texts and Monographs in Computer Science. Springer, Berlin (1988); First edition (1982)
Wirth, N.: The programming Language Oberon. Software – Practice and Experience 18(7), 671–690 (1998)
Østerbye, K.: Parts, Wholes and Sub-Classes. In: Proc. European Simulation Multiconference (1990) ISBN 0-911801-1
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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