Skip to main content

OPUS: a formal approach to object-orientation

  • Papers
  • Conference paper
  • First Online:
FME '94: Industrial Benefit of Formal Methods (FME 1994)

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

Included in the following conference series:

Abstract

OPUS is an elementary calculus that models object-orientation. It expresses in a direct way the crucial features of object-oriented programming such as objects, encapsulation, message passing and incremental modification. This is illustrated by numerous examples. Thanks to the way objects are constructed in this calculus, we can deal with self-reference, recursion and even mutual recursion in a straightforward way. We also illustrate that it is relatively easy to model different kinds of inheritance mechanisms. Finally, we argue to which extent our calculus can be used for modeling and investigating object-oriented concepts.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. M. Abadi, L. Cardelli: A Theory of Primitive Objects. Unpublished, 1994

    Google Scholar 

  2. G. Bracha, W. Cook: Mixin-based Inheritance. OOPSLA/ECOOP '90 Conference Proceedings, pp. 303–311, ACM Press, 1990

    Google Scholar 

  3. G. Castagna, G. Ghelli, G. Longo: A Calculus for Overloaded Functions with Subtyping. Extended Abstract, ACM, 1992

    Google Scholar 

  4. L. Cardelli, J. Mitchell: Operations on Records. Proceedings on Mathematical Foundations of Programming Semantics, LNCS 442, 1989

    Google Scholar 

  5. L. Cardelli: A semantics of multiple inheritance. Information and Computation 76, pp. 138–164, 1988

    Google Scholar 

  6. P. Canning, W. Cook, W. Hill, W. Olthoff: Interfaces for Strongly-Typed Object-Oriented Programming. OOPSLA '89 Conference Proceedings, pp. 457–467, ACM Press, 1989

    Google Scholar 

  7. L. Dami: Extensible Lambda Expressions: A Lambda Calculus with Names, Combinations and Alternations. Technical Report, University of Geneva, 1993

    Google Scholar 

  8. L. Dami: Named Parameters: A Foundation for Subtyping. Extended Abstract, Submitted to LICS, University of Geneva, 1994

    Google Scholar 

  9. L. Dami: Software Composition: Towards an Integration of Functional and Object-Oriented Approaches. Ph.D.-Thesis, University of Geneva, 1994

    Google Scholar 

  10. M. Hofmann, B. Pierce: An abstract view of objects and subtyping. Technical Report ECS-LFCS-92-226, University of Edinburgh, 1992

    Google Scholar 

  11. R. Milner: The Poliadic π-calculus: A tutorial. Technical Report ECS-LFCS-91-180, University of Edinburgh, 1991

    Google Scholar 

  12. O. Nierstrasz: A survey of object-oriented concepts. Object-oriented concepts, databases and applications, pp. 3–21, ACM Press and Addison-Wesley, 1989

    Google Scholar 

  13. O. Nierstrasz: Towards an Object Calculus. ECOOP Workshop on Object-Based Concurrent Computing, LNCS 612, 1992

    Google Scholar 

  14. B. Pierce: A Model of Delegation Based on Existential Types. Working Draft, Inria-Roquencourt, 1993

    Google Scholar 

  15. B. Pierce, D. Turner: Object-oriented Programming without Recursive Types. Technical Report ECS-LFCS-92-225, University of Edinburgh, 1992

    Google Scholar 

  16. P. Steyaert, W. Codenie, T. D'Hondt, K. De Hondt, C. Lucas, M. Van Limbergen: Nested Mixin-Methods in Agora. Technical Report vub-prog-tr-93-01, Vrije Universiteit Brussel, ECOOP' 93 Conference Proceedings, 1993

    Google Scholar 

  17. A. Snyder: Inheritance and the Development of Encapsulated Software Components. Research Directions in Object-Oriented Programming, MIT Press, 1987

    Google Scholar 

  18. P. Steyaert: Towards a Calculus for Objects and its Reflective Variant. Extended Abstract (unpublished), presented at ECOOP '92 workshop on reflection and metalevel architectures, 1992

    Google Scholar 

  19. P. Steyaert: Open Design of Object-Oriented Languages, A Foundation for Specialisable Reflective Language Frameworks. Ph.D.-Thesis, Vrije Universiteit Brussel, 1994

    Google Scholar 

  20. P. Wegner, S. Zdonik: Inheritance as an Incremental Modification Mechanism, or What Like is and Isn't Like. ECOOP '88 Conference Proceedings, pp. 55–77, Springer-Verlag, 1988

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Maurice Naftalin Tim Denvir Miquel Bertran

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mens, T., Mens, K., Steyaert, P. (1994). OPUS: a formal approach to object-orientation. In: Naftalin, M., Denvir, T., Bertran, M. (eds) FME '94: Industrial Benefit of Formal Methods. FME 1994. Lecture Notes in Computer Science, vol 873. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58555-9_103

Download citation

  • DOI: https://doi.org/10.1007/3-540-58555-9_103

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-49031-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics