Abstract
We are concerned with the design of programming languages that support the paradigm of component-oriented programming. Languages based on the accepted idea of combining modular and object-oriented concepts fail to provide adequate support. We argue that messages should be separated from methods to address this shortcoming. We introduce the concept of stand-alone messages, give examples for its utility, and compare it to related approaches and language constructs. Besides leading to interesting insights on the interaction of modular and object-oriented concepts, we believe that stand-alone messages also provide a useful basis for further research on component-oriented programming languages.
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
Büchi, M., Weck, W.: Compound types for Java. In: Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), Vancouver, Canada (October 1998); Published as ACM SIGPLAN Notices, vol. 33(10), pp. 362–373 (1998)
Büchi, M., Weck, W.: Generic wrappers. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, pp. 201–225. Springer, Heidelberg (2000)
Cardelli, L.: Typeful programming. SRC Research Report 45, Digital Systems Research Center, 130 Lytton Avenue, Palo Alto, CA 94301, May 24 (1989)
Cardelli, L., Donahue, J., Glassman, L., Jordan, M., Kalsow, B., Nelson, G.: (Modula-3) language definition. In: Nelson, G. (ed.) Systems Programming in Modula-3, ch. 2, pp. 11–66. Prentice-Hall, Englewood Cliffs (1991)
Cardelli, L., Wegner, P.: On understanding types, data abstraction, and polymorphism. ACM Computing Surveys 17(4), 471–522 (1985)
Flatt, M., Felleisen, M.: Units: Cool modules for HOT languages. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Montreal, Canada, June 1998, pp. 236–246 (1998)
Franz, M.: Protocol Extension: A technique for structuring large extensible software-systems. Software: Concepts & Tools 16(2), 14–26 (1995)
Franz, M.: The programming language Lagoona: A fresh look at objectorientation. Software: Concepts & Tools 18(1), 14–26 (1997)
Fröhlich, P.H., Franz, M.: The programming language Lagoona. Technical report, Department of Information and Computer Science. University of California, Irvine, CA 92697-3425 (2000) (forthcoming)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Reading (2000), To be published. Draft, available at http://www.javasoft.com/
Läufer, K., Baumgartner, G., Russo, V.F.: Safe structural conformance for Java. Technical Report OSU-CISRC-6/98-TR20, Department of Computer and Information Science, The Ohio State University, Columbus, OH 43210-1277 (June 1998)
Liskov, B., Guttag, J.: Abstraction and Specification in Program Development. MIT Press (McGraw-Hill), Cambridge (1986)
Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems 16(6), 1811–1841 (1994)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Upper Saddle River (1997)
Microsoft Corporation. The Component Object Model (Version 0.9) (October 1995), Available at http://www.microsoft.com/COM/
Mikhajlov, L., Sekerinski, E.: A study of the fragile base class problem. In: Jul, E. (ed.) ECOOP 1998, vol. 1445, pp. 355–382. Springer, Heidelberg (1998)
Mikhajlov, L., Sekerinski, E., Laibinis, L.: Developing components in presence of re-entrance. In: Woodcock, J.C.P., Davies, J., Wing, J.M. (eds.) FM 1999, vol. 1709, pp. 1301–1320. Springer, Heidelberg (1999)
Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML, revised edn. MIT Press, Cambridge (1997)
Mössenböck, H., Templ, J., Griesemer, R.: Object Oberon: An object-oriented extension of Oberon. Technical Report 109, Institute of Computer Systems, Eidgenössische Technische Hochschule, Zürich, Switzerland (June 1989)
Mössenböck, H., Wirth, N.: The programming language Oberon-2. Structured Programming 12(4), 179–195 (1991)
Oberon microsystems. Component Pascal Language Definition (September 1997), Available at http://www.oberon.ch/
Object Management Group. The Common Object Request Broker: Architecture and Specification (Version 2.3.1) (October 1999), Available at http://www.omg.org/
Pucella, R.: The design of a COM-oriented module system. In: Weck, W., Gutknecht, J. (eds.) JMLC 2000. LNCS, vol. 1897. Springer, Heidelberg (2000)
Reiser, M., Wirth, N.: Programming in Oberon: Steps Beyond Pascal and Modula. Addison-Wesley (ACM Press), Wokingham, England (1992)
Schwartzbach, M.I.: Polymorphic type inference. Lecture Series LS-95-3, Basic Research in Computer Science, Department of Computer Science, University of Aarhus, Denmark (June 1995)
Snyder, A.: Encapsulation and inheritance in object-oriented programming languages. In: Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pp. 38–45, Portland, OR (November 1986); Published as ACM SIGPLAN Notices 21(11)
Stroustrup, B.: The C++ Programming Language, special edn. Addison-Wesley, Reading (2000)
Szyperski, C.: 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)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley (ACM Press), Harlow, England (1998)
Weck, W.: Inheritance using contracts and object composition. In: Weck, W., Bosch, J., Szyperski, C. (eds.) Proceedings of the Workshop on Component-Oriented Programming (WCOP), TUCS General Publications, vol. (5), pp. 105–112, Turku Center for Computer Science, Lemminkäisenkatu 14, FIN-20520 Turku, Finland (September 1997)
Wirth, N., Gutknecht, J.: Project Oberon: The Design of an Operating System and Compiler. Addison-Wesley (ACM Press), Wokingham, England (1992)
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
Fröhlich, P.H., Franz, M. (2000). Stand-Alone Messages. 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_9
Download citation
DOI: https://doi.org/10.1007/10722581_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67958-5
Online ISBN: 978-3-540-44519-7
eBook Packages: Springer Book Archive