Skip to main content

Stand-Alone Messages

A Step Towards Component-Oriented Programming Languages

  • 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:

  • 261 Accesses

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.

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

    Google Scholar 

  2. Büchi, M., Weck, W.: Generic wrappers. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, pp. 201–225. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  3. Cardelli, L.: Typeful programming. SRC Research Report 45, Digital Systems Research Center, 130 Lytton Avenue, Palo Alto, CA 94301, May 24 (1989)

    Google Scholar 

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

    Google Scholar 

  5. Cardelli, L., Wegner, P.: On understanding types, data abstraction, and polymorphism. ACM Computing Surveys 17(4), 471–522 (1985)

    Article  Google Scholar 

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

    Google Scholar 

  7. Franz, M.: Protocol Extension: A technique for structuring large extensible software-systems. Software: Concepts & Tools 16(2), 14–26 (1995)

    MathSciNet  Google Scholar 

  8. Franz, M.: The programming language Lagoona: A fresh look at objectorientation. Software: Concepts & Tools 18(1), 14–26 (1997)

    Google Scholar 

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

    Google Scholar 

  10. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  11. 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/

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

    Google Scholar 

  13. Liskov, B., Guttag, J.: Abstraction and Specification in Program Development. MIT Press (McGraw-Hill), Cambridge (1986)

    MATH  Google Scholar 

  14. Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems 16(6), 1811–1841 (1994)

    Article  Google Scholar 

  15. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Upper Saddle River (1997)

    Google Scholar 

  16. Microsoft Corporation. The Component Object Model (Version 0.9) (October 1995), Available at http://www.microsoft.com/COM/

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

    Chapter  Google Scholar 

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

    Google Scholar 

  19. Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML, revised edn. MIT Press, Cambridge (1997)

    Google Scholar 

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

    Google Scholar 

  21. Mössenböck, H., Wirth, N.: The programming language Oberon-2. Structured Programming 12(4), 179–195 (1991)

    Google Scholar 

  22. Oberon microsystems. Component Pascal Language Definition (September 1997), Available at http://www.oberon.ch/

  23. Object Management Group. The Common Object Request Broker: Architecture and Specification (Version 2.3.1) (October 1999), Available at http://www.omg.org/

  24. Pucella, R.: The design of a COM-oriented module system. In: Weck, W., Gutknecht, J. (eds.) JMLC 2000. LNCS, vol. 1897. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  25. Reiser, M., Wirth, N.: Programming in Oberon: Steps Beyond Pascal and Modula. Addison-Wesley (ACM Press), Wokingham, England (1992)

    MATH  Google Scholar 

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

    Google Scholar 

  27. 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)

    Google Scholar 

  28. Stroustrup, B.: The C++ Programming Language, special edn. Addison-Wesley, Reading (2000)

    Google Scholar 

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

    Chapter  Google Scholar 

  30. Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley (ACM Press), Harlow, England (1998)

    Google Scholar 

  31. 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)

    Google Scholar 

  32. Wirth, N., Gutknecht, J.: Project Oberon: The Design of an Operating System and Compiler. Addison-Wesley (ACM Press), Wokingham, England (1992)

    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

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

Publish with us

Policies and ethics