Skip to main content

“Real World” as an Argument for Covariant Specialization in Programming and Modeling

  • Conference paper
  • First Online:
Book cover Advances in Object-Oriented Information Systems (OOIS 2002)

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

Included in the following conference series:

Abstract

Class specialization is undoubtedly one of the most original and powerful features of object orientation as it structures object models at all stages of software development. Unfortunately, the semantics of specialization is not defined with the same accuracy in the various fields. In programming languages, specialization is constrained by type theory and by a type safe policy, whereas its common sense semantics dates back to the Aristotelian tradition. The well known covariant vs. contravariant controversy originates here. In this paper, we investigate how modeling and programming languages deal with this mismatch. We claim that type errors are part of the real world, so they should be taken into account at all stages of software development. Modeling as well as programming languages should adopt a covariant policy.

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. M. Abadi and L. Cardelli. On subtyping and matching. In W. Olthoff, editor, Proc. ECOOP’95, LNCS 952, pages 145–167. Springer-Verlag, 1995.

    Google Scholar 

  2. G. Ardourel and M. Huchard. Access graphs, another view on static access control for a better understanding and use. J. of Object Technology, 2002. (to appear).

    Google Scholar 

  3. G. Birtwistle, O. Dahl, B. Myhrhaug, and K. Nygaard. SIMULA Begin. Petrocelli Charter, New York (NY), USA, 1973.

    Google Scholar 

  4. D. Bobrow, L. DeMichiel, R. Gabriel, S. Keene, G. Kiczales, and D. Moon. Common Lisp Object System specification,. ACM SIGPLAN Notices, 23, 1988.

    Google Scholar 

  5. J. Boyland and G. Castagna. Type-safe compilation of covariant specialization: a practical case. In P. Cointe, editor, Proc. ECOOP’96, LNCS 1098, pages 3–25. Springer-Verlag, 1996.

    Google Scholar 

  6. C. Capponi, J. Euzenat, and J. Gensel. Objects, types and constraints as classification schemes. In G. Ellis, R. Levinson, A. Fall, and V. Dahl, editors, Int. Conf. on Knowledge Re-use, Storage and Efficiency (KRUSE’95), pages 69–73, 1995.

    Google Scholar 

  7. L. Cardelli. A semantics of multiple inheritance. In G. Kahn, D. McQueen, and G. Plotkin, editors, Semantics of Data Types, LNCS 173, pages 51–67. Springer-Verlag, Berlin, 1984.

    Google Scholar 

  8. G. Castagna. Object-oriented programming: a unified foundation. Progress in Theoretical Computer Science Series. Birkhaüser, 1997.

    Google Scholar 

  9. W. R. Cook. A proposal for making Eiffel type-safe. In S. Cook, editor, Proc. ECOOP’89, pages 57–70. Cambridge University Press, 1989.

    Google Scholar 

  10. F.-M. Donini, M. Lenzerini, D. Nardi, and A. Schaerf. Reasoning in description logics. In G. Brewka, editor, Principles of Knowledge Representation, pages 191–236. CSLI Publications, Stanford (CA), USA, 1996.

    Google Scholar 

  11. R. Ducournau. “Real World” as an argument for covariant specialization in programming and modeling. RR 02-083, L. I. R. M. M., Montpellier, France, 2002.

    Google Scholar 

  12. R. Ducournau and G. Pavillet. Langage à objets et logique de descriptions: un schéma d’intégration. In I. Borne and R. Godin, editors, Actes LMO’2001 in L’Objet vol. 7, pages 233–249. Hermès, 2001.

    Google Scholar 

  13. R. Godin, H. Mili, G. Mineau, R. Missaoui, A. Arfi, and T. Chau. Design of Class Hierarchies Based on Concept (Galois) Lattices. Theory and Practice of Object Systems, 4(2), 1998.

    Google Scholar 

  14. S. Greenspan, J. Mylopoulos, and A. Borgida. On formal requirements modeling languages: RML revisited. In Int. Conf. on Software Engineering (ICSE’94), 1994.

    Google Scholar 

  15. A. Koenig. Standard-the C++ language. Report ISO/IEC 14882:1998, Information Technology Council (NCTIS), 1998. http://www.nctis.org/cplusplus.htm.

  16. H. Levesque and R. Brachman. Expressiveness and Tractability in Knowledge Representation and Reasoning. Computational Intelligence, 3(2):78–93, 1987.

    Article  Google Scholar 

  17. B. Meyer. Eiffel: The Language. Prentice Hall Object-Oriented Series. Prentice Hall International, Hemel Hempstead, UK, 1992.

    Google Scholar 

  18. B. Meyer. Object-Oriented Software Construction. The Object-Oriented Series. Prentice-Hall, Englewood Cliffs (NJ), USA, second edition, 1997.

    Google Scholar 

  19. W. B. Mugridge, J. Hamer, and J. G. Hosking. Multi-methods in a statically-typed programming language. In P. America, editor, Proc. ECOOP’91, LNCS 512, pages 307–324. Springer-Verlag, 1991.

    Google Scholar 

  20. OMG. Unified Modeling Language specifications, v1.4. Technical report, Object Management Group, 2001.

    Google Scholar 

  21. D. Rayside and G. Campbell. An aristotelian understanding of object-oriented programming. In Proc. OOPSLA’00, SIGPLAN Notices, 35(10), pages 337–353. ACM Press, 2000.

    Google Scholar 

  22. D. Rayside and K. Kontogiannis. On the syllogistic structure of object-oriented programming. In Proc. of ICSE’01, pages 113–122, 2001.

    Google Scholar 

  23. J.-C. Royer. An Operational Approach to the Semantics of Classes: Application to Type Checking. Programming and Computer Software, 28(3), 2002. (to appear).

    Google Scholar 

  24. J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen. Object Oriented Modeling and Design. Prentice-Hall, Englewood Cliffs (NJ), USA, 1991.

    Google Scholar 

  25. C. Szypersky, S. Omohundro, and S. Murer. Engineering a programming language: The type and class system of Sather. In Proc. of First Int. Conference on Programming Languages and System Architectures, LNCS 782. Springer Verlag, 1994.

    Google Scholar 

  26. F. Weber. Getting class correctness and system correctness equivalent — how to get covariant right. In R. Ege, M. Singh, and B. Meyer, editors, Technology of Object-Oriented Languages and Systems (TOOLS 8), pages 192–213, 1992.

    Google Scholar 

  27. W. Woods and J. Schmolze. The KL-ONE family. Computers & Mathematics with Applications, 23(2–5):133–177, 1992.

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ducournau, R. (2002). “Real World” as an Argument for Covariant Specialization in Programming and Modeling. In: Bruel, JM., Bellahsene, Z. (eds) Advances in Object-Oriented Information Systems. OOIS 2002. Lecture Notes in Computer Science, vol 2426. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46105-1_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-46105-1_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-44088-8

  • Online ISBN: 978-3-540-46105-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics